@dxos/app-solid 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/index.mjs +61 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -8
- package/dist/lib/browser/index.mjs +0 -51
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/node-esm/index.mjs +0 -53
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Capabilities, PluginManagerContext } from "@dxos/app-framework";
|
|
2
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
3
|
+
import { useAtomValue } from "@dxos/effect-atom-solid";
|
|
4
|
+
import { invariant } from "@dxos/invariant";
|
|
5
|
+
import { useWebComponentContext } from "@dxos/web-context-solid";
|
|
6
|
+
export * from "@dxos/app-framework";
|
|
7
|
+
//#region src/usePluginManager.ts
|
|
8
|
+
var __dxlog_file$1 = "/__w/dxos/dxos/packages/sdk/app-solid/src/usePluginManager.ts";
|
|
9
|
+
/**
|
|
10
|
+
* Hook to access the plugin manager.
|
|
11
|
+
* @returns The plugin manager.
|
|
12
|
+
*/
|
|
13
|
+
var usePluginManager = () => {
|
|
14
|
+
const value = useWebComponentContext(PluginManagerContext)();
|
|
15
|
+
invariant(value, "PluginManager not found", {
|
|
16
|
+
"~LogMeta": "~LogMeta",
|
|
17
|
+
F: __dxlog_file$1,
|
|
18
|
+
L: 16,
|
|
19
|
+
S: void 0,
|
|
20
|
+
A: ["value", "'PluginManager not found'"]
|
|
21
|
+
});
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
//#region src/useCapabilities.ts
|
|
26
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-solid/src/useCapabilities.ts";
|
|
27
|
+
/**
|
|
28
|
+
* Hook to request capabilities from the plugin context.
|
|
29
|
+
* @returns An array of capabilities.
|
|
30
|
+
*/
|
|
31
|
+
var useCapabilities = (interfaceDef) => {
|
|
32
|
+
return useAtomValue(usePluginManager().capabilities.atom(interfaceDef));
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Hook to request a capability from the plugin context.
|
|
36
|
+
* @returns The capability.
|
|
37
|
+
* @throws If no capability is found.
|
|
38
|
+
*/
|
|
39
|
+
var useCapability = (interfaceDef) => {
|
|
40
|
+
const capabilities = useCapabilities(interfaceDef);
|
|
41
|
+
return (() => {
|
|
42
|
+
const caps = capabilities();
|
|
43
|
+
invariant(caps.length > 0, `No capability found for ${interfaceDef.identifier}`, {
|
|
44
|
+
"~LogMeta": "~LogMeta",
|
|
45
|
+
F: __dxlog_file,
|
|
46
|
+
L: 31,
|
|
47
|
+
S: void 0,
|
|
48
|
+
A: ["caps.length > 0", "`No capability found for ${interfaceDef.identifier}`"]
|
|
49
|
+
});
|
|
50
|
+
return caps[0];
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/common.ts
|
|
55
|
+
var useOperationInvoker = () => useCapability(Capabilities.OperationInvoker);
|
|
56
|
+
var useAppGraph = () => useCapability(AppCapabilities.AppGraph);
|
|
57
|
+
var useLayout = () => useCapability(AppCapabilities.Layout);
|
|
58
|
+
//#endregion
|
|
59
|
+
export { useAppGraph, useCapabilities, useCapability, useLayout, useOperationInvoker, usePluginManager };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/usePluginManager.ts","../../src/useCapabilities.ts","../../src/common.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginManager, PluginManagerContext } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { useWebComponentContext } from '@dxos/web-context-solid';\n\n/**\n * Hook to access the plugin manager.\n * @returns The plugin manager.\n */\nexport const usePluginManager = (): PluginManager.PluginManager => {\n const manager = useWebComponentContext(PluginManagerContext);\n const value = manager();\n invariant(value, 'PluginManager not found');\n return value;\n};\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { type Capability } from '@dxos/app-framework';\nimport { useAtomValue } from '@dxos/effect-atom-solid';\nimport { invariant } from '@dxos/invariant';\n\nimport { usePluginManager } from './usePluginManager';\n\n/**\n * Hook to request capabilities from the plugin context.\n * @returns An array of capabilities.\n */\nexport const useCapabilities = <T>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T[]> => {\n const manager = usePluginManager();\n return useAtomValue(manager.capabilities.atom(interfaceDef));\n};\n\n/**\n * Hook to request a capability from the plugin context.\n * @returns The capability.\n * @throws If no capability is found.\n */\nexport const useCapability = <T>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T> => {\n const capabilities = useCapabilities(interfaceDef);\n return (() => {\n const caps = capabilities();\n invariant(caps.length > 0, `No capability found for ${interfaceDef.identifier}`);\n return caps[0];\n }) as Accessor<T>;\n};\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { useCapability } from './useCapabilities';\n\nexport const useOperationInvoker = (): Accessor<Capabilities.OperationInvoker> =>\n useCapability(Capabilities.OperationInvoker);\n\nexport const useAppGraph = (): Accessor<AppCapabilities.AppGraph> => useCapability(AppCapabilities.AppGraph);\n\nexport const useLayout = () => useCapability(AppCapabilities.Layout);\n"],"mappings":";;;;;;;;;;;;AAYA,IAAa,yBAAsD;CAEjE,MAAM,QADU,uBAAuB,oBACzB,CAAA,CAAQ;CACtB,UAAU,OAAO,2BAAwB;EAAA,YAAA;EAAA,GAAA;EAAA,GAAA;EAAA,GAAA,KAAA;EAAA,GAAA,CAAA,SAAA,2BAAA;CAAA,CAAC;CAC1C,OAAO;AACT;;;;;;;;ACDA,IAAa,mBAAsB,iBAA4D;CAE7F,OAAO,aADS,iBACI,CAAA,CAAQ,aAAa,KAAK,YAAY,CAAC;AAC7D;;;;;;AAOA,IAAa,iBAAoB,iBAA0D;CACzF,MAAM,eAAe,gBAAgB,YAAY;CACjD,cAAc;EACZ,MAAM,OAAO,aAAa;EAC1B,UAAU,KAAK,SAAS,GAAG,2BAA2B,aAAa,cAAW;GAAA,YAAA;GAAA,GAAA;GAAA,GAAA;GAAA,GAAA,KAAA;GAAA,GAAA,CAAA,mBAAA,sDAAA;EAAA,CAAC;EAC/E,OAAO,KAAK;CACd;AACF;;;ACtBA,IAAa,4BACX,cAAc,aAAa,gBAAgB;AAE7C,IAAa,oBAAwD,cAAc,gBAAgB,QAAQ;AAE3G,IAAa,kBAAkB,cAAc,gBAAgB,MAAM"}
|