@ankhorage/runtime 1.0.0 → 1.1.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 +2 -2
- package/dist/RuntimeRenderer.d.ts +4 -1
- package/dist/RuntimeRenderer.d.ts.map +1 -1
- package/dist/RuntimeRenderer.js +32 -13
- package/dist/RuntimeRenderer.js.map +1 -1
- package/dist/RuntimeRendererConfig.d.ts +4 -1
- package/dist/RuntimeRendererConfig.d.ts.map +1 -1
- package/dist/RuntimeRendererConfig.js +2 -0
- package/dist/RuntimeRendererConfig.js.map +1 -1
- package/dist/RuntimeScreen.d.ts.map +1 -1
- package/dist/RuntimeScreen.js +1 -1
- package/dist/RuntimeScreen.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/readme-usage.js +1 -1
- package/dist/readme-usage.js.map +1 -1
- package/dist/runtimeMedia.d.ts +13 -0
- package/dist/runtimeMedia.d.ts.map +1 -0
- package/dist/runtimeMedia.js +80 -0
- package/dist/runtimeMedia.js.map +1 -0
- package/dist/runtimeMediaCache.d.ts +8 -0
- package/dist/runtimeMediaCache.d.ts.map +1 -0
- package/dist/runtimeMediaCache.js +14 -0
- package/dist/runtimeMediaCache.js.map +1 -0
- package/dist/useRuntimeMediaProps.d.ts +9 -0
- package/dist/useRuntimeMediaProps.d.ts.map +1 -0
- package/dist/useRuntimeMediaProps.js +61 -0
- package/dist/useRuntimeMediaProps.js.map +1 -0
- package/package.json +4 -3
- package/paradox/badges/npm.svg +3 -3
- package/paradox/components.md +4 -2
- package/paradox/diagrams/architecture-overview.mmd +18 -0
- package/paradox/diagrams/export-graph.mmd +13 -19
- package/paradox/diagrams/module-relationships.mmd +13 -0
- package/paradox/exports.json +116 -213
- package/paradox/exports.md +120 -163
- package/paradox/index.html +500 -305
- package/paradox/paradox.json +674 -319
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeMedia.js","sourceRoot":"","sources":["../src/runtimeMedia.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isMediaAssetReference,\n type MediaAsset,\n type MediaAssetRegistry,\n} from '@ankhorage/contracts';\n\nexport type RuntimeResolvedMediaValue = string | number | Readonly<Record<string, unknown>>;\n\nexport interface RuntimeMediaAssetResolverArgs {\n readonly asset: MediaAsset;\n}\n\nexport type RuntimeMediaAssetResolver = (\n args: RuntimeMediaAssetResolverArgs,\n) => Promise<RuntimeResolvedMediaValue | null> | RuntimeResolvedMediaValue | null;\n\nexport type RuntimeMediaResolutionCache = WeakMap<\n MediaAsset,\n WeakMap<RuntimeMediaAssetResolver, Promise<RuntimeResolvedMediaValue | null>>\n>;\n\nconst OMIT_MEDIA_VALUE = Symbol('omit-runtime-media-value');\n\nexport function createRuntimeMediaResolutionCache(): RuntimeMediaResolutionCache {\n return new WeakMap();\n}\n\nexport function collectRuntimeMediaReferenceIds(value: unknown): readonly string[] {\n const ids = new Set<string>();\n collectMediaReferenceIds(value, ids);\n return [...ids].sort();\n}\n\nexport function replaceRuntimeMediaReferences(\n value: unknown,\n resolvedById: ReadonlyMap<string, RuntimeResolvedMediaValue>,\n): unknown {\n const replaced = replaceMediaValue(value, resolvedById);\n return replaced === OMIT_MEDIA_VALUE ? undefined : replaced;\n}\n\nexport function resolveRuntimeMediaAsset(\n asset: MediaAsset,\n resolver: RuntimeMediaAssetResolver | undefined,\n cache: RuntimeMediaResolutionCache,\n): Promise<RuntimeResolvedMediaValue | null> {\n if (asset.source.kind === 'url') return Promise.resolve(asset.source.url);\n if (!resolver) return Promise.resolve(null);\n\n let resolverCache = cache.get(asset);\n if (!resolverCache) {\n resolverCache = new WeakMap();\n cache.set(asset, resolverCache);\n }\n\n const cached = resolverCache.get(resolver);\n if (cached) return cached;\n\n const pending = Promise.resolve(resolver({ asset })).catch(() => null);\n resolverCache.set(resolver, pending);\n return pending;\n}\n\nexport function createSyncRuntimeMediaResolutionMap(\n ids: readonly string[],\n mediaAssets: MediaAssetRegistry | undefined,\n): Map<string, RuntimeResolvedMediaValue> {\n const resolved = new Map<string, RuntimeResolvedMediaValue>();\n\n for (const id of ids) {\n const asset = mediaAssets?.[id];\n if (asset?.source.kind === 'url') resolved.set(id, asset.source.url);\n }\n\n return resolved;\n}\n\nfunction collectMediaReferenceIds(value: unknown, ids: Set<string>): void {\n if (isMediaAssetReference(value)) {\n ids.add(value.mediaId.trim());\n return;\n }\n\n if (Array.isArray(value)) {\n value.forEach((item) => collectMediaReferenceIds(item, ids));\n return;\n }\n\n if (!isPlainObject(value)) return;\n Object.values(value).forEach((item) => collectMediaReferenceIds(item, ids));\n}\n\nfunction replaceMediaValue(\n value: unknown,\n resolvedById: ReadonlyMap<string, RuntimeResolvedMediaValue>,\n): unknown {\n if (isMediaAssetReference(value)) {\n return resolvedById.get(value.mediaId.trim()) ?? OMIT_MEDIA_VALUE;\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => {\n const replaced = replaceMediaValue(item, resolvedById);\n return replaced === OMIT_MEDIA_VALUE ? undefined : replaced;\n });\n }\n\n if (!isPlainObject(value)) return value;\n\n const result: Record<string, unknown> = {};\n for (const [key, item] of Object.entries(value)) {\n const replaced = replaceMediaValue(item, resolvedById);\n if (replaced !== OMIT_MEDIA_VALUE) result[key] = replaced;\n }\n return result;\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;\n const prototype = Reflect.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type RuntimeMediaResolutionCache } from './runtimeMedia';
|
|
3
|
+
export declare function useRuntimeMediaResolutionCache(): RuntimeMediaResolutionCache;
|
|
4
|
+
export declare function RuntimeMediaResolutionCacheProvider(props: {
|
|
5
|
+
readonly value: RuntimeMediaResolutionCache;
|
|
6
|
+
readonly children: React.ReactNode;
|
|
7
|
+
}): React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=runtimeMediaCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeMediaCache.d.ts","sourceRoot":"","sources":["../src/runtimeMediaCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,gBAAgB,CAAC;AAIxB,wBAAgB,8BAA8B,IAAI,2BAA2B,CAI5E;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE;IACzD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,qBAMA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
2
|
+
import { createRuntimeMediaResolutionCache, } from './runtimeMedia';
|
|
3
|
+
const RuntimeMediaCacheContext = createContext(null);
|
|
4
|
+
export function useRuntimeMediaResolutionCache() {
|
|
5
|
+
const inherited = useContext(RuntimeMediaCacheContext);
|
|
6
|
+
const local = useMemo(() => createRuntimeMediaResolutionCache(), []);
|
|
7
|
+
return inherited ?? local;
|
|
8
|
+
}
|
|
9
|
+
export function RuntimeMediaResolutionCacheProvider(props) {
|
|
10
|
+
return (<RuntimeMediaCacheContext.Provider value={props.value}>
|
|
11
|
+
{props.children}
|
|
12
|
+
</RuntimeMediaCacheContext.Provider>);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=runtimeMediaCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtimeMediaCache.js","sourceRoot":"","sources":["../src/runtimeMediaCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EACL,iCAAiC,GAElC,MAAM,gBAAgB,CAAC;AAExB,MAAM,wBAAwB,GAAG,aAAa,CAAqC,IAAI,CAAC,CAAC;AAEzF,MAAM,UAAU,8BAA8B;IAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iCAAiC,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,OAAO,SAAS,IAAI,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,KAGnD;IACC,OAAO,CACL,CAAC,wBAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACpD;MAAA,CAAC,KAAK,CAAC,QAAQ,CACjB;IAAA,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CACrC,CAAC;AACJ,CAAC","sourcesContent":["import React, { createContext, useContext, useMemo } from 'react';\n\nimport {\n createRuntimeMediaResolutionCache,\n type RuntimeMediaResolutionCache,\n} from './runtimeMedia';\n\nconst RuntimeMediaCacheContext = createContext<RuntimeMediaResolutionCache | null>(null);\n\nexport function useRuntimeMediaResolutionCache(): RuntimeMediaResolutionCache {\n const inherited = useContext(RuntimeMediaCacheContext);\n const local = useMemo(() => createRuntimeMediaResolutionCache(), []);\n return inherited ?? local;\n}\n\nexport function RuntimeMediaResolutionCacheProvider(props: {\n readonly value: RuntimeMediaResolutionCache;\n readonly children: React.ReactNode;\n}) {\n return (\n <RuntimeMediaCacheContext.Provider value={props.value}>\n {props.children}\n </RuntimeMediaCacheContext.Provider>\n );\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MediaAssetRegistry } from '@ankhorage/contracts';
|
|
2
|
+
import { type RuntimeMediaAssetResolver, type RuntimeMediaResolutionCache } from './runtimeMedia';
|
|
3
|
+
export declare function useRuntimeMediaProps(args: {
|
|
4
|
+
readonly props: Record<string, unknown>;
|
|
5
|
+
readonly mediaAssets?: MediaAssetRegistry;
|
|
6
|
+
readonly resolveMediaAsset?: RuntimeMediaAssetResolver;
|
|
7
|
+
readonly cache: RuntimeMediaResolutionCache;
|
|
8
|
+
}): Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=useRuntimeMediaProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRuntimeMediaProps.d.ts","sourceRoot":"","sources":["../src/useRuntimeMediaProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAKL,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAEjC,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC;CAC7C,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyC1B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { collectRuntimeMediaReferenceIds, createSyncRuntimeMediaResolutionMap, replaceRuntimeMediaReferences, resolveRuntimeMediaAsset, } from './runtimeMedia';
|
|
3
|
+
export function useRuntimeMediaProps(args) {
|
|
4
|
+
const ids = collectRuntimeMediaReferenceIds(args.props);
|
|
5
|
+
const idsKey = ids.join('\u0000');
|
|
6
|
+
const [asyncResolved, setAsyncResolved] = React.useState(() => new Map());
|
|
7
|
+
React.useEffect(() => {
|
|
8
|
+
let active = true;
|
|
9
|
+
const effectIds = idsKey.length === 0 ? [] : idsKey.split('\u0000');
|
|
10
|
+
const currentIds = new Set(effectIds);
|
|
11
|
+
setAsyncResolved((current) => filterResolvedValues(current, currentIds));
|
|
12
|
+
for (const id of effectIds) {
|
|
13
|
+
const asset = args.mediaAssets?.[id];
|
|
14
|
+
if (!asset || asset.source.kind === 'url')
|
|
15
|
+
continue;
|
|
16
|
+
void resolveRuntimeMediaAsset(asset, args.resolveMediaAsset, args.cache).then((value) => {
|
|
17
|
+
if (!active || value === null)
|
|
18
|
+
return;
|
|
19
|
+
setAsyncResolved((current) => {
|
|
20
|
+
if (current.get(id) === value)
|
|
21
|
+
return current;
|
|
22
|
+
const next = new Map(current);
|
|
23
|
+
next.set(id, value);
|
|
24
|
+
return next;
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return () => {
|
|
29
|
+
active = false;
|
|
30
|
+
};
|
|
31
|
+
}, [args.cache, args.mediaAssets, args.resolveMediaAsset, idsKey]);
|
|
32
|
+
const resolved = createSyncRuntimeMediaResolutionMap(ids, args.mediaAssets);
|
|
33
|
+
const currentIds = new Set(ids);
|
|
34
|
+
asyncResolved.forEach((value, id) => {
|
|
35
|
+
if (currentIds.has(id))
|
|
36
|
+
resolved.set(id, value);
|
|
37
|
+
});
|
|
38
|
+
const replaced = replaceRuntimeMediaReferences(args.props, resolved);
|
|
39
|
+
return isRecord(replaced) ? replaced : {};
|
|
40
|
+
}
|
|
41
|
+
function filterResolvedValues(current, ids) {
|
|
42
|
+
const next = new Map();
|
|
43
|
+
current.forEach((value, id) => {
|
|
44
|
+
if (ids.has(id))
|
|
45
|
+
next.set(id, value);
|
|
46
|
+
});
|
|
47
|
+
return mapsEqual(current, next) ? current : next;
|
|
48
|
+
}
|
|
49
|
+
function mapsEqual(left, right) {
|
|
50
|
+
if (left.size !== right.size)
|
|
51
|
+
return false;
|
|
52
|
+
for (const [key, value] of left) {
|
|
53
|
+
if (right.get(key) !== value)
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
function isRecord(value) {
|
|
59
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=useRuntimeMediaProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRuntimeMediaProps.js","sourceRoot":"","sources":["../src/useRuntimeMediaProps.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MediaAssetRegistry } from '@ankhorage/contracts';\nimport React from 'react';\n\nimport {\n collectRuntimeMediaReferenceIds,\n createSyncRuntimeMediaResolutionMap,\n replaceRuntimeMediaReferences,\n resolveRuntimeMediaAsset,\n type RuntimeMediaAssetResolver,\n type RuntimeMediaResolutionCache,\n type RuntimeResolvedMediaValue,\n} from './runtimeMedia';\n\nexport function useRuntimeMediaProps(args: {\n readonly props: Record<string, unknown>;\n readonly mediaAssets?: MediaAssetRegistry;\n readonly resolveMediaAsset?: RuntimeMediaAssetResolver;\n readonly cache: RuntimeMediaResolutionCache;\n}): Record<string, unknown> {\n const ids = collectRuntimeMediaReferenceIds(args.props);\n const idsKey = ids.join('\\u0000');\n const [asyncResolved, setAsyncResolved] = React.useState(\n () => new Map<string, RuntimeResolvedMediaValue>(),\n );\n\n React.useEffect(() => {\n let active = true;\n const effectIds = idsKey.length === 0 ? [] : idsKey.split('\\u0000');\n const currentIds = new Set(effectIds);\n setAsyncResolved((current) => filterResolvedValues(current, currentIds));\n\n for (const id of effectIds) {\n const asset = args.mediaAssets?.[id];\n if (!asset || asset.source.kind === 'url') continue;\n\n void resolveRuntimeMediaAsset(asset, args.resolveMediaAsset, args.cache).then((value) => {\n if (!active || value === null) return;\n setAsyncResolved((current) => {\n if (current.get(id) === value) return current;\n const next = new Map(current);\n next.set(id, value);\n return next;\n });\n });\n }\n\n return () => {\n active = false;\n };\n }, [args.cache, args.mediaAssets, args.resolveMediaAsset, idsKey]);\n\n const resolved = createSyncRuntimeMediaResolutionMap(ids, args.mediaAssets);\n const currentIds = new Set(ids);\n asyncResolved.forEach((value, id) => {\n if (currentIds.has(id)) resolved.set(id, value);\n });\n\n const replaced = replaceRuntimeMediaReferences(args.props, resolved);\n return isRecord(replaced) ? replaced : {};\n}\n\nfunction filterResolvedValues(\n current: Map<string, RuntimeResolvedMediaValue>,\n ids: ReadonlySet<string>,\n): Map<string, RuntimeResolvedMediaValue> {\n const next = new Map<string, RuntimeResolvedMediaValue>();\n current.forEach((value, id) => {\n if (ids.has(id)) next.set(id, value);\n });\n return mapsEqual(current, next) ? current : next;\n}\n\nfunction mapsEqual(\n left: ReadonlyMap<string, RuntimeResolvedMediaValue>,\n right: ReadonlyMap<string, RuntimeResolvedMediaValue>,\n): boolean {\n if (left.size !== right.size) return false;\n for (const [key, value] of left) {\n if (right.get(key) !== value) return false;\n }\n return true;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ankhorage/runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Platform-neutral runtime renderer, contracts, and helpers for Ankhorage generated apps.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"runtime",
|
|
20
20
|
"manifest",
|
|
21
21
|
"bindings",
|
|
22
|
+
"media",
|
|
22
23
|
"adapters",
|
|
23
24
|
"typescript"
|
|
24
25
|
],
|
|
@@ -59,7 +60,7 @@
|
|
|
59
60
|
"version-packages": "changeset version"
|
|
60
61
|
},
|
|
61
62
|
"dependencies": {
|
|
62
|
-
"@ankhorage/contracts": "^4.0
|
|
63
|
+
"@ankhorage/contracts": "^7.4.0",
|
|
63
64
|
"@ankhorage/data-sources": "^1.0.0"
|
|
64
65
|
},
|
|
65
66
|
"peerDependencies": {
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
71
|
"@ankhorage/devtools": "^1.0.6",
|
|
71
|
-
"@ankhorage/paradox": "^0.1.
|
|
72
|
+
"@ankhorage/paradox": "^0.1.21",
|
|
72
73
|
"@changesets/cli": "^2.31.0",
|
|
73
74
|
"@types/bun": "^1.3.13",
|
|
74
75
|
"@types/node": "^25.6.0",
|
package/paradox/badges/npm.svg
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="20" role="img" aria-label="npm:
|
|
2
|
-
<title>npm:
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="20" role="img" aria-label="npm: v1.0.0">
|
|
2
|
+
<title>npm: v1.0.0</title>
|
|
3
3
|
<rect width="38" height="20" fill="#374151"/>
|
|
4
4
|
<rect x="38" width="52" height="20" fill="#cb3837"/>
|
|
5
5
|
<text x="19" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">npm</text>
|
|
6
|
-
<text x="64" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">
|
|
6
|
+
<text x="64" y="14" fill="#ffffff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="11" text-anchor="middle">v1.0.0</text>
|
|
7
7
|
</svg>
|
package/paradox/components.md
CHANGED
|
@@ -26,7 +26,7 @@ Export paths: `src/index.ts`
|
|
|
26
26
|
|
|
27
27
|
## RuntimeRenderer
|
|
28
28
|
|
|
29
|
-
Source: `src/RuntimeRenderer.tsx:
|
|
29
|
+
Source: `src/RuntimeRenderer.tsx:76:1`
|
|
30
30
|
|
|
31
31
|
Export paths: `src/index.ts`
|
|
32
32
|
|
|
@@ -41,16 +41,18 @@ Export paths: `src/index.ts`
|
|
|
41
41
|
| executeAction | `RuntimeActionExecutor \| undefined` | no | — | |
|
|
42
42
|
| executeOperation | `RuntimeBindingOperationExecutor \| undefined` | no | — | |
|
|
43
43
|
| isRoot | `boolean \| undefined` | no | — | |
|
|
44
|
+
| mediaAssets | `MediaAssetRegistry \| undefined` | no | — | |
|
|
44
45
|
| node | `UiNode` | yes | — | |
|
|
45
46
|
| onDiagnostics | `(diagnostics: readonly DataSourceDiagnostic[]) => void \| undefined` | no | — | |
|
|
46
47
|
| operationResults | `RuntimeBindingOperationResultCache \| undefined` | no | — | |
|
|
47
48
|
| registry | `ComponentRegistry \| undefined` | no | — | |
|
|
49
|
+
| resolveMediaAsset | `RuntimeMediaAssetResolver \| undefined` | no | — | |
|
|
48
50
|
| stateAdapter | `StateAdapter \| undefined` | no | — | |
|
|
49
51
|
| wrapNode | `(args: RuntimeRendererWrapArgs) => React.ReactNode \| undefined` | no | — | |
|
|
50
52
|
|
|
51
53
|
## RuntimeRendererConfigProvider
|
|
52
54
|
|
|
53
|
-
Source: `src/RuntimeRendererConfig.tsx:
|
|
55
|
+
Source: `src/RuntimeRendererConfig.tsx:158:1`
|
|
54
56
|
|
|
55
57
|
Export paths: `src/index.ts`
|
|
56
58
|
|
|
@@ -61,6 +61,17 @@ graph TD
|
|
|
61
61
|
module_src_runtimeEventExecution_ts --> module_src_RuntimeRendererConfig_tsx
|
|
62
62
|
module_src_runtimeManifest_ts["src/runtimeManifest.ts"]
|
|
63
63
|
package__ankhorage_runtime -.-> module_src_runtimeManifest_ts
|
|
64
|
+
module_src_runtimeMedia_test_ts["src/runtimeMedia.test.ts"]
|
|
65
|
+
package__ankhorage_runtime -.-> module_src_runtimeMedia_test_ts
|
|
66
|
+
module_src_runtimeMedia_test_ts --> module_src_runtimeMedia_ts
|
|
67
|
+
module_src_runtimeMedia_ts["src/runtimeMedia.ts"]
|
|
68
|
+
package__ankhorage_runtime -.-> module_src_runtimeMedia_ts
|
|
69
|
+
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
70
|
+
package__ankhorage_runtime -.-> module_src_runtimeMediaCache_tsx
|
|
71
|
+
module_src_runtimeMediaCache_tsx --> module_src_runtimeMedia_ts
|
|
72
|
+
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
73
|
+
package__ankhorage_runtime -.-> module_src_runtimeMediaConfig_test_ts
|
|
74
|
+
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
64
75
|
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
65
76
|
package__ankhorage_runtime -.-> module_src_runtimeNodeProps_test_ts
|
|
66
77
|
module_src_runtimeNodeProps_test_ts --> module_src_runtimeNodeProps_ts
|
|
@@ -81,11 +92,14 @@ graph TD
|
|
|
81
92
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeBindings_ts
|
|
82
93
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeDbPersist_ts
|
|
83
94
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeEventExecution_ts
|
|
95
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeMedia_ts
|
|
96
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeMediaCache_tsx
|
|
84
97
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeNodeProps_ts
|
|
85
98
|
module_src_RuntimeRenderer_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
86
99
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeat_ts
|
|
87
100
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatDiagnostics_ts
|
|
88
101
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatEmptyState_ts
|
|
102
|
+
module_src_RuntimeRenderer_tsx --> module_src_useRuntimeMediaProps_ts
|
|
89
103
|
module_src_RuntimeRendererConfig_test_tsx["src/RuntimeRendererConfig.test.tsx"]
|
|
90
104
|
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_test_tsx
|
|
91
105
|
module_src_RuntimeRendererConfig_test_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
@@ -93,6 +107,7 @@ graph TD
|
|
|
93
107
|
package__ankhorage_runtime -.-> module_src_RuntimeRendererConfig_tsx
|
|
94
108
|
module_src_RuntimeRendererConfig_tsx --> module_src_registry_tsx
|
|
95
109
|
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeBindings_ts
|
|
110
|
+
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeMedia_ts
|
|
96
111
|
module_src_runtimeRepeat_test_ts["src/runtimeRepeat.test.ts"]
|
|
97
112
|
package__ankhorage_runtime -.-> module_src_runtimeRepeat_test_ts
|
|
98
113
|
module_src_runtimeRepeat_test_ts --> module_src_runtimeActionRegistry_ts
|
|
@@ -130,6 +145,9 @@ graph TD
|
|
|
130
145
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeBindings_ts
|
|
131
146
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeNodeProps_ts
|
|
132
147
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
148
|
+
module_src_useRuntimeMediaProps_ts["src/useRuntimeMediaProps.ts"]
|
|
149
|
+
package__ankhorage_runtime -.-> module_src_useRuntimeMediaProps_ts
|
|
150
|
+
module_src_useRuntimeMediaProps_ts --> module_src_runtimeMedia_ts
|
|
133
151
|
module_tests_runtime_test_ts["tests/runtime.test.ts"]
|
|
134
152
|
package__ankhorage_runtime -.-> module_tests_runtime_test_ts
|
|
135
153
|
module_tests_runtime_test_ts --> module_src_runtimeManifest_ts
|
|
@@ -19,6 +19,10 @@ graph LR
|
|
|
19
19
|
module_src_runtimeEventExecution_test_ts["src/runtimeEventExecution.test.ts"]
|
|
20
20
|
module_src_runtimeEventExecution_ts["src/runtimeEventExecution.ts"]
|
|
21
21
|
module_src_runtimeManifest_ts["src/runtimeManifest.ts"]
|
|
22
|
+
module_src_runtimeMedia_test_ts["src/runtimeMedia.test.ts"]
|
|
23
|
+
module_src_runtimeMedia_ts["src/runtimeMedia.ts"]
|
|
24
|
+
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
25
|
+
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
22
26
|
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
23
27
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
24
28
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
@@ -36,6 +40,7 @@ graph LR
|
|
|
36
40
|
module_src_runtimeScreenLoaders_ts["src/runtimeScreenLoaders.ts"]
|
|
37
41
|
module_src_runtimeStateAdapter_ts["src/runtimeStateAdapter.ts"]
|
|
38
42
|
module_src_runtimeStateAdapterConfig_test_ts["src/runtimeStateAdapterConfig.test.ts"]
|
|
43
|
+
module_src_useRuntimeMediaProps_ts["src/useRuntimeMediaProps.ts"]
|
|
39
44
|
module_tests_runtime_test_ts["tests/runtime.test.ts"]
|
|
40
45
|
export_ComponentRegistry["ComponentRegistry"]
|
|
41
46
|
module_src_componentRegistry_ts --> export_ComponentRegistry
|
|
@@ -73,25 +78,12 @@ graph LR
|
|
|
73
78
|
module_src_runtimeDataSourceOperations_ts --> export_createRuntimeDataSourceOperationExecutor
|
|
74
79
|
export_createRuntimeDataSourceOperationExecutor -.-> export_RuntimeBindingOperationExecutor
|
|
75
80
|
export_createRuntimeDataSourceOperationExecutor -.-> export_RuntimeDataSourceOperationExecutorOptions
|
|
76
|
-
export_createRuntimeManifest["createRuntimeManifest"]
|
|
77
|
-
module_src_runtimeManifest_ts --> export_createRuntimeManifest
|
|
78
|
-
export_createRuntimeManifest -.-> export_RuntimeManifest
|
|
79
|
-
export_createRuntimeManifest -.-> export_RuntimeManifestInput
|
|
80
81
|
export_createRuntimeMemoryStateAdapter["createRuntimeMemoryStateAdapter"]
|
|
81
82
|
module_src_runtimeStateAdapter_ts --> export_createRuntimeMemoryStateAdapter
|
|
82
83
|
export_createRuntimeMemoryStateAdapter -.-> export_RuntimeMemoryStateAdapterOptions
|
|
83
84
|
export_createRuntimeScreenLoaderRequestKey["createRuntimeScreenLoaderRequestKey"]
|
|
84
85
|
module_src_runtimeScreenLoaders_ts --> export_createRuntimeScreenLoaderRequestKey
|
|
85
86
|
export_createRuntimeScreenLoaderRequestKey -.-> export_RuntimeBindingOperationResultCache
|
|
86
|
-
export_defineRuntimeAction["defineRuntimeAction"]
|
|
87
|
-
module_src_runtimeManifest_ts --> export_defineRuntimeAction
|
|
88
|
-
export_defineRuntimeAction -.-> export_RuntimeActionDescriptor
|
|
89
|
-
export_defineRuntimeAdapter["defineRuntimeAdapter"]
|
|
90
|
-
module_src_runtimeManifest_ts --> export_defineRuntimeAdapter
|
|
91
|
-
export_defineRuntimeAdapter -.-> export_RuntimeAdapterDescriptor
|
|
92
|
-
export_defineRuntimeBinding["defineRuntimeBinding"]
|
|
93
|
-
module_src_runtimeManifest_ts --> export_defineRuntimeBinding
|
|
94
|
-
export_defineRuntimeBinding -.-> export_RuntimeBindingDescriptor
|
|
95
87
|
export_dispatchRuntimeComponentEvent["dispatchRuntimeComponentEvent"]
|
|
96
88
|
module_src_runtimeActionRegistry_ts --> export_dispatchRuntimeComponentEvent
|
|
97
89
|
export_dispatchRuntimeComponentEvent -.-> export_RuntimeActionHandlers
|
|
@@ -111,8 +103,6 @@ graph LR
|
|
|
111
103
|
export_executeRuntimeScreenOperationLoaders -.-> export_RuntimeBindingOperationResultCache
|
|
112
104
|
export_executeRuntimeScreenOperationLoaders -.-> export_RuntimeBindingResolutionContext
|
|
113
105
|
export_executeRuntimeScreenOperationLoaders -.-> export_RuntimeScreenOperationLoaderExecutionResult
|
|
114
|
-
export_listRuntimeCapabilities["listRuntimeCapabilities"]
|
|
115
|
-
module_src_runtimeManifest_ts --> export_listRuntimeCapabilities
|
|
116
106
|
export_ManifestContext["ManifestContext"]
|
|
117
107
|
module_src_ManifestContext_tsx --> export_ManifestContext
|
|
118
108
|
export_ManifestProvider["ManifestProvider"]
|
|
@@ -148,10 +138,6 @@ graph LR
|
|
|
148
138
|
export_resolveRuntimeBindingValueSync -.-> export_RuntimeBindingResolutionContext
|
|
149
139
|
export_resolveScreenOperationLoaders["resolveScreenOperationLoaders"]
|
|
150
140
|
module_src_runtimeScreenLoaders_ts --> export_resolveScreenOperationLoaders
|
|
151
|
-
export_RUNTIME_CAPABILITIES["RUNTIME_CAPABILITIES"]
|
|
152
|
-
module_src_runtimeManifest_ts --> export_RUNTIME_CAPABILITIES
|
|
153
|
-
export_RUNTIME_MANIFEST_KIND["RUNTIME_MANIFEST_KIND"]
|
|
154
|
-
module_src_runtimeManifest_ts --> export_RUNTIME_MANIFEST_KIND
|
|
155
141
|
export_RuntimeAction["RuntimeAction"]
|
|
156
142
|
module_src_RuntimeRendererConfig_tsx --> export_RuntimeAction
|
|
157
143
|
export_RuntimeActionDescriptor["RuntimeActionDescriptor"]
|
|
@@ -235,6 +221,10 @@ graph LR
|
|
|
235
221
|
export_RuntimeManifestInput -.-> export_RuntimeBindingDescriptor
|
|
236
222
|
export_RuntimeManifestInput -.-> export_RuntimeDiagnostic
|
|
237
223
|
export_RuntimeManifestInput -.-> export_RuntimeManifestConfig
|
|
224
|
+
export_RuntimeMediaAssetResolver["RuntimeMediaAssetResolver"]
|
|
225
|
+
module_src_runtimeMedia_ts --> export_RuntimeMediaAssetResolver
|
|
226
|
+
export_RuntimeMediaAssetResolverArgs["RuntimeMediaAssetResolverArgs"]
|
|
227
|
+
module_src_runtimeMedia_ts --> export_RuntimeMediaAssetResolverArgs
|
|
238
228
|
export_RuntimeMemoryStateAdapterOptions["RuntimeMemoryStateAdapterOptions"]
|
|
239
229
|
module_src_runtimeStateAdapter_ts --> export_RuntimeMemoryStateAdapterOptions
|
|
240
230
|
export_RuntimeNodePropsResolver["RuntimeNodePropsResolver"]
|
|
@@ -248,6 +238,7 @@ graph LR
|
|
|
248
238
|
export_RuntimeRendererConfig -.-> export_RuntimeActionHandlers
|
|
249
239
|
export_RuntimeRendererConfig -.-> export_RuntimeBindingOperationExecutor
|
|
250
240
|
export_RuntimeRendererConfig -.-> export_RuntimeBindingOperationResultWriter
|
|
241
|
+
export_RuntimeRendererConfig -.-> export_RuntimeMediaAssetResolver
|
|
251
242
|
export_RuntimeRendererConfig -.-> export_RuntimeNodePropsResolver
|
|
252
243
|
export_RuntimeRendererConfig -.-> export_RuntimeRendererWrapArgs
|
|
253
244
|
export_RuntimeRendererConfigProvider["RuntimeRendererConfigProvider"]
|
|
@@ -257,10 +248,13 @@ graph LR
|
|
|
257
248
|
module_src_RuntimeRenderer_tsx --> export_RuntimeRendererProps
|
|
258
249
|
export_RuntimeRendererProps -.-> export_RuntimeActionHandler
|
|
259
250
|
export_RuntimeRendererProps -.-> export_RuntimeBindingOperationExecutor
|
|
251
|
+
export_RuntimeRendererProps -.-> export_RuntimeMediaAssetResolver
|
|
260
252
|
export_RuntimeRendererProps -.-> export_RuntimeRendererConfig
|
|
261
253
|
export_RuntimeRendererProps -.-> export_RuntimeRendererWrapArgs
|
|
262
254
|
export_RuntimeRendererWrapArgs["RuntimeRendererWrapArgs"]
|
|
263
255
|
module_src_RuntimeRendererConfig_tsx --> export_RuntimeRendererWrapArgs
|
|
256
|
+
export_RuntimeResolvedMediaValue["RuntimeResolvedMediaValue"]
|
|
257
|
+
module_src_runtimeMedia_ts --> export_RuntimeResolvedMediaValue
|
|
264
258
|
export_RuntimeResolveNodePropsArgs["RuntimeResolveNodePropsArgs"]
|
|
265
259
|
module_node_modules__ankhorage_contracts_dist_runtimeCallbacks_d_ts --> export_RuntimeResolveNodePropsArgs
|
|
266
260
|
export_RuntimeScreen["RuntimeScreen"]
|
|
@@ -19,6 +19,10 @@ graph LR
|
|
|
19
19
|
module_src_runtimeEventExecution_test_ts["src/runtimeEventExecution.test.ts"]
|
|
20
20
|
module_src_runtimeEventExecution_ts["src/runtimeEventExecution.ts"]
|
|
21
21
|
module_src_runtimeManifest_ts["src/runtimeManifest.ts"]
|
|
22
|
+
module_src_runtimeMedia_test_ts["src/runtimeMedia.test.ts"]
|
|
23
|
+
module_src_runtimeMedia_ts["src/runtimeMedia.ts"]
|
|
24
|
+
module_src_runtimeMediaCache_tsx["src/runtimeMediaCache.tsx"]
|
|
25
|
+
module_src_runtimeMediaConfig_test_ts["src/runtimeMediaConfig.test.ts"]
|
|
22
26
|
module_src_runtimeNodeProps_test_ts["src/runtimeNodeProps.test.ts"]
|
|
23
27
|
module_src_runtimeNodeProps_ts["src/runtimeNodeProps.ts"]
|
|
24
28
|
module_src_runtimePackageIsolation_test_ts["src/runtimePackageIsolation.test.ts"]
|
|
@@ -36,6 +40,7 @@ graph LR
|
|
|
36
40
|
module_src_runtimeScreenLoaders_ts["src/runtimeScreenLoaders.ts"]
|
|
37
41
|
module_src_runtimeStateAdapter_ts["src/runtimeStateAdapter.ts"]
|
|
38
42
|
module_src_runtimeStateAdapterConfig_test_ts["src/runtimeStateAdapterConfig.test.ts"]
|
|
43
|
+
module_src_useRuntimeMediaProps_ts["src/useRuntimeMediaProps.ts"]
|
|
39
44
|
module_tests_runtime_test_ts["tests/runtime.test.ts"]
|
|
40
45
|
module_src_registry_test_ts --> module_src_registry_tsx
|
|
41
46
|
module_src_rendering_test_ts --> module_src_registry_tsx
|
|
@@ -57,6 +62,9 @@ graph LR
|
|
|
57
62
|
module_src_runtimeEventExecution_test_ts --> module_src_runtimeEventExecution_ts
|
|
58
63
|
module_src_runtimeEventExecution_ts --> module_src_runtimeActionRegistry_ts
|
|
59
64
|
module_src_runtimeEventExecution_ts --> module_src_RuntimeRendererConfig_tsx
|
|
65
|
+
module_src_runtimeMedia_test_ts --> module_src_runtimeMedia_ts
|
|
66
|
+
module_src_runtimeMediaCache_tsx --> module_src_runtimeMedia_ts
|
|
67
|
+
module_src_runtimeMediaConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
60
68
|
module_src_runtimeNodeProps_test_ts --> module_src_runtimeNodeProps_ts
|
|
61
69
|
module_src_runtimeNodeProps_ts --> module_src_runtimeBindings_ts
|
|
62
70
|
module_src_runtimeNodeProps_ts --> module_src_RuntimeRendererConfig_tsx
|
|
@@ -67,14 +75,18 @@ graph LR
|
|
|
67
75
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeBindings_ts
|
|
68
76
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeDbPersist_ts
|
|
69
77
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeEventExecution_ts
|
|
78
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeMedia_ts
|
|
79
|
+
module_src_RuntimeRenderer_tsx --> module_src_runtimeMediaCache_tsx
|
|
70
80
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeNodeProps_ts
|
|
71
81
|
module_src_RuntimeRenderer_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
72
82
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeat_ts
|
|
73
83
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatDiagnostics_ts
|
|
74
84
|
module_src_RuntimeRenderer_tsx --> module_src_runtimeRepeatEmptyState_ts
|
|
85
|
+
module_src_RuntimeRenderer_tsx --> module_src_useRuntimeMediaProps_ts
|
|
75
86
|
module_src_RuntimeRendererConfig_test_tsx --> module_src_RuntimeRendererConfig_tsx
|
|
76
87
|
module_src_RuntimeRendererConfig_tsx --> module_src_registry_tsx
|
|
77
88
|
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeBindings_ts
|
|
89
|
+
module_src_RuntimeRendererConfig_tsx --> module_src_runtimeMedia_ts
|
|
78
90
|
module_src_runtimeRepeat_test_ts --> module_src_runtimeActionRegistry_ts
|
|
79
91
|
module_src_runtimeRepeat_test_ts --> module_src_runtimeBindings_ts
|
|
80
92
|
module_src_runtimeRepeat_test_ts --> module_src_runtimeRepeat_ts
|
|
@@ -92,4 +104,5 @@ graph LR
|
|
|
92
104
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeBindings_ts
|
|
93
105
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_runtimeNodeProps_ts
|
|
94
106
|
module_src_runtimeStateAdapterConfig_test_ts --> module_src_RuntimeRendererConfig_tsx
|
|
107
|
+
module_src_useRuntimeMediaProps_ts --> module_src_runtimeMedia_ts
|
|
95
108
|
module_tests_runtime_test_ts --> module_src_runtimeManifest_ts
|