@ankhorage/runtime 5.2.6 → 5.3.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 +6 -0
- package/README.md +1 -1
- package/dist/runtimeBindings.js +8 -0
- package/dist/runtimeBindings.js.map +1 -1
- package/package.json +1 -1
- package/paradox/badges/npm.svg +3 -3
- package/paradox/diagrams/architecture-overview.mmd +5 -0
- package/paradox/diagrams/export-graph.mmd +1 -0
- package/paradox/diagrams/module-relationships.mmd +4 -0
- package/paradox/index.html +41 -11
- package/paradox/paradox.json +87 -9
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
# @ankhorage/runtime
|
|
5
5
|
|
|
6
|
-
         
|
|
7
7
|
|
|
8
8
|
Platform-neutral runtime renderer, contracts, and helpers for Ankhorage generated apps.
|
|
9
9
|
|
package/dist/runtimeBindings.js
CHANGED
|
@@ -161,6 +161,14 @@ function applyBindingValueTransforms(value, transforms) {
|
|
|
161
161
|
return transforms.reduce((current, transform) => {
|
|
162
162
|
if (transform === 'length')
|
|
163
163
|
return typeof current === 'string' || Array.isArray(current) ? current.length : undefined;
|
|
164
|
+
if (transform === 'number') {
|
|
165
|
+
if (typeof current === 'number')
|
|
166
|
+
return Number.isFinite(current) ? current : undefined;
|
|
167
|
+
if (typeof current !== 'string' || current.trim().length === 0)
|
|
168
|
+
return undefined;
|
|
169
|
+
const numericValue = Number(current);
|
|
170
|
+
return Number.isFinite(numericValue) ? numericValue : undefined;
|
|
171
|
+
}
|
|
164
172
|
if (typeof current !== 'string')
|
|
165
173
|
return undefined;
|
|
166
174
|
if (transform === 'trim')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeBindings.js","sourceRoot":"","sources":["../src/runtimeBindings.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BindingCapabilityReference,\n BindingExpression,\n BindingInputMap,\n BindingInvocation,\n BindingValue,\n BindingValueTransform,\n ComponentDataBindingRegistry,\n ComponentEventDto,\n DataSourceDiagnostic,\n PropBinding,\n StateAdapter,\n UiNode,\n} from '@ankhorage/contracts';\nimport type { Capability } from '@ankhorage/contracts/capability';\nimport { isRecord } from '@ankhorage/utility/object';\n\nexport type RuntimeBindingResultCache = Readonly<Record<string, BindingValue | undefined>>;\nexport type RuntimeBindingResultWriter = (slot: string, value: BindingValue | undefined) => void;\n\nexport interface RuntimeCapabilityExecutionArgs {\n readonly capability: Capability['id'];\n readonly input?: BindingValue;\n readonly node?: UiNode;\n readonly event?: ComponentEventDto<string, object>;\n}\n\nexport type RuntimeCapabilityExecutionResult =\n | {\n readonly ok: true;\n readonly data: BindingValue;\n readonly diagnostics?: readonly DataSourceDiagnostic[];\n }\n | { readonly ok: false; readonly diagnostics: readonly DataSourceDiagnostic[] };\n\nexport type RuntimeCapabilityExecutor = (\n args: RuntimeCapabilityExecutionArgs,\n) => Promise<RuntimeCapabilityExecutionResult>;\n\nexport interface RuntimeBindingResolutionContext {\n readonly context?: Record<string, unknown>;\n readonly event?: ComponentEventDto<string, object>;\n readonly stateAdapter?: StateAdapter;\n readonly capabilityValues?: Readonly<Record<string, BindingValue | undefined>>;\n readonly dataBindings?: ComponentDataBindingRegistry;\n readonly resultSlots?: RuntimeBindingResultCache;\n readonly executeCapability?: RuntimeCapabilityExecutor;\n readonly writeResultSlot?: RuntimeBindingResultWriter;\n}\n\nexport interface RuntimeBindingResolutionArgs extends RuntimeBindingResolutionContext {\n readonly node: UiNode;\n readonly props: Record<string, unknown>;\n}\n\nexport interface RuntimeBindingResolutionResult {\n readonly props: Record<string, unknown>;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n}\n\n/*** Resolves every property binding through the canonical expression boundary. */\nexport async function resolveRuntimeBindingsAsync(\n args: RuntimeBindingResolutionArgs,\n): Promise<RuntimeBindingResolutionResult> {\n const diagnostics: DataSourceDiagnostic[] = [];\n const props = { ...args.props };\n\n for (const [name, binding] of Object.entries(args.dataBindings?.[args.node.id]?.props ?? {})) {\n props[name] = await resolveRuntimeBindingValue(binding, args, diagnostics);\n }\n\n return { props, diagnostics };\n}\n\n/*** Resolves property bindings using only already materialized capability values. */\nexport function resolveRuntimeBindings(\n args: RuntimeBindingResolutionArgs,\n): RuntimeBindingResolutionResult {\n const diagnostics: DataSourceDiagnostic[] = [];\n const props = { ...args.props };\n\n for (const [name, binding] of Object.entries(args.dataBindings?.[args.node.id]?.props ?? {})) {\n props[name] = resolveRuntimeBindingValueSync(binding, args, diagnostics);\n }\n\n return { props, diagnostics };\n}\n\n/*** Resolves one recursive Contracts expression, executing a capability only when needed. */\nexport async function resolveRuntimeBindingExpression(\n expression: BindingExpression,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<BindingValue | undefined> {\n if (isCapabilityReference(expression)) {\n return resolveCapabilityReferenceAsync(expression, context, diagnostics);\n }\n if (expression.kind === 'literal') return expression.value;\n if (expression.kind === 'array') return resolveArrayAsync(expression.items, context, diagnostics);\n if (expression.kind === 'object')\n return resolveObjectAsync(expression.fields, context, diagnostics);\n if (expression.kind === 'transform') {\n return applyBindingValueTransforms(\n await resolveRuntimeBindingExpression(expression.value, context, diagnostics),\n expression.transforms,\n );\n }\n\n const value = await resolveRuntimeBindingExpression(expression.value, context, diagnostics);\n return value === undefined\n ? resolveRuntimeBindingExpression(expression.fallback, context, diagnostics)\n : value;\n}\n\n/*** Resolves one expression without side effects for synchronous rendering. */\nexport function resolveRuntimeBindingExpressionSync(\n expression: BindingExpression,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): BindingValue | undefined {\n if (isCapabilityReference(expression))\n return resolveCapabilityReferenceSync(expression, context, diagnostics);\n if (expression.kind === 'literal') return expression.value;\n if (expression.kind === 'array') return resolveArraySync(expression.items, context, diagnostics);\n if (expression.kind === 'object')\n return resolveObjectSync(expression.fields, context, diagnostics);\n if (expression.kind === 'transform') {\n return applyBindingValueTransforms(\n resolveRuntimeBindingExpressionSync(expression.value, context, diagnostics),\n expression.transforms,\n );\n }\n\n const value = resolveRuntimeBindingExpressionSync(expression.value, context, diagnostics);\n return value === undefined\n ? resolveRuntimeBindingExpressionSync(expression.fallback, context, diagnostics)\n : value;\n}\n\n/*** Resolves a property binding expression. */\nexport function resolveRuntimeBindingValue(\n binding: PropBinding,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<BindingValue | undefined> {\n return resolveRuntimeBindingExpression(binding.value, context, diagnostics);\n}\n\n/*** Resolves a property binding expression without executing a capability. */\nexport function resolveRuntimeBindingValueSync(\n binding: PropBinding,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): BindingValue | undefined {\n return resolveRuntimeBindingExpressionSync(binding.value, context, diagnostics);\n}\n\n/*** Resolves an invocation input map recursively. */\nexport function resolveBindingInputMap(\n input: BindingInputMap | undefined,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<BindingValue | undefined> {\n return input === undefined\n ? Promise.resolve(undefined)\n : resolveObjectAsync(input, context, diagnostics);\n}\n\n/*** Resolves an invocation input map without executing a capability. */\nexport function resolveBindingInputMapSync(\n input: BindingInputMap | undefined,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): BindingValue | undefined {\n return input === undefined ? undefined : resolveObjectSync(input, context, diagnostics);\n}\n\n/*** Invokes one capability and records its structured result under its declared local slot. */\nexport async function executeRuntimeBindingInvocation(\n invocation: BindingInvocation,\n context: RuntimeBindingResolutionContext,\n args: Pick<RuntimeCapabilityExecutionArgs, 'event' | 'node'> = {},\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<RuntimeCapabilityExecutionResult | undefined> {\n if (context.executeCapability === undefined) {\n diagnostics.push(createMissingCapabilityExecutorDiagnostic(invocation.capability));\n return undefined;\n }\n\n const input = await resolveBindingInputMap(invocation.input, context, diagnostics);\n const result = await context.executeCapability({\n capability: invocation.capability,\n input,\n ...args,\n });\n diagnostics.push(...(result.diagnostics ?? []));\n\n if (result.ok && invocation.result !== undefined) {\n context.writeResultSlot?.(invocation.result, result.data);\n }\n\n return result;\n}\n\n/*** Applies a dotted path to a serializable binding value. */\nexport function applyRuntimeBindingDataPath(\n value: BindingValue | undefined,\n path: string | undefined,\n): BindingValue | undefined {\n return path === undefined ? value : asBindingValue(readPath(value, path));\n}\n\nfunction isCapabilityReference(\n expression: BindingExpression,\n): expression is BindingCapabilityReference {\n return 'capability' in expression;\n}\n\nasync function resolveCapabilityReferenceAsync(\n reference: BindingCapabilityReference,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): Promise<BindingValue | undefined> {\n const cached = resolveCapabilityReferenceSync(reference, context, diagnostics, false);\n if (cached !== undefined || reference.result !== undefined) return cached;\n if (context.executeCapability === undefined) return cached;\n\n const result = await context.executeCapability({ capability: reference.capability });\n diagnostics.push(...(result.diagnostics ?? []));\n return result.ok ? applyRuntimeBindingDataPath(result.data, reference.path) : undefined;\n}\n\nfunction resolveCapabilityReferenceSync(\n reference: BindingCapabilityReference,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n reportMissing = true,\n): BindingValue | undefined {\n const value =\n reference.result === undefined\n ? resolveReadableCapability(reference.capability, context)\n : context.resultSlots?.[reference.result];\n if (value === undefined && reference.result !== undefined && reportMissing) {\n diagnostics.push({\n code: 'missing-adapter',\n message: `Result slot '${reference.result}' is not available.`,\n severity: 'error',\n });\n }\n return applyRuntimeBindingDataPath(value, reference.path);\n}\n\nfunction resolveReadableCapability(\n capability: string,\n context: RuntimeBindingResolutionContext,\n): BindingValue | undefined {\n const explicit = context.capabilityValues?.[capability];\n if (explicit !== undefined) return explicit;\n if (capability.startsWith('context.'))\n return asBindingValue(readPath(context.context, capability.slice(8)));\n if (context.event?.type === capability) return asBindingValue(context.event);\n if (capability.startsWith('state.')) {\n const result = context.stateAdapter?.get(capability.slice(6));\n return result?.ok ? asBindingValue(result.data) : undefined;\n }\n return asBindingValue(readPath(context.context, capability));\n}\n\nasync function resolveArrayAsync(\n items: readonly BindingExpression[],\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): Promise<BindingValue> {\n const values = await Promise.all(\n items.map((item) => resolveRuntimeBindingExpression(item, context, diagnostics)),\n );\n return values.filter((value): value is BindingValue => value !== undefined);\n}\n\nfunction resolveArraySync(\n items: readonly BindingExpression[],\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): BindingValue {\n return items\n .map((item) => resolveRuntimeBindingExpressionSync(item, context, diagnostics))\n .filter((value): value is BindingValue => value !== undefined);\n}\n\nasync function resolveObjectAsync(\n fields: Readonly<Record<string, BindingExpression>>,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): Promise<BindingValue> {\n const entries = await Promise.all(\n Object.entries(fields).map(async ([key, expression]) => {\n const value = await resolveRuntimeBindingExpression(expression, context, diagnostics);\n return value === undefined ? undefined : ([key, value] as const);\n }),\n );\n return Object.fromEntries(\n entries.filter((entry): entry is readonly [string, BindingValue] => entry !== undefined),\n );\n}\n\nfunction resolveObjectSync(\n fields: Readonly<Record<string, BindingExpression>>,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): BindingValue {\n const entries = Object.entries(fields).map(([key, expression]) => {\n const value = resolveRuntimeBindingExpressionSync(expression, context, diagnostics);\n return value === undefined ? undefined : ([key, value] as const);\n });\n return Object.fromEntries(\n entries.filter((entry): entry is readonly [string, BindingValue] => entry !== undefined),\n );\n}\n\nfunction applyBindingValueTransforms(\n value: BindingValue | undefined,\n transforms: readonly BindingValueTransform[],\n): BindingValue | undefined {\n return transforms.reduce((current, transform) => {\n if (transform === 'length')\n return typeof current === 'string' || Array.isArray(current) ? current.length : undefined;\n if (typeof current !== 'string') return undefined;\n if (transform === 'trim') return current.trim();\n if (transform === 'uppercase') return current.toUpperCase();\n return current.toLowerCase();\n }, value);\n}\n\nfunction createMissingCapabilityExecutorDiagnostic(capability: string): DataSourceDiagnostic {\n return {\n code: 'missing-adapter',\n message: `Capability '${capability}' requires an injected capability executor.`,\n severity: 'error',\n };\n}\n\nfunction readPath(value: unknown, path: string): unknown {\n if (path.length === 0) return value;\n return path.split('.').reduce<unknown>((current, part) => {\n if (Array.isArray(current))\n return /^(0|[1-9]\\\\d*)$/.test(part) ? current[Number(part)] : undefined;\n return isRecord(current) ? current[part] : undefined;\n }, value);\n}\n\nfunction asBindingValue(value: unknown): BindingValue | undefined {\n return isBindingValue(value) ? value : undefined;\n}\n\nfunction isBindingValue(value: unknown): value is BindingValue {\n if (value === null || ['boolean', 'number', 'string'].includes(typeof value)) return true;\n if (Array.isArray(value)) return value.every(isBindingValue);\n return isRecord(value) && Object.values(value).every(isBindingValue);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runtimeBindings.js","sourceRoot":"","sources":["../src/runtimeBindings.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n BindingCapabilityReference,\n BindingExpression,\n BindingInputMap,\n BindingInvocation,\n BindingValue,\n BindingValueTransform,\n ComponentDataBindingRegistry,\n ComponentEventDto,\n DataSourceDiagnostic,\n PropBinding,\n StateAdapter,\n UiNode,\n} from '@ankhorage/contracts';\nimport type { Capability } from '@ankhorage/contracts/capability';\nimport { isRecord } from '@ankhorage/utility/object';\n\nexport type RuntimeBindingResultCache = Readonly<Record<string, BindingValue | undefined>>;\nexport type RuntimeBindingResultWriter = (slot: string, value: BindingValue | undefined) => void;\n\nexport interface RuntimeCapabilityExecutionArgs {\n readonly capability: Capability['id'];\n readonly input?: BindingValue;\n readonly node?: UiNode;\n readonly event?: ComponentEventDto<string, object>;\n}\n\nexport type RuntimeCapabilityExecutionResult =\n | {\n readonly ok: true;\n readonly data: BindingValue;\n readonly diagnostics?: readonly DataSourceDiagnostic[];\n }\n | { readonly ok: false; readonly diagnostics: readonly DataSourceDiagnostic[] };\n\nexport type RuntimeCapabilityExecutor = (\n args: RuntimeCapabilityExecutionArgs,\n) => Promise<RuntimeCapabilityExecutionResult>;\n\nexport interface RuntimeBindingResolutionContext {\n readonly context?: Record<string, unknown>;\n readonly event?: ComponentEventDto<string, object>;\n readonly stateAdapter?: StateAdapter;\n readonly capabilityValues?: Readonly<Record<string, BindingValue | undefined>>;\n readonly dataBindings?: ComponentDataBindingRegistry;\n readonly resultSlots?: RuntimeBindingResultCache;\n readonly executeCapability?: RuntimeCapabilityExecutor;\n readonly writeResultSlot?: RuntimeBindingResultWriter;\n}\n\nexport interface RuntimeBindingResolutionArgs extends RuntimeBindingResolutionContext {\n readonly node: UiNode;\n readonly props: Record<string, unknown>;\n}\n\nexport interface RuntimeBindingResolutionResult {\n readonly props: Record<string, unknown>;\n readonly diagnostics: readonly DataSourceDiagnostic[];\n}\n\n/*** Resolves every property binding through the canonical expression boundary. */\nexport async function resolveRuntimeBindingsAsync(\n args: RuntimeBindingResolutionArgs,\n): Promise<RuntimeBindingResolutionResult> {\n const diagnostics: DataSourceDiagnostic[] = [];\n const props = { ...args.props };\n\n for (const [name, binding] of Object.entries(args.dataBindings?.[args.node.id]?.props ?? {})) {\n props[name] = await resolveRuntimeBindingValue(binding, args, diagnostics);\n }\n\n return { props, diagnostics };\n}\n\n/*** Resolves property bindings using only already materialized capability values. */\nexport function resolveRuntimeBindings(\n args: RuntimeBindingResolutionArgs,\n): RuntimeBindingResolutionResult {\n const diagnostics: DataSourceDiagnostic[] = [];\n const props = { ...args.props };\n\n for (const [name, binding] of Object.entries(args.dataBindings?.[args.node.id]?.props ?? {})) {\n props[name] = resolveRuntimeBindingValueSync(binding, args, diagnostics);\n }\n\n return { props, diagnostics };\n}\n\n/*** Resolves one recursive Contracts expression, executing a capability only when needed. */\nexport async function resolveRuntimeBindingExpression(\n expression: BindingExpression,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<BindingValue | undefined> {\n if (isCapabilityReference(expression)) {\n return resolveCapabilityReferenceAsync(expression, context, diagnostics);\n }\n if (expression.kind === 'literal') return expression.value;\n if (expression.kind === 'array') return resolveArrayAsync(expression.items, context, diagnostics);\n if (expression.kind === 'object')\n return resolveObjectAsync(expression.fields, context, diagnostics);\n if (expression.kind === 'transform') {\n return applyBindingValueTransforms(\n await resolveRuntimeBindingExpression(expression.value, context, diagnostics),\n expression.transforms,\n );\n }\n\n const value = await resolveRuntimeBindingExpression(expression.value, context, diagnostics);\n return value === undefined\n ? resolveRuntimeBindingExpression(expression.fallback, context, diagnostics)\n : value;\n}\n\n/*** Resolves one expression without side effects for synchronous rendering. */\nexport function resolveRuntimeBindingExpressionSync(\n expression: BindingExpression,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): BindingValue | undefined {\n if (isCapabilityReference(expression))\n return resolveCapabilityReferenceSync(expression, context, diagnostics);\n if (expression.kind === 'literal') return expression.value;\n if (expression.kind === 'array') return resolveArraySync(expression.items, context, diagnostics);\n if (expression.kind === 'object')\n return resolveObjectSync(expression.fields, context, diagnostics);\n if (expression.kind === 'transform') {\n return applyBindingValueTransforms(\n resolveRuntimeBindingExpressionSync(expression.value, context, diagnostics),\n expression.transforms,\n );\n }\n\n const value = resolveRuntimeBindingExpressionSync(expression.value, context, diagnostics);\n return value === undefined\n ? resolveRuntimeBindingExpressionSync(expression.fallback, context, diagnostics)\n : value;\n}\n\n/*** Resolves a property binding expression. */\nexport function resolveRuntimeBindingValue(\n binding: PropBinding,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<BindingValue | undefined> {\n return resolveRuntimeBindingExpression(binding.value, context, diagnostics);\n}\n\n/*** Resolves a property binding expression without executing a capability. */\nexport function resolveRuntimeBindingValueSync(\n binding: PropBinding,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): BindingValue | undefined {\n return resolveRuntimeBindingExpressionSync(binding.value, context, diagnostics);\n}\n\n/*** Resolves an invocation input map recursively. */\nexport function resolveBindingInputMap(\n input: BindingInputMap | undefined,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<BindingValue | undefined> {\n return input === undefined\n ? Promise.resolve(undefined)\n : resolveObjectAsync(input, context, diagnostics);\n}\n\n/*** Resolves an invocation input map without executing a capability. */\nexport function resolveBindingInputMapSync(\n input: BindingInputMap | undefined,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[] = [],\n): BindingValue | undefined {\n return input === undefined ? undefined : resolveObjectSync(input, context, diagnostics);\n}\n\n/*** Invokes one capability and records its structured result under its declared local slot. */\nexport async function executeRuntimeBindingInvocation(\n invocation: BindingInvocation,\n context: RuntimeBindingResolutionContext,\n args: Pick<RuntimeCapabilityExecutionArgs, 'event' | 'node'> = {},\n diagnostics: DataSourceDiagnostic[] = [],\n): Promise<RuntimeCapabilityExecutionResult | undefined> {\n if (context.executeCapability === undefined) {\n diagnostics.push(createMissingCapabilityExecutorDiagnostic(invocation.capability));\n return undefined;\n }\n\n const input = await resolveBindingInputMap(invocation.input, context, diagnostics);\n const result = await context.executeCapability({\n capability: invocation.capability,\n input,\n ...args,\n });\n diagnostics.push(...(result.diagnostics ?? []));\n\n if (result.ok && invocation.result !== undefined) {\n context.writeResultSlot?.(invocation.result, result.data);\n }\n\n return result;\n}\n\n/*** Applies a dotted path to a serializable binding value. */\nexport function applyRuntimeBindingDataPath(\n value: BindingValue | undefined,\n path: string | undefined,\n): BindingValue | undefined {\n return path === undefined ? value : asBindingValue(readPath(value, path));\n}\n\nfunction isCapabilityReference(\n expression: BindingExpression,\n): expression is BindingCapabilityReference {\n return 'capability' in expression;\n}\n\nasync function resolveCapabilityReferenceAsync(\n reference: BindingCapabilityReference,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): Promise<BindingValue | undefined> {\n const cached = resolveCapabilityReferenceSync(reference, context, diagnostics, false);\n if (cached !== undefined || reference.result !== undefined) return cached;\n if (context.executeCapability === undefined) return cached;\n\n const result = await context.executeCapability({ capability: reference.capability });\n diagnostics.push(...(result.diagnostics ?? []));\n return result.ok ? applyRuntimeBindingDataPath(result.data, reference.path) : undefined;\n}\n\nfunction resolveCapabilityReferenceSync(\n reference: BindingCapabilityReference,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n reportMissing = true,\n): BindingValue | undefined {\n const value =\n reference.result === undefined\n ? resolveReadableCapability(reference.capability, context)\n : context.resultSlots?.[reference.result];\n if (value === undefined && reference.result !== undefined && reportMissing) {\n diagnostics.push({\n code: 'missing-adapter',\n message: `Result slot '${reference.result}' is not available.`,\n severity: 'error',\n });\n }\n return applyRuntimeBindingDataPath(value, reference.path);\n}\n\nfunction resolveReadableCapability(\n capability: string,\n context: RuntimeBindingResolutionContext,\n): BindingValue | undefined {\n const explicit = context.capabilityValues?.[capability];\n if (explicit !== undefined) return explicit;\n if (capability.startsWith('context.'))\n return asBindingValue(readPath(context.context, capability.slice(8)));\n if (context.event?.type === capability) return asBindingValue(context.event);\n if (capability.startsWith('state.')) {\n const result = context.stateAdapter?.get(capability.slice(6));\n return result?.ok ? asBindingValue(result.data) : undefined;\n }\n return asBindingValue(readPath(context.context, capability));\n}\n\nasync function resolveArrayAsync(\n items: readonly BindingExpression[],\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): Promise<BindingValue> {\n const values = await Promise.all(\n items.map((item) => resolveRuntimeBindingExpression(item, context, diagnostics)),\n );\n return values.filter((value): value is BindingValue => value !== undefined);\n}\n\nfunction resolveArraySync(\n items: readonly BindingExpression[],\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): BindingValue {\n return items\n .map((item) => resolveRuntimeBindingExpressionSync(item, context, diagnostics))\n .filter((value): value is BindingValue => value !== undefined);\n}\n\nasync function resolveObjectAsync(\n fields: Readonly<Record<string, BindingExpression>>,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): Promise<BindingValue> {\n const entries = await Promise.all(\n Object.entries(fields).map(async ([key, expression]) => {\n const value = await resolveRuntimeBindingExpression(expression, context, diagnostics);\n return value === undefined ? undefined : ([key, value] as const);\n }),\n );\n return Object.fromEntries(\n entries.filter((entry): entry is readonly [string, BindingValue] => entry !== undefined),\n );\n}\n\nfunction resolveObjectSync(\n fields: Readonly<Record<string, BindingExpression>>,\n context: RuntimeBindingResolutionContext,\n diagnostics: DataSourceDiagnostic[],\n): BindingValue {\n const entries = Object.entries(fields).map(([key, expression]) => {\n const value = resolveRuntimeBindingExpressionSync(expression, context, diagnostics);\n return value === undefined ? undefined : ([key, value] as const);\n });\n return Object.fromEntries(\n entries.filter((entry): entry is readonly [string, BindingValue] => entry !== undefined),\n );\n}\n\nfunction applyBindingValueTransforms(\n value: BindingValue | undefined,\n transforms: readonly BindingValueTransform[],\n): BindingValue | undefined {\n return transforms.reduce((current, transform) => {\n if (transform === 'length')\n return typeof current === 'string' || Array.isArray(current) ? current.length : undefined;\n if (transform === 'number') {\n if (typeof current === 'number') return Number.isFinite(current) ? current : undefined;\n if (typeof current !== 'string' || current.trim().length === 0) return undefined;\n const numericValue = Number(current);\n return Number.isFinite(numericValue) ? numericValue : undefined;\n }\n if (typeof current !== 'string') return undefined;\n if (transform === 'trim') return current.trim();\n if (transform === 'uppercase') return current.toUpperCase();\n return current.toLowerCase();\n }, value);\n}\n\nfunction createMissingCapabilityExecutorDiagnostic(capability: string): DataSourceDiagnostic {\n return {\n code: 'missing-adapter',\n message: `Capability '${capability}' requires an injected capability executor.`,\n severity: 'error',\n };\n}\n\nfunction readPath(value: unknown, path: string): unknown {\n if (path.length === 0) return value;\n return path.split('.').reduce<unknown>((current, part) => {\n if (Array.isArray(current))\n return /^(0|[1-9]\\\\d*)$/.test(part) ? current[Number(part)] : undefined;\n return isRecord(current) ? current[part] : undefined;\n }, value);\n}\n\nfunction asBindingValue(value: unknown): BindingValue | undefined {\n return isBindingValue(value) ? value : undefined;\n}\n\nfunction isBindingValue(value: unknown): value is BindingValue {\n if (value === null || ['boolean', 'number', 'string'].includes(typeof value)) return true;\n if (Array.isArray(value)) return value.every(isBindingValue);\n return isRecord(value) && Object.values(value).every(isBindingValue);\n}\n"]}
|
package/package.json
CHANGED
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: v5.
|
|
2
|
-
<title>npm: v5.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="20" role="img" aria-label="npm: v5.3.0">
|
|
2
|
+
<title>npm: v5.3.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">v5.
|
|
6
|
+
<text x="64" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">v5.3.0</text>
|
|
7
7
|
</svg>
|
|
@@ -90,6 +90,11 @@ graph TD
|
|
|
90
90
|
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_ts
|
|
91
91
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
92
92
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
93
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
94
|
+
package__ankhorage_runtime -.-> module_src_runtimeNumberBindings_test_ts
|
|
95
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeActionRegistry_ts
|
|
96
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
97
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeStateAdapter_ts
|
|
93
98
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
94
99
|
package__ankhorage_runtime -.-> module_src_runtimePackageIsolation_test_ts
|
|
95
100
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
@@ -28,6 +28,7 @@ graph LR
|
|
|
28
28
|
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
29
29
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
30
30
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
31
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
31
32
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
32
33
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
33
34
|
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
@@ -28,6 +28,7 @@ graph LR
|
|
|
28
28
|
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
29
29
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
30
30
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
31
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
31
32
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
32
33
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
33
34
|
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
@@ -78,6 +79,9 @@ graph LR
|
|
|
78
79
|
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
79
80
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
80
81
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
82
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeActionRegistry_ts
|
|
83
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
84
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeStateAdapter_ts
|
|
81
85
|
module_src_RuntimeRenderer_test_ts --> module_src_runtimeRepeatEmptyState_ts
|
|
82
86
|
module_src_RuntimeRenderer_tsx --> module_src_registry_tsx
|
|
83
87
|
module_src_RuntimeRenderer_tsx --> module_src_rendering_ts
|
package/paradox/index.html
CHANGED
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
</li><li>
|
|
175
175
|
<button class="nav-button" type="button" data-target="src/runtimeBindings.contracts26.test.ts">
|
|
176
176
|
src/runtimeBindings.contracts26.test.ts
|
|
177
|
-
<small>
|
|
177
|
+
<small>5 functions</small>
|
|
178
178
|
</button>
|
|
179
179
|
</li><li>
|
|
180
180
|
<button class="nav-button" type="button" data-target="src/runtimeBindings.ts">
|
|
@@ -308,7 +308,7 @@
|
|
|
308
308
|
<div class="summary">
|
|
309
309
|
<div><strong>88</strong><span class="muted">public exports</span></div>
|
|
310
310
|
<div><strong>5</strong><span class="muted">components</span></div>
|
|
311
|
-
<div><strong>
|
|
311
|
+
<div><strong>49</strong><span class="muted">modules</span></div>
|
|
312
312
|
<div><strong>1</strong><span class="muted">entrypoints</span></div>
|
|
313
313
|
</div>
|
|
314
314
|
<h3>Entrypoints</h3>
|
|
@@ -544,6 +544,11 @@ inject it at the runtime boundary.</p>
|
|
|
544
544
|
<p class="muted">Referenced module</p>
|
|
545
545
|
<p><strong>Dependencies:</strong> <code>src/runtimeBindings.ts</code>, <code>src/RuntimeRendererConfig.tsx</code></p>
|
|
546
546
|
<p><strong>Exports:</strong> <code>resolveRuntimeNodeProps</code></p>
|
|
547
|
+
</article><article class="item" data-search="src/runtimeNumberBindings.test.ts src/runtimeActionRegistry.ts src/runtimeCapabilityExecutor.ts src/runtimeStateAdapter.ts">
|
|
548
|
+
<h3>src/runtimeNumberBindings.test.ts</h3>
|
|
549
|
+
<p class="muted">Referenced module</p>
|
|
550
|
+
<p><strong>Dependencies:</strong> <code>src/runtimeActionRegistry.ts</code>, <code>src/runtimeCapabilityExecutor.ts</code>, <code>src/runtimeStateAdapter.ts</code></p>
|
|
551
|
+
<p><strong>Exports:</strong> <span class="empty">None</span></p>
|
|
547
552
|
</article><article class="item" data-search="src/runtimePackageIsolation.test.ts">
|
|
548
553
|
<h3>src/runtimePackageIsolation.test.ts</h3>
|
|
549
554
|
<p class="muted">Referenced module</p>
|
|
@@ -3658,6 +3663,11 @@ inject it at the runtime boundary.</p>
|
|
|
3658
3663
|
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_ts
|
|
3659
3664
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
3660
3665
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
3666
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
3667
|
+
package__ankhorage_runtime -.-> module_src_runtimeNumberBindings_test_ts
|
|
3668
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeActionRegistry_ts
|
|
3669
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
3670
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeStateAdapter_ts
|
|
3661
3671
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
3662
3672
|
package__ankhorage_runtime -.-> module_src_runtimePackageIsolation_test_ts
|
|
3663
3673
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
@@ -3835,6 +3845,11 @@ inject it at the runtime boundary.</p>
|
|
|
3835
3845
|
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_ts
|
|
3836
3846
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
3837
3847
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
3848
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
3849
|
+
package__ankhorage_runtime -.-> module_src_runtimeNumberBindings_test_ts
|
|
3850
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeActionRegistry_ts
|
|
3851
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
3852
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeStateAdapter_ts
|
|
3838
3853
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
3839
3854
|
package__ankhorage_runtime -.-> module_src_runtimePackageIsolation_test_ts
|
|
3840
3855
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
@@ -3952,6 +3967,7 @@ inject it at the runtime boundary.</p>
|
|
|
3952
3967
|
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
3953
3968
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
3954
3969
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
3970
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
3955
3971
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
3956
3972
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
3957
3973
|
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
@@ -4002,6 +4018,9 @@ inject it at the runtime boundary.</p>
|
|
|
4002
4018
|
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
4003
4019
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
4004
4020
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
4021
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeActionRegistry_ts
|
|
4022
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
4023
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeStateAdapter_ts
|
|
4005
4024
|
module_src_RuntimeRenderer_test_ts --> module_src_runtimeRepeatEmptyState_ts
|
|
4006
4025
|
module_src_RuntimeRenderer_tsx --> module_src_registry_tsx
|
|
4007
4026
|
module_src_RuntimeRenderer_tsx --> module_src_rendering_ts
|
|
@@ -4079,6 +4098,7 @@ inject it at the runtime boundary.</p>
|
|
|
4079
4098
|
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
4080
4099
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
4081
4100
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
4101
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
4082
4102
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
4083
4103
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
4084
4104
|
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
@@ -4129,6 +4149,9 @@ inject it at the runtime boundary.</p>
|
|
|
4129
4149
|
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
4130
4150
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
4131
4151
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
4152
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeActionRegistry_ts
|
|
4153
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeCapabilityExecutor_ts
|
|
4154
|
+
module_src_runtimeNumberBindings_test_ts --> module_src_runtimeStateAdapter_ts
|
|
4132
4155
|
module_src_RuntimeRenderer_test_ts --> module_src_runtimeRepeatEmptyState_ts
|
|
4133
4156
|
module_src_RuntimeRenderer_tsx --> module_src_registry_tsx
|
|
4134
4157
|
module_src_RuntimeRenderer_tsx --> module_src_rendering_ts
|
|
@@ -4208,6 +4231,7 @@ inject it at the runtime boundary.</p>
|
|
|
4208
4231
|
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
4209
4232
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
4210
4233
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
4234
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
4211
4235
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
4212
4236
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
4213
4237
|
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
@@ -4515,6 +4539,7 @@ inject it at the runtime boundary.</p>
|
|
|
4515
4539
|
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
4516
4540
|
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
4517
4541
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
4542
|
+
module_src_runtimeNumberBindings_test_ts["src/runtimeNumberBindings.test.ts"]
|
|
4518
4543
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
4519
4544
|
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
4520
4545
|
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
@@ -5500,24 +5525,29 @@ inject it at the runtime boundary.</p>
|
|
|
5500
5525
|
</section><section id="view-src-runtimebindings-contracts26-test-ts" class="view" data-view="src/runtimeBindings.contracts26.test.ts" hidden>
|
|
5501
5526
|
<section class="panel">
|
|
5502
5527
|
<h2>src/runtimeBindings.contracts26.test.ts</h2>
|
|
5503
|
-
<article class="item" data-search="
|
|
5528
|
+
<article class="item" data-search="resolveNumberTransform src/runtimeBindings.contracts26.test.ts ">
|
|
5529
|
+
<h3>resolveNumberTransform</h3>
|
|
5530
|
+
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:21:1</code></p>
|
|
5531
|
+
<p class="empty">No description available.</p>
|
|
5532
|
+
|
|
5533
|
+
</article><article class="item" data-search="resolveEventValue src/runtimeBindings.contracts26.test.ts ">
|
|
5504
5534
|
<h3>resolveEventValue</h3>
|
|
5505
|
-
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:
|
|
5535
|
+
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:107:9</code></p>
|
|
5506
5536
|
<p class="empty">No description available.</p>
|
|
5507
5537
|
|
|
5508
5538
|
</article><article class="item" data-search="executeCapability src/runtimeBindings.contracts26.test.ts ">
|
|
5509
5539
|
<h3>executeCapability</h3>
|
|
5510
|
-
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:
|
|
5540
|
+
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:155:9</code></p>
|
|
5511
5541
|
<p class="empty">No description available.</p>
|
|
5512
5542
|
|
|
5513
5543
|
</article><article class="item" data-search="executeCapability src/runtimeBindings.contracts26.test.ts ">
|
|
5514
5544
|
<h3>executeCapability</h3>
|
|
5515
|
-
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:
|
|
5545
|
+
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:182:9</code></p>
|
|
5516
5546
|
<p class="empty">No description available.</p>
|
|
5517
5547
|
|
|
5518
5548
|
</article><article class="item" data-search="executeCapability src/runtimeBindings.contracts26.test.ts ">
|
|
5519
5549
|
<h3>executeCapability</h3>
|
|
5520
|
-
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:
|
|
5550
|
+
<p class="muted"><code>src/runtimeBindings.contracts26.test.ts:202:9</code></p>
|
|
5521
5551
|
<p class="empty">No description available.</p>
|
|
5522
5552
|
|
|
5523
5553
|
</article>
|
|
@@ -5622,22 +5652,22 @@ inject it at the runtime boundary.</p>
|
|
|
5622
5652
|
|
|
5623
5653
|
</article><article class="item" data-search="createMissingCapabilityExecutorDiagnostic src/runtimeBindings.ts ">
|
|
5624
5654
|
<h3>createMissingCapabilityExecutorDiagnostic</h3>
|
|
5625
|
-
<p class="muted"><code>src/runtimeBindings.ts:
|
|
5655
|
+
<p class="muted"><code>src/runtimeBindings.ts:340:1</code></p>
|
|
5626
5656
|
<p class="empty">No description available.</p>
|
|
5627
5657
|
|
|
5628
5658
|
</article><article class="item" data-search="readPath src/runtimeBindings.ts ">
|
|
5629
5659
|
<h3>readPath</h3>
|
|
5630
|
-
<p class="muted"><code>src/runtimeBindings.ts:
|
|
5660
|
+
<p class="muted"><code>src/runtimeBindings.ts:348:1</code></p>
|
|
5631
5661
|
<p class="empty">No description available.</p>
|
|
5632
5662
|
|
|
5633
5663
|
</article><article class="item" data-search="asBindingValue src/runtimeBindings.ts ">
|
|
5634
5664
|
<h3>asBindingValue</h3>
|
|
5635
|
-
<p class="muted"><code>src/runtimeBindings.ts:
|
|
5665
|
+
<p class="muted"><code>src/runtimeBindings.ts:357:1</code></p>
|
|
5636
5666
|
<p class="empty">No description available.</p>
|
|
5637
5667
|
|
|
5638
5668
|
</article><article class="item" data-search="isBindingValue src/runtimeBindings.ts ">
|
|
5639
5669
|
<h3>isBindingValue</h3>
|
|
5640
|
-
<p class="muted"><code>src/runtimeBindings.ts:
|
|
5670
|
+
<p class="muted"><code>src/runtimeBindings.ts:361:1</code></p>
|
|
5641
5671
|
<p class="empty">No description available.</p>
|
|
5642
5672
|
|
|
5643
5673
|
</article>
|
package/paradox/paradox.json
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
{
|
|
15
15
|
"id": "npm",
|
|
16
16
|
"label": "npm",
|
|
17
|
-
"value": "v5.
|
|
17
|
+
"value": "v5.3.0",
|
|
18
18
|
"color": "cb3837"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
@@ -620,6 +620,16 @@
|
|
|
620
620
|
"resolveRuntimeNodeProps"
|
|
621
621
|
]
|
|
622
622
|
},
|
|
623
|
+
{
|
|
624
|
+
"path": "src/runtimeNumberBindings.test.ts",
|
|
625
|
+
"isEntrypoint": false,
|
|
626
|
+
"dependencies": [
|
|
627
|
+
"src/runtimeActionRegistry.ts",
|
|
628
|
+
"src/runtimeCapabilityExecutor.ts",
|
|
629
|
+
"src/runtimeStateAdapter.ts"
|
|
630
|
+
],
|
|
631
|
+
"exports": []
|
|
632
|
+
},
|
|
623
633
|
{
|
|
624
634
|
"path": "src/runtimePackageIsolation.test.ts",
|
|
625
635
|
"isEntrypoint": false,
|
|
@@ -5379,6 +5389,17 @@
|
|
|
5379
5389
|
"column": 1
|
|
5380
5390
|
}
|
|
5381
5391
|
},
|
|
5392
|
+
{
|
|
5393
|
+
"name": "resolveNumberTransform",
|
|
5394
|
+
"description": null,
|
|
5395
|
+
"see": [],
|
|
5396
|
+
"security": [],
|
|
5397
|
+
"sourceLocation": {
|
|
5398
|
+
"filePath": "src/runtimeBindings.contracts26.test.ts",
|
|
5399
|
+
"line": 21,
|
|
5400
|
+
"column": 1
|
|
5401
|
+
}
|
|
5402
|
+
},
|
|
5382
5403
|
{
|
|
5383
5404
|
"name": "resolveEventValue",
|
|
5384
5405
|
"description": null,
|
|
@@ -5386,7 +5407,7 @@
|
|
|
5386
5407
|
"security": [],
|
|
5387
5408
|
"sourceLocation": {
|
|
5388
5409
|
"filePath": "src/runtimeBindings.contracts26.test.ts",
|
|
5389
|
-
"line":
|
|
5410
|
+
"line": 107,
|
|
5390
5411
|
"column": 9
|
|
5391
5412
|
}
|
|
5392
5413
|
},
|
|
@@ -5397,7 +5418,7 @@
|
|
|
5397
5418
|
"security": [],
|
|
5398
5419
|
"sourceLocation": {
|
|
5399
5420
|
"filePath": "src/runtimeBindings.contracts26.test.ts",
|
|
5400
|
-
"line":
|
|
5421
|
+
"line": 155,
|
|
5401
5422
|
"column": 9
|
|
5402
5423
|
}
|
|
5403
5424
|
},
|
|
@@ -5408,7 +5429,7 @@
|
|
|
5408
5429
|
"security": [],
|
|
5409
5430
|
"sourceLocation": {
|
|
5410
5431
|
"filePath": "src/runtimeBindings.contracts26.test.ts",
|
|
5411
|
-
"line":
|
|
5432
|
+
"line": 182,
|
|
5412
5433
|
"column": 9
|
|
5413
5434
|
}
|
|
5414
5435
|
},
|
|
@@ -5419,7 +5440,7 @@
|
|
|
5419
5440
|
"security": [],
|
|
5420
5441
|
"sourceLocation": {
|
|
5421
5442
|
"filePath": "src/runtimeBindings.contracts26.test.ts",
|
|
5422
|
-
"line":
|
|
5443
|
+
"line": 202,
|
|
5423
5444
|
"column": 9
|
|
5424
5445
|
}
|
|
5425
5446
|
},
|
|
@@ -5639,7 +5660,7 @@
|
|
|
5639
5660
|
"security": [],
|
|
5640
5661
|
"sourceLocation": {
|
|
5641
5662
|
"filePath": "src/runtimeBindings.ts",
|
|
5642
|
-
"line":
|
|
5663
|
+
"line": 340,
|
|
5643
5664
|
"column": 1
|
|
5644
5665
|
}
|
|
5645
5666
|
},
|
|
@@ -5650,7 +5671,7 @@
|
|
|
5650
5671
|
"security": [],
|
|
5651
5672
|
"sourceLocation": {
|
|
5652
5673
|
"filePath": "src/runtimeBindings.ts",
|
|
5653
|
-
"line":
|
|
5674
|
+
"line": 348,
|
|
5654
5675
|
"column": 1
|
|
5655
5676
|
}
|
|
5656
5677
|
},
|
|
@@ -5661,7 +5682,7 @@
|
|
|
5661
5682
|
"security": [],
|
|
5662
5683
|
"sourceLocation": {
|
|
5663
5684
|
"filePath": "src/runtimeBindings.ts",
|
|
5664
|
-
"line":
|
|
5685
|
+
"line": 357,
|
|
5665
5686
|
"column": 1
|
|
5666
5687
|
}
|
|
5667
5688
|
},
|
|
@@ -5672,7 +5693,7 @@
|
|
|
5672
5693
|
"security": [],
|
|
5673
5694
|
"sourceLocation": {
|
|
5674
5695
|
"filePath": "src/runtimeBindings.ts",
|
|
5675
|
-
"line":
|
|
5696
|
+
"line": 361,
|
|
5676
5697
|
"column": 1
|
|
5677
5698
|
}
|
|
5678
5699
|
},
|
|
@@ -7326,6 +7347,21 @@
|
|
|
7326
7347
|
"toPath": "src/RuntimeRendererConfig.tsx",
|
|
7327
7348
|
"sourcePath": "src/runtimeNodeProps.ts"
|
|
7328
7349
|
},
|
|
7350
|
+
{
|
|
7351
|
+
"fromPath": "src/runtimeNumberBindings.test.ts",
|
|
7352
|
+
"toPath": "src/runtimeActionRegistry.ts",
|
|
7353
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
7354
|
+
},
|
|
7355
|
+
{
|
|
7356
|
+
"fromPath": "src/runtimeNumberBindings.test.ts",
|
|
7357
|
+
"toPath": "src/runtimeCapabilityExecutor.ts",
|
|
7358
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
7359
|
+
},
|
|
7360
|
+
{
|
|
7361
|
+
"fromPath": "src/runtimeNumberBindings.test.ts",
|
|
7362
|
+
"toPath": "src/runtimeStateAdapter.ts",
|
|
7363
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
7364
|
+
},
|
|
7329
7365
|
{
|
|
7330
7366
|
"fromPath": "src/RuntimeRenderer.test.ts",
|
|
7331
7367
|
"toPath": "src/runtimeRepeatEmptyState.ts",
|
|
@@ -7888,6 +7924,12 @@
|
|
|
7888
7924
|
"callExpression": "isRecord",
|
|
7889
7925
|
"sourcePath": "src/runtimeApiCapabilities.ts"
|
|
7890
7926
|
},
|
|
7927
|
+
{
|
|
7928
|
+
"fromSymbol": "resolveNumberTransform",
|
|
7929
|
+
"toSymbol": "resolveRuntimeBindingExpressionSync",
|
|
7930
|
+
"callExpression": "resolveRuntimeBindingExpressionSync",
|
|
7931
|
+
"sourcePath": "src/runtimeBindings.contracts26.test.ts"
|
|
7932
|
+
},
|
|
7891
7933
|
{
|
|
7892
7934
|
"fromSymbol": "src/runtimeBindings.contracts26.test.ts",
|
|
7893
7935
|
"toSymbol": "it",
|
|
@@ -7912,6 +7954,12 @@
|
|
|
7912
7954
|
"callExpression": "resolveRuntimeBindingExpressionSync",
|
|
7913
7955
|
"sourcePath": "src/runtimeBindings.contracts26.test.ts"
|
|
7914
7956
|
},
|
|
7957
|
+
{
|
|
7958
|
+
"fromSymbol": "src/runtimeBindings.contracts26.test.ts",
|
|
7959
|
+
"toSymbol": "resolveNumberTransform",
|
|
7960
|
+
"callExpression": "resolveNumberTransform",
|
|
7961
|
+
"sourcePath": "src/runtimeBindings.contracts26.test.ts"
|
|
7962
|
+
},
|
|
7915
7963
|
{
|
|
7916
7964
|
"fromSymbol": "resolveEventValue",
|
|
7917
7965
|
"toSymbol": "resolveRuntimeBindingExpressionSync",
|
|
@@ -8620,6 +8668,36 @@
|
|
|
8620
8668
|
"callExpression": "args.resolveNodeProps",
|
|
8621
8669
|
"sourcePath": "src/runtimeNodeProps.ts"
|
|
8622
8670
|
},
|
|
8671
|
+
{
|
|
8672
|
+
"fromSymbol": "src/runtimeNumberBindings.test.ts",
|
|
8673
|
+
"toSymbol": "it",
|
|
8674
|
+
"callExpression": "it",
|
|
8675
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
8676
|
+
},
|
|
8677
|
+
{
|
|
8678
|
+
"fromSymbol": "src/runtimeNumberBindings.test.ts",
|
|
8679
|
+
"toSymbol": "createRuntimeMemoryStateAdapter",
|
|
8680
|
+
"callExpression": "createRuntimeMemoryStateAdapter",
|
|
8681
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
8682
|
+
},
|
|
8683
|
+
{
|
|
8684
|
+
"fromSymbol": "src/runtimeNumberBindings.test.ts",
|
|
8685
|
+
"toSymbol": "composeRuntimeCapabilityExecutor",
|
|
8686
|
+
"callExpression": "composeRuntimeCapabilityExecutor",
|
|
8687
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
8688
|
+
},
|
|
8689
|
+
{
|
|
8690
|
+
"fromSymbol": "src/runtimeNumberBindings.test.ts",
|
|
8691
|
+
"toSymbol": "dispatchRuntimeComponentEvent",
|
|
8692
|
+
"callExpression": "dispatchRuntimeComponentEvent",
|
|
8693
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
8694
|
+
},
|
|
8695
|
+
{
|
|
8696
|
+
"fromSymbol": "src/runtimeNumberBindings.test.ts",
|
|
8697
|
+
"toSymbol": "expect",
|
|
8698
|
+
"callExpression": "expect",
|
|
8699
|
+
"sourcePath": "src/runtimeNumberBindings.test.ts"
|
|
8700
|
+
},
|
|
8623
8701
|
{
|
|
8624
8702
|
"fromSymbol": "listSourceFiles",
|
|
8625
8703
|
"toSymbol": "readdirSync",
|