@altopelago/aeon-profiles 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md 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":"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;AAsB1D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,eAAe,EAAE,CAuB3F"}
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"}
@@ -9,6 +9,13 @@ function errorToDiagnostic(error) {
9
9
  ...(path !== undefined ? { path } : {}),
10
10
  };
11
11
  }
12
+ function warningToDiagnostic(warning) {
13
+ return {
14
+ message: warning.message,
15
+ code: warning.code,
16
+ ...(warning.path !== undefined ? { path: warning.path } : {}),
17
+ };
18
+ }
12
19
  export function compileWithCore(input, ctx) {
13
20
  if (typeof input !== 'string') {
14
21
  ctx.error({
@@ -29,6 +36,11 @@ export function compileWithCore(input, ctx) {
29
36
  ctx.error(errorToDiagnostic(err));
30
37
  }
31
38
  }
39
+ if (result.warnings.length > 0) {
40
+ for (const warning of result.warnings) {
41
+ ctx.warn(warningToDiagnostic(warning));
42
+ }
43
+ }
32
44
  return result.events;
33
45
  }
34
46
  //# sourceMappingURL=core-compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-compile.js","sourceRoot":"","sources":["../../src/profiles/core-compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAkB,MAAM,uBAAuB,CAAC;AAK/E,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,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;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,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"}
@@ -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,180 @@
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);
9
+ }
10
+ }
11
+ function validateParsedDatatype(datatype, semantics, ctx, path) {
12
+ validateOwnClarifiers(datatype, semantics, ctx, path);
13
+ for (const arg of datatype.args) {
14
+ validateParsedDatatype(arg, semantics, ctx, path);
15
+ }
16
+ }
17
+ function validateOwnClarifiers(datatype, semantics, ctx, path) {
18
+ if (datatype.clarifiers.length === 0)
19
+ return;
20
+ const rule = semantics[datatype.name];
21
+ if (!rule || rule.clarifiers === 'none') {
22
+ ctx.error({
23
+ code: 'PROFILE_DATATYPE_CLARIFIER_NOT_ALLOWED',
24
+ message: `Profile does not allow clarifiers on datatype ':${datatype.name}'`,
25
+ ...(path !== undefined ? { path } : {}),
26
+ });
27
+ return;
28
+ }
29
+ if (rule.clarifiers === 'radix_base') {
30
+ const [base] = datatype.clarifiers;
31
+ if (datatype.clarifiers.length !== 1 ||
32
+ typeof base !== 'number' ||
33
+ !Number.isInteger(base) ||
34
+ base < 2 ||
35
+ base > 64) {
36
+ ctx.error({
37
+ code: 'PROFILE_DATATYPE_CLARIFIER_INVALID',
38
+ message: `Profile datatype ':${datatype.name}' expects exactly one integral radix-base clarifier from 2 to 64`,
39
+ ...(path !== undefined ? { path } : {}),
40
+ });
41
+ }
42
+ return;
43
+ }
44
+ if (rule.clarifiers === 'separator_chars') {
45
+ if (!datatype.clarifiers.every((value) => typeof value === 'string')) {
46
+ ctx.error({
47
+ code: 'PROFILE_DATATYPE_CLARIFIER_INVALID',
48
+ message: `Profile datatype ':${datatype.name}' expects string separator-character clarifiers`,
49
+ ...(path !== undefined ? { path } : {}),
50
+ });
51
+ }
52
+ return;
53
+ }
54
+ if (rule.clarifiers === 'encoding_name') {
55
+ const [encodingName] = datatype.clarifiers;
56
+ if (datatype.clarifiers.length !== 1 || typeof encodingName !== 'string') {
57
+ ctx.error({
58
+ code: 'PROFILE_DATATYPE_CLARIFIER_INVALID',
59
+ message: `Profile datatype ':${datatype.name}' expects exactly one string encoding-name clarifier`,
60
+ ...(path !== undefined ? { path } : {}),
61
+ });
62
+ }
63
+ }
64
+ }
65
+ function parseDatatype(source) {
66
+ const parser = new DatatypeSurfaceParser(source);
67
+ const parsed = parser.parseType();
68
+ parser.skipWhitespace();
69
+ return parsed && parser.isDone() ? parsed : null;
70
+ }
71
+ class DatatypeSurfaceParser {
72
+ source;
73
+ pos = 0;
74
+ constructor(source) {
75
+ this.source = source;
76
+ }
77
+ parseType() {
78
+ this.skipWhitespace();
79
+ const name = this.parseName();
80
+ if (!name)
81
+ return null;
82
+ const args = [];
83
+ this.skipWhitespace();
84
+ if (this.peek() === '<') {
85
+ this.pos++;
86
+ while (true) {
87
+ this.skipWhitespace();
88
+ if (this.peek() === '>')
89
+ return null;
90
+ if (isNumberStart(this.peek())) {
91
+ this.parseGenericNumber();
92
+ }
93
+ else {
94
+ const arg = this.parseType();
95
+ if (!arg)
96
+ return null;
97
+ args.push(arg);
98
+ }
99
+ this.skipWhitespace();
100
+ if (this.peek() === '>') {
101
+ this.pos++;
102
+ break;
103
+ }
104
+ if (this.peek() !== ',')
105
+ return null;
106
+ this.pos++;
107
+ }
108
+ }
109
+ this.skipWhitespace();
110
+ const clarifiers = this.peek() === '[' ? this.parseClarifiers() : [];
111
+ if (!clarifiers)
112
+ return null;
113
+ return { name, args, clarifiers };
114
+ }
115
+ skipWhitespace() {
116
+ while (/\s/.test(this.peek()))
117
+ this.pos++;
118
+ }
119
+ isDone() {
120
+ return this.pos >= this.source.length;
121
+ }
122
+ parseName() {
123
+ const match = /^[A-Za-z_][A-Za-z0-9_-]*/.exec(this.source.slice(this.pos));
124
+ if (!match)
125
+ return null;
126
+ this.pos += match[0].length;
127
+ return match[0];
128
+ }
129
+ parseGenericNumber() {
130
+ const match = /^[+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?/.exec(this.source.slice(this.pos));
131
+ if (match) {
132
+ this.pos += match[0].length;
133
+ }
134
+ }
135
+ parseClarifiers() {
136
+ const start = this.pos;
137
+ this.pos++;
138
+ let quote = null;
139
+ let escaped = false;
140
+ while (this.pos < this.source.length) {
141
+ const ch = this.source[this.pos];
142
+ if (quote) {
143
+ if (escaped) {
144
+ escaped = false;
145
+ }
146
+ else if (ch === '\\') {
147
+ escaped = true;
148
+ }
149
+ else if (ch === quote) {
150
+ quote = null;
151
+ }
152
+ this.pos++;
153
+ continue;
154
+ }
155
+ if (ch === '"') {
156
+ quote = ch;
157
+ this.pos++;
158
+ continue;
159
+ }
160
+ if (ch === ']') {
161
+ this.pos++;
162
+ try {
163
+ return JSON.parse(this.source.slice(start, this.pos));
164
+ }
165
+ catch {
166
+ return null;
167
+ }
168
+ }
169
+ this.pos++;
170
+ }
171
+ return null;
172
+ }
173
+ peek() {
174
+ return this.source[this.pos] ?? '';
175
+ }
176
+ }
177
+ function isNumberStart(value) {
178
+ return value === '+' || value === '-' || value === '.' || /\d/.test(value);
179
+ }
180
+ //# 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
@@ -70,6 +70,13 @@ export interface ProfileCapabilities {
70
70
  readonly references: boolean;
71
71
  readonly clones: boolean;
72
72
  }
73
+ export type DatatypeClarifierSemantics = 'none' | 'radix_base' | 'separator_chars' | 'encoding_name';
74
+ export interface DatatypeSemantics {
75
+ readonly literalFamily: string;
76
+ readonly clarifiers: DatatypeClarifierSemantics;
77
+ readonly aliasOf?: string;
78
+ readonly equivalentTo?: string;
79
+ }
73
80
  export interface Profile {
74
81
  readonly id: string;
75
82
  readonly version?: string;
@@ -77,6 +84,7 @@ export interface Profile {
77
84
  readonly datatypePolicyDefault?: 'reserved_only' | 'allow_custom';
78
85
  readonly collections?: Readonly<Record<string, CollectionSemantics>>;
79
86
  readonly containers?: Readonly<Record<string, ContainerSemantics>>;
87
+ readonly datatypeSemantics?: Readonly<Record<string, DatatypeSemantics>>;
80
88
  readonly capabilities?: ProfileCapabilities;
81
89
  compile(input: unknown, ctx: CompileCtx): readonly AssignmentEvent[] | void;
82
90
  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.10.0",
3
+ "version": "0.12.0",
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-core": "0.10.0",
51
- "@altopelago/aeon-aes": "0.10.0",
52
- "@altopelago/aeon-lexer": "0.10.0"
50
+ "@altopelago/aeon-core": "0.12.0",
51
+ "@altopelago/aeon-lexer": "0.12.0",
52
+ "@altopelago/aeon-aes": "0.12.0"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "tsc -p tsconfig.json",