@glion/annotate-profile-datatypes 0.20.0 → 0.21.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/dist/index.d.ts CHANGED
@@ -46,6 +46,7 @@ declare module "@glion/ast" {
46
46
  *
47
47
  * Annotation flows down the AST and stops at the node where the primitive
48
48
  * value lives:
49
+ *
49
50
  * - Primitive field → stops at FieldRepetition
50
51
  * - Composite field with primitive components → stops at Component
51
52
  * - Composite field with composite components → stops at Subcomponent
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqC,IAAI,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,mBAAmB;QAC3B,6DAA6D;QAC7D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,qEAAqE;QACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B;IACD,UAAU,aAAa;QACrB,qDAAqD;QACrD,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,0DAA0D;QAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,iEAAiE;QACjE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,yDAAyD;QACzD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,iDAAiD;QACjD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,4CAA4C;QAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B;IACD,UAAU,gBAAgB;QACxB,sDAAsD;QACtD,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,yEAAyE;QACzE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,yCAAyC;QACzC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,sBAAsB;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAkG9D,CAAC;AAEJ,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqC,IAAI,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAU,mBAAmB;QAC3B,6DAA6D;QAC7D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,qEAAqE;QACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B;IACD,UAAU,aAAa;QACrB,qDAAqD;QACrD,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,0DAA0D;QAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,iEAAiE;QACjE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,yDAAyD;QACzD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,iDAAiD;QACjD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,4CAA4C;QAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B;IACD,UAAU,gBAAgB;QACxB,sDAAsD;QACtD,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,yEAAyE;QACzE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC/B,yCAAyC;QACzC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,iDAAiD;QACjD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,sBAAsB;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAkG9D,CAAC;AAEJ,eAAe,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ import { SKIP, visit } from "@glion/util-visit";
6
6
  *
7
7
  * Annotation flows down the AST and stops at the node where the primitive
8
8
  * value lives:
9
+ *
9
10
  * - Primitive field → stops at FieldRepetition
10
11
  * - Composite field with primitive components → stops at Component
11
12
  * - Composite field with composite components → stops at Subcomponent
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["// oxlint-disable-next-line no-unused-vars -- triggers VFile DataMap augmentation\nimport type { ProfileContext } from \"@glion/annotate-profile-context\";\nimport type { Component, Field, FieldRepetition, Root } from \"@glion/ast\";\nimport { SKIP, visit } from \"@glion/util-visit\";\nimport type { Plugin } from \"unified\";\nimport type { VFile } from \"vfile\";\n\ndeclare module \"@glion/ast\" {\n interface FieldRepetitionData {\n /** Datatype ID for this field (e.g., \"ST\", \"CWE\", \"MSG\"). */\n datatypeId?: string | undefined;\n /** Datatype kind: \"primitive\" or \"composite\". */\n kind?: string | undefined;\n /** Datatype title (e.g., \"String Data\", \"Coded with Exceptions\"). */\n title?: string | undefined;\n }\n interface ComponentData {\n /** Component identifier (e.g., \"CWE.1\", \"XPN.2\"). */\n id?: string | undefined;\n /** Component name from the parent datatype definition. */\n name?: string | undefined;\n /** Whether this component is required in the parent datatype. */\n required?: boolean | undefined;\n /** Datatype ID for this component (e.g., \"ST\", \"ID\"). */\n datatypeId?: string | undefined;\n /** Maximum allowed length for this component. */\n maxLength?: number | undefined;\n /** Datatype kind: \"primitive\" or \"composite\". */\n kind?: string | undefined;\n /** Datatype title (e.g., \"String Data\"). */\n title?: string | undefined;\n }\n interface SubcomponentData {\n /** Subcomponent identifier (e.g., \"FN.1\", \"HD.2\"). */\n id?: string | undefined;\n /** Subcomponent name from the parent component's datatype definition. */\n name?: string | undefined;\n /** Whether this subcomponent is required. */\n required?: boolean | undefined;\n /** Datatype ID for this subcomponent. */\n datatypeId?: string | undefined;\n /** Datatype kind: \"primitive\" or \"composite\". */\n kind?: string | undefined;\n /** Datatype title. */\n title?: string | undefined;\n }\n}\n\n/**\n * Unified plugin that annotates FieldRepetition, Component, and Subcomponent\n * nodes with datatype profile metadata using a stop-at-primitive cascade.\n *\n * Annotation flows down the AST and stops at the node where the primitive\n * value lives:\n * - Primitive field → stops at FieldRepetition\n * - Composite field with primitive components → stops at Component\n * - Composite field with composite components → stops at Subcomponent\n *\n * `kind: \"primitive\"` = the value is here.\n * `kind: \"composite\"` = look at children.\n * No annotation = the value lives on an ancestor.\n *\n * Requires the fields annotator to run first (preset guarantees ordering).\n */\nexport const hl7v2AnnotateProfileDatatypes: Plugin<[], Root, Root> =\n () => (tree: Root, file: VFile) => {\n const ctx = file.data.profile;\n if (!ctx) {\n return tree;\n }\n\n // Pass 1: field-repetitions — entry point for the cascade\n visit(tree, \"field-repetition\", (rep, ancestors) => {\n const field = ancestors.at(-1) as Field | undefined;\n const datatypeId = (field?.data as Record<string, unknown> | undefined)\n ?.datatype as string | undefined;\n\n const dtDef = datatypeId ? ctx.datatypes.get(datatypeId) : undefined;\n if (!dtDef) {\n return;\n }\n\n if (!rep.data) {\n rep.data = {};\n }\n rep.data.datatypeId = dtDef.id;\n rep.data.kind = dtDef.kind;\n if (dtDef.title !== undefined) {\n rep.data.title = dtDef.title;\n }\n });\n\n // Pass 2: components — only when parent repetition is composite\n visit(tree, \"component\", (component, ancestors, info) => {\n const rep = ancestors.at(-1) as FieldRepetition | undefined;\n if (rep?.data?.kind !== \"composite\" || !rep.data.datatypeId) {\n return SKIP;\n }\n\n const dtDef = ctx.datatypes.get(rep.data.datatypeId);\n if (!dtDef) {\n return SKIP;\n }\n\n const compProfile = dtDef.componentsBySequence.get(info.sequence);\n if (!compProfile) {\n return SKIP;\n }\n\n if (!component.data) {\n component.data = {};\n }\n component.data.id = `${dtDef.id}.${info.sequence}`;\n component.data.name = compProfile.name;\n component.data.required = compProfile.required;\n component.data.datatypeId = compProfile.datatypeId;\n if (compProfile.maxLength !== undefined) {\n component.data.maxLength = compProfile.maxLength;\n }\n\n const compDtDef = ctx.datatypes.get(compProfile.datatypeId);\n if (compDtDef) {\n component.data.kind = compDtDef.kind;\n if (compDtDef.title !== undefined) {\n component.data.title = compDtDef.title;\n }\n }\n\n return SKIP;\n });\n\n // Pass 3: subcomponents — only when parent component is composite\n visit(tree, \"subcomponent\", (subcomponent, ancestors, info) => {\n const component = ancestors.at(-1) as Component | undefined;\n if (component?.data?.kind !== \"composite\" || !component.data.datatypeId) {\n return;\n }\n\n const compDtDef = ctx.datatypes.get(component.data.datatypeId);\n const subProfile = compDtDef?.componentsBySequence.get(info.sequence);\n if (!subProfile) {\n return;\n }\n\n if (!subcomponent.data) {\n subcomponent.data = {};\n }\n subcomponent.data.id = `${component.data.datatypeId}.${info.sequence}`;\n subcomponent.data.name = subProfile.name;\n subcomponent.data.required = subProfile.required;\n subcomponent.data.datatypeId = subProfile.datatypeId;\n\n const subDtDef = ctx.datatypes.get(subProfile.datatypeId);\n if (subDtDef) {\n subcomponent.data.kind = subDtDef.kind;\n if (subDtDef.title !== undefined) {\n subcomponent.data.title = subDtDef.title;\n }\n }\n });\n\n return tree;\n };\n\nexport default hl7v2AnnotateProfileDatatypes;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgEA,MAAa,uCACJ,MAAY,SAAgB;CACjC,MAAM,MAAM,KAAK,KAAK;AACtB,KAAI,CAAC,IACH,QAAO;AAIT,OAAM,MAAM,qBAAqB,KAAK,cAAc;EAElD,MAAM,cADQ,UAAU,GAAG,GACF,EAAE,OACvB;EAEJ,MAAM,QAAQ,aAAa,IAAI,UAAU,IAAI,WAAW,GAAG,KAAA;AAC3D,MAAI,CAAC,MACH;AAGF,MAAI,CAAC,IAAI,KACP,KAAI,OAAO,EAAE;AAEf,MAAI,KAAK,aAAa,MAAM;AAC5B,MAAI,KAAK,OAAO,MAAM;AACtB,MAAI,MAAM,UAAU,KAAA,EAClB,KAAI,KAAK,QAAQ,MAAM;GAEzB;AAGF,OAAM,MAAM,cAAc,WAAW,WAAW,SAAS;EACvD,MAAM,MAAM,UAAU,GAAG,GAAG;AAC5B,MAAI,KAAK,MAAM,SAAS,eAAe,CAAC,IAAI,KAAK,WAC/C,QAAO;EAGT,MAAM,QAAQ,IAAI,UAAU,IAAI,IAAI,KAAK,WAAW;AACpD,MAAI,CAAC,MACH,QAAO;EAGT,MAAM,cAAc,MAAM,qBAAqB,IAAI,KAAK,SAAS;AACjE,MAAI,CAAC,YACH,QAAO;AAGT,MAAI,CAAC,UAAU,KACb,WAAU,OAAO,EAAE;AAErB,YAAU,KAAK,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK;AACxC,YAAU,KAAK,OAAO,YAAY;AAClC,YAAU,KAAK,WAAW,YAAY;AACtC,YAAU,KAAK,aAAa,YAAY;AACxC,MAAI,YAAY,cAAc,KAAA,EAC5B,WAAU,KAAK,YAAY,YAAY;EAGzC,MAAM,YAAY,IAAI,UAAU,IAAI,YAAY,WAAW;AAC3D,MAAI,WAAW;AACb,aAAU,KAAK,OAAO,UAAU;AAChC,OAAI,UAAU,UAAU,KAAA,EACtB,WAAU,KAAK,QAAQ,UAAU;;AAIrC,SAAO;GACP;AAGF,OAAM,MAAM,iBAAiB,cAAc,WAAW,SAAS;EAC7D,MAAM,YAAY,UAAU,GAAG,GAAG;AAClC,MAAI,WAAW,MAAM,SAAS,eAAe,CAAC,UAAU,KAAK,WAC3D;EAIF,MAAM,aADY,IAAI,UAAU,IAAI,UAAU,KAAK,WACvB,EAAE,qBAAqB,IAAI,KAAK,SAAS;AACrE,MAAI,CAAC,WACH;AAGF,MAAI,CAAC,aAAa,KAChB,cAAa,OAAO,EAAE;AAExB,eAAa,KAAK,KAAK,GAAG,UAAU,KAAK,WAAW,GAAG,KAAK;AAC5D,eAAa,KAAK,OAAO,WAAW;AACpC,eAAa,KAAK,WAAW,WAAW;AACxC,eAAa,KAAK,aAAa,WAAW;EAE1C,MAAM,WAAW,IAAI,UAAU,IAAI,WAAW,WAAW;AACzD,MAAI,UAAU;AACZ,gBAAa,KAAK,OAAO,SAAS;AAClC,OAAI,SAAS,UAAU,KAAA,EACrB,cAAa,KAAK,QAAQ,SAAS;;GAGvC;AAEF,QAAO"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["// oxlint-disable-next-line no-unused-vars -- triggers VFile DataMap augmentation\nimport type { ProfileContext } from \"@glion/annotate-profile-context\";\nimport type { Component, Field, FieldRepetition, Root } from \"@glion/ast\";\nimport { SKIP, visit } from \"@glion/util-visit\";\nimport type { Plugin } from \"unified\";\nimport type { VFile } from \"vfile\";\n\ndeclare module \"@glion/ast\" {\n interface FieldRepetitionData {\n /** Datatype ID for this field (e.g., \"ST\", \"CWE\", \"MSG\"). */\n datatypeId?: string | undefined;\n /** Datatype kind: \"primitive\" or \"composite\". */\n kind?: string | undefined;\n /** Datatype title (e.g., \"String Data\", \"Coded with Exceptions\"). */\n title?: string | undefined;\n }\n interface ComponentData {\n /** Component identifier (e.g., \"CWE.1\", \"XPN.2\"). */\n id?: string | undefined;\n /** Component name from the parent datatype definition. */\n name?: string | undefined;\n /** Whether this component is required in the parent datatype. */\n required?: boolean | undefined;\n /** Datatype ID for this component (e.g., \"ST\", \"ID\"). */\n datatypeId?: string | undefined;\n /** Maximum allowed length for this component. */\n maxLength?: number | undefined;\n /** Datatype kind: \"primitive\" or \"composite\". */\n kind?: string | undefined;\n /** Datatype title (e.g., \"String Data\"). */\n title?: string | undefined;\n }\n interface SubcomponentData {\n /** Subcomponent identifier (e.g., \"FN.1\", \"HD.2\"). */\n id?: string | undefined;\n /** Subcomponent name from the parent component's datatype definition. */\n name?: string | undefined;\n /** Whether this subcomponent is required. */\n required?: boolean | undefined;\n /** Datatype ID for this subcomponent. */\n datatypeId?: string | undefined;\n /** Datatype kind: \"primitive\" or \"composite\". */\n kind?: string | undefined;\n /** Datatype title. */\n title?: string | undefined;\n }\n}\n\n/**\n * Unified plugin that annotates FieldRepetition, Component, and Subcomponent\n * nodes with datatype profile metadata using a stop-at-primitive cascade.\n *\n * Annotation flows down the AST and stops at the node where the primitive\n * value lives:\n *\n * - Primitive field → stops at FieldRepetition\n * - Composite field with primitive components → stops at Component\n * - Composite field with composite components → stops at Subcomponent\n *\n * `kind: \"primitive\"` = the value is here.\n * `kind: \"composite\"` = look at children.\n * No annotation = the value lives on an ancestor.\n *\n * Requires the fields annotator to run first (preset guarantees ordering).\n */\nexport const hl7v2AnnotateProfileDatatypes: Plugin<[], Root, Root> =\n () => (tree: Root, file: VFile) => {\n const ctx = file.data.profile;\n if (!ctx) {\n return tree;\n }\n\n // Pass 1: field-repetitions — entry point for the cascade\n visit(tree, \"field-repetition\", (rep, ancestors) => {\n const field = ancestors.at(-1) as Field | undefined;\n const datatypeId = (field?.data as Record<string, unknown> | undefined)\n ?.datatype as string | undefined;\n\n const dtDef = datatypeId ? ctx.datatypes.get(datatypeId) : undefined;\n if (!dtDef) {\n return;\n }\n\n if (!rep.data) {\n rep.data = {};\n }\n rep.data.datatypeId = dtDef.id;\n rep.data.kind = dtDef.kind;\n if (dtDef.title !== undefined) {\n rep.data.title = dtDef.title;\n }\n });\n\n // Pass 2: components — only when parent repetition is composite\n visit(tree, \"component\", (component, ancestors, info) => {\n const rep = ancestors.at(-1) as FieldRepetition | undefined;\n if (rep?.data?.kind !== \"composite\" || !rep.data.datatypeId) {\n return SKIP;\n }\n\n const dtDef = ctx.datatypes.get(rep.data.datatypeId);\n if (!dtDef) {\n return SKIP;\n }\n\n const compProfile = dtDef.componentsBySequence.get(info.sequence);\n if (!compProfile) {\n return SKIP;\n }\n\n if (!component.data) {\n component.data = {};\n }\n component.data.id = `${dtDef.id}.${info.sequence}`;\n component.data.name = compProfile.name;\n component.data.required = compProfile.required;\n component.data.datatypeId = compProfile.datatypeId;\n if (compProfile.maxLength !== undefined) {\n component.data.maxLength = compProfile.maxLength;\n }\n\n const compDtDef = ctx.datatypes.get(compProfile.datatypeId);\n if (compDtDef) {\n component.data.kind = compDtDef.kind;\n if (compDtDef.title !== undefined) {\n component.data.title = compDtDef.title;\n }\n }\n\n return SKIP;\n });\n\n // Pass 3: subcomponents — only when parent component is composite\n visit(tree, \"subcomponent\", (subcomponent, ancestors, info) => {\n const component = ancestors.at(-1) as Component | undefined;\n if (component?.data?.kind !== \"composite\" || !component.data.datatypeId) {\n return;\n }\n\n const compDtDef = ctx.datatypes.get(component.data.datatypeId);\n const subProfile = compDtDef?.componentsBySequence.get(info.sequence);\n if (!subProfile) {\n return;\n }\n\n if (!subcomponent.data) {\n subcomponent.data = {};\n }\n subcomponent.data.id = `${component.data.datatypeId}.${info.sequence}`;\n subcomponent.data.name = subProfile.name;\n subcomponent.data.required = subProfile.required;\n subcomponent.data.datatypeId = subProfile.datatypeId;\n\n const subDtDef = ctx.datatypes.get(subProfile.datatypeId);\n if (subDtDef) {\n subcomponent.data.kind = subDtDef.kind;\n if (subDtDef.title !== undefined) {\n subcomponent.data.title = subDtDef.title;\n }\n }\n });\n\n return tree;\n };\n\nexport default hl7v2AnnotateProfileDatatypes;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiEA,MAAa,uCACJ,MAAY,SAAgB;CACjC,MAAM,MAAM,KAAK,KAAK;AACtB,KAAI,CAAC,IACH,QAAO;AAIT,OAAM,MAAM,qBAAqB,KAAK,cAAc;EAElD,MAAM,cADQ,UAAU,GAAG,GACF,EAAE,OACvB;EAEJ,MAAM,QAAQ,aAAa,IAAI,UAAU,IAAI,WAAW,GAAG,KAAA;AAC3D,MAAI,CAAC,MACH;AAGF,MAAI,CAAC,IAAI,KACP,KAAI,OAAO,EAAE;AAEf,MAAI,KAAK,aAAa,MAAM;AAC5B,MAAI,KAAK,OAAO,MAAM;AACtB,MAAI,MAAM,UAAU,KAAA,EAClB,KAAI,KAAK,QAAQ,MAAM;GAEzB;AAGF,OAAM,MAAM,cAAc,WAAW,WAAW,SAAS;EACvD,MAAM,MAAM,UAAU,GAAG,GAAG;AAC5B,MAAI,KAAK,MAAM,SAAS,eAAe,CAAC,IAAI,KAAK,WAC/C,QAAO;EAGT,MAAM,QAAQ,IAAI,UAAU,IAAI,IAAI,KAAK,WAAW;AACpD,MAAI,CAAC,MACH,QAAO;EAGT,MAAM,cAAc,MAAM,qBAAqB,IAAI,KAAK,SAAS;AACjE,MAAI,CAAC,YACH,QAAO;AAGT,MAAI,CAAC,UAAU,KACb,WAAU,OAAO,EAAE;AAErB,YAAU,KAAK,KAAK,GAAG,MAAM,GAAG,GAAG,KAAK;AACxC,YAAU,KAAK,OAAO,YAAY;AAClC,YAAU,KAAK,WAAW,YAAY;AACtC,YAAU,KAAK,aAAa,YAAY;AACxC,MAAI,YAAY,cAAc,KAAA,EAC5B,WAAU,KAAK,YAAY,YAAY;EAGzC,MAAM,YAAY,IAAI,UAAU,IAAI,YAAY,WAAW;AAC3D,MAAI,WAAW;AACb,aAAU,KAAK,OAAO,UAAU;AAChC,OAAI,UAAU,UAAU,KAAA,EACtB,WAAU,KAAK,QAAQ,UAAU;;AAIrC,SAAO;GACP;AAGF,OAAM,MAAM,iBAAiB,cAAc,WAAW,SAAS;EAC7D,MAAM,YAAY,UAAU,GAAG,GAAG;AAClC,MAAI,WAAW,MAAM,SAAS,eAAe,CAAC,UAAU,KAAK,WAC3D;EAIF,MAAM,aADY,IAAI,UAAU,IAAI,UAAU,KAAK,WACvB,EAAE,qBAAqB,IAAI,KAAK,SAAS;AACrE,MAAI,CAAC,WACH;AAGF,MAAI,CAAC,aAAa,KAChB,cAAa,OAAO,EAAE;AAExB,eAAa,KAAK,KAAK,GAAG,UAAU,KAAK,WAAW,GAAG,KAAK;AAC5D,eAAa,KAAK,OAAO,WAAW;AACpC,eAAa,KAAK,WAAW,WAAW;AACxC,eAAa,KAAK,aAAa,WAAW;EAE1C,MAAM,WAAW,IAAI,UAAU,IAAI,WAAW,WAAW;AACzD,MAAI,UAAU;AACZ,gBAAa,KAAK,OAAO,SAAS;AAClC,OAAI,SAAS,UAAU,KAAA,EACrB,cAAa,KAAK,QAAQ,SAAS;;GAGvC;AAEF,QAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glion/annotate-profile-datatypes",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "description": "Unified plugin to annotate HL7v2 field repetition, component, and subcomponent nodes with datatype profile metadata",
5
5
  "keywords": [
6
6
  "annotate",
@@ -40,8 +40,8 @@
40
40
  "dependencies": {
41
41
  "unified": "11.0.5",
42
42
  "vfile": "6.0.3",
43
- "@glion/ast": "0.20.0",
44
- "@glion/util-visit": "0.20.0"
43
+ "@glion/ast": "0.21.0",
44
+ "@glion/util-visit": "0.21.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "25.6.0",
@@ -50,9 +50,9 @@
50
50
  "tsdown": "0.21.10",
51
51
  "typescript": "6.0.3",
52
52
  "vitest": "4.1.11",
53
- "@glion/annotate-profile-context": "0.20.0",
54
- "@glion/annotate-profile-fields": "0.20.0",
55
- "@glion/builder": "0.20.0",
53
+ "@glion/annotate-profile-context": "0.21.0",
54
+ "@glion/annotate-profile-fields": "0.21.0",
55
+ "@glion/builder": "0.21.0",
56
56
  "@glion/check-readme": "0.18.0",
57
57
  "@glion/testing": "0.18.0",
58
58
  "@glion/tsconfig": "0.18.0"