@ankhorage/runtime 0.1.0 → 0.2.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 +16 -0
- package/README.md +20 -5
- package/dist/ManifestContext.d.ts +16 -0
- package/dist/ManifestContext.d.ts.map +1 -0
- package/dist/ManifestContext.js +26 -0
- package/dist/ManifestContext.js.map +1 -0
- package/dist/RuntimeRenderer.d.ts +24 -0
- package/dist/RuntimeRenderer.d.ts.map +1 -0
- package/dist/RuntimeRenderer.js +302 -0
- package/dist/RuntimeRenderer.js.map +1 -0
- package/dist/RuntimeRendererConfig.d.ts +54 -0
- package/dist/RuntimeRendererConfig.d.ts.map +1 -0
- package/dist/RuntimeRendererConfig.js +70 -0
- package/dist/RuntimeRendererConfig.js.map +1 -0
- package/dist/RuntimeScreen.d.ts +11 -0
- package/dist/RuntimeScreen.d.ts.map +1 -0
- package/dist/RuntimeScreen.js +59 -0
- package/dist/RuntimeScreen.js.map +1 -0
- package/dist/appExtensionRegistry.d.ts +3 -0
- package/dist/appExtensionRegistry.d.ts.map +1 -0
- package/dist/appExtensionRegistry.js +2 -0
- package/dist/appExtensionRegistry.js.map +1 -0
- package/dist/componentRegistry.d.ts +4 -0
- package/dist/componentRegistry.d.ts.map +1 -0
- package/dist/componentRegistry.js +6 -0
- package/dist/componentRegistry.js.map +1 -0
- package/dist/index.d.ts +27 -52
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -30
- package/dist/index.js.map +1 -1
- package/dist/readme-usage.js +4 -4
- package/dist/readme-usage.js.map +1 -1
- package/dist/registry.d.ts +7 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +49 -0
- package/dist/registry.js.map +1 -0
- package/dist/rendering.d.ts +17 -0
- package/dist/rendering.d.ts.map +1 -0
- package/dist/rendering.js +24 -0
- package/dist/rendering.js.map +1 -0
- package/dist/runtimeActionRegistry.d.ts +55 -0
- package/dist/runtimeActionRegistry.d.ts.map +1 -0
- package/dist/runtimeActionRegistry.js +323 -0
- package/dist/runtimeActionRegistry.js.map +1 -0
- package/dist/runtimeApiLoaders.d.ts +35 -0
- package/dist/runtimeApiLoaders.d.ts.map +1 -0
- package/dist/runtimeApiLoaders.js +218 -0
- package/dist/runtimeApiLoaders.js.map +1 -0
- package/dist/runtimeBindings.d.ts +52 -0
- package/dist/runtimeBindings.d.ts.map +1 -0
- package/dist/runtimeBindings.js +299 -0
- package/dist/runtimeBindings.js.map +1 -0
- package/dist/runtimeDataSourceOperations.d.ts +8 -0
- package/dist/runtimeDataSourceOperations.d.ts.map +1 -0
- package/dist/runtimeDataSourceOperations.js +58 -0
- package/dist/runtimeDataSourceOperations.js.map +1 -0
- package/dist/runtimeDbPersist.d.ts +34 -0
- package/dist/runtimeDbPersist.d.ts.map +1 -0
- package/dist/runtimeDbPersist.js +73 -0
- package/dist/runtimeDbPersist.js.map +1 -0
- package/dist/runtimeEventExecution.d.ts +11 -0
- package/dist/runtimeEventExecution.d.ts.map +1 -0
- package/dist/runtimeEventExecution.js +17 -0
- package/dist/runtimeEventExecution.js.map +1 -0
- package/dist/runtimeManifest.d.ts +53 -0
- package/dist/runtimeManifest.d.ts.map +1 -0
- package/dist/runtimeManifest.js +31 -0
- package/dist/runtimeManifest.js.map +1 -0
- package/dist/runtimeNodeProps.d.ts +22 -0
- package/dist/runtimeNodeProps.d.ts.map +1 -0
- package/dist/runtimeNodeProps.js +130 -0
- package/dist/runtimeNodeProps.js.map +1 -0
- package/dist/runtimeRepeat.d.ts +27 -0
- package/dist/runtimeRepeat.d.ts.map +1 -0
- package/dist/runtimeRepeat.js +129 -0
- package/dist/runtimeRepeat.js.map +1 -0
- package/dist/runtimeRepeatDiagnostics.d.ts +3 -0
- package/dist/runtimeRepeatDiagnostics.d.ts.map +1 -0
- package/dist/runtimeRepeatDiagnostics.js +14 -0
- package/dist/runtimeRepeatDiagnostics.js.map +1 -0
- package/dist/runtimeRepeatEmptyState.d.ts +7 -0
- package/dist/runtimeRepeatEmptyState.d.ts.map +1 -0
- package/dist/runtimeRepeatEmptyState.js +10 -0
- package/dist/runtimeRepeatEmptyState.js.map +1 -0
- package/dist/runtimeScreenLoaders.d.ts +71 -0
- package/dist/runtimeScreenLoaders.d.ts.map +1 -0
- package/dist/runtimeScreenLoaders.js +309 -0
- package/dist/runtimeScreenLoaders.js.map +1 -0
- package/dist/runtimeStateAdapter.d.ts +6 -0
- package/dist/runtimeStateAdapter.d.ts.map +1 -0
- package/dist/runtimeStateAdapter.js +162 -0
- package/dist/runtimeStateAdapter.js.map +1 -0
- package/package.json +19 -2
- package/paradox/badges/npm.svg +3 -3
- package/paradox/components.md +72 -0
- package/paradox/diagrams/architecture-overview.mmd +135 -1
- package/paradox/diagrams/export-graph.mmd +303 -18
- package/paradox/diagrams/module-relationships.mmd +98 -1
- package/paradox/diagrams/sequences/create-component-event-from-handler-args.mmd +24 -0
- package/paradox/diagrams/sequences/execute-db-persist-action.mmd +16 -0
- package/paradox/diagrams/sequences/merge-runtime-renderer-config.mmd +11 -0
- package/paradox/diagrams/sequences/resolve-db-persist-input.mmd +13 -0
- package/paradox/diagrams/sequences/resolve-runtime-action-payload.mmd +8 -0
- package/paradox/diagrams/sequences/resolve-runtime-action-value.mmd +5 -0
- package/paradox/diagrams/sequences/runtime-renderer-config-provider.mmd +17 -0
- package/paradox/diagrams/sequences/runtime-screen.mmd +17 -0
- package/paradox/diagrams/sequences/use-manifest-context.mmd +5 -0
- package/paradox/diagrams/sequences/use-manifest.mmd +5 -0
- package/paradox/diagrams/sequences/use-optional-manifest-context.mmd +5 -0
- package/paradox/diagrams/sequences/use-runtime-renderer-config.mmd +5 -0
- package/paradox/diagrams/sequences/use-runtime-screen-operation-loaders.mmd +5 -0
- package/paradox/diagrams/sequences/validate-runtime-binding-operation-ref.mmd +8 -0
- package/paradox/diagrams/sequences/wrap-runtime-event-props.mmd +5 -0
- package/paradox/exports.json +3385 -330
- package/paradox/exports.md +1051 -38
- package/paradox/index.html +8244 -413
- package/paradox/paradox.json +10013 -511
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeStateAdapter.js","sourceRoot":"","sources":["../src/runtimeStateAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n StateAdapter,\n StateAdapterError,\n StateListener,\n StatePath,\n StateResult,\n StateSubscription,\n StateValue,\n} from '@ankhorage/contracts';\n\ntype MutableStateRecord = Record<string, StateValue>;\ntype StateListenerSet = Set<(value: StateValue | undefined) => void>;\n\nexport interface RuntimeMemoryStateAdapterOptions {\n readonly initialState?: Readonly<Record<string, StateValue>>;\n}\n\nexport function createRuntimeMemoryStateAdapter(\n options: RuntimeMemoryStateAdapterOptions = {},\n): StateAdapter {\n let rootState: MutableStateRecord = { ...(options.initialState ?? {}) };\n const listeners = new Map<string, StateListenerSet>();\n\n const emit = (path: StatePath, value: StateValue | undefined) => {\n const pathResult = normalizeStatePath(path);\n if (!pathResult.ok) return;\n\n const listenersForPath = listeners.get(pathPartsToKey(pathResult.parts));\n if (listenersForPath === undefined) return;\n\n for (const listener of listenersForPath) {\n listener(value);\n }\n };\n\n return {\n capabilities: {\n subscriptions: true,\n computed: false,\n persistence: false,\n },\n get<TValue extends StateValue = StateValue>(path: StatePath): StateResult<TValue | undefined> {\n const pathResult = normalizeStatePath(path);\n if (!pathResult.ok) return pathResult;\n\n return createStateDataResult(\n readStatePath(rootState, pathResult.parts) as TValue | undefined,\n );\n },\n set<TValue extends StateValue = StateValue>(path: StatePath, value: TValue): StateResult {\n const pathResult = normalizeStatePath(path);\n if (!pathResult.ok) return pathResult;\n\n const nextStateResult = setStatePath(rootState, pathResult.parts, value);\n if (!nextStateResult.ok) return nextStateResult;\n\n rootState = nextStateResult.data;\n emit(path, value);\n return { ok: true };\n },\n subscribe<TValue extends StateValue = StateValue>(\n path: StatePath,\n listener: StateListener<TValue>,\n ): StateResult<StateSubscription> {\n const pathResult = normalizeStatePath(path);\n if (!pathResult.ok) return pathResult;\n\n const key = pathPartsToKey(pathResult.parts);\n const listenersForPath =\n listeners.get(key) ?? new Set<(value: StateValue | undefined) => void>();\n const wrappedListener = (value: StateValue | undefined) => {\n listener({ path, value: value as TValue | undefined });\n };\n\n listenersForPath.add(wrappedListener);\n listeners.set(key, listenersForPath);\n\n return createStateDataResult({\n unsubscribe() {\n listenersForPath.delete(wrappedListener);\n if (listenersForPath.size === 0) {\n listeners.delete(key);\n }\n },\n });\n },\n delete(path: StatePath): StateResult {\n const pathResult = normalizeStatePath(path);\n if (!pathResult.ok) return pathResult;\n\n const nextStateResult = deleteStatePath(rootState, pathResult.parts);\n if (!nextStateResult.ok) return nextStateResult;\n\n rootState = nextStateResult.data;\n emit(path, undefined);\n return { ok: true };\n },\n };\n}\n\ninterface ResolvedStatePath {\n readonly ok: true;\n readonly parts: readonly string[];\n}\n\ninterface StatePathError {\n readonly ok: false;\n readonly error: StateAdapterError;\n}\n\ntype StatePathResult = ResolvedStatePath | StatePathError;\n\nfunction normalizeStatePath(path: StatePath): StatePathResult {\n const parts = typeof path === 'string' ? path.split('.') : [...path];\n const normalized = parts.map((part) => part.trim()).filter(Boolean);\n\n if (normalized.length === 0) {\n return createStateError('invalid_path', 'State path must contain at least one segment.');\n }\n\n return {\n ok: true,\n parts: normalized,\n };\n}\n\nfunction pathPartsToKey(parts: readonly string[]): string {\n return parts.join('.');\n}\n\nfunction readStatePath(\n source: MutableStateRecord,\n parts: readonly string[],\n): StateValue | undefined {\n let currentValue: StateValue | undefined = source;\n\n for (const part of parts) {\n if (!isStateRecord(currentValue)) {\n return undefined;\n }\n\n currentValue = currentValue[part];\n }\n\n return currentValue;\n}\n\nfunction setStatePath(\n source: MutableStateRecord,\n parts: readonly string[],\n value: StateValue,\n): StateResult<MutableStateRecord> {\n const [head, ...tail] = parts;\n if (head === undefined) {\n return createStateError('invalid_path', 'State path must contain at least one segment.');\n }\n\n if (tail.length === 0) {\n return createStateDataResult({\n ...source,\n [head]: value,\n });\n }\n\n const existing = source[head];\n const child = existing === undefined ? {} : existing;\n if (!isStateRecord(child)) {\n return createStateError(\n 'path_conflict',\n `Cannot set nested state below non-object path segment \"${head}\".`,\n );\n }\n\n const childResult = setStatePath(child, tail, value);\n if (!childResult.ok) return childResult;\n\n return createStateDataResult({\n ...source,\n [head]: childResult.data,\n });\n}\n\nfunction deleteStatePath(\n source: MutableStateRecord,\n parts: readonly string[],\n): StateResult<MutableStateRecord> {\n const [head, ...tail] = parts;\n if (head === undefined) {\n return createStateError('invalid_path', 'State path must contain at least one segment.');\n }\n\n if (tail.length === 0) {\n const nextState: MutableStateRecord = {};\n for (const [key, value] of Object.entries(source)) {\n if (key !== head) {\n nextState[key] = value;\n }\n }\n\n return createStateDataResult(nextState);\n }\n\n const existing = source[head];\n if (existing === undefined) {\n return createStateDataResult(source);\n }\n\n if (!isStateRecord(existing)) {\n return createStateError(\n 'path_conflict',\n `Cannot delete nested state below non-object path segment \"${head}\".`,\n );\n }\n\n const childResult = deleteStatePath(existing, tail);\n if (!childResult.ok) return childResult;\n\n return createStateDataResult({\n ...source,\n [head]: childResult.data,\n });\n}\n\nfunction isStateRecord(value: StateValue | undefined): value is MutableStateRecord {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction createStateError(code: string, message: string): StatePathError {\n const error: StateAdapterError = { code, message };\n return { ok: false, error };\n}\n\nfunction createStateDataResult<TValue>(data: TValue): StateResult<TValue> {\n const result = {\n ok: true,\n data,\n };\n\n return result as StateResult<TValue>;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/runtime",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Platform-neutral runtime contracts and helpers for Ankhorage generated apps.",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Platform-neutral runtime renderer, contracts, and helpers for Ankhorage generated apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -63,12 +63,29 @@
|
|
|
63
63
|
"changeset:status": "changeset status --since=origin/main",
|
|
64
64
|
"version-packages": "changeset version"
|
|
65
65
|
},
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"@ankhorage/contracts": "^1.18.3",
|
|
68
|
+
"@ankhorage/data-sources": "^0.5.1",
|
|
69
|
+
"@ankhorage/zora": "^2.8.1"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"react": "19.1.0",
|
|
73
|
+
"react-native": "0.81.5"
|
|
74
|
+
},
|
|
66
75
|
"devDependencies": {
|
|
67
76
|
"@ankhorage/devtools": "^1.0.6",
|
|
68
77
|
"@ankhorage/paradox": "^0.1.10",
|
|
69
78
|
"@changesets/cli": "^2.31.0",
|
|
79
|
+
"@expo/vector-icons": "^15.0.3",
|
|
80
|
+
"@react-native-picker/picker": "2.11.1",
|
|
70
81
|
"@types/bun": "^1.3.13",
|
|
71
82
|
"@types/node": "^25.6.0",
|
|
83
|
+
"@types/react": "^19.2.14",
|
|
84
|
+
"expo": "~54.0.35",
|
|
85
|
+
"expo-font": "~14.0.12",
|
|
86
|
+
"expo-linear-gradient": "^56.0.4",
|
|
87
|
+
"react": "19.1.0",
|
|
88
|
+
"react-native": "0.81.5",
|
|
72
89
|
"typescript": "^5.9.3"
|
|
73
90
|
},
|
|
74
91
|
"sideEffects": false,
|
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: v0.
|
|
2
|
-
<title>npm: v0.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="20" role="img" aria-label="npm: v0.1.1">
|
|
2
|
+
<title>npm: v0.1.1</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">v0.
|
|
6
|
+
<text x="64" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">v0.1.1</text>
|
|
7
7
|
</svg>
|
package/paradox/components.md
CHANGED
|
@@ -1 +1,73 @@
|
|
|
1
1
|
# Components
|
|
2
|
+
|
|
3
|
+
## ManifestContext
|
|
4
|
+
|
|
5
|
+
Source: `src/ManifestContext.tsx:10:14`
|
|
6
|
+
|
|
7
|
+
Export paths: `src/index.ts`
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Required | Default | Description |
|
|
10
|
+
| -------- | ------------------------------ | -------- | ------- | ----------- |
|
|
11
|
+
| children | `ReactNode` | no | — | |
|
|
12
|
+
| value | `ManifestContextValue \| null` | yes | — | |
|
|
13
|
+
|
|
14
|
+
## ManifestProvider
|
|
15
|
+
|
|
16
|
+
Source: `src/ManifestContext.tsx:12:1`
|
|
17
|
+
|
|
18
|
+
Export paths: `src/index.ts`
|
|
19
|
+
|
|
20
|
+
| Prop | Type | Required | Default | Description |
|
|
21
|
+
| -------------- | ----------------------------------------- | -------- | ------- | ----------- |
|
|
22
|
+
| activeScreenId | `string \| undefined` | no | — | |
|
|
23
|
+
| children | `React.ReactNode \| undefined` | no | — | |
|
|
24
|
+
| manifest | `AppManifest` | yes | — | |
|
|
25
|
+
| onScreenChange | `(screenId: string) => void \| undefined` | no | — | |
|
|
26
|
+
|
|
27
|
+
## RuntimeRenderer
|
|
28
|
+
|
|
29
|
+
Source: `src/RuntimeRenderer.tsx:68:1`
|
|
30
|
+
|
|
31
|
+
Export paths: `src/index.ts`
|
|
32
|
+
|
|
33
|
+
| Prop | Type | Required | Default | Description |
|
|
34
|
+
| ----------------- | --------------------------------------------------------------------- | -------- | ------- | ----------- |
|
|
35
|
+
| bindingContext | `Record<string, unknown> \| undefined` | no | — | |
|
|
36
|
+
| dataBindings | `ComponentDataBindingRegistry \| undefined` | no | — | |
|
|
37
|
+
| dataSources | `DataSourceRegistry \| undefined` | no | — | |
|
|
38
|
+
| dbAdapter | `DbAdapter \| undefined` | no | — | |
|
|
39
|
+
| dbRealtimeAdapter | `DbRealtimeAdapter \| undefined` | no | — | |
|
|
40
|
+
| disableActions | `boolean \| undefined` | no | — | |
|
|
41
|
+
| executeAction | `RuntimeActionExecutor \| undefined` | no | — | |
|
|
42
|
+
| executeOperation | `RuntimeBindingOperationExecutor \| undefined` | no | — | |
|
|
43
|
+
| isRoot | `boolean \| undefined` | no | — | |
|
|
44
|
+
| node | `UiNode` | yes | — | |
|
|
45
|
+
| onDiagnostics | `(diagnostics: readonly DataSourceDiagnostic[]) => void \| undefined` | no | — | |
|
|
46
|
+
| operationResults | `RuntimeBindingOperationResultCache \| undefined` | no | — | |
|
|
47
|
+
| registry | `ComponentRegistry \| undefined` | no | — | |
|
|
48
|
+
| stateAdapter | `StateAdapter \| undefined` | no | — | |
|
|
49
|
+
| wrapNode | `(args: RuntimeRendererWrapArgs) => React.ReactNode \| undefined` | no | — | |
|
|
50
|
+
|
|
51
|
+
## RuntimeRendererConfigProvider
|
|
52
|
+
|
|
53
|
+
Source: `src/RuntimeRendererConfig.tsx:152:1`
|
|
54
|
+
|
|
55
|
+
Export paths: `src/index.ts`
|
|
56
|
+
|
|
57
|
+
| Prop | Type | Required | Default | Description |
|
|
58
|
+
| -------- | ------------------------------ | -------- | ------- | ----------- |
|
|
59
|
+
| children | `React.ReactNode \| undefined` | no | — | |
|
|
60
|
+
| value | `RuntimeRendererConfig` | yes | — | |
|
|
61
|
+
|
|
62
|
+
## RuntimeScreen
|
|
63
|
+
|
|
64
|
+
Source: `src/RuntimeScreen.tsx:24:1`
|
|
65
|
+
|
|
66
|
+
Export paths: `src/index.ts`
|
|
67
|
+
|
|
68
|
+
| Prop | Type | Required | Default | Description |
|
|
69
|
+
| ------------ | -------------------------------- | -------- | ------- | ----------- |
|
|
70
|
+
| manifest | `AppManifest` | yes | — | |
|
|
71
|
+
| registry | `ComponentRegistry \| undefined` | no | — | |
|
|
72
|
+
| screen | `ScreenSpec` | yes | — | |
|
|
73
|
+
| stateAdapter | `StateAdapter \| undefined` | no | — | |
|
|
@@ -4,7 +4,141 @@ 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_appExtensionRegistry_ts["src/appExtensionRegistry.ts"]
|
|
8
|
+
package__ankhorage_runtime -.-> module_src_appExtensionRegistry_ts
|
|
9
|
+
module_src_appExtensionRegistry_ts --> module_src_componentRegistry_ts
|
|
10
|
+
module_src_componentRegistry_ts["src/componentRegistry.ts"]
|
|
11
|
+
package__ankhorage_runtime -.-> module_src_componentRegistry_ts
|
|
7
12
|
module_src_index_ts["src/index.ts"]
|
|
13
|
+
module_src_ManifestContext_tsx["src/ManifestContext.tsx"]
|
|
14
|
+
package__ankhorage_runtime -.-> module_src_ManifestContext_tsx
|
|
15
|
+
module_src_registry_test_ts["src/registry.test.ts"]
|
|
16
|
+
package__ankhorage_runtime -.-> module_src_registry_test_ts
|
|
17
|
+
module_src_registry_test_ts --> module_src_componentRegistry_ts
|
|
18
|
+
module_src_registry_tsx["src/registry.tsx"]
|
|
19
|
+
package__ankhorage_runtime -.-> module_src_registry_tsx
|
|
20
|
+
module_src_registry_tsx --> module_src_appExtensionRegistry_ts
|
|
21
|
+
module_src_registry_tsx --> module_src_componentRegistry_ts
|
|
22
|
+
module_src_rendering_test_ts["src/rendering.test.ts"]
|
|
23
|
+
package__ankhorage_runtime -.-> module_src_rendering_test_ts
|
|
24
|
+
module_src_rendering_test_ts --> module_src_registry_tsx
|
|
25
|
+
module_src_rendering_test_ts --> module_src_rendering_ts
|
|
26
|
+
module_src_rendering_ts["src/rendering.ts"]
|
|
27
|
+
package__ankhorage_runtime -.-> module_src_rendering_ts
|
|
28
|
+
module_src_rendering_ts --> module_src_registry_tsx
|
|
29
|
+
module_src_runtimeActionRegistry_test_ts["src/runtimeActionRegistry.test.ts"]
|
|
30
|
+
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_test_ts
|
|
31
|
+
module_src_runtimeActionRegistry_test_ts --> module_src_runtimeActionRegistry_ts
|
|
32
|
+
module_src_runtimeActionRegistry_test_ts --> module_src_runtimeBindings_ts
|
|
33
|
+
module_src_runtimeActionRegistry_ts["src/runtimeActionRegistry.ts"]
|
|
34
|
+
package__ankhorage_runtime -.-> module_src_runtimeActionRegistry_ts
|
|
35
|
+
module_src_runtimeActionRegistry_ts --> module_src_runtimeBindings_ts
|
|
36
|
+
module_src_runtimeActionRegistry_ts --> module_src_RuntimeRendererConfig_tsx
|
|
37
|
+
module_src_runtimeApiLoaders_test_ts["src/runtimeApiLoaders.test.ts"]
|
|
38
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiLoaders_test_ts
|
|
39
|
+
module_src_runtimeApiLoaders_test_ts --> module_src_runtimeApiLoaders_ts
|
|
40
|
+
module_src_runtimeApiLoaders_test_ts --> module_src_runtimeBindings_ts
|
|
41
|
+
module_src_runtimeApiLoaders_test_ts --> module_src_runtimeStateAdapter_ts
|
|
42
|
+
module_src_runtimeApiLoaders_ts["src/runtimeApiLoaders.ts"]
|
|
43
|
+
package__ankhorage_runtime -.-> module_src_runtimeApiLoaders_ts
|
|
44
|
+
module_src_runtimeApiLoaders_ts --> module_src_runtimeStateAdapter_ts
|
|
45
|
+
module_src_runtimeBindings_test_ts["src/runtimeBindings.test.ts"]
|
|
46
|
+
package__ankhorage_runtime -.-> module_src_runtimeBindings_test_ts
|
|
47
|
+
module_src_runtimeBindings_test_ts --> module_src_runtimeBindings_ts
|
|
48
|
+
module_src_runtimeBindings_test_ts --> module_src_runtimeNodeProps_ts
|
|
49
|
+
module_src_runtimeBindings_ts["src/runtimeBindings.ts"]
|
|
50
|
+
package__ankhorage_runtime -.-> module_src_runtimeBindings_ts
|
|
51
|
+
module_src_runtimeDataSourceOperations_test_ts["src/runtimeDataSourceOperations.test.ts"]
|
|
52
|
+
package__ankhorage_runtime -.-> module_src_runtimeDataSourceOperations_test_ts
|
|
53
|
+
module_src_runtimeDataSourceOperations_test_ts --> module_src_runtimeDataSourceOperations_ts
|
|
54
|
+
module_src_runtimeDataSourceOperations_ts["src/runtimeDataSourceOperations.ts"]
|
|
55
|
+
package__ankhorage_runtime -.-> module_src_runtimeDataSourceOperations_ts
|
|
56
|
+
module_src_runtimeDataSourceOperations_ts --> module_src_runtimeBindings_ts
|
|
57
|
+
module_src_runtimeDbPersist_test_ts["src/runtimeDbPersist.test.ts"]
|
|
58
|
+
package__ankhorage_runtime -.-> module_src_runtimeDbPersist_test_ts
|
|
59
|
+
module_src_runtimeDbPersist_test_ts --> module_src_runtimeActionRegistry_ts
|
|
60
|
+
module_src_runtimeDbPersist_test_ts --> module_src_runtimeDbPersist_ts
|
|
61
|
+
module_src_runtimeDbPersist_ts["src/runtimeDbPersist.ts"]
|
|
62
|
+
package__ankhorage_runtime -.-> module_src_runtimeDbPersist_ts
|
|
63
|
+
module_src_runtimeDbPersist_ts --> module_src_RuntimeRendererConfig_tsx
|
|
64
|
+
module_src_runtimeEventExecution_test_ts["src/runtimeEventExecution.test.ts"]
|
|
65
|
+
package__ankhorage_runtime -.-> module_src_runtimeEventExecution_test_ts
|
|
66
|
+
module_src_runtimeEventExecution_test_ts --> module_src_runtimeEventExecution_ts
|
|
67
|
+
module_src_runtimeEventExecution_ts["src/runtimeEventExecution.ts"]
|
|
68
|
+
package__ankhorage_runtime -.-> module_src_runtimeEventExecution_ts
|
|
69
|
+
module_src_runtimeEventExecution_ts --> module_src_runtimeActionRegistry_ts
|
|
70
|
+
module_src_runtimeEventExecution_ts --> module_src_RuntimeRendererConfig_tsx
|
|
71
|
+
module_src_runtimeManifest_ts["src/runtimeManifest.ts"]
|
|
72
|
+
package__ankhorage_runtime -.-> module_src_runtimeManifest_ts
|
|
73
|
+
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
74
|
+
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_test_ts
|
|
75
|
+
module_src_runtimeNodeProps_test_ts --> module_src_runtimeNodeProps_ts
|
|
76
|
+
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
77
|
+
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_ts
|
|
78
|
+
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
79
|
+
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
80
|
+
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
81
|
+
package__ankhorage_runtime -.-> module_src_runtimePackageIsolation_test_ts
|
|
82
|
+
module_src_RuntimeRenderer_test_ts["src/RuntimeRenderer.test.ts"]
|
|
83
|
+
package__ankhorage_runtime -.-> module_src_RuntimeRenderer_test_ts
|
|
84
|
+
module_src_RuntimeRenderer_test_ts --> module_src_runtimeRepeatEmptyState_ts
|
|
85
|
+
module_src_RuntimeRenderer_tsx["src/RuntimeRenderer.tsx"]
|
|
86
|
+
package__ankhorage_runtime -.-> module_src_RuntimeRenderer_tsx
|
|
87
|
+
module_src_RuntimeRenderer_tsx --> module_src_registry_tsx
|
|
88
|
+
module_src_RuntimeRenderer_tsx --> module_src_rendering_ts
|
|
89
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeActionRegistry_ts
|
|
90
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeBindings_ts
|
|
91
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeDbPersist_ts
|
|
92
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeEventExecution_ts
|
|
93
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeNodeProps_ts
|
|
94
|
+
module_src_RuntimeRenderer_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
95
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeat_ts
|
|
96
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatDiagnostics_ts
|
|
97
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatEmptyState_ts
|
|
98
|
+
module_src_RuntimeRendererConfig_test_tsx["src/RuntimeRendererConfig.test.tsx"]
|
|
99
|
+
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_test_tsx
|
|
100
|
+
module_src_RuntimeRendererConfig_test_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
101
|
+
module_src_RuntimeRendererConfig_tsx["src/RuntimeRendererConfig.tsx"]
|
|
102
|
+
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_tsx
|
|
103
|
+
module_src_RuntimeRendererConfig_tsx --> module_src_registry_tsx
|
|
104
|
+
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeBindings_ts
|
|
105
|
+
module_src_runtimeRepeat_test_ts["src/runtimeRepeat.test.ts"]
|
|
106
|
+
package__ankhorage_runtime -.-> module_src_runtimeRepeat_test_ts
|
|
107
|
+
module_src_runtimeRepeat_test_ts --> module_src_runtimeActionRegistry_ts
|
|
108
|
+
module_src_runtimeRepeat_test_ts --> module_src_runtimeBindings_ts
|
|
109
|
+
module_src_runtimeRepeat_test_ts --> module_src_runtimeRepeat_ts
|
|
110
|
+
module_src_runtimeRepeat_ts["src/runtimeRepeat.ts"]
|
|
111
|
+
package__ankhorage_runtime -.-> module_src_runtimeRepeat_ts
|
|
112
|
+
module_src_runtimeRepeat_ts --> module_src_runtimeBindings_ts
|
|
113
|
+
module_src_runtimeRepeatDiagnostics_ts["src/runtimeRepeatDiagnostics.ts"]
|
|
114
|
+
package__ankhorage_runtime -.-> module_src_runtimeRepeatDiagnostics_ts
|
|
115
|
+
module_src_runtimeRepeatEmptyState_ts["src/runtimeRepeatEmptyState.ts"]
|
|
116
|
+
package__ankhorage_runtime -.-> module_src_runtimeRepeatEmptyState_ts
|
|
117
|
+
module_src_RuntimeScreen_tsx["src/RuntimeScreen.tsx"]
|
|
118
|
+
package__ankhorage_runtime -.-> module_src_RuntimeScreen_tsx
|
|
119
|
+
module_src_RuntimeScreen_tsx --> module_src_registry_tsx
|
|
120
|
+
module_src_RuntimeScreen_tsx --> module_src_runtimeApiLoaders_ts
|
|
121
|
+
module_src_RuntimeScreen_tsx --> module_src_RuntimeRenderer_tsx
|
|
122
|
+
module_src_RuntimeScreen_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
123
|
+
module_src_RuntimeScreen_tsx --> module_src_runtimeScreenLoaders_ts
|
|
124
|
+
module_src_runtimeScreenLoaders_arrayPath_test_ts["src/runtimeScreenLoaders.arrayPath.test.ts"]
|
|
125
|
+
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_arrayPath_test_ts
|
|
126
|
+
module_src_runtimeScreenLoaders_arrayPath_test_ts --> module_src_runtimeBindings_ts
|
|
127
|
+
module_src_runtimeScreenLoaders_arrayPath_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
128
|
+
module_src_runtimeScreenLoaders_test_ts["src/runtimeScreenLoaders.test.ts"]
|
|
129
|
+
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_test_ts
|
|
130
|
+
module_src_runtimeScreenLoaders_test_ts --> module_src_runtimeBindings_ts
|
|
131
|
+
module_src_runtimeScreenLoaders_test_ts --> module_src_runtimeScreenLoaders_ts
|
|
132
|
+
module_src_runtimeScreenLoaders_ts["src/runtimeScreenLoaders.ts"]
|
|
133
|
+
package__ankhorage_runtime -.-> module_src_runtimeScreenLoaders_ts
|
|
134
|
+
module_src_runtimeScreenLoaders_ts --> module_src_runtimeBindings_ts
|
|
135
|
+
module_src_runtimeStateAdapter_ts["src/runtimeStateAdapter.ts"]
|
|
136
|
+
package__ankhorage_runtime -.-> module_src_runtimeStateAdapter_ts
|
|
137
|
+
module_src_runtimeStateAdapterConfig_test_ts["src/runtimeStateAdapterConfig.test.ts"]
|
|
138
|
+
package__ankhorage_runtime -.-> module_src_runtimeStateAdapterConfig_test_ts
|
|
139
|
+
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeBindings_ts
|
|
140
|
+
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeNodeProps_ts
|
|
141
|
+
module_src_runtimeStateAdapterConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
8
142
|
module_tests_runtime_test_ts["tests/runtime.test.ts"]
|
|
9
143
|
package__ankhorage_runtime -.-> module_tests_runtime_test_ts
|
|
10
|
-
module_tests_runtime_test_ts -->
|
|
144
|
+
module_tests_runtime_test_ts --> module_src_runtimeManifest_ts
|