@elaraai/east 0.0.1-beta.1 → 0.0.1-beta.11

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 (125) hide show
  1. package/LICENSE.md +15 -666
  2. package/README.md +15 -6
  3. package/dist/src/analyze.d.ts +4 -4
  4. package/dist/src/analyze.d.ts.map +1 -1
  5. package/dist/src/analyze.js +142 -44
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/ast.d.ts +18 -7
  8. package/dist/src/ast.d.ts.map +1 -1
  9. package/dist/src/ast.js +1 -146
  10. package/dist/src/ast.js.map +1 -1
  11. package/dist/src/ast_to_ir.d.ts +7 -0
  12. package/dist/src/ast_to_ir.d.ts.map +1 -1
  13. package/dist/src/ast_to_ir.js +80 -11
  14. package/dist/src/ast_to_ir.js.map +1 -1
  15. package/dist/src/builtins.d.ts +1 -1
  16. package/dist/src/builtins.d.ts.map +1 -1
  17. package/dist/src/builtins.js +89 -64
  18. package/dist/src/builtins.js.map +1 -1
  19. package/dist/src/comparison.d.ts.map +1 -1
  20. package/dist/src/comparison.js +19 -2
  21. package/dist/src/comparison.js.map +1 -1
  22. package/dist/src/compile.d.ts.map +1 -1
  23. package/dist/src/compile.js +137 -221
  24. package/dist/src/compile.js.map +1 -1
  25. package/dist/src/default.d.ts.map +1 -1
  26. package/dist/src/default.js +2 -0
  27. package/dist/src/default.js.map +1 -1
  28. package/dist/src/eastir.d.ts +12 -10
  29. package/dist/src/eastir.d.ts.map +1 -1
  30. package/dist/src/eastir.js +20 -19
  31. package/dist/src/eastir.js.map +1 -1
  32. package/dist/src/expr/array.d.ts +66 -0
  33. package/dist/src/expr/array.d.ts.map +1 -1
  34. package/dist/src/expr/array.js +161 -51
  35. package/dist/src/expr/array.js.map +1 -1
  36. package/dist/src/expr/ast.d.ts.map +1 -1
  37. package/dist/src/expr/ast.js +6 -0
  38. package/dist/src/expr/ast.js.map +1 -1
  39. package/dist/src/expr/asyncfunction.d.ts +49 -0
  40. package/dist/src/expr/asyncfunction.d.ts.map +1 -0
  41. package/dist/src/expr/asyncfunction.js +60 -0
  42. package/dist/src/expr/asyncfunction.js.map +1 -0
  43. package/dist/src/expr/blob.d.ts +25 -1
  44. package/dist/src/expr/blob.d.ts.map +1 -1
  45. package/dist/src/expr/blob.js +36 -1
  46. package/dist/src/expr/blob.js.map +1 -1
  47. package/dist/src/expr/block.d.ts +82 -8
  48. package/dist/src/expr/block.d.ts.map +1 -1
  49. package/dist/src/expr/block.js +278 -16
  50. package/dist/src/expr/block.js.map +1 -1
  51. package/dist/src/expr/dict.js +47 -47
  52. package/dist/src/expr/dict.js.map +1 -1
  53. package/dist/src/expr/expr.d.ts +9 -0
  54. package/dist/src/expr/expr.d.ts.map +1 -1
  55. package/dist/src/expr/expr.js +5 -1
  56. package/dist/src/expr/expr.js.map +1 -1
  57. package/dist/src/expr/index.d.ts +112 -2
  58. package/dist/src/expr/index.d.ts.map +1 -1
  59. package/dist/src/expr/index.js +110 -8
  60. package/dist/src/expr/index.js.map +1 -1
  61. package/dist/src/expr/libs/array.js +1 -1
  62. package/dist/src/expr/libs/array.js.map +1 -1
  63. package/dist/src/expr/libs/dict.js +3 -3
  64. package/dist/src/expr/libs/dict.js.map +1 -1
  65. package/dist/src/expr/libs/integer.d.ts +19 -0
  66. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  67. package/dist/src/expr/libs/integer.js +47 -0
  68. package/dist/src/expr/libs/integer.js.map +1 -1
  69. package/dist/src/expr/libs/set.js +2 -2
  70. package/dist/src/expr/libs/set.js.map +1 -1
  71. package/dist/src/expr/ref.js +1 -1
  72. package/dist/src/expr/ref.js.map +1 -1
  73. package/dist/src/expr/set.js +38 -38
  74. package/dist/src/expr/set.js.map +1 -1
  75. package/dist/src/expr/struct.d.ts +2 -0
  76. package/dist/src/expr/struct.d.ts.map +1 -1
  77. package/dist/src/expr/types.d.ts +8 -5
  78. package/dist/src/expr/types.d.ts.map +1 -1
  79. package/dist/src/expr/variant.d.ts +53 -0
  80. package/dist/src/expr/variant.d.ts.map +1 -1
  81. package/dist/src/expr/variant.js +56 -0
  82. package/dist/src/expr/variant.js.map +1 -1
  83. package/dist/src/fuzz.d.ts.map +1 -1
  84. package/dist/src/fuzz.js +5 -0
  85. package/dist/src/fuzz.js.map +1 -1
  86. package/dist/src/internal.d.ts +8 -0
  87. package/dist/src/internal.d.ts.map +1 -1
  88. package/dist/src/internal.js +8 -0
  89. package/dist/src/internal.js.map +1 -1
  90. package/dist/src/ir.d.ts +231 -33
  91. package/dist/src/ir.d.ts.map +1 -1
  92. package/dist/src/ir.js +3 -1
  93. package/dist/src/ir.js.map +1 -1
  94. package/dist/src/serialization/beast.d.ts.map +1 -1
  95. package/dist/src/serialization/beast.js +59 -18
  96. package/dist/src/serialization/beast.js.map +1 -1
  97. package/dist/src/serialization/beast2-stream.d.ts.map +1 -1
  98. package/dist/src/serialization/beast2-stream.js +5 -0
  99. package/dist/src/serialization/beast2-stream.js.map +1 -1
  100. package/dist/src/serialization/beast2.d.ts.map +1 -1
  101. package/dist/src/serialization/beast2.js +10 -4
  102. package/dist/src/serialization/beast2.js.map +1 -1
  103. package/dist/src/serialization/csv.d.ts +139 -0
  104. package/dist/src/serialization/csv.d.ts.map +1 -0
  105. package/dist/src/serialization/csv.js +615 -0
  106. package/dist/src/serialization/csv.js.map +1 -0
  107. package/dist/src/serialization/east.d.ts.map +1 -1
  108. package/dist/src/serialization/east.js +9 -1
  109. package/dist/src/serialization/east.js.map +1 -1
  110. package/dist/src/serialization/index.d.ts +1 -0
  111. package/dist/src/serialization/index.d.ts.map +1 -1
  112. package/dist/src/serialization/index.js +1 -0
  113. package/dist/src/serialization/index.js.map +1 -1
  114. package/dist/src/serialization/json.d.ts.map +1 -1
  115. package/dist/src/serialization/json.js +8 -2
  116. package/dist/src/serialization/json.js.map +1 -1
  117. package/dist/src/type_of_type.d.ts +20 -3
  118. package/dist/src/type_of_type.d.ts.map +1 -1
  119. package/dist/src/type_of_type.js +101 -13
  120. package/dist/src/type_of_type.js.map +1 -1
  121. package/dist/src/types.d.ts +59 -16
  122. package/dist/src/types.d.ts.map +1 -1
  123. package/dist/src/types.js +141 -91
  124. package/dist/src/types.js.map +1 -1
  125. package/package.json +4 -4
@@ -125,7 +125,7 @@ export default {
125
125
  */
126
126
  generate(size, valueType, valueFn) {
127
127
  const length_expr = Expr.from(size, IntegerType);
128
- const generator_expr = Expr.from(valueFn, FunctionType([IntegerType], valueType, []));
128
+ const generator_expr = Expr.from(valueFn, FunctionType([IntegerType], valueType));
129
129
  const value_type_deduced = generator_expr[TypeSymbol].output;
130
130
  return Expr.fromAst({
131
131
  ast_type: "Builtin",
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/expr/libs/array.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGzD,4CAA4C;AAC5C,eAAe;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,KAAK,CAAC,KAAiC,EAAE,GAA+B,EAAE,OAAmC,EAAE;QAC7G,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC;YAC5B,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1E,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,KAA+B,EAAE,IAA8B,EAAE,IAAgC;QACxG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;YAC1B,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5E,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CAAI,IAAgC,EAAE,SAAY,EAAE,OAAoE;QAC9H,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAc,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,kBAAkB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,CAAC,kBAA8B,CAAC;YACjD,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9D,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/expr/libs/array.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAiB,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGzD,4CAA4C;AAC5C,eAAe;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,KAAK,CAAC,KAAiC,EAAE,GAA+B,EAAE,OAAmC,EAAE;QAC7G,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC;YAC5B,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1E,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,KAA+B,EAAE,IAA8B,EAAE,IAAgC;QACxG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;YAC1B,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5E,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,QAAQ,CAAI,IAAgC,EAAE,SAAY,EAAE,OAAoE;QAC9H,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAc,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACzF,MAAM,kBAAkB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,kBAAkB,CAAC;YACnC,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,CAAC,kBAA8B,CAAC;YACjD,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9D,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
@@ -61,9 +61,9 @@ export default {
61
61
  */
62
62
  generate(size, keyType, valueType, keyFn, valueFn, onConflict) {
63
63
  const length_expr = Expr.from(size, IntegerType);
64
- const key_expr = Expr.from(keyFn, FunctionType([IntegerType], keyType, []));
65
- const value_expr = Expr.from(valueFn, FunctionType([IntegerType], valueType, []));
66
- const on_conflict_expr = onConflict ? Expr.from(onConflict, FunctionType([valueType, valueType, keyType], valueType, [])) : Expr.function([valueType, valueType, keyType], valueType, ($, _v1, _v2, key) => $.error(Expr.str `Duplicate key ${key} in dict`));
64
+ const key_expr = Expr.from(keyFn, FunctionType([IntegerType], keyType));
65
+ const value_expr = Expr.from(valueFn, FunctionType([IntegerType], valueType));
66
+ const on_conflict_expr = onConflict ? Expr.from(onConflict, FunctionType([valueType, valueType, keyType], valueType)) : Expr.function([valueType, valueType, keyType], valueType, ($, _v1, _v2, key) => $.error(Expr.str `Duplicate key ${key} in dict`));
67
67
  return Expr.fromAst({
68
68
  ast_type: "Builtin",
69
69
  type: DictType(keyType, valueType),
@@ -1 +1 @@
1
- {"version":3,"file":"dict.js","sourceRoot":"","sources":["../../../../src/expr/libs/dict.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAiB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAG7C,kDAAkD;AAClD,eAAe;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,QAAQ,CAAyC,IAAgC,EAAE,OAAU,EAAE,SAAY,EAAE,KAAkE,EAAE,OAAoE,EAAE,UAA+F;QACpV,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC;QAEpQ,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;YAClC,OAAO,EAAE,cAAc;YACvB,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;YACrC,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5G,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"dict.js","sourceRoot":"","sources":["../../../../src/expr/libs/dict.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAiB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAG7C,kDAAkD;AAClD,eAAe;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,QAAQ,CAAyC,IAAgC,EAAE,OAAU,EAAE,SAAY,EAAE,KAAkE,EAAE,OAAoE,EAAE,UAA+F;QACpV,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9E,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC;QAEhQ,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;YAClC,OAAO,EAAE,cAAc;YACvB,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;YACrC,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5G,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
@@ -23,6 +23,25 @@ declare const _default: {
23
23
  * ```
24
24
  */
25
25
  printCommaSeperated: import("../function.js").CallableFunctionExpr<[IntegerType], StringType>;
26
+ /**
27
+ * Formats a float as currency with comma separators and 2 decimal places.
28
+ *
29
+ * @param x - The float value to format as currency
30
+ * @returns A formatted currency string (e.g., `"$1,234.56"`)
31
+ * @throws {Error} When `x` is NaN, Infinity, or -Infinity
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const formatCurrency = East.function([IntegerType], StringType, ($, x) => {
36
+ * $.return(East.Integer.printCurrency(x));
37
+ * });
38
+ * const compiled = East.compile(formatCurrency.toIR(), []);
39
+ * compiled(1234n); // "$1,234"
40
+ * compiled(-42n); // "-$42"
41
+ * compiled(1000000n); // "$1,000,000"
42
+ * ```
43
+ */
44
+ printCurrency: import("../function.js").CallableFunctionExpr<[IntegerType], StringType>;
26
45
  /**
27
46
  * Formats an integer in compact form with business unit suffixes.
28
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/expr/libs/integer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzD,8CAA8C;;IAE5C;;;;;;;;;;;;;;;;OAgBG;;IA8CH;;;;;;;;;;;;;;;;;;;;OAoBG;;IA6DH;;;;;;;;;;;;;;;;;;;;OAoBG;;IA+DH;;;;;;;;;;;;;;;;;;;;OAoBG;;IAgEH;;;;;;;;;;;;;;;;;;;OAmBG;;IAiCH;;;;;;;;;;;;;;;;;OAiBG;;IAMH;;;;;;;;;;;;;;;;;OAiBG;;IAiCH;;;;;;;;;;;;;;;;;OAiBG;;IAsBH;;;;;;;;;;;;;;;;;OAiBG;;IAuBH;;;;;;;;;;;;;;;;;OAiBG;;IAgBH;;;;;;;;;;;;;;;;OAgBG;;;AApjBL,wBAwjBC"}
1
+ {"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../../../src/expr/libs/integer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGzD,8CAA8C;;IAE5C;;;;;;;;;;;;;;;;OAgBG;;IA+CD;;;;;;;;;;;;;;;;;OAiBG;;IAiDL;;;;;;;;;;;;;;;;;;;;OAoBG;;IA6DH;;;;;;;;;;;;;;;;;;;;OAoBG;;IA+DH;;;;;;;;;;;;;;;;;;;;OAoBG;;IAgEH;;;;;;;;;;;;;;;;;;;OAmBG;;IAiCH;;;;;;;;;;;;;;;;;OAiBG;;IAMH;;;;;;;;;;;;;;;;;OAiBG;;IAiCH;;;;;;;;;;;;;;;;;OAiBG;;IAsBH;;;;;;;;;;;;;;;;;OAiBG;;IAuBH;;;;;;;;;;;;;;;;;OAiBG;;IAgBH;;;;;;;;;;;;;;;;OAgBG;;;AAvnBL,wBA2nBC"}
@@ -47,6 +47,53 @@ export default {
47
47
  });
48
48
  $.if(negative, $ => $.return(Expr.str `-${y}${ret}`)).else($ => $.return(Expr.str `${y}${ret}`));
49
49
  }),
50
+ /**
51
+ * Formats a float as currency with comma separators and 2 decimal places.
52
+ *
53
+ * @param x - The float value to format as currency
54
+ * @returns A formatted currency string (e.g., `"$1,234.56"`)
55
+ * @throws {Error} When `x` is NaN, Infinity, or -Infinity
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const formatCurrency = East.function([IntegerType], StringType, ($, x) => {
60
+ * $.return(East.Integer.printCurrency(x));
61
+ * });
62
+ * const compiled = East.compile(formatCurrency.toIR(), []);
63
+ * compiled(1234n); // "$1,234"
64
+ * compiled(-42n); // "-$42"
65
+ * compiled(1000000n); // "$1,000,000"
66
+ * ```
67
+ */
68
+ printCurrency: Expr.function([IntegerType], StringType, ($, x) => {
69
+ // Check for NaN/Infinity
70
+ const negative = $.let(Expr.less(x, 0n));
71
+ const abs_x = $.let(x.abs());
72
+ // Round to cents
73
+ const shifted = $.let(abs_x.multiply(100.0).add(0.5));
74
+ const cents_total_float = $.let(shifted.subtract(shifted.remainder(1.0)));
75
+ const cents_total = $.let(cents_total_float.toInteger());
76
+ const dollars = $.let(cents_total.divide(100n));
77
+ // Format dollars with commas
78
+ const dollars_with_commas = $.let(dollars);
79
+ const comma_ret = $.let("");
80
+ $.while(Expr.greater(dollars_with_commas, 999n), $ => {
81
+ const z = $.let(dollars_with_commas.remainder(1000n));
82
+ $.if(Expr.less(z, 10n), $ => {
83
+ $.assign(comma_ret, Expr.str `,00${z}${comma_ret}`);
84
+ }).else($ => {
85
+ $.if(Expr.less(z, 100n), $ => {
86
+ $.assign(comma_ret, Expr.str `,0${z}${comma_ret}`);
87
+ }).else($ => {
88
+ $.assign(comma_ret, Expr.str `,${z}${comma_ret}`);
89
+ });
90
+ });
91
+ $.assign(dollars_with_commas, dollars_with_commas.divide(1000n));
92
+ });
93
+ const dollars_str = $.let(Expr.str `${dollars_with_commas}${comma_ret}`);
94
+ const result = $.let(Expr.str `${dollars_str}`);
95
+ $.return(negative.ifElse(() => Expr.str `-$${result}`, () => Expr.str `$${result}`));
96
+ }),
50
97
  /**
51
98
  * Formats an integer in compact form with business unit suffixes.
52
99
  *
@@ -1 +1 @@
1
- {"version":3,"file":"integer.js","sourceRoot":"","sources":["../../../../src/expr/libs/integer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,8CAA8C;AAC9C,eAAe;IACb;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YACzB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA,CAAC,gCAAgC;YAExH,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;YACjC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEpC,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EACjB,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAA,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YACzC,CAAC,CACF,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAClB,CAAC,CAAC,EAAE;oBACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAA,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACxC,CAAC,CACF,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;oBACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACvC,CAAC,CACF,CAAA;YACH,CAAC,CACF,CAAA;YAED,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,CAAC,QAAQ,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CACrC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CACpC,CAAA;IACH,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YACzB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC;YAEtG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAEtG,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;YAC1C,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACjB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAA;YAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACV,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAA;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;YACrC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAElD,CAAC,CAAC,EAAE,CAAC,QAAQ,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAC5B,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CAAC,QAAQ,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC,CACF,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CAAC,QAAQ,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAC/D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YACzB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gCAAgC;YAErG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAEtG,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;YAC1C,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3C,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CACtD,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CACrD,CAAC,CAAC;QAEH,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;YACrC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAElD,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAC5B,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC,CACF,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAC/D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;YAEzB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC;YAEtG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAA;QAEF,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAEtG,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE;YAC1C,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3Q,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3C,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CACtD,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CACrD,CAAC,CAAC;QAEH,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;YACrC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAEjE,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EAC5B,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC,CACF,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CACF,QAAQ,EACR,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAC/D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,EAAE,CAAC,CAC9D,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,qCAAqC;QACrC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YAC7F,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,IAAI,CAAC,CAChC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,IAAI,CAAC,CAChC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;gBACF,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,IAAI,CAAC,CAChC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,IAAI,CAAC,CAChC,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7D,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAClF,sCAAsC;QACtC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7C,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;SACvC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;iBAC5B,MAAM,CACL,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa;YAC9C,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;aAC1D,CACJ,CAAC;YAEF,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EACxB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAC3B,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CACpC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7E,sCAAsC;QACtC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/C,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;SACvC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;aACzE,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B;aACrE,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC/E,sCAAsC;QACtC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/C,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;SACvC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,EACxB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;aAC7D,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iCAAiC;aACrF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACnF,sCAAsC;QACtC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/C,CAAC,CAAC,EAAE,CACF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,EACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;SACvC,CAAC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,2CAA2C;SACjF,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC;CACH,CAAA"}
1
+ {"version":3,"file":"integer.js","sourceRoot":"","sources":["../../../../src/expr/libs/integer.ts"],"names":[],"mappings":"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"}
@@ -54,8 +54,8 @@ export default {
54
54
  */
55
55
  generate(size, keyType, keyFn, onConflict) {
56
56
  const length_expr = Expr.from(size, IntegerType);
57
- const generator_expr = Expr.from(keyFn, FunctionType([IntegerType], keyType, []));
58
- const on_conflict_expr = onConflict ? Expr.from(onConflict, FunctionType([keyType], NullType, [])) : Expr.function([keyType], NullType, ($, key) => $.error(Expr.str `Duplicate key ${key} in set`));
57
+ const generator_expr = Expr.from(keyFn, FunctionType([IntegerType], keyType));
58
+ const on_conflict_expr = onConflict ? Expr.from(onConflict, FunctionType([keyType], NullType)) : Expr.function([keyType], NullType, ($, key) => $.error(Expr.str `Duplicate key ${key} in set`));
59
59
  return Expr.fromAst({
60
60
  ast_type: "Builtin",
61
61
  type: SetType(keyType),
@@ -1 +1 @@
1
- {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/expr/libs/set.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAG7C,0CAA0C;AAC1C,eAAe;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,QAAQ,CAAqB,IAAgC,EAAE,OAAU,EAAE,KAAkE,EAAE,UAAuE;QACpN,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAY,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACzF,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAiB,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;QAE3M,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,aAAa;YACtB,eAAe,EAAE,CAAC,OAAO,CAAC;YAC1B,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC3F,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/expr/libs/set.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAG7C,0CAA0C;AAC1C,eAAe;IACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,QAAQ,CAAqB,IAAgC,EAAE,OAAU,EAAE,KAAkE,EAAE,UAAuE;QACpN,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAY,EAAE,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrF,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAiB,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAA,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;QAEvM,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,aAAa;YACtB,eAAe,EAAE,CAAC,OAAO,CAAC;YAC1B,SAAS,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC3F,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAA"}
@@ -117,7 +117,7 @@ export class RefExpr extends Expr {
117
117
  merge(value, updateFn) {
118
118
  const location = get_location(2);
119
119
  const value2Type = value[TypeSymbol];
120
- const updateFnExpr = Expr.from(updateFn, FunctionType([value2Type, this.value_type], this.value_type, null));
120
+ const updateFnExpr = Expr.from(updateFn, FunctionType([value2Type, this.value_type], this.value_type));
121
121
  return this[FactorySymbol]({
122
122
  ast_type: "Builtin",
123
123
  type: NullType,
@@ -1 +1 @@
1
- {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/expr/ref.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAe,MAAM,WAAW,CAAC;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,OAAuB,SAAQ,IAAgB;IACtC;IAApB,YAAoB,UAAa,EAAE,GAAQ,EAAE,UAAkB;QAC7D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAD1B,eAAU,GAAV,UAAU,CAAG;IAEjC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,IAAI,CAAC,UAAsB;YACjC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,QAAQ;YACjB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAsB,CAAC;YAC9C,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC5B,CAAgB,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,WAAW;YACpB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAsB,CAAC;YAC9C,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC7C,CAAmB,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAK,KAAe,EAAE,QAA+D;QACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAe,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QAEpH,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAsB,EAAE,UAAsB,CAAC;YACtE,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;SACxE,CAAuB,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/expr/ref.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAe,MAAM,WAAW,CAAC;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,OAAuB,SAAQ,IAAgB;IACtC;IAApB,YAAoB,UAAa,EAAE,GAAQ,EAAE,UAAkB;QAC7D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAD1B,eAAU,GAAV,UAAU,CAAG;IAEjC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,IAAI,CAAC,UAAsB;YACjC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,QAAQ;YACjB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAsB,CAAC;YAC9C,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC5B,CAAgB,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzB,OAAO,EAAE,WAAW;YACpB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAsB,CAAC;YAC9C,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC7C,CAAmB,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAK,KAAe,EAAE,QAA+D;QACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAe,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9G,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ;YACR,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,CAAC,IAAI,CAAC,UAAsB,EAAE,UAAsB,CAAC;YACtE,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;SACxE,CAAuB,CAAC;IAC3B,CAAC;CACF"}
@@ -512,7 +512,7 @@ export class SetExpr extends Expr {
512
512
  * ```
513
513
  */
514
514
  filter(pred) {
515
- const predExpr = Expr.from(pred, FunctionType([this.key_type], BooleanType, null));
515
+ const predExpr = Expr.from(pred, FunctionType([this.key_type], BooleanType));
516
516
  return Expr.fromAst({
517
517
  ast_type: "Builtin",
518
518
  type: this[TypeSymbol],
@@ -547,7 +547,7 @@ export class SetExpr extends Expr {
547
547
  });
548
548
  }
549
549
  firstMap(fn) {
550
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined, null));
550
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined));
551
551
  const returnType = fnAst.type.output;
552
552
  if (returnType.type !== "Variant") {
553
553
  throw new Error(`Expected Function to return an Option type, got ${printType(returnType)}`);
@@ -616,9 +616,9 @@ export class SetExpr extends Expr {
616
616
  });
617
617
  }
618
618
  mapReduce(mapFn, combineFn) {
619
- const mapAst = valueOrExprToAstTyped(mapFn, FunctionType([this.key_type], undefined, null));
619
+ const mapAst = valueOrExprToAstTyped(mapFn, FunctionType([this.key_type], undefined));
620
620
  const mapType = mapAst.type.output;
621
- const combineAst = valueOrExprToAstTyped(combineFn, FunctionType([mapType, mapType], mapType, null));
621
+ const combineAst = valueOrExprToAstTyped(combineFn, FunctionType([mapType, mapType], mapType));
622
622
  return Expr.fromAst({
623
623
  ast_type: "Builtin",
624
624
  type: mapType,
@@ -649,7 +649,7 @@ export class SetExpr extends Expr {
649
649
  reduce(fn, init) {
650
650
  const initAst = valueOrExprToAst(init);
651
651
  const returnType = initAst.type;
652
- const fnExpr = Expr.from(fn, FunctionType([returnType, this.key_type], returnType, null));
652
+ const fnExpr = Expr.from(fn, FunctionType([returnType, this.key_type], returnType));
653
653
  return Expr.fromAst({
654
654
  ast_type: "Builtin",
655
655
  type: returnType,
@@ -710,9 +710,9 @@ export class SetExpr extends Expr {
710
710
  });
711
711
  }
712
712
  toDict(keyFn, valueFn, onConflictFn) {
713
- const keyFnAst = valueOrExprToAstTyped(keyFn ?? ((_$, x, i) => i), FunctionType([this.key_type], undefined, null));
713
+ const keyFnAst = valueOrExprToAstTyped(keyFn ?? ((_$, x, i) => i), FunctionType([this.key_type], undefined));
714
714
  const keyType = keyFnAst.type.output;
715
- const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
715
+ const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
716
716
  const valueType = valueFnAst.type.output;
717
717
  let onConflictAst;
718
718
  if (onConflictFn === undefined) {
@@ -721,7 +721,7 @@ export class SetExpr extends Expr {
721
721
  onConflictAst = Expr.ast(onConflictFunction);
722
722
  }
723
723
  else {
724
- onConflictAst = valueOrExprToAstTyped(onConflictFn, FunctionType([valueType, valueType, keyType], valueType, null));
724
+ onConflictAst = valueOrExprToAstTyped(onConflictFn, FunctionType([valueType, valueType, keyType], valueType));
725
725
  }
726
726
  return Expr.fromAst({
727
727
  ast_type: "Builtin",
@@ -733,7 +733,7 @@ export class SetExpr extends Expr {
733
733
  });
734
734
  }
735
735
  flattenToArray(fn) {
736
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined, null));
736
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined));
737
737
  const returnType = fnAst.type.output;
738
738
  if (returnType.type !== "Array") {
739
739
  throw new Error(`Expected Function to return an Array type, got ${printType(returnType)}`);
@@ -749,7 +749,7 @@ export class SetExpr extends Expr {
749
749
  });
750
750
  }
751
751
  flattenToSet(fn) {
752
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined, null));
752
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined));
753
753
  const returnType = fnAst.type.output;
754
754
  if (returnType.type !== "Set") {
755
755
  throw new Error(`Expected Function to return a Set type, got ${printType(returnType)}`);
@@ -765,7 +765,7 @@ export class SetExpr extends Expr {
765
765
  });
766
766
  }
767
767
  flattenToDict(fn, onConflictFn) {
768
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined, null));
768
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined));
769
769
  const returnType = fnAst.type.output;
770
770
  if (returnType.type !== "Dict") {
771
771
  throw new Error(`Expected Function to return a Dict type, got ${printType(returnType)}`);
@@ -779,7 +779,7 @@ export class SetExpr extends Expr {
779
779
  onConflictAst = Expr.ast(onConflictFunction);
780
780
  }
781
781
  else {
782
- onConflictAst = valueOrExprToAstTyped(onConflictFn, FunctionType([valueType, valueType, keyType], valueType, null));
782
+ onConflictAst = valueOrExprToAstTyped(onConflictFn, FunctionType([valueType, valueType, keyType], valueType));
783
783
  }
784
784
  return Expr.fromAst({
785
785
  ast_type: "Builtin",
@@ -791,11 +791,11 @@ export class SetExpr extends Expr {
791
791
  });
792
792
  }
793
793
  groupReduce(keyFn, initFn, reduceFn) {
794
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
794
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
795
795
  const keyType = keyFnAst.type.output;
796
- const initFnAst = valueOrExprToAstTyped(initFn, FunctionType([keyType], undefined, null));
796
+ const initFnAst = valueOrExprToAstTyped(initFn, FunctionType([keyType], undefined));
797
797
  const initType = initFnAst.type.output;
798
- const reduceFnAst = valueOrExprToAstTyped(reduceFn, FunctionType([initType, this.key_type], initType, null));
798
+ const reduceFnAst = valueOrExprToAstTyped(reduceFn, FunctionType([initType, this.key_type], initType));
799
799
  return Expr.fromAst({
800
800
  ast_type: "Builtin",
801
801
  type: DictType(keyType, initType),
@@ -806,8 +806,8 @@ export class SetExpr extends Expr {
806
806
  });
807
807
  }
808
808
  groupToArrays(keyFn, valueFn) {
809
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
810
- const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
809
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
810
+ const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
811
811
  const keyFnExpr = Expr.fromAst(keyFnAst);
812
812
  const valueFnExpr = Expr.fromAst(valueFnAst);
813
813
  const valueType = valueFnAst.type.output;
@@ -818,8 +818,8 @@ export class SetExpr extends Expr {
818
818
  }));
819
819
  }
820
820
  groupToSets(keyFn, valueFn) {
821
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
822
- const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
821
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
822
+ const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
823
823
  const keyFnExpr = Expr.fromAst(keyFnAst);
824
824
  const valueFnExpr = Expr.fromAst(valueFnAst);
825
825
  const valueType = valueFnAst.type.output;
@@ -830,9 +830,9 @@ export class SetExpr extends Expr {
830
830
  }));
831
831
  }
832
832
  groupToDicts(keyFn, keyFn2, valueFn, combineFn) {
833
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
834
- const keyFn2Ast = valueOrExprToAstTyped(keyFn2, FunctionType([this.key_type], undefined, null));
835
- const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
833
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
834
+ const keyFn2Ast = valueOrExprToAstTyped(keyFn2, FunctionType([this.key_type], undefined));
835
+ const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
836
836
  const keyFnExpr = Expr.fromAst(keyFnAst);
837
837
  const keyFn2Expr = Expr.fromAst(keyFn2Ast);
838
838
  const valueFnExpr = Expr.fromAst(valueFnAst);
@@ -840,7 +840,7 @@ export class SetExpr extends Expr {
840
840
  const valueType = valueFnAst.type.output;
841
841
  if (combineFn !== undefined) {
842
842
  // With conflict resolution - use tryGet + match to check existence, then insert or combine
843
- const combineFnAst = valueOrExprToAstTyped(combineFn, FunctionType([valueType, valueType], valueType, null));
843
+ const combineFnAst = valueOrExprToAstTyped(combineFn, FunctionType([valueType, valueType], valueType));
844
844
  const combineFnExpr = Expr.fromAst(combineFnAst);
845
845
  return this.groupReduce(((_$, key) => keyFnExpr(key)), ((_$, _key) => Expr.from(new Map(), DictType(key2Type, valueType))), (($, dict, key) => {
846
846
  const innerKey = keyFn2Expr(key);
@@ -868,28 +868,28 @@ export class SetExpr extends Expr {
868
868
  }
869
869
  }
870
870
  groupSize(keyFn) {
871
- const keyFnAst = valueOrExprToAstTyped(keyFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
871
+ const keyFnAst = valueOrExprToAstTyped(keyFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
872
872
  return this.toDict(((_$, key) => Expr.fromAst(keyFnAst)(key)), ((_$) => 1n), ((_$, a, b) => a.add(b)));
873
873
  }
874
874
  groupEvery(keyFn, predFn) {
875
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
876
- const predFnAst = valueOrExprToAstTyped(predFn, FunctionType([this.key_type], BooleanType, null));
875
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
876
+ const predFnAst = valueOrExprToAstTyped(predFn, FunctionType([this.key_type], BooleanType));
877
877
  return this.groupReduce(((_$, key) => Expr.fromAst(keyFnAst)(key)), (() => true), ((_$, acc, key) => {
878
878
  const pred = Expr.fromAst(predFnAst)(key);
879
879
  return acc.and(() => pred);
880
880
  }));
881
881
  }
882
882
  groupSome(keyFn, predFn) {
883
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
884
- const predFnAst = valueOrExprToAstTyped(predFn, FunctionType([this.key_type], BooleanType, null));
883
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
884
+ const predFnAst = valueOrExprToAstTyped(predFn, FunctionType([this.key_type], BooleanType));
885
885
  return this.groupReduce(((_$, key) => Expr.fromAst(keyFnAst)(key)), (() => false), ((_$, acc, key) => {
886
886
  const pred = Expr.fromAst(predFnAst)(key);
887
887
  return acc.or(() => pred);
888
888
  }));
889
889
  }
890
890
  groupSum(keyFn, valueFn) {
891
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
892
- const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
891
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
892
+ const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
893
893
  const valueType = valueFnAst.type.output;
894
894
  const isInteger = isTypeEqual(valueType, IntegerType);
895
895
  const isFloat = isTypeEqual(valueType, FloatType);
@@ -899,8 +899,8 @@ export class SetExpr extends Expr {
899
899
  return this.toDict(((_$, key) => Expr.fromAst(keyFnAst)(key)), ((_$, key) => Expr.fromAst(valueFnAst)(key)), ((_$, a, b) => a.add(b)));
900
900
  }
901
901
  groupMean(keyFn, valueFn) {
902
- const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined, null));
903
- const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined, null));
902
+ const keyFnAst = valueOrExprToAstTyped(keyFn, FunctionType([this.key_type], undefined));
903
+ const valueFnAst = valueOrExprToAstTyped(valueFn ?? ((_$, x) => x), FunctionType([this.key_type], undefined));
904
904
  const valueType = valueFnAst.type.output;
905
905
  const isInteger = isTypeEqual(valueType, IntegerType);
906
906
  const isFloat = isTypeEqual(valueType, FloatType);
@@ -973,7 +973,7 @@ export class SetExpr extends Expr {
973
973
  };
974
974
  const checkFnAst = {
975
975
  ast_type: "Function",
976
- type: FunctionType([this.key_type], optionType, []),
976
+ type: FunctionType([this.key_type], optionType),
977
977
  location: get_location(2),
978
978
  parameters: [paramVariable],
979
979
  body: {
@@ -997,7 +997,7 @@ export class SetExpr extends Expr {
997
997
  });
998
998
  return Expr.match(result, { some: () => false, none: () => true });
999
999
  }
1000
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], BooleanType, null));
1000
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], BooleanType));
1001
1001
  // Short-circuit on first false value
1002
1002
  const result = this.firstMap(($, k) => {
1003
1003
  const result = Expr.fromAst(fnAst)(k);
@@ -1057,7 +1057,7 @@ export class SetExpr extends Expr {
1057
1057
  // Check if boolean is true, then return some(null) to stop, otherwise return none to continue
1058
1058
  const checkFnAst = {
1059
1059
  ast_type: "Function",
1060
- type: FunctionType([this.key_type], optionType, []),
1060
+ type: FunctionType([this.key_type], optionType),
1061
1061
  location: get_location(2),
1062
1062
  parameters: [paramVariable],
1063
1063
  body: {
@@ -1081,7 +1081,7 @@ export class SetExpr extends Expr {
1081
1081
  });
1082
1082
  return Expr.match(result, { some: () => true, none: () => false });
1083
1083
  }
1084
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], BooleanType, null));
1084
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], BooleanType));
1085
1085
  // Short-circuit on first true value
1086
1086
  const result = this.firstMap(($, k) => {
1087
1087
  const result = Expr.fromAst(fnAst)(k);
@@ -1098,7 +1098,7 @@ export class SetExpr extends Expr {
1098
1098
  return this.reduce(($, previous, value) => previous.add(value), zero);
1099
1099
  }
1100
1100
  else {
1101
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined, null));
1101
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined));
1102
1102
  const returnType = fnAst.type.output;
1103
1103
  if (!(isTypeEqual(returnType, IntegerType) || isTypeEqual(returnType, FloatType))) {
1104
1104
  throw new Error(`Can only perform sum on array of numbers (Integer or Float), got ${printType(returnType)}`);
@@ -1120,7 +1120,7 @@ export class SetExpr extends Expr {
1120
1120
  }
1121
1121
  }
1122
1122
  else {
1123
- const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined, null));
1123
+ const fnAst = valueOrExprToAstTyped(fn, FunctionType([this.key_type], undefined));
1124
1124
  const returnType = fnAst.type.output;
1125
1125
  if (isTypeEqual(returnType, IntegerType)) {
1126
1126
  return this.reduce(($, previous, key) => previous.add(Expr.fromAst(fnAst)(key).toFloat()), 0.0).divide(this.size().toFloat());