@cadenza.io/service 2.18.3 → 2.19.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/README.md +258 -0
- package/dist/Cadenza-DCMs7q97.d.mts +1666 -0
- package/dist/Cadenza-DCMs7q97.d.ts +1666 -0
- package/dist/browser/chunk-4XOTT2KM.mjs +31 -0
- package/dist/browser/chunk-4XOTT2KM.mjs.map +1 -0
- package/dist/browser/index.js +12256 -4810
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.mjs +14687 -7257
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/nuxt/index.js +166 -0
- package/dist/browser/nuxt/index.js.map +1 -0
- package/dist/browser/nuxt/index.mjs +121 -0
- package/dist/browser/nuxt/index.mjs.map +1 -0
- package/dist/browser/react/index.js +179 -0
- package/dist/browser/react/index.js.map +1 -0
- package/dist/browser/react/index.mjs +140 -0
- package/dist/browser/react/index.mjs.map +1 -0
- package/dist/browser/vue/index.js +178 -0
- package/dist/browser/vue/index.js.map +1 -0
- package/dist/browser/vue/index.mjs +140 -0
- package/dist/browser/vue/index.mjs.map +1 -0
- package/dist/chunk-DBCS4XXY.mjs +31 -0
- package/dist/chunk-DBCS4XXY.mjs.map +1 -0
- package/dist/index.d.mts +244 -22953
- package/dist/index.d.ts +244 -22953
- package/dist/index.js +19425 -10960
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +19308 -10894
- package/dist/index.mjs.map +1 -1
- package/dist/nuxt/index.d.mts +42 -0
- package/dist/nuxt/index.d.ts +42 -0
- package/dist/nuxt/index.js +173 -0
- package/dist/nuxt/index.js.map +1 -0
- package/dist/nuxt/index.mjs +121 -0
- package/dist/nuxt/index.mjs.map +1 -0
- package/dist/react/index.d.mts +52 -0
- package/dist/react/index.d.ts +52 -0
- package/dist/react/index.js +188 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/index.mjs +140 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/runtimeProjectionState-CitON2P3.d.mts +6 -0
- package/dist/runtimeProjectionState-CitON2P3.d.ts +6 -0
- package/dist/vue/index.d.mts +48 -0
- package/dist/vue/index.d.ts +48 -0
- package/dist/vue/index.js +187 -0
- package/dist/vue/index.js.map +1 -0
- package/dist/vue/index.mjs +140 -0
- package/dist/vue/index.mjs.map +1 -0
- package/package.json +62 -6
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/vue/index.ts
|
|
21
|
+
var vue_exports = {};
|
|
22
|
+
__export(vue_exports, {
|
|
23
|
+
createCadenzaVueRuntime: () => createCadenzaVueRuntime,
|
|
24
|
+
useCadenzaProjectionSelector: () => useCadenzaProjectionSelector,
|
|
25
|
+
useCadenzaProjectionState: () => useCadenzaProjectionState,
|
|
26
|
+
useCadenzaRuntime: () => useCadenzaRuntime,
|
|
27
|
+
useCadenzaRuntimeReady: () => useCadenzaRuntimeReady,
|
|
28
|
+
useCadenzaRuntimeState: () => useCadenzaRuntimeState
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(vue_exports);
|
|
31
|
+
var import_vue = require("vue");
|
|
32
|
+
|
|
33
|
+
// src/frontend/runtimeProjectionState.ts
|
|
34
|
+
function cloneProjectionState(value) {
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
return value.map((item) => cloneProjectionState(item));
|
|
37
|
+
}
|
|
38
|
+
if (value && typeof value === "object") {
|
|
39
|
+
return Object.fromEntries(
|
|
40
|
+
Object.entries(value).map(([key, nested]) => [
|
|
41
|
+
key,
|
|
42
|
+
cloneProjectionState(nested)
|
|
43
|
+
])
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
function resolveInitialProjectionState(value) {
|
|
49
|
+
const resolved = typeof value === "function" ? value() : value;
|
|
50
|
+
return cloneProjectionState(resolved);
|
|
51
|
+
}
|
|
52
|
+
function createProjectionRuntimeSnapshot(runtimeState, initialProjectionState) {
|
|
53
|
+
return {
|
|
54
|
+
ready: runtimeState?.ready ?? false,
|
|
55
|
+
projectionState: runtimeState?.projectionState ?? resolveInitialProjectionState(initialProjectionState)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// src/vue/index.ts
|
|
60
|
+
var DEFAULT_SELECTOR_EQUALITY = Object.is;
|
|
61
|
+
var CADENZA_VUE_RUNTIME_KEY = /* @__PURE__ */ Symbol("CadenzaVueRuntime");
|
|
62
|
+
function resolveBootstrapUrl(bootstrapUrl) {
|
|
63
|
+
return typeof bootstrapUrl === "function" ? bootstrapUrl() : bootstrapUrl;
|
|
64
|
+
}
|
|
65
|
+
function resolveHydrationOptions(hydration) {
|
|
66
|
+
if (!hydration) {
|
|
67
|
+
return void 0;
|
|
68
|
+
}
|
|
69
|
+
return typeof hydration === "function" ? hydration() : hydration;
|
|
70
|
+
}
|
|
71
|
+
function getRequiredRuntime() {
|
|
72
|
+
const runtime = (0, import_vue.inject)(CADENZA_VUE_RUNTIME_KEY, null);
|
|
73
|
+
if (!runtime) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
"Cadenza Vue runtime is not installed. Call app.use(runtime) before using Cadenza Vue composables."
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
return runtime;
|
|
79
|
+
}
|
|
80
|
+
function createCadenzaVueRuntime(options) {
|
|
81
|
+
const {
|
|
82
|
+
cadenza,
|
|
83
|
+
service,
|
|
84
|
+
bootstrapUrl,
|
|
85
|
+
hydration,
|
|
86
|
+
initialProjectionState,
|
|
87
|
+
commands,
|
|
88
|
+
...actorOptions
|
|
89
|
+
} = options;
|
|
90
|
+
const browserRuntimeOptions = {
|
|
91
|
+
...actorOptions,
|
|
92
|
+
initialProjectionState,
|
|
93
|
+
service: {
|
|
94
|
+
...service,
|
|
95
|
+
bootstrap: {
|
|
96
|
+
url: resolveBootstrapUrl(bootstrapUrl)
|
|
97
|
+
},
|
|
98
|
+
hydration: resolveHydrationOptions(hydration)
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const runtime = cadenza.createBrowserRuntimeActor(browserRuntimeOptions);
|
|
102
|
+
const snapshotRef = (0, import_vue.shallowRef)(
|
|
103
|
+
createProjectionRuntimeSnapshot(
|
|
104
|
+
runtime.getRuntimeState(),
|
|
105
|
+
initialProjectionState
|
|
106
|
+
)
|
|
107
|
+
);
|
|
108
|
+
const unsubscribe = runtime.subscribe((runtimeState) => {
|
|
109
|
+
snapshotRef.value = createProjectionRuntimeSnapshot(
|
|
110
|
+
runtimeState,
|
|
111
|
+
initialProjectionState
|
|
112
|
+
);
|
|
113
|
+
});
|
|
114
|
+
let disposed = false;
|
|
115
|
+
const runtimeCommands = commands ? commands({
|
|
116
|
+
cadenza,
|
|
117
|
+
runtime
|
|
118
|
+
}) : {};
|
|
119
|
+
const runtimeObject = {
|
|
120
|
+
actor: runtime.actor,
|
|
121
|
+
actorHandle: runtime,
|
|
122
|
+
waitUntilReady: runtime.waitUntilReady,
|
|
123
|
+
inquire: runtime.inquire,
|
|
124
|
+
getRuntimeState: runtime.getRuntimeState,
|
|
125
|
+
subscribe: runtime.subscribe,
|
|
126
|
+
snapshot: (0, import_vue.readonly)(snapshotRef),
|
|
127
|
+
projectionState: (0, import_vue.computed)(
|
|
128
|
+
() => snapshotRef.value.projectionState
|
|
129
|
+
),
|
|
130
|
+
ready: (0, import_vue.computed)(() => snapshotRef.value.ready),
|
|
131
|
+
commands: runtimeCommands,
|
|
132
|
+
install(app) {
|
|
133
|
+
app.provide(CADENZA_VUE_RUNTIME_KEY, runtimeObject);
|
|
134
|
+
app.config.globalProperties.$cadenzaRuntime = runtimeObject;
|
|
135
|
+
},
|
|
136
|
+
dispose() {
|
|
137
|
+
if (disposed) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
disposed = true;
|
|
141
|
+
unsubscribe();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
return (0, import_vue.markRaw)(runtimeObject);
|
|
145
|
+
}
|
|
146
|
+
function useCadenzaRuntime() {
|
|
147
|
+
return getRequiredRuntime();
|
|
148
|
+
}
|
|
149
|
+
function useCadenzaRuntimeState() {
|
|
150
|
+
return getRequiredRuntime().snapshot;
|
|
151
|
+
}
|
|
152
|
+
function useCadenzaProjectionState() {
|
|
153
|
+
return getRequiredRuntime().projectionState;
|
|
154
|
+
}
|
|
155
|
+
function useCadenzaProjectionSelector(selector, isEqual = DEFAULT_SELECTOR_EQUALITY) {
|
|
156
|
+
const projectionState = useCadenzaProjectionState();
|
|
157
|
+
const selectedRef = (0, import_vue.shallowRef)(
|
|
158
|
+
selector(projectionState.value)
|
|
159
|
+
);
|
|
160
|
+
(0, import_vue.watch)(
|
|
161
|
+
projectionState,
|
|
162
|
+
(nextProjectionState) => {
|
|
163
|
+
const nextSelected = selector(nextProjectionState);
|
|
164
|
+
if (isEqual(selectedRef.value, nextSelected)) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
selectedRef.value = nextSelected;
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
flush: "sync"
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
return (0, import_vue.readonly)(selectedRef);
|
|
174
|
+
}
|
|
175
|
+
function useCadenzaRuntimeReady() {
|
|
176
|
+
return getRequiredRuntime().ready;
|
|
177
|
+
}
|
|
178
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
179
|
+
0 && (module.exports = {
|
|
180
|
+
createCadenzaVueRuntime,
|
|
181
|
+
useCadenzaProjectionSelector,
|
|
182
|
+
useCadenzaProjectionState,
|
|
183
|
+
useCadenzaRuntime,
|
|
184
|
+
useCadenzaRuntimeReady,
|
|
185
|
+
useCadenzaRuntimeState
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/vue/index.ts","../../src/frontend/runtimeProjectionState.ts"],"sourcesContent":["import {\n computed,\n inject,\n markRaw,\n readonly,\n shallowRef,\n watch,\n type App,\n type ComputedRef,\n type InjectionKey,\n type ShallowRef,\n} from \"vue\";\n\nimport type CadenzaService from \"../Cadenza\";\nimport type {\n BrowserRuntimeActorHandle,\n BrowserRuntimeActorOptions,\n BrowserRuntimeProjectionBinding,\n BrowserRuntimeServiceOptions,\n} from \"../frontend/createBrowserRuntimeActor\";\nimport {\n createProjectionRuntimeSnapshot,\n type ProjectionRuntimeSnapshot,\n} from \"../frontend/runtimeProjectionState\";\nimport type { HydrationOptions } from \"../utils/bootstrap\";\n\nexport interface CadenzaVueRuntimeState<\n TProjectionState extends Record<string, any> = Record<string, any>,\n> extends ProjectionRuntimeSnapshot<TProjectionState> {}\n\nexport interface CadenzaVueRuntime<\n TProjectionState extends Record<string, any> = Record<string, any>,\n TCommands extends Record<string, any> = Record<string, never>,\n> {\n actor: BrowserRuntimeActorHandle<TProjectionState>[\"actor\"];\n actorHandle: BrowserRuntimeActorHandle<TProjectionState>;\n waitUntilReady: BrowserRuntimeActorHandle<TProjectionState>[\"waitUntilReady\"];\n inquire: BrowserRuntimeActorHandle<TProjectionState>[\"inquire\"];\n getRuntimeState: BrowserRuntimeActorHandle<TProjectionState>[\"getRuntimeState\"];\n subscribe: BrowserRuntimeActorHandle<TProjectionState>[\"subscribe\"];\n snapshot: Readonly<ShallowRef<CadenzaVueRuntimeState<TProjectionState>>>;\n projectionState: ComputedRef<TProjectionState>;\n ready: ComputedRef<boolean>;\n commands: TCommands;\n install: (app: App) => void;\n dispose: () => void;\n}\n\nexport interface CadenzaVueRuntimeOptions<\n TProjectionState extends Record<string, any> = Record<string, any>,\n TCommands extends Record<string, any> = Record<string, never>,\n> extends Omit<\n BrowserRuntimeActorOptions<TProjectionState>,\n \"service\" | \"initialProjectionState\"\n > {\n cadenza: typeof CadenzaService;\n service: Omit<BrowserRuntimeServiceOptions, \"bootstrap\" | \"hydration\">;\n bootstrapUrl: string | (() => string);\n hydration?: HydrationOptions | (() => HydrationOptions);\n initialProjectionState: TProjectionState | (() => TProjectionState);\n commands?: (context: {\n cadenza: typeof CadenzaService;\n runtime: BrowserRuntimeActorHandle<TProjectionState>;\n }) => TCommands;\n}\n\ntype EqualityComparator<TSelected> = (\n previous: TSelected,\n next: TSelected,\n) => boolean;\n\nconst DEFAULT_SELECTOR_EQUALITY = Object.is;\nconst CADENZA_VUE_RUNTIME_KEY: InjectionKey<CadenzaVueRuntime<any, any>> =\n Symbol(\"CadenzaVueRuntime\");\n\nfunction resolveBootstrapUrl(bootstrapUrl: string | (() => string)): string {\n return typeof bootstrapUrl === \"function\" ? bootstrapUrl() : bootstrapUrl;\n}\n\nfunction resolveHydrationOptions(\n hydration: HydrationOptions | (() => HydrationOptions) | undefined,\n): HydrationOptions | undefined {\n if (!hydration) {\n return undefined;\n }\n\n return typeof hydration === \"function\"\n ? (hydration as () => HydrationOptions)()\n : hydration;\n}\n\nfunction getRequiredRuntime<\n TProjectionState extends Record<string, any>,\n TCommands extends Record<string, any>,\n>(): CadenzaVueRuntime<TProjectionState, TCommands> {\n const runtime = inject(CADENZA_VUE_RUNTIME_KEY, null);\n if (!runtime) {\n throw new Error(\n \"Cadenza Vue runtime is not installed. Call app.use(runtime) before using Cadenza Vue composables.\",\n );\n }\n\n return runtime as CadenzaVueRuntime<TProjectionState, TCommands>;\n}\n\nexport function createCadenzaVueRuntime<\n TProjectionState extends Record<string, any>,\n TCommands extends Record<string, any> = Record<string, never>,\n>(options: CadenzaVueRuntimeOptions<TProjectionState, TCommands>) {\n const {\n cadenza,\n service,\n bootstrapUrl,\n hydration,\n initialProjectionState,\n commands,\n ...actorOptions\n } = options;\n const browserRuntimeOptions: BrowserRuntimeActorOptions<TProjectionState> = {\n ...actorOptions,\n initialProjectionState,\n service: {\n ...service,\n bootstrap: {\n url: resolveBootstrapUrl(bootstrapUrl),\n },\n hydration: resolveHydrationOptions(hydration),\n },\n };\n const runtime = cadenza.createBrowserRuntimeActor(browserRuntimeOptions);\n const snapshotRef = shallowRef<CadenzaVueRuntimeState<TProjectionState>>(\n createProjectionRuntimeSnapshot(\n runtime.getRuntimeState(),\n initialProjectionState,\n ),\n );\n const unsubscribe = runtime.subscribe((runtimeState) => {\n snapshotRef.value = createProjectionRuntimeSnapshot(\n runtimeState,\n initialProjectionState,\n );\n });\n let disposed = false;\n const runtimeCommands = commands\n ? commands({\n cadenza,\n runtime,\n })\n : ({} as TCommands);\n const runtimeObject: CadenzaVueRuntime<TProjectionState, TCommands> = {\n actor: runtime.actor,\n actorHandle: runtime,\n waitUntilReady: runtime.waitUntilReady,\n inquire: runtime.inquire,\n getRuntimeState: runtime.getRuntimeState,\n subscribe: runtime.subscribe,\n snapshot: readonly(snapshotRef) as Readonly<\n ShallowRef<CadenzaVueRuntimeState<TProjectionState>>\n >,\n projectionState: computed(\n () => snapshotRef.value.projectionState as TProjectionState,\n ),\n ready: computed(() => snapshotRef.value.ready),\n commands: runtimeCommands,\n install(app: App) {\n app.provide(CADENZA_VUE_RUNTIME_KEY, runtimeObject);\n app.config.globalProperties.$cadenzaRuntime = runtimeObject;\n },\n dispose() {\n if (disposed) {\n return;\n }\n\n disposed = true;\n unsubscribe();\n },\n };\n\n return markRaw(runtimeObject) as CadenzaVueRuntime<TProjectionState, TCommands>;\n}\n\nexport function useCadenzaRuntime<\n TRuntime extends CadenzaVueRuntime<any, any> = CadenzaVueRuntime<any, any>,\n>(): TRuntime {\n return getRequiredRuntime<any, any>() as TRuntime;\n}\n\nexport function useCadenzaRuntimeState<\n TProjectionState extends Record<string, any> = Record<string, any>,\n>(): Readonly<ShallowRef<CadenzaVueRuntimeState<TProjectionState>>> {\n return getRequiredRuntime<TProjectionState, Record<string, any>>().snapshot;\n}\n\nexport function useCadenzaProjectionState<\n TProjectionState extends Record<string, any> = Record<string, any>,\n>(): ComputedRef<TProjectionState> {\n return getRequiredRuntime<TProjectionState, Record<string, any>>()\n .projectionState as ComputedRef<TProjectionState>;\n}\n\nexport function useCadenzaProjectionSelector<\n TProjectionState extends Record<string, any> = Record<string, any>,\n TSelected = TProjectionState,\n>(\n selector: (state: TProjectionState) => TSelected,\n isEqual: EqualityComparator<TSelected> = DEFAULT_SELECTOR_EQUALITY,\n): Readonly<ShallowRef<TSelected>> {\n const projectionState = useCadenzaProjectionState<TProjectionState>();\n const selectedRef = shallowRef<TSelected>(\n selector(projectionState.value as TProjectionState),\n );\n\n watch(\n projectionState,\n (nextProjectionState) => {\n const nextSelected = selector(nextProjectionState as TProjectionState);\n if (isEqual(selectedRef.value, nextSelected)) {\n return;\n }\n\n selectedRef.value = nextSelected;\n },\n {\n flush: \"sync\",\n },\n );\n\n return readonly(selectedRef) as Readonly<ShallowRef<TSelected>>;\n}\n\nexport function useCadenzaRuntimeReady(): ComputedRef<boolean> {\n return getRequiredRuntime<Record<string, any>, Record<string, any>>().ready;\n}\n\nexport type { BrowserRuntimeProjectionBinding };\n\ndeclare module \"vue\" {\n interface ComponentCustomProperties {\n $cadenzaRuntime: CadenzaVueRuntime<any, any>;\n }\n}\n","import type { BrowserRuntimeActorRuntimeState } from \"./createBrowserRuntimeActor\";\n\nexport interface ProjectionRuntimeSnapshot<\n TProjectionState extends Record<string, any> = Record<string, any>,\n> {\n ready: boolean;\n projectionState: TProjectionState;\n}\n\nexport function cloneProjectionState<TProjectionState>(\n value: TProjectionState,\n): TProjectionState {\n if (Array.isArray(value)) {\n return value.map((item) => cloneProjectionState(item)) as TProjectionState;\n }\n\n if (value && typeof value === \"object\") {\n return Object.fromEntries(\n Object.entries(value as Record<string, unknown>).map(([key, nested]) => [\n key,\n cloneProjectionState(nested),\n ]),\n ) as TProjectionState;\n }\n\n return value;\n}\n\nexport function resolveInitialProjectionState<\n TProjectionState extends Record<string, any>,\n>(value: TProjectionState | (() => TProjectionState)): TProjectionState {\n const resolved =\n typeof value === \"function\"\n ? (value as () => TProjectionState)()\n : value;\n return cloneProjectionState(resolved);\n}\n\nexport function createProjectionRuntimeSnapshot<\n TProjectionState extends Record<string, any>,\n>(\n runtimeState: BrowserRuntimeActorRuntimeState<TProjectionState> | undefined,\n initialProjectionState: TProjectionState | (() => TProjectionState),\n): ProjectionRuntimeSnapshot<TProjectionState> {\n return {\n ready: runtimeState?.ready ?? false,\n projectionState:\n runtimeState?.projectionState ??\n resolveInitialProjectionState(initialProjectionState),\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createProjectionRuntimeSnapshot
|
|
3
|
+
} from "../chunk-DBCS4XXY.mjs";
|
|
4
|
+
|
|
5
|
+
// src/vue/index.ts
|
|
6
|
+
import {
|
|
7
|
+
computed,
|
|
8
|
+
inject,
|
|
9
|
+
markRaw,
|
|
10
|
+
readonly,
|
|
11
|
+
shallowRef,
|
|
12
|
+
watch
|
|
13
|
+
} from "vue";
|
|
14
|
+
var DEFAULT_SELECTOR_EQUALITY = Object.is;
|
|
15
|
+
var CADENZA_VUE_RUNTIME_KEY = /* @__PURE__ */ Symbol("CadenzaVueRuntime");
|
|
16
|
+
function resolveBootstrapUrl(bootstrapUrl) {
|
|
17
|
+
return typeof bootstrapUrl === "function" ? bootstrapUrl() : bootstrapUrl;
|
|
18
|
+
}
|
|
19
|
+
function resolveHydrationOptions(hydration) {
|
|
20
|
+
if (!hydration) {
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
return typeof hydration === "function" ? hydration() : hydration;
|
|
24
|
+
}
|
|
25
|
+
function getRequiredRuntime() {
|
|
26
|
+
const runtime = inject(CADENZA_VUE_RUNTIME_KEY, null);
|
|
27
|
+
if (!runtime) {
|
|
28
|
+
throw new Error(
|
|
29
|
+
"Cadenza Vue runtime is not installed. Call app.use(runtime) before using Cadenza Vue composables."
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
return runtime;
|
|
33
|
+
}
|
|
34
|
+
function createCadenzaVueRuntime(options) {
|
|
35
|
+
const {
|
|
36
|
+
cadenza,
|
|
37
|
+
service,
|
|
38
|
+
bootstrapUrl,
|
|
39
|
+
hydration,
|
|
40
|
+
initialProjectionState,
|
|
41
|
+
commands,
|
|
42
|
+
...actorOptions
|
|
43
|
+
} = options;
|
|
44
|
+
const browserRuntimeOptions = {
|
|
45
|
+
...actorOptions,
|
|
46
|
+
initialProjectionState,
|
|
47
|
+
service: {
|
|
48
|
+
...service,
|
|
49
|
+
bootstrap: {
|
|
50
|
+
url: resolveBootstrapUrl(bootstrapUrl)
|
|
51
|
+
},
|
|
52
|
+
hydration: resolveHydrationOptions(hydration)
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const runtime = cadenza.createBrowserRuntimeActor(browserRuntimeOptions);
|
|
56
|
+
const snapshotRef = shallowRef(
|
|
57
|
+
createProjectionRuntimeSnapshot(
|
|
58
|
+
runtime.getRuntimeState(),
|
|
59
|
+
initialProjectionState
|
|
60
|
+
)
|
|
61
|
+
);
|
|
62
|
+
const unsubscribe = runtime.subscribe((runtimeState) => {
|
|
63
|
+
snapshotRef.value = createProjectionRuntimeSnapshot(
|
|
64
|
+
runtimeState,
|
|
65
|
+
initialProjectionState
|
|
66
|
+
);
|
|
67
|
+
});
|
|
68
|
+
let disposed = false;
|
|
69
|
+
const runtimeCommands = commands ? commands({
|
|
70
|
+
cadenza,
|
|
71
|
+
runtime
|
|
72
|
+
}) : {};
|
|
73
|
+
const runtimeObject = {
|
|
74
|
+
actor: runtime.actor,
|
|
75
|
+
actorHandle: runtime,
|
|
76
|
+
waitUntilReady: runtime.waitUntilReady,
|
|
77
|
+
inquire: runtime.inquire,
|
|
78
|
+
getRuntimeState: runtime.getRuntimeState,
|
|
79
|
+
subscribe: runtime.subscribe,
|
|
80
|
+
snapshot: readonly(snapshotRef),
|
|
81
|
+
projectionState: computed(
|
|
82
|
+
() => snapshotRef.value.projectionState
|
|
83
|
+
),
|
|
84
|
+
ready: computed(() => snapshotRef.value.ready),
|
|
85
|
+
commands: runtimeCommands,
|
|
86
|
+
install(app) {
|
|
87
|
+
app.provide(CADENZA_VUE_RUNTIME_KEY, runtimeObject);
|
|
88
|
+
app.config.globalProperties.$cadenzaRuntime = runtimeObject;
|
|
89
|
+
},
|
|
90
|
+
dispose() {
|
|
91
|
+
if (disposed) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
disposed = true;
|
|
95
|
+
unsubscribe();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
return markRaw(runtimeObject);
|
|
99
|
+
}
|
|
100
|
+
function useCadenzaRuntime() {
|
|
101
|
+
return getRequiredRuntime();
|
|
102
|
+
}
|
|
103
|
+
function useCadenzaRuntimeState() {
|
|
104
|
+
return getRequiredRuntime().snapshot;
|
|
105
|
+
}
|
|
106
|
+
function useCadenzaProjectionState() {
|
|
107
|
+
return getRequiredRuntime().projectionState;
|
|
108
|
+
}
|
|
109
|
+
function useCadenzaProjectionSelector(selector, isEqual = DEFAULT_SELECTOR_EQUALITY) {
|
|
110
|
+
const projectionState = useCadenzaProjectionState();
|
|
111
|
+
const selectedRef = shallowRef(
|
|
112
|
+
selector(projectionState.value)
|
|
113
|
+
);
|
|
114
|
+
watch(
|
|
115
|
+
projectionState,
|
|
116
|
+
(nextProjectionState) => {
|
|
117
|
+
const nextSelected = selector(nextProjectionState);
|
|
118
|
+
if (isEqual(selectedRef.value, nextSelected)) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
selectedRef.value = nextSelected;
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
flush: "sync"
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
return readonly(selectedRef);
|
|
128
|
+
}
|
|
129
|
+
function useCadenzaRuntimeReady() {
|
|
130
|
+
return getRequiredRuntime().ready;
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
createCadenzaVueRuntime,
|
|
134
|
+
useCadenzaProjectionSelector,
|
|
135
|
+
useCadenzaProjectionState,
|
|
136
|
+
useCadenzaRuntime,
|
|
137
|
+
useCadenzaRuntimeReady,
|
|
138
|
+
useCadenzaRuntimeState
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/vue/index.ts"],"sourcesContent":["import {\n computed,\n inject,\n markRaw,\n readonly,\n shallowRef,\n watch,\n type App,\n type ComputedRef,\n type InjectionKey,\n type ShallowRef,\n} from \"vue\";\n\nimport type CadenzaService from \"../Cadenza\";\nimport type {\n BrowserRuntimeActorHandle,\n BrowserRuntimeActorOptions,\n BrowserRuntimeProjectionBinding,\n BrowserRuntimeServiceOptions,\n} from \"../frontend/createBrowserRuntimeActor\";\nimport {\n createProjectionRuntimeSnapshot,\n type ProjectionRuntimeSnapshot,\n} from \"../frontend/runtimeProjectionState\";\nimport type { HydrationOptions } from \"../utils/bootstrap\";\n\nexport interface CadenzaVueRuntimeState<\n TProjectionState extends Record<string, any> = Record<string, any>,\n> extends ProjectionRuntimeSnapshot<TProjectionState> {}\n\nexport interface CadenzaVueRuntime<\n TProjectionState extends Record<string, any> = Record<string, any>,\n TCommands extends Record<string, any> = Record<string, never>,\n> {\n actor: BrowserRuntimeActorHandle<TProjectionState>[\"actor\"];\n actorHandle: BrowserRuntimeActorHandle<TProjectionState>;\n waitUntilReady: BrowserRuntimeActorHandle<TProjectionState>[\"waitUntilReady\"];\n inquire: BrowserRuntimeActorHandle<TProjectionState>[\"inquire\"];\n getRuntimeState: BrowserRuntimeActorHandle<TProjectionState>[\"getRuntimeState\"];\n subscribe: BrowserRuntimeActorHandle<TProjectionState>[\"subscribe\"];\n snapshot: Readonly<ShallowRef<CadenzaVueRuntimeState<TProjectionState>>>;\n projectionState: ComputedRef<TProjectionState>;\n ready: ComputedRef<boolean>;\n commands: TCommands;\n install: (app: App) => void;\n dispose: () => void;\n}\n\nexport interface CadenzaVueRuntimeOptions<\n TProjectionState extends Record<string, any> = Record<string, any>,\n TCommands extends Record<string, any> = Record<string, never>,\n> extends Omit<\n BrowserRuntimeActorOptions<TProjectionState>,\n \"service\" | \"initialProjectionState\"\n > {\n cadenza: typeof CadenzaService;\n service: Omit<BrowserRuntimeServiceOptions, \"bootstrap\" | \"hydration\">;\n bootstrapUrl: string | (() => string);\n hydration?: HydrationOptions | (() => HydrationOptions);\n initialProjectionState: TProjectionState | (() => TProjectionState);\n commands?: (context: {\n cadenza: typeof CadenzaService;\n runtime: BrowserRuntimeActorHandle<TProjectionState>;\n }) => TCommands;\n}\n\ntype EqualityComparator<TSelected> = (\n previous: TSelected,\n next: TSelected,\n) => boolean;\n\nconst DEFAULT_SELECTOR_EQUALITY = Object.is;\nconst CADENZA_VUE_RUNTIME_KEY: InjectionKey<CadenzaVueRuntime<any, any>> =\n Symbol(\"CadenzaVueRuntime\");\n\nfunction resolveBootstrapUrl(bootstrapUrl: string | (() => string)): string {\n return typeof bootstrapUrl === \"function\" ? bootstrapUrl() : bootstrapUrl;\n}\n\nfunction resolveHydrationOptions(\n hydration: HydrationOptions | (() => HydrationOptions) | undefined,\n): HydrationOptions | undefined {\n if (!hydration) {\n return undefined;\n }\n\n return typeof hydration === \"function\"\n ? (hydration as () => HydrationOptions)()\n : hydration;\n}\n\nfunction getRequiredRuntime<\n TProjectionState extends Record<string, any>,\n TCommands extends Record<string, any>,\n>(): CadenzaVueRuntime<TProjectionState, TCommands> {\n const runtime = inject(CADENZA_VUE_RUNTIME_KEY, null);\n if (!runtime) {\n throw new Error(\n \"Cadenza Vue runtime is not installed. Call app.use(runtime) before using Cadenza Vue composables.\",\n );\n }\n\n return runtime as CadenzaVueRuntime<TProjectionState, TCommands>;\n}\n\nexport function createCadenzaVueRuntime<\n TProjectionState extends Record<string, any>,\n TCommands extends Record<string, any> = Record<string, never>,\n>(options: CadenzaVueRuntimeOptions<TProjectionState, TCommands>) {\n const {\n cadenza,\n service,\n bootstrapUrl,\n hydration,\n initialProjectionState,\n commands,\n ...actorOptions\n } = options;\n const browserRuntimeOptions: BrowserRuntimeActorOptions<TProjectionState> = {\n ...actorOptions,\n initialProjectionState,\n service: {\n ...service,\n bootstrap: {\n url: resolveBootstrapUrl(bootstrapUrl),\n },\n hydration: resolveHydrationOptions(hydration),\n },\n };\n const runtime = cadenza.createBrowserRuntimeActor(browserRuntimeOptions);\n const snapshotRef = shallowRef<CadenzaVueRuntimeState<TProjectionState>>(\n createProjectionRuntimeSnapshot(\n runtime.getRuntimeState(),\n initialProjectionState,\n ),\n );\n const unsubscribe = runtime.subscribe((runtimeState) => {\n snapshotRef.value = createProjectionRuntimeSnapshot(\n runtimeState,\n initialProjectionState,\n );\n });\n let disposed = false;\n const runtimeCommands = commands\n ? commands({\n cadenza,\n runtime,\n })\n : ({} as TCommands);\n const runtimeObject: CadenzaVueRuntime<TProjectionState, TCommands> = {\n actor: runtime.actor,\n actorHandle: runtime,\n waitUntilReady: runtime.waitUntilReady,\n inquire: runtime.inquire,\n getRuntimeState: runtime.getRuntimeState,\n subscribe: runtime.subscribe,\n snapshot: readonly(snapshotRef) as Readonly<\n ShallowRef<CadenzaVueRuntimeState<TProjectionState>>\n >,\n projectionState: computed(\n () => snapshotRef.value.projectionState as TProjectionState,\n ),\n ready: computed(() => snapshotRef.value.ready),\n commands: runtimeCommands,\n install(app: App) {\n app.provide(CADENZA_VUE_RUNTIME_KEY, runtimeObject);\n app.config.globalProperties.$cadenzaRuntime = runtimeObject;\n },\n dispose() {\n if (disposed) {\n return;\n }\n\n disposed = true;\n unsubscribe();\n },\n };\n\n return markRaw(runtimeObject) as CadenzaVueRuntime<TProjectionState, TCommands>;\n}\n\nexport function useCadenzaRuntime<\n TRuntime extends CadenzaVueRuntime<any, any> = CadenzaVueRuntime<any, any>,\n>(): TRuntime {\n return getRequiredRuntime<any, any>() as TRuntime;\n}\n\nexport function useCadenzaRuntimeState<\n TProjectionState extends Record<string, any> = Record<string, any>,\n>(): Readonly<ShallowRef<CadenzaVueRuntimeState<TProjectionState>>> {\n return getRequiredRuntime<TProjectionState, Record<string, any>>().snapshot;\n}\n\nexport function useCadenzaProjectionState<\n TProjectionState extends Record<string, any> = Record<string, any>,\n>(): ComputedRef<TProjectionState> {\n return getRequiredRuntime<TProjectionState, Record<string, any>>()\n .projectionState as ComputedRef<TProjectionState>;\n}\n\nexport function useCadenzaProjectionSelector<\n TProjectionState extends Record<string, any> = Record<string, any>,\n TSelected = TProjectionState,\n>(\n selector: (state: TProjectionState) => TSelected,\n isEqual: EqualityComparator<TSelected> = DEFAULT_SELECTOR_EQUALITY,\n): Readonly<ShallowRef<TSelected>> {\n const projectionState = useCadenzaProjectionState<TProjectionState>();\n const selectedRef = shallowRef<TSelected>(\n selector(projectionState.value as TProjectionState),\n );\n\n watch(\n projectionState,\n (nextProjectionState) => {\n const nextSelected = selector(nextProjectionState as TProjectionState);\n if (isEqual(selectedRef.value, nextSelected)) {\n return;\n }\n\n selectedRef.value = nextSelected;\n },\n {\n flush: \"sync\",\n },\n );\n\n return readonly(selectedRef) as Readonly<ShallowRef<TSelected>>;\n}\n\nexport function useCadenzaRuntimeReady(): ComputedRef<boolean> {\n return getRequiredRuntime<Record<string, any>, Record<string, any>>().ready;\n}\n\nexport type { BrowserRuntimeProjectionBinding };\n\ndeclare module \"vue\" {\n interface ComponentCustomProperties {\n $cadenzaRuntime: CadenzaVueRuntime<any, any>;\n }\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cadenza.io/service",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.0",
|
|
4
4
|
"description": "This is a lightweight framework for building seamless distributed asynchronous graphs and flows of tasks and signals.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "node --loader ts-node/esm src/index.ts",
|
|
@@ -13,16 +13,63 @@
|
|
|
13
13
|
"main": "dist/index.js",
|
|
14
14
|
"module": "dist/index.mjs",
|
|
15
15
|
"browser": "dist/browser/index.mjs",
|
|
16
|
-
"types": "dist/
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
19
|
-
"types": "./dist/
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
20
|
"browser": {
|
|
21
21
|
"import": "./dist/browser/index.mjs",
|
|
22
22
|
"require": "./dist/browser/index.js"
|
|
23
23
|
},
|
|
24
|
-
"require":
|
|
25
|
-
|
|
24
|
+
"require": {
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
|
+
"default": "./dist/index.js"
|
|
27
|
+
},
|
|
28
|
+
"import": {
|
|
29
|
+
"types": "./dist/index.d.mts",
|
|
30
|
+
"default": "./dist/index.mjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"./nuxt": {
|
|
34
|
+
"types": "./dist/nuxt/index.d.ts",
|
|
35
|
+
"require": {
|
|
36
|
+
"types": "./dist/nuxt/index.d.ts",
|
|
37
|
+
"default": "./dist/nuxt/index.js"
|
|
38
|
+
},
|
|
39
|
+
"import": {
|
|
40
|
+
"types": "./dist/nuxt/index.d.mts",
|
|
41
|
+
"default": "./dist/nuxt/index.mjs"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"./react": {
|
|
45
|
+
"types": "./dist/react/index.d.ts",
|
|
46
|
+
"browser": {
|
|
47
|
+
"import": "./dist/browser/react/index.mjs",
|
|
48
|
+
"require": "./dist/browser/react/index.js"
|
|
49
|
+
},
|
|
50
|
+
"require": {
|
|
51
|
+
"types": "./dist/react/index.d.ts",
|
|
52
|
+
"default": "./dist/react/index.js"
|
|
53
|
+
},
|
|
54
|
+
"import": {
|
|
55
|
+
"types": "./dist/react/index.d.mts",
|
|
56
|
+
"default": "./dist/react/index.mjs"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"./vue": {
|
|
60
|
+
"types": "./dist/vue/index.d.ts",
|
|
61
|
+
"browser": {
|
|
62
|
+
"import": "./dist/browser/vue/index.mjs",
|
|
63
|
+
"require": "./dist/browser/vue/index.js"
|
|
64
|
+
},
|
|
65
|
+
"require": {
|
|
66
|
+
"types": "./dist/vue/index.d.ts",
|
|
67
|
+
"default": "./dist/vue/index.js"
|
|
68
|
+
},
|
|
69
|
+
"import": {
|
|
70
|
+
"types": "./dist/vue/index.d.mts",
|
|
71
|
+
"default": "./dist/vue/index.mjs"
|
|
72
|
+
}
|
|
26
73
|
}
|
|
27
74
|
},
|
|
28
75
|
"release": {
|
|
@@ -78,7 +125,12 @@
|
|
|
78
125
|
"@types/express": "^5.0.3",
|
|
79
126
|
"@types/lodash-es": "^4.17.12",
|
|
80
127
|
"@types/node": "^24.0.1",
|
|
128
|
+
"@types/react": "^19.0.0",
|
|
129
|
+
"@types/react-test-renderer": "^19.0.0",
|
|
81
130
|
"prettier": "3.6.2",
|
|
131
|
+
"react": "^19.0.0",
|
|
132
|
+
"react-test-renderer": "^19.0.0",
|
|
133
|
+
"vue": "^3.5.13",
|
|
82
134
|
"semantic-release": "^24.2.3",
|
|
83
135
|
"tsup": "^8.4.0",
|
|
84
136
|
"tsx": "^4.20.2",
|
|
@@ -87,7 +139,7 @@
|
|
|
87
139
|
"vitest": "^3.2.3"
|
|
88
140
|
},
|
|
89
141
|
"dependencies": {
|
|
90
|
-
"@cadenza.io/core": "^3.
|
|
142
|
+
"@cadenza.io/core": "^3.26.0",
|
|
91
143
|
"@types/pg": "^8.15.4",
|
|
92
144
|
"@types/uuid": "^10.0.0",
|
|
93
145
|
"body-parser": "^2.2.0",
|
|
@@ -102,5 +154,9 @@
|
|
|
102
154
|
"socket.io-client": "^4.8.1",
|
|
103
155
|
"uuid": "^10.0.0",
|
|
104
156
|
"xss": "^1.0.15"
|
|
157
|
+
},
|
|
158
|
+
"peerDependencies": {
|
|
159
|
+
"react": ">=18 <20",
|
|
160
|
+
"vue": ">=3 <4"
|
|
105
161
|
}
|
|
106
162
|
}
|