@ankhorage/runtime 4.1.2 → 5.0.2
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 +18 -0
- package/README.md +6 -6
- package/dist/RuntimeRenderer.d.ts +7 -7
- package/dist/RuntimeRenderer.d.ts.map +1 -1
- package/dist/RuntimeRenderer.js +40 -80
- package/dist/RuntimeRenderer.js.map +1 -1
- package/dist/RuntimeRendererConfig.d.ts +7 -22
- package/dist/RuntimeRendererConfig.d.ts.map +1 -1
- package/dist/RuntimeRendererConfig.js +5 -8
- package/dist/RuntimeRendererConfig.js.map +1 -1
- package/dist/RuntimeScreen.d.ts.map +1 -1
- package/dist/RuntimeScreen.js +10 -5
- package/dist/RuntimeScreen.js.map +1 -1
- package/dist/bindings.d.ts +4 -8
- package/dist/bindings.d.ts.map +1 -1
- package/dist/bindings.js +2 -4
- package/dist/bindings.js.map +1 -1
- package/dist/index.d.ts +10 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -6
- package/dist/index.js.map +1 -1
- package/dist/runtimeActionRegistry.d.ts +19 -24
- package/dist/runtimeActionRegistry.d.ts.map +1 -1
- package/dist/runtimeActionRegistry.js +90 -306
- package/dist/runtimeActionRegistry.js.map +1 -1
- package/dist/runtimeApiCapabilities.d.ts +11 -0
- package/dist/runtimeApiCapabilities.d.ts.map +1 -0
- package/dist/runtimeApiCapabilities.js +67 -0
- package/dist/runtimeApiCapabilities.js.map +1 -0
- package/dist/runtimeBindings.d.ts +28 -17
- package/dist/runtimeBindings.d.ts.map +1 -1
- package/dist/runtimeBindings.js +157 -197
- package/dist/runtimeBindings.js.map +1 -1
- package/dist/runtimeCapabilityExecutor.d.ts +8 -0
- package/dist/runtimeCapabilityExecutor.d.ts.map +1 -0
- package/dist/runtimeCapabilityExecutor.js +21 -0
- package/dist/runtimeCapabilityExecutor.js.map +1 -0
- package/dist/runtimeEventExecution.d.ts +1 -4
- package/dist/runtimeEventExecution.d.ts.map +1 -1
- package/dist/runtimeEventExecution.js.map +1 -1
- package/dist/runtimeEventOperationLifecycle.d.ts +4 -3
- package/dist/runtimeEventOperationLifecycle.d.ts.map +1 -1
- package/dist/runtimeEventOperationLifecycle.js +5 -5
- package/dist/runtimeEventOperationLifecycle.js.map +1 -1
- package/dist/runtimeNodeProps.d.ts +12 -24
- package/dist/runtimeNodeProps.d.ts.map +1 -1
- package/dist/runtimeNodeProps.js +27 -121
- package/dist/runtimeNodeProps.js.map +1 -1
- package/dist/runtimeRepeat.d.ts +6 -2
- package/dist/runtimeRepeat.d.ts.map +1 -1
- package/dist/runtimeRepeat.js +29 -108
- package/dist/runtimeRepeat.js.map +1 -1
- package/dist/runtimeScreenLoaders.d.ts +27 -42
- package/dist/runtimeScreenLoaders.d.ts.map +1 -1
- package/dist/runtimeScreenLoaders.js +113 -273
- package/dist/runtimeScreenLoaders.js.map +1 -1
- package/package.json +12 -6
- package/paradox/badges/npm.svg +3 -3
- package/paradox/components.md +6 -7
- package/paradox/diagrams/architecture-overview.mmd +25 -79
- package/paradox/diagrams/export-graph.mmd +67 -105
- package/paradox/diagrams/module-relationships.mmd +19 -59
- package/paradox/diagrams/sequences/apply-runtime-binding-data-path.mmd +14 -0
- package/paradox/diagrams/sequences/create-component-event-from-handler-args.mmd +0 -13
- package/paradox/diagrams/sequences/create-runtime-screen-loader-request-key.mmd +5 -0
- package/paradox/diagrams/sequences/execute-runtime-binding-invocation.mmd +19 -0
- package/paradox/diagrams/sequences/resolve-binding-input-map-sync.mmd +5 -0
- package/paradox/diagrams/sequences/resolve-binding-input-map.mmd +5 -0
- package/paradox/diagrams/sequences/runtime-screen.mmd +6 -3
- package/paradox/diagrams/sequences/use-runtime-screen-operation-loaders.mmd +6 -3
- package/paradox/exports.json +610 -848
- package/paradox/exports.md +280 -308
- package/paradox/index.html +1120 -2266
- package/paradox/paradox.json +2724 -5528
- package/dist/runtimeApiOperations.d.ts +0 -8
- package/dist/runtimeApiOperations.d.ts.map +0 -1
- package/dist/runtimeApiOperations.js +0 -38
- package/dist/runtimeApiOperations.js.map +0 -1
- package/dist/runtimeApiSelection.d.ts +0 -8
- package/dist/runtimeApiSelection.d.ts.map +0 -1
- package/dist/runtimeApiSelection.js +0 -52
- package/dist/runtimeApiSelection.js.map +0 -1
- package/dist/runtimeDbPersist.d.ts +0 -34
- package/dist/runtimeDbPersist.d.ts.map +0 -1
- package/dist/runtimeDbPersist.js +0 -73
- package/dist/runtimeDbPersist.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 { 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 { apis, bindingContext, executeOperation, onDiagnostics, operationResults, screen } = args;\n const loaders = React.useMemo(() => resolveScreenOperationLoaders(screen), [screen]);\n const hasLoaders = loaders.length > 0;\n const plan = React.useMemo(\n () =>\n createRuntimeScreenOperationLoaderPlan({\n bindingContext,\n loaders,\n operationResults,\n screenId: screen.id,\n }),\n [bindingContext, loaders, operationResults, screen.id],\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 pendingState = React.useMemo(\n () =>\n state.dependencyKey === requestKey\n ? state\n : createPendingRuntimeScreenOperationLoaderState({\n dependencyKey: requestKey,\n previousState: state,\n }),\n [requestKey, state],\n );\n const effectiveState = hasLoaders ? pendingState : emptyState;\n const lastDiagnosticsKeyRef = React.useRef<string | null>(null);\n const lifecycleRef = React.useRef<RuntimeScreenOperationLoaderLifecycle>(\n createRuntimeScreenOperationLoaderLifecycle(),\n );\n\n React.useEffect(() => {\n const request = beginRuntimeScreenOperationLoaderRequest({\n hasLoaders,\n lifecycle: lifecycleRef.current,\n requestKey,\n state,\n });\n\n lifecycleRef.current = request.lifecycle;\n\n if (!request.shouldExecute || request.requestId === undefined) {\n return;\n }\n const { requestId } = request;\n\n void (async () => {\n const result = await executePreparedRuntimeScreenOperationLoaders({\n apis,\n executeOperation,\n plan,\n screen,\n });\n\n setState((currentState) => {\n const completion = completeRuntimeScreenOperationLoaderRequest({\n lifecycle: lifecycleRef.current,\n requestId,\n result,\n state: currentState.dependencyKey === requestKey ? currentState : request.state,\n });\n\n return completion.accepted ? completion.state : currentState;\n });\n })();\n }, [apis, executeOperation, hasLoaders, plan, requestKey, screen, state]);\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 onDiagnostics?.(effectiveState.diagnostics);\n }, [effectiveState.diagnostics, onDiagnostics]);\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\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"]}
|
|
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 ScreenDataLoaderDefinition,\n ScreenSpec,\n} from '@ankhorage/contracts';\nimport React from 'react';\n\nimport {\n executeRuntimeBindingInvocation,\n resolveBindingInputMapSync,\n type RuntimeBindingResultCache,\n type RuntimeBindingResultWriter,\n type RuntimeCapabilityExecutor,\n} from './runtimeBindings';\n\nexport interface RuntimeScreenOperationLoaderState {\n readonly dependencyKey: string;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly resultSlots: RuntimeBindingResultCache;\n readonly renderVersion: number;\n}\n\nexport interface RuntimeScreenOperationLoaderExecutionResult {\n readonly dependencyKey: string;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n readonly resultSlots: RuntimeBindingResultCache;\n}\n\ninterface RuntimeScreenOperationLoaderRequestLifecycle {\n invalidate(): void;\n start(dependencyKey: string): number | undefined;\n isCurrent(args: { readonly dependencyKey: string; readonly requestId: number }): boolean;\n}\n\n/*** Tracks one active screen-loader request per effective dependency key. */\nexport function createRuntimeScreenOperationLoaderRequestLifecycle(): RuntimeScreenOperationLoaderRequestLifecycle {\n let dependencyKey: string | undefined;\n let requestId = 0;\n\n return {\n invalidate() {\n requestId += 1;\n },\n start(nextDependencyKey) {\n if (nextDependencyKey === dependencyKey) return undefined;\n dependencyKey = nextDependencyKey;\n requestId += 1;\n return requestId;\n },\n isCurrent(args) {\n return args.dependencyKey === dependencyKey && args.requestId === requestId;\n },\n };\n}\n\n/*** Returns the portable capability invocations authored on a screen. */\nexport function resolveScreenOperationLoaders(\n screen: ScreenSpec,\n): readonly ScreenDataLoaderDefinition[] {\n return screen.dataLoaders ?? [];\n}\n\n/*** Creates a deterministic loader request key from resolved inputs and declared result slots. */\nexport function createRuntimeScreenLoaderRequestKey(args: {\n readonly screenId: string;\n readonly loaders: readonly ScreenDataLoaderDefinition[];\n readonly bindingContext?: Record<string, unknown>;\n readonly resultSlots?: RuntimeBindingResultCache;\n}): string {\n return stableSerialize({\n loaders: args.loaders.map((loader) => ({\n capability: loader.capability,\n input: resolveBindingInputMapSync(loader.input, {\n context: args.bindingContext,\n resultSlots: args.resultSlots,\n }),\n result: loader.result,\n })),\n screenId: args.screenId,\n });\n}\n\n/*** Constructs a pending state for capability-backed screen loaders. */\nexport function createPendingRuntimeScreenOperationLoaderState(args: {\n readonly dependencyKey: string;\n readonly previousState?: RuntimeScreenOperationLoaderState;\n}): RuntimeScreenOperationLoaderState {\n return {\n dependencyKey: args.dependencyKey,\n diagnostics: [],\n resultSlots: {},\n renderVersion: (args.previousState?.renderVersion ?? -1) + 1,\n };\n}\n\n/*** Executes screen loaders through the same invocation and result-slot machinery as events. */\nexport async function executeRuntimeScreenOperationLoaders(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly executeCapability?: RuntimeCapabilityExecutor;\n readonly resultSlots?: RuntimeBindingResultCache;\n readonly screen: ScreenSpec;\n readonly loaders: readonly ScreenDataLoaderDefinition[];\n}): Promise<RuntimeScreenOperationLoaderExecutionResult> {\n const resultSlots: Record<string, BindingValue | undefined> = { ...(args.resultSlots ?? {}) };\n const diagnostics: DataSourceDiagnostic[] = [];\n const writeResultSlot: RuntimeBindingResultWriter = (slot, value) => {\n resultSlots[slot] = value;\n };\n\n for (const loader of args.loaders) {\n try {\n await executeRuntimeBindingInvocation(\n loader,\n {\n context: args.bindingContext,\n executeCapability: args.executeCapability,\n resultSlots,\n writeResultSlot,\n },\n { node: args.screen.root },\n diagnostics,\n );\n } catch {\n diagnostics.push({\n code: 'adapter-error',\n message: `Capability '${loader.capability}' could not be completed. Please try again.`,\n severity: 'error',\n });\n }\n }\n\n return {\n dependencyKey: createRuntimeScreenLoaderRequestKey({\n bindingContext: args.bindingContext,\n loaders: args.loaders,\n resultSlots: args.resultSlots,\n screenId: args.screen.id,\n }),\n diagnostics,\n resultSlots,\n };\n}\n\n/*** Runs screen capability invocations when their serialized request input changes. */\nexport function useRuntimeScreenOperationLoaders(args: {\n readonly bindingContext?: Record<string, unknown>;\n readonly executeCapability?: RuntimeCapabilityExecutor;\n readonly resultSlots?: RuntimeBindingResultCache;\n readonly onDiagnostics?: (diagnostics: readonly DataSourceDiagnostic[]) => void;\n readonly screen: ScreenSpec;\n}): RuntimeScreenOperationLoaderState {\n const { onDiagnostics } = args;\n const loaders = React.useMemo(() => resolveScreenOperationLoaders(args.screen), [args.screen]);\n const dependencyKey = React.useMemo(\n () =>\n createRuntimeScreenLoaderRequestKey({\n bindingContext: args.bindingContext,\n loaders,\n resultSlots: args.resultSlots,\n screenId: args.screen.id,\n }),\n [args.bindingContext, args.resultSlots, args.screen.id, loaders],\n );\n const [state, setState] = React.useState<RuntimeScreenOperationLoaderState>(() =>\n createPendingRuntimeScreenOperationLoaderState({ dependencyKey }),\n );\n const requestLifecycle = React.useRef(createRuntimeScreenOperationLoaderRequestLifecycle());\n\n React.useEffect(() => {\n if (loaders.length === 0) {\n requestLifecycle.current.invalidate();\n return;\n }\n const requestId = requestLifecycle.current.start(dependencyKey);\n if (requestId === undefined) return;\n void executeRuntimeScreenOperationLoaders({\n bindingContext: args.bindingContext,\n executeCapability: args.executeCapability,\n loaders,\n resultSlots: args.resultSlots,\n screen: args.screen,\n }).then((result) => {\n if (requestLifecycle.current.isCurrent({ dependencyKey, requestId })) {\n setState((current) => ({\n ...result,\n renderVersion:\n current.dependencyKey === dependencyKey\n ? current.renderVersion\n : current.renderVersion + 1,\n }));\n }\n });\n }, [\n args.bindingContext,\n args.executeCapability,\n args.resultSlots,\n args.screen,\n dependencyKey,\n loaders,\n ]);\n\n React.useEffect(\n () => () => {\n requestLifecycle.current.invalidate();\n },\n [],\n );\n\n React.useEffect(() => {\n if (state.diagnostics.length > 0) onDiagnostics?.(state.diagnostics);\n }, [onDiagnostics, state.diagnostics]);\n\n return state.dependencyKey === dependencyKey\n ? state\n : createPendingRuntimeScreenOperationLoaderState({ dependencyKey, previousState: state });\n}\n\nfunction stableSerialize(value: unknown): string {\n return JSON.stringify(value);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/runtime",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"description": "Platform-neutral runtime renderer, contracts, and helpers for Ankhorage generated apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
@@ -196,8 +196,8 @@
|
|
|
196
196
|
},
|
|
197
197
|
"dependencies": {
|
|
198
198
|
"@ankhorage/capability": "^0.2.1",
|
|
199
|
-
"@ankhorage/contracts": "^
|
|
200
|
-
"@ankhorage/data-sources": "^2.1.
|
|
199
|
+
"@ankhorage/contracts": "^26.0.0",
|
|
200
|
+
"@ankhorage/data-sources": "^2.1.1",
|
|
201
201
|
"@ankhorage/utility": "^1.9.85"
|
|
202
202
|
},
|
|
203
203
|
"peerDependencies": {
|
|
@@ -211,8 +211,8 @@
|
|
|
211
211
|
}
|
|
212
212
|
},
|
|
213
213
|
"devDependencies": {
|
|
214
|
-
"@ankhorage/devtools": "^2.3.
|
|
215
|
-
"@ankhorage/paradox": "^0.3.
|
|
214
|
+
"@ankhorage/devtools": "^2.3.18",
|
|
215
|
+
"@ankhorage/paradox": "^0.3.4",
|
|
216
216
|
"@types/bun": "^1.4.2",
|
|
217
217
|
"@types/node": "^26.6.4",
|
|
218
218
|
"@types/react": "^19.3.0",
|
|
@@ -224,5 +224,11 @@
|
|
|
224
224
|
"typescript": "~6.0.3"
|
|
225
225
|
},
|
|
226
226
|
"sideEffects": false,
|
|
227
|
-
"packageManager": "bun@1.4.2"
|
|
227
|
+
"packageManager": "bun@1.4.2",
|
|
228
|
+
"directories": {
|
|
229
|
+
"doc": "docs",
|
|
230
|
+
"example": "examples",
|
|
231
|
+
"test": "tests"
|
|
232
|
+
},
|
|
233
|
+
"author": ""
|
|
228
234
|
}
|
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: v5.0.2">
|
|
2
|
+
<title>npm: v5.0.2</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">v5.0.2</text>
|
|
7
7
|
</svg>
|
package/paradox/components.md
CHANGED
|
@@ -26,33 +26,32 @@ Export paths: `src/index.ts`
|
|
|
26
26
|
|
|
27
27
|
## RuntimeRenderer
|
|
28
28
|
|
|
29
|
-
Source: `src/RuntimeRenderer.tsx:
|
|
29
|
+
Source: `src/RuntimeRenderer.tsx:73:1`
|
|
30
30
|
|
|
31
31
|
Export paths: `src/index.ts`
|
|
32
32
|
|
|
33
33
|
| Prop | Type | Required | Default | Description |
|
|
34
34
|
| --- | --- | --- | --- | --- |
|
|
35
|
-
| apis | `ApiDefinitionRegistry \| undefined` | no | — | |
|
|
36
35
|
| bindingContext | `Record<string, unknown> \| undefined` | no | — | |
|
|
37
36
|
| dataBindings | `ComponentDataBindingRegistry \| undefined` | no | — | |
|
|
38
37
|
| dbAdapter | `DbAdapter \| undefined` | no | — | |
|
|
39
38
|
| dbRealtimeAdapter | `DbRealtimeAdapter \| undefined` | no | — | |
|
|
40
39
|
| disableActions | `boolean \| undefined` | no | — | |
|
|
41
|
-
|
|
|
42
|
-
| executeOperation | `RuntimeBindingOperationExecutor \| undefined` | no | — | |
|
|
40
|
+
| executeCapability | `RuntimeCapabilityExecutor \| undefined` | no | — | |
|
|
43
41
|
| isRoot | `boolean \| undefined` | no | — | |
|
|
44
42
|
| mediaAssets | `MediaAssetRegistry \| undefined` | no | — | |
|
|
45
43
|
| node | `UiNode` | yes | — | |
|
|
46
44
|
| onDiagnostics | `(diagnostics: readonly DataSourceDiagnostic[]) => void \| undefined` | no | — | |
|
|
47
|
-
| operationResults | `RuntimeBindingOperationResultCache \| undefined` | no | — | |
|
|
48
45
|
| registry | `ComponentRegistry \| undefined` | no | — | |
|
|
46
|
+
| resolveEventCapability | `RuntimeEventCapabilityResolver \| undefined` | no | — | |
|
|
49
47
|
| resolveMediaAsset | `RuntimeMediaAssetResolver \| undefined` | no | — | |
|
|
48
|
+
| resultSlots | `RuntimeBindingResultCache \| undefined` | no | — | |
|
|
50
49
|
| stateAdapter | `StateAdapter \| undefined` | no | — | |
|
|
51
50
|
| wrapNode | `(args: RuntimeRendererWrapArgs) => React.ReactNode \| undefined` | no | — | |
|
|
52
51
|
|
|
53
52
|
## RuntimeRendererConfigProvider
|
|
54
53
|
|
|
55
|
-
Source: `src/RuntimeRendererConfig.tsx:
|
|
54
|
+
Source: `src/RuntimeRendererConfig.tsx:139:1`
|
|
56
55
|
|
|
57
56
|
Export paths: `src/index.ts`
|
|
58
57
|
|
|
@@ -63,7 +62,7 @@ Export paths: `src/index.ts`
|
|
|
63
62
|
|
|
64
63
|
## RuntimeScreen
|
|
65
64
|
|
|
66
|
-
Source: `src/RuntimeScreen.tsx:
|
|
65
|
+
Source: `src/RuntimeScreen.tsx:19:1`
|
|
67
66
|
|
|
68
67
|
Export paths: `src/index.ts`
|
|
69
68
|
|
|
@@ -4,9 +4,6 @@ graph TD
|
|
|
4
4
|
package__ankhorage_runtime --> entrypoint_src_index_ts
|
|
5
5
|
module_paradox_config_ts["paradox.config.ts"]
|
|
6
6
|
package__ankhorage_runtime -.-> module_paradox_config_ts
|
|
7
|
-
module_src_bindings_test_ts["src/bindings.test.ts"]
|
|
8
|
-
package__ankhorage_runtime -.-> module_src_bindings_test_ts
|
|
9
|
-
module_src_bindings_test_ts --> module_src_bindings_ts
|
|
10
7
|
module_src_bindings_ts["src/bindings.ts"]
|
|
11
8
|
package__ankhorage_runtime -.-> module_src_bindings_ts
|
|
12
9
|
module_src_capabilities_index_ts["src/capabilities/index.ts"]
|
|
@@ -38,59 +35,34 @@ graph TD
|
|
|
38
35
|
module_src_rendering_ts["src/rendering.ts"]
|
|
39
36
|
package__ankhorage_runtime -.-> module_src_rendering_ts
|
|
40
37
|
module_src_rendering_ts --> module_src_registry_tsx
|
|
41
|
-
|
|
42
|
-
package__ankhorage_runtime -.->
|
|
43
|
-
|
|
44
|
-
module_src_runtimeActionRegistry_chains_test_ts["src/runtimeActionRegistry.chains.test.ts"]
|
|
45
|
-
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_chains_test_ts
|
|
46
|
-
module_src_runtimeActionRegistry_chains_test_ts --> module_src_runtimeActionRegistry_ts
|
|
47
|
-
module_src_runtimeActionRegistry_operations_test_ts["src/runtimeActionRegistry.operations.test.ts"]
|
|
48
|
-
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_operations_test_ts
|
|
49
|
-
module_src_runtimeActionRegistry_operations_test_ts --> module_src_runtimeActionRegistry_ts
|
|
50
|
-
module_src_runtimeActionRegistry_operations_test_ts --> module_src_runtimeBindings_ts
|
|
38
|
+
module_src_runtimeActionRegistry_test_ts["src/runtimeActionRegistry.test.ts"]
|
|
39
|
+
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_test_ts
|
|
40
|
+
module_src_runtimeActionRegistry_test_ts --> module_src_runtimeActionRegistry_ts
|
|
51
41
|
module_src_runtimeActionRegistry_ts["src/runtimeActionRegistry.ts"]
|
|
52
42
|
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_ts
|
|
53
|
-
module_src_runtimeActionRegistry_ts --> module_src_runtimeApiSelection_ts
|
|
54
43
|
module_src_runtimeActionRegistry_ts --> module_src_runtimeBindings_ts
|
|
55
44
|
module_src_runtimeActionRegistry_ts --> module_src_runtimeEventOperationLifecycle_ts
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
module_src_runtimeApiSelection_test_ts --> module_src_runtimeApiSelection_ts
|
|
66
|
-
module_src_runtimeApiSelection_ts["src/runtimeApiSelection.ts"]
|
|
67
|
-
package__ankhorage_runtime -.-> module_src_runtimeApiSelection_ts
|
|
68
|
-
module_src_runtimeBindings_test_ts["src/runtimeBindings.test.ts"]
|
|
69
|
-
package__ankhorage_runtime -.-> module_src_runtimeBindings_test_ts
|
|
70
|
-
module_src_runtimeBindings_test_ts --> module_src_runtimeApiSelection_ts
|
|
71
|
-
module_src_runtimeBindings_test_ts --> module_src_runtimeBindings_ts
|
|
72
|
-
module_src_runtimeBindings_test_ts --> module_src_runtimeNodeProps_ts
|
|
45
|
+
module_src_runtimeApiCapabilities_ts["src/runtimeApiCapabilities.ts"]
|
|
46
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiCapabilities_ts
|
|
47
|
+
module_src_runtimeApiCapabilities_ts --> module_src_runtimeBindings_ts
|
|
48
|
+
module_src_runtimeBindings_contracts26_test_ts["src/runtimeBindings.contracts26.test.ts"]
|
|
49
|
+
package__ankhorage_runtime -.-> module_src_runtimeBindings_contracts26_test_ts
|
|
50
|
+
module_src_runtimeBindings_contracts26_test_ts --> module_src_runtimeActionRegistry_ts
|
|
51
|
+
module_src_runtimeBindings_contracts26_test_ts --> module_src_runtimeBindings_ts
|
|
52
|
+
module_src_runtimeBindings_contracts26_test_ts --> module_src_runtimeRepeat_ts
|
|
53
|
+
module_src_runtimeBindings_contracts26_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
73
54
|
module_src_runtimeBindings_ts["src/runtimeBindings.ts"]
|
|
74
55
|
package__ankhorage_runtime -.-> module_src_runtimeBindings_ts
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
module_src_runtimeDbPersist_ts --> module_src_RuntimeRendererConfig_tsx
|
|
83
|
-
module_src_runtimeEventExecution_test_ts["src/runtimeEventExecution.test.ts"]
|
|
84
|
-
package__ankhorage_runtime -.-> module_src_runtimeEventExecution_test_ts
|
|
85
|
-
module_src_runtimeEventExecution_test_ts --> module_src_runtimeEventExecution_ts
|
|
56
|
+
module_src_runtimeCapabilityExecutor_test_ts["src/runtimeCapabilityExecutor.test.ts"]
|
|
57
|
+
package__ankhorage_runtime -.-> module_src_runtimeCapabilityExecutor_test_ts
|
|
58
|
+
module_src_runtimeCapabilityExecutor_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
59
|
+
module_src_runtimeCapabilityExecutor_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
60
|
+
module_src_runtimeCapabilityExecutor_ts["src/runtimeCapabilityExecutor.ts"]
|
|
61
|
+
package__ankhorage_runtime -.-> module_src_runtimeCapabilityExecutor_ts
|
|
62
|
+
module_src_runtimeCapabilityExecutor_ts --> module_src_runtimeBindings_ts
|
|
86
63
|
module_src_runtimeEventExecution_ts["src/runtimeEventExecution.ts"]
|
|
87
64
|
package__ankhorage_runtime -.-> module_src_runtimeEventExecution_ts
|
|
88
65
|
module_src_runtimeEventExecution_ts --> module_src_runtimeActionRegistry_ts
|
|
89
|
-
module_src_runtimeEventExecution_ts --> module_src_RuntimeRendererConfig_tsx
|
|
90
|
-
module_src_runtimeEventOperationLifecycle_test_ts["src/runtimeEventOperationLifecycle.test.ts"]
|
|
91
|
-
package__ankhorage_runtime -.-> module_src_runtimeEventOperationLifecycle_test_ts
|
|
92
|
-
module_src_runtimeEventOperationLifecycle_test_ts --> module_src_runtimeActionRegistry_ts
|
|
93
|
-
module_src_runtimeEventOperationLifecycle_test_ts --> module_src_runtimeEventOperationLifecycle_ts
|
|
94
66
|
module_src_runtimeEventOperationLifecycle_ts["src/runtimeEventOperationLifecycle.ts"]
|
|
95
67
|
package__ankhorage_runtime -.-> module_src_runtimeEventOperationLifecycle_ts
|
|
96
68
|
module_src_runtimeImageMedia_test_ts["src/runtimeImageMedia.test.ts"]
|
|
@@ -110,10 +82,6 @@ graph TD
|
|
|
110
82
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
111
83
|
package__ankhorage_runtime -.-> module_src_runtimeMediaConfig_test_ts
|
|
112
84
|
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
113
|
-
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
114
|
-
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_test_ts
|
|
115
|
-
module_src_runtimeNodeProps_test_ts --> module_src_runtimeNodeProps_ts
|
|
116
|
-
module_src_runtimeNodeProps_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
117
85
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
118
86
|
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_ts
|
|
119
87
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
@@ -129,7 +97,6 @@ graph TD
|
|
|
129
97
|
module_src_RuntimeRenderer_tsx --> module_src_rendering_ts
|
|
130
98
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeActionRegistry_ts
|
|
131
99
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeBindings_ts
|
|
132
|
-
module_src_RuntimeRenderer_tsx --> module_src_runtimeDbPersist_ts
|
|
133
100
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeEventExecution_ts
|
|
134
101
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeEventOperationLifecycle_ts
|
|
135
102
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeMedia_ts
|
|
@@ -140,23 +107,15 @@ graph TD
|
|
|
140
107
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatDiagnostics_ts
|
|
141
108
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatEmptyState_ts
|
|
142
109
|
module_src_RuntimeRenderer_tsx --> module_src_useRuntimeMediaProps_ts
|
|
143
|
-
module_src_RuntimeRendererConfig_test_tsx["src/RuntimeRendererConfig.test.tsx"]
|
|
144
|
-
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_test_tsx
|
|
145
|
-
module_src_RuntimeRendererConfig_test_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
146
110
|
module_src_RuntimeRendererConfig_tsx["src/RuntimeRendererConfig.tsx"]
|
|
147
111
|
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_tsx
|
|
148
112
|
module_src_RuntimeRendererConfig_tsx --> module_src_registry_tsx
|
|
113
|
+
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeActionRegistry_ts
|
|
149
114
|
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeBindings_ts
|
|
150
115
|
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeEventOperationLifecycle_ts
|
|
151
116
|
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeMedia_ts
|
|
152
|
-
module_src_runtimeRepeat_test_ts["src/runtimeRepeat.test.ts"]
|
|
153
|
-
package__ankhorage_runtime -.-> module_src_runtimeRepeat_test_ts
|
|
154
|
-
module_src_runtimeRepeat_test_ts --> module_src_runtimeActionRegistry_ts
|
|
155
|
-
module_src_runtimeRepeat_test_ts --> module_src_runtimeBindings_ts
|
|
156
|
-
module_src_runtimeRepeat_test_ts --> module_src_runtimeRepeat_ts
|
|
157
117
|
module_src_runtimeRepeat_ts["src/runtimeRepeat.ts"]
|
|
158
118
|
package__ankhorage_runtime -.-> module_src_runtimeRepeat_ts
|
|
159
|
-
module_src_runtimeRepeat_ts --> module_src_runtimeApiSelection_ts
|
|
160
119
|
module_src_runtimeRepeat_ts --> module_src_runtimeBindings_ts
|
|
161
120
|
module_src_runtimeRepeatDiagnostics_ts["src/runtimeRepeatDiagnostics.ts"]
|
|
162
121
|
package__ankhorage_runtime -.-> module_src_runtimeRepeatDiagnostics_ts
|
|
@@ -165,33 +124,20 @@ graph TD
|
|
|
165
124
|
module_src_RuntimeScreen_tsx["src/RuntimeScreen.tsx"]
|
|
166
125
|
package__ankhorage_runtime -.-> module_src_RuntimeScreen_tsx
|
|
167
126
|
module_src_RuntimeScreen_tsx --> module_src_registry_tsx
|
|
127
|
+
module_src_RuntimeScreen_tsx --> module_src_runtimeApiCapabilities_ts
|
|
128
|
+
module_src_RuntimeScreen_tsx --> module_src_runtimeCapabilityExecutor_ts
|
|
168
129
|
module_src_RuntimeScreen_tsx --> module_src_RuntimeRenderer_tsx
|
|
169
130
|
module_src_RuntimeScreen_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
170
131
|
module_src_RuntimeScreen_tsx --> module_src_runtimeScreenLoaders_ts
|
|
171
132
|
module_src_RuntimeScreen_tsx --> module_src_runtimeStateAdapter_ts
|
|
172
|
-
|
|
173
|
-
package__ankhorage_runtime -.->
|
|
174
|
-
|
|
175
|
-
module_src_runtimeScreenLoaders_arrayPath_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
176
|
-
module_src_runtimeScreenLoaders_execution_test_ts["src/runtimeScreenLoaders.execution.test.ts"]
|
|
177
|
-
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_execution_test_ts
|
|
178
|
-
module_src_runtimeScreenLoaders_execution_test_ts --> module_src_runtimeBindings_ts
|
|
179
|
-
module_src_runtimeScreenLoaders_execution_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
180
|
-
module_src_runtimeScreenLoaders_lifecycle_test_ts["src/runtimeScreenLoaders.lifecycle.test.ts"]
|
|
181
|
-
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_lifecycle_test_ts
|
|
182
|
-
module_src_runtimeScreenLoaders_lifecycle_test_ts --> module_src_runtimeBindings_ts
|
|
183
|
-
module_src_runtimeScreenLoaders_lifecycle_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
133
|
+
module_src_runtimeScreenLoaders_test_ts["src/runtimeScreenLoaders.test.ts"]
|
|
134
|
+
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_test_ts
|
|
135
|
+
module_src_runtimeScreenLoaders_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
184
136
|
module_src_runtimeScreenLoaders_ts["src/runtimeScreenLoaders.ts"]
|
|
185
137
|
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_ts
|
|
186
|
-
module_src_runtimeScreenLoaders_ts --> module_src_runtimeApiSelection_ts
|
|
187
138
|
module_src_runtimeScreenLoaders_ts --> module_src_runtimeBindings_ts
|
|
188
139
|
module_src_runtimeStateAdapter_ts["src/runtimeStateAdapter.ts"]
|
|
189
140
|
package__ankhorage_runtime -.-> module_src_runtimeStateAdapter_ts
|
|
190
|
-
module_src_runtimeStateAdapterConfig_test_ts["src/runtimeStateAdapterConfig.test.ts"]
|
|
191
|
-
package__ankhorage_runtime -.-> module_src_runtimeStateAdapterConfig_test_ts
|
|
192
|
-
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeBindings_ts
|
|
193
|
-
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeNodeProps_ts
|
|
194
|
-
module_src_runtimeStateAdapterConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
195
141
|
module_src_useRuntimeMediaProps_ts["src/useRuntimeMediaProps.ts"]
|
|
196
142
|
package__ankhorage_runtime -.-> module_src_useRuntimeMediaProps_ts
|
|
197
143
|
module_src_useRuntimeMediaProps_ts --> module_src_runtimeMedia_ts
|