@hyperscale0/hsx 1.0.342 → 1.0.350

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 (144) hide show
  1. package/README.md +1 -1
  2. package/bases/cards.hsx +0 -1
  3. package/bases/collections.hsx +0 -2
  4. package/bases/escrow.hsx +0 -1
  5. package/bases/financing.hsx +0 -1
  6. package/bases/insurance.hsx +0 -1
  7. package/bases/lending.hsx +0 -3
  8. package/bases/marketplace.hsx +0 -2
  9. package/bases/money.hsx +0 -1
  10. package/bases/reporting.hsx +0 -2
  11. package/bases/savings.hsx +0 -1
  12. package/bases/wallet.hsx +0 -1
  13. package/dist/bin/hsx.d.ts.map +1 -1
  14. package/dist/bin/hsx.js.map +1 -1
  15. package/dist/src/ast.d.ts +57 -7
  16. package/dist/src/ast.d.ts.map +1 -1
  17. package/dist/src/ast.js.map +1 -1
  18. package/dist/src/attachment-economics.d.ts.map +1 -1
  19. package/dist/src/attachment-economics.js.map +1 -1
  20. package/dist/src/bases-bundle.d.ts.map +1 -1
  21. package/dist/src/bases-bundle.js +11 -11
  22. package/dist/src/bases-bundle.js.map +1 -1
  23. package/dist/src/bases.d.ts.map +1 -1
  24. package/dist/src/bases.js.map +1 -1
  25. package/dist/src/catalog-program.d.ts +1 -1
  26. package/dist/src/catalog-program.d.ts.map +1 -1
  27. package/dist/src/catalog-program.js +0 -13
  28. package/dist/src/catalog-program.js.map +1 -1
  29. package/dist/src/checks.d.ts +60 -0
  30. package/dist/src/checks.d.ts.map +1 -0
  31. package/dist/src/checks.js +240 -0
  32. package/dist/src/checks.js.map +1 -0
  33. package/dist/src/cli.d.ts.map +1 -1
  34. package/dist/src/cli.js +6 -25
  35. package/dist/src/cli.js.map +1 -1
  36. package/dist/src/compile.d.ts +29 -12
  37. package/dist/src/compile.d.ts.map +1 -1
  38. package/dist/src/compile.js +414 -316
  39. package/dist/src/compile.js.map +1 -1
  40. package/dist/src/cost.d.ts.map +1 -1
  41. package/dist/src/cost.js.map +1 -1
  42. package/dist/src/diagnostics.d.ts +14 -1
  43. package/dist/src/diagnostics.d.ts.map +1 -1
  44. package/dist/src/diagnostics.js +31 -0
  45. package/dist/src/diagnostics.js.map +1 -1
  46. package/dist/src/examples-bundle.d.ts.map +1 -1
  47. package/dist/src/examples-bundle.js +15 -15
  48. package/dist/src/examples-bundle.js.map +1 -1
  49. package/dist/src/examples.d.ts.map +1 -1
  50. package/dist/src/examples.js.map +1 -1
  51. package/dist/src/format.d.ts.map +1 -1
  52. package/dist/src/format.js.map +1 -1
  53. package/dist/src/header-source.d.ts +30 -0
  54. package/dist/src/header-source.d.ts.map +1 -1
  55. package/dist/src/header-source.js +120 -9
  56. package/dist/src/header-source.js.map +1 -1
  57. package/dist/src/headers.d.ts +9 -18
  58. package/dist/src/headers.d.ts.map +1 -1
  59. package/dist/src/headers.js +25 -23
  60. package/dist/src/headers.js.map +1 -1
  61. package/dist/src/index.d.ts +4 -3
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js +2 -2
  64. package/dist/src/index.js.map +1 -1
  65. package/dist/src/keywords.d.ts +2 -4
  66. package/dist/src/keywords.d.ts.map +1 -1
  67. package/dist/src/keywords.js +6 -5
  68. package/dist/src/keywords.js.map +1 -1
  69. package/dist/src/language.d.ts +3 -4
  70. package/dist/src/language.d.ts.map +1 -1
  71. package/dist/src/language.js +123 -60
  72. package/dist/src/language.js.map +1 -1
  73. package/dist/src/lex.d.ts +1 -1
  74. package/dist/src/lex.d.ts.map +1 -1
  75. package/dist/src/lex.js +3 -5
  76. package/dist/src/lex.js.map +1 -1
  77. package/dist/src/parse.d.ts +3 -1
  78. package/dist/src/parse.d.ts.map +1 -1
  79. package/dist/src/parse.js +234 -22
  80. package/dist/src/parse.js.map +1 -1
  81. package/dist/src/std-bundle.d.ts +2 -1
  82. package/dist/src/std-bundle.d.ts.map +1 -1
  83. package/dist/src/std-bundle.js +16 -15
  84. package/dist/src/std-bundle.js.map +1 -1
  85. package/dist/src/template-guide.d.ts +3 -9
  86. package/dist/src/template-guide.d.ts.map +1 -1
  87. package/dist/src/template-guide.js +16 -23
  88. package/dist/src/template-guide.js.map +1 -1
  89. package/dist/src/toolchain.d.ts +23 -0
  90. package/dist/src/toolchain.d.ts.map +1 -0
  91. package/dist/src/toolchain.js +29 -0
  92. package/dist/src/toolchain.js.map +1 -0
  93. package/dist/src/tunables.d.ts.map +1 -1
  94. package/dist/src/tunables.js.map +1 -1
  95. package/docs/README.md +69 -28
  96. package/examples/camera-rental.hsx +0 -1
  97. package/examples/cards.hsx +0 -1
  98. package/examples/collections.hsx +0 -2
  99. package/examples/escrow.hsx +0 -1
  100. package/examples/financing.hsx +0 -1
  101. package/examples/insurance.hsx +0 -2
  102. package/examples/lending.hsx +0 -3
  103. package/examples/library.hsx +0 -3
  104. package/examples/marketplace.hsx +0 -2
  105. package/examples/money.hsx +0 -1
  106. package/examples/rental-hire.hsx +0 -1
  107. package/examples/reporting.hsx +0 -2
  108. package/examples/savings.hsx +0 -1
  109. package/examples/serviced.hsx +0 -4
  110. package/examples/wallet.hsx +0 -1
  111. package/package.json +8 -8
  112. package/src/ast.ts +56 -3
  113. package/src/bases-bundle.ts +11 -11
  114. package/src/catalog-program.ts +0 -13
  115. package/src/checks.ts +386 -0
  116. package/src/cli.ts +6 -25
  117. package/src/compile.ts +583 -438
  118. package/src/diagnostics.ts +49 -1
  119. package/src/examples-bundle.ts +15 -15
  120. package/src/header-source.ts +187 -11
  121. package/src/headers.ts +31 -32
  122. package/src/index.ts +10 -4
  123. package/src/keywords.ts +6 -5
  124. package/src/language.ts +153 -68
  125. package/src/lex.ts +3 -5
  126. package/src/parse.ts +216 -24
  127. package/src/std-bundle.ts +17 -15
  128. package/src/template-guide.ts +17 -34
  129. package/src/toolchain.ts +51 -0
  130. package/std/booking.hsx +14 -1
  131. package/std/collections.hsx +12 -2
  132. package/std/financing.hsx +10 -16
  133. package/std/money.hsx +2 -3
  134. package/std/reporting.hsx +10 -1
  135. package/dist/src/binding-contract.d.ts +0 -22
  136. package/dist/src/binding-contract.d.ts.map +0 -1
  137. package/dist/src/binding-contract.js +0 -80
  138. package/dist/src/binding-contract.js.map +0 -1
  139. package/dist/src/std-library.d.ts +0 -5
  140. package/dist/src/std-library.d.ts.map +0 -1
  141. package/dist/src/std-library.js +0 -5
  142. package/dist/src/std-library.js.map +0 -1
  143. package/src/binding-contract.ts +0 -111
  144. package/src/std-library.ts +0 -7
@@ -1,9 +1,27 @@
1
+ import { compile } from "./compile.js";
1
2
  import { headerManifest } from "./headers.js";
2
3
  import { KEYWORD_HELP } from "./keywords.js";
3
4
  import { KEYWORDS, scan } from "./lex.js";
4
5
  import { parseProgram } from "./parse.js";
5
- import { bundledStandardLibrary } from "./std-library.js";
6
+ import { defaultToolchain } from "./toolchain.js";
6
7
  const keywords = new Set(KEYWORDS);
8
+ const CHECK_WORDS = new Set([
9
+ "customer",
10
+ "organization",
11
+ "funded",
12
+ "binds",
13
+ "clock",
14
+ "until",
15
+ "record",
16
+ "close",
17
+ "remember",
18
+ "status",
19
+ "balances",
20
+ "expect",
21
+ "held",
22
+ "pending",
23
+ ]);
24
+ const CHECK_HELP = "A check step. Promote runs every check in an isolated world and refuses a Build whose check fails.";
7
25
  const types = new Set([
8
26
  "money",
9
27
  "account",
@@ -19,11 +37,11 @@ const types = new Set([
19
37
  "list",
20
38
  "policy",
21
39
  ]);
22
- // Cache by source bytes, not library identity: callers can edit their own headers.
40
+ // Cache by source bytes, not toolchain identity: callers can edit their own headers.
23
41
  const headerCache = new Map();
24
- function header(name, library) {
42
+ function header(name, toolchain) {
25
43
  try {
26
- const source = library.source(name);
44
+ const source = toolchain.std.get(name);
27
45
  if (!source)
28
46
  return;
29
47
  const cached = headerCache.get(name);
@@ -31,7 +49,7 @@ function header(name, library) {
31
49
  return cached.value;
32
50
  let value;
33
51
  try {
34
- value = headerManifest({ source: () => source }, [name]).headers[0];
52
+ value = headerManifest(new Map([[name, source]]), [name]).headers[0];
35
53
  }
36
54
  catch {
37
55
  /* Half-written headers have no metadata yet. */
@@ -64,17 +82,33 @@ function instrumentHelp(object, owner) {
64
82
  label: a.name,
65
83
  value: `${a.summary} Actor: ${a.actor}`,
66
84
  })),
85
+ ...object.checks.map((check) => ({
86
+ label: "check",
87
+ value: `${check.rule}${check.when ? ` when ${check.when.selector} is ${check.when.is}` : ""}: ${check.message}`,
88
+ })),
67
89
  ],
68
90
  };
69
91
  }
70
- function analyze(source, library) {
92
+ function analyze(source, toolchain) {
71
93
  const all = scan(source).tokens.filter((t) => t.kind !== "eof");
72
94
  const tokens = all.filter((t) => t.kind !== "comment");
73
95
  const helps = new Map();
74
96
  const classes = new Map();
75
97
  const bindings = new Map();
76
- const imports = new Map();
77
- const headerHelp = new Map();
98
+ // A qualified name such as booking.reservation names its header directly.
99
+ const headerHelp = (value) => ({
100
+ kind: "header",
101
+ title: value.name,
102
+ header: value.name,
103
+ summary: value.objects
104
+ .map((o) => o.summary)
105
+ .slice(0, 2)
106
+ .join(" "),
107
+ details: value.objects.map((o) => ({
108
+ label: o.qualifiedName,
109
+ value: o.summary,
110
+ })),
111
+ });
78
112
  const whole = { start: 0, end: source.length };
79
113
  const text = (span) => source.slice(span.start, span.end);
80
114
  const mark = (token, kind, help) => {
@@ -112,29 +146,6 @@ function analyze(source, library) {
112
146
  for (let i = 0; i < tokens.length; i++) {
113
147
  const token = tokens[i];
114
148
  const previous = tokens[i - 1]?.text;
115
- if (previous === "use") {
116
- const value = header(token.text, library);
117
- if (value)
118
- imports.set(token.text, value);
119
- mark(token, "header", value
120
- ? {
121
- kind: "header",
122
- title: value.name,
123
- header: value.name,
124
- summary: value.objects
125
- .map((o) => o.summary)
126
- .slice(0, 2)
127
- .join(" "),
128
- details: value.objects.map((o) => ({
129
- label: o.qualifiedName,
130
- value: o.summary,
131
- })),
132
- }
133
- : undefined);
134
- const help = helps.get(token.span.start);
135
- if (help)
136
- headerHelp.set(token.text, help);
137
- }
138
149
  if (previous === "program" ||
139
150
  previous === "object" ||
140
151
  previous === "header")
@@ -148,7 +159,6 @@ function analyze(source, library) {
148
159
  previous === "action" ||
149
160
  previous === "attach" ||
150
161
  previous === "expose" ||
151
- previous === "hide" ||
152
162
  previous === "as")
153
163
  mark(token, previous === "instrument" || previous === "attach"
154
164
  ? "instrument"
@@ -167,9 +177,7 @@ function analyze(source, library) {
167
177
  }
168
178
  const attachment = (target, scope) => {
169
179
  const [owner, name] = target.split(".");
170
- const object = imports
171
- .get(owner ?? "")
172
- ?.objects.find((o) => o.name === name);
180
+ const object = header(owner ?? "", toolchain)?.objects.find((o) => o.name === name);
173
181
  if (!object)
174
182
  return;
175
183
  for (const parameter of object.tunables)
@@ -282,6 +290,30 @@ function analyze(source, library) {
282
290
  walk(expr.cap, scope);
283
291
  }
284
292
  };
293
+ const at = (span) => tokens[atStart.get(span.start) ?? -1];
294
+ // A check's step words are keywords inside the check alone.
295
+ const checkHelp = (check) => {
296
+ for (const token of tokens)
297
+ if (token.span.start > check.span.start &&
298
+ token.span.end < check.span.end &&
299
+ CHECK_WORDS.has(token.text))
300
+ mark(token, "keyword", {
301
+ kind: "keyword",
302
+ title: token.text,
303
+ summary: CHECK_HELP,
304
+ });
305
+ for (const statement of check.statements) {
306
+ if (statement.kind === "customer")
307
+ mark(at(statement.id.span), "party", declared(statement.id.name, "party", check.span, statement.id.span, `customer ${statement.id.name}`, `${statement.title}, a customer of check "${check.name}".`));
308
+ if (statement.kind === "action") {
309
+ mark(at(statement.action.span), "action");
310
+ if (statement.state)
311
+ mark(at(statement.state.span), "state");
312
+ }
313
+ if (statement.kind === "clock" && statement.until)
314
+ mark(at(statement.until.state.span), "state");
315
+ }
316
+ };
285
317
  // The parser owns declarations and scopes. A parse failure leaves lexical context intact.
286
318
  try {
287
319
  const parsed = parseProgram(source);
@@ -308,6 +340,8 @@ function analyze(source, library) {
308
340
  walk(decl.body, decl.span);
309
341
  }
310
342
  }
343
+ for (const check of parsed.program.checks)
344
+ checkHelp(check);
311
345
  }
312
346
  catch {
313
347
  /* Arbitrary editor input must not interrupt typing. */
@@ -320,12 +354,13 @@ function analyze(source, library) {
320
354
  const previous = tokens[i - 1]?.text;
321
355
  const next = tokens[i + 1]?.text;
322
356
  const owner = previous === "." ? tokens[i - 2]?.text : undefined;
323
- const imported = owner ? imports.get(owner) : undefined;
357
+ const imported = owner ? header(owner, toolchain) : undefined;
324
358
  const object = imported?.objects.find((o) => o.name === token.text);
359
+ const named = next === "." ? header(token.text, toolchain) : undefined;
325
360
  if (object && owner)
326
361
  mark(token, "instrument", instrumentHelp(object, owner));
327
- else if (imports.has(token.text) && next === ".")
328
- mark(token, "header", headerHelp.get(token.text));
362
+ else if (named)
363
+ mark(token, "header", headerHelp(named));
329
364
  else if (!helps.has(token.span.start)) {
330
365
  const candidates = bindings
331
366
  .get(token.text)
@@ -342,7 +377,6 @@ function analyze(source, library) {
342
377
  const isReference = !keywords.has(token.text) ||
343
378
  previous === "." ||
344
379
  previous === "expose" ||
345
- previous === "hide" ||
346
380
  next === ":" ||
347
381
  [":", "=", "fee", "moves", "from", "to", "(", ",", "["].includes(previous ?? "") ||
348
382
  binding?.declaration === token.span.start;
@@ -406,36 +440,65 @@ function analyze(source, library) {
406
440
  }
407
441
  // One editor document is retained. Hovering never reparses the same keystroke.
408
442
  let last;
409
- function analysis(source, library) {
410
- // Custom libraries may change without changing identity; only the bundled library is immutable.
411
- if (library === bundledStandardLibrary &&
412
- last?.source === source &&
413
- last.library === library)
443
+ function analysis(source, toolchain) {
444
+ // A test toolchain may change its headers in place; the default never does.
445
+ if (toolchain === defaultToolchain && last?.source === source)
414
446
  return last.result;
415
- const result = analyze(source, library);
416
- if (library === bundledStandardLibrary)
417
- last = { source, library, result };
447
+ const result = analyze(source, toolchain);
448
+ if (toolchain === defaultToolchain)
449
+ last = { source, result };
418
450
  return result;
419
451
  }
420
452
  /** Total, sorted, non-overlapping UTF-16 spans, including incomplete source. */
421
- export function highlight(source, library = bundledStandardLibrary) {
422
- return analysis(source, library).highlights.map((span) => ({ ...span }));
453
+ export function highlight(source, toolchain = defaultToolchain) {
454
+ return analysis(source, toolchain).highlights.map((span) => ({ ...span }));
423
455
  }
456
+ // The terms of the attach line around an offset, from the last valid compile.
457
+ let compiled;
458
+ function termsAt(source, offset, toolchain) {
459
+ if (compiled?.source !== source || compiled.toolchain !== toolchain) {
460
+ const origins = compile(source, toolchain).artifacts?.originMap ?? [];
461
+ compiled = {
462
+ source,
463
+ toolchain,
464
+ // A record shares its attach line's span; the attach comes first.
465
+ terms: (at) => origins.find((entry) => entry.terms && entry.span.start <= at && at < entry.span.end)?.terms,
466
+ };
467
+ }
468
+ return compiled.terms(offset);
469
+ }
470
+ const inForce = (term) => `${term.text} (${term.from === "std" ? `${term.source} default` : term.from === "party" ? "the party of that name" : "set by the program"})`;
424
471
  /** Offsets use half-open UTF-16 spans. Whitespace and out-of-range offsets return null. */
425
- export function describe(source, offset, library = bundledStandardLibrary) {
472
+ export function describe(source, offset, toolchain = defaultToolchain) {
426
473
  if (!Number.isInteger(offset) || offset < 0 || offset >= source.length)
427
474
  return null;
428
- const result = analysis(source, library);
475
+ const result = analysis(source, toolchain);
429
476
  const span = result.highlights.find((s) => s.start <= offset && offset < s.end);
430
477
  const hover = span && result.hovers.get(span.start);
431
- return hover
432
- ? {
433
- ...hover,
434
- span: { ...hover.span },
435
- ...(hover.details
436
- ? { details: hover.details.map((d) => ({ ...d })) }
437
- : {}),
438
- }
439
- : null;
478
+ if (!hover)
479
+ return null;
480
+ const details = hover.details?.map((d) => ({ ...d }));
481
+ // A std tunable and an attach line show the value in force and who set it.
482
+ const terms = (hover.kind === "parameter" && hover.header) ||
483
+ (hover.kind === "instrument" &&
484
+ source.lastIndexOf("attach", offset) > source.lastIndexOf("{", offset))
485
+ ? termsAt(source, offset, toolchain)
486
+ : undefined;
487
+ const term = terms?.find((t) => t.name === hover.title);
488
+ const added = hover.kind === "parameter"
489
+ ? term
490
+ ? [{ label: "In force", value: inForce(term) }]
491
+ : []
492
+ : (terms ?? []).map((t) => ({
493
+ label: `${t.name} in force`,
494
+ value: inForce(t),
495
+ }));
496
+ return {
497
+ ...hover,
498
+ span: { ...hover.span },
499
+ ...(details || added.length
500
+ ? { details: [...(details ?? []), ...added] }
501
+ : {}),
502
+ };
440
503
  }
441
504
  //# sourceMappingURL=language.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"language.js","sourceRoot":"","sources":["../../src/language.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language.js","sources":["../../src/language.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", "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"];
2
+ export declare const KEYWORDS: readonly ["program", "header", "party", "role", "currency", "instrument", "fields", "lifecycle", "action", "expose", "as", "cap", "of", "when", "checks", "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,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"}
1
+ {"version":3,"file":"lex.d.ts","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,OAAO,EACP,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,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
@@ -1,7 +1,6 @@
1
1
  export const KEYWORDS = [
2
2
  "program",
3
3
  "header",
4
- "use",
5
4
  "party",
6
5
  "role",
7
6
  "currency",
@@ -10,12 +9,11 @@ export const KEYWORDS = [
10
9
  "lifecycle",
11
10
  "action",
12
11
  "expose",
13
- "hide",
14
12
  "as",
15
13
  "cap",
16
14
  "of",
17
15
  "when",
18
- "constraints",
16
+ "checks",
19
17
  "requires",
20
18
  "invariants",
21
19
  "moves",
@@ -118,11 +116,11 @@ export function scan(source, editor = true) {
118
116
  kind = "string";
119
117
  text = quoted[0];
120
118
  }
121
- else if (/^(==|!=|<=|>=)/.test(tail)) {
119
+ else if (/^(==|!=|<=|>=|->)/.test(tail)) {
122
120
  kind = "punct";
123
121
  text = tail.slice(0, 2);
124
122
  }
125
- else if (/^[{}()[\]:,;=<>?.|]/.test(tail)) {
123
+ else if (/^[{}()[\]:,;=<>?.|+]/.test(tail)) {
126
124
  kind = "punct";
127
125
  text = tail[0];
128
126
  }
@@ -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","sources":["../../src/lex.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import type { Diagnostic, Program } from "./ast.ts";
1
+ import type { Diagnostic, Expr, Program } from "./ast.ts";
2
2
  export declare function parseProgram(source: string): {
3
3
  program: Program;
4
4
  diagnostics: Diagnostic[];
5
5
  };
6
+ /** One value as a header parameter takes it, such as `10%`; undefined if it is not one. */
7
+ export declare function parseExpression(source: string): Expr | undefined;
6
8
  //# sourceMappingURL=parse.d.ts.map
@@ -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,CA8CA"}
1
+ {"version":3,"file":"parse.d.ts","sources":["../../src/parse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,UAAU,EAEV,IAAI,EAEJ,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,CA+CA;AACD,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAShE"}