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
@@ -8,14 +8,17 @@ export type RubyFunctionSignature = {
8
8
  };
9
9
  export type RubyConversionContext = {
10
10
  bindings: Map<string, import("../semantic/types.js").SemanticBindingType>;
11
+ catchBindingNames?: Set<string>;
11
12
  classes: Map<string, import("../semantic/types.js").ClassDeclaration>;
13
+ catchBindingNodes?: Map<string, import("../semantic/types.js").CatchBinding>;
14
+ currentCatchBindingNode?: import("../semantic/types.js").CatchBinding;
12
15
  currentClass?: import("../semantic/types.js").ClassDeclaration;
13
16
  errorNames: Map<string, import("../semantic/types.js").ErrorDeclaration>;
14
17
  errors: Map<string, import("../semantic/types.js").ErrorDeclaration>;
15
18
  functions: Map<string, RubyFunctionSignature>;
16
19
  orderedMapDeclarations?: Set<object>;
17
20
  records: Map<string, import("../semantic/types.js").RecordDeclaration>;
18
- recordNames: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration>;
21
+ recordNames: Map<string, import("../semantic/types.js").RecordDeclaration | import("../semantic/types.js").ClassDeclaration | import("../semantic/types.js").EffectResourceDeclaration | import("../semantic/types.js").InterfaceDeclaration>;
19
22
  loopDepth?: number;
20
23
  returnType?: import("../semantic/types.js").SemanticFunctionReturnType;
21
24
  typeParameters?: Map<string, import("../semantic/types.js").TypeParameter>;
@@ -1 +1 @@
1
- {"version":3,"file":"ruby.d.ts","sourceRoot":"","sources":["../../../src/frontends/ruby.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruby.d.ts","sourceRoot":"","sources":["../../../src/frontends/ruby.js"],"names":[],"mappings":"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"}