@glion/builder 0.21.0 → 0.22.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 +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { Component, Field, FieldRepetition, Group, Root, RootContent, Segment } from "@glion/ast";
|
|
2
2
|
export declare function m(...children: RootContent[]): Root;
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* A group of `children`. A string `group` is both the group's ID and its name.
|
|
5
|
+
*/
|
|
6
|
+
export declare function g(group: string | {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}, ...children: (Segment | Group)[]): Group;
|
|
4
10
|
export declare function s(name: string, ...fields: Field[]): Segment;
|
|
5
11
|
type FieldValue = FieldRepetition | Component | string;
|
|
6
12
|
type Flattenable<T> = T | T[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,eAAe,EACf,KAAK,EACL,IAAI,EACJ,WAAW,EACX,OAAO,EACR,MAAM,YAAY,CAAC;AAGpB,wBAAgB,CAAC,CAAC,GAAG,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAElD;AAED,wBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,KAAK,EACL,eAAe,EACf,KAAK,EACL,IAAI,EACJ,WAAW,EACX,OAAO,EACR,MAAM,YAAY,CAAC;AAGpB,wBAAgB,CAAC,CAAC,GAAG,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,CAAC,CACf,KAAK,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,GAAG,QAAQ,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,GAC/B,KAAK,CAIP;AAKD,wBAAgB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAI3D;AAED,KAAK,UAAU,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC;AACvD,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAoB9B,kBAAkB;AAClB,wBAAgB,CAAC,IAAI,KAAK,CAAC;AAC3B,wBAAgB,CAAC,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;AAuC/D,wBAAgB,CAAC,IAAI,eAAe,CAAC;AACrC,wBAAgB,CAAC,CACf,GAAG,UAAU,EAAE,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,GAC/C,eAAe,CAAC;AAmBnB,wBAAgB,CAAC,IAAI,SAAS,CAAC;AAC/B,wBAAgB,CAAC,CAAC,GAAG,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,10 +3,18 @@ import { u } from "unist-builder";
|
|
|
3
3
|
function m(...children) {
|
|
4
4
|
return u("root", children);
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A group of `children`. A string `group` is both the group's ID and its name.
|
|
8
|
+
*/
|
|
9
|
+
function g(group, ...children) {
|
|
10
|
+
const { id, name } = typeof group === "string" ? {
|
|
11
|
+
id: group,
|
|
12
|
+
name: group
|
|
13
|
+
} : group;
|
|
14
|
+
return u("group", {
|
|
15
|
+
id,
|
|
16
|
+
name
|
|
17
|
+
}, children);
|
|
10
18
|
}
|
|
11
19
|
function s(name, ...fields) {
|
|
12
20
|
const segment = u("segment", fields);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["// oxlint-disable typescript/unified-signatures\nimport type {\n Component,\n Field,\n FieldRepetition,\n Group,\n Root,\n RootContent,\n Segment,\n} from \"@glion/ast\";\nimport { u } from \"unist-builder\";\n\nexport function m(...children: RootContent[]): Root {\n return u(\"root\", children);\n}\n\nexport function g(name: string
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["// oxlint-disable typescript/unified-signatures\nimport type {\n Component,\n Field,\n FieldRepetition,\n Group,\n Root,\n RootContent,\n Segment,\n} from \"@glion/ast\";\nimport { u } from \"unist-builder\";\n\nexport function m(...children: RootContent[]): Root {\n return u(\"root\", children);\n}\n\n/**\n * A group of `children`. A string `group` is both the group's ID and its name.\n */\nexport function g(\n group: string | { id: string; name: string },\n ...children: (Segment | Group)[]\n): Group {\n const { id, name } =\n typeof group === \"string\" ? { id: group, name: group } : group;\n return u(\"group\", { id, name }, children);\n}\n\n// TODO: Add support for string[]\n// export function s(name: string, ...fields: string[]): Segment;\n// export function s(name: string, ...fields: string[] | Field[]): Segment {\nexport function s(name: string, ...fields: Field[]): Segment {\n const segment = u(\"segment\", fields) as Segment;\n segment.name = name;\n return segment;\n}\n\ntype FieldValue = FieldRepetition | Component | string;\ntype Flattenable<T> = T | T[];\n\nfunction flatten<T>(values: Flattenable<T>[]): T[] {\n return values.flatMap((value) => (Array.isArray(value) ? value : [value]));\n}\n\nfunction isFieldRepetition(value: FieldValue): value is FieldRepetition {\n return (\n typeof value === \"object\" &&\n value !== null &&\n value.type === \"field-repetition\"\n );\n}\n\nfunction isComponent(value: FieldValue): value is Component {\n return (\n typeof value === \"object\" && value !== null && value.type === \"component\"\n );\n}\n\n/** Empty field */\nexport function f(): Field;\nexport function f(...values: Flattenable<FieldValue>[]): Field;\nexport function f(...values: Flattenable<FieldValue>[]): Field {\n if (values.length === 0) {\n return u(\"field\", []);\n }\n\n const flat = flatten<FieldValue>(values);\n if (flat.length === 0) {\n return u(\"field\", []);\n }\n\n const repetitions: FieldRepetition[] = [];\n let pendingComponents: (Component | string)[] = [];\n\n const flushPending = () => {\n if (pendingComponents.length === 0) {\n return;\n }\n repetitions.push(r(...pendingComponents));\n pendingComponents = [];\n };\n\n for (const value of flat) {\n if (isFieldRepetition(value)) {\n flushPending();\n repetitions.push(value);\n continue;\n }\n\n if (isComponent(value) || typeof value === \"string\") {\n pendingComponents.push(value);\n }\n }\n\n flushPending();\n\n return u(\"field\", repetitions);\n}\n\nexport function r(): FieldRepetition;\nexport function r(\n ...components: Flattenable<Component | string>[]\n): FieldRepetition;\nexport function r(\n ...components: Flattenable<Component | string>[]\n): FieldRepetition {\n if (components.length === 0) {\n return u(\"field-repetition\", []);\n }\n\n const flat = flatten<Component | string>(components);\n if (flat.length === 0) {\n return u(\"field-repetition\", []);\n }\n\n return u(\n \"field-repetition\",\n flat.map((value) => (typeof value === \"string\" ? c(value) : value))\n );\n}\n\nexport function c(): Component;\nexport function c(...values: Flattenable<string>[]): Component;\nexport function c(...values: Flattenable<string>[]): Component {\n if (values.length === 0) {\n return u(\"component\", []);\n }\n\n const flat = flatten<string>(values);\n if (flat.length === 0) {\n return u(\"component\", []);\n }\n\n return u(\n \"component\",\n flat.map((subcomponent) => u(\"subcomponent\", subcomponent))\n );\n}\n"],"mappings":";;AAYA,SAAgB,EAAE,GAAG,UAA+B;AAClD,QAAO,EAAE,QAAQ,SAAS;;;;;AAM5B,SAAgB,EACd,OACA,GAAG,UACI;CACP,MAAM,EAAE,IAAI,SACV,OAAO,UAAU,WAAW;EAAE,IAAI;EAAO,MAAM;EAAO,GAAG;AAC3D,QAAO,EAAE,SAAS;EAAE;EAAI;EAAM,EAAE,SAAS;;AAM3C,SAAgB,EAAE,MAAc,GAAG,QAA0B;CAC3D,MAAM,UAAU,EAAE,WAAW,OAAO;AACpC,SAAQ,OAAO;AACf,QAAO;;AAMT,SAAS,QAAW,QAA+B;AACjD,QAAO,OAAO,SAAS,UAAW,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAE;;AAG5E,SAAS,kBAAkB,OAA6C;AACtE,QACE,OAAO,UAAU,YACjB,UAAU,QACV,MAAM,SAAS;;AAInB,SAAS,YAAY,OAAuC;AAC1D,QACE,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,SAAS;;AAOlE,SAAgB,EAAE,GAAG,QAA0C;AAC7D,KAAI,OAAO,WAAW,EACpB,QAAO,EAAE,SAAS,EAAE,CAAC;CAGvB,MAAM,OAAO,QAAoB,OAAO;AACxC,KAAI,KAAK,WAAW,EAClB,QAAO,EAAE,SAAS,EAAE,CAAC;CAGvB,MAAM,cAAiC,EAAE;CACzC,IAAI,oBAA4C,EAAE;CAElD,MAAM,qBAAqB;AACzB,MAAI,kBAAkB,WAAW,EAC/B;AAEF,cAAY,KAAK,EAAE,GAAG,kBAAkB,CAAC;AACzC,sBAAoB,EAAE;;AAGxB,MAAK,MAAM,SAAS,MAAM;AACxB,MAAI,kBAAkB,MAAM,EAAE;AAC5B,iBAAc;AACd,eAAY,KAAK,MAAM;AACvB;;AAGF,MAAI,YAAY,MAAM,IAAI,OAAO,UAAU,SACzC,mBAAkB,KAAK,MAAM;;AAIjC,eAAc;AAEd,QAAO,EAAE,SAAS,YAAY;;AAOhC,SAAgB,EACd,GAAG,YACc;AACjB,KAAI,WAAW,WAAW,EACxB,QAAO,EAAE,oBAAoB,EAAE,CAAC;CAGlC,MAAM,OAAO,QAA4B,WAAW;AACpD,KAAI,KAAK,WAAW,EAClB,QAAO,EAAE,oBAAoB,EAAE,CAAC;AAGlC,QAAO,EACL,oBACA,KAAK,KAAK,UAAW,OAAO,UAAU,WAAW,EAAE,MAAM,GAAG,MAAO,CACpE;;AAKH,SAAgB,EAAE,GAAG,QAA0C;AAC7D,KAAI,OAAO,WAAW,EACpB,QAAO,EAAE,aAAa,EAAE,CAAC;CAG3B,MAAM,OAAO,QAAgB,OAAO;AACpC,KAAI,KAAK,WAAW,EAClB,QAAO,EAAE,aAAa,EAAE,CAAC;AAG3B,QAAO,EACL,aACA,KAAK,KAAK,iBAAiB,EAAE,gBAAgB,aAAa,CAAC,CAC5D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glion/builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Build HL7v2 AST nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"health",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"unist-builder": "4.0.0",
|
|
37
|
-
"@glion/ast": "0.
|
|
37
|
+
"@glion/ast": "0.22.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "25.6.0",
|