@altopelago/aeon-profiles 0.11.0 → 0.12.1

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 CHANGED
@@ -82,6 +82,15 @@ export interface ProfileCapabilities {
82
82
  references: boolean;
83
83
  clones: boolean;
84
84
  }
85
+
86
+ export type DatatypeClarifierSemantics = 'none' | 'radix_base' | 'separator_chars' | 'encoding_name';
87
+
88
+ export interface DatatypeSemantics {
89
+ literalFamily: string;
90
+ clarifiers: DatatypeClarifierSemantics;
91
+ aliasOf?: string;
92
+ equivalentTo?: string;
93
+ }
85
94
  ```
86
95
 
87
96
  Processor contract:
@@ -100,6 +109,7 @@ export interface Profile {
100
109
  datatypePolicyDefault?: 'reserved_only' | 'allow_custom';
101
110
  collections?: Readonly<Record<string, CollectionSemantics>>;
102
111
  containers?: Readonly<Record<string, ObjectContainerSemantics | NodeContainerSemantics>>;
112
+ datatypeSemantics?: Readonly<Record<string, DatatypeSemantics>>;
103
113
  capabilities?: ProfileCapabilities;
104
114
  compile(input: unknown, ctx: CompileCtx): readonly AssignmentEvent[] | void;
105
115
  processors?: readonly Processor[];
@@ -116,7 +126,7 @@ Built-in processors:
116
126
 
117
127
  Built-in profiles:
118
128
  - `core` — form-only AES output
119
- - `aeon.gp.profile.v1` — AEON GP profile contract, including strict/reserved-only defaults, collection semantics for `list`/`tuple`, container semantics for `object`/`node`, and required processor capabilities
129
+ - `aeon.gp.profile.v1` — AEON GP profile contract, including strict/reserved-only defaults, collection semantics for `list`/`tuple`, container semantics for `object`/`node`, closed datatype clarifier validation for radix, separator, and encoding families, and required processor capabilities
120
130
  - `json` — resolves references for JSON interoperability
121
131
 
122
132
  ## Tests
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACd,aAAa,EAKhB,MAAM,YAAY,CAAC;AAiCpB,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAyG9E"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,cAAc,EACd,aAAa,EAKhB,MAAM,YAAY,CAAC;AAiCpB,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CA6G9E"}
package/dist/compile.js CHANGED
@@ -50,12 +50,16 @@ export function compile(input, options) {
50
50
  };
51
51
  }
52
52
  }
53
+ const maxClarifierValues = options.maxClarifierValues ?? options.maxSeparatorDepth ?? 1;
53
54
  const ctx = {
54
55
  strict,
55
56
  ...(datatypePolicy ? { datatypePolicy } : {}),
56
57
  maxAttributeDepth: options.maxAttributeDepth ?? 1,
57
- maxSeparatorDepth: options.maxSeparatorDepth ?? 1,
58
+ maxClarifierValues,
59
+ maxSeparatorDepth: maxClarifierValues,
58
60
  maxGenericDepth: options.maxGenericDepth ?? 1,
61
+ maxGenericArguments: options.maxGenericArguments ?? 32,
62
+ maxDatatypeComponents: options.maxDatatypeComponents ?? 64,
59
63
  emit(event) {
60
64
  emitted.push(event);
61
65
  },
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aeon-gp-core.d.ts","sourceRoot":"","sources":["../../src/profiles/aeon-gp-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,iBAAiB,EAAE,OAqC/B,CAAC"}
1
+ {"version":3,"file":"aeon-gp-core.d.ts","sourceRoot":"","sources":["../../src/profiles/aeon-gp-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,aAAa,CAAC;AAyCvD,eAAO,MAAM,iBAAiB,EAAE,OA0C/B,CAAC"}
@@ -1,4 +1,41 @@
1
1
  import { compileWithCore } from './core-compile.js';
2
+ import { validateDatatypeSemantics } from './datatype-semantics.js';
3
+ const datatypeSemantics = {
4
+ radix: {
5
+ literalFamily: 'RadixLiteral',
6
+ clarifiers: 'radix_base',
7
+ },
8
+ decimal: {
9
+ literalFamily: 'RadixLiteral',
10
+ clarifiers: 'none',
11
+ equivalentTo: 'radix[10]',
12
+ },
13
+ sep: {
14
+ literalFamily: 'SeparatorLiteral',
15
+ clarifiers: 'separator_chars',
16
+ },
17
+ separator: {
18
+ literalFamily: 'SeparatorLiteral',
19
+ clarifiers: 'separator_chars',
20
+ aliasOf: 'sep',
21
+ },
22
+ kadot: {
23
+ literalFamily: 'SeparatorLiteral',
24
+ clarifiers: 'none',
25
+ },
26
+ encoding: {
27
+ literalFamily: 'EncodingLiteral',
28
+ clarifiers: 'encoding_name',
29
+ },
30
+ inline: {
31
+ literalFamily: 'EncodingLiteral',
32
+ clarifiers: 'encoding_name',
33
+ },
34
+ embed: {
35
+ literalFamily: 'EncodingLiteral',
36
+ clarifiers: 'encoding_name',
37
+ },
38
+ };
2
39
  export const aeonGpCoreProfile = {
3
40
  id: 'aeon.gp.profile.v1',
4
41
  version: '1',
@@ -31,10 +68,15 @@ export const aeonGpCoreProfile = {
31
68
  mixedContent: true,
32
69
  },
33
70
  },
71
+ datatypeSemantics,
34
72
  capabilities: {
35
73
  references: true,
36
74
  clones: true,
37
75
  },
38
- compile: (input, ctx) => compileWithCore(input, ctx),
76
+ compile: (input, ctx) => {
77
+ const aes = compileWithCore(input, ctx);
78
+ validateDatatypeSemantics(aes, datatypeSemantics, ctx);
79
+ return aes;
80
+ },
39
81
  };
40
82
  //# sourceMappingURL=aeon-gp-core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aeon-gp-core.js","sourceRoot":"","sources":["../../src/profiles/aeon-gp-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACtC,EAAE,EAAE,oBAAoB;IACxB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,QAAQ;IACrB,qBAAqB,EAAE,eAAe;IACtC,WAAW,EAAE;QACT,IAAI,EAAE;YACF,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;SACrB;QACD,KAAK,EAAE;YACH,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI;SACpB;KACJ;IACD,UAAU,EAAE;QACR,MAAM,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;SACnB;QACD,IAAI,EAAE;YACF,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,YAAY,EAAE;QACV,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACf;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAe,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC;CACnE,CAAC"}
1
+ {"version":3,"file":"aeon-gp-core.js","sourceRoot":"","sources":["../../src/profiles/aeon-gp-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,iBAAiB,GAAG;IACtB,KAAK,EAAE;QACH,aAAa,EAAE,cAAc;QAC7B,UAAU,EAAE,YAAY;KAC3B;IACD,OAAO,EAAE;QACL,aAAa,EAAE,cAAc;QAC7B,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,WAAW;KAC5B;IACD,GAAG,EAAE;QACD,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,iBAAiB;KAChC;IACD,SAAS,EAAE;QACP,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,KAAK;KACjB;IACD,KAAK,EAAE;QACH,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,MAAM;KACrB;IACD,QAAQ,EAAE;QACN,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,eAAe;KAC9B;IACD,MAAM,EAAE;QACJ,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,eAAe;KAC9B;IACD,KAAK,EAAE;QACH,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,eAAe;KAC9B;CACK,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACtC,EAAE,EAAE,oBAAoB;IACxB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,QAAQ;IACrB,qBAAqB,EAAE,eAAe;IACtC,WAAW,EAAE;QACT,IAAI,EAAE;YACF,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,KAAK;SACrB;QACD,KAAK,EAAE;YACH,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,IAAI;SACpB;KACJ;IACD,UAAU,EAAE;QACR,MAAM,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;SACnB;QACD,IAAI,EAAE;YACF,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,iBAAiB;IACjB,YAAY,EAAE;QACV,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACf;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAe,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,yBAAyB,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACvD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-compile.d.ts","sourceRoot":"","sources":["../../src/profiles/core-compile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AA8B1D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CA4B3F"}
1
+ {"version":3,"file":"core-compile.d.ts","sourceRoot":"","sources":["../../src/profiles/core-compile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AA8B1D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CA8B3F"}
@@ -28,8 +28,10 @@ export function compileWithCore(input, ctx) {
28
28
  recovery: !ctx.strict,
29
29
  ...(ctx.datatypePolicy ? { datatypePolicy: ctx.datatypePolicy } : {}),
30
30
  maxAttributeDepth: ctx.maxAttributeDepth,
31
- maxSeparatorDepth: ctx.maxSeparatorDepth,
31
+ maxClarifierValues: ctx.maxClarifierValues,
32
32
  maxGenericDepth: ctx.maxGenericDepth,
33
+ maxGenericArguments: ctx.maxGenericArguments,
34
+ maxDatatypeComponents: ctx.maxDatatypeComponents,
33
35
  });
34
36
  if (result.errors.length > 0) {
35
37
  for (const err of result.errors) {
@@ -1 +1 @@
1
- {"version":3,"file":"core-compile.js","sourceRoot":"","sources":["../../src/profiles/core-compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAoC,MAAM,uBAAuB,CAAC;AAKjG,SAAS,iBAAiB,CAAC,KAAgB;IACvC,MAAM,QAAQ,GAAG,KAOhB,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;IAEzE,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB;IAC7C,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,GAAe;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC;YACN,OAAO,EAAE,0CAA0C;YACnD,IAAI,EAAE,eAAe;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE;QAC9B,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM;QACrB,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,eAAe,EAAE,GAAG,CAAC,eAAe;KACvC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"core-compile.js","sourceRoot":"","sources":["../../src/profiles/core-compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAoC,MAAM,uBAAuB,CAAC;AAKjG,SAAS,iBAAiB,CAAC,KAAgB;IACvC,MAAM,QAAQ,GAAG,KAOhB,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;IAEzE,OAAO;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoB;IAC7C,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,GAAe;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,KAAK,CAAC;YACN,OAAO,EAAE,0CAA0C;YACnD,IAAI,EAAE,eAAe;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE;QAC9B,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM;QACrB,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;QAC5C,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;KACnD,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AssignmentEvent } from '@altopelago/aeon-aes';
2
+ import type { CompileCtx, DatatypeSemantics } from '../types.js';
3
+ export declare function validateDatatypeSemantics(aes: readonly AssignmentEvent[], semantics: Readonly<Record<string, DatatypeSemantics>>, ctx: Pick<CompileCtx, 'error'>): void;
4
+ //# sourceMappingURL=datatype-semantics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatype-semantics.d.ts","sourceRoot":"","sources":["../../src/profiles/datatype-semantics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQjE,wBAAgB,yBAAyB,CACrC,GAAG,EAAE,SAAS,eAAe,EAAE,EAC/B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,EACtD,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAC/B,IAAI,CAON"}
@@ -0,0 +1,183 @@
1
+ export function validateDatatypeSemantics(aes, semantics, ctx) {
2
+ for (const event of aes) {
3
+ if (event.datatype === undefined)
4
+ continue;
5
+ const parsed = parseDatatype(event.datatype);
6
+ if (!parsed)
7
+ continue;
8
+ validateParsedDatatype(parsed, semantics, ctx, event.normalizedPath, event.value.type);
9
+ }
10
+ }
11
+ function validateParsedDatatype(datatype, semantics, ctx, path, literalFamily) {
12
+ validateOwnClarifiers(datatype, semantics, ctx, path, literalFamily);
13
+ for (const arg of datatype.args) {
14
+ validateParsedDatatype(arg, semantics, ctx, path);
15
+ }
16
+ }
17
+ function validateOwnClarifiers(datatype, semantics, ctx, path, literalFamily) {
18
+ if (datatype.clarifiers.length === 0)
19
+ return;
20
+ const rule = semantics[datatype.name];
21
+ if (!rule && (literalFamily === 'SeparatorLiteral' || literalFamily === 'RadixLiteral')) {
22
+ return;
23
+ }
24
+ if (!rule || rule.clarifiers === 'none') {
25
+ ctx.error({
26
+ code: 'PROFILE_DATATYPE_CLARIFIER_NOT_ALLOWED',
27
+ message: `Profile does not allow clarifiers on datatype ':${datatype.name}'`,
28
+ ...(path !== undefined ? { path } : {}),
29
+ });
30
+ return;
31
+ }
32
+ if (rule.clarifiers === 'radix_base') {
33
+ const [base] = datatype.clarifiers;
34
+ if (datatype.clarifiers.length !== 1 ||
35
+ typeof base !== 'number' ||
36
+ !Number.isInteger(base) ||
37
+ base < 2 ||
38
+ base > 64) {
39
+ ctx.error({
40
+ code: 'PROFILE_DATATYPE_CLARIFIER_INVALID',
41
+ message: `Profile datatype ':${datatype.name}' expects exactly one integral radix-base clarifier from 2 to 64`,
42
+ ...(path !== undefined ? { path } : {}),
43
+ });
44
+ }
45
+ return;
46
+ }
47
+ if (rule.clarifiers === 'separator_chars') {
48
+ if (!datatype.clarifiers.every((value) => typeof value === 'string')) {
49
+ ctx.error({
50
+ code: 'PROFILE_DATATYPE_CLARIFIER_INVALID',
51
+ message: `Profile datatype ':${datatype.name}' expects string separator-character clarifiers`,
52
+ ...(path !== undefined ? { path } : {}),
53
+ });
54
+ }
55
+ return;
56
+ }
57
+ if (rule.clarifiers === 'encoding_name') {
58
+ const [encodingName] = datatype.clarifiers;
59
+ if (datatype.clarifiers.length !== 1 || typeof encodingName !== 'string') {
60
+ ctx.error({
61
+ code: 'PROFILE_DATATYPE_CLARIFIER_INVALID',
62
+ message: `Profile datatype ':${datatype.name}' expects exactly one string encoding-name clarifier`,
63
+ ...(path !== undefined ? { path } : {}),
64
+ });
65
+ }
66
+ }
67
+ }
68
+ function parseDatatype(source) {
69
+ const parser = new DatatypeSurfaceParser(source);
70
+ const parsed = parser.parseType();
71
+ parser.skipWhitespace();
72
+ return parsed && parser.isDone() ? parsed : null;
73
+ }
74
+ class DatatypeSurfaceParser {
75
+ source;
76
+ pos = 0;
77
+ constructor(source) {
78
+ this.source = source;
79
+ }
80
+ parseType() {
81
+ this.skipWhitespace();
82
+ const name = this.parseName();
83
+ if (!name)
84
+ return null;
85
+ const args = [];
86
+ this.skipWhitespace();
87
+ if (this.peek() === '<') {
88
+ this.pos++;
89
+ while (true) {
90
+ this.skipWhitespace();
91
+ if (this.peek() === '>')
92
+ return null;
93
+ if (isNumberStart(this.peek())) {
94
+ this.parseGenericNumber();
95
+ }
96
+ else {
97
+ const arg = this.parseType();
98
+ if (!arg)
99
+ return null;
100
+ args.push(arg);
101
+ }
102
+ this.skipWhitespace();
103
+ if (this.peek() === '>') {
104
+ this.pos++;
105
+ break;
106
+ }
107
+ if (this.peek() !== ',')
108
+ return null;
109
+ this.pos++;
110
+ }
111
+ }
112
+ this.skipWhitespace();
113
+ const clarifiers = this.peek() === '[' ? this.parseClarifiers() : [];
114
+ if (!clarifiers)
115
+ return null;
116
+ return { name, args, clarifiers };
117
+ }
118
+ skipWhitespace() {
119
+ while (/\s/.test(this.peek()))
120
+ this.pos++;
121
+ }
122
+ isDone() {
123
+ return this.pos >= this.source.length;
124
+ }
125
+ parseName() {
126
+ const match = /^[A-Za-z_][A-Za-z0-9_-]*/.exec(this.source.slice(this.pos));
127
+ if (!match)
128
+ return null;
129
+ this.pos += match[0].length;
130
+ return match[0];
131
+ }
132
+ parseGenericNumber() {
133
+ const match = /^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?/.exec(this.source.slice(this.pos));
134
+ if (match) {
135
+ this.pos += match[0].length;
136
+ }
137
+ }
138
+ parseClarifiers() {
139
+ const start = this.pos;
140
+ this.pos++;
141
+ let quote = null;
142
+ let escaped = false;
143
+ while (this.pos < this.source.length) {
144
+ const ch = this.source[this.pos];
145
+ if (quote) {
146
+ if (escaped) {
147
+ escaped = false;
148
+ }
149
+ else if (ch === '\\') {
150
+ escaped = true;
151
+ }
152
+ else if (ch === quote) {
153
+ quote = null;
154
+ }
155
+ this.pos++;
156
+ continue;
157
+ }
158
+ if (ch === '"') {
159
+ quote = ch;
160
+ this.pos++;
161
+ continue;
162
+ }
163
+ if (ch === ']') {
164
+ this.pos++;
165
+ try {
166
+ return JSON.parse(this.source.slice(start, this.pos));
167
+ }
168
+ catch {
169
+ return null;
170
+ }
171
+ }
172
+ this.pos++;
173
+ }
174
+ return null;
175
+ }
176
+ peek() {
177
+ return this.source[this.pos] ?? '';
178
+ }
179
+ }
180
+ function isNumberStart(value) {
181
+ return value === '+' || value === '-' || value === '.' || /\d/.test(value);
182
+ }
183
+ //# sourceMappingURL=datatype-semantics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatype-semantics.js","sourceRoot":"","sources":["../../src/profiles/datatype-semantics.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -25,15 +25,23 @@ export interface CompileOptions {
25
25
  readonly datatypePolicy?: 'reserved_only' | 'allow_custom';
26
26
  readonly maxInputBytes?: number;
27
27
  readonly maxAttributeDepth?: number;
28
+ readonly maxClarifierValues?: number;
29
+ /** @deprecated Use maxClarifierValues. */
28
30
  readonly maxSeparatorDepth?: number;
29
31
  readonly maxGenericDepth?: number;
32
+ readonly maxGenericArguments?: number;
33
+ readonly maxDatatypeComponents?: number;
30
34
  }
31
35
  export interface CompileCtx {
32
36
  readonly strict: boolean;
33
37
  readonly datatypePolicy?: 'reserved_only' | 'allow_custom';
34
38
  readonly maxAttributeDepth: number;
39
+ readonly maxClarifierValues: number;
40
+ /** @deprecated Use maxClarifierValues. */
35
41
  readonly maxSeparatorDepth: number;
36
42
  readonly maxGenericDepth: number;
43
+ readonly maxGenericArguments: number;
44
+ readonly maxDatatypeComponents: number;
37
45
  emit(event: AssignmentEvent): void;
38
46
  warn(diag: Omit<Diagnostic, 'level'>): void;
39
47
  error(diag: Omit<Diagnostic, 'level'>): void;
@@ -70,6 +78,13 @@ export interface ProfileCapabilities {
70
78
  readonly references: boolean;
71
79
  readonly clones: boolean;
72
80
  }
81
+ export type DatatypeClarifierSemantics = 'none' | 'radix_base' | 'separator_chars' | 'encoding_name';
82
+ export interface DatatypeSemantics {
83
+ readonly literalFamily: string;
84
+ readonly clarifiers: DatatypeClarifierSemantics;
85
+ readonly aliasOf?: string;
86
+ readonly equivalentTo?: string;
87
+ }
73
88
  export interface Profile {
74
89
  readonly id: string;
75
90
  readonly version?: string;
@@ -77,6 +92,7 @@ export interface Profile {
77
92
  readonly datatypePolicyDefault?: 'reserved_only' | 'allow_custom';
78
93
  readonly collections?: Readonly<Record<string, CollectionSemantics>>;
79
94
  readonly containers?: Readonly<Record<string, ContainerSemantics>>;
95
+ readonly datatypeSemantics?: Readonly<Record<string, DatatypeSemantics>>;
80
96
  readonly capabilities?: ProfileCapabilities;
81
97
  compile(input: unknown, ctx: CompileCtx): readonly AssignmentEvent[] | void;
82
98
  readonly processors?: readonly Processor[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@altopelago/aeon-profiles",
3
- "version": "0.11.0",
3
+ "version": "0.12.1",
4
4
  "description": "Built-in AEON finalization profiles and profile helpers.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -47,9 +47,9 @@
47
47
  "access": "public"
48
48
  },
49
49
  "dependencies": {
50
- "@altopelago/aeon-aes": "0.11.0",
51
- "@altopelago/aeon-lexer": "0.11.0",
52
- "@altopelago/aeon-core": "0.11.0"
50
+ "@altopelago/aeon-core": "0.12.1",
51
+ "@altopelago/aeon-aes": "0.12.1",
52
+ "@altopelago/aeon-lexer": "0.12.1"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "tsc -p tsconfig.json",