@ankhorage/runtime 1.0.0 → 2.0.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/CHANGELOG.md +12 -0
- package/README.md +2 -2
- package/dist/RuntimeRenderer.d.ts +5 -2
- package/dist/RuntimeRenderer.d.ts.map +1 -1
- package/dist/RuntimeRenderer.js +40 -21
- package/dist/RuntimeRenderer.js.map +1 -1
- package/dist/RuntimeRendererConfig.d.ts +5 -2
- package/dist/RuntimeRendererConfig.d.ts.map +1 -1
- package/dist/RuntimeRendererConfig.js +3 -1
- package/dist/RuntimeRendererConfig.js.map +1 -1
- package/dist/RuntimeScreen.d.ts.map +1 -1
- package/dist/RuntimeScreen.js +3 -2
- package/dist/RuntimeScreen.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/readme-usage.js +1 -1
- package/dist/readme-usage.js.map +1 -1
- package/dist/runtimeActionRegistry.d.ts +3 -3
- package/dist/runtimeActionRegistry.d.ts.map +1 -1
- package/dist/runtimeActionRegistry.js +9 -24
- package/dist/runtimeActionRegistry.js.map +1 -1
- package/dist/runtimeApiOperations.d.ts +8 -0
- package/dist/runtimeApiOperations.d.ts.map +1 -0
- package/dist/runtimeApiOperations.js +38 -0
- package/dist/runtimeApiOperations.js.map +1 -0
- package/dist/runtimeApiSelection.d.ts +8 -0
- package/dist/runtimeApiSelection.d.ts.map +1 -0
- package/dist/runtimeApiSelection.js +50 -0
- package/dist/runtimeApiSelection.js.map +1 -0
- package/dist/runtimeBindings.d.ts +4 -9
- package/dist/runtimeBindings.d.ts.map +1 -1
- package/dist/runtimeBindings.js +13 -73
- package/dist/runtimeBindings.js.map +1 -1
- package/dist/runtimeMedia.d.ts +13 -0
- package/dist/runtimeMedia.d.ts.map +1 -0
- package/dist/runtimeMedia.js +80 -0
- package/dist/runtimeMedia.js.map +1 -0
- package/dist/runtimeMediaCache.d.ts +8 -0
- package/dist/runtimeMediaCache.d.ts.map +1 -0
- package/dist/runtimeMediaCache.js +14 -0
- package/dist/runtimeMediaCache.js.map +1 -0
- package/dist/runtimeNodeProps.d.ts +2 -2
- package/dist/runtimeNodeProps.d.ts.map +1 -1
- package/dist/runtimeNodeProps.js +1 -1
- package/dist/runtimeNodeProps.js.map +1 -1
- package/dist/runtimeRepeat.d.ts.map +1 -1
- package/dist/runtimeRepeat.js +9 -8
- package/dist/runtimeRepeat.js.map +1 -1
- package/dist/runtimeScreenLoaders.d.ts +2 -2
- package/dist/runtimeScreenLoaders.d.ts.map +1 -1
- package/dist/runtimeScreenLoaders.js +8 -7
- package/dist/runtimeScreenLoaders.js.map +1 -1
- package/dist/useRuntimeMediaProps.d.ts +9 -0
- package/dist/useRuntimeMediaProps.d.ts.map +1 -0
- package/dist/useRuntimeMediaProps.js +61 -0
- package/dist/useRuntimeMediaProps.js.map +1 -0
- package/package.json +8 -7
- package/paradox/badges/npm.svg +3 -3
- package/paradox/components.md +5 -3
- package/paradox/diagrams/architecture-overview.mmd +52 -18
- package/paradox/diagrams/export-graph.mmd +31 -31
- package/paradox/diagrams/module-relationships.mmd +38 -13
- package/paradox/diagrams/sequences/validate-runtime-binding-operation-ref.mmd +9 -6
- package/paradox/exports.json +262 -336
- package/paradox/exports.md +199 -230
- package/paradox/index.html +1627 -1381
- package/paradox/paradox.json +1605 -1458
- package/dist/runtimeDataSourceOperations.d.ts +0 -10
- package/dist/runtimeDataSourceOperations.d.ts.map +0 -1
- package/dist/runtimeDataSourceOperations.js +0 -63
- package/dist/runtimeDataSourceOperations.js.map +0 -1
- package/dist/runtimeDatabaseOperationExecutor.d.ts +0 -9
- package/dist/runtimeDatabaseOperationExecutor.d.ts.map +0 -1
- package/dist/runtimeDatabaseOperationExecutor.js +0 -228
- package/dist/runtimeDatabaseOperationExecutor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeScreenLoaders.js","sourceRoot":"","sources":["../src/runtimeScreenLoaders.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BindingValue,\n DataSourceDiagnostic,\n OperationScreenDataLoaderDefinition,\n ScreenSpec,\n} from '@ankhorage/contracts';\nimport React from 'react';\n\nimport {\n createRuntimeBindingOperationKey,\n resolveBindingInputMapSync,\n resolveRuntimeBindingOperationSelection,\n type RuntimeBindingOperationExecutor,\n type RuntimeBindingOperationResultCache,\n type RuntimeBindingResolutionContext,\n} from './runtimeBindings';\n\nexport interface RuntimeScreenOperationLoaderState {\n readonly dependencyKey: string;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly operationResults: RuntimeBindingOperationResultCache;\n readonly renderVersion: number;\n}\n\nexport interface RuntimeScreenOperationLoaderExecutionResult {\n readonly dependencyKey: string;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly operationResults: RuntimeBindingOperationResultCache;\n}\n\nexport interface RuntimeScreenOperationLoaderLifecycle {\n readonly activeRequestId: number;\n readonly activeRequestKey: string | null;\n}\n\nconst EMPTY_RUNTIME_SCREEN_OPERATION_LOADER_DIAGNOSTICS = Object.freeze(\n [],\n) as readonly DataSourceDiagnostic[];\nconst EMPTY_RUNTIME_SCREEN_OPERATION_RESULTS = Object.freeze(\n {},\n) as RuntimeBindingOperationResultCache;\n\nexport function resolveScreenOperationLoaders(\n screen: ScreenSpec,\n): readonly OperationScreenDataLoaderDefinition[] {\n return screen.dataLoaders ?? [];\n}\n\nexport function createRuntimeScreenLoaderRequestKey(args: {\n readonly screenId: string;\n readonly loaders: readonly OperationScreenDataLoaderDefinition[];\n readonly bindingContext?: Record<string, unknown>;\n readonly operationResults?: RuntimeBindingOperationResultCache;\n}): string {\n return createRuntimeScreenOperationLoaderPlan({\n bindingContext: args.bindingContext,\n loaders: args.loaders,\n operationResults: args.operationResults,\n screenId: args.screenId,\n }).requestKey;\n}\n\nexport function createRuntimeScreenOperationLoaderLifecycle(): RuntimeScreenOperationLoaderLifecycle {\n return {\n activeRequestId: 0,\n activeRequestKey: null,\n };\n}\n\nexport function createIdleRuntimeScreenOperationLoaderState(args: {\n readonly dependencyKey: string;\n readonly previousState?: RuntimeScreenOperationLoaderState;\n}): RuntimeScreenOperationLoaderState {\n return {\n dependencyKey: args.dependencyKey,\n diagnostics: EMPTY_RUNTIME_SCREEN_OPERATION_LOADER_DIAGNOSTICS,\n operationResults: EMPTY_RUNTIME_SCREEN_OPERATION_RESULTS,\n renderVersion: args.previousState?.renderVersion ?? 0,\n };\n}\n\nexport function createPendingRuntimeScreenOperationLoaderState(args: {\n readonly dependencyKey: string;\n readonly previousState?: RuntimeScreenOperationLoaderState;\n}): RuntimeScreenOperationLoaderState {\n return {\n dependencyKey: args.dependencyKey,\n diagnostics: [],\n operationResults: {},\n renderVersion: (args.previousState?.renderVersion ?? -1) + 1,\n };\n}\n\nexport function beginRuntimeScreenOperationLoaderRequest(args: {\n readonly hasLoaders: boolean;\n readonly lifecycle: RuntimeScreenOperationLoaderLifecycle;\n readonly requestKey: string;\n readonly state: RuntimeScreenOperationLoaderState;\n}): {\n readonly lifecycle: RuntimeScreenOperationLoaderLifecycle;\n readonly requestId?: number;\n readonly shouldExecute: boolean;\n readonly state: RuntimeScreenOperationLoaderState;\n} {\n if (!args.hasLoaders) {\n if (args.lifecycle.activeRequestKey === null) {\n return {\n lifecycle: args.lifecycle,\n shouldExecute: false,\n state: args.state,\n };\n }\n\n return {\n lifecycle: {\n activeRequestId: args.lifecycle.activeRequestId + 1,\n activeRequestKey: null,\n },\n shouldExecute: false,\n state: args.state,\n };\n }\n\n if (args.lifecycle.activeRequestKey === args.requestKey) {\n return {\n lifecycle: args.lifecycle,\n shouldExecute: false,\n state: args.state,\n };\n }\n\n const requestId = args.lifecycle.activeRequestId + 1;\n\n return {\n lifecycle: {\n activeRequestId: requestId,\n activeRequestKey: args.requestKey,\n },\n requestId,\n shouldExecute: true,\n state:\n args.state.dependencyKey === args.requestKey\n ? args.state\n : createPendingRuntimeScreenOperationLoaderState({\n dependencyKey: args.requestKey,\n previousState: args.state,\n }),\n };\n}\n\nexport function completeRuntimeScreenOperationLoaderRequest(args: {\n readonly lifecycle: RuntimeScreenOperationLoaderLifecycle;\n readonly requestId: number;\n readonly result: RuntimeScreenOperationLoaderExecutionResult;\n readonly state: RuntimeScreenOperationLoaderState;\n}): {\n readonly accepted: boolean;\n readonly state: RuntimeScreenOperationLoaderState;\n} {\n if (args.lifecycle.activeRequestId !== args.requestId) {\n return {\n accepted: false,\n state: args.state,\n };\n }\n\n return {\n accepted: true,\n state: {\n dependencyKey: args.result.dependencyKey,\n diagnostics: args.result.diagnostics,\n operationResults: args.result.operationResults,\n renderVersion: args.state.renderVersion,\n },\n };\n}\n\nexport async function executeRuntimeScreenOperationLoaders(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly dataSources?: RuntimeBindingResolutionContext['dataSources'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly operationResults?: RuntimeBindingOperationResultCache;\n readonly screen: ScreenSpec;\n readonly loaders: readonly OperationScreenDataLoaderDefinition[];\n}): Promise<RuntimeScreenOperationLoaderExecutionResult> {\n const plan = createRuntimeScreenOperationLoaderPlan({\n bindingContext: args.bindingContext,\n loaders: args.loaders,\n operationResults: args.operationResults,\n screenId: args.screen.id,\n });\n\n return executePreparedRuntimeScreenOperationLoaders({\n dataSources: args.dataSources,\n executeOperation: args.executeOperation,\n plan,\n screen: args.screen,\n });\n}\n\nfunction executePreparedRuntimeScreenOperationLoaders(args: {\n readonly dataSources?: RuntimeBindingResolutionContext['dataSources'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly plan: RuntimeScreenOperationLoaderPlan;\n readonly screen: ScreenSpec;\n}): Promise<RuntimeScreenOperationLoaderExecutionResult> {\n const diagnostics: DataSourceDiagnostic[] = [...args.plan.diagnostics];\n\n if (args.plan.loaders.length === 0) {\n return Promise.resolve({\n dependencyKey: args.plan.requestKey,\n diagnostics,\n operationResults: {},\n });\n }\n\n if (args.executeOperation === undefined) {\n diagnostics.push(\n ...args.plan.loaders.map((preparedLoader) =>\n createScreenOperationLoaderDiagnostic(\n preparedLoader.loader,\n 'missing-adapter',\n 'Screen operation loader requires an injected operation executor.',\n ),\n ),\n );\n\n return Promise.resolve({\n dependencyKey: args.plan.requestKey,\n diagnostics,\n operationResults: {},\n });\n }\n const { executeOperation } = args;\n\n return (async () => {\n const operationResults: Record<string, BindingValue | undefined> = {};\n\n for (const preparedLoader of args.plan.loaders) {\n const selection = resolveRuntimeBindingOperationSelection(\n preparedLoader.loader.operation,\n args.dataSources,\n diagnostics,\n );\n if (selection === undefined) {\n continue;\n }\n\n const result = await executeOperation({\n dataSource: selection.dataSource,\n endpoint: selection.endpoint,\n input: preparedLoader.input,\n node: args.screen.root,\n operation: preparedLoader.loader.operation,\n });\n diagnostics.push(...(result.diagnostics ?? []));\n\n if (!result.ok) {\n continue;\n }\n\n operationResults[preparedLoader.operationKey] = result.data;\n }\n\n return {\n dependencyKey: args.plan.requestKey,\n diagnostics,\n operationResults,\n };\n })();\n}\n\nexport function useRuntimeScreenOperationLoaders(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly dataSources?: RuntimeBindingResolutionContext['dataSources'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly operationResults?: RuntimeBindingOperationResultCache;\n readonly onDiagnostics?: (diagnostics: readonly DataSourceDiagnostic[]) => void;\n readonly screen: ScreenSpec;\n}): RuntimeScreenOperationLoaderState {\n const loaders = React.useMemo(() => resolveScreenOperationLoaders(args.screen), [args.screen]);\n const hasLoaders = loaders.length > 0;\n const plan = React.useMemo(\n () =>\n createRuntimeScreenOperationLoaderPlan({\n bindingContext: args.bindingContext,\n loaders,\n operationResults: args.operationResults,\n screenId: args.screen.id,\n }),\n [args.bindingContext, args.operationResults, args.screen.id, loaders],\n );\n const { requestKey } = plan;\n const emptyState = React.useMemo(\n () =>\n createIdleRuntimeScreenOperationLoaderState({\n dependencyKey: requestKey,\n }),\n [requestKey],\n );\n const [state, setState] = React.useState<RuntimeScreenOperationLoaderState>(() =>\n hasLoaders\n ? createPendingRuntimeScreenOperationLoaderState({ dependencyKey: requestKey })\n : emptyState,\n );\n const effectiveState = hasLoaders ? state : emptyState;\n const lastDiagnosticsKeyRef = React.useRef<string | null>(null);\n const latestStateRef = React.useRef(state);\n const lifecycleRef = React.useRef<RuntimeScreenOperationLoaderLifecycle>(\n createRuntimeScreenOperationLoaderLifecycle(),\n );\n const executionArgsByRequestKeyRef = React.useRef<\n Record<string, RuntimeScreenPreparedExecutionArgs>\n >({});\n\n executionArgsByRequestKeyRef.current[requestKey] = {\n dataSources: args.dataSources,\n executeOperation: args.executeOperation,\n plan,\n screen: args.screen,\n };\n latestStateRef.current = state;\n\n React.useEffect(() => {\n const request = beginRuntimeScreenOperationLoaderRequest({\n hasLoaders,\n lifecycle: lifecycleRef.current,\n requestKey,\n state: latestStateRef.current,\n });\n\n lifecycleRef.current = request.lifecycle;\n\n if (request.state !== latestStateRef.current) {\n setState(request.state);\n }\n\n if (!request.shouldExecute || request.requestId === undefined) {\n return;\n }\n const { requestId } = request;\n\n void (async () => {\n const executionArgs = executionArgsByRequestKeyRef.current[requestKey];\n if (executionArgs === undefined) {\n return;\n }\n\n const result = await executePreparedRuntimeScreenOperationLoaders(executionArgs);\n\n setState((currentState) => {\n const completion = completeRuntimeScreenOperationLoaderRequest({\n lifecycle: lifecycleRef.current,\n requestId,\n result,\n state: currentState,\n });\n\n return completion.accepted ? completion.state : currentState;\n });\n })();\n }, [hasLoaders, requestKey]);\n\n React.useEffect(() => {\n if (effectiveState.diagnostics.length === 0) {\n return;\n }\n\n const diagnosticsKey = stableSerialize(effectiveState.diagnostics);\n if (lastDiagnosticsKeyRef.current === diagnosticsKey) {\n return;\n }\n\n lastDiagnosticsKeyRef.current = diagnosticsKey;\n args.onDiagnostics?.(effectiveState.diagnostics);\n }, [args.onDiagnostics, effectiveState.diagnostics]);\n\n return effectiveState;\n}\n\ninterface PreparedRuntimeScreenOperationLoader {\n readonly input?: BindingValue;\n readonly loader: OperationScreenDataLoaderDefinition;\n readonly operationKey: string;\n}\n\ninterface RuntimeScreenOperationLoaderPlan {\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly loaders: readonly PreparedRuntimeScreenOperationLoader[];\n readonly requestKey: string;\n}\n\ninterface RuntimeScreenPreparedExecutionArgs {\n readonly dataSources?: RuntimeBindingResolutionContext['dataSources'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly plan: RuntimeScreenOperationLoaderPlan;\n readonly screen: ScreenSpec;\n}\n\nfunction createRuntimeScreenOperationLoaderPlan(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly loaders: readonly OperationScreenDataLoaderDefinition[];\n readonly operationResults?: RuntimeBindingOperationResultCache;\n readonly screenId: string;\n}): RuntimeScreenOperationLoaderPlan {\n if (args.loaders.length === 0) {\n return {\n diagnostics: EMPTY_RUNTIME_SCREEN_OPERATION_LOADER_DIAGNOSTICS,\n loaders: [],\n requestKey: createRuntimeScreenOperationLoaderIdleKey(args.screenId),\n };\n }\n\n const diagnostics: DataSourceDiagnostic[] = [];\n const preparedLoaders: PreparedRuntimeScreenOperationLoader[] = [];\n const operationKeys = new Set<string>();\n\n for (const loader of args.loaders) {\n const input = resolveBindingInputMapSync(\n loader.input,\n {\n context: args.bindingContext,\n operationResults: args.operationResults,\n },\n diagnostics,\n );\n const operationKey = createRuntimeBindingOperationKey(loader.operation);\n if (operationKeys.has(operationKey)) {\n diagnostics.push(\n createScreenOperationLoaderDiagnostic(\n loader,\n 'duplicate-operation-id',\n `Screen operation loaders must not reuse operation key '${operationKey}' on the same screen.`,\n ),\n );\n continue;\n }\n\n operationKeys.add(operationKey);\n preparedLoaders.push({\n input,\n loader,\n operationKey,\n });\n }\n\n return {\n diagnostics,\n loaders: preparedLoaders,\n requestKey: createRuntimeScreenOperationLoaderPlanRequestKey({\n loaders: preparedLoaders,\n screenId: args.screenId,\n }),\n };\n}\n\nfunction createRuntimeScreenOperationLoaderPlanRequestKey(args: {\n readonly loaders: readonly PreparedRuntimeScreenOperationLoader[];\n readonly screenId: string;\n}): string {\n return stableSerialize({\n loaders: args.loaders.map((loader) => ({\n id: loader.loader.id,\n input: loader.input,\n operation: loader.loader.operation,\n operationKey: loader.operationKey,\n })),\n screenId: args.screenId,\n });\n}\n\nfunction createScreenOperationLoaderDiagnostic(\n loader: OperationScreenDataLoaderDefinition,\n code: DataSourceDiagnostic['code'],\n message: string,\n): DataSourceDiagnostic {\n return {\n code,\n dataSourceId: loader.operation.dataSourceId,\n endpointId: loader.operation.endpointId,\n operationId: loader.operation.operationId,\n message,\n severity: 'error',\n };\n}\n\nfunction createRuntimeScreenOperationLoaderIdleKey(screenId: string): string {\n return `screen:${screenId}:no-operation-loaders`;\n}\n\nfunction stableSerialize(value: unknown): string {\n return JSON.stringify(sortSerializableValue(value));\n}\n\nfunction sortSerializableValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortSerializableValue);\n }\n\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n\n return Object.keys(value)\n .sort((left, right) => left.localeCompare(right))\n .reduce<Record<string, unknown>>((result, key) => {\n result[key] = sortSerializableValue((value as Record<string, unknown>)[key]);\n return result;\n }, {});\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runtimeScreenLoaders.js","sourceRoot":"","sources":["../src/runtimeScreenLoaders.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BindingValue,\n DataSourceDiagnostic,\n OperationScreenDataLoaderDefinition,\n ScreenSpec,\n} from '@ankhorage/contracts';\nimport React from 'react';\n\nimport { resolveRuntimeBindingOperationSelection } from './runtimeApiSelection';\nimport {\n createRuntimeBindingOperationKey,\n resolveBindingInputMapSync,\n type RuntimeBindingOperationExecutor,\n type RuntimeBindingOperationResultCache,\n type RuntimeBindingResolutionContext,\n} from './runtimeBindings';\n\nexport interface RuntimeScreenOperationLoaderState {\n readonly dependencyKey: string;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly operationResults: RuntimeBindingOperationResultCache;\n readonly renderVersion: number;\n}\n\nexport interface RuntimeScreenOperationLoaderExecutionResult {\n readonly dependencyKey: string;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly operationResults: RuntimeBindingOperationResultCache;\n}\n\nexport interface RuntimeScreenOperationLoaderLifecycle {\n readonly activeRequestId: number;\n readonly activeRequestKey: string | null;\n}\n\nconst EMPTY_RUNTIME_SCREEN_OPERATION_LOADER_DIAGNOSTICS = Object.freeze(\n [],\n) as readonly DataSourceDiagnostic[];\nconst EMPTY_RUNTIME_SCREEN_OPERATION_RESULTS = Object.freeze(\n {},\n) as RuntimeBindingOperationResultCache;\n\nexport function resolveScreenOperationLoaders(\n screen: ScreenSpec,\n): readonly OperationScreenDataLoaderDefinition[] {\n return screen.dataLoaders ?? [];\n}\n\nexport function createRuntimeScreenLoaderRequestKey(args: {\n readonly screenId: string;\n readonly loaders: readonly OperationScreenDataLoaderDefinition[];\n readonly bindingContext?: Record<string, unknown>;\n readonly operationResults?: RuntimeBindingOperationResultCache;\n}): string {\n return createRuntimeScreenOperationLoaderPlan({\n bindingContext: args.bindingContext,\n loaders: args.loaders,\n operationResults: args.operationResults,\n screenId: args.screenId,\n }).requestKey;\n}\n\nexport function createRuntimeScreenOperationLoaderLifecycle(): RuntimeScreenOperationLoaderLifecycle {\n return {\n activeRequestId: 0,\n activeRequestKey: null,\n };\n}\n\nexport function createIdleRuntimeScreenOperationLoaderState(args: {\n readonly dependencyKey: string;\n readonly previousState?: RuntimeScreenOperationLoaderState;\n}): RuntimeScreenOperationLoaderState {\n return {\n dependencyKey: args.dependencyKey,\n diagnostics: EMPTY_RUNTIME_SCREEN_OPERATION_LOADER_DIAGNOSTICS,\n operationResults: EMPTY_RUNTIME_SCREEN_OPERATION_RESULTS,\n renderVersion: args.previousState?.renderVersion ?? 0,\n };\n}\n\nexport function createPendingRuntimeScreenOperationLoaderState(args: {\n readonly dependencyKey: string;\n readonly previousState?: RuntimeScreenOperationLoaderState;\n}): RuntimeScreenOperationLoaderState {\n return {\n dependencyKey: args.dependencyKey,\n diagnostics: [],\n operationResults: {},\n renderVersion: (args.previousState?.renderVersion ?? -1) + 1,\n };\n}\n\nexport function beginRuntimeScreenOperationLoaderRequest(args: {\n readonly hasLoaders: boolean;\n readonly lifecycle: RuntimeScreenOperationLoaderLifecycle;\n readonly requestKey: string;\n readonly state: RuntimeScreenOperationLoaderState;\n}): {\n readonly lifecycle: RuntimeScreenOperationLoaderLifecycle;\n readonly requestId?: number;\n readonly shouldExecute: boolean;\n readonly state: RuntimeScreenOperationLoaderState;\n} {\n if (!args.hasLoaders) {\n if (args.lifecycle.activeRequestKey === null) {\n return {\n lifecycle: args.lifecycle,\n shouldExecute: false,\n state: args.state,\n };\n }\n\n return {\n lifecycle: {\n activeRequestId: args.lifecycle.activeRequestId + 1,\n activeRequestKey: null,\n },\n shouldExecute: false,\n state: args.state,\n };\n }\n\n if (args.lifecycle.activeRequestKey === args.requestKey) {\n return {\n lifecycle: args.lifecycle,\n shouldExecute: false,\n state: args.state,\n };\n }\n\n const requestId = args.lifecycle.activeRequestId + 1;\n\n return {\n lifecycle: {\n activeRequestId: requestId,\n activeRequestKey: args.requestKey,\n },\n requestId,\n shouldExecute: true,\n state:\n args.state.dependencyKey === args.requestKey\n ? args.state\n : createPendingRuntimeScreenOperationLoaderState({\n dependencyKey: args.requestKey,\n previousState: args.state,\n }),\n };\n}\n\nexport function completeRuntimeScreenOperationLoaderRequest(args: {\n readonly lifecycle: RuntimeScreenOperationLoaderLifecycle;\n readonly requestId: number;\n readonly result: RuntimeScreenOperationLoaderExecutionResult;\n readonly state: RuntimeScreenOperationLoaderState;\n}): {\n readonly accepted: boolean;\n readonly state: RuntimeScreenOperationLoaderState;\n} {\n if (args.lifecycle.activeRequestId !== args.requestId) {\n return {\n accepted: false,\n state: args.state,\n };\n }\n\n return {\n accepted: true,\n state: {\n dependencyKey: args.result.dependencyKey,\n diagnostics: args.result.diagnostics,\n operationResults: args.result.operationResults,\n renderVersion: args.state.renderVersion,\n },\n };\n}\n\nexport async function executeRuntimeScreenOperationLoaders(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly apis?: RuntimeBindingResolutionContext['apis'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly operationResults?: RuntimeBindingOperationResultCache;\n readonly screen: ScreenSpec;\n readonly loaders: readonly OperationScreenDataLoaderDefinition[];\n}): Promise<RuntimeScreenOperationLoaderExecutionResult> {\n const plan = createRuntimeScreenOperationLoaderPlan({\n bindingContext: args.bindingContext,\n loaders: args.loaders,\n operationResults: args.operationResults,\n screenId: args.screen.id,\n });\n\n return executePreparedRuntimeScreenOperationLoaders({\n apis: args.apis,\n executeOperation: args.executeOperation,\n plan,\n screen: args.screen,\n });\n}\n\nfunction executePreparedRuntimeScreenOperationLoaders(args: {\n readonly apis?: RuntimeBindingResolutionContext['apis'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly plan: RuntimeScreenOperationLoaderPlan;\n readonly screen: ScreenSpec;\n}): Promise<RuntimeScreenOperationLoaderExecutionResult> {\n const diagnostics: DataSourceDiagnostic[] = [...args.plan.diagnostics];\n\n if (args.plan.loaders.length === 0) {\n return Promise.resolve({\n dependencyKey: args.plan.requestKey,\n diagnostics,\n operationResults: {},\n });\n }\n\n if (args.executeOperation === undefined) {\n diagnostics.push(\n ...args.plan.loaders.map((preparedLoader) =>\n createScreenOperationLoaderDiagnostic(\n preparedLoader.loader,\n 'missing-adapter',\n 'Screen API operation loader requires an injected operation executor.',\n ),\n ),\n );\n\n return Promise.resolve({\n dependencyKey: args.plan.requestKey,\n diagnostics,\n operationResults: {},\n });\n }\n const { executeOperation } = args;\n\n return (async () => {\n const operationResults: Record<string, BindingValue | undefined> = {};\n\n for (const preparedLoader of args.plan.loaders) {\n const selection = resolveRuntimeBindingOperationSelection(\n preparedLoader.loader.operation,\n args.apis,\n diagnostics,\n );\n if (selection === undefined) {\n continue;\n }\n\n const result = await executeOperation({\n api: selection.api,\n endpoint: selection.endpoint,\n input: preparedLoader.input,\n node: args.screen.root,\n operation: preparedLoader.loader.operation,\n });\n diagnostics.push(...(result.diagnostics ?? []));\n\n if (!result.ok) {\n continue;\n }\n\n operationResults[preparedLoader.operationKey] = result.data;\n }\n\n return {\n dependencyKey: args.plan.requestKey,\n diagnostics,\n operationResults,\n };\n })();\n}\n\nexport function useRuntimeScreenOperationLoaders(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly apis?: RuntimeBindingResolutionContext['apis'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly operationResults?: RuntimeBindingOperationResultCache;\n readonly onDiagnostics?: (diagnostics: readonly DataSourceDiagnostic[]) => void;\n readonly screen: ScreenSpec;\n}): RuntimeScreenOperationLoaderState {\n const loaders = React.useMemo(() => resolveScreenOperationLoaders(args.screen), [args.screen]);\n const hasLoaders = loaders.length > 0;\n const plan = React.useMemo(\n () =>\n createRuntimeScreenOperationLoaderPlan({\n bindingContext: args.bindingContext,\n loaders,\n operationResults: args.operationResults,\n screenId: args.screen.id,\n }),\n [args.bindingContext, args.operationResults, args.screen.id, loaders],\n );\n const { requestKey } = plan;\n const emptyState = React.useMemo(\n () =>\n createIdleRuntimeScreenOperationLoaderState({\n dependencyKey: requestKey,\n }),\n [requestKey],\n );\n const [state, setState] = React.useState<RuntimeScreenOperationLoaderState>(() =>\n hasLoaders\n ? createPendingRuntimeScreenOperationLoaderState({ dependencyKey: requestKey })\n : emptyState,\n );\n const effectiveState = hasLoaders ? state : emptyState;\n const lastDiagnosticsKeyRef = React.useRef<string | null>(null);\n const latestStateRef = React.useRef(state);\n const lifecycleRef = React.useRef<RuntimeScreenOperationLoaderLifecycle>(\n createRuntimeScreenOperationLoaderLifecycle(),\n );\n const executionArgsByRequestKeyRef = React.useRef<\n Record<string, RuntimeScreenPreparedExecutionArgs>\n >({});\n\n executionArgsByRequestKeyRef.current[requestKey] = {\n apis: args.apis,\n executeOperation: args.executeOperation,\n plan,\n screen: args.screen,\n };\n latestStateRef.current = state;\n\n React.useEffect(() => {\n const request = beginRuntimeScreenOperationLoaderRequest({\n hasLoaders,\n lifecycle: lifecycleRef.current,\n requestKey,\n state: latestStateRef.current,\n });\n\n lifecycleRef.current = request.lifecycle;\n\n if (request.state !== latestStateRef.current) {\n setState(request.state);\n }\n\n if (!request.shouldExecute || request.requestId === undefined) {\n return;\n }\n const { requestId } = request;\n\n void (async () => {\n const executionArgs = executionArgsByRequestKeyRef.current[requestKey];\n if (executionArgs === undefined) {\n return;\n }\n\n const result = await executePreparedRuntimeScreenOperationLoaders(executionArgs);\n\n setState((currentState) => {\n const completion = completeRuntimeScreenOperationLoaderRequest({\n lifecycle: lifecycleRef.current,\n requestId,\n result,\n state: currentState,\n });\n\n return completion.accepted ? completion.state : currentState;\n });\n })();\n }, [hasLoaders, requestKey]);\n\n React.useEffect(() => {\n if (effectiveState.diagnostics.length === 0) {\n return;\n }\n\n const diagnosticsKey = stableSerialize(effectiveState.diagnostics);\n if (lastDiagnosticsKeyRef.current === diagnosticsKey) {\n return;\n }\n\n lastDiagnosticsKeyRef.current = diagnosticsKey;\n args.onDiagnostics?.(effectiveState.diagnostics);\n }, [args.onDiagnostics, effectiveState.diagnostics]);\n\n return effectiveState;\n}\n\ninterface PreparedRuntimeScreenOperationLoader {\n readonly input?: BindingValue;\n readonly loader: OperationScreenDataLoaderDefinition;\n readonly operationKey: string;\n}\n\ninterface RuntimeScreenOperationLoaderPlan {\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly loaders: readonly PreparedRuntimeScreenOperationLoader[];\n readonly requestKey: string;\n}\n\ninterface RuntimeScreenPreparedExecutionArgs {\n readonly apis?: RuntimeBindingResolutionContext['apis'];\n readonly executeOperation?: RuntimeBindingOperationExecutor;\n readonly plan: RuntimeScreenOperationLoaderPlan;\n readonly screen: ScreenSpec;\n}\n\nfunction createRuntimeScreenOperationLoaderPlan(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly loaders: readonly OperationScreenDataLoaderDefinition[];\n readonly operationResults?: RuntimeBindingOperationResultCache;\n readonly screenId: string;\n}): RuntimeScreenOperationLoaderPlan {\n if (args.loaders.length === 0) {\n return {\n diagnostics: EMPTY_RUNTIME_SCREEN_OPERATION_LOADER_DIAGNOSTICS,\n loaders: [],\n requestKey: createRuntimeScreenOperationLoaderIdleKey(args.screenId),\n };\n }\n\n const diagnostics: DataSourceDiagnostic[] = [];\n const preparedLoaders: PreparedRuntimeScreenOperationLoader[] = [];\n const operationKeys = new Set<string>();\n\n for (const loader of args.loaders) {\n const input = resolveBindingInputMapSync(\n loader.input,\n {\n context: args.bindingContext,\n operationResults: args.operationResults,\n },\n diagnostics,\n );\n const operationKey = createRuntimeBindingOperationKey(loader.operation);\n if (operationKeys.has(operationKey)) {\n diagnostics.push(\n createScreenOperationLoaderDiagnostic(\n loader,\n 'duplicate-operation-id',\n `Screen operation loaders must not reuse operation key '${operationKey}' on the same screen.`,\n ),\n );\n continue;\n }\n\n operationKeys.add(operationKey);\n preparedLoaders.push({\n input,\n loader,\n operationKey,\n });\n }\n\n return {\n diagnostics,\n loaders: preparedLoaders,\n requestKey: createRuntimeScreenOperationLoaderPlanRequestKey({\n loaders: preparedLoaders,\n screenId: args.screenId,\n }),\n };\n}\n\nfunction createRuntimeScreenOperationLoaderPlanRequestKey(args: {\n readonly loaders: readonly PreparedRuntimeScreenOperationLoader[];\n readonly screenId: string;\n}): string {\n return stableSerialize({\n loaders: args.loaders.map((loader) => ({\n id: loader.loader.id,\n input: loader.input,\n operation: loader.loader.operation,\n operationKey: loader.operationKey,\n })),\n screenId: args.screenId,\n });\n}\n\nfunction createScreenOperationLoaderDiagnostic(\n loader: OperationScreenDataLoaderDefinition,\n code: DataSourceDiagnostic['code'],\n message: string,\n): DataSourceDiagnostic {\n return {\n apiId: loader.operation.apiId,\n code,\n endpointId: loader.operation.endpointId,\n operationId: loader.operation.operationId,\n message,\n severity: 'error',\n };\n}\n\nfunction createRuntimeScreenOperationLoaderIdleKey(screenId: string): string {\n return `screen:${screenId}:no-operation-loaders`;\n}\n\nfunction stableSerialize(value: unknown): string {\n return JSON.stringify(sortSerializableValue(value));\n}\n\nfunction sortSerializableValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortSerializableValue);\n }\n\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n\n return Object.keys(value)\n .sort((left, right) => left.localeCompare(right))\n .reduce<Record<string, unknown>>((result, key) => {\n result[key] = sortSerializableValue((value as Record<string, unknown>)[key]);\n return result;\n }, {});\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MediaAssetRegistry } from '@ankhorage/contracts';
|
|
2
|
+
import { type RuntimeMediaAssetResolver, type RuntimeMediaResolutionCache } from './runtimeMedia';
|
|
3
|
+
export declare function useRuntimeMediaProps(args: {
|
|
4
|
+
readonly props: Record<string, unknown>;
|
|
5
|
+
readonly mediaAssets?: MediaAssetRegistry;
|
|
6
|
+
readonly resolveMediaAsset?: RuntimeMediaAssetResolver;
|
|
7
|
+
readonly cache: RuntimeMediaResolutionCache;
|
|
8
|
+
}): Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=useRuntimeMediaProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRuntimeMediaProps.d.ts","sourceRoot":"","sources":["../src/useRuntimeMediaProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAKL,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAEjC,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;CAC7C,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyC1B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { collectRuntimeMediaReferenceIds, createSyncRuntimeMediaResolutionMap, replaceRuntimeMediaReferences, resolveRuntimeMediaAsset, } from './runtimeMedia';
|
|
3
|
+
export function useRuntimeMediaProps(args) {
|
|
4
|
+
const ids = collectRuntimeMediaReferenceIds(args.props);
|
|
5
|
+
const idsKey = ids.join('\u0000');
|
|
6
|
+
const [asyncResolved, setAsyncResolved] = React.useState(() => new Map());
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
let active = true;
|
|
9
|
+
const effectIds = idsKey.length === 0 ? [] : idsKey.split('\u0000');
|
|
10
|
+
const currentIds = new Set(effectIds);
|
|
11
|
+
setAsyncResolved((current) => filterResolvedValues(current, currentIds));
|
|
12
|
+
for (const id of effectIds) {
|
|
13
|
+
const asset = args.mediaAssets?.[id];
|
|
14
|
+
if (!asset || asset.source.kind === 'url')
|
|
15
|
+
continue;
|
|
16
|
+
void resolveRuntimeMediaAsset(asset, args.resolveMediaAsset, args.cache).then((value) => {
|
|
17
|
+
if (!active || value === null)
|
|
18
|
+
return;
|
|
19
|
+
setAsyncResolved((current) => {
|
|
20
|
+
if (current.get(id) === value)
|
|
21
|
+
return current;
|
|
22
|
+
const next = new Map(current);
|
|
23
|
+
next.set(id, value);
|
|
24
|
+
return next;
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return () => {
|
|
29
|
+
active = false;
|
|
30
|
+
};
|
|
31
|
+
}, [args.cache, args.mediaAssets, args.resolveMediaAsset, idsKey]);
|
|
32
|
+
const resolved = createSyncRuntimeMediaResolutionMap(ids, args.mediaAssets);
|
|
33
|
+
const currentIds = new Set(ids);
|
|
34
|
+
asyncResolved.forEach((value, id) => {
|
|
35
|
+
if (currentIds.has(id))
|
|
36
|
+
resolved.set(id, value);
|
|
37
|
+
});
|
|
38
|
+
const replaced = replaceRuntimeMediaReferences(args.props, resolved);
|
|
39
|
+
return isRecord(replaced) ? replaced : {};
|
|
40
|
+
}
|
|
41
|
+
function filterResolvedValues(current, ids) {
|
|
42
|
+
const next = new Map();
|
|
43
|
+
current.forEach((value, id) => {
|
|
44
|
+
if (ids.has(id))
|
|
45
|
+
next.set(id, value);
|
|
46
|
+
});
|
|
47
|
+
return mapsEqual(current, next) ? current : next;
|
|
48
|
+
}
|
|
49
|
+
function mapsEqual(left, right) {
|
|
50
|
+
if (left.size !== right.size)
|
|
51
|
+
return false;
|
|
52
|
+
for (const [key, value] of left) {
|
|
53
|
+
if (right.get(key) !== value)
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
function isRecord(value) {
|
|
59
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=useRuntimeMediaProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRuntimeMediaProps.js","sourceRoot":"","sources":["../src/useRuntimeMediaProps.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MediaAssetRegistry } from '@ankhorage/contracts';\nimport React from 'react';\n\nimport {\n collectRuntimeMediaReferenceIds,\n createSyncRuntimeMediaResolutionMap,\n replaceRuntimeMediaReferences,\n resolveRuntimeMediaAsset,\n type RuntimeMediaAssetResolver,\n type RuntimeMediaResolutionCache,\n type RuntimeResolvedMediaValue,\n} from './runtimeMedia';\n\nexport function useRuntimeMediaProps(args: {\n readonly props: Record<string, unknown>;\n readonly mediaAssets?: MediaAssetRegistry;\n readonly resolveMediaAsset?: RuntimeMediaAssetResolver;\n readonly cache: RuntimeMediaResolutionCache;\n}): Record<string, unknown> {\n const ids = collectRuntimeMediaReferenceIds(args.props);\n const idsKey = ids.join('\\u0000');\n const [asyncResolved, setAsyncResolved] = React.useState(\n () => new Map<string, RuntimeResolvedMediaValue>(),\n );\n\n React.useEffect(() => {\n let active = true;\n const effectIds = idsKey.length === 0 ? [] : idsKey.split('\\u0000');\n const currentIds = new Set(effectIds);\n setAsyncResolved((current) => filterResolvedValues(current, currentIds));\n\n for (const id of effectIds) {\n const asset = args.mediaAssets?.[id];\n if (!asset || asset.source.kind === 'url') continue;\n\n void resolveRuntimeMediaAsset(asset, args.resolveMediaAsset, args.cache).then((value) => {\n if (!active || value === null) return;\n setAsyncResolved((current) => {\n if (current.get(id) === value) return current;\n const next = new Map(current);\n next.set(id, value);\n return next;\n });\n });\n }\n\n return () => {\n active = false;\n };\n }, [args.cache, args.mediaAssets, args.resolveMediaAsset, idsKey]);\n\n const resolved = createSyncRuntimeMediaResolutionMap(ids, args.mediaAssets);\n const currentIds = new Set(ids);\n asyncResolved.forEach((value, id) => {\n if (currentIds.has(id)) resolved.set(id, value);\n });\n\n const replaced = replaceRuntimeMediaReferences(args.props, resolved);\n return isRecord(replaced) ? replaced : {};\n}\n\nfunction filterResolvedValues(\n current: Map<string, RuntimeResolvedMediaValue>,\n ids: ReadonlySet<string>,\n): Map<string, RuntimeResolvedMediaValue> {\n const next = new Map<string, RuntimeResolvedMediaValue>();\n current.forEach((value, id) => {\n if (ids.has(id)) next.set(id, value);\n });\n return mapsEqual(current, next) ? current : next;\n}\n\nfunction mapsEqual(\n left: ReadonlyMap<string, RuntimeResolvedMediaValue>,\n right: ReadonlyMap<string, RuntimeResolvedMediaValue>,\n): boolean {\n if (left.size !== right.size) return false;\n for (const [key, value] of left) {\n if (right.get(key) !== value) return false;\n }\n return true;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/runtime",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Platform-neutral runtime renderer, contracts, and helpers for Ankhorage generated apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"runtime",
|
|
20
20
|
"manifest",
|
|
21
21
|
"bindings",
|
|
22
|
+
"media",
|
|
22
23
|
"adapters",
|
|
23
24
|
"typescript"
|
|
24
25
|
],
|
|
@@ -59,18 +60,18 @@
|
|
|
59
60
|
"version-packages": "changeset version"
|
|
60
61
|
},
|
|
61
62
|
"dependencies": {
|
|
62
|
-
"@ankhorage/contracts": "^
|
|
63
|
-
"@ankhorage/data-sources": "^
|
|
63
|
+
"@ankhorage/contracts": "^8.0.0",
|
|
64
|
+
"@ankhorage/data-sources": "^2.0.0"
|
|
64
65
|
},
|
|
65
66
|
"peerDependencies": {
|
|
66
67
|
"react": "19.1.0",
|
|
67
68
|
"react-native": "0.81.5"
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
|
-
"@ankhorage/devtools": "^1.
|
|
71
|
-
"@ankhorage/paradox": "^0.1.
|
|
71
|
+
"@ankhorage/devtools": "^1.2.1",
|
|
72
|
+
"@ankhorage/paradox": "^0.1.21",
|
|
72
73
|
"@changesets/cli": "^2.31.0",
|
|
73
|
-
"@types/bun": "^1.3.
|
|
74
|
+
"@types/bun": "^1.3.14",
|
|
74
75
|
"@types/node": "^25.6.0",
|
|
75
76
|
"@types/react": "^19.2.14",
|
|
76
77
|
"react": "19.1.0",
|
|
@@ -78,5 +79,5 @@
|
|
|
78
79
|
"typescript": "^5.9.3"
|
|
79
80
|
},
|
|
80
81
|
"sideEffects": false,
|
|
81
|
-
"packageManager": "bun@1.3.
|
|
82
|
+
"packageManager": "bun@1.3.14"
|
|
82
83
|
}
|
package/paradox/badges/npm.svg
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="20" role="img" aria-label="npm:
|
|
2
|
-
<title>npm:
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="20" role="img" aria-label="npm: v1.1.0">
|
|
2
|
+
<title>npm: v1.1.0</title>
|
|
3
3
|
<rect width="38" height="20" fill="#374151"/>
|
|
4
4
|
<rect x="38" width="52" height="20" fill="#cb3837"/>
|
|
5
5
|
<text x="19" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">npm</text>
|
|
6
|
-
<text x="64" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">
|
|
6
|
+
<text x="64" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">v1.1.0</text>
|
|
7
7
|
</svg>
|
package/paradox/components.md
CHANGED
|
@@ -26,31 +26,33 @@ Export paths: `src/index.ts`
|
|
|
26
26
|
|
|
27
27
|
## RuntimeRenderer
|
|
28
28
|
|
|
29
|
-
Source: `src/RuntimeRenderer.tsx:
|
|
29
|
+
Source: `src/RuntimeRenderer.tsx:76:1`
|
|
30
30
|
|
|
31
31
|
Export paths: `src/index.ts`
|
|
32
32
|
|
|
33
33
|
| Prop | Type | Required | Default | Description |
|
|
34
34
|
| ----------------- | --------------------------------------------------------------------- | -------- | ------- | ----------- |
|
|
35
|
+
| apis | `ApiDefinitionList \| undefined` | no | — | |
|
|
35
36
|
| bindingContext | `Record<string, unknown> \| undefined` | no | — | |
|
|
36
37
|
| dataBindings | `ComponentDataBindingRegistry \| undefined` | no | — | |
|
|
37
|
-
| dataSources | `DataSourceRegistry \| undefined` | no | — | |
|
|
38
38
|
| dbAdapter | `DbAdapter \| undefined` | no | — | |
|
|
39
39
|
| dbRealtimeAdapter | `DbRealtimeAdapter \| undefined` | no | — | |
|
|
40
40
|
| disableActions | `boolean \| undefined` | no | — | |
|
|
41
41
|
| executeAction | `RuntimeActionExecutor \| undefined` | no | — | |
|
|
42
42
|
| executeOperation | `RuntimeBindingOperationExecutor \| undefined` | no | — | |
|
|
43
43
|
| isRoot | `boolean \| undefined` | no | — | |
|
|
44
|
+
| mediaAssets | `MediaAssetRegistry \| undefined` | no | — | |
|
|
44
45
|
| node | `UiNode` | yes | — | |
|
|
45
46
|
| onDiagnostics | `(diagnostics: readonly DataSourceDiagnostic[]) => void \| undefined` | no | — | |
|
|
46
47
|
| operationResults | `RuntimeBindingOperationResultCache \| undefined` | no | — | |
|
|
47
48
|
| registry | `ComponentRegistry \| undefined` | no | — | |
|
|
49
|
+
| resolveMediaAsset | `RuntimeMediaAssetResolver \| undefined` | no | — | |
|
|
48
50
|
| stateAdapter | `StateAdapter \| undefined` | no | — | |
|
|
49
51
|
| wrapNode | `(args: RuntimeRendererWrapArgs) => React.ReactNode \| undefined` | no | — | |
|
|
50
52
|
|
|
51
53
|
## RuntimeRendererConfigProvider
|
|
52
54
|
|
|
53
|
-
Source: `src/RuntimeRendererConfig.tsx:
|
|
55
|
+
Source: `src/RuntimeRendererConfig.tsx:158:1`
|
|
54
56
|
|
|
55
57
|
Export paths: `src/index.ts`
|
|
56
58
|
|
|
@@ -21,30 +21,40 @@ graph TD
|
|
|
21
21
|
module_src_rendering_ts["src/rendering.ts"]
|
|
22
22
|
package__ankhorage_runtime -.-> module_src_rendering_ts
|
|
23
23
|
module_src_rendering_ts --> module_src_registry_tsx
|
|
24
|
-
|
|
25
|
-
package__ankhorage_runtime -.->
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
module_src_runtimeActionRegistry_actions_test_ts["src/runtimeActionRegistry.actions.test.ts"]
|
|
25
|
+
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_actions_test_ts
|
|
26
|
+
module_src_runtimeActionRegistry_actions_test_ts --> module_src_runtimeActionRegistry_ts
|
|
27
|
+
module_src_runtimeActionRegistry_chains_test_ts["src/runtimeActionRegistry.chains.test.ts"]
|
|
28
|
+
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_chains_test_ts
|
|
29
|
+
module_src_runtimeActionRegistry_chains_test_ts --> module_src_runtimeActionRegistry_ts
|
|
30
|
+
module_src_runtimeActionRegistry_operations_test_ts["src/runtimeActionRegistry.operations.test.ts"]
|
|
31
|
+
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_operations_test_ts
|
|
32
|
+
module_src_runtimeActionRegistry_operations_test_ts --> module_src_runtimeActionRegistry_ts
|
|
33
|
+
module_src_runtimeActionRegistry_operations_test_ts --> module_src_runtimeBindings_ts
|
|
28
34
|
module_src_runtimeActionRegistry_ts["src/runtimeActionRegistry.ts"]
|
|
29
35
|
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_ts
|
|
36
|
+
module_src_runtimeActionRegistry_ts --> module_src_runtimeApiSelection_ts
|
|
30
37
|
module_src_runtimeActionRegistry_ts --> module_src_runtimeBindings_ts
|
|
31
38
|
module_src_runtimeActionRegistry_ts --> module_src_RuntimeRendererConfig_tsx
|
|
39
|
+
module_src_runtimeApiOperations_test_ts["src/runtimeApiOperations.test.ts"]
|
|
40
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiOperations_test_ts
|
|
41
|
+
module_src_runtimeApiOperations_test_ts --> module_src_runtimeApiOperations_ts
|
|
42
|
+
module_src_runtimeApiOperations_ts["src/runtimeApiOperations.ts"]
|
|
43
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiOperations_ts
|
|
44
|
+
module_src_runtimeApiOperations_ts --> module_src_runtimeBindings_ts
|
|
45
|
+
module_src_runtimeApiSelection_test_ts["src/runtimeApiSelection.test.ts"]
|
|
46
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiSelection_test_ts
|
|
47
|
+
module_src_runtimeApiSelection_test_ts --> module_src_runtimeApiSelection_ts
|
|
48
|
+
module_src_runtimeApiSelection_ts["src/runtimeApiSelection.ts"]
|
|
49
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiSelection_ts
|
|
32
50
|
module_src_runtimeBindings_test_ts["src/runtimeBindings.test.ts"]
|
|
33
51
|
package__ankhorage_runtime -.-> module_src_runtimeBindings_test_ts
|
|
52
|
+
module_src_runtimeBindings_test_ts --> module_src_runtimeApiSelection_ts
|
|
34
53
|
module_src_runtimeBindings_test_ts --> module_src_runtimeBindings_ts
|
|
35
54
|
module_src_runtimeBindings_test_ts --> module_src_runtimeNodeProps_ts
|
|
36
55
|
module_src_runtimeBindings_ts["src/runtimeBindings.ts"]
|
|
37
56
|
package__ankhorage_runtime -.-> module_src_runtimeBindings_ts
|
|
38
|
-
|
|
39
|
-
package__ankhorage_runtime -.-> module_src_runtimeDatabaseOperationExecutor_ts
|
|
40
|
-
module_src_runtimeDatabaseOperationExecutor_ts --> module_src_runtimeBindings_ts
|
|
41
|
-
module_src_runtimeDataSourceOperations_test_ts["src/runtimeDataSourceOperations.test.ts"]
|
|
42
|
-
package__ankhorage_runtime -.-> module_src_runtimeDataSourceOperations_test_ts
|
|
43
|
-
module_src_runtimeDataSourceOperations_test_ts --> module_src_runtimeDataSourceOperations_ts
|
|
44
|
-
module_src_runtimeDataSourceOperations_ts["src/runtimeDataSourceOperations.ts"]
|
|
45
|
-
package__ankhorage_runtime -.-> module_src_runtimeDataSourceOperations_ts
|
|
46
|
-
module_src_runtimeDataSourceOperations_ts --> module_src_runtimeBindings_ts
|
|
47
|
-
module_src_runtimeDataSourceOperations_ts --> module_src_runtimeDatabaseOperationExecutor_ts
|
|
57
|
+
module_src_runtimeBindings_ts --> module_src_runtimeApiSelection_ts
|
|
48
58
|
module_src_runtimeDbPersist_test_ts["src/runtimeDbPersist.test.ts"]
|
|
49
59
|
package__ankhorage_runtime -.-> module_src_runtimeDbPersist_test_ts
|
|
50
60
|
module_src_runtimeDbPersist_test_ts --> module_src_runtimeActionRegistry_ts
|
|
@@ -61,6 +71,17 @@ graph TD
|
|
|
61
71
|
module_src_runtimeEventExecution_ts --> module_src_RuntimeRendererConfig_tsx
|
|
62
72
|
module_src_runtimeManifest_ts["src/runtimeManifest.ts"]
|
|
63
73
|
package__ankhorage_runtime -.-> module_src_runtimeManifest_ts
|
|
74
|
+
module_src_runtimeMedia_test_ts["src/runtimeMedia.test.ts"]
|
|
75
|
+
package__ankhorage_runtime -.-> module_src_runtimeMedia_test_ts
|
|
76
|
+
module_src_runtimeMedia_test_ts --> module_src_runtimeMedia_ts
|
|
77
|
+
module_src_runtimeMedia_ts["src/runtimeMedia.ts"]
|
|
78
|
+
package__ankhorage_runtime -.-> module_src_runtimeMedia_ts
|
|
79
|
+
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
80
|
+
package__ankhorage_runtime -.-> module_src_runtimeMediaCache_tsx
|
|
81
|
+
module_src_runtimeMediaCache_tsx --> module_src_runtimeMedia_ts
|
|
82
|
+
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
83
|
+
package__ankhorage_runtime -.-> module_src_runtimeMediaConfig_test_ts
|
|
84
|
+
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
64
85
|
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
65
86
|
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_test_ts
|
|
66
87
|
module_src_runtimeNodeProps_test_ts --> module_src_runtimeNodeProps_ts
|
|
@@ -81,11 +102,14 @@ graph TD
|
|
|
81
102
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeBindings_ts
|
|
82
103
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeDbPersist_ts
|
|
83
104
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeEventExecution_ts
|
|
105
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeMedia_ts
|
|
106
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeMediaCache_tsx
|
|
84
107
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeNodeProps_ts
|
|
85
108
|
module_src_RuntimeRenderer_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
86
109
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeat_ts
|
|
87
110
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatDiagnostics_ts
|
|
88
111
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatEmptyState_ts
|
|
112
|
+
module_src_RuntimeRenderer_tsx --> module_src_useRuntimeMediaProps_ts
|
|
89
113
|
module_src_RuntimeRendererConfig_test_tsx["src/RuntimeRendererConfig.test.tsx"]
|
|
90
114
|
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_test_tsx
|
|
91
115
|
module_src_RuntimeRendererConfig_test_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
@@ -93,6 +117,7 @@ graph TD
|
|
|
93
117
|
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_tsx
|
|
94
118
|
module_src_RuntimeRendererConfig_tsx --> module_src_registry_tsx
|
|
95
119
|
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeBindings_ts
|
|
120
|
+
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeMedia_ts
|
|
96
121
|
module_src_runtimeRepeat_test_ts["src/runtimeRepeat.test.ts"]
|
|
97
122
|
package__ankhorage_runtime -.-> module_src_runtimeRepeat_test_ts
|
|
98
123
|
module_src_runtimeRepeat_test_ts --> module_src_runtimeActionRegistry_ts
|
|
@@ -100,6 +125,7 @@ graph TD
|
|
|
100
125
|
module_src_runtimeRepeat_test_ts --> module_src_runtimeRepeat_ts
|
|
101
126
|
module_src_runtimeRepeat_ts["src/runtimeRepeat.ts"]
|
|
102
127
|
package__ankhorage_runtime -.-> module_src_runtimeRepeat_ts
|
|
128
|
+
module_src_runtimeRepeat_ts --> module_src_runtimeApiSelection_ts
|
|
103
129
|
module_src_runtimeRepeat_ts --> module_src_runtimeBindings_ts
|
|
104
130
|
module_src_runtimeRepeatDiagnostics_ts["src/runtimeRepeatDiagnostics.ts"]
|
|
105
131
|
package__ankhorage_runtime -.-> module_src_runtimeRepeatDiagnostics_ts
|
|
@@ -116,12 +142,17 @@ graph TD
|
|
|
116
142
|
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_arrayPath_test_ts
|
|
117
143
|
module_src_runtimeScreenLoaders_arrayPath_test_ts --> module_src_runtimeBindings_ts
|
|
118
144
|
module_src_runtimeScreenLoaders_arrayPath_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
119
|
-
|
|
120
|
-
package__ankhorage_runtime -.->
|
|
121
|
-
|
|
122
|
-
|
|
145
|
+
module_src_runtimeScreenLoaders_execution_test_ts["src/runtimeScreenLoaders.execution.test.ts"]
|
|
146
|
+
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_execution_test_ts
|
|
147
|
+
module_src_runtimeScreenLoaders_execution_test_ts --> module_src_runtimeBindings_ts
|
|
148
|
+
module_src_runtimeScreenLoaders_execution_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
149
|
+
module_src_runtimeScreenLoaders_lifecycle_test_ts["src/runtimeScreenLoaders.lifecycle.test.ts"]
|
|
150
|
+
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_lifecycle_test_ts
|
|
151
|
+
module_src_runtimeScreenLoaders_lifecycle_test_ts --> module_src_runtimeBindings_ts
|
|
152
|
+
module_src_runtimeScreenLoaders_lifecycle_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
123
153
|
module_src_runtimeScreenLoaders_ts["src/runtimeScreenLoaders.ts"]
|
|
124
154
|
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_ts
|
|
155
|
+
module_src_runtimeScreenLoaders_ts --> module_src_runtimeApiSelection_ts
|
|
125
156
|
module_src_runtimeScreenLoaders_ts --> module_src_runtimeBindings_ts
|
|
126
157
|
module_src_runtimeStateAdapter_ts["src/runtimeStateAdapter.ts"]
|
|
127
158
|
package__ankhorage_runtime -.-> module_src_runtimeStateAdapter_ts
|
|
@@ -130,6 +161,9 @@ graph TD
|
|
|
130
161
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeBindings_ts
|
|
131
162
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeNodeProps_ts
|
|
132
163
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
164
|
+
module_src_useRuntimeMediaProps_ts["src/useRuntimeMediaProps.ts"]
|
|
165
|
+
package__ankhorage_runtime -.-> module_src_useRuntimeMediaProps_ts
|
|
166
|
+
module_src_useRuntimeMediaProps_ts --> module_src_runtimeMedia_ts
|
|
133
167
|
module_tests_runtime_test_ts["tests/runtime.test.ts"]
|
|
134
168
|
package__ankhorage_runtime -.-> module_tests_runtime_test_ts
|
|
135
169
|
module_tests_runtime_test_ts --> module_src_runtimeManifest_ts
|
|
@@ -7,18 +7,25 @@ graph LR
|
|
|
7
7
|
module_src_registry_tsx["src/registry.tsx"]
|
|
8
8
|
module_src_rendering_test_ts["src/rendering.test.ts"]
|
|
9
9
|
module_src_rendering_ts["src/rendering.ts"]
|
|
10
|
-
|
|
10
|
+
module_src_runtimeActionRegistry_actions_test_ts["src/runtimeActionRegistry.actions.test.ts"]
|
|
11
|
+
module_src_runtimeActionRegistry_chains_test_ts["src/runtimeActionRegistry.chains.test.ts"]
|
|
12
|
+
module_src_runtimeActionRegistry_operations_test_ts["src/runtimeActionRegistry.operations.test.ts"]
|
|
11
13
|
module_src_runtimeActionRegistry_ts["src/runtimeActionRegistry.ts"]
|
|
14
|
+
module_src_runtimeApiOperations_test_ts["src/runtimeApiOperations.test.ts"]
|
|
15
|
+
module_src_runtimeApiOperations_ts["src/runtimeApiOperations.ts"]
|
|
16
|
+
module_src_runtimeApiSelection_test_ts["src/runtimeApiSelection.test.ts"]
|
|
17
|
+
module_src_runtimeApiSelection_ts["src/runtimeApiSelection.ts"]
|
|
12
18
|
module_src_runtimeBindings_test_ts["src/runtimeBindings.test.ts"]
|
|
13
19
|
module_src_runtimeBindings_ts["src/runtimeBindings.ts"]
|
|
14
|
-
module_src_runtimeDatabaseOperationExecutor_ts["src/runtimeDatabaseOperationExecutor.ts"]
|
|
15
|
-
module_src_runtimeDataSourceOperations_test_ts["src/runtimeDataSourceOperations.test.ts"]
|
|
16
|
-
module_src_runtimeDataSourceOperations_ts["src/runtimeDataSourceOperations.ts"]
|
|
17
20
|
module_src_runtimeDbPersist_test_ts["src/runtimeDbPersist.test.ts"]
|
|
18
21
|
module_src_runtimeDbPersist_ts["src/runtimeDbPersist.ts"]
|
|
19
22
|
module_src_runtimeEventExecution_test_ts["src/runtimeEventExecution.test.ts"]
|
|
20
23
|
module_src_runtimeEventExecution_ts["src/runtimeEventExecution.ts"]
|
|
21
24
|
module_src_runtimeManifest_ts["src/runtimeManifest.ts"]
|
|
25
|
+
module_src_runtimeMedia_test_ts["src/runtimeMedia.test.ts"]
|
|
26
|
+
module_src_runtimeMedia_ts["src/runtimeMedia.ts"]
|
|
27
|
+
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
28
|
+
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
22
29
|
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
23
30
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
24
31
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
@@ -32,10 +39,12 @@ graph LR
|
|
|
32
39
|
module_src_runtimeRepeatEmptyState_ts["src/runtimeRepeatEmptyState.ts"]
|
|
33
40
|
module_src_RuntimeScreen_tsx["src/RuntimeScreen.tsx"]
|
|
34
41
|
module_src_runtimeScreenLoaders_arrayPath_test_ts["src/runtimeScreenLoaders.arrayPath.test.ts"]
|
|
35
|
-
|
|
42
|
+
module_src_runtimeScreenLoaders_execution_test_ts["src/runtimeScreenLoaders.execution.test.ts"]
|
|
43
|
+
module_src_runtimeScreenLoaders_lifecycle_test_ts["src/runtimeScreenLoaders.lifecycle.test.ts"]
|
|
36
44
|
module_src_runtimeScreenLoaders_ts["src/runtimeScreenLoaders.ts"]
|
|
37
45
|
module_src_runtimeStateAdapter_ts["src/runtimeStateAdapter.ts"]
|
|
38
46
|
module_src_runtimeStateAdapterConfig_test_ts["src/runtimeStateAdapterConfig.test.ts"]
|
|
47
|
+
module_src_useRuntimeMediaProps_ts["src/useRuntimeMediaProps.ts"]
|
|
39
48
|
module_tests_runtime_test_ts["tests/runtime.test.ts"]
|
|
40
49
|
export_ComponentRegistry["ComponentRegistry"]
|
|
41
50
|
module_src_componentRegistry_ts --> export_ComponentRegistry
|
|
@@ -67,31 +76,18 @@ graph LR
|
|
|
67
76
|
export_createRuntimeActionRegistry -.-> export_RuntimeBindingOperationExecutor
|
|
68
77
|
export_createRuntimeActionRegistry -.-> export_RuntimeBindingOperationResultCache
|
|
69
78
|
export_createRuntimeActionRegistry -.-> export_RuntimeBindingOperationResultWriter
|
|
79
|
+
export_createRuntimeApiOperationExecutor["createRuntimeApiOperationExecutor"]
|
|
80
|
+
module_src_runtimeApiOperations_ts --> export_createRuntimeApiOperationExecutor
|
|
81
|
+
export_createRuntimeApiOperationExecutor -.-> export_RuntimeApiOperationExecutorOptions
|
|
82
|
+
export_createRuntimeApiOperationExecutor -.-> export_RuntimeBindingOperationExecutor
|
|
70
83
|
export_createRuntimeBindingOperationKey["createRuntimeBindingOperationKey"]
|
|
71
84
|
module_src_runtimeBindings_ts --> export_createRuntimeBindingOperationKey
|
|
72
|
-
export_createRuntimeDataSourceOperationExecutor["createRuntimeDataSourceOperationExecutor"]
|
|
73
|
-
module_src_runtimeDataSourceOperations_ts --> export_createRuntimeDataSourceOperationExecutor
|
|
74
|
-
export_createRuntimeDataSourceOperationExecutor -.-> export_RuntimeBindingOperationExecutor
|
|
75
|
-
export_createRuntimeDataSourceOperationExecutor -.-> export_RuntimeDataSourceOperationExecutorOptions
|
|
76
|
-
export_createRuntimeManifest["createRuntimeManifest"]
|
|
77
|
-
module_src_runtimeManifest_ts --> export_createRuntimeManifest
|
|
78
|
-
export_createRuntimeManifest -.-> export_RuntimeManifest
|
|
79
|
-
export_createRuntimeManifest -.-> export_RuntimeManifestInput
|
|
80
85
|
export_createRuntimeMemoryStateAdapter["createRuntimeMemoryStateAdapter"]
|
|
81
86
|
module_src_runtimeStateAdapter_ts --> export_createRuntimeMemoryStateAdapter
|
|
82
87
|
export_createRuntimeMemoryStateAdapter -.-> export_RuntimeMemoryStateAdapterOptions
|
|
83
88
|
export_createRuntimeScreenLoaderRequestKey["createRuntimeScreenLoaderRequestKey"]
|
|
84
89
|
module_src_runtimeScreenLoaders_ts --> export_createRuntimeScreenLoaderRequestKey
|
|
85
90
|
export_createRuntimeScreenLoaderRequestKey -.-> export_RuntimeBindingOperationResultCache
|
|
86
|
-
export_defineRuntimeAction["defineRuntimeAction"]
|
|
87
|
-
module_src_runtimeManifest_ts --> export_defineRuntimeAction
|
|
88
|
-
export_defineRuntimeAction -.-> export_RuntimeActionDescriptor
|
|
89
|
-
export_defineRuntimeAdapter["defineRuntimeAdapter"]
|
|
90
|
-
module_src_runtimeManifest_ts --> export_defineRuntimeAdapter
|
|
91
|
-
export_defineRuntimeAdapter -.-> export_RuntimeAdapterDescriptor
|
|
92
|
-
export_defineRuntimeBinding["defineRuntimeBinding"]
|
|
93
|
-
module_src_runtimeManifest_ts --> export_defineRuntimeBinding
|
|
94
|
-
export_defineRuntimeBinding -.-> export_RuntimeBindingDescriptor
|
|
95
91
|
export_dispatchRuntimeComponentEvent["dispatchRuntimeComponentEvent"]
|
|
96
92
|
module_src_runtimeActionRegistry_ts --> export_dispatchRuntimeComponentEvent
|
|
97
93
|
export_dispatchRuntimeComponentEvent -.-> export_RuntimeActionHandlers
|
|
@@ -111,8 +107,6 @@ graph LR
|
|
|
111
107
|
export_executeRuntimeScreenOperationLoaders -.-> export_RuntimeBindingOperationResultCache
|
|
112
108
|
export_executeRuntimeScreenOperationLoaders -.-> export_RuntimeBindingResolutionContext
|
|
113
109
|
export_executeRuntimeScreenOperationLoaders -.-> export_RuntimeScreenOperationLoaderExecutionResult
|
|
114
|
-
export_listRuntimeCapabilities["listRuntimeCapabilities"]
|
|
115
|
-
module_src_runtimeManifest_ts --> export_listRuntimeCapabilities
|
|
116
110
|
export_ManifestContext["ManifestContext"]
|
|
117
111
|
module_src_ManifestContext_tsx --> export_ManifestContext
|
|
118
112
|
export_ManifestProvider["ManifestProvider"]
|
|
@@ -148,10 +142,6 @@ graph LR
|
|
|
148
142
|
export_resolveRuntimeBindingValueSync -.-> export_RuntimeBindingResolutionContext
|
|
149
143
|
export_resolveScreenOperationLoaders["resolveScreenOperationLoaders"]
|
|
150
144
|
module_src_runtimeScreenLoaders_ts --> export_resolveScreenOperationLoaders
|
|
151
|
-
export_RUNTIME_CAPABILITIES["RUNTIME_CAPABILITIES"]
|
|
152
|
-
module_src_runtimeManifest_ts --> export_RUNTIME_CAPABILITIES
|
|
153
|
-
export_RUNTIME_MANIFEST_KIND["RUNTIME_MANIFEST_KIND"]
|
|
154
|
-
module_src_runtimeManifest_ts --> export_RUNTIME_MANIFEST_KIND
|
|
155
145
|
export_RuntimeAction["RuntimeAction"]
|
|
156
146
|
module_src_RuntimeRendererConfig_tsx --> export_RuntimeAction
|
|
157
147
|
export_RuntimeActionDescriptor["RuntimeActionDescriptor"]
|
|
@@ -175,6 +165,10 @@ graph LR
|
|
|
175
165
|
module_src_runtimeActionRegistry_ts --> export_RuntimeActionResolutionScope
|
|
176
166
|
export_RuntimeAdapterDescriptor["RuntimeAdapterDescriptor"]
|
|
177
167
|
module_src_runtimeManifest_ts --> export_RuntimeAdapterDescriptor
|
|
168
|
+
export_RuntimeApiOperationExecutorOptions["RuntimeApiOperationExecutorOptions"]
|
|
169
|
+
module_src_runtimeApiOperations_ts --> export_RuntimeApiOperationExecutorOptions
|
|
170
|
+
export_RuntimeApiOperationSelection["RuntimeApiOperationSelection"]
|
|
171
|
+
module_src_runtimeApiSelection_ts --> export_RuntimeApiOperationSelection
|
|
178
172
|
export_RuntimeBindingDescriptor["RuntimeBindingDescriptor"]
|
|
179
173
|
module_src_runtimeManifest_ts --> export_RuntimeBindingDescriptor
|
|
180
174
|
export_RuntimeBindingOperationExecutionArgs["RuntimeBindingOperationExecutionArgs"]
|
|
@@ -204,8 +198,6 @@ graph LR
|
|
|
204
198
|
export_RuntimeComponentEventDispatchArgs -.-> export_RuntimeActionHandler
|
|
205
199
|
export_RuntimeComponentEventDispatchArgs -.-> export_RuntimeBindingOperationExecutor
|
|
206
200
|
export_RuntimeComponentEventDispatchArgs -.-> export_RuntimeBindingOperationResultWriter
|
|
207
|
-
export_RuntimeDataSourceOperationExecutorOptions["RuntimeDataSourceOperationExecutorOptions"]
|
|
208
|
-
module_src_runtimeDataSourceOperations_ts --> export_RuntimeDataSourceOperationExecutorOptions
|
|
209
201
|
export_RuntimeDbPersistError["RuntimeDbPersistError"]
|
|
210
202
|
module_src_runtimeDbPersist_ts --> export_RuntimeDbPersistError
|
|
211
203
|
export_RuntimeDbPersistExecutionResult["RuntimeDbPersistExecutionResult"]
|
|
@@ -235,6 +227,10 @@ graph LR
|
|
|
235
227
|
export_RuntimeManifestInput -.-> export_RuntimeBindingDescriptor
|
|
236
228
|
export_RuntimeManifestInput -.-> export_RuntimeDiagnostic
|
|
237
229
|
export_RuntimeManifestInput -.-> export_RuntimeManifestConfig
|
|
230
|
+
export_RuntimeMediaAssetResolver["RuntimeMediaAssetResolver"]
|
|
231
|
+
module_src_runtimeMedia_ts --> export_RuntimeMediaAssetResolver
|
|
232
|
+
export_RuntimeMediaAssetResolverArgs["RuntimeMediaAssetResolverArgs"]
|
|
233
|
+
module_src_runtimeMedia_ts --> export_RuntimeMediaAssetResolverArgs
|
|
238
234
|
export_RuntimeMemoryStateAdapterOptions["RuntimeMemoryStateAdapterOptions"]
|
|
239
235
|
module_src_runtimeStateAdapter_ts --> export_RuntimeMemoryStateAdapterOptions
|
|
240
236
|
export_RuntimeNodePropsResolver["RuntimeNodePropsResolver"]
|
|
@@ -248,6 +244,7 @@ graph LR
|
|
|
248
244
|
export_RuntimeRendererConfig -.-> export_RuntimeActionHandlers
|
|
249
245
|
export_RuntimeRendererConfig -.-> export_RuntimeBindingOperationExecutor
|
|
250
246
|
export_RuntimeRendererConfig -.-> export_RuntimeBindingOperationResultWriter
|
|
247
|
+
export_RuntimeRendererConfig -.-> export_RuntimeMediaAssetResolver
|
|
251
248
|
export_RuntimeRendererConfig -.-> export_RuntimeNodePropsResolver
|
|
252
249
|
export_RuntimeRendererConfig -.-> export_RuntimeRendererWrapArgs
|
|
253
250
|
export_RuntimeRendererConfigProvider["RuntimeRendererConfigProvider"]
|
|
@@ -257,10 +254,13 @@ graph LR
|
|
|
257
254
|
module_src_RuntimeRenderer_tsx --> export_RuntimeRendererProps
|
|
258
255
|
export_RuntimeRendererProps -.-> export_RuntimeActionHandler
|
|
259
256
|
export_RuntimeRendererProps -.-> export_RuntimeBindingOperationExecutor
|
|
257
|
+
export_RuntimeRendererProps -.-> export_RuntimeMediaAssetResolver
|
|
260
258
|
export_RuntimeRendererProps -.-> export_RuntimeRendererConfig
|
|
261
259
|
export_RuntimeRendererProps -.-> export_RuntimeRendererWrapArgs
|
|
262
260
|
export_RuntimeRendererWrapArgs["RuntimeRendererWrapArgs"]
|
|
263
261
|
module_src_RuntimeRendererConfig_tsx --> export_RuntimeRendererWrapArgs
|
|
262
|
+
export_RuntimeResolvedMediaValue["RuntimeResolvedMediaValue"]
|
|
263
|
+
module_src_runtimeMedia_ts --> export_RuntimeResolvedMediaValue
|
|
264
264
|
export_RuntimeResolveNodePropsArgs["RuntimeResolveNodePropsArgs"]
|
|
265
265
|
module_node_modules__ankhorage_contracts_dist_runtimeCallbacks_d_ts --> export_RuntimeResolveNodePropsArgs
|
|
266
266
|
export_RuntimeScreen["RuntimeScreen"]
|
|
@@ -290,7 +290,7 @@ graph LR
|
|
|
290
290
|
export_useRuntimeScreenOperationLoaders -.-> export_RuntimeBindingResolutionContext
|
|
291
291
|
export_useRuntimeScreenOperationLoaders -.-> export_RuntimeScreenOperationLoaderState
|
|
292
292
|
export_validateRuntimeBindingOperationRef["validateRuntimeBindingOperationRef"]
|
|
293
|
-
|
|
293
|
+
module_src_runtimeApiSelection_ts --> export_validateRuntimeBindingOperationRef
|
|
294
294
|
export_wrapRuntimeEventProps["wrapRuntimeEventProps"]
|
|
295
295
|
module_src_runtimeActionRegistry_ts --> export_wrapRuntimeEventProps
|
|
296
296
|
export_wrapRuntimeEventProps -.-> export_RuntimeEventPropWrapArgs
|