{
  "version": 3,
  "sources": ["../../../src/plugin-settings/store.ts"],
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { RootSettingsStore } from '@dxos/local-storage';\n\nimport { Capabilities } from '../common';\nimport { contributes, type PluginContext } from '../core';\n\nexport default (context: PluginContext) => {\n  // TODO(wittjosiah): Replace with rx?\n  const settingsStore = new RootSettingsStore();\n\n  let previous: Capabilities.Settings[] = [];\n  const registry = context.getCapability(Capabilities.RxRegistry);\n  const cancel = registry.subscribe(\n    context.capabilities(Capabilities.Settings),\n    (allSettings) => {\n      const added = allSettings.filter((setting) => !previous.includes(setting));\n      const removed = previous.filter((setting) => !allSettings.includes(setting));\n      previous = allSettings;\n      added.forEach((setting) => {\n        settingsStore.createStore(setting as any);\n      });\n      removed.forEach((setting) => {\n        settingsStore.removeStore(setting.prefix);\n      });\n    },\n    { immediate: true },\n  );\n\n  return contributes(Capabilities.SettingsStore, settingsStore, () => cancel());\n};\n"],
  "mappings": ";;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,gBAAe,CAACC,YAAAA;AAEd,QAAMC,gBAAgB,IAAIC,kBAAAA;AAE1B,MAAIC,WAAoC,CAAA;AACxC,QAAMC,WAAWJ,QAAQK,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASJ,SAASK,UACtBT,QAAQU,aAAaJ,aAAaK,QAAQ,GAC1C,CAACC,gBAAAA;AACC,UAAMC,QAAQD,YAAYE,OAAO,CAACC,YAAY,CAACZ,SAASa,SAASD,OAAAA,CAAAA;AACjE,UAAME,UAAUd,SAASW,OAAO,CAACC,YAAY,CAACH,YAAYI,SAASD,OAAAA,CAAAA;AACnEZ,eAAWS;AACXC,UAAMK,QAAQ,CAACH,YAAAA;AACbd,oBAAckB,YAAYJ,OAAAA;IAC5B,CAAA;AACAE,YAAQC,QAAQ,CAACH,YAAAA;AACfd,oBAAcmB,YAAYL,QAAQM,MAAM;IAC1C,CAAA;EACF,GACA;IAAEC,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYjB,aAAakB,eAAevB,eAAe,MAAMO,OAAAA,CAAAA;AACtE;",
  "names": ["RootSettingsStore", "context", "settingsStore", "RootSettingsStore", "previous", "registry", "getCapability", "Capabilities", "RxRegistry", "cancel", "subscribe", "capabilities", "Settings", "allSettings", "added", "filter", "setting", "includes", "removed", "forEach", "createStore", "removeStore", "prefix", "immediate", "contributes", "SettingsStore"]
}
