@c-rex/services 0.3.0-build.39 → 0.3.0-build.41
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/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +430 -147
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +411 -143
- package/dist/index.mjs.map +1 -1
- package/dist/metadata-visibility-policy.d.mts +29 -0
- package/dist/metadata-visibility-policy.d.ts +29 -0
- package/dist/metadata-visibility-policy.js +129 -0
- package/dist/metadata-visibility-policy.js.map +1 -0
- package/dist/metadata-visibility-policy.mjs +95 -0
- package/dist/metadata-visibility-policy.mjs.map +1 -0
- package/dist/read-models/index.d.mts +17 -39
- package/dist/read-models/index.d.ts +17 -39
- package/dist/read-models/index.js +430 -149
- package/dist/read-models/index.js.map +1 -1
- package/dist/read-models/index.mjs +410 -144
- package/dist/read-models/index.mjs.map +1 -1
- package/dist/read-models/metadata-display-builder.d.mts +34 -0
- package/dist/read-models/metadata-display-builder.d.ts +34 -0
- package/dist/read-models/metadata-display-builder.js +521 -0
- package/dist/read-models/metadata-display-builder.js.map +1 -0
- package/dist/read-models/metadata-display-builder.mjs +489 -0
- package/dist/read-models/metadata-display-builder.mjs.map +1 -0
- package/dist/read-models/metadata-presentation-config.js +2 -2
- package/dist/read-models/metadata-presentation-config.js.map +1 -1
- package/dist/read-models/metadata-presentation-config.mjs +2 -2
- package/dist/read-models/metadata-presentation-config.mjs.map +1 -1
- package/dist/read-models/metadata-view-profile.js +63 -4
- package/dist/read-models/metadata-view-profile.js.map +1 -1
- package/dist/read-models/metadata-view-profile.mjs +63 -4
- package/dist/read-models/metadata-view-profile.mjs.map +1 -1
- package/package.json +19 -1
|
@@ -142,8 +142,8 @@ var INFORMATION_UNIT_PROPERTY_PRESENTATION = {
|
|
|
142
142
|
},
|
|
143
143
|
applicableForTypes: {
|
|
144
144
|
valueKind: "objectRefArray",
|
|
145
|
-
facet: { supported: true, sectionStrategy: "
|
|
146
|
-
metadataDisplay: { supported: true, sectionStrategy: "
|
|
145
|
+
facet: { supported: true, sectionStrategy: "none" },
|
|
146
|
+
metadataDisplay: { supported: true, sectionStrategy: "none" }
|
|
147
147
|
},
|
|
148
148
|
planningTimes: {
|
|
149
149
|
valueKind: "objectRefArray",
|
|
@@ -197,6 +197,63 @@ var INFORMATION_UNIT_PROPERTY_PRESENTATION = {
|
|
|
197
197
|
}
|
|
198
198
|
};
|
|
199
199
|
|
|
200
|
+
// src/read-models/metadata-visibility-policy.ts
|
|
201
|
+
var CONTENT_LICENSE_CLASS_ID = "https://ids.c-crex.net/ns/iirds/ext#ContentLicense";
|
|
202
|
+
var METADATA_VISIBILITY_POLICY = {
|
|
203
|
+
parties: {
|
|
204
|
+
cacheFamily: "parties"
|
|
205
|
+
},
|
|
206
|
+
components: {
|
|
207
|
+
cacheFamily: "components"
|
|
208
|
+
},
|
|
209
|
+
informationSubjects: {
|
|
210
|
+
cacheFamily: "informationSubjects"
|
|
211
|
+
},
|
|
212
|
+
topicTypes: {
|
|
213
|
+
cacheFamily: "topicTypes"
|
|
214
|
+
},
|
|
215
|
+
documentTypes: {
|
|
216
|
+
cacheFamily: "documentTypes"
|
|
217
|
+
},
|
|
218
|
+
contentLifeCycleStatus: {
|
|
219
|
+
cacheFamily: "contentLifeCycleStatus"
|
|
220
|
+
},
|
|
221
|
+
applicableForTypes: {
|
|
222
|
+
cacheFamily: "documentTypes"
|
|
223
|
+
},
|
|
224
|
+
planningTimes: {
|
|
225
|
+
cacheFamily: "planningTimes"
|
|
226
|
+
},
|
|
227
|
+
functionalMetadata: {
|
|
228
|
+
cacheFamily: "functionalMetadata"
|
|
229
|
+
},
|
|
230
|
+
productFeatures: {
|
|
231
|
+
cacheFamily: "productFeatures"
|
|
232
|
+
},
|
|
233
|
+
productLifeCyclePhases: {
|
|
234
|
+
cacheFamily: "productLifeCyclePhases"
|
|
235
|
+
},
|
|
236
|
+
productMetadata: {
|
|
237
|
+
cacheFamily: "productMetadata"
|
|
238
|
+
},
|
|
239
|
+
productVariants: {
|
|
240
|
+
cacheFamily: "productVariants"
|
|
241
|
+
},
|
|
242
|
+
qualifications: {
|
|
243
|
+
cacheFamily: "qualifications",
|
|
244
|
+
deniedClassIds: [CONTENT_LICENSE_CLASS_ID]
|
|
245
|
+
},
|
|
246
|
+
supplies: {
|
|
247
|
+
cacheFamily: "supplies"
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
var runtimeSuppressedFamilies = /* @__PURE__ */ new Map();
|
|
251
|
+
var getMetadataCacheFamily = (property) => METADATA_VISIBILITY_POLICY[property]?.cacheFamily;
|
|
252
|
+
var isMetadataPropertyRuntimeSuppressed = (property) => {
|
|
253
|
+
const family = getMetadataCacheFamily(property);
|
|
254
|
+
return family ? runtimeSuppressedFamilies.has(family) : false;
|
|
255
|
+
};
|
|
256
|
+
|
|
200
257
|
// src/read-models/metadata-view-profile.ts
|
|
201
258
|
var ALL_PROPERTIES = Object.keys(INFORMATION_UNIT_PROPERTY_PRESENTATION);
|
|
202
259
|
var DEFAULT_FACET_PROPERTIES = ALL_PROPERTIES.filter((key) => {
|
|
@@ -256,7 +313,9 @@ var resolveFacetTags = (options) => {
|
|
|
256
313
|
toInformationUnitPropertyKeys(options?.includeProperties),
|
|
257
314
|
toInformationUnitPropertyKeys(options?.excludeProperties)
|
|
258
315
|
);
|
|
259
|
-
const tagSet = new Set(
|
|
316
|
+
const tagSet = new Set(
|
|
317
|
+
runtimeScoped.filter((property) => !isMetadataPropertyRuntimeSuppressed(property))
|
|
318
|
+
);
|
|
260
319
|
(facetConfig?.extraTags || []).forEach((tag) => tagSet.add(tag));
|
|
261
320
|
(options?.extraTags || []).forEach((tag) => tagSet.add(tag));
|
|
262
321
|
return Array.from(tagSet);
|
|
@@ -274,7 +333,7 @@ var resolveMetadataDisplayProperties = (options) => {
|
|
|
274
333
|
profileScoped,
|
|
275
334
|
toInformationUnitPropertyKeys(options?.includeProperties),
|
|
276
335
|
toInformationUnitPropertyKeys(options?.excludeProperties)
|
|
277
|
-
);
|
|
336
|
+
).filter((property) => !isMetadataPropertyRuntimeSuppressed(property));
|
|
278
337
|
};
|
|
279
338
|
export {
|
|
280
339
|
METADATA_VIEW_PROFILES,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/read-models/metadata-presentation-config.ts","../../src/read-models/metadata-view-profile.ts"],"sourcesContent":["import type { InformationUnitModel } from \"@c-rex/interfaces\";\r\n\r\nexport type InformationUnitPropertyKey = keyof InformationUnitModel;\r\n\r\n/**\r\n * Describes the raw shape of a metadata property value in InformationUnitModel.\r\n * This drives generic rendering/grouping logic without coupling to one concrete UI control.\r\n */\r\nexport type MetadataValueKind =\r\n /** Primitive scalar (string/number/date-like value). */\r\n | \"scalar\"\r\n /** Array of localized literals ({ language, value }). */\r\n | \"literalArray\"\r\n /** Array of primitive strings. */\r\n | \"stringArray\"\r\n /** Single ObjectRef relation. */\r\n | \"objectRef\"\r\n /** Multiple ObjectRef relations. */\r\n | \"objectRefArray\"\r\n /** Array of API resource links. */\r\n | \"resourceLinkArray\"\r\n /** Array of rendition entries. */\r\n | \"renditionArray\";\r\n\r\n/**\r\n * Defines how facet search sections are derived for one metadata property.\r\n */\r\nexport type FacetSectionStrategy = \"none\" | \"class\" | \"partyRole\";\r\n\r\n/**\r\n * Defines how generic metadata display sections are derived (property grid, card metadata, etc.).\r\n * Name is intentionally control-agnostic and not tied to InformationUnitMetadataGrid.\r\n */\r\nexport type MetadataDisplaySectionStrategy = \"none\" | \"class\" | \"partyRole\";\r\n\r\n/**\r\n * Central presentation contract for one InformationUnit metadata property.\r\n * - facet: behavior for facet search grouping.\r\n * - metadataDisplay: behavior for generic metadata rendering components.\r\n */\r\nexport type MetadataPropertyPresentationConfig = {\r\n /** Raw value shape from API model. */\r\n valueKind: MetadataValueKind;\r\n facet: {\r\n /** If false, property is not used as facet dimension. */\r\n supported: boolean;\r\n /**\r\n * How facet sections are built:\r\n * - \"none\": keep the property as one flat facet group (no additional taxonomy section split).\r\n * - \"class\": split entries by their class label.\r\n * - \"partyRole\": split entries by party role label.\r\n */\r\n sectionStrategy: FacetSectionStrategy;\r\n };\r\n metadataDisplay: {\r\n /** If false, property is not rendered in generic metadata displays. */\r\n supported: boolean;\r\n /**\r\n * How metadata sections are built in generic displays:\r\n * - \"none\": keep one property row/group.\r\n * - \"class\": split/group by class label.\r\n * - \"partyRole\": split/group by party role label.\r\n */\r\n sectionStrategy: MetadataDisplaySectionStrategy;\r\n };\r\n};\r\n\r\n/**\r\n * Central presentation rules for all InformationUnitModel properties.\r\n * This is the single source of truth for facet grouping and generic metadata display behavior.\r\n */\r\nexport const INFORMATION_UNIT_PROPERTY_PRESENTATION: Record<\r\n InformationUnitPropertyKey,\r\n MetadataPropertyPresentationConfig\r\n> = {\r\n id: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n shortId: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n score: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n class: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"class\" },\r\n },\r\n labels: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n comments: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n descriptions: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n synonyms: {\r\n valueKind: \"stringArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n packages: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n hasInformationUnits: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n links: {\r\n valueKind: \"resourceLinkArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n revision: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n created: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n modified: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n abstract: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n replaces: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n versionOf: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n titles: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n languages: {\r\n valueKind: \"stringArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n parties: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"partyRole\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"partyRole\" },\r\n },\r\n renditions: {\r\n valueKind: \"renditionArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n identities: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n components: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n informationSubjects: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n topicTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n documentTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n directoryNodes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n contentLifeCycleStatus: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n applicableForTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n planningTimes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n events: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n functionalMetadata: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n informationUnits: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n productFeatures: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productLifeCyclePhases: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productMetadata: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productVariants: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n qualifications: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n supplies: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n};\r\n\r\n","import { InformationUnitPropertyKey } from \"./metadata-presentation-config\";\r\nimport { INFORMATION_UNIT_PROPERTY_PRESENTATION } from \"./metadata-presentation-config\";\r\n\r\nexport type MetadataViewProfileId =\r\n | \"default-search\"\r\n | \"information-unit-search\"\r\n | \"default-metadata-display\";\r\n\r\nexport type MetadataViewProfile = {\r\n id: MetadataViewProfileId;\r\n facet?: {\r\n includeProperties?: InformationUnitPropertyKey[];\r\n excludeProperties?: InformationUnitPropertyKey[];\r\n includeZeroHits?: boolean;\r\n extraTags?: string[];\r\n };\r\n metadataDisplay?: {\r\n includeProperties?: InformationUnitPropertyKey[];\r\n excludeProperties?: InformationUnitPropertyKey[];\r\n };\r\n};\r\n\r\nconst ALL_PROPERTIES = Object.keys(INFORMATION_UNIT_PROPERTY_PRESENTATION) as InformationUnitPropertyKey[];\r\n\r\nconst DEFAULT_FACET_PROPERTIES = ALL_PROPERTIES.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n return config.facet.supported && config.valueKind === \"objectRefArray\";\r\n});\r\n\r\nconst DEFAULT_METADATA_DISPLAY_PROPERTIES = ALL_PROPERTIES.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n return config.metadataDisplay.supported;\r\n});\r\n\r\nconst toSet = <T extends string>(values?: T[]) => new Set(values || []);\r\n\r\nconst applyIncludeExclude = <T extends string>(base: T[], include?: T[], exclude?: T[]): T[] => {\r\n const includeSet = toSet(include);\r\n const excludeSet = toSet(exclude);\r\n const source = includeSet.size > 0 ? base.filter((item) => includeSet.has(item)) : base;\r\n return source.filter((item) => !excludeSet.has(item));\r\n};\r\n\r\nexport const METADATA_VIEW_PROFILES: Record<MetadataViewProfileId, MetadataViewProfile> = {\r\n \"default-search\": {\r\n id: \"default-search\",\r\n facet: {\r\n includeProperties: DEFAULT_FACET_PROPERTIES,\r\n extraTags: [\"rdfType\"],\r\n includeZeroHits: true,\r\n },\r\n },\r\n \"information-unit-search\": {\r\n id: \"information-unit-search\",\r\n facet: {\r\n includeProperties: DEFAULT_FACET_PROPERTIES.filter((property) => property !== \"informationSubjects\"),\r\n extraTags: [\"rdfType\"],\r\n includeZeroHits: true,\r\n },\r\n },\r\n \"default-metadata-display\": {\r\n id: \"default-metadata-display\",\r\n metadataDisplay: {\r\n includeProperties: DEFAULT_METADATA_DISPLAY_PROPERTIES,\r\n },\r\n },\r\n};\r\n\r\ntype ResolveFacetTagsOptions = {\r\n profileId?: MetadataViewProfileId;\r\n includeProperties?: string[];\r\n excludeProperties?: string[];\r\n extraTags?: string[];\r\n};\r\n\r\nconst toInformationUnitPropertyKeys = (values?: string[]): InformationUnitPropertyKey[] => {\r\n const available = new Set<string>(ALL_PROPERTIES);\r\n return (values || []).filter((value): value is InformationUnitPropertyKey => available.has(value));\r\n};\r\n\r\n/**\r\n * Resolves API tag keys for facet requests from one central profile definition.\r\n * Use this instead of hardcoded page-level tag arrays.\r\n */\r\nexport const resolveFacetTags = (options?: ResolveFacetTagsOptions): string[] => {\r\n const profile = METADATA_VIEW_PROFILES[options?.profileId || \"default-search\"];\r\n const facetConfig = profile.facet;\r\n\r\n const supported = DEFAULT_FACET_PROPERTIES;\r\n const profileScoped = applyIncludeExclude(\r\n supported,\r\n facetConfig?.includeProperties,\r\n facetConfig?.excludeProperties\r\n );\r\n const runtimeScoped = applyIncludeExclude(\r\n profileScoped,\r\n toInformationUnitPropertyKeys(options?.includeProperties),\r\n toInformationUnitPropertyKeys(options?.excludeProperties)\r\n );\r\n\r\n const tagSet = new Set<string>(runtimeScoped);\r\n (facetConfig?.extraTags || []).forEach((tag) => tagSet.add(tag));\r\n (options?.extraTags || []).forEach((tag) => tagSet.add(tag));\r\n\r\n return Array.from(tagSet);\r\n};\r\n\r\ntype ResolveMetadataDisplayPropertiesOptions = {\r\n profileId?: MetadataViewProfileId;\r\n includeProperties?: string[];\r\n excludeProperties?: string[];\r\n};\r\n\r\n/**\r\n * Resolves the effective metadata properties used by generic metadata displays.\r\n * Supports profile-level defaults and usage-specific include/exclude narrowing.\r\n */\r\nexport const resolveMetadataDisplayProperties = (\r\n options?: ResolveMetadataDisplayPropertiesOptions\r\n): InformationUnitPropertyKey[] => {\r\n const profile = METADATA_VIEW_PROFILES[options?.profileId || \"default-metadata-display\"];\r\n const displayConfig = profile.metadataDisplay;\r\n\r\n const supported = DEFAULT_METADATA_DISPLAY_PROPERTIES;\r\n const profileScoped = applyIncludeExclude(\r\n supported,\r\n displayConfig?.includeProperties,\r\n displayConfig?.excludeProperties\r\n );\r\n return applyIncludeExclude(\r\n profileScoped,\r\n toInformationUnitPropertyKeys(options?.includeProperties),\r\n toInformationUnitPropertyKeys(options?.excludeProperties)\r\n );\r\n};\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/read-models/metadata-presentation-config.ts","../../src/read-models/metadata-visibility-policy.ts","../../src/read-models/metadata-view-profile.ts"],"sourcesContent":["import type { InformationUnitModel } from \"@c-rex/interfaces\";\r\n\r\nexport type InformationUnitPropertyKey = keyof InformationUnitModel;\r\n\r\n/**\r\n * Describes the raw shape of a metadata property value in InformationUnitModel.\r\n * This drives generic rendering/grouping logic without coupling to one concrete UI control.\r\n */\r\nexport type MetadataValueKind =\r\n /** Primitive scalar (string/number/date-like value). */\r\n | \"scalar\"\r\n /** Array of localized literals ({ language, value }). */\r\n | \"literalArray\"\r\n /** Array of primitive strings. */\r\n | \"stringArray\"\r\n /** Single ObjectRef relation. */\r\n | \"objectRef\"\r\n /** Multiple ObjectRef relations. */\r\n | \"objectRefArray\"\r\n /** Array of API resource links. */\r\n | \"resourceLinkArray\"\r\n /** Array of rendition entries. */\r\n | \"renditionArray\";\r\n\r\n/**\r\n * Defines how facet search sections are derived for one metadata property.\r\n */\r\nexport type FacetSectionStrategy = \"none\" | \"class\" | \"partyRole\";\r\n\r\n/**\r\n * Defines how generic metadata display sections are derived (property grid, card metadata, etc.).\r\n * Name is intentionally control-agnostic and not tied to InformationUnitMetadataGrid.\r\n */\r\nexport type MetadataDisplaySectionStrategy = \"none\" | \"class\" | \"partyRole\";\r\n\r\n/**\r\n * Central presentation contract for one InformationUnit metadata property.\r\n * - facet: behavior for facet search grouping.\r\n * - metadataDisplay: behavior for generic metadata rendering components.\r\n */\r\nexport type MetadataPropertyPresentationConfig = {\r\n /** Raw value shape from API model. */\r\n valueKind: MetadataValueKind;\r\n facet: {\r\n /** If false, property is not used as facet dimension. */\r\n supported: boolean;\r\n /**\r\n * How facet sections are built:\r\n * - \"none\": keep the property as one flat facet group (no additional taxonomy section split).\r\n * - \"class\": split entries by their class label.\r\n * - \"partyRole\": split entries by party role label.\r\n */\r\n sectionStrategy: FacetSectionStrategy;\r\n };\r\n metadataDisplay: {\r\n /** If false, property is not rendered in generic metadata displays. */\r\n supported: boolean;\r\n /**\r\n * How metadata sections are built in generic displays:\r\n * - \"none\": keep one property row/group.\r\n * - \"class\": split/group by class label.\r\n * - \"partyRole\": split/group by party role label.\r\n */\r\n sectionStrategy: MetadataDisplaySectionStrategy;\r\n };\r\n};\r\n\r\n/**\r\n * Central presentation rules for all InformationUnitModel properties.\r\n * This is the single source of truth for facet grouping and generic metadata display behavior.\r\n */\r\nexport const INFORMATION_UNIT_PROPERTY_PRESENTATION: Record<\r\n InformationUnitPropertyKey,\r\n MetadataPropertyPresentationConfig\r\n> = {\r\n id: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n shortId: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n score: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n class: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"class\" },\r\n },\r\n labels: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n comments: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n descriptions: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n synonyms: {\r\n valueKind: \"stringArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n packages: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n hasInformationUnits: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n links: {\r\n valueKind: \"resourceLinkArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n revision: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n created: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n modified: {\r\n valueKind: \"scalar\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n abstract: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n replaces: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n versionOf: {\r\n valueKind: \"objectRef\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n titles: {\r\n valueKind: \"literalArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n languages: {\r\n valueKind: \"stringArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n parties: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"partyRole\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"partyRole\" },\r\n },\r\n renditions: {\r\n valueKind: \"renditionArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n identities: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n components: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n informationSubjects: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n topicTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n documentTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n directoryNodes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n contentLifeCycleStatus: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n applicableForTypes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"none\" },\r\n },\r\n planningTimes: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n events: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n functionalMetadata: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n informationUnits: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: false, sectionStrategy: \"none\" },\r\n metadataDisplay: { supported: false, sectionStrategy: \"none\" },\r\n },\r\n productFeatures: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productLifeCyclePhases: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productMetadata: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n productVariants: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n qualifications: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n supplies: {\r\n valueKind: \"objectRefArray\",\r\n facet: { supported: true, sectionStrategy: \"class\" },\r\n metadataDisplay: { supported: true, sectionStrategy: \"class\" },\r\n },\r\n};\r\n\r\n","import { InformationUnitPropertyKey } from \"./metadata-presentation-config\";\r\n\r\nexport type MetadataCacheFamily =\r\n | \"components\"\r\n | \"informationSubjects\"\r\n | \"documentTypes\"\r\n | \"topicTypes\"\r\n | \"contentLifeCycleStatus\"\r\n | \"planningTimes\"\r\n | \"functionalMetadata\"\r\n | \"productFeatures\"\r\n | \"productLifeCyclePhases\"\r\n | \"productMetadata\"\r\n | \"productVariants\"\r\n | \"qualifications\"\r\n | \"supplies\"\r\n | \"parties\";\r\n\r\nexport type MetadataPropertyVisibilityPolicy = {\r\n cacheFamily?: MetadataCacheFamily;\r\n deniedClassIds?: string[];\r\n deniedPartyRoleIds?: string[];\r\n};\r\n\r\nconst CONTENT_LICENSE_CLASS_ID = \"https://ids.c-crex.net/ns/iirds/ext#ContentLicense\";\r\n\r\nexport const METADATA_VISIBILITY_POLICY: Partial<Record<InformationUnitPropertyKey, MetadataPropertyVisibilityPolicy>> = {\r\n parties: {\r\n cacheFamily: \"parties\",\r\n },\r\n components: {\r\n cacheFamily: \"components\",\r\n },\r\n informationSubjects: {\r\n cacheFamily: \"informationSubjects\",\r\n },\r\n topicTypes: {\r\n cacheFamily: \"topicTypes\",\r\n },\r\n documentTypes: {\r\n cacheFamily: \"documentTypes\",\r\n },\r\n contentLifeCycleStatus: {\r\n cacheFamily: \"contentLifeCycleStatus\",\r\n },\r\n applicableForTypes: {\r\n cacheFamily: \"documentTypes\",\r\n },\r\n planningTimes: {\r\n cacheFamily: \"planningTimes\",\r\n },\r\n functionalMetadata: {\r\n cacheFamily: \"functionalMetadata\",\r\n },\r\n productFeatures: {\r\n cacheFamily: \"productFeatures\",\r\n },\r\n productLifeCyclePhases: {\r\n cacheFamily: \"productLifeCyclePhases\",\r\n },\r\n productMetadata: {\r\n cacheFamily: \"productMetadata\",\r\n },\r\n productVariants: {\r\n cacheFamily: \"productVariants\",\r\n },\r\n qualifications: {\r\n cacheFamily: \"qualifications\",\r\n deniedClassIds: [CONTENT_LICENSE_CLASS_ID],\r\n },\r\n supplies: {\r\n cacheFamily: \"supplies\",\r\n },\r\n};\r\n\r\ntype RuntimeSuppressionEntry = {\r\n reason: \"cache-overflow\";\r\n family: MetadataCacheFamily;\r\n bytes: number;\r\n limitBytes: number;\r\n timestamp: string;\r\n};\r\n\r\nconst runtimeSuppressedFamilies = new Map<MetadataCacheFamily, RuntimeSuppressionEntry>();\r\n\r\nexport const getMetadataCacheFamily = (\r\n property: InformationUnitPropertyKey\r\n): MetadataCacheFamily | undefined => METADATA_VISIBILITY_POLICY[property]?.cacheFamily;\r\n\r\nexport const isMetadataGroupDenied = (\r\n property: InformationUnitPropertyKey,\r\n options: { classId?: string | null; partyRoleId?: string | null }\r\n): boolean => {\r\n const policy = METADATA_VISIBILITY_POLICY[property];\r\n const classId = options.classId?.trim();\r\n const partyRoleId = options.partyRoleId?.trim();\r\n\r\n if (classId && policy?.deniedClassIds?.includes(classId)) {\r\n return true;\r\n }\r\n\r\n if (partyRoleId && policy?.deniedPartyRoleIds?.includes(partyRoleId)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const suppressMetadataCacheFamilyRuntime = (\r\n family: MetadataCacheFamily,\r\n entry: Omit<RuntimeSuppressionEntry, \"family\" | \"reason\" | \"timestamp\">\r\n) => {\r\n runtimeSuppressedFamilies.set(family, {\r\n family,\r\n reason: \"cache-overflow\",\r\n bytes: entry.bytes,\r\n limitBytes: entry.limitBytes,\r\n timestamp: new Date().toISOString(),\r\n });\r\n};\r\n\r\nexport const clearMetadataCacheFamilyRuntimeSuppression = (family: MetadataCacheFamily) => {\r\n runtimeSuppressedFamilies.delete(family);\r\n};\r\n\r\nexport const isMetadataPropertyRuntimeSuppressed = (property: InformationUnitPropertyKey): boolean => {\r\n const family = getMetadataCacheFamily(property);\r\n return family ? runtimeSuppressedFamilies.has(family) : false;\r\n};\r\n\r\nexport const getRuntimeSuppressedMetadataFamilies = (): RuntimeSuppressionEntry[] =>\r\n Array.from(runtimeSuppressedFamilies.values());\r\n\r\nexport const resetRuntimeSuppressedMetadataFamiliesForTests = () => {\r\n runtimeSuppressedFamilies.clear();\r\n};\r\n","import { InformationUnitPropertyKey } from \"./metadata-presentation-config\";\r\nimport { INFORMATION_UNIT_PROPERTY_PRESENTATION } from \"./metadata-presentation-config\";\r\nimport { isMetadataPropertyRuntimeSuppressed } from \"./metadata-visibility-policy\";\r\n\r\nexport type MetadataViewProfileId =\r\n | \"default-search\"\r\n | \"information-unit-search\"\r\n | \"default-metadata-display\";\r\n\r\nexport type MetadataViewProfile = {\r\n id: MetadataViewProfileId;\r\n facet?: {\r\n includeProperties?: InformationUnitPropertyKey[];\r\n excludeProperties?: InformationUnitPropertyKey[];\r\n includeZeroHits?: boolean;\r\n extraTags?: string[];\r\n };\r\n metadataDisplay?: {\r\n includeProperties?: InformationUnitPropertyKey[];\r\n excludeProperties?: InformationUnitPropertyKey[];\r\n };\r\n};\r\n\r\nconst ALL_PROPERTIES = Object.keys(INFORMATION_UNIT_PROPERTY_PRESENTATION) as InformationUnitPropertyKey[];\r\n\r\nconst DEFAULT_FACET_PROPERTIES = ALL_PROPERTIES.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n return config.facet.supported && config.valueKind === \"objectRefArray\";\r\n});\r\n\r\nconst DEFAULT_METADATA_DISPLAY_PROPERTIES = ALL_PROPERTIES.filter((key) => {\r\n const config = INFORMATION_UNIT_PROPERTY_PRESENTATION[key];\r\n return config.metadataDisplay.supported;\r\n});\r\n\r\nconst toSet = <T extends string>(values?: T[]) => new Set(values || []);\r\n\r\nconst applyIncludeExclude = <T extends string>(base: T[], include?: T[], exclude?: T[]): T[] => {\r\n const includeSet = toSet(include);\r\n const excludeSet = toSet(exclude);\r\n const source = includeSet.size > 0 ? base.filter((item) => includeSet.has(item)) : base;\r\n return source.filter((item) => !excludeSet.has(item));\r\n};\r\n\r\nexport const METADATA_VIEW_PROFILES: Record<MetadataViewProfileId, MetadataViewProfile> = {\r\n \"default-search\": {\r\n id: \"default-search\",\r\n facet: {\r\n includeProperties: DEFAULT_FACET_PROPERTIES,\r\n extraTags: [\"rdfType\"],\r\n includeZeroHits: true,\r\n },\r\n },\r\n \"information-unit-search\": {\r\n id: \"information-unit-search\",\r\n facet: {\r\n includeProperties: DEFAULT_FACET_PROPERTIES.filter((property) => property !== \"informationSubjects\"),\r\n extraTags: [\"rdfType\"],\r\n includeZeroHits: true,\r\n },\r\n },\r\n \"default-metadata-display\": {\r\n id: \"default-metadata-display\",\r\n metadataDisplay: {\r\n includeProperties: DEFAULT_METADATA_DISPLAY_PROPERTIES,\r\n },\r\n },\r\n};\r\n\r\ntype ResolveFacetTagsOptions = {\r\n profileId?: MetadataViewProfileId;\r\n includeProperties?: string[];\r\n excludeProperties?: string[];\r\n extraTags?: string[];\r\n};\r\n\r\nconst toInformationUnitPropertyKeys = (values?: string[]): InformationUnitPropertyKey[] => {\r\n const available = new Set<string>(ALL_PROPERTIES);\r\n return (values || []).filter((value): value is InformationUnitPropertyKey => available.has(value));\r\n};\r\n\r\n/**\r\n * Resolves API tag keys for facet requests from one central profile definition.\r\n * Use this instead of hardcoded page-level tag arrays.\r\n */\r\nexport const resolveFacetTags = (options?: ResolveFacetTagsOptions): string[] => {\r\n const profile = METADATA_VIEW_PROFILES[options?.profileId || \"default-search\"];\r\n const facetConfig = profile.facet;\r\n\r\n const supported = DEFAULT_FACET_PROPERTIES;\r\n const profileScoped = applyIncludeExclude(\r\n supported,\r\n facetConfig?.includeProperties,\r\n facetConfig?.excludeProperties\r\n );\r\n const runtimeScoped = applyIncludeExclude(\r\n profileScoped,\r\n toInformationUnitPropertyKeys(options?.includeProperties),\r\n toInformationUnitPropertyKeys(options?.excludeProperties)\r\n );\r\n\r\n const tagSet = new Set<string>(\r\n runtimeScoped.filter((property) => !isMetadataPropertyRuntimeSuppressed(property))\r\n );\r\n (facetConfig?.extraTags || []).forEach((tag) => tagSet.add(tag));\r\n (options?.extraTags || []).forEach((tag) => tagSet.add(tag));\r\n\r\n return Array.from(tagSet);\r\n};\r\n\r\ntype ResolveMetadataDisplayPropertiesOptions = {\r\n profileId?: MetadataViewProfileId;\r\n includeProperties?: string[];\r\n excludeProperties?: string[];\r\n};\r\n\r\n/**\r\n * Resolves the effective metadata properties used by generic metadata displays.\r\n * Supports profile-level defaults and usage-specific include/exclude narrowing.\r\n */\r\nexport const resolveMetadataDisplayProperties = (\r\n options?: ResolveMetadataDisplayPropertiesOptions\r\n): InformationUnitPropertyKey[] => {\r\n const profile = METADATA_VIEW_PROFILES[options?.profileId || \"default-metadata-display\"];\r\n const displayConfig = profile.metadataDisplay;\r\n\r\n const supported = DEFAULT_METADATA_DISPLAY_PROPERTIES;\r\n const profileScoped = applyIncludeExclude(\r\n supported,\r\n displayConfig?.includeProperties,\r\n displayConfig?.excludeProperties\r\n );\r\n return applyIncludeExclude(\r\n profileScoped,\r\n toInformationUnitPropertyKeys(options?.includeProperties),\r\n toInformationUnitPropertyKeys(options?.excludeProperties)\r\n ).filter((property) => !isMetadataPropertyRuntimeSuppressed(property));\r\n};\r\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c-rex/services",
|
|
3
|
-
"version": "0.3.0-build.
|
|
3
|
+
"version": "0.3.0-build.41",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
@@ -44,6 +44,24 @@
|
|
|
44
44
|
"require": "./dist/read-models/metadata-view-profile.js",
|
|
45
45
|
"default": "./dist/read-models/metadata-view-profile.js"
|
|
46
46
|
},
|
|
47
|
+
"./metadata-display-builder": {
|
|
48
|
+
"types": "./dist/read-models/metadata-display-builder.d.ts",
|
|
49
|
+
"import": "./dist/read-models/metadata-display-builder.mjs",
|
|
50
|
+
"require": "./dist/read-models/metadata-display-builder.js",
|
|
51
|
+
"default": "./dist/read-models/metadata-display-builder.js"
|
|
52
|
+
},
|
|
53
|
+
"./metadata-visibility-policy": {
|
|
54
|
+
"types": "./dist/metadata-visibility-policy.d.ts",
|
|
55
|
+
"import": "./dist/metadata-visibility-policy.mjs",
|
|
56
|
+
"require": "./dist/metadata-visibility-policy.js",
|
|
57
|
+
"default": "./dist/metadata-visibility-policy.js"
|
|
58
|
+
},
|
|
59
|
+
"./read-models/metadata-visibility-policy": {
|
|
60
|
+
"types": "./dist/read-models/metadata-visibility-policy.d.ts",
|
|
61
|
+
"import": "./dist/read-models/metadata-visibility-policy.mjs",
|
|
62
|
+
"require": "./dist/read-models/metadata-visibility-policy.js",
|
|
63
|
+
"default": "./dist/read-models/metadata-visibility-policy.js"
|
|
64
|
+
},
|
|
47
65
|
"./metadata-presentation-config": {
|
|
48
66
|
"types": "./dist/read-models/metadata-presentation-config.d.ts",
|
|
49
67
|
"import": "./dist/read-models/metadata-presentation-config.mjs",
|