semantifold 0.12.0 → 0.14.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 (73) hide show
  1. package/README.md +2 -0
  2. package/build/src/backends/effects.js +5 -2
  3. package/build/src/backends/java.js +33 -14
  4. package/build/src/backends/javascript.js +83 -18
  5. package/build/src/backends/php.d.ts.map +1 -1
  6. package/build/src/backends/php.js +88 -16
  7. package/build/src/backends/ruby.js +37 -12
  8. package/build/src/backends/scalars.js +2 -2
  9. package/build/src/backends/shared.d.ts +2 -1
  10. package/build/src/backends/shared.d.ts.map +1 -1
  11. package/build/src/backends/shared.js +299 -42
  12. package/build/src/backends/typescript.js +83 -18
  13. package/build/src/backends/writer.d.ts +18 -4
  14. package/build/src/backends/writer.d.ts.map +1 -1
  15. package/build/src/backends/writer.js +40 -4
  16. package/build/src/frontends/java.d.ts +9 -1
  17. package/build/src/frontends/java.d.ts.map +1 -1
  18. package/build/src/frontends/java.js +90 -43
  19. package/build/src/frontends/javascript-typescript.d.ts +3 -1
  20. package/build/src/frontends/javascript-typescript.d.ts.map +1 -1
  21. package/build/src/frontends/javascript-typescript.js +133 -52
  22. package/build/src/frontends/php.d.ts +13 -1
  23. package/build/src/frontends/php.d.ts.map +1 -1
  24. package/build/src/frontends/php.js +226 -59
  25. package/build/src/frontends/ruby.d.ts +4 -1
  26. package/build/src/frontends/ruby.d.ts.map +1 -1
  27. package/build/src/frontends/ruby.js +113 -37
  28. package/build/src/frontends/types.d.ts +9 -2
  29. package/build/src/frontends/types.d.ts.map +1 -1
  30. package/build/src/frontends/types.js +26 -9
  31. package/build/src/language-registry.d.ts.map +1 -1
  32. package/build/src/language-registry.js +14 -6
  33. package/build/src/mapping.d.ts.map +1 -1
  34. package/build/src/mapping.js +4 -2
  35. package/build/src/semantic/effects.d.ts.map +1 -1
  36. package/build/src/semantic/effects.js +20 -6
  37. package/build/src/semantic/lifetime.js +28 -4
  38. package/build/src/semantic/provenance.d.ts.map +1 -1
  39. package/build/src/semantic/provenance.js +61 -9
  40. package/build/src/semantic/types.d.ts +214 -23
  41. package/build/src/semantic/types.d.ts.map +1 -1
  42. package/build/src/semantic/types.js +58 -11
  43. package/build/src/semantic/validate.d.ts +31 -2
  44. package/build/src/semantic/validate.d.ts.map +1 -1
  45. package/build/src/semantic/validate.js +450 -60
  46. package/docs/adr/20261026-typed-error-handling-extension.md +55 -0
  47. package/docs/adr-bounded-subtyping.md +180 -0
  48. package/docs/adr-numeric-tower.md +156 -0
  49. package/docs/architecture.md +1 -1
  50. package/docs/language-support.md +8 -8
  51. package/docs/testing.md +5 -3
  52. package/package.json +1 -1
  53. package/src/backends/effects.js +3 -1
  54. package/src/backends/java.js +33 -14
  55. package/src/backends/javascript.js +83 -18
  56. package/src/backends/php.js +89 -16
  57. package/src/backends/ruby.js +36 -12
  58. package/src/backends/scalars.js +1 -1
  59. package/src/backends/shared.js +298 -47
  60. package/src/backends/typescript.js +83 -18
  61. package/src/backends/writer.js +41 -3
  62. package/src/frontends/java.js +95 -43
  63. package/src/frontends/javascript-typescript.js +145 -53
  64. package/src/frontends/php.js +243 -58
  65. package/src/frontends/ruby.js +117 -35
  66. package/src/frontends/types.js +26 -8
  67. package/src/language-registry.js +13 -5
  68. package/src/mapping.js +3 -1
  69. package/src/semantic/effects.js +18 -5
  70. package/src/semantic/lifetime.js +29 -3
  71. package/src/semantic/provenance.js +60 -14
  72. package/src/semantic/types.js +62 -10
  73. package/src/semantic/validate.js +481 -61
@@ -13,6 +13,8 @@ export type JavaScriptFunctionSignature = {
13
13
  };
14
14
  export type JavaScriptConversionContext = {
15
15
  bindings: Map<string, import("../semantic/types.js").SemanticBindingType>;
16
+ catchBindingNames?: Set<string>;
17
+ catchBindingNodes?: Map<string, import("../semantic/types.js").CatchBinding>;
16
18
  classes: Map<string, import("../semantic/types.js").ClassDeclaration>;
17
19
  currentClass?: import("../semantic/types.js").ClassDeclaration;
18
20
  errors: Map<string, import("../semantic/types.js").ErrorDeclaration>;
@@ -20,7 +22,7 @@ export type JavaScriptConversionContext = {
20
22
  functions: Map<string, JavaScriptFunctionSignature>;
21
23
  lexicalValueNames?: Set<string>;
22
24
  orderedMapDeclarations?: Set<object>;
23
- recordNames: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration>;
25
+ recordNames: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration | import("../semantic/types.js").InterfaceDeclaration>;
24
26
  records: Map<string, import("../semantic/types.js").RecordDeclaration>;
25
27
  returnType?: import("../semantic/types.js").SemanticFunctionReturnType;
26
28
  typeParameters?: Map<string, import("../semantic/types.js").TypeParameter>;
@@ -1 +1 @@
1
- {"version":3,"file":"javascript-typescript.d.ts","sourceRoot":"","sources":["../../../src/frontends/javascript-typescript.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript-typescript.d.ts","sourceRoot":"","sources":["../../../src/frontends/javascript-typescript.js"],"names":[],"mappings":"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"}