@xmachines/play-vue 1.0.0-beta.2 → 1.0.0-beta.21
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 +214 -84
- package/dist/PlayRenderer.js +7 -0
- package/dist/PlayRenderer.js.map +1 -0
- package/dist/PlayRenderer.vue_vue_type_script_lang.js +57 -0
- package/dist/PlayRenderer.vue_vue_type_script_lang.js.map +1 -0
- package/dist/define-registry.d.ts +79 -0
- package/dist/define-registry.d.ts.map +1 -0
- package/dist/define-registry.js +21 -0
- package/dist/define-registry.js.map +1 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/node_modules/@json-render/core/dist/chunk-AFLK3Q4T.js +111 -0
- package/dist/node_modules/@json-render/core/dist/chunk-AFLK3Q4T.js.map +1 -0
- package/dist/node_modules/@json-render/core/dist/index.js +956 -0
- package/dist/node_modules/@json-render/core/dist/index.js.map +1 -0
- package/dist/node_modules/@json-render/core/dist/store-utils.js +1 -0
- package/dist/node_modules/@json-render/vue/dist/chunk-WIPZLAF7.js +57 -0
- package/dist/node_modules/@json-render/vue/dist/chunk-WIPZLAF7.js.map +1 -0
- package/dist/node_modules/@json-render/vue/dist/index.js +796 -0
- package/dist/node_modules/@json-render/vue/dist/index.js.map +1 -0
- package/dist/node_modules/@json-render/xstate/dist/index.js +20 -0
- package/dist/node_modules/@json-render/xstate/dist/index.js.map +1 -0
- package/dist/node_modules/@xstate/store/dist/store-69e7e2d5.esm.js +227 -0
- package/dist/node_modules/@xstate/store/dist/store-69e7e2d5.esm.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/errors.js +25 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/iso.js +33 -0
- package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +8 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +362 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +530 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +285 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +46 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +25 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +43 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +183 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +70 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +27 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +42 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +823 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js +224 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +268 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +10 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/types.d.ts +31 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/useActor.d.ts +35 -0
- package/dist/useActor.d.ts.map +1 -0
- package/dist/useActor.js +15 -0
- package/dist/useActor.js.map +1 -0
- package/package.json +31 -23
- package/dist/PlayRenderer.vue.js +0 -8
- package/dist/PlayRenderer.vue.js.map +0 -1
- package/dist/PlayRenderer.vue2.js +0 -48
- package/dist/PlayRenderer.vue2.js.map +0 -1
- package/dist/_virtual/_plugin-vue_export-helper.js +0 -10
- package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
- package/dist/index.css +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["defineComponent2","computed2","inject2","defineComponent3","ref2","inject3","defineComponent4","ref3","inject4","defineComponent5","inject5","defineComponent6","computed6","inject6","ref5","getByPath3","evaluateVisibility2","h2"],"sources":["../../../../../../../node_modules/@json-render/vue/dist/index.mjs"],"sourcesContent":["import {\n schema\n} from \"./chunk-WIPZLAF7.mjs\";\n\n// src/composables/state.ts\nimport {\n computed,\n defineComponent,\n inject,\n onUnmounted,\n provide,\n ref,\n shallowRef,\n watch\n} from \"vue\";\nimport {\n createStateStore,\n getByPath\n} from \"@json-render/core\";\nimport { flattenToPointers } from \"@json-render/core/store-utils\";\nvar STATE_KEY = /* @__PURE__ */ Symbol(\"json-render:state\");\nvar StateProvider = defineComponent({\n name: \"StateProvider\",\n props: {\n store: {\n type: Object,\n default: void 0\n },\n initialState: {\n type: Object,\n default: void 0\n },\n onStateChange: {\n type: Function,\n default: void 0\n }\n },\n setup(props, { slots }) {\n const isControlled = !!props.store;\n const internalStore = !isControlled ? createStateStore(props.initialState ?? {}) : null;\n const store = props.store ?? internalStore;\n const state = shallowRef(store.getSnapshot());\n const unsubscribe = store.subscribe(() => {\n state.value = store.getSnapshot();\n });\n onUnmounted(unsubscribe);\n if (!isControlled) {\n let prevFlat = props.initialState && Object.keys(props.initialState).length > 0 ? flattenToPointers(props.initialState) : {};\n watch(\n () => props.initialState,\n (newInitialState) => {\n if (!newInitialState) return;\n const nextFlat = Object.keys(newInitialState).length > 0 ? flattenToPointers(newInitialState) : {};\n const allKeys = /* @__PURE__ */ new Set([\n ...Object.keys(prevFlat),\n ...Object.keys(nextFlat)\n ]);\n const updates = {};\n for (const key of allKeys) {\n if (prevFlat[key] !== nextFlat[key]) {\n updates[key] = key in nextFlat ? nextFlat[key] : void 0;\n }\n }\n prevFlat = nextFlat;\n if (Object.keys(updates).length > 0) {\n store.update(updates);\n }\n }\n );\n }\n const onStateChangeRef = ref(props.onStateChange);\n watch(\n () => props.onStateChange,\n (fn) => {\n onStateChangeRef.value = fn;\n }\n );\n const get = (path) => store.get(path);\n const getSnapshot = () => store.getSnapshot();\n const set = (path, value) => {\n const prev = store.getSnapshot();\n store.set(path, value);\n if (!isControlled && store.getSnapshot() !== prev) {\n onStateChangeRef.value?.([{ path, value }]);\n }\n };\n const update = (updates) => {\n const prev = store.getSnapshot();\n store.update(updates);\n if (!isControlled && store.getSnapshot() !== prev) {\n const changes = [];\n for (const [path, value] of Object.entries(updates)) {\n if (getByPath(prev, path) !== value) {\n changes.push({ path, value });\n }\n }\n if (changes.length > 0) {\n onStateChangeRef.value?.(changes);\n }\n }\n };\n provide(STATE_KEY, {\n state,\n get,\n set,\n update,\n getSnapshot\n });\n return () => slots.default?.();\n }\n});\nfunction useStateStore() {\n const ctx = inject(STATE_KEY);\n if (!ctx) {\n throw new Error(\"useStateStore must be used within a StateProvider\");\n }\n return ctx;\n}\nfunction useStateValue(path) {\n const { state } = useStateStore();\n return computed(() => getByPath(state.value, path));\n}\nfunction useStateBinding(path) {\n const { state, set } = useStateStore();\n const value = computed(() => getByPath(state.value, path));\n const setValue = (newValue) => set(path, newValue);\n return [value, setValue];\n}\n\n// src/composables/visibility.ts\nimport {\n computed as computed2,\n defineComponent as defineComponent2,\n inject as inject2,\n provide as provide2\n} from \"vue\";\nimport {\n evaluateVisibility\n} from \"@json-render/core\";\nvar VISIBILITY_KEY = /* @__PURE__ */ Symbol(\"json-render:visibility\");\nvar VisibilityProvider = defineComponent2({\n name: \"VisibilityProvider\",\n setup(_, { slots }) {\n const { state } = useStateStore();\n const ctx = computed2(() => ({\n stateModel: state.value\n }));\n const isVisible = (condition) => evaluateVisibility(condition, ctx.value);\n provide2(VISIBILITY_KEY, { isVisible, ctx });\n return () => slots.default?.();\n }\n});\nfunction useVisibility() {\n const ctx = inject2(VISIBILITY_KEY);\n if (!ctx) {\n throw new Error(\"useVisibility must be used within a VisibilityProvider\");\n }\n return ctx;\n}\nfunction useIsVisible(condition) {\n const { ctx } = useVisibility();\n return computed2(() => evaluateVisibility(condition, ctx.value));\n}\n\n// src/composables/actions.ts\nimport {\n computed as computed4,\n defineComponent as defineComponent4,\n h,\n inject as inject4,\n provide as provide4,\n ref as ref3,\n watch as watch2\n} from \"vue\";\nimport {\n resolveAction,\n executeAction\n} from \"@json-render/core\";\n\n// src/composables/validation.ts\nimport {\n computed as computed3,\n defineComponent as defineComponent3,\n inject as inject3,\n onMounted,\n onUnmounted as onUnmounted2,\n provide as provide3,\n ref as ref2\n} from \"vue\";\nimport {\n runValidation\n} from \"@json-render/core\";\nvar VALIDATION_KEY = /* @__PURE__ */ Symbol(\"json-render:validation\");\nfunction dynamicArgsEqual(a, b) {\n if (a === b) return true;\n if (!a || !b) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n const va = a[key];\n const vb = b[key];\n if (va === vb) continue;\n if (typeof va === \"object\" && va !== null && typeof vb === \"object\" && vb !== null) {\n const sa = va.$state;\n const sb = vb.$state;\n if (typeof sa === \"string\" && sa === sb) continue;\n }\n return false;\n }\n return true;\n}\nfunction validationConfigEqual(a, b) {\n if (a === b) return true;\n if (a.validateOn !== b.validateOn) return false;\n const ac = a.checks ?? [];\n const bc = b.checks ?? [];\n if (ac.length !== bc.length) return false;\n for (let i = 0; i < ac.length; i++) {\n const ca = ac[i];\n const cb = bc[i];\n if (ca.type !== cb.type) return false;\n if (ca.message !== cb.message) return false;\n if (!dynamicArgsEqual(ca.args, cb.args)) return false;\n }\n return true;\n}\nvar ValidationProvider = defineComponent3({\n name: \"ValidationProvider\",\n props: {\n customFunctions: {\n type: Object,\n default: () => ({})\n }\n },\n setup(props, { slots }) {\n const { state } = useStateStore();\n const fieldStates = ref2({});\n const fieldConfigs = ref2({});\n const registerField = (path, config) => {\n const existing = fieldConfigs.value[path];\n if (existing && validationConfigEqual(existing, config)) return;\n fieldConfigs.value = { ...fieldConfigs.value, [path]: config };\n };\n const validate = (path, config) => {\n const currentState = state.value;\n const segments = path.split(\"/\").filter(Boolean);\n let value = currentState;\n for (const seg of segments) {\n if (value != null && typeof value === \"object\") {\n value = value[seg];\n } else {\n value = void 0;\n break;\n }\n }\n const result = runValidation(config, {\n value,\n stateModel: currentState,\n customFunctions: props.customFunctions\n });\n fieldStates.value = {\n ...fieldStates.value,\n [path]: {\n touched: fieldStates.value[path]?.touched ?? true,\n validated: true,\n result\n }\n };\n return result;\n };\n const touch = (path) => {\n fieldStates.value = {\n ...fieldStates.value,\n [path]: {\n ...fieldStates.value[path],\n touched: true,\n validated: fieldStates.value[path]?.validated ?? false,\n result: fieldStates.value[path]?.result ?? null\n }\n };\n };\n const clear = (path) => {\n const { [path]: _, ...rest } = fieldStates.value;\n fieldStates.value = rest;\n };\n const validateAll = () => {\n let allValid = true;\n for (const [path, config] of Object.entries(fieldConfigs.value)) {\n const result = validate(path, config);\n if (!result.valid) {\n allValid = false;\n }\n }\n return allValid;\n };\n provide3(VALIDATION_KEY, {\n get customFunctions() {\n return props.customFunctions;\n },\n get fieldStates() {\n return fieldStates.value;\n },\n validate,\n touch,\n clear,\n validateAll,\n registerField\n });\n return () => slots.default?.();\n }\n});\nfunction useOptionalValidation() {\n return inject3(\n VALIDATION_KEY,\n null\n ) ?? null;\n}\nfunction useValidation() {\n const ctx = inject3(VALIDATION_KEY);\n if (!ctx) {\n throw new Error(\"useValidation must be used within a ValidationProvider\");\n }\n return ctx;\n}\nfunction useFieldValidation(path, config) {\n const ctx = useValidation();\n onMounted(() => {\n if (path && config) {\n ctx.registerField(path, config);\n }\n });\n onUnmounted2(() => {\n ctx.clear(path);\n });\n const defaultState = {\n touched: false,\n validated: false,\n result: null\n };\n return {\n state: computed3(() => ctx.fieldStates[path] ?? defaultState),\n validate: () => ctx.validate(path, config ?? { checks: [] }),\n touch: () => ctx.touch(path),\n clear: () => ctx.clear(path),\n errors: computed3(() => ctx.fieldStates[path]?.result?.errors ?? []),\n isValid: computed3(() => ctx.fieldStates[path]?.result?.valid ?? true)\n };\n}\n\n// src/composables/actions.ts\nvar idCounter = 0;\nfunction generateUniqueId() {\n idCounter += 1;\n return `${Date.now()}-${idCounter}`;\n}\nfunction deepResolveValue(value, get) {\n if (value === null || value === void 0) return value;\n if (value === \"$id\") {\n return generateUniqueId();\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n const obj = value;\n const keys = Object.keys(obj);\n if (keys.length === 1 && typeof obj.$state === \"string\") {\n return get(obj.$state);\n }\n if (keys.length === 1 && \"$id\" in obj) {\n return generateUniqueId();\n }\n }\n if (Array.isArray(value)) {\n return value.map((item) => deepResolveValue(item, get));\n }\n if (typeof value === \"object\") {\n const resolved = {};\n for (const [key, val] of Object.entries(value)) {\n resolved[key] = deepResolveValue(val, get);\n }\n return resolved;\n }\n return value;\n}\nvar ACTIONS_KEY = /* @__PURE__ */ Symbol(\"json-render:actions\");\nvar ActionProvider = defineComponent4({\n name: \"ActionProvider\",\n props: {\n handlers: {\n type: Object,\n default: () => ({})\n },\n navigate: {\n type: Function,\n default: void 0\n }\n },\n setup(props, { slots }) {\n const { get, set, getSnapshot } = useStateStore();\n const validation = useOptionalValidation();\n const handlers = ref3(props.handlers ?? {});\n const loadingActions = ref3(/* @__PURE__ */ new Set());\n const pendingConfirmation = ref3(null);\n watch2(\n () => props.handlers,\n (newHandlers) => {\n if (newHandlers) handlers.value = newHandlers;\n }\n );\n const registerHandler = (name, handler) => {\n handlers.value = { ...handlers.value, [name]: handler };\n };\n const execute = async (binding) => {\n const resolved = resolveAction(binding, getSnapshot());\n if (resolved.action === \"setState\" && resolved.params) {\n const statePath = resolved.params.statePath;\n const value = resolved.params.value;\n if (statePath) {\n set(statePath, value);\n }\n return;\n }\n if (resolved.action === \"pushState\" && resolved.params) {\n const statePath = resolved.params.statePath;\n const rawValue = resolved.params.value;\n if (statePath) {\n const resolvedValue = deepResolveValue(rawValue, get);\n const arr = get(statePath) ?? [];\n set(statePath, [...arr, resolvedValue]);\n const clearStatePath = resolved.params.clearStatePath;\n if (clearStatePath) {\n set(clearStatePath, \"\");\n }\n }\n return;\n }\n if (resolved.action === \"removeState\" && resolved.params) {\n const statePath = resolved.params.statePath;\n const index = resolved.params.index;\n if (statePath !== void 0 && index !== void 0) {\n const arr = get(statePath) ?? [];\n set(\n statePath,\n arr.filter((_, i) => i !== index)\n );\n }\n return;\n }\n if (resolved.action === \"validateForm\") {\n const validateAll = validation?.validateAll;\n if (!validateAll) {\n console.warn(\n \"validateForm action was dispatched but no ValidationProvider is connected. Ensure ValidationProvider is rendered inside the provider tree.\"\n );\n return;\n }\n const valid = validateAll();\n const errors = {};\n for (const [path, fs] of Object.entries(validation.fieldStates)) {\n if (fs.result && !fs.result.valid) {\n errors[path] = fs.result.errors;\n }\n }\n const statePath = resolved.params?.statePath || \"/formValidation\";\n set(statePath, { valid, errors });\n return;\n }\n if (resolved.action === \"push\" && resolved.params) {\n const screen = resolved.params.screen;\n if (screen) {\n const currentScreen = get(\"/currentScreen\");\n const navStack = get(\"/navStack\") ?? [];\n if (currentScreen) {\n set(\"/navStack\", [...navStack, currentScreen]);\n } else {\n set(\"/navStack\", [...navStack, \"\"]);\n }\n set(\"/currentScreen\", screen);\n }\n return;\n }\n if (resolved.action === \"pop\") {\n const navStack = get(\"/navStack\") ?? [];\n if (navStack.length > 0) {\n const previousScreen = navStack[navStack.length - 1];\n set(\"/navStack\", navStack.slice(0, -1));\n if (previousScreen) {\n set(\"/currentScreen\", previousScreen);\n } else {\n set(\"/currentScreen\", void 0);\n }\n }\n return;\n }\n const handler = handlers.value[resolved.action];\n if (!handler) {\n console.warn(`No handler registered for action: ${resolved.action}`);\n return;\n }\n if (resolved.confirm) {\n await new Promise((resolve, reject) => {\n pendingConfirmation.value = {\n action: resolved,\n handler,\n resolve: () => {\n pendingConfirmation.value = null;\n resolve();\n },\n reject: () => {\n pendingConfirmation.value = null;\n reject(new Error(\"Action cancelled\"));\n }\n };\n });\n const addLoading2 = new Set(loadingActions.value);\n addLoading2.add(resolved.action);\n loadingActions.value = addLoading2;\n try {\n await executeAction({\n action: resolved,\n handler,\n setState: set,\n navigate: props.navigate,\n executeAction: async (name) => {\n const subBinding = { action: name };\n await execute(subBinding);\n }\n });\n } finally {\n const removeLoading = new Set(loadingActions.value);\n removeLoading.delete(resolved.action);\n loadingActions.value = removeLoading;\n }\n return;\n }\n const addLoading = new Set(loadingActions.value);\n addLoading.add(resolved.action);\n loadingActions.value = addLoading;\n try {\n await executeAction({\n action: resolved,\n handler,\n setState: set,\n navigate: props.navigate,\n executeAction: async (name) => {\n const subBinding = { action: name };\n await execute(subBinding);\n }\n });\n } finally {\n const removeLoading = new Set(loadingActions.value);\n removeLoading.delete(resolved.action);\n loadingActions.value = removeLoading;\n }\n };\n const confirm = () => pendingConfirmation.value?.resolve();\n const cancel = () => pendingConfirmation.value?.reject();\n provide4(ACTIONS_KEY, {\n get handlers() {\n return handlers.value;\n },\n get loadingActions() {\n return loadingActions.value;\n },\n get pendingConfirmation() {\n return pendingConfirmation.value;\n },\n execute,\n confirm,\n cancel,\n registerHandler\n });\n return () => slots.default?.();\n }\n});\nfunction useActions() {\n const ctx = inject4(ACTIONS_KEY);\n if (!ctx) {\n throw new Error(\"useActions must be used within an ActionProvider\");\n }\n return ctx;\n}\nfunction useAction(binding) {\n const ctx = useActions();\n return {\n execute: () => ctx.execute(binding),\n isLoading: computed4(() => ctx.loadingActions.has(binding.action))\n };\n}\nvar ConfirmDialog = defineComponent4({\n name: \"ConfirmDialog\",\n props: {\n confirm: {\n type: Object,\n required: true\n },\n onConfirm: {\n type: Function,\n required: true\n },\n onCancel: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n return () => {\n const isDanger = props.confirm.variant === \"danger\";\n return h(\n \"div\",\n {\n style: {\n position: \"fixed\",\n inset: \"0\",\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: \"50\"\n },\n onClick: props.onCancel\n },\n [\n h(\n \"div\",\n {\n style: {\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"24px\",\n maxWidth: \"400px\",\n width: \"100%\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\"\n },\n onClick: (e) => e.stopPropagation()\n },\n [\n h(\n \"h3\",\n {\n style: {\n margin: \"0 0 8px 0\",\n fontSize: \"18px\",\n fontWeight: \"600\"\n }\n },\n props.confirm.title\n ),\n h(\n \"p\",\n {\n style: { margin: \"0 0 24px 0\", color: \"#6b7280\" }\n },\n props.confirm.message\n ),\n h(\n \"div\",\n {\n style: {\n display: \"flex\",\n gap: \"12px\",\n justifyContent: \"flex-end\"\n }\n },\n [\n h(\n \"button\",\n {\n style: {\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"1px solid #d1d5db\",\n backgroundColor: \"white\",\n cursor: \"pointer\"\n },\n onClick: props.onCancel\n },\n props.confirm.cancelLabel ?? \"Cancel\"\n ),\n h(\n \"button\",\n {\n style: {\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"none\",\n backgroundColor: isDanger ? \"#dc2626\" : \"#3b82f6\",\n color: \"white\",\n cursor: \"pointer\"\n },\n onClick: props.onConfirm\n },\n props.confirm.confirmLabel ?? \"Confirm\"\n )\n ]\n )\n ]\n )\n ]\n );\n };\n }\n});\n\n// src/composables/repeat-scope.ts\nimport { defineComponent as defineComponent5, inject as inject5, provide as provide5 } from \"vue\";\nvar REPEAT_SCOPE_KEY = /* @__PURE__ */ Symbol(\"json-render:repeat-scope\");\nvar RepeatScopeProvider = defineComponent5({\n name: \"RepeatScopeProvider\",\n props: {\n item: {\n required: true\n },\n index: {\n type: Number,\n required: true\n },\n basePath: {\n type: String,\n required: true\n }\n },\n setup(props, { slots }) {\n provide5(REPEAT_SCOPE_KEY, props);\n return () => slots.default?.();\n }\n});\nfunction useRepeatScope() {\n return inject5(\n REPEAT_SCOPE_KEY,\n null\n ) ?? null;\n}\n\n// src/index.ts\nimport { createStateStore as createStateStore2 } from \"@json-render/core\";\n\n// src/hooks.ts\nimport {\n ref as ref4,\n shallowRef as shallowRef2,\n computed as computed5,\n onUnmounted as onUnmounted3,\n isRef\n} from \"vue\";\nimport {\n setByPath,\n getByPath as getByPath2,\n removeByPath,\n createMixedStreamParser,\n applySpecPatch,\n nestedToFlat,\n SPEC_DATA_PART_TYPE\n} from \"@json-render/core\";\nfunction parseLine(line) {\n try {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith(\"//\")) {\n return null;\n }\n const parsed = JSON.parse(trimmed);\n if (parsed.__meta === \"usage\") {\n return {\n type: \"usage\",\n usage: {\n promptTokens: parsed.promptTokens ?? 0,\n completionTokens: parsed.completionTokens ?? 0,\n totalTokens: parsed.totalTokens ?? 0\n }\n };\n }\n return { type: \"patch\", patch: parsed };\n } catch {\n return null;\n }\n}\nfunction setSpecValue(newSpec, path, value) {\n if (path === \"/root\") {\n newSpec.root = value;\n return;\n }\n if (path === \"/state\") {\n newSpec.state = value;\n return;\n }\n if (path.startsWith(\"/state/\")) {\n if (!newSpec.state) newSpec.state = {};\n const statePath = path.slice(\"/state\".length);\n setByPath(newSpec.state, statePath, value);\n return;\n }\n if (path.startsWith(\"/elements/\")) {\n const pathParts = path.slice(\"/elements/\".length).split(\"/\");\n const elementKey = pathParts[0];\n if (!elementKey) return;\n if (pathParts.length === 1) {\n newSpec.elements[elementKey] = value;\n } else {\n const element = newSpec.elements[elementKey];\n if (element) {\n const propPath = \"/\" + pathParts.slice(1).join(\"/\");\n const newElement = { ...element };\n setByPath(\n newElement,\n propPath,\n value\n );\n newSpec.elements[elementKey] = newElement;\n }\n }\n }\n}\nfunction removeSpecValue(newSpec, path) {\n if (path === \"/state\") {\n delete newSpec.state;\n return;\n }\n if (path.startsWith(\"/state/\") && newSpec.state) {\n const statePath = path.slice(\"/state\".length);\n removeByPath(newSpec.state, statePath);\n return;\n }\n if (path.startsWith(\"/elements/\")) {\n const pathParts = path.slice(\"/elements/\".length).split(\"/\");\n const elementKey = pathParts[0];\n if (!elementKey) return;\n if (pathParts.length === 1) {\n const { [elementKey]: _, ...rest } = newSpec.elements;\n newSpec.elements = rest;\n } else {\n const element = newSpec.elements[elementKey];\n if (element) {\n const propPath = \"/\" + pathParts.slice(1).join(\"/\");\n const newElement = { ...element };\n removeByPath(\n newElement,\n propPath\n );\n newSpec.elements[elementKey] = newElement;\n }\n }\n }\n}\nfunction getSpecValue(spec, path) {\n if (path === \"/root\") return spec.root;\n if (path === \"/state\") return spec.state;\n if (path.startsWith(\"/state/\") && spec.state) {\n const statePath = path.slice(\"/state\".length);\n return getByPath2(spec.state, statePath);\n }\n return getByPath2(spec, path);\n}\nfunction applyPatch(spec, patch) {\n const newSpec = {\n ...spec,\n elements: { ...spec.elements },\n ...spec.state ? { state: { ...spec.state } } : {}\n };\n switch (patch.op) {\n case \"add\":\n case \"replace\": {\n setSpecValue(newSpec, patch.path, patch.value);\n break;\n }\n case \"remove\": {\n removeSpecValue(newSpec, patch.path);\n break;\n }\n case \"move\": {\n if (!patch.from) break;\n const moveValue = getSpecValue(newSpec, patch.from);\n removeSpecValue(newSpec, patch.from);\n setSpecValue(newSpec, patch.path, moveValue);\n break;\n }\n case \"copy\": {\n if (!patch.from) break;\n const copyValue = getSpecValue(newSpec, patch.from);\n setSpecValue(newSpec, patch.path, copyValue);\n break;\n }\n case \"test\": {\n break;\n }\n }\n return newSpec;\n}\nfunction useUIStream({\n api,\n onComplete,\n onError\n}) {\n const spec = shallowRef2(null);\n const isStreaming = ref4(false);\n const error = ref4(null);\n const usage = ref4(null);\n const rawLines = ref4([]);\n const onCompleteRef = ref4(onComplete);\n const onErrorRef = ref4(onError);\n let abortController = null;\n const clear = () => {\n spec.value = null;\n error.value = null;\n usage.value = null;\n rawLines.value = [];\n };\n const send = async (prompt, context) => {\n abortController?.abort();\n abortController = new AbortController();\n isStreaming.value = true;\n error.value = null;\n usage.value = null;\n rawLines.value = [];\n const previousSpec = context?.previousSpec;\n let currentSpec = previousSpec && previousSpec.root ? { ...previousSpec, elements: { ...previousSpec.elements } } : { root: \"\", elements: {} };\n spec.value = currentSpec;\n try {\n const response = await fetch(api, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n prompt,\n context,\n currentSpec\n }),\n signal: abortController.signal\n });\n if (!response.ok) {\n let errorMessage = `HTTP error: ${response.status}`;\n try {\n const errorData = await response.json();\n if (errorData.message) {\n errorMessage = errorData.message;\n } else if (errorData.error) {\n errorMessage = errorData.error;\n }\n } catch {\n }\n throw new Error(errorMessage);\n }\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error(\"No response body\");\n }\n const decoder = new TextDecoder();\n let buffer = \"\";\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n for (const line of lines) {\n const trimmed = line.trim();\n if (!trimmed) continue;\n const result = parseLine(trimmed);\n if (!result) continue;\n if (result.type === \"usage\") {\n usage.value = result.usage;\n } else {\n rawLines.value = [...rawLines.value, trimmed];\n currentSpec = applyPatch(currentSpec, result.patch);\n spec.value = { ...currentSpec };\n }\n }\n }\n if (buffer.trim()) {\n const trimmed = buffer.trim();\n const result = parseLine(trimmed);\n if (result) {\n if (result.type === \"usage\") {\n usage.value = result.usage;\n } else {\n rawLines.value = [...rawLines.value, trimmed];\n currentSpec = applyPatch(currentSpec, result.patch);\n spec.value = { ...currentSpec };\n }\n }\n }\n onCompleteRef.value?.(currentSpec);\n } catch (err) {\n if (err.name === \"AbortError\") {\n return;\n }\n const resolvedError = err instanceof Error ? err : new Error(String(err));\n error.value = resolvedError;\n onErrorRef.value?.(resolvedError);\n } finally {\n isStreaming.value = false;\n }\n };\n onUnmounted3(() => {\n abortController?.abort();\n });\n return {\n spec,\n isStreaming,\n error,\n usage,\n rawLines,\n send,\n clear\n };\n}\nfunction flatToTree(elements) {\n const elementMap = {};\n let root = \"\";\n for (const element of elements) {\n elementMap[element.key] = {\n type: element.type,\n props: element.props,\n children: [],\n visible: element.visible\n };\n }\n for (const element of elements) {\n if (element.parentKey) {\n const parent = elementMap[element.parentKey];\n if (parent) {\n if (!parent.children) {\n parent.children = [];\n }\n parent.children.push(element.key);\n }\n } else {\n root = element.key;\n }\n }\n return { root, elements: elementMap };\n}\nfunction useBoundProp(propValue, bindingPath) {\n const { set } = useStateStore();\n return [\n propValue,\n (value) => {\n if (bindingPath) set(bindingPath, value);\n }\n ];\n}\nfunction isSpecDataPart(data) {\n if (typeof data !== \"object\" || data === null) return false;\n const obj = data;\n switch (obj.type) {\n case \"patch\":\n return typeof obj.patch === \"object\" && obj.patch !== null;\n case \"flat\":\n case \"nested\":\n return typeof obj.spec === \"object\" && obj.spec !== null;\n default:\n return false;\n }\n}\nfunction buildSpecFromParts(parts) {\n const spec = { root: \"\", elements: {} };\n let hasSpec = false;\n for (const part of parts) {\n if (part.type === SPEC_DATA_PART_TYPE) {\n if (!isSpecDataPart(part.data)) continue;\n const payload = part.data;\n if (payload.type === \"patch\") {\n hasSpec = true;\n applySpecPatch(spec, payload.patch);\n } else if (payload.type === \"flat\") {\n hasSpec = true;\n Object.assign(spec, payload.spec);\n } else if (payload.type === \"nested\") {\n hasSpec = true;\n const flat = nestedToFlat(payload.spec);\n Object.assign(spec, flat);\n }\n }\n }\n return hasSpec ? spec : null;\n}\nfunction getTextFromParts(parts) {\n return parts.filter(\n (p) => p.type === \"text\" && typeof p.text === \"string\"\n ).map((p) => p.text.trim()).filter(Boolean).join(\"\\n\\n\");\n}\nfunction useJsonRenderMessage(parts) {\n const partsRef = isRef(parts) ? parts : ref4(parts);\n const spec = computed5(() => buildSpecFromParts(partsRef.value));\n const text = computed5(() => getTextFromParts(partsRef.value));\n const hasSpec = computed5(\n () => spec.value !== null && Object.keys(spec.value.elements || {}).length > 0\n );\n return { spec, text, hasSpec };\n}\nvar chatMessageIdCounter = 0;\nfunction generateChatId() {\n if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n chatMessageIdCounter += 1;\n return `msg-${Date.now()}-${chatMessageIdCounter}`;\n}\nfunction useChatUI({\n api,\n onComplete,\n onError\n}) {\n const messages = ref4([]);\n const isStreaming = ref4(false);\n const error = ref4(null);\n const onCompleteRef = ref4(onComplete);\n const onErrorRef = ref4(onError);\n let abortController = null;\n const clear = () => {\n messages.value = [];\n error.value = null;\n };\n const send = async (text) => {\n if (!text.trim()) return;\n abortController?.abort();\n abortController = new AbortController();\n const userMessage = {\n id: generateChatId(),\n role: \"user\",\n text: text.trim(),\n spec: null\n };\n const assistantId = generateChatId();\n const assistantMessage = {\n id: assistantId,\n role: \"assistant\",\n text: \"\",\n spec: null\n };\n messages.value = [...messages.value, userMessage, assistantMessage];\n isStreaming.value = true;\n error.value = null;\n const historyForApi = [\n ...messages.value.filter((m) => m.id !== assistantId).map((m) => ({ role: m.role, content: m.text })),\n { role: \"user\", content: text.trim() }\n ];\n let accumulatedText = \"\";\n let currentSpec = { root: \"\", elements: {} };\n let hasSpec = false;\n try {\n const response = await fetch(api, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ messages: historyForApi }),\n signal: abortController.signal\n });\n if (!response.ok) {\n let errorMessage = `HTTP error: ${response.status}`;\n try {\n const errorData = await response.json();\n if (errorData.message) {\n errorMessage = errorData.message;\n } else if (errorData.error) {\n errorMessage = errorData.error;\n }\n } catch {\n }\n throw new Error(errorMessage);\n }\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error(\"No response body\");\n }\n const decoder = new TextDecoder();\n const parser = createMixedStreamParser({\n onPatch(patch) {\n hasSpec = true;\n applySpecPatch(currentSpec, patch);\n messages.value = messages.value.map(\n (m) => m.id === assistantId ? {\n ...m,\n spec: {\n root: currentSpec.root,\n elements: { ...currentSpec.elements },\n ...currentSpec.state ? { state: { ...currentSpec.state } } : {}\n }\n } : m\n );\n },\n onText(line) {\n accumulatedText += (accumulatedText ? \"\\n\" : \"\") + line;\n messages.value = messages.value.map(\n (m) => m.id === assistantId ? { ...m, text: accumulatedText } : m\n );\n }\n });\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n parser.push(decoder.decode(value, { stream: true }));\n }\n parser.flush();\n const finalMessage = {\n id: assistantId,\n role: \"assistant\",\n text: accumulatedText,\n spec: hasSpec ? {\n root: currentSpec.root,\n elements: { ...currentSpec.elements },\n ...currentSpec.state ? { state: { ...currentSpec.state } } : {}\n } : null\n };\n onCompleteRef.value?.(finalMessage);\n } catch (err) {\n if (err.name === \"AbortError\") {\n return;\n }\n const resolvedError = err instanceof Error ? err : new Error(String(err));\n error.value = resolvedError;\n messages.value = messages.value.filter(\n (m) => m.id !== assistantId || m.text.length > 0\n );\n onErrorRef.value?.(resolvedError);\n } finally {\n isStreaming.value = false;\n }\n };\n onUnmounted3(() => {\n abortController?.abort();\n });\n return {\n messages,\n isStreaming,\n error,\n send,\n clear\n };\n}\n\n// src/renderer.ts\nimport {\n computed as computed6,\n defineComponent as defineComponent6,\n h as h2,\n inject as inject6,\n onErrorCaptured,\n provide as provide6,\n ref as ref5,\n watch as watch3\n} from \"vue\";\nimport {\n resolveElementProps,\n resolveBindings,\n resolveActionParam,\n evaluateVisibility as evaluateVisibility2,\n getByPath as getByPath3\n} from \"@json-render/core\";\nvar EMPTY_FUNCTIONS = {};\nvar FUNCTIONS_KEY = /* @__PURE__ */ Symbol(\"json-render:functions\");\nvar FunctionsProvider = defineComponent6({\n name: \"FunctionsProvider\",\n props: {\n functions: {\n type: Object,\n default: void 0\n }\n },\n setup(props, { slots }) {\n const fns = computed6(() => props.functions ?? EMPTY_FUNCTIONS);\n provide6(FUNCTIONS_KEY, fns);\n return () => slots.default?.();\n }\n});\nfunction useFunctions() {\n return inject6(\n FUNCTIONS_KEY,\n computed6(() => EMPTY_FUNCTIONS)\n );\n}\nvar ElementErrorBoundary = defineComponent6({\n name: \"ElementErrorBoundary\",\n props: {\n elementType: {\n type: String,\n required: true\n }\n },\n setup(props, { slots }) {\n const hasError = ref5(false);\n onErrorCaptured((error) => {\n console.error(\n `[json-render] Rendering error in <${props.elementType}>:`,\n error\n );\n hasError.value = true;\n return false;\n });\n return () => {\n if (hasError.value) return null;\n return slots.default?.();\n };\n }\n});\nasync function resolveAndExecuteBindings(actionBindings, ctx, getSnapshot, execute, cancelled) {\n for (const b of actionBindings) {\n if (cancelled?.()) break;\n if (!b.params) {\n await execute(b);\n if (cancelled?.()) break;\n continue;\n }\n const liveCtx = {\n ...ctx,\n stateModel: getSnapshot()\n };\n const resolved = {};\n for (const [key, val] of Object.entries(b.params)) {\n resolved[key] = resolveActionParam(val, liveCtx);\n }\n await execute({ ...b, params: resolved });\n if (cancelled?.()) break;\n }\n}\nvar ElementRenderer = defineComponent6({\n name: \"JsonRenderElement\",\n props: {\n element: {\n type: Object,\n required: true\n },\n spec: {\n type: Object,\n required: true\n },\n registry: {\n type: Object,\n required: true\n },\n loading: {\n type: Boolean,\n default: void 0\n },\n fallback: {\n type: Object,\n default: void 0\n }\n },\n setup(props) {\n const repeatScope = useRepeatScope();\n const { ctx: visibilityCtx } = useVisibility();\n const { execute } = useActions();\n const { getSnapshot, state: watchState } = useStateStore();\n const functions = useFunctions();\n const fullCtx = computed6(() => {\n const base = repeatScope ? {\n ...visibilityCtx.value,\n repeatItem: repeatScope.item,\n repeatIndex: repeatScope.index,\n repeatBasePath: repeatScope.basePath\n } : { ...visibilityCtx.value };\n base.functions = functions.value;\n return base;\n });\n const emitEvent = async (eventName) => {\n const binding = props.element.on?.[eventName];\n if (!binding) return;\n const actionBindings = Array.isArray(binding) ? binding : [binding];\n await resolveAndExecuteBindings(\n actionBindings,\n fullCtx.value,\n getSnapshot,\n execute\n );\n };\n const onEvent = (eventName) => {\n const binding = props.element.on?.[eventName];\n if (!binding) {\n return { emit: () => {\n }, shouldPreventDefault: false, bound: false };\n }\n const actionBindings = Array.isArray(binding) ? binding : [binding];\n const shouldPreventDefault = actionBindings.some((b) => b.preventDefault);\n return {\n emit: () => {\n void emitEvent(eventName);\n },\n shouldPreventDefault,\n bound: true\n };\n };\n const watchedValues = computed6(() => {\n const cfg = props.element.watch;\n if (!cfg) return void 0;\n const values = {};\n for (const path of Object.keys(cfg)) {\n values[path] = getByPath3(watchState.value, path);\n }\n return values;\n });\n watch3(\n watchedValues,\n (current, prev, onCleanup) => {\n const cfg = props.element.watch;\n if (!cfg || !current) return;\n let cancelled = false;\n onCleanup(() => {\n cancelled = true;\n });\n const paths = Object.keys(cfg);\n void (async () => {\n for (const path of paths) {\n if (cancelled) break;\n if (prev && current[path] === prev[path]) continue;\n const binding = cfg[path];\n if (!binding) continue;\n const bindings = Array.isArray(binding) ? binding : [binding];\n await resolveAndExecuteBindings(\n bindings,\n fullCtx.value,\n getSnapshot,\n execute,\n () => cancelled\n );\n }\n })().catch(console.error);\n },\n { deep: true }\n );\n return () => {\n const ctx = fullCtx.value;\n const isVisible = props.element.visible === void 0 ? true : evaluateVisibility2(props.element.visible, ctx);\n if (!isVisible) return null;\n const rawProps = props.element.props;\n const elementBindings = resolveBindings(rawProps, ctx);\n const resolvedProps = resolveElementProps(rawProps, ctx);\n const resolvedElement = resolvedProps !== props.element.props ? { ...props.element, props: resolvedProps } : props.element;\n const Component = props.registry[resolvedElement.type] ?? props.fallback;\n if (!Component) {\n console.warn(\n `[json-render] No renderer for component type: ${resolvedElement.type}`\n );\n return null;\n }\n const childrenVNodes = resolvedElement.repeat ? h2(RepeatChildren, {\n element: resolvedElement,\n spec: props.spec,\n registry: props.registry,\n loading: props.loading,\n fallback: props.fallback\n }) : resolvedElement.children?.map((childKey) => {\n const childElement = props.spec.elements[childKey];\n if (!childElement) {\n if (!props.loading) {\n console.warn(\n `[json-render] Missing element \"${childKey}\" referenced as child of \"${resolvedElement.type}\". This element will not render.`\n );\n }\n return null;\n }\n return h2(ElementRenderer, {\n key: childKey,\n element: childElement,\n spec: props.spec,\n registry: props.registry,\n loading: props.loading,\n fallback: props.fallback\n });\n }).filter((n) => n !== null) ?? void 0;\n return h2(\n ElementErrorBoundary,\n { elementType: resolvedElement.type },\n {\n default: () => h2(\n Component,\n {\n element: resolvedElement,\n emit: emitEvent,\n on: onEvent,\n bindings: elementBindings,\n loading: props.loading\n },\n { default: () => childrenVNodes }\n )\n }\n );\n };\n }\n});\nvar RepeatChildren = defineComponent6({\n name: \"JsonRenderRepeatChildren\",\n props: {\n element: {\n type: Object,\n required: true\n },\n spec: {\n type: Object,\n required: true\n },\n registry: {\n type: Object,\n required: true\n },\n loading: {\n type: Boolean,\n default: void 0\n },\n fallback: {\n type: Object,\n default: void 0\n }\n },\n setup(props) {\n const { state } = useStateStore();\n return () => {\n const repeat = props.element.repeat;\n if (!repeat?.statePath) return null;\n const statePath = repeat.statePath;\n const raw = getByPath3(state.value, statePath);\n const items = Array.isArray(raw) ? raw : [];\n return items.map((itemValue, index) => {\n const key = repeat.key && typeof itemValue === \"object\" && itemValue !== null ? String(\n itemValue[repeat.key] ?? index\n ) : String(index);\n return h2(\n RepeatScopeProvider,\n { key, item: itemValue, index, basePath: `${statePath}/${index}` },\n {\n default: () => props.element.children?.map((childKey) => {\n const childElement = props.spec.elements[childKey];\n if (!childElement) {\n if (!props.loading) {\n console.warn(\n `[json-render] Missing element \"${childKey}\" referenced as child of \"${props.element.type}\" (repeat). This element will not render.`\n );\n }\n return null;\n }\n return h2(ElementRenderer, {\n key: childKey,\n element: childElement,\n spec: props.spec,\n registry: props.registry,\n loading: props.loading,\n fallback: props.fallback\n });\n }).filter((n) => n !== null) ?? null\n }\n );\n });\n };\n }\n});\nvar Renderer = defineComponent6({\n name: \"JsonRenderer\",\n props: {\n spec: {\n type: Object,\n default: null\n },\n registry: {\n type: Object,\n required: true\n },\n loading: {\n type: Boolean,\n default: void 0\n },\n fallback: {\n type: Object,\n default: void 0\n }\n },\n setup(props) {\n return () => {\n if (!props.spec?.root) return null;\n const rootElement = props.spec.elements[props.spec.root];\n if (!rootElement) return null;\n return h2(ElementRenderer, {\n element: rootElement,\n spec: props.spec,\n registry: props.registry,\n loading: props.loading,\n fallback: props.fallback\n });\n };\n }\n});\nvar ConfirmationDialogManager = defineComponent6({\n name: \"ConfirmationDialogManager\",\n setup() {\n const { pendingConfirmation, confirm, cancel } = useActions();\n return () => {\n if (!pendingConfirmation?.action.confirm) return null;\n return h2(ConfirmDialog, {\n confirm: pendingConfirmation.action.confirm,\n onConfirm: confirm,\n onCancel: cancel\n });\n };\n }\n});\nvar JSONUIProvider = defineComponent6({\n name: \"JSONUIProvider\",\n props: {\n registry: {\n type: Object,\n required: true\n },\n store: {\n type: Object,\n default: void 0\n },\n initialState: {\n type: Object,\n default: void 0\n },\n handlers: {\n type: Object,\n default: void 0\n },\n navigate: {\n type: Function,\n default: void 0\n },\n validationFunctions: {\n type: Object,\n default: void 0\n },\n functions: {\n type: Object,\n default: void 0\n },\n onStateChange: {\n type: Function,\n default: void 0\n }\n },\n setup(props, { slots }) {\n return () => h2(\n StateProvider,\n {\n store: props.store,\n initialState: props.initialState,\n onStateChange: props.onStateChange\n },\n {\n default: () => h2(VisibilityProvider, null, {\n default: () => h2(\n ValidationProvider,\n { customFunctions: props.validationFunctions },\n {\n default: () => h2(\n ActionProvider,\n { handlers: props.handlers, navigate: props.navigate },\n {\n default: () => h2(\n FunctionsProvider,\n { functions: props.functions },\n {\n default: () => [\n slots.default?.(),\n h2(ConfirmationDialogManager)\n ]\n }\n )\n }\n )\n }\n )\n })\n }\n );\n }\n});\nfunction defineRegistry(_catalog, options) {\n const registry = {};\n if (options.components) {\n for (const [name, componentFn] of Object.entries(options.components)) {\n registry[name] = defineComponent6({\n name: `JsonRenderRegistry_${name}`,\n props: {\n element: {\n type: Object,\n required: true\n },\n emit: {\n type: Function,\n required: true\n },\n on: {\n type: Function,\n required: true\n },\n bindings: {\n type: Object,\n default: void 0\n },\n loading: {\n type: Boolean,\n default: void 0\n }\n },\n setup(registryProps, { slots }) {\n return () => componentFn({\n props: registryProps.element.props,\n children: slots.default?.(),\n emit: registryProps.emit,\n on: registryProps.on,\n bindings: registryProps.bindings,\n loading: registryProps.loading\n });\n }\n });\n }\n }\n const actionMap = options.actions ? Object.entries(options.actions) : [];\n const handlers = (getSetState, getState) => {\n const result = {};\n for (const [name, actionFn] of actionMap) {\n result[name] = async (params) => {\n const setState = getSetState();\n const state = getState();\n if (setState) {\n await actionFn(params, setState, state);\n }\n };\n }\n return result;\n };\n const executeAction2 = async (actionName, params, setState, state = {}) => {\n const entry = actionMap.find(([name]) => name === actionName);\n if (entry) {\n await entry[1](params, setState, state);\n } else {\n console.warn(`Unknown action: ${actionName}`);\n }\n };\n return { registry, handlers, executeAction: executeAction2 };\n}\nfunction createRenderer(catalog, components) {\n const registry = components;\n return defineComponent6({\n name: \"CatalogRenderer\",\n props: {\n spec: {\n type: Object,\n default: null\n },\n store: {\n type: Object,\n default: void 0\n },\n state: {\n type: Object,\n default: void 0\n },\n onAction: {\n type: Function,\n default: void 0\n },\n onStateChange: {\n type: Function,\n default: void 0\n },\n functions: {\n type: Object,\n default: void 0\n },\n loading: {\n type: Boolean,\n default: void 0\n },\n fallback: {\n type: Object,\n default: void 0\n }\n },\n setup(rendererProps) {\n return () => {\n const actionHandlers = rendererProps.onAction ? new Proxy(\n {},\n {\n get: (_target, prop) => {\n return (params) => rendererProps.onAction(prop, params);\n },\n has: () => true\n }\n ) : void 0;\n return h2(\n StateProvider,\n {\n store: rendererProps.store,\n initialState: rendererProps.state,\n onStateChange: rendererProps.onStateChange\n },\n {\n default: () => h2(VisibilityProvider, null, {\n default: () => h2(ValidationProvider, null, {\n default: () => h2(\n ActionProvider,\n { handlers: actionHandlers },\n {\n default: () => h2(\n FunctionsProvider,\n { functions: rendererProps.functions },\n {\n default: () => [\n h2(Renderer, {\n spec: rendererProps.spec,\n registry,\n loading: rendererProps.loading,\n fallback: rendererProps.fallback\n }),\n h2(ConfirmationDialogManager)\n ]\n }\n )\n }\n )\n })\n })\n }\n );\n };\n }\n });\n}\nexport {\n ActionProvider,\n ConfirmDialog,\n JSONUIProvider,\n Renderer,\n RepeatScopeProvider,\n StateProvider,\n ValidationProvider,\n VisibilityProvider,\n buildSpecFromParts,\n createRenderer,\n createStateStore2 as createStateStore,\n defineRegistry,\n flatToTree,\n getTextFromParts,\n schema,\n useAction,\n useActions,\n useBoundProp,\n useChatUI,\n useFieldValidation,\n useIsVisible,\n useJsonRenderMessage,\n useOptionalValidation,\n useRepeatScope,\n useStateBinding,\n useStateStore,\n useStateValue,\n useUIStream,\n useValidation,\n useVisibility\n};\n//# sourceMappingURL=index.mjs.map"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createStoreAdapter as e } from "../../core/dist/chunk-AFLK3Q4T.js";
|
|
2
|
+
import "../../core/dist/store-utils.js";
|
|
3
|
+
//#region ../../node_modules/@json-render/xstate/dist/index.mjs
|
|
4
|
+
function t(t) {
|
|
5
|
+
let { atom: n } = t;
|
|
6
|
+
return e({
|
|
7
|
+
getSnapshot: () => n.get(),
|
|
8
|
+
setSnapshot: (e) => n.set(e),
|
|
9
|
+
subscribe(e) {
|
|
10
|
+
let t = n.subscribe(() => {
|
|
11
|
+
e();
|
|
12
|
+
});
|
|
13
|
+
return () => t.unsubscribe();
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as xstateStoreStateStore };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../node_modules/@json-render/xstate/dist/index.mjs"],"sourcesContent":["// src/index.ts\nimport { createStoreAdapter } from \"@json-render/core/store-utils\";\nfunction xstateStoreStateStore(options) {\n const { atom } = options;\n return createStoreAdapter({\n getSnapshot: () => atom.get(),\n setSnapshot: (next) => atom.set(next),\n subscribe(listener) {\n const sub = atom.subscribe(() => {\n listener();\n });\n return () => sub.unsubscribe();\n }\n });\n}\nexport {\n xstateStoreStateStore\n};\n//# sourceMappingURL=index.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;AAEA,SAAS,EAAsB,GAAS;CACtC,IAAM,EAAE,YAAS;AACjB,QAAO,EAAmB;EACxB,mBAAmB,EAAK,KAAK;EAC7B,cAAc,MAAS,EAAK,IAAI,EAAK;EACrC,UAAU,GAAU;GAClB,IAAM,IAAM,EAAK,gBAAgB;AAC/B,OAAU;KACV;AACF,gBAAa,EAAI,aAAa;;EAEjC,CAAC"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
//#region ../../node_modules/@xstate/store/dist/store-69e7e2d5.esm.js
|
|
2
|
+
var e = /* @__PURE__ */ function(e) {
|
|
3
|
+
return e[e.None = 0] = "None", e[e.Mutable = 1] = "Mutable", e[e.Watching = 2] = "Watching", e[e.RecursedCheck = 4] = "RecursedCheck", e[e.Recursed = 8] = "Recursed", e[e.Dirty = 16] = "Dirty", e[e.Pending = 32] = "Pending", e;
|
|
4
|
+
}({});
|
|
5
|
+
function t({ update: t, notify: n, unwatched: r }) {
|
|
6
|
+
return {
|
|
7
|
+
link: i,
|
|
8
|
+
unlink: a,
|
|
9
|
+
propagate: o,
|
|
10
|
+
checkDirty: s,
|
|
11
|
+
shallowPropagate: c
|
|
12
|
+
};
|
|
13
|
+
function i(e, t, n) {
|
|
14
|
+
let r = t.depsTail;
|
|
15
|
+
if (r !== void 0 && r.dep === e) return;
|
|
16
|
+
let i = r === void 0 ? t.deps : r.nextDep;
|
|
17
|
+
if (i !== void 0 && i.dep === e) {
|
|
18
|
+
i.version = n, t.depsTail = i;
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let a = e.subsTail;
|
|
22
|
+
if (a !== void 0 && a.version === n && a.sub === t) return;
|
|
23
|
+
let o = t.depsTail = e.subsTail = {
|
|
24
|
+
version: n,
|
|
25
|
+
dep: e,
|
|
26
|
+
sub: t,
|
|
27
|
+
prevDep: r,
|
|
28
|
+
nextDep: i,
|
|
29
|
+
prevSub: a,
|
|
30
|
+
nextSub: void 0
|
|
31
|
+
};
|
|
32
|
+
i !== void 0 && (i.prevDep = o), r === void 0 ? t.deps = o : r.nextDep = o, a === void 0 ? e.subs = o : a.nextSub = o;
|
|
33
|
+
}
|
|
34
|
+
function a(e, t = e.sub) {
|
|
35
|
+
let n = e.dep, i = e.prevDep, a = e.nextDep, o = e.nextSub, s = e.prevSub;
|
|
36
|
+
return a === void 0 ? t.depsTail = i : a.prevDep = i, i === void 0 ? t.deps = a : i.nextDep = a, o === void 0 ? n.subsTail = s : o.prevSub = s, s === void 0 ? (n.subs = o) === void 0 && r(n) : s.nextSub = o, a;
|
|
37
|
+
}
|
|
38
|
+
function o(t) {
|
|
39
|
+
let r = t.nextSub, i;
|
|
40
|
+
top: do {
|
|
41
|
+
let a = t.sub, o = a.flags;
|
|
42
|
+
if (o & (e.RecursedCheck | e.Recursed | e.Dirty | e.Pending) ? o & (e.RecursedCheck | e.Recursed) ? o & e.RecursedCheck ? !(o & (e.Dirty | e.Pending)) && l(t, a) ? (a.flags = o | (e.Recursed | e.Pending), o &= e.Mutable) : o = e.None : a.flags = o & ~e.Recursed | e.Pending : o = e.None : a.flags = o | e.Pending, o & e.Watching && n(a), o & e.Mutable) {
|
|
43
|
+
let e = a.subs;
|
|
44
|
+
if (e !== void 0) {
|
|
45
|
+
let n = (t = e).nextSub;
|
|
46
|
+
n !== void 0 && (i = {
|
|
47
|
+
value: r,
|
|
48
|
+
prev: i
|
|
49
|
+
}, r = n);
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if ((t = r) !== void 0) {
|
|
54
|
+
r = t.nextSub;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
for (; i !== void 0;) if (t = i.value, i = i.prev, t !== void 0) {
|
|
58
|
+
r = t.nextSub;
|
|
59
|
+
continue top;
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
} while (!0);
|
|
63
|
+
}
|
|
64
|
+
function s(n, r) {
|
|
65
|
+
let i, a = 0, o = !1;
|
|
66
|
+
top: do {
|
|
67
|
+
let s = n.dep, l = s.flags;
|
|
68
|
+
if (r.flags & e.Dirty) o = !0;
|
|
69
|
+
else if ((l & (e.Mutable | e.Dirty)) === (e.Mutable | e.Dirty)) {
|
|
70
|
+
if (t(s)) {
|
|
71
|
+
let e = s.subs;
|
|
72
|
+
e.nextSub !== void 0 && c(e), o = !0;
|
|
73
|
+
}
|
|
74
|
+
} else if ((l & (e.Mutable | e.Pending)) === (e.Mutable | e.Pending)) {
|
|
75
|
+
(n.nextSub !== void 0 || n.prevSub !== void 0) && (i = {
|
|
76
|
+
value: n,
|
|
77
|
+
prev: i
|
|
78
|
+
}), n = s.deps, r = s, ++a;
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (!o) {
|
|
82
|
+
let e = n.nextDep;
|
|
83
|
+
if (e !== void 0) {
|
|
84
|
+
n = e;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
for (; a--;) {
|
|
89
|
+
let a = r.subs, s = a.nextSub !== void 0;
|
|
90
|
+
if (s ? (n = i.value, i = i.prev) : n = a, o) {
|
|
91
|
+
if (t(r)) {
|
|
92
|
+
s && c(a), r = n.sub;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
o = !1;
|
|
96
|
+
} else r.flags &= ~e.Pending;
|
|
97
|
+
r = n.sub;
|
|
98
|
+
let l = n.nextDep;
|
|
99
|
+
if (l !== void 0) {
|
|
100
|
+
n = l;
|
|
101
|
+
continue top;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return o;
|
|
105
|
+
} while (!0);
|
|
106
|
+
}
|
|
107
|
+
function c(t) {
|
|
108
|
+
do {
|
|
109
|
+
let r = t.sub, i = r.flags;
|
|
110
|
+
(i & (e.Pending | e.Dirty)) === e.Pending && (r.flags = i | e.Dirty, (i & (e.Watching | e.RecursedCheck)) === e.Watching && n(r));
|
|
111
|
+
} while ((t = t.nextSub) !== void 0);
|
|
112
|
+
}
|
|
113
|
+
function l(e, t) {
|
|
114
|
+
let n = t.depsTail;
|
|
115
|
+
for (; n !== void 0;) {
|
|
116
|
+
if (n === e) return !0;
|
|
117
|
+
n = n.prevDep;
|
|
118
|
+
}
|
|
119
|
+
return !1;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function n(e, t, n) {
|
|
123
|
+
let r = typeof e == "object", i = r ? e : void 0;
|
|
124
|
+
return {
|
|
125
|
+
next: (r ? e.next : e)?.bind(i),
|
|
126
|
+
error: (r ? e.error : t)?.bind(i),
|
|
127
|
+
complete: (r ? e.complete : n)?.bind(i)
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
var r = [], i = 0, { link: a, unlink: o, propagate: s, checkDirty: c, shallowPropagate: l } = t({
|
|
131
|
+
update(e) {
|
|
132
|
+
return e._update();
|
|
133
|
+
},
|
|
134
|
+
notify(t) {
|
|
135
|
+
r[d++] = t, t.flags &= ~e.Watching;
|
|
136
|
+
},
|
|
137
|
+
unwatched(t) {
|
|
138
|
+
t.depsTail !== void 0 && (t.depsTail = void 0, t.flags = e.Mutable | e.Dirty, p(t));
|
|
139
|
+
}
|
|
140
|
+
}), u = 0, d = 0, f;
|
|
141
|
+
function p(e) {
|
|
142
|
+
let t = e.depsTail, n = t === void 0 ? e.deps : t.nextDep;
|
|
143
|
+
for (; n !== void 0;) n = o(n, e);
|
|
144
|
+
}
|
|
145
|
+
function m() {
|
|
146
|
+
for (; u < d;) {
|
|
147
|
+
let e = r[u];
|
|
148
|
+
r[u++] = void 0, e.notify();
|
|
149
|
+
}
|
|
150
|
+
u = 0, d = 0;
|
|
151
|
+
}
|
|
152
|
+
function h(t, r) {
|
|
153
|
+
let o = typeof t == "function", u = t, d = {
|
|
154
|
+
_snapshot: o ? void 0 : t,
|
|
155
|
+
subs: void 0,
|
|
156
|
+
subsTail: void 0,
|
|
157
|
+
deps: void 0,
|
|
158
|
+
depsTail: void 0,
|
|
159
|
+
flags: o ? e.None : e.Mutable,
|
|
160
|
+
get() {
|
|
161
|
+
return f !== void 0 && a(d, f, i), d._snapshot;
|
|
162
|
+
},
|
|
163
|
+
subscribe(e) {
|
|
164
|
+
let t = n(e), r = { current: !1 }, i = g(() => {
|
|
165
|
+
d.get(), r.current ? t.next?.(d._snapshot) : r.current = !0;
|
|
166
|
+
});
|
|
167
|
+
return { unsubscribe: () => {
|
|
168
|
+
i.stop();
|
|
169
|
+
} };
|
|
170
|
+
},
|
|
171
|
+
_update(t) {
|
|
172
|
+
let n = f, a = r?.compare ?? Object.is;
|
|
173
|
+
f = d, ++i, d.depsTail = void 0, o && (d.flags = e.Mutable | e.RecursedCheck);
|
|
174
|
+
try {
|
|
175
|
+
let e = d._snapshot, n = typeof t == "function" ? t(e) : t === void 0 && o ? u((e) => e.get(), e) : t;
|
|
176
|
+
return e === void 0 || !a(e, n) ? (d._snapshot = n, !0) : !1;
|
|
177
|
+
} finally {
|
|
178
|
+
f = n, o && (d.flags &= ~e.RecursedCheck), p(d);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
return o ? (d.flags = e.Mutable | e.Dirty, d.get = function() {
|
|
183
|
+
let t = d.flags;
|
|
184
|
+
if (t & e.Dirty || t & e.Pending && c(d.deps, d)) {
|
|
185
|
+
if (d._update()) {
|
|
186
|
+
let e = d.subs;
|
|
187
|
+
e !== void 0 && l(e);
|
|
188
|
+
}
|
|
189
|
+
} else t & e.Pending && (d.flags = t & ~e.Pending);
|
|
190
|
+
return f !== void 0 && a(d, f, i), d._snapshot;
|
|
191
|
+
}) : d.set = function(e) {
|
|
192
|
+
if (d._update(e)) {
|
|
193
|
+
let e = d.subs;
|
|
194
|
+
e !== void 0 && (s(e), l(e), m());
|
|
195
|
+
}
|
|
196
|
+
}, d;
|
|
197
|
+
}
|
|
198
|
+
function g(t) {
|
|
199
|
+
let n = () => {
|
|
200
|
+
let n = f;
|
|
201
|
+
f = r, ++i, r.depsTail = void 0, r.flags = e.Watching | e.RecursedCheck;
|
|
202
|
+
try {
|
|
203
|
+
return t();
|
|
204
|
+
} finally {
|
|
205
|
+
f = n, r.flags &= ~e.RecursedCheck, p(r);
|
|
206
|
+
}
|
|
207
|
+
}, r = {
|
|
208
|
+
deps: void 0,
|
|
209
|
+
depsTail: void 0,
|
|
210
|
+
subs: void 0,
|
|
211
|
+
subsTail: void 0,
|
|
212
|
+
flags: e.Watching | e.RecursedCheck,
|
|
213
|
+
notify() {
|
|
214
|
+
let t = this.flags;
|
|
215
|
+
t & e.Dirty || t & e.Pending && c(this.deps, this) ? n() : this.flags = e.Watching;
|
|
216
|
+
},
|
|
217
|
+
stop() {
|
|
218
|
+
this.flags = e.None, this.depsTail = void 0, p(this);
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
return n(), r;
|
|
222
|
+
}
|
|
223
|
+
typeof Symbol == "function" && Symbol.observable;
|
|
224
|
+
//#endregion
|
|
225
|
+
export { h as createAtom };
|
|
226
|
+
|
|
227
|
+
//# sourceMappingURL=store-69e7e2d5.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-69e7e2d5.esm.js","names":[],"sources":["../../../../../../../node_modules/@xstate/store/dist/store-69e7e2d5.esm.js"],"sourcesContent":["/* eslint-disable */\n// Adapted from Alien Signals\n// https://github.com/stackblitz/alien-signals/\n\nlet ReactiveFlags = /*#__PURE__*/function (ReactiveFlags) {\n ReactiveFlags[ReactiveFlags[\"None\"] = 0] = \"None\";\n ReactiveFlags[ReactiveFlags[\"Mutable\"] = 1] = \"Mutable\";\n ReactiveFlags[ReactiveFlags[\"Watching\"] = 2] = \"Watching\";\n ReactiveFlags[ReactiveFlags[\"RecursedCheck\"] = 4] = \"RecursedCheck\";\n ReactiveFlags[ReactiveFlags[\"Recursed\"] = 8] = \"Recursed\";\n ReactiveFlags[ReactiveFlags[\"Dirty\"] = 16] = \"Dirty\";\n ReactiveFlags[ReactiveFlags[\"Pending\"] = 32] = \"Pending\";\n return ReactiveFlags;\n}({});\nfunction createReactiveSystem({\n update,\n notify,\n unwatched\n}) {\n return {\n link,\n unlink,\n propagate,\n checkDirty,\n shallowPropagate\n };\n function link(dep, sub, version) {\n const prevDep = sub.depsTail;\n if (prevDep !== undefined && prevDep.dep === dep) {\n return;\n }\n const nextDep = prevDep !== undefined ? prevDep.nextDep : sub.deps;\n if (nextDep !== undefined && nextDep.dep === dep) {\n nextDep.version = version;\n sub.depsTail = nextDep;\n return;\n }\n const prevSub = dep.subsTail;\n if (prevSub !== undefined && prevSub.version === version && prevSub.sub === sub) {\n return;\n }\n const newLink = sub.depsTail = dep.subsTail = {\n version,\n dep,\n sub,\n prevDep,\n nextDep,\n prevSub,\n nextSub: undefined\n };\n if (nextDep !== undefined) {\n nextDep.prevDep = newLink;\n }\n if (prevDep !== undefined) {\n prevDep.nextDep = newLink;\n } else {\n sub.deps = newLink;\n }\n if (prevSub !== undefined) {\n prevSub.nextSub = newLink;\n } else {\n dep.subs = newLink;\n }\n }\n function unlink(link, sub = link.sub) {\n const dep = link.dep;\n const prevDep = link.prevDep;\n const nextDep = link.nextDep;\n const nextSub = link.nextSub;\n const prevSub = link.prevSub;\n if (nextDep !== undefined) {\n nextDep.prevDep = prevDep;\n } else {\n sub.depsTail = prevDep;\n }\n if (prevDep !== undefined) {\n prevDep.nextDep = nextDep;\n } else {\n sub.deps = nextDep;\n }\n if (nextSub !== undefined) {\n nextSub.prevSub = prevSub;\n } else {\n dep.subsTail = prevSub;\n }\n if (prevSub !== undefined) {\n prevSub.nextSub = nextSub;\n } else if ((dep.subs = nextSub) === undefined) {\n unwatched(dep);\n }\n return nextDep;\n }\n function propagate(link) {\n let next = link.nextSub;\n let stack;\n top: do {\n const sub = link.sub;\n let flags = sub.flags;\n if (!(flags & (ReactiveFlags.RecursedCheck | ReactiveFlags.Recursed | ReactiveFlags.Dirty | ReactiveFlags.Pending))) {\n sub.flags = flags | ReactiveFlags.Pending;\n } else if (!(flags & (ReactiveFlags.RecursedCheck | ReactiveFlags.Recursed))) {\n flags = ReactiveFlags.None;\n } else if (!(flags & ReactiveFlags.RecursedCheck)) {\n sub.flags = flags & ~ReactiveFlags.Recursed | ReactiveFlags.Pending;\n } else if (!(flags & (ReactiveFlags.Dirty | ReactiveFlags.Pending)) && isValidLink(link, sub)) {\n sub.flags = flags | (ReactiveFlags.Recursed | ReactiveFlags.Pending);\n flags &= ReactiveFlags.Mutable;\n } else {\n flags = ReactiveFlags.None;\n }\n if (flags & ReactiveFlags.Watching) {\n notify(sub);\n }\n if (flags & ReactiveFlags.Mutable) {\n const subSubs = sub.subs;\n if (subSubs !== undefined) {\n const nextSub = (link = subSubs).nextSub;\n if (nextSub !== undefined) {\n stack = {\n value: next,\n prev: stack\n };\n next = nextSub;\n }\n continue;\n }\n }\n if ((link = next) !== undefined) {\n next = link.nextSub;\n continue;\n }\n while (stack !== undefined) {\n link = stack.value;\n stack = stack.prev;\n if (link !== undefined) {\n next = link.nextSub;\n continue top;\n }\n }\n break;\n } while (true);\n }\n function checkDirty(link, sub) {\n let stack;\n let checkDepth = 0;\n let dirty = false;\n top: do {\n const dep = link.dep;\n const flags = dep.flags;\n if (sub.flags & ReactiveFlags.Dirty) {\n dirty = true;\n } else if ((flags & (ReactiveFlags.Mutable | ReactiveFlags.Dirty)) === (ReactiveFlags.Mutable | ReactiveFlags.Dirty)) {\n if (update(dep)) {\n const subs = dep.subs;\n if (subs.nextSub !== undefined) {\n shallowPropagate(subs);\n }\n dirty = true;\n }\n } else if ((flags & (ReactiveFlags.Mutable | ReactiveFlags.Pending)) === (ReactiveFlags.Mutable | ReactiveFlags.Pending)) {\n if (link.nextSub !== undefined || link.prevSub !== undefined) {\n stack = {\n value: link,\n prev: stack\n };\n }\n link = dep.deps;\n sub = dep;\n ++checkDepth;\n continue;\n }\n if (!dirty) {\n const nextDep = link.nextDep;\n if (nextDep !== undefined) {\n link = nextDep;\n continue;\n }\n }\n while (checkDepth--) {\n const firstSub = sub.subs;\n const hasMultipleSubs = firstSub.nextSub !== undefined;\n if (hasMultipleSubs) {\n link = stack.value;\n stack = stack.prev;\n } else {\n link = firstSub;\n }\n if (dirty) {\n if (update(sub)) {\n if (hasMultipleSubs) {\n shallowPropagate(firstSub);\n }\n sub = link.sub;\n continue;\n }\n dirty = false;\n } else {\n sub.flags &= ~ReactiveFlags.Pending;\n }\n sub = link.sub;\n const nextDep = link.nextDep;\n if (nextDep !== undefined) {\n link = nextDep;\n continue top;\n }\n }\n return dirty;\n } while (true);\n }\n function shallowPropagate(link) {\n do {\n const sub = link.sub;\n const flags = sub.flags;\n if ((flags & (ReactiveFlags.Pending | ReactiveFlags.Dirty)) === ReactiveFlags.Pending) {\n sub.flags = flags | ReactiveFlags.Dirty;\n if ((flags & (ReactiveFlags.Watching | ReactiveFlags.RecursedCheck)) === ReactiveFlags.Watching) {\n notify(sub);\n }\n }\n } while ((link = link.nextSub) !== undefined);\n }\n function isValidLink(checkLink, sub) {\n let link = sub.depsTail;\n while (link !== undefined) {\n if (link === checkLink) {\n return true;\n }\n link = link.prevDep;\n }\n return false;\n }\n}\n\nfunction toObserver(nextHandler, errorHandler, completionHandler) {\n const isObserver = typeof nextHandler === 'object';\n const self = isObserver ? nextHandler : undefined;\n return {\n next: (isObserver ? nextHandler.next : nextHandler)?.bind(self),\n error: (isObserver ? nextHandler.error : errorHandler)?.bind(self),\n complete: (isObserver ? nextHandler.complete : completionHandler)?.bind(self)\n };\n}\n\nconst queuedEffects = [];\nlet cycle = 0;\nconst {\n link,\n unlink,\n propagate,\n checkDirty,\n shallowPropagate\n} = createReactiveSystem({\n update(atom) {\n return atom._update();\n },\n notify(effect) {\n queuedEffects[queuedEffectsLength++] = effect;\n effect.flags &= ~ReactiveFlags.Watching;\n },\n unwatched(atom) {\n if (atom.depsTail !== undefined) {\n atom.depsTail = undefined;\n atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;\n purgeDeps(atom);\n }\n }\n});\nlet notifyIndex = 0;\nlet queuedEffectsLength = 0;\nlet activeSub;\nfunction purgeDeps(sub) {\n const depsTail = sub.depsTail;\n let dep = depsTail !== undefined ? depsTail.nextDep : sub.deps;\n while (dep !== undefined) {\n dep = unlink(dep, sub);\n }\n}\nfunction flush() {\n while (notifyIndex < queuedEffectsLength) {\n const effect = queuedEffects[notifyIndex];\n queuedEffects[notifyIndex++] = undefined;\n effect.notify();\n }\n notifyIndex = 0;\n queuedEffectsLength = 0;\n}\nfunction createAsyncAtom(getValue, options) {\n const ref = {};\n const atom = createAtom(() => {\n getValue().then(data => {\n const internalAtom = ref.current;\n if (internalAtom._update({\n status: 'done',\n data\n })) {\n const subs = internalAtom.subs;\n if (subs !== undefined) {\n propagate(subs);\n shallowPropagate(subs);\n flush();\n }\n }\n }, error => {\n const internalAtom = ref.current;\n if (internalAtom._update({\n status: 'error',\n error\n })) {\n const subs = internalAtom.subs;\n if (subs !== undefined) {\n propagate(subs);\n shallowPropagate(subs);\n flush();\n }\n }\n });\n return {\n status: 'pending'\n };\n }, options);\n ref.current = atom;\n return atom;\n}\nfunction createAtom(valueOrFn, options) {\n const isComputed = typeof valueOrFn === 'function';\n const getter = valueOrFn;\n\n // Create plain object atom\n const atom = {\n _snapshot: isComputed ? undefined : valueOrFn,\n subs: undefined,\n subsTail: undefined,\n deps: undefined,\n depsTail: undefined,\n flags: isComputed ? ReactiveFlags.None : ReactiveFlags.Mutable,\n get() {\n if (activeSub !== undefined) {\n link(atom, activeSub, cycle);\n }\n return atom._snapshot;\n },\n subscribe(observerOrFn) {\n const obs = toObserver(observerOrFn);\n const observed = {\n current: false\n };\n const e = effect(() => {\n atom.get();\n if (!observed.current) {\n observed.current = true;\n } else {\n obs.next?.(atom._snapshot);\n }\n });\n return {\n unsubscribe: () => {\n e.stop();\n }\n };\n },\n _update(getValue) {\n const prevSub = activeSub;\n const compare = options?.compare ?? Object.is;\n activeSub = atom;\n ++cycle;\n atom.depsTail = undefined;\n if (isComputed) {\n atom.flags = ReactiveFlags.Mutable | ReactiveFlags.RecursedCheck;\n }\n try {\n const oldValue = atom._snapshot;\n const read = a => a.get();\n const newValue = typeof getValue === 'function' ? getValue(oldValue) : getValue === undefined && isComputed ? getter(read, oldValue) : getValue;\n if (oldValue === undefined || !compare(oldValue, newValue)) {\n atom._snapshot = newValue;\n return true;\n }\n return false;\n } finally {\n activeSub = prevSub;\n if (isComputed) {\n atom.flags &= ~ReactiveFlags.RecursedCheck;\n }\n purgeDeps(atom);\n }\n }\n };\n if (isComputed) {\n atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;\n atom.get = function () {\n const flags = atom.flags;\n if (flags & ReactiveFlags.Dirty || flags & ReactiveFlags.Pending && checkDirty(atom.deps, atom)) {\n if (atom._update()) {\n const subs = atom.subs;\n if (subs !== undefined) {\n shallowPropagate(subs);\n }\n }\n } else if (flags & ReactiveFlags.Pending) {\n atom.flags = flags & ~ReactiveFlags.Pending;\n }\n if (activeSub !== undefined) {\n link(atom, activeSub, cycle);\n }\n return atom._snapshot;\n };\n } else {\n atom.set = function (valueOrFn) {\n if (atom._update(valueOrFn)) {\n const subs = atom.subs;\n if (subs !== undefined) {\n propagate(subs);\n shallowPropagate(subs);\n flush();\n }\n }\n };\n }\n return atom;\n}\nfunction effect(fn) {\n const run = () => {\n const prevSub = activeSub;\n activeSub = effectObj;\n ++cycle;\n effectObj.depsTail = undefined;\n effectObj.flags = ReactiveFlags.Watching | ReactiveFlags.RecursedCheck;\n try {\n return fn();\n } finally {\n activeSub = prevSub;\n effectObj.flags &= ~ReactiveFlags.RecursedCheck;\n purgeDeps(effectObj);\n }\n };\n const effectObj = {\n deps: undefined,\n depsTail: undefined,\n subs: undefined,\n subsTail: undefined,\n flags: ReactiveFlags.Watching | ReactiveFlags.RecursedCheck,\n notify() {\n const flags = this.flags;\n if (flags & ReactiveFlags.Dirty || flags & ReactiveFlags.Pending && checkDirty(this.deps, this)) {\n run();\n } else {\n this.flags = ReactiveFlags.Watching;\n }\n },\n stop() {\n this.flags = ReactiveFlags.None;\n this.depsTail = undefined;\n purgeDeps(this);\n }\n };\n run();\n return effectObj;\n}\n\nconst symbolObservable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\nconst inspectionObservers = new WeakMap();\nfunction createStoreCore(logic, emits) {\n let listeners;\n const initialSnapshot = logic.getInitialSnapshot();\n let currentSnapshot = initialSnapshot;\n const atom = createAtom(currentSnapshot);\n const emit = ev => {\n if (!listeners) {\n return;\n }\n const type = ev.type;\n const typeListeners = listeners.get(type);\n if (typeListeners) {\n typeListeners.forEach(listener => listener(ev));\n }\n const wildcardListeners = listeners.get('*');\n if (wildcardListeners) {\n wildcardListeners.forEach(listener => listener(ev));\n }\n };\n const transition = logic.transition;\n function receive(event) {\n const [nextSnapshot, effects] = transition(currentSnapshot, event);\n currentSnapshot = nextSnapshot;\n inspectionObservers.get(store)?.forEach(observer => {\n observer.next?.({\n type: '@xstate.snapshot',\n event,\n snapshot: nextSnapshot,\n actorRef: store,\n rootId: store.sessionId\n });\n });\n atom.set(nextSnapshot);\n for (const effect of effects) {\n if (typeof effect === 'function') {\n effect();\n } else {\n // handle the inherent effect first\n emits?.[effect.type]?.(effect);\n emit(effect);\n }\n }\n }\n const store = {\n get _snapshot() {\n return atom._snapshot;\n },\n on(emittedEventType, handler) {\n if (!listeners) {\n listeners = new Map();\n }\n let eventListeners = listeners.get(emittedEventType);\n if (!eventListeners) {\n eventListeners = new Set();\n listeners.set(emittedEventType, eventListeners);\n }\n const wrappedHandler = handler.bind(undefined);\n eventListeners.add(wrappedHandler);\n return {\n unsubscribe() {\n eventListeners.delete(wrappedHandler);\n }\n };\n },\n transition: logic.transition,\n // TODO: fix this\n sessionId: uniqueId(),\n send(event) {\n inspectionObservers.get(store)?.forEach(observer => {\n observer.next?.({\n type: '@xstate.event',\n event,\n sourceRef: undefined,\n actorRef: store,\n rootId: store.sessionId\n });\n });\n receive(event);\n },\n getSnapshot() {\n return currentSnapshot;\n },\n get() {\n return atom.get();\n },\n getInitialSnapshot() {\n return initialSnapshot;\n },\n subscribe: atom.subscribe.bind(atom),\n [symbolObservable]() {\n return this;\n },\n inspect: observerOrFn => {\n const observer = toObserver(observerOrFn);\n inspectionObservers.set(store, inspectionObservers.get(store) ?? new Set());\n inspectionObservers.get(store).add(observer);\n observer.next?.({\n type: '@xstate.actor',\n actorRef: store,\n rootId: store.sessionId\n });\n observer.next?.({\n type: '@xstate.snapshot',\n snapshot: initialSnapshot,\n event: {\n type: '@xstate.init'\n },\n actorRef: store,\n rootId: store.sessionId\n });\n return {\n unsubscribe() {\n return inspectionObservers.get(store)?.delete(observer);\n }\n };\n },\n trigger: new Proxy({}, {\n get: (_, eventType) => {\n return payload => {\n store.send({\n ...payload,\n type: eventType\n });\n };\n }\n }),\n select(selector, equalityFn = Object.is) {\n return createAtom(() => selector(store.get().context), {\n compare: equalityFn\n });\n },\n with(extension) {\n const extendedLogic = extension(logic);\n return createStoreCore(extendedLogic, emits);\n }\n };\n return store;\n}\n\n/**\n * Creates a **store** that has its own internal state and can be sent events\n * that update its internal state based on transitions.\n *\n * @example\n *\n * ```ts\n * const store = createStore({\n * context: { count: 0, name: 'Ada' },\n * on: {\n * inc: (context, event: { by: number }) => ({\n * ...context,\n * count: context.count + event.by\n * })\n * }\n * });\n *\n * store.subscribe((snapshot) => {\n * console.log(snapshot);\n * });\n *\n * store.send({ type: 'inc', by: 5 });\n * // Logs { context: { count: 5, name: 'Ada' }, status: 'active', ... }\n * ```\n *\n * @param config - The store configuration object\n * @param config.context - The initial state of the store\n * @param config.on - An object mapping event types to transition functions\n * @param config.emits - An object mapping emitted event types to handlers\n * @returns A store instance with methods to send events and subscribe to state\n * changes\n */\n\nfunction createStore(definitionOrLogic) {\n if ('transition' in definitionOrLogic) {\n return createStoreCore(definitionOrLogic);\n }\n const transition = createStoreTransition(definitionOrLogic.on);\n const logic = {\n getInitialSnapshot: () => ({\n status: 'active',\n context: definitionOrLogic.context,\n output: undefined,\n error: undefined\n }),\n transition\n };\n return createStoreCore(logic, definitionOrLogic.emits);\n}\nfunction _createStoreConfig(definition) {\n return definition;\n}\nconst createStoreConfig = _createStoreConfig;\n\n/**\n * Creates a `Store` with a provided producer (such as Immer's `producer(…)` A\n * store has its own internal state and can receive events.\n *\n * @example\n *\n * ```ts\n * import { produce } from 'immer';\n *\n * const store = createStoreWithProducer(produce, {\n * context: { count: 0 },\n * on: {\n * inc: (context, event: { by: number }) => {\n * context.count += event.by;\n * }\n * }\n * });\n *\n * store.subscribe((snapshot) => {\n * console.log(snapshot);\n * });\n *\n * store.send({ type: 'inc', by: 5 });\n * // Logs { context: { count: 5 }, status: 'active', ... }\n * ```\n */\nfunction createStoreWithProducer(producer, config) {\n const transition = createStoreTransition(config.on, producer);\n const logic = {\n getInitialSnapshot: () => ({\n status: 'active',\n context: config.context,\n output: undefined,\n error: undefined\n }),\n transition\n };\n return createStoreCore(logic, config.emits);\n}\n/**\n * Creates a store transition function that handles state updates based on\n * events.\n *\n * @param transitions - An object mapping event types to transition functions\n * @param producer - Optional producer function (e.g., Immer's produce) for\n * immutable updates\n * @returns A transition function that takes a snapshot and event and returns a\n * new snapshot with effects\n */\nfunction createStoreTransition(transitions, producer) {\n return (snapshot, event) => {\n const currentContext = snapshot.context;\n const assigner = transitions?.[event.type];\n const effects = [];\n const enqueue = {\n emit: new Proxy({}, {\n get: (_, eventType) => {\n return payload => {\n effects.push({\n ...payload,\n type: eventType\n });\n };\n }\n }),\n effect: fn => {\n effects.push(fn);\n }\n };\n if (!assigner) {\n return [snapshot, effects];\n }\n const nextContext = producer ? producer(currentContext, draftContext => assigner(draftContext, event, enqueue)) : assigner(currentContext, event, enqueue) ?? currentContext;\n return [nextContext === currentContext ? snapshot : {\n ...snapshot,\n context: nextContext\n }, effects];\n };\n}\n\n/**\n * Generates a unique 6-character identifier.\n *\n * @returns A random string identifier\n */\nfunction uniqueId() {\n return Math.random().toString(36).slice(6);\n}\n\nexport { createStore as a, createStoreWithProducer as b, createStoreTransition as c, createStoreConfig as d, createAtom as e, createAsyncAtom as f };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { $constructor as e } from "../core/core.js";
|
|
2
|
+
import { jsonStringifyReplacer as t } from "../core/util.js";
|
|
3
|
+
import { $ZodError as n, flattenError as r, formatError as i } from "../core/errors.js";
|
|
4
|
+
//#region ../../node_modules/zod/v4/classic/errors.js
|
|
5
|
+
var a = (e, a) => {
|
|
6
|
+
n.init(e, a), e.name = "ZodError", Object.defineProperties(e, {
|
|
7
|
+
format: { value: (t) => i(e, t) },
|
|
8
|
+
flatten: { value: (t) => r(e, t) },
|
|
9
|
+
addIssue: { value: (n) => {
|
|
10
|
+
e.issues.push(n), e.message = JSON.stringify(e.issues, t, 2);
|
|
11
|
+
} },
|
|
12
|
+
addIssues: { value: (n) => {
|
|
13
|
+
e.issues.push(...n), e.message = JSON.stringify(e.issues, t, 2);
|
|
14
|
+
} },
|
|
15
|
+
isEmpty: { get() {
|
|
16
|
+
return e.issues.length === 0;
|
|
17
|
+
} }
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
e("ZodError", a);
|
|
21
|
+
var o = e("ZodError", a, { Parent: Error });
|
|
22
|
+
//#endregion
|
|
23
|
+
export { o as ZodRealError };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","names":["core.formatError","core.flattenError","util.jsonStringifyReplacer","core.$constructor"],"sources":["../../../../../../../node_modules/zod/v4/classic/errors.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport { $ZodError } from \"../core/index.js\";\nimport * as util from \"../core/util.js\";\nconst initializer = (inst, issues) => {\n $ZodError.init(inst, issues);\n inst.name = \"ZodError\";\n Object.defineProperties(inst, {\n format: {\n value: (mapper) => core.formatError(inst, mapper),\n // enumerable: false,\n },\n flatten: {\n value: (mapper) => core.flattenError(inst, mapper),\n // enumerable: false,\n },\n addIssue: {\n value: (issue) => {\n inst.issues.push(issue);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n addIssues: {\n value: (issues) => {\n inst.issues.push(...issues);\n inst.message = JSON.stringify(inst.issues, util.jsonStringifyReplacer, 2);\n },\n // enumerable: false,\n },\n isEmpty: {\n get() {\n return inst.issues.length === 0;\n },\n // enumerable: false,\n },\n });\n // Object.defineProperty(inst, \"isEmpty\", {\n // get() {\n // return inst.issues.length === 0;\n // },\n // });\n};\nexport const ZodError = core.$constructor(\"ZodError\", initializer);\nexport const ZodRealError = core.$constructor(\"ZodError\", initializer, {\n Parent: Error,\n});\n// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */\n// export type ErrorMapCtx = core.$ZodErrorMapCtx;\n"],"x_google_ignoreList":[0],"mappings":";;;;AAGA,IAAM,KAAe,GAAM,MAAW;AAGlC,CAFA,EAAU,KAAK,GAAM,EAAO,EAC5B,EAAK,OAAO,YACZ,OAAO,iBAAiB,GAAM;EAC1B,QAAQ,EACJ,QAAQ,MAAWA,EAAiB,GAAM,EAAO,EAEpD;EACD,SAAS,EACL,QAAQ,MAAWC,EAAkB,GAAM,EAAO,EAErD;EACD,UAAU,EACN,QAAQ,MAAU;AAEd,GADA,EAAK,OAAO,KAAK,EAAM,EACvB,EAAK,UAAU,KAAK,UAAU,EAAK,QAAQC,GAA4B,EAAE;KAGhF;EACD,WAAW,EACP,QAAQ,MAAW;AAEf,GADA,EAAK,OAAO,KAAK,GAAG,EAAO,EAC3B,EAAK,UAAU,KAAK,UAAU,EAAK,QAAQA,GAA4B,EAAE;KAGhF;EACD,SAAS,EACL,MAAM;AACF,UAAO,EAAK,OAAO,WAAW;KAGrC;EACJ,CAAC;;AAOkBC,EAAkB,YAAY,EAAY;AAClE,IAAa,IAAeA,EAAkB,YAAY,GAAa,EACnE,QAAQ,OACX,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { $constructor as e } from "../core/core.js";
|
|
2
|
+
import { $ZodISODate as t, $ZodISODateTime as n, $ZodISODuration as r, $ZodISOTime as i } from "../core/schemas.js";
|
|
3
|
+
import { _isoDate as a, _isoDateTime as o, _isoDuration as s, _isoTime as c } from "../core/api.js";
|
|
4
|
+
import { ZodStringFormat as l } from "./schemas.js";
|
|
5
|
+
//#region ../../node_modules/zod/v4/classic/iso.js
|
|
6
|
+
var u = /* @__PURE__ */ e("ZodISODateTime", (e, t) => {
|
|
7
|
+
n.init(e, t), l.init(e, t);
|
|
8
|
+
});
|
|
9
|
+
function d(e) {
|
|
10
|
+
return o(u, e);
|
|
11
|
+
}
|
|
12
|
+
var f = /* @__PURE__ */ e("ZodISODate", (e, n) => {
|
|
13
|
+
t.init(e, n), l.init(e, n);
|
|
14
|
+
});
|
|
15
|
+
function p(e) {
|
|
16
|
+
return a(f, e);
|
|
17
|
+
}
|
|
18
|
+
var m = /* @__PURE__ */ e("ZodISOTime", (e, t) => {
|
|
19
|
+
i.init(e, t), l.init(e, t);
|
|
20
|
+
});
|
|
21
|
+
function h(e) {
|
|
22
|
+
return c(m, e);
|
|
23
|
+
}
|
|
24
|
+
var g = /* @__PURE__ */ e("ZodISODuration", (e, t) => {
|
|
25
|
+
r.init(e, t), l.init(e, t);
|
|
26
|
+
});
|
|
27
|
+
function _(e) {
|
|
28
|
+
return s(g, e);
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { p as date, d as datetime, _ as duration, h as time };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=iso.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iso.js","names":["core._isoDateTime","core._isoDate","core._isoTime","core._isoDuration"],"sources":["../../../../../../../node_modules/zod/v4/classic/iso.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport * as schemas from \"./schemas.js\";\nexport const ZodISODateTime = /*@__PURE__*/ core.$constructor(\"ZodISODateTime\", (inst, def) => {\n core.$ZodISODateTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function datetime(params) {\n return core._isoDateTime(ZodISODateTime, params);\n}\nexport const ZodISODate = /*@__PURE__*/ core.$constructor(\"ZodISODate\", (inst, def) => {\n core.$ZodISODate.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function date(params) {\n return core._isoDate(ZodISODate, params);\n}\nexport const ZodISOTime = /*@__PURE__*/ core.$constructor(\"ZodISOTime\", (inst, def) => {\n core.$ZodISOTime.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function time(params) {\n return core._isoTime(ZodISOTime, params);\n}\nexport const ZodISODuration = /*@__PURE__*/ core.$constructor(\"ZodISODuration\", (inst, def) => {\n core.$ZodISODuration.init(inst, def);\n schemas.ZodStringFormat.init(inst, def);\n});\nexport function duration(params) {\n return core._isoDuration(ZodISODuration, params);\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;AAEA,IAAa,IAA+B,kBAAkB,mBAAmB,GAAM,MAAQ;AAE3F,CADA,EAAqB,KAAK,GAAM,EAAI,EACpC,EAAwB,KAAK,GAAM,EAAI;EACzC;AACF,SAAgB,EAAS,GAAQ;AAC7B,QAAOA,EAAkB,GAAgB,EAAO;;AAEpD,IAAa,IAA2B,kBAAkB,eAAe,GAAM,MAAQ;AAEnF,CADA,EAAiB,KAAK,GAAM,EAAI,EAChC,EAAwB,KAAK,GAAM,EAAI;EACzC;AACF,SAAgB,EAAK,GAAQ;AACzB,QAAOC,EAAc,GAAY,EAAO;;AAE5C,IAAa,IAA2B,kBAAkB,eAAe,GAAM,MAAQ;AAEnF,CADA,EAAiB,KAAK,GAAM,EAAI,EAChC,EAAwB,KAAK,GAAM,EAAI;EACzC;AACF,SAAgB,EAAK,GAAQ;AACzB,QAAOC,EAAc,GAAY,EAAO;;AAE5C,IAAa,IAA+B,kBAAkB,mBAAmB,GAAM,MAAQ;AAE3F,CADA,EAAqB,KAAK,GAAM,EAAI,EACpC,EAAwB,KAAK,GAAM,EAAI;EACzC;AACF,SAAgB,EAAS,GAAQ;AAC7B,QAAOC,EAAkB,GAAgB,EAAO"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { _decode as e, _decodeAsync as t, _encode as n, _encodeAsync as r, _parse as i, _parseAsync as a, _safeDecode as o, _safeDecodeAsync as s, _safeEncode as c, _safeEncodeAsync as l, _safeParse as u, _safeParseAsync as d } from "../core/parse.js";
|
|
2
|
+
import { ZodRealError as f } from "./errors.js";
|
|
3
|
+
//#region ../../node_modules/zod/v4/classic/parse.js
|
|
4
|
+
var p = /* @__PURE__ */ i(f), m = /* @__PURE__ */ a(f), h = /* @__PURE__ */ u(f), g = /* @__PURE__ */ d(f), _ = /* @__PURE__ */ n(f), v = /* @__PURE__ */ e(f), y = /* @__PURE__ */ r(f), b = /* @__PURE__ */ t(f), x = /* @__PURE__ */ c(f), S = /* @__PURE__ */ o(f), C = /* @__PURE__ */ l(f), w = /* @__PURE__ */ s(f);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { v as decode, b as decodeAsync, _ as encode, y as encodeAsync, p as parse, m as parseAsync, S as safeDecode, w as safeDecodeAsync, x as safeEncode, C as safeEncodeAsync, h as safeParse, g as safeParseAsync };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","names":[],"sources":["../../../../../../../node_modules/zod/v4/classic/parse.js"],"sourcesContent":["import * as core from \"../core/index.js\";\nimport { ZodRealError } from \"./errors.js\";\nexport const parse = /* @__PURE__ */ core._parse(ZodRealError);\nexport const parseAsync = /* @__PURE__ */ core._parseAsync(ZodRealError);\nexport const safeParse = /* @__PURE__ */ core._safeParse(ZodRealError);\nexport const safeParseAsync = /* @__PURE__ */ core._safeParseAsync(ZodRealError);\n// Codec functions\nexport const encode = /* @__PURE__ */ core._encode(ZodRealError);\nexport const decode = /* @__PURE__ */ core._decode(ZodRealError);\nexport const encodeAsync = /* @__PURE__ */ core._encodeAsync(ZodRealError);\nexport const decodeAsync = /* @__PURE__ */ core._decodeAsync(ZodRealError);\nexport const safeEncode = /* @__PURE__ */ core._safeEncode(ZodRealError);\nexport const safeDecode = /* @__PURE__ */ core._safeDecode(ZodRealError);\nexport const safeEncodeAsync = /* @__PURE__ */ core._safeEncodeAsync(ZodRealError);\nexport const safeDecodeAsync = /* @__PURE__ */ core._safeDecodeAsync(ZodRealError);\n"],"x_google_ignoreList":[0],"mappings":";;;AAEA,IAAa,IAAwB,kBAAY,EAAa,EACjD,IAA6B,kBAAiB,EAAa,EAC3D,IAA4B,kBAAgB,EAAa,EACzD,IAAiC,kBAAqB,EAAa,EAEnE,IAAyB,kBAAa,EAAa,EACnD,IAAyB,kBAAa,EAAa,EACnD,IAA8B,kBAAkB,EAAa,EAC7D,IAA8B,kBAAkB,EAAa,EAC7D,IAA6B,kBAAiB,EAAa,EAC3D,IAA6B,kBAAiB,EAAa,EAC3D,IAAkC,kBAAsB,EAAa,EACrE,IAAkC,kBAAsB,EAAa"}
|