@hyperscale0/hsx 5.2.0 → 5.4.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +2 -2
  3. package/bin/hsx.ts +0 -2
  4. package/dist/bin/hsx.js +0 -2
  5. package/dist/bin/hsx.js.map +1 -1
  6. package/dist/src/ast.d.ts +0 -1
  7. package/dist/src/ast.d.ts.map +1 -1
  8. package/dist/src/ast.js +0 -11
  9. package/dist/src/ast.js.map +1 -1
  10. package/dist/src/cli.d.ts +0 -2
  11. package/dist/src/cli.d.ts.map +1 -1
  12. package/dist/src/cli.js +10 -5
  13. package/dist/src/cli.js.map +1 -1
  14. package/dist/src/compile.d.ts.map +1 -1
  15. package/dist/src/compile.js +204 -107
  16. package/dist/src/compile.js.map +1 -1
  17. package/dist/src/diagnostics.d.ts +14 -0
  18. package/dist/src/diagnostics.d.ts.map +1 -0
  19. package/dist/src/diagnostics.js +20 -0
  20. package/dist/src/diagnostics.js.map +1 -0
  21. package/dist/src/header-source.d.ts +3 -0
  22. package/dist/src/header-source.d.ts.map +1 -0
  23. package/dist/src/header-source.js +41 -0
  24. package/dist/src/header-source.js.map +1 -0
  25. package/dist/src/headers.d.ts.map +1 -1
  26. package/dist/src/headers.js +4 -6
  27. package/dist/src/headers.js.map +1 -1
  28. package/dist/src/keywords.d.ts +8 -2
  29. package/dist/src/keywords.d.ts.map +1 -1
  30. package/dist/src/keywords.js +13 -5
  31. package/dist/src/keywords.js.map +1 -1
  32. package/dist/src/lex.d.ts +1 -1
  33. package/dist/src/lex.d.ts.map +1 -1
  34. package/dist/src/lex.js +11 -3
  35. package/dist/src/lex.js.map +1 -1
  36. package/dist/src/parse.d.ts.map +1 -1
  37. package/dist/src/parse.js +22 -5
  38. package/dist/src/parse.js.map +1 -1
  39. package/dist/src/std-bundle.js +12 -12
  40. package/dist/src/std-bundle.js.map +1 -1
  41. package/dist/src/tunables.d.ts.map +1 -1
  42. package/dist/src/tunables.js +2 -1
  43. package/dist/src/tunables.js.map +1 -1
  44. package/dist/src/version.d.ts +1 -2
  45. package/dist/src/version.d.ts.map +1 -1
  46. package/dist/src/version.js +1 -2
  47. package/dist/src/version.js.map +1 -1
  48. package/docs/README.md +54 -7
  49. package/docs/headers.md +1 -1
  50. package/package.json +3 -3
  51. package/src/ast.ts +0 -10
  52. package/src/cli.ts +13 -7
  53. package/src/compile.ts +296 -133
  54. package/src/diagnostics.ts +28 -0
  55. package/src/header-source.ts +54 -0
  56. package/src/headers.ts +4 -6
  57. package/src/keywords.ts +13 -5
  58. package/src/lex.ts +13 -5
  59. package/src/parse.ts +29 -5
  60. package/src/std-bundle.ts +12 -12
  61. package/src/tunables.ts +6 -1
  62. package/src/version.ts +1 -2
  63. package/std/cards.hsx +12 -0
  64. package/std/collections.hsx +11 -0
  65. package/std/escrow.hsx +16 -2
  66. package/std/financing.hsx +36 -5
  67. package/std/insurance.hsx +20 -5
  68. package/std/lending.hsx +14 -0
  69. package/std/marketplace.hsx +14 -0
  70. package/std/money.hsx +13 -0
  71. package/std/reporting.hsx +10 -0
  72. package/std/savings.hsx +28 -11
  73. package/std/travel.hsx +22 -4
  74. package/std/wallet.hsx +9 -0
@@ -0,0 +1,41 @@
1
+ import { parseProgram } from "./parse.js";
2
+ import { CompileFailure, fail } from "./diagnostics.js";
3
+ /** Compilation and editor metadata admit the same named header declarations. */
4
+ export function parseHeader(source, name) {
5
+ const parsed = parseProgram(source);
6
+ if (parsed.diagnostics.length)
7
+ throw new CompileFailure({ ...parsed.diagnostics[0], source: name });
8
+ const program = parsed.program;
9
+ const locate = (value) => {
10
+ if (!value || typeof value !== "object")
11
+ return;
12
+ if ("span" in value)
13
+ Object.assign(value, { source: name });
14
+ for (const child of Object.values(value))
15
+ locate(child);
16
+ };
17
+ locate(program);
18
+ if (!program.header || program.name !== name)
19
+ fail(program, `${name}: expected header ${name}`, `start with header ${name}`);
20
+ const names = new Set();
21
+ for (const decl of program.decls) {
22
+ if (decl.kind !== "instrument")
23
+ continue;
24
+ if (names.has(decl.name))
25
+ fail(decl, `duplicate instrument ${name}.${decl.name}`, "give each instrument a distinct name");
26
+ names.add(decl.name);
27
+ const parameters = new Set();
28
+ for (const parameter of decl.parameters) {
29
+ if (parameters.has(parameter.key))
30
+ fail(parameter, `duplicate parameter ${parameter.key}`, "declare each parameter once");
31
+ parameters.add(parameter.key);
32
+ const type = parameter.value.kind === "default"
33
+ ? parameter.value.type
34
+ : parameter.value;
35
+ if (type.kind === "call" && !["enum", "integer"].includes(type.name))
36
+ fail(type, `unsupported tunable constructor ${type.name}`, "Only enum(choices) and integer(minimum, maximum) are supported tunable constructors. This constructor's restrictions cannot be enforced.");
37
+ }
38
+ }
39
+ return program;
40
+ }
41
+ //# sourceMappingURL=header-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-source.js","sourceRoot":"","sources":["../../src/header-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExD,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IACtD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM;QAC3B,MAAM,IAAI,cAAc,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,KAAc,EAAQ,EAAE;QACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO;QAChD,IAAI,MAAM,IAAI,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,CAAC;IAChB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAC1C,IAAI,CACF,OAAO,EACP,GAAG,IAAI,qBAAqB,IAAI,EAAE,EAClC,qBAAqB,IAAI,EAAE,CAC5B,CAAC;IACJ,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;YAAE,SAAS;QACzC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CACF,IAAI,EACJ,wBAAwB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAC3C,sCAAsC,CACvC,CAAC;QACJ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;gBAC/B,IAAI,CACF,SAAS,EACT,uBAAuB,SAAS,CAAC,GAAG,EAAE,EACtC,6BAA6B,CAC9B,CAAC;YACJ,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,IAAI,GACR,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;gBAChC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;gBACtB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClE,IAAI,CACF,IAAI,EACJ,mCAAmC,IAAI,CAAC,IAAI,EAAE,EAC9C,0IAA0I,CAC3I,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhF,eAAO,MAAM,YAAY,YACvB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,CACH,CAAC;AAEX,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,OAAO,GAAE,eAAwC,EACjD,KAAK,GAAE,SAAS,MAAM,EAAiB;IAGrC,OAAO;IACP,OAAO;;;;;;;;;gBAoGK,cAAc;gBACd,mBAAmB;gBACnB,MAAM;gBAON,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAlGT,MAAM;yBAAW,MAAM;uBAAS,MAAM;;;;EA2J5D"}
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhF,eAAO,MAAM,YAAY,YACvB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,CACH,CAAC;AAEX,uFAAuF;AACvF,wBAAgB,cAAc,CAC5B,OAAO,GAAE,eAAwC,EACjD,KAAK,GAAE,SAAS,MAAM,EAAiB;IAGrC,OAAO;IACP,OAAO;;;;;;;;;gBAkGK,cAAc;gBACd,mBAAmB;gBACnB,MAAM;gBAON,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAlGT,MAAM;yBAAW,MAAM;uBAAS,MAAM;;;;EA2J5D"}
@@ -1,6 +1,6 @@
1
1
  import { bindingDependencies, parameterDiagnostics, } from "./binding-contract.js";
2
2
  import { tunableBounds } from "./tunables.js";
3
- import { parseProgram } from "./parse.js";
3
+ import { parseHeader } from "./header-source.js";
4
4
  import { bundledStandardLibrary } from "./std-library.js";
5
5
  export const HEADER_NAMES = [
6
6
  "money",
@@ -24,9 +24,7 @@ export function headerManifest(library = bundledStandardLibrary, names = HEADER_
24
24
  const source = library.source(name);
25
25
  if (!source)
26
26
  throw new Error(`Missing standard header ${name}`);
27
- const parsed = parseProgram(source);
28
- if (parsed.diagnostics.length)
29
- throw new Error(`${name}: ${parsed.diagnostics[0].message}`);
27
+ const parsed = parseHeader(source, name);
30
28
  const spelling = (expression) => source.slice(expression.span.start, expression.span.end).trim();
31
29
  const actions = (body, prefix = "") => {
32
30
  const result = body.entries
@@ -52,7 +50,7 @@ export function headerManifest(library = bundledStandardLibrary, names = HEADER_
52
50
  };
53
51
  return {
54
52
  name,
55
- objects: parsed.program.decls
53
+ objects: parsed.decls
56
54
  .filter((d) => d.kind === "instrument")
57
55
  .map((decl) => {
58
56
  const tunables = decl.parameters.map((parameter) => {
@@ -154,7 +152,7 @@ export function headerManifest(library = bundledStandardLibrary, names = HEADER_
154
152
  continue;
155
153
  for (const field of subject.entries) {
156
154
  const type = spelling(field.value);
157
- if (type !== "adapter")
155
+ if (field.key !== "adapter")
158
156
  fields.set(field.key, type);
159
157
  }
160
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/headers.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,15 @@ export declare const KEYWORD_HELP: {
23
23
  from: [string];
24
24
  to: [string];
25
25
  in: [string, string];
26
- by: [string];
27
- for: [string];
28
26
  is: [string];
27
+ has: [string];
28
+ family: [string];
29
+ check: [string];
30
+ result: [string];
31
+ maxAge: [string];
32
+ instruction: [string];
33
+ boundary: [string];
34
+ key: [string];
29
35
  unique: [string, string];
30
36
  on: [string];
31
37
  count: [string, string];
@@ -1 +1 @@
1
- {"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../src/keywords.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0HgD,CAAC"}
1
+ {"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../src/keywords.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkIgD,CAAC"}
@@ -7,11 +7,11 @@ export const KEYWORD_HELP = {
7
7
  header: ["Names a reusable library of instruments."],
8
8
  use: ["Makes a header's instruments available to this program."],
9
9
  party: [
10
- "Declares a person or business that can own accounts or act in an agreement.",
10
+ "Declares a person, business or staff party. Staff authority requires a permission role.",
11
11
  "Parties",
12
12
  ],
13
13
  role: ["Names the responsibility a declared party has in this product."],
14
- currency: ["Sets the currency used by the program's money amounts."],
14
+ currency: ["Declares SAR, the currency supported by this compiler."],
15
15
  instrument: [
16
16
  "Defines an agreement's fields, states and permitted actions.",
17
17
  "Instruments",
@@ -35,7 +35,9 @@ export const KEYWORD_HELP = {
35
35
  of: [
36
36
  "Names the owner of an account, or the records included in a count or sum.",
37
37
  ],
38
- when: ["Includes rules only when a parameter selects the stated option."],
38
+ when: [
39
+ "Includes clauses for a selected enum value or a field present on a bound reference.",
40
+ ],
39
41
  constraints: [
40
42
  "Requires parameter values to agree with each other before the program can be used.",
41
43
  ],
@@ -59,9 +61,15 @@ export const KEYWORD_HELP = {
59
61
  "Requires a referenced agreement to be in one of the listed states.",
60
62
  "State requirement",
61
63
  ],
62
- by: ["Names who performs the stated operation."],
63
- for: ["Identifies the subject of the stated rule."],
64
64
  is: ["Selects rules for one named parameter choice."],
65
+ has: ["Selects clauses when a bound reference declares the named field."],
66
+ family: ["Names an instrument family or the family of an evidence check."],
67
+ check: ["Names the provider check whose evidence the action requires."],
68
+ result: ["Names the required outcome of an evidence check."],
69
+ maxAge: ["Limits how old the required evidence may be."],
70
+ instruction: ["Binds evidence to the captured boundary instruction."],
71
+ boundary: ["Dispatches a reserved move through a bound ADL adapter."],
72
+ key: ["Names a move within its action."],
65
73
  unique: [
66
74
  "Rejects a repeated combination of values in the named namespace.",
67
75
  "Unique requirement",
@@ -1 +1 @@
1
- {"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../src/keywords.ts"],"names":[],"mappings":"AAEA,wDAAwD;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE;QACP,mDAAmD;QACnD,kBAAkB;KACnB;IACD,MAAM,EAAE,CAAC,0CAA0C,CAAC;IACpD,GAAG,EAAE,CAAC,yDAAyD,CAAC;IAChE,KAAK,EAAE;QACL,6EAA6E;QAC7E,SAAS;KACV;IACD,IAAI,EAAE,CAAC,gEAAgE,CAAC;IACxE,QAAQ,EAAE,CAAC,wDAAwD,CAAC;IACpE,UAAU,EAAE;QACV,8DAA8D;QAC9D,aAAa;KACd;IACD,MAAM,EAAE,CAAC,qDAAqD,EAAE,QAAQ,CAAC;IACzE,SAAS,EAAE;QACT,+DAA+D;QAC/D,WAAW;KACZ;IACD,MAAM,EAAE;QACN,kEAAkE;QAClE,SAAS;KACV;IACD,MAAM,EAAE;QACN,yDAAyD;QACzD,wBAAwB;KACzB;IACD,IAAI,EAAE,CAAC,sDAAsD,CAAC;IAC9D,EAAE,EAAE,CAAC,0CAA0C,CAAC;IAChD,GAAG,EAAE,CAAC,uDAAuD,EAAE,aAAa,CAAC;IAC7E,EAAE,EAAE;QACF,2EAA2E;KAC5E;IACD,IAAI,EAAE,CAAC,iEAAiE,CAAC;IACzE,WAAW,EAAE;QACX,oFAAoF;KACrF;IACD,QAAQ,EAAE;QACR,sDAAsD;QACtD,cAAc;KACf;IACD,UAAU,EAAE;QACV,qDAAqD;QACrD,YAAY;KACb;IACD,KAAK,EAAE;QACL,gEAAgE;QAChE,OAAO;KACR;IACD,IAAI,EAAE;QACJ,wEAAwE;KACzE;IACD,EAAE,EAAE,CAAC,iEAAiE,CAAC;IACvE,EAAE,EAAE;QACF,oEAAoE;QACpE,mBAAmB;KACpB;IACD,EAAE,EAAE,CAAC,0CAA0C,CAAC;IAChD,GAAG,EAAE,CAAC,4CAA4C,CAAC;IACnD,EAAE,EAAE,CAAC,+CAA+C,CAAC;IACrD,MAAM,EAAE;QACN,kEAAkE;QAClE,oBAAoB;KACrB;IACD,EAAE,EAAE,CAAC,wDAAwD,CAAC;IAC9D,KAAK,EAAE;QACL,6CAA6C;QAC7C,uBAAuB;KACxB;IACD,GAAG,EAAE;QACH,4DAA4D;QAC5D,uBAAuB;KACxB;IACD,KAAK,EAAE;QACL,sDAAsD;QACtD,mBAAmB;KACpB;IACD,OAAO,EAAE,CAAC,wDAAwD,CAAC;IACnE,GAAG,EAAE,CAAC,wDAAwD,CAAC;IAC/D,QAAQ,EAAE,CAAC,sDAAsD,CAAC;IAClE,QAAQ,EAAE;QACR,uEAAuE;QACvE,sBAAsB;KACvB;IACD,OAAO,EAAE;QACP,2CAA2C;QAC3C,2BAA2B;KAC5B;IACD,IAAI,EAAE,CAAC,2CAA2C,EAAE,wBAAwB,CAAC;IAC7E,IAAI,EAAE;QACJ,uEAAuE;QACvE,wBAAwB;KACzB;IACD,OAAO,EAAE,CAAC,+DAA+D,CAAC;IAC1E,GAAG,EAAE,CAAC,iDAAiD,EAAE,WAAW,CAAC;IACrE,MAAM,EAAE;QACN,uDAAuD;QACvD,aAAa;KACd;IACD,MAAM,EAAE;QACN,iEAAiE;QACjE,UAAU;KACX;IACD,MAAM,EAAE;QACN,2DAA2D;QAC3D,qBAAqB;KACtB;IACD,OAAO,EAAE;QACP,mEAAmE;QACnE,sBAAsB;KACvB;IACD,MAAM,EAAE;QACN,uDAAuD;QACvD,2BAA2B;KAC5B;IACD,OAAO,EAAE;QACP,gDAAgD;QAChD,sBAAsB;KACvB;CACsE,CAAC"}
1
+ {"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../src/keywords.ts"],"names":[],"mappings":"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"}
package/dist/src/lex.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Diagnostic, Span } from "./ast.ts";
2
- export declare const KEYWORDS: readonly ["program", "header", "use", "party", "role", "currency", "instrument", "fields", "lifecycle", "action", "expose", "hide", "as", "cap", "of", "when", "constraints", "requires", "invariants", "moves", "from", "to", "in", "by", "for", "is", "unique", "on", "count", "sum", "hours", "between", "and", "timezone", "evidence", "reserve", "post", "void", "capture", "fee", "shares", "object", "attach", "subject", "rename", "columns"];
2
+ export declare const KEYWORDS: readonly ["program", "header", "use", "party", "role", "currency", "instrument", "fields", "lifecycle", "action", "expose", "hide", "as", "cap", "of", "when", "constraints", "requires", "invariants", "moves", "from", "to", "in", "is", "has", "unique", "on", "count", "sum", "hours", "between", "and", "timezone", "evidence", "family", "check", "result", "maxAge", "instruction", "reserve", "post", "void", "capture", "boundary", "key", "fee", "shares", "object", "attach", "subject", "rename", "columns"];
3
3
  export interface Token {
4
4
  kind: "name" | "number" | "string" | "date" | "punct" | "comment" | "eof";
5
5
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lex.d.ts","sourceRoot":"","sources":["../../src/lex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACjD,eAAO,MAAM,QAAQ,YACnB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,EACV,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,CACD,CAAC;AACX,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AACD,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM;YASxB,KAAK,EAAE;iBACF,UAAU,EAAE;EAR1B;AAED,wFAAwF;AACxF,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,UAAO,GACZ;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAiFA"}
1
+ {"version":3,"file":"lex.d.ts","sourceRoot":"","sources":["../../src/lex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACjD,eAAO,MAAM,QAAQ,YACnB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,EACV,YAAY,EACZ,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,SAAS,EACT,MAAM,EACN,MAAM,EACN,SAAS,EACT,UAAU,EACV,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,CACD,CAAC;AACX,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AACD,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM;YASxB,KAAK,EAAE;iBACF,UAAU,EAAE;EAR1B;AAED,wFAAwF;AACxF,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,UAAO,GACZ;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAmFA"}
package/dist/src/lex.js CHANGED
@@ -22,9 +22,8 @@ export const KEYWORDS = [
22
22
  "from",
23
23
  "to",
24
24
  "in",
25
- "by",
26
- "for",
27
25
  "is",
26
+ "has",
28
27
  "unique",
29
28
  "on",
30
29
  "count",
@@ -34,10 +33,17 @@ export const KEYWORDS = [
34
33
  "and",
35
34
  "timezone",
36
35
  "evidence",
36
+ "family",
37
+ "check",
38
+ "result",
39
+ "maxAge",
40
+ "instruction",
37
41
  "reserve",
38
42
  "post",
39
43
  "void",
40
44
  "capture",
45
+ "boundary",
46
+ "key",
41
47
  "fee",
42
48
  "shares",
43
49
  "object",
@@ -86,7 +92,9 @@ export function scan(source, editor = true) {
86
92
  text = name[0];
87
93
  }
88
94
  else if (tail[0] === '"') {
89
- const quoted = /^"(?:[^"\\\n]|\\["\\/bfnrt]|\\u[0-9a-fA-F]{4})*"/.exec(tail);
95
+ const quoted =
96
+ // oxlint-disable-next-line no-control-regex -- JSON strings must escape raw control characters.
97
+ /^"(?:[^"\\\u0000-\u001f]|\\["\\/bfnrt]|\\u[0-9a-fA-F]{4})*"/.exec(tail);
90
98
  if (!quoted) {
91
99
  diagnostics.push({
92
100
  code: "HSX1000",
@@ -1 +1 @@
1
- {"version":3,"file":"lex.js","sourceRoot":"","sources":["../../src/lex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lex.js","sourceRoot":"","sources":["../../src/lex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,UAAU,EAGV,OAAO,EAER,MAAM,UAAU,CAAC;AAOlB,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAkCA"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,UAAU,EAGV,OAAO,EAER,MAAM,UAAU,CAAC;AAOlB,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CA8CA"}
package/dist/src/parse.js CHANGED
@@ -27,6 +27,18 @@ export function parseProgram(source) {
27
27
  },
28
28
  ],
29
29
  };
30
+ if (/^\s*[[{]/.test(source))
31
+ return {
32
+ program: empty,
33
+ diagnostics: [
34
+ {
35
+ code: "HSX1014",
36
+ message: "JSON is not HSX source",
37
+ fix: 'write program name "Title" followed by HSX declarations',
38
+ span: { start: source.search(/\S/), end: source.search(/\S/) + 1 },
39
+ },
40
+ ],
41
+ };
30
42
  const result = lex(source);
31
43
  if (result.diagnostics.length)
32
44
  return { program: empty, diagnostics: result.diagnostics };
@@ -67,12 +79,12 @@ class Parser {
67
79
  this.take();
68
80
  return true;
69
81
  }
70
- fail(message, fix) {
82
+ fail(message, fix, span = this.peek().span) {
71
83
  throw new ParseFailure({
72
84
  code: "HSX1000",
73
85
  message,
74
86
  fix,
75
- span: this.peek().span,
87
+ span,
76
88
  });
77
89
  }
78
90
  expect(text) {
@@ -107,12 +119,17 @@ class Parser {
107
119
  this.fail("program needs a title", "write a quoted title after its name");
108
120
  program.title = JSON.parse(this.take().text);
109
121
  }
122
+ let currencyDeclared = false;
110
123
  while (this.peek().kind !== "eof") {
111
124
  this.separators();
112
125
  if (this.peek().kind === "eof")
113
126
  break;
114
127
  const start = this.peek().span.start;
115
- if (this.eat("currency")) {
128
+ if (this.at("currency")) {
129
+ if (currencyDeclared)
130
+ this.fail("currency is declared twice", "keep one currency declaration");
131
+ this.take();
132
+ currencyDeclared = true;
116
133
  program.currency = this.identifier();
117
134
  continue;
118
135
  }
@@ -321,8 +338,8 @@ class Parser {
321
338
  operator() {
322
339
  const operator = this.take();
323
340
  if (!["==", "!=", "<", "<=", ">", ">="].includes(operator.text))
324
- this.fail("expected a comparison", "write ==, !=, <, <=, >, or >=");
325
- return this.node(operator.text);
341
+ this.fail("expected a comparison", "write ==, !=, <, <=, >, or >=", operator.span);
342
+ return { kind: "text", value: operator.text, span: operator.span };
326
343
  }
327
344
  requirement() {
328
345
  if (this.eat("unique")) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"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"}