@x12i/catalox 2.0.2 → 2.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/README.md +6 -6
- package/dist/src/catalox/catalox.d.ts +1 -1
- package/dist/src/catalox/catalox.d.ts.map +1 -1
- package/dist/src/catalox/catalox.js +2 -2
- package/dist/src/catalox/catalox.js.map +1 -1
- package/dist/src/cli/index.js +103 -3
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/contracts/custom-renderer-resolve.d.ts +15 -0
- package/dist/src/contracts/custom-renderer-resolve.d.ts.map +1 -0
- package/dist/src/contracts/custom-renderer-resolve.js +55 -0
- package/dist/src/contracts/custom-renderer-resolve.js.map +1 -0
- package/dist/src/contracts/index.d.ts +2 -1
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js +1 -0
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/render-map.d.ts +13 -3
- package/dist/src/contracts/render-map.d.ts.map +1 -1
- package/dist/src/contracts/renderer-snippets.d.ts +19 -6
- package/dist/src/contracts/renderer-snippets.d.ts.map +1 -1
- package/dist/src/firebase/renderer-snippet-store.d.ts +2 -2
- package/dist/src/firebase/renderer-snippet-store.d.ts.map +1 -1
- package/dist/src/firebase/renderer-snippet-store.js +7 -7
- package/dist/src/firebase/renderer-snippet-store.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/jsx/index.d.ts +13 -9
- package/dist/src/jsx/index.d.ts.map +1 -1
- package/dist/src/jsx/index.js +19 -9
- package/dist/src/jsx/index.js.map +1 -1
- package/dist/src/migrations/index.d.ts +2 -0
- package/dist/src/migrations/index.d.ts.map +1 -0
- package/dist/src/migrations/index.js +2 -0
- package/dist/src/migrations/index.js.map +1 -0
- package/dist/src/migrations/renderer-metadata.d.ts +43 -0
- package/dist/src/migrations/renderer-metadata.d.ts.map +1 -0
- package/dist/src/migrations/renderer-metadata.js +59 -0
- package/dist/src/migrations/renderer-metadata.js.map +1 -0
- package/dist/src/validation/ui-spec-schema.d.ts.map +1 -1
- package/dist/src/validation/ui-spec-schema.js +58 -58
- package/dist/src/validation/ui-spec-schema.js.map +1 -1
- package/dist/test/unit/jsx-snippets.test.js +6 -6
- package/dist/test/unit/jsx-snippets.test.js.map +1 -1
- package/dist/test/unit/renderer-metadata-migration.test.d.ts +2 -0
- package/dist/test/unit/renderer-metadata-migration.test.d.ts.map +1 -0
- package/dist/test/unit/renderer-metadata-migration.test.js +33 -0
- package/dist/test/unit/renderer-metadata-migration.test.js.map +1 -0
- package/dist/test/unit/ui-spec-validation.test.js +4 -4
- package/dist/test/unit/ui-spec-validation.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,8 @@ export type { FieldSource, FieldSourceStaticValue } from "./field-source.js";
|
|
|
17
17
|
export type { CatalogFilterSpec, CatalogFilterGroup, CatalogFilterDefinition, CatalogFilterControlType, CatalogFilterOperator, CatalogFilterRange, } from "./filters.js";
|
|
18
18
|
export type { CatalogPresentationSpec, CatalogDisplayContext, CatalogUIMode, CatalogPresentationDensity, FieldPresentation, FieldRenderHint, FieldEditInputType, EditFieldSpec, EditFieldValidationSpec, GridSpec, GridColumnSpec, ListSpec, CardsSpec, FormSpec, FormTab, FormSection, FormFieldPlacement, FormHeaderFields, EmptyStateSpec, } from "./presentation.js";
|
|
19
19
|
export type { CatalogCustomRenderer, CustomRendererEntry, ResolvedSourceOption, CatalogListRenderItem, CatalogListRenderMap, CatalogItemReferenceView, CatalogItemValidationView, CatalogItemRenderMap, } from "./render-map.js";
|
|
20
|
-
export
|
|
20
|
+
export { resolveCustomRendererEntry } from "./custom-renderer-resolve.js";
|
|
21
|
+
export type { CatalogRendererRole, CatalogRendererMode, CatalogRendererSyntax, CatalogRendererEngine, CatalogRendererSnippetRecord, } from "./renderer-snippets.js";
|
|
21
22
|
export type { MarkdownBlock, CatalogListMarkdownMap, CatalogItemMarkdownMap, BuildCatalogListMarkdownMapOptions, BuildCatalogItemMarkdownMapOptions, CatalogListMarkdownMapBuilder, CatalogItemMarkdownMapBuilder, } from "./markdown-map.js";
|
|
22
23
|
export type { DiagramNode, DiagramEdge, CatalogRelationsDiagramMap, ItemRelationsDiagramMap, } from "./diagram-map.js";
|
|
23
24
|
export type { ListAppCatalogsInput, AppCatalogEntry, } from "./discovery.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEnG,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE5E,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1E,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export { resolveCustomRendererEntry } from "./custom-renderer-resolve.js";
|
|
1
2
|
export { CataloxError, CatalogManagerError, CatalogNotFoundError, CatalogAccessDeniedError, CatalogBindingError, CatalogValidationError, CatalogAdapterError, CatalogSyncError, AppNotFoundError, AppPrivilegeError, } from "./errors.js";
|
|
2
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/index.ts"],"names":[],"mappings":"AAwGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAgD1E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { CatalogCapabilitiesDescriptor } from "./descriptors.js";
|
|
2
2
|
import type { CatalogFilterSpec } from "./filters.js";
|
|
3
3
|
import type { CatalogPresentationSpec, CatalogUIMode } from "./presentation.js";
|
|
4
|
+
import type { CatalogRendererMode, CatalogRendererRole, CatalogRendererSyntax } from "./renderer-snippets.js";
|
|
4
5
|
export type CustomRendererEntry = {
|
|
6
|
+
role: CatalogRendererRole;
|
|
7
|
+
mode?: CatalogRendererMode;
|
|
5
8
|
/**
|
|
6
9
|
* A serializable identifier resolved by the host application's component registry.
|
|
7
10
|
* This should not be an import path.
|
|
@@ -14,7 +17,7 @@ export type CustomRendererEntry = {
|
|
|
14
17
|
snippetRef?: {
|
|
15
18
|
/**
|
|
16
19
|
* Optional explicit snippet identifier. If omitted, callers can default to
|
|
17
|
-
* a catalog-scoped doc id such as `${catalogId}:${
|
|
20
|
+
* a catalog-scoped doc id such as `${catalogId}:${role}` or `${catalogId}:${role}:${mode}`.
|
|
18
21
|
*/
|
|
19
22
|
snippetId?: string;
|
|
20
23
|
/**
|
|
@@ -23,6 +26,10 @@ export type CustomRendererEntry = {
|
|
|
23
26
|
*/
|
|
24
27
|
catalogScoped?: boolean;
|
|
25
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* Optional syntax hint when resolving a snippet. If omitted, hosts may default to `tsx`.
|
|
31
|
+
*/
|
|
32
|
+
syntax?: CatalogRendererSyntax;
|
|
26
33
|
/**
|
|
27
34
|
* Static configuration passed to the component by the host app.
|
|
28
35
|
*/
|
|
@@ -34,8 +41,11 @@ export type CustomRendererEntry = {
|
|
|
34
41
|
receiveMap?: "full" | "minimal";
|
|
35
42
|
};
|
|
36
43
|
export type CatalogCustomRenderer = {
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Flexible list of renderer assignments. Use `role: 'core'` to define defaults
|
|
46
|
+
* that hosts can merge into other role-specific entries.
|
|
47
|
+
*/
|
|
48
|
+
renderers?: CustomRendererEntry[];
|
|
39
49
|
metadata?: Record<string, unknown>;
|
|
40
50
|
};
|
|
41
51
|
export type ResolvedSourceOption = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-map.d.ts","sourceRoot":"","sources":["../../../src/contracts/render-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"render-map.d.ts","sourceRoot":"","sources":["../../../src/contracts/render-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { CatalogId } from "./ids.js";
|
|
2
|
-
export type
|
|
2
|
+
export type CatalogRendererRole = "core" | "list" | "grid" | "item" | "report" | "dashboard";
|
|
3
|
+
export type CatalogRendererMode = "readonly" | "editable";
|
|
4
|
+
export type CatalogRendererSyntax = "html" | "jsx" | "tsx";
|
|
3
5
|
export type CatalogRendererEngine = "react";
|
|
4
6
|
export type CatalogRendererSnippetRecord = {
|
|
5
7
|
/**
|
|
@@ -7,15 +9,26 @@ export type CatalogRendererSnippetRecord = {
|
|
|
7
9
|
*/
|
|
8
10
|
catalogId: CatalogId;
|
|
9
11
|
/**
|
|
10
|
-
* Which
|
|
12
|
+
* Which renderer role this snippet targets.
|
|
11
13
|
*/
|
|
12
|
-
|
|
14
|
+
role: CatalogRendererRole;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* Optional UI mode variant. Only applicable to list/grid/item roles.
|
|
17
|
+
*/
|
|
18
|
+
mode?: CatalogRendererMode;
|
|
19
|
+
/**
|
|
20
|
+
* Raw renderer source stored by the user/admin.
|
|
21
|
+
*
|
|
22
|
+
* For I/O validation we recommend TSX so TypeScript can typecheck it.
|
|
23
|
+
*/
|
|
24
|
+
rendererSource: string;
|
|
25
|
+
/**
|
|
26
|
+
* Declares how to interpret `rendererSource`.
|
|
15
27
|
*
|
|
16
|
-
*
|
|
28
|
+
* - `tsx`/`jsx`: can be transpiled to an ESM module and (optionally) typechecked.
|
|
29
|
+
* - `html`: treated as a static HTML string (host-defined behavior).
|
|
17
30
|
*/
|
|
18
|
-
|
|
31
|
+
syntax?: CatalogRendererSyntax;
|
|
19
32
|
/**
|
|
20
33
|
* Reserved for future multi-engine support.
|
|
21
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-snippets.d.ts","sourceRoot":"","sources":["../../../src/contracts/renderer-snippets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"renderer-snippets.d.ts","sourceRoot":"","sources":["../../../src/contracts/renderer-snippets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE7F,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,UAAU,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3D,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,4BAA4B,GAAG;IACzC;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAE/B;;OAEG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CatalogRendererMode, CatalogRendererRole, CatalogRendererSnippetRecord } from "../contracts/renderer-snippets.js";
|
|
2
2
|
import type { CatalogId } from "../contracts/ids.js";
|
|
3
3
|
import { FirestoreStore } from "./firestore-store.js";
|
|
4
4
|
export declare class RendererSnippetStore {
|
|
@@ -6,7 +6,7 @@ export declare class RendererSnippetStore {
|
|
|
6
6
|
constructor(store: FirestoreStore);
|
|
7
7
|
private docId;
|
|
8
8
|
private docRef;
|
|
9
|
-
get(catalogId: CatalogId,
|
|
9
|
+
get(catalogId: CatalogId, role: CatalogRendererRole, mode?: CatalogRendererMode): Promise<CatalogRendererSnippetRecord | null>;
|
|
10
10
|
upsert(record: CatalogRendererSnippetRecord): Promise<void>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=renderer-snippet-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-snippet-store.d.ts","sourceRoot":"","sources":["../../../src/firebase/renderer-snippet-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"renderer-snippet-store.d.ts","sourceRoot":"","sources":["../../../src/firebase/renderer-snippet-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAChI,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAElD,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;IAIR,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAK9H,MAAM,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlE"}
|
|
@@ -4,18 +4,18 @@ export class RendererSnippetStore {
|
|
|
4
4
|
constructor(store) {
|
|
5
5
|
this.store = store;
|
|
6
6
|
}
|
|
7
|
-
docId(catalogId,
|
|
8
|
-
return `${String(catalogId)}:${String(
|
|
7
|
+
docId(catalogId, role, mode) {
|
|
8
|
+
return `${String(catalogId)}:${String(role)}${mode ? `:${String(mode)}` : ""}`;
|
|
9
9
|
}
|
|
10
|
-
docRef(catalogId,
|
|
11
|
-
return this.store.collection("catalogRendererSnippets").doc(this.docId(catalogId,
|
|
10
|
+
docRef(catalogId, role, mode) {
|
|
11
|
+
return this.store.collection("catalogRendererSnippets").doc(this.docId(catalogId, role, mode));
|
|
12
12
|
}
|
|
13
|
-
async get(catalogId,
|
|
14
|
-
const snap = await this.docRef(catalogId,
|
|
13
|
+
async get(catalogId, role, mode) {
|
|
14
|
+
const snap = await this.docRef(catalogId, role, mode).get();
|
|
15
15
|
return snap.exists ? snap.data() : null;
|
|
16
16
|
}
|
|
17
17
|
async upsert(record) {
|
|
18
|
-
await this.docRef(record.catalogId, record.
|
|
18
|
+
await this.docRef(record.catalogId, record.role, record.mode).set(record, { merge: true });
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=renderer-snippet-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-snippet-store.js","sourceRoot":"","sources":["../../../src/firebase/renderer-snippet-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,SAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"renderer-snippet-store.js","sourceRoot":"","sources":["../../../src/firebase/renderer-snippet-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,OAAO,oBAAoB;IACF;IAA7B,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAE9C,KAAK,CAAC,SAAoB,EAAE,IAAyB,EAAE,IAA0B;QACvF,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC;IAEO,MAAM,CAAC,SAAoB,EAAE,IAAyB,EAAE,IAA0B;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAoB,EAAE,IAAyB,EAAE,IAA0B;QACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,EAAmC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAoC;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;CACF"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
package/dist/src/index.js
CHANGED
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
|
package/dist/src/jsx/index.d.ts
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import type { CatalogItemRenderMap, CatalogListRenderMap } from "../contracts/render-map.js";
|
|
2
|
-
import type {
|
|
3
|
-
export type
|
|
4
|
-
|
|
2
|
+
import type { CatalogRendererMode, CatalogRendererRole, CatalogRendererSyntax } from "../contracts/renderer-snippets.js";
|
|
3
|
+
export type TranspileRendererSourceToModuleSourceInput = {
|
|
4
|
+
rendererSource: string;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Declares how to interpret `rendererSource`.
|
|
7
|
+
* Only `jsx` and `tsx` can be transpiled to an ESM module.
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
+
syntax?: CatalogRendererSyntax;
|
|
9
10
|
/**
|
|
10
11
|
* Optional label used in sourcemaps and diagnostics.
|
|
11
12
|
*/
|
|
12
13
|
sourceFileName?: string;
|
|
13
14
|
};
|
|
14
|
-
export declare function
|
|
15
|
+
export declare function transpileRendererSourceToModuleSource(input: TranspileRendererSourceToModuleSourceInput): Promise<string>;
|
|
15
16
|
export type TypecheckRendererSnippetIoInput = {
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
rendererSource: string;
|
|
18
|
+
syntax?: CatalogRendererSyntax;
|
|
19
|
+
role: CatalogRendererRole;
|
|
20
|
+
mode?: CatalogRendererMode;
|
|
18
21
|
/**
|
|
19
22
|
* If true, any inability to typecheck (e.g. missing typescript) becomes an error.
|
|
20
23
|
*/
|
|
@@ -61,6 +64,7 @@ export type RenderToHtmlInput = {
|
|
|
61
64
|
export declare function renderRendererToHtml(input: RenderToHtmlInput): Promise<string>;
|
|
62
65
|
export type CatalogRendererIo = {
|
|
63
66
|
map: CatalogListRenderMap | CatalogItemRenderMap;
|
|
64
|
-
|
|
67
|
+
role: CatalogRendererRole;
|
|
68
|
+
mode?: CatalogRendererMode;
|
|
65
69
|
};
|
|
66
70
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jsx/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/jsx/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAEzH,MAAM,MAAM,0CAA0C,GAAG;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAsB,qCAAqC,CACzD,KAAK,EAAE,0CAA0C,GAChD,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,+BAA+B,EAAE,CAAC;IAC1C;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B,CAAC;AAOF,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAiI3C;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,CAAC,GAAG,OAAO,EAC5D,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,CAAC,CAAC,CAIZ;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBpF;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,oBAAoB,GAAG,oBAAoB,CAAC;IACjD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC5B,CAAC"}
|
package/dist/src/jsx/index.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { transform } from "esbuild";
|
|
2
|
-
export async function
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
export async function transpileRendererSourceToModuleSource(input) {
|
|
3
|
+
const syntax = input.syntax ?? "tsx";
|
|
4
|
+
if (syntax === "html") {
|
|
5
|
+
throw new Error("Cannot transpile html rendererSource to a module. Use syntax: 'jsx' or 'tsx'.");
|
|
6
|
+
}
|
|
7
|
+
const sourceFileName = input.sourceFileName ?? (syntax === "jsx" ? "snippet.jsx" : "snippet.tsx");
|
|
8
|
+
const result = await transform(input.rendererSource, {
|
|
9
|
+
loader: syntax === "jsx" ? "jsx" : "tsx",
|
|
6
10
|
format: "esm",
|
|
7
11
|
target: "es2022",
|
|
8
12
|
sourcemap: "inline",
|
|
@@ -15,6 +19,10 @@ function toPos(ts, sf, start) {
|
|
|
15
19
|
return { line: pos.line + 1, column: pos.character + 1 };
|
|
16
20
|
}
|
|
17
21
|
export async function typecheckRendererSnippetIo(input) {
|
|
22
|
+
const syntax = input.syntax ?? "tsx";
|
|
23
|
+
if (syntax === "html") {
|
|
24
|
+
return { isValid: true, errors: [], skipped: { reason: "html_rendererSource" } };
|
|
25
|
+
}
|
|
18
26
|
let ts;
|
|
19
27
|
try {
|
|
20
28
|
ts = await import("typescript");
|
|
@@ -28,7 +36,7 @@ export async function typecheckRendererSnippetIo(input) {
|
|
|
28
36
|
}
|
|
29
37
|
return { isValid: true, errors: [], skipped: { reason: "typescript_not_installed" } };
|
|
30
38
|
}
|
|
31
|
-
const
|
|
39
|
+
const role = input.role;
|
|
32
40
|
// Use repo-relative virtual paths so TypeScript module resolution can find real source files.
|
|
33
41
|
const cwd = process.cwd().replace(/\\/g, "/");
|
|
34
42
|
const virtualDir = `${cwd}/src/jsx/__virtual__`;
|
|
@@ -54,16 +62,18 @@ type ItemComponent = (props: { map: CatalogItemRenderMap } & Record<string, unkn
|
|
|
54
62
|
type ItemFn = (map: CatalogItemRenderMap) => unknown;
|
|
55
63
|
|
|
56
64
|
type Valid =
|
|
57
|
-
${
|
|
58
|
-
? "typeof Renderer extends
|
|
59
|
-
:
|
|
65
|
+
${role === "item"
|
|
66
|
+
? "typeof Renderer extends ItemComponent ? true : typeof Renderer extends ItemFn ? true : false"
|
|
67
|
+
: role === "list" || role === "grid"
|
|
68
|
+
? "typeof Renderer extends ListComponent ? true : typeof Renderer extends ListFn ? true : false"
|
|
69
|
+
: "true"};
|
|
60
70
|
|
|
61
71
|
type AssertTrue<T extends true> = T;
|
|
62
72
|
const __assert: AssertTrue<Valid> = true;
|
|
63
73
|
void __assert;
|
|
64
74
|
`;
|
|
65
75
|
const files = new Map([
|
|
66
|
-
[norm(snippetFile), input.
|
|
76
|
+
[norm(snippetFile), input.rendererSource],
|
|
67
77
|
[norm(checkFile), checkSource],
|
|
68
78
|
[norm(jsxTypesFile), jsxTypes],
|
|
69
79
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/jsx/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { CatalogDescriptor } from "../contracts/descriptors.js";
|
|
2
|
+
import type { CatalogCustomRenderer } from "../contracts/render-map.js";
|
|
3
|
+
import type { CatalogRendererMode, CatalogRendererRole, CatalogRendererSnippetRecord, CatalogRendererSyntax } from "../contracts/renderer-snippets.js";
|
|
4
|
+
type LegacyCatalogRendererSurface = "list" | "item";
|
|
5
|
+
type LegacyCatalogRendererSnippetRecord = {
|
|
6
|
+
catalogId: string;
|
|
7
|
+
surface: LegacyCatalogRendererSurface;
|
|
8
|
+
jsxSource: string;
|
|
9
|
+
engine?: string;
|
|
10
|
+
metadata?: Record<string, unknown>;
|
|
11
|
+
createdAt?: string;
|
|
12
|
+
updatedAt?: string;
|
|
13
|
+
createdBy?: string;
|
|
14
|
+
updatedBy?: string;
|
|
15
|
+
};
|
|
16
|
+
type LegacyCatalogCustomRenderer = {
|
|
17
|
+
list?: {
|
|
18
|
+
component?: string;
|
|
19
|
+
snippetRef?: any;
|
|
20
|
+
props?: Record<string, unknown>;
|
|
21
|
+
receiveMap?: "full" | "minimal";
|
|
22
|
+
};
|
|
23
|
+
item?: {
|
|
24
|
+
component?: string;
|
|
25
|
+
snippetRef?: any;
|
|
26
|
+
props?: Record<string, unknown>;
|
|
27
|
+
receiveMap?: "full" | "minimal";
|
|
28
|
+
};
|
|
29
|
+
metadata?: Record<string, unknown>;
|
|
30
|
+
};
|
|
31
|
+
export type ConvertSnippetRecordOptions = {
|
|
32
|
+
defaultSyntax?: CatalogRendererSyntax;
|
|
33
|
+
};
|
|
34
|
+
export declare function convertLegacySnippetRecordToRoleModel(legacy: LegacyCatalogRendererSnippetRecord, opts?: ConvertSnippetRecordOptions): CatalogRendererSnippetRecord;
|
|
35
|
+
export declare function convertLegacyCustomRendererToRoles(legacy: LegacyCatalogCustomRenderer): CatalogCustomRenderer;
|
|
36
|
+
export declare function migrateDescriptorCustomRendererInPlace(descriptor: CatalogDescriptor): CatalogDescriptor;
|
|
37
|
+
export declare function buildRendererSnippetDocId(input: {
|
|
38
|
+
catalogId: string;
|
|
39
|
+
role: CatalogRendererRole;
|
|
40
|
+
mode?: CatalogRendererMode;
|
|
41
|
+
}): string;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=renderer-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-metadata.d.ts","sourceRoot":"","sources":["../../../src/migrations/renderer-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAuB,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAEvJ,KAAK,4BAA4B,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,KAAK,kCAAkC,GAAG;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,4BAA4B,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAClH,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAClH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,kCAAkC,EAC1C,IAAI,GAAE,2BAAgC,GACrC,4BAA4B,CAc9B;AAkBD,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,2BAA2B,GAAG,qBAAqB,CAW7G;AAED,wBAAgB,sCAAsC,CAAC,UAAU,EAAE,iBAAiB,GAAG,iBAAiB,CAavG;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC5B,UAEA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export function convertLegacySnippetRecordToRoleModel(legacy, opts = {}) {
|
|
2
|
+
const role = legacy.surface === "list" ? "list" : "item";
|
|
3
|
+
return {
|
|
4
|
+
catalogId: legacy.catalogId,
|
|
5
|
+
role,
|
|
6
|
+
rendererSource: legacy.jsxSource,
|
|
7
|
+
syntax: opts.defaultSyntax ?? "tsx",
|
|
8
|
+
...(legacy.engine ? { engine: legacy.engine } : {}),
|
|
9
|
+
...(legacy.metadata ? { metadata: legacy.metadata } : {}),
|
|
10
|
+
...(legacy.createdAt ? { createdAt: legacy.createdAt } : {}),
|
|
11
|
+
...(legacy.updatedAt ? { updatedAt: legacy.updatedAt } : {}),
|
|
12
|
+
...(legacy.createdBy ? { createdBy: legacy.createdBy } : {}),
|
|
13
|
+
...(legacy.updatedBy ? { updatedBy: legacy.updatedBy } : {}),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function entryFromLegacy(role, legacy) {
|
|
17
|
+
if (!legacy)
|
|
18
|
+
return null;
|
|
19
|
+
const e = {
|
|
20
|
+
role,
|
|
21
|
+
...(legacy.component ? { component: legacy.component } : {}),
|
|
22
|
+
...(legacy.snippetRef ? { snippetRef: legacy.snippetRef } : {}),
|
|
23
|
+
...(legacy.props ? { props: legacy.props } : {}),
|
|
24
|
+
...(legacy.receiveMap ? { receiveMap: legacy.receiveMap } : {}),
|
|
25
|
+
};
|
|
26
|
+
// Ignore empty objects.
|
|
27
|
+
return Object.keys(e).length > 1 ? e : null;
|
|
28
|
+
}
|
|
29
|
+
export function convertLegacyCustomRendererToRoles(legacy) {
|
|
30
|
+
const renderers = [];
|
|
31
|
+
const list = entryFromLegacy("list", legacy.list);
|
|
32
|
+
const item = entryFromLegacy("item", legacy.item);
|
|
33
|
+
if (list)
|
|
34
|
+
renderers.push(list);
|
|
35
|
+
if (item)
|
|
36
|
+
renderers.push(item);
|
|
37
|
+
return {
|
|
38
|
+
...(renderers.length ? { renderers } : {}),
|
|
39
|
+
...(legacy.metadata ? { metadata: legacy.metadata } : {}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function migrateDescriptorCustomRendererInPlace(descriptor) {
|
|
43
|
+
const cr = descriptor.customRenderer;
|
|
44
|
+
if (!cr || typeof cr !== "object")
|
|
45
|
+
return descriptor;
|
|
46
|
+
// Already new model (renderers array).
|
|
47
|
+
if (Array.isArray(cr.renderers))
|
|
48
|
+
return descriptor;
|
|
49
|
+
// Legacy model (list/item).
|
|
50
|
+
const hasLegacy = cr.list != null || cr.item != null;
|
|
51
|
+
if (!hasLegacy)
|
|
52
|
+
return descriptor;
|
|
53
|
+
const next = convertLegacyCustomRendererToRoles(cr);
|
|
54
|
+
return { ...descriptor, customRenderer: next };
|
|
55
|
+
}
|
|
56
|
+
export function buildRendererSnippetDocId(input) {
|
|
57
|
+
return `${String(input.catalogId)}:${String(input.role)}${input.mode ? `:${String(input.mode)}` : ""}`;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=renderer-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-metadata.js","sourceRoot":"","sources":["../../../src/migrations/renderer-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-spec-schema.d.ts","sourceRoot":"","sources":["../../../src/validation/ui-spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,iBAAiB,EAAE,SA2DtB,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,SA4D5B,CAAC;AAEX,eAAO,MAAM,6BAA6B,EAAE,SAyPlC,CAAC;AAEX,eAAO,MAAM,2BAA2B,EAAE,
|
|
1
|
+
{"version":3,"file":"ui-spec-schema.d.ts","sourceRoot":"","sources":["../../../src/validation/ui-spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,iBAAiB,EAAE,SA2DtB,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,SA4D5B,CAAC;AAEX,eAAO,MAAM,6BAA6B,EAAE,SAyPlC,CAAC;AAEX,eAAO,MAAM,2BAA2B,EAAE,SA2DhC,CAAC;AAEX,eAAO,MAAM,kCAAkC,EAAE,SAwBvC,CAAC;AAEX,eAAO,MAAM,0BAA0B,EAAE,SAwF/B,CAAC;AAEX,eAAO,MAAM,0BAA0B,EAAE,SA+C/B,CAAC"}
|