@lionlang/core 0.1.1 → 0.2.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 (114) hide show
  1. package/README.md +2 -0
  2. package/dist/analysis/analyze.d.mts +34 -0
  3. package/dist/analysis/analyze.d.mts.map +1 -0
  4. package/dist/analysis/analyze.mjs +181 -0
  5. package/dist/analysis/analyze.mjs.map +1 -0
  6. package/dist/environment-BQw8BPXl.d.mts +25 -0
  7. package/dist/{environment-k2Uf6VVc.d.mts.map → environment-BQw8BPXl.d.mts.map} +1 -1
  8. package/dist/errors/evaluation.d.mts +1 -1
  9. package/dist/errors/evaluation.mjs +2 -2
  10. package/dist/errors/evaluation.mjs.map +1 -1
  11. package/dist/{evaluate-D7ODMrbg.mjs → evaluate-BJOG7kaS.mjs} +36 -33
  12. package/dist/evaluate-BJOG7kaS.mjs.map +1 -0
  13. package/dist/evaluation/base-forms/array.d.mts +5 -6
  14. package/dist/evaluation/base-forms/array.d.mts.map +1 -1
  15. package/dist/evaluation/base-forms/array.mjs +1 -1
  16. package/dist/evaluation/base-forms/primitive.d.mts +2 -2
  17. package/dist/evaluation/base-forms/primitive.mjs +2 -2
  18. package/dist/evaluation/base-forms/primitive.mjs.map +1 -1
  19. package/dist/evaluation/base-forms/record.d.mts +5 -5
  20. package/dist/evaluation/base-forms/record.d.mts.map +1 -1
  21. package/dist/evaluation/base-forms/record.mjs +1 -1
  22. package/dist/evaluation/environment.d.mts +1 -1
  23. package/dist/evaluation/environment.d.mts.map +1 -1
  24. package/dist/evaluation/environment.mjs +10 -7
  25. package/dist/evaluation/environment.mjs.map +1 -1
  26. package/dist/evaluation/evaluate.d.mts +5 -6
  27. package/dist/evaluation/evaluate.d.mts.map +1 -1
  28. package/dist/evaluation/evaluate.mjs +1 -1
  29. package/dist/evaluation/special-forms/begin.d.mts +4 -4
  30. package/dist/evaluation/special-forms/begin.d.mts.map +1 -1
  31. package/dist/evaluation/special-forms/begin.mjs +1 -1
  32. package/dist/evaluation/special-forms/cond.d.mts +4 -5
  33. package/dist/evaluation/special-forms/cond.d.mts.map +1 -1
  34. package/dist/evaluation/special-forms/cond.mjs +1 -1
  35. package/dist/evaluation/special-forms/define.d.mts +4 -4
  36. package/dist/evaluation/special-forms/define.d.mts.map +1 -1
  37. package/dist/evaluation/special-forms/define.mjs +1 -1
  38. package/dist/evaluation/special-forms/eval.d.mts +4 -5
  39. package/dist/evaluation/special-forms/eval.d.mts.map +1 -1
  40. package/dist/evaluation/special-forms/eval.mjs +1 -1
  41. package/dist/evaluation/special-forms/function.d.mts +4 -5
  42. package/dist/evaluation/special-forms/function.d.mts.map +1 -1
  43. package/dist/evaluation/special-forms/function.mjs +1 -1
  44. package/dist/evaluation/special-forms/lambda.d.mts +4 -4
  45. package/dist/evaluation/special-forms/lambda.d.mts.map +1 -1
  46. package/dist/evaluation/special-forms/lambda.mjs +1 -1
  47. package/dist/evaluation/special-forms/match.d.mts +4 -5
  48. package/dist/evaluation/special-forms/match.d.mts.map +1 -1
  49. package/dist/evaluation/special-forms/match.mjs +1 -1
  50. package/dist/evaluation/special-forms/quote.d.mts +1 -1
  51. package/dist/evaluation-B6K0DbPS.d.mts +14 -0
  52. package/dist/evaluation-B6K0DbPS.d.mts.map +1 -0
  53. package/dist/evaluation-Bs36vy1h.d.mts +12 -0
  54. package/dist/evaluation-Bs36vy1h.d.mts.map +1 -0
  55. package/dist/evaluation-Dwo4KN_D.d.mts +9 -0
  56. package/dist/evaluation-Dwo4KN_D.d.mts.map +1 -0
  57. package/dist/{json-primitive-DUaaoNff.d.mts → json-primitive-gcv9Q1E4.d.mts} +2 -2
  58. package/dist/json-primitive-gcv9Q1E4.d.mts.map +1 -0
  59. package/dist/lion-expression-DMR7Psmu.d.mts +16 -0
  60. package/dist/lion-expression-DMR7Psmu.d.mts.map +1 -0
  61. package/dist/modules/array.d.mts +9 -10
  62. package/dist/modules/array.d.mts.map +1 -1
  63. package/dist/modules/array.mjs +9 -5
  64. package/dist/modules/array.mjs.map +1 -1
  65. package/dist/modules/boolean.d.mts +8 -9
  66. package/dist/modules/boolean.d.mts.map +1 -1
  67. package/dist/modules/boolean.mjs +6 -6
  68. package/dist/modules/boolean.mjs.map +1 -1
  69. package/dist/modules/console.mjs.map +1 -1
  70. package/dist/modules/lib/shared.d.mts +1 -2
  71. package/dist/modules/lib/shared.d.mts.map +1 -1
  72. package/dist/modules/lib/shared.mjs +1 -1
  73. package/dist/modules/lib/shared.mjs.map +1 -1
  74. package/dist/modules/number.d.mts +10 -11
  75. package/dist/modules/number.d.mts.map +1 -1
  76. package/dist/modules/number.mjs +9 -9
  77. package/dist/modules/number.mjs.map +1 -1
  78. package/dist/modules/object.d.mts +39 -59
  79. package/dist/modules/object.d.mts.map +1 -1
  80. package/dist/modules/object.mjs +12 -18
  81. package/dist/modules/object.mjs.map +1 -1
  82. package/dist/modules/string.d.mts +8 -9
  83. package/dist/modules/string.d.mts.map +1 -1
  84. package/dist/modules/string.mjs +6 -6
  85. package/dist/modules/string.mjs.map +1 -1
  86. package/dist/schemas/environment.d.mts +1 -1
  87. package/dist/schemas/environment.mjs +3 -3
  88. package/dist/schemas/environment.mjs.map +1 -1
  89. package/dist/schemas/evaluation.d.mts +17 -17
  90. package/dist/schemas/evaluation.d.mts.map +1 -1
  91. package/dist/schemas/evaluation.mjs +23 -15
  92. package/dist/schemas/evaluation.mjs.map +1 -1
  93. package/dist/schemas/json-primitive.d.mts +1 -1
  94. package/dist/schemas/json-primitive.mjs +6 -1
  95. package/dist/schemas/json-primitive.mjs.map +1 -1
  96. package/dist/schemas/lion-expression.d.mts +1 -1
  97. package/dist/schemas/lion-expression.mjs +6 -5
  98. package/dist/schemas/lion-expression.mjs.map +1 -1
  99. package/dist/services/evaluation.d.mts +2 -2
  100. package/dist/services/evaluation.mjs +3 -4
  101. package/dist/services/evaluation.mjs.map +1 -1
  102. package/dist/types/evaluation.d.mts +1 -1
  103. package/package.json +7 -6
  104. package/dist/environment-k2Uf6VVc.d.mts +0 -25
  105. package/dist/evaluate-D7ODMrbg.mjs.map +0 -1
  106. package/dist/evaluation-AblffSQw.d.mts +0 -17
  107. package/dist/evaluation-AblffSQw.d.mts.map +0 -1
  108. package/dist/evaluation-EqzK8tQV.d.mts +0 -13
  109. package/dist/evaluation-EqzK8tQV.d.mts.map +0 -1
  110. package/dist/evaluation-uwZSKxIf.d.mts +0 -10
  111. package/dist/evaluation-uwZSKxIf.d.mts.map +0 -1
  112. package/dist/json-primitive-DUaaoNff.d.mts.map +0 -1
  113. package/dist/lion-expression-6Y3itx9l.d.mts +0 -16
  114. package/dist/lion-expression-6Y3itx9l.d.mts.map +0 -1
@@ -3,15 +3,15 @@ import { Effect, Schema, flow } from "effect";
3
3
  //#region src/modules/number.ts
4
4
  const module = {
5
5
  symbol: Symbol("number"),
6
- "equals?": flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a === b)),
7
- lessThan: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a < b)),
8
- greaterThan: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a > b)),
9
- lessThanOrEqualTo: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a <= b)),
10
- greaterThanOrEqualTo: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a >= b)),
11
- add: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a + b)),
12
- subtract: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a - b)),
13
- multiply: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a * b)),
14
- divide: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Number, Schema.Number)), Effect.map(([a, b]) => a / b))
6
+ "equals?": flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a === b)),
7
+ lessThan: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a < b)),
8
+ greaterThan: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a > b)),
9
+ lessThanOrEqualTo: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a <= b)),
10
+ greaterThanOrEqualTo: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a >= b)),
11
+ add: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a + b)),
12
+ subtract: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a - b)),
13
+ multiply: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a * b)),
14
+ divide: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Number, Schema.Number])), Effect.map(([a, b]) => a / b))
15
15
  };
16
16
  //#endregion
17
17
  export { module };
@@ -1 +1 @@
1
- {"version":3,"file":"number.mjs","names":[],"sources":["../../src/modules/number.ts"],"sourcesContent":["import { Effect, flow, Schema } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"number\"),\n\n \"equals?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a === b)\n ),\n\n lessThan: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a < b)\n ),\n\n greaterThan: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a > b)\n ),\n\n lessThanOrEqualTo: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a <= b)\n ),\n\n greaterThanOrEqualTo: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a >= b)\n ),\n\n add: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a + b)\n ),\n\n subtract: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a - b)\n ),\n\n multiply: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a * b)\n ),\n\n divide: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Number, Schema.Number)),\n Effect.map(([a, b]) => a / b)\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,SAAS;CAExB,WAAW,MACR,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,MAAM,EAAE,CAChC;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,aAAa,MACV,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,mBAAmB,MAChB,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,KAAK,EAAE,CAC/B;CAED,sBAAsB,MACnB,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,KAAK,EAAE,CAC/B;CAED,KAAK,MACF,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,QAAQ,MACL,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CACF"}
1
+ {"version":3,"file":"number.mjs","names":[],"sources":["../../src/modules/number.ts"],"sourcesContent":["import { Effect, flow, Schema } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"number\"),\n\n \"equals?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a === b)\n ),\n\n lessThan: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a < b)\n ),\n\n greaterThan: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a > b)\n ),\n\n lessThanOrEqualTo: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a <= b)\n ),\n\n greaterThanOrEqualTo: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a >= b)\n ),\n\n add: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a + b)\n ),\n\n subtract: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a - b)\n ),\n\n multiply: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a * b)\n ),\n\n divide: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Number, Schema.Number])),\n Effect.map(([a, b]) => a / b)\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,SAAS;CAExB,WAAW,MACR,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,MAAM,EAAE,CAChC;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,aAAa,MACV,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,mBAAmB,MAChB,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,KAAK,EAAE,CAC/B;CAED,sBAAsB,MACnB,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,KAAK,EAAE,CAC/B;CAED,KAAK,MACF,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CAED,QAAQ,MACL,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,IAAI,EAAE,CAC9B;CACF"}
@@ -1,80 +1,60 @@
1
1
  import { Effect, Schema } from "effect";
2
- import * as _$effect_ParseResult0 from "effect/ParseResult";
2
+ import * as _$effect_Cause0 from "effect/Cause";
3
3
 
4
4
  //#region src/modules/object.d.ts
5
- declare const NotAnObjectError_base: Schema.TaggedErrorClass<NotAnObjectError, "NotAnObjectError", {
6
- readonly _tag: Schema.tag<"NotAnObjectError">;
7
- } & {
8
- actual: typeof Schema.Unknown;
9
- }>;
5
+ declare const NotAnObjectError_base: Schema.Class<NotAnObjectError, Schema.TaggedStruct<"NotAnObjectError", {
6
+ readonly actual: Schema.Unknown;
7
+ }>, _$effect_Cause0.YieldableError>;
10
8
  declare class NotAnObjectError extends NotAnObjectError_base {}
11
- declare const KeyNotFoundError_base: Schema.TaggedErrorClass<KeyNotFoundError, "KeyNotFoundError", {
12
- readonly _tag: Schema.tag<"KeyNotFoundError">;
13
- } & {
14
- key: typeof Schema.String;
15
- }>;
9
+ declare const KeyNotFoundError_base: Schema.Class<KeyNotFoundError, Schema.TaggedStruct<"KeyNotFoundError", {
10
+ readonly key: Schema.String;
11
+ }>, _$effect_Cause0.YieldableError>;
16
12
  declare class KeyNotFoundError extends KeyNotFoundError_base {}
17
- declare const NotAFunctionError_base: Schema.TaggedErrorClass<NotAFunctionError, "NotAFunctionError", {
18
- readonly _tag: Schema.tag<"NotAFunctionError">;
19
- } & {
20
- key: typeof Schema.String;
21
- actual: typeof Schema.Unknown;
22
- }>;
13
+ declare const NotAFunctionError_base: Schema.Class<NotAFunctionError, Schema.TaggedStruct<"NotAFunctionError", {
14
+ readonly key: Schema.String;
15
+ readonly actual: Schema.Unknown;
16
+ }>, _$effect_Cause0.YieldableError>;
23
17
  declare class NotAFunctionError extends NotAFunctionError_base {}
24
- declare const NotAConstructorError_base: Schema.TaggedErrorClass<NotAConstructorError, "NotAConstructorError", {
25
- readonly _tag: Schema.tag<"NotAConstructorError">;
26
- } & {
27
- actual: typeof Schema.Unknown;
28
- }>;
18
+ declare const NotAConstructorError_base: Schema.Class<NotAConstructorError, Schema.TaggedStruct<"NotAConstructorError", {
19
+ readonly actual: Schema.Unknown;
20
+ }>, _$effect_Cause0.YieldableError>;
29
21
  declare class NotAConstructorError extends NotAConstructorError_base {}
30
- declare const PathTraversalError_base: Schema.TaggedErrorClass<PathTraversalError, "PathTraversalError", {
31
- readonly _tag: Schema.tag<"PathTraversalError">;
32
- } & {
33
- path: typeof Schema.String;
34
- key: typeof Schema.String;
35
- current: typeof Schema.Unknown;
36
- }>;
22
+ declare const PathTraversalError_base: Schema.Class<PathTraversalError, Schema.TaggedStruct<"PathTraversalError", {
23
+ readonly path: Schema.String;
24
+ readonly key: Schema.String;
25
+ readonly current: Schema.Unknown;
26
+ }>, _$effect_Cause0.YieldableError>;
37
27
  declare class PathTraversalError extends PathTraversalError_base {}
38
- declare const EmptyPathError_base: Schema.TaggedErrorClass<EmptyPathError, "EmptyPathError", {
39
- readonly _tag: Schema.tag<"EmptyPathError">;
40
- } & {
41
- path: typeof Schema.String;
42
- }>;
28
+ declare const EmptyPathError_base: Schema.Class<EmptyPathError, Schema.TaggedStruct<"EmptyPathError", {
29
+ readonly path: Schema.String;
30
+ }>, _$effect_Cause0.YieldableError>;
43
31
  declare class EmptyPathError extends EmptyPathError_base {}
44
- declare const MethodNotFoundError_base: Schema.TaggedErrorClass<MethodNotFoundError, "MethodNotFoundError", {
45
- readonly _tag: Schema.tag<"MethodNotFoundError">;
46
- } & {
47
- path: typeof Schema.String;
48
- methodKey: typeof Schema.String;
49
- actual: typeof Schema.Unknown;
50
- }>;
32
+ declare const MethodNotFoundError_base: Schema.Class<MethodNotFoundError, Schema.TaggedStruct<"MethodNotFoundError", {
33
+ readonly path: Schema.String;
34
+ readonly methodKey: Schema.String;
35
+ readonly actual: Schema.Unknown;
36
+ }>, _$effect_Cause0.YieldableError>;
51
37
  declare class MethodNotFoundError extends MethodNotFoundError_base {}
52
- declare const IndexOutOfBoundsError_base: Schema.TaggedErrorClass<IndexOutOfBoundsError, "IndexOutOfBoundsError", {
53
- readonly _tag: Schema.tag<"IndexOutOfBoundsError">;
54
- } & {
55
- index: typeof Schema.Number;
56
- length: typeof Schema.Number;
57
- }>;
38
+ declare const IndexOutOfBoundsError_base: Schema.Class<IndexOutOfBoundsError, Schema.TaggedStruct<"IndexOutOfBoundsError", {
39
+ readonly index: Schema.Number;
40
+ readonly length: Schema.Number;
41
+ }>, _$effect_Cause0.YieldableError>;
58
42
  declare class IndexOutOfBoundsError extends IndexOutOfBoundsError_base {}
59
- declare const NotAnArrayError_base: Schema.TaggedErrorClass<NotAnArrayError, "NotAnArrayError", {
60
- readonly _tag: Schema.tag<"NotAnArrayError">;
61
- } & {
62
- actual: typeof Schema.Unknown;
63
- }>;
43
+ declare const NotAnArrayError_base: Schema.Class<NotAnArrayError, Schema.TaggedStruct<"NotAnArrayError", {
44
+ readonly actual: Schema.Unknown;
45
+ }>, _$effect_Cause0.YieldableError>;
64
46
  declare class NotAnArrayError extends NotAnArrayError_base {}
65
- declare const InvalidPathError_base: Schema.TaggedErrorClass<InvalidPathError, "InvalidPathError", {
66
- readonly _tag: Schema.tag<"InvalidPathError">;
67
- } & {
68
- path: typeof Schema.Unknown;
69
- }>;
47
+ declare const InvalidPathError_base: Schema.Class<InvalidPathError, Schema.TaggedStruct<"InvalidPathError", {
48
+ readonly path: Schema.Unknown;
49
+ }>, _$effect_Cause0.YieldableError>;
70
50
  declare class InvalidPathError extends InvalidPathError_base {}
71
51
  declare const module: {
72
52
  symbol: symbol;
73
53
  get: (obj: unknown, key: string) => Effect.Effect<unknown, NotAnObjectError, never>;
74
54
  "get-path": (obj: unknown, path: string) => Effect.Effect<unknown, NotAnObjectError | InvalidPathError | PathTraversalError | NotAnArrayError | IndexOutOfBoundsError | KeyNotFoundError, never>;
75
55
  "json-stringify": (obj: unknown, replacer: Parameters<typeof JSON.stringify>[1], space: number) => Effect.Effect<string, NotAnObjectError, never>;
76
- keys: (obj: unknown) => Effect.Effect<string[], _$effect_ParseResult0.ParseError, never>;
77
- values: (obj: unknown) => Effect.Effect<unknown[], _$effect_ParseResult0.ParseError, never>;
56
+ keys: (obj: unknown) => Effect.Effect<string[], Schema.SchemaError, never>;
57
+ values: (obj: unknown) => Effect.Effect<unknown[], Schema.SchemaError, never>;
78
58
  new: (classRef: unknown, ...args: unknown[]) => Effect.Effect<unknown, NotAConstructorError, never>;
79
59
  "get-method": (obj: unknown, key: unknown) => Effect.Effect<any, NotAnObjectError | NotAFunctionError, never>;
80
60
  "call-method": (obj: unknown, key: unknown, ...args: unknown[]) => Effect.Effect<any, NotAFunctionError, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.mts","names":[],"sources":["../../src/modules/object.ts"],"mappings":";;;;cAAsD,qBAAA;;;;;cAEhD,gBAAA,SAAyB,qBAAA;AAAA,cAEkB,qBAAA;;;;;cAE3C,gBAAA,SAAyB,qBAAA;AAAA,cAEc,sBAAA;;;;;;cAEvC,iBAAA,SAA0B,sBAAA;AAAA,cAEsC,yBAAA;;;;;cAEhE,oBAAA,SAA6B,yBAAA;AAAA,cAEkB,uBAAA;;;;;;;cAE/C,kBAAA,SAA2B,uBAAA;AAAA,cAM/B,mBAAA;;;;;cAEI,cAAA,SAAuB,mBAAA;AAAA,cAEe,wBAAA;;;;;;;cAEtC,mBAAA,SAA4B,wBAAA;AAAA,cAMhC,0BAAA;;;;;;cAEI,qBAAA,SAA8B,0BAAA;AAAA,cAKlC,oBAAA;;;;;cAEI,eAAA,SAAwB,oBAAA;AAAA,cAEkB,qBAAA;;;;;cAE1C,gBAAA,SAAyB,qBAAA;AAAA,cAkGlB,MAAA;;sBAGO,GAAA,aAAa,MAAA,CAAA,MAAA,UAAA,gBAAA;6BAQN,IAAA,aAAc,MAAA,CAAA,MAAA,UAAA,gBAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,qBAAA,GAAA,gBAAA;mCAyBzB,QAAA,EACF,UAAA,QAAkB,IAAA,CAAK,SAAA,MAAa,KAAA,aACjC,MAAA,CAAA,MAAA,SAAA,gBAAA;kDAAA,qBAAA,CAAA,UAAA;;8BAyBU,IAAA,gBAAoB,MAAA,CAAA,MAAA,UAAA,oBAAA;+BAUlB,GAAA,cAAc,MAAA,CAAA,MAAA,MAAA,gBAAA,GAAA,iBAAA;gCAgBb,GAAA,cAAc,IAAA,gBAAoB,MAAA,CAAA,MAAA,MAAA,iBAAA;oCAY9B,IAAA,aAAc,MAAA,CAAA,MAAA,KAAA,IAAA,yBA9Hf,gBAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,mBAAA;qCA6IE,IAAA,aAAc,IAAA,gBAAoB,MAAA,CAAA,MAAA,UAAA,gBAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,mBAAA;AAAA"}
1
+ {"version":3,"file":"object.d.mts","names":[],"sources":["../../src/modules/object.ts"],"mappings":";;;;cAAsD,qBAAA;;;cAEhD,gBAAA,SAAyB,qBAAA;AAAA,cAG9B,qBAAA;;;cAEK,gBAAA,SAAyB,qBAAA;AAAA,cAG9B,sBAAA;;;;cAEK,iBAAA,SAA0B,sBAAA;AAAA,cAG/B,yBAAA;;;cAEK,oBAAA,SAA6B,yBAAA;AAAA,cAGlC,uBAAA;;;;;cAEK,kBAAA,SAA2B,uBAAA;AAAA,cAOhC,mBAAA;;;cAEK,cAAA,SAAuB,mBAAA;AAAA,cAG5B,wBAAA;;;;;cAEK,mBAAA,SAA4B,wBAAA;AAAA,cAOjC,0BAAA;;;;cAEK,qBAAA,SAA8B,0BAAA;AAAA,cAMnC,oBAAA;;;cAEK,eAAA,SAAwB,oBAAA;AAAA,cAG7B,qBAAA;;;cAEK,gBAAA,SAAyB,qBAAA;AAAA,cAmGlB,MAAA;;sBAGO,GAAA,aAAa,MAAA,CAAA,MAAA,UAAA,gBAAA;6BAQN,IAAA,aAAc,MAAA,CAAA,MAAA,UAAA,gBAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,qBAAA,GAAA,gBAAA;mCAyBzB,QAAA,EACF,UAAA,QAAkB,IAAA,CAAK,SAAA,MAAa,KAAA,aACjC,MAAA,CAAA,MAAA,SAAA,gBAAA;;;8BAqBU,IAAA,gBAAoB,MAAA,CAAA,MAAA,UAAA,oBAAA;+BAUlB,GAAA,cAAc,MAAA,CAAA,MAAA,MAAA,gBAAA,GAAA,iBAAA;gCAgBb,GAAA,cAAc,IAAA,gBAAoB,MAAA,CAAA,MAAA,MAAA,iBAAA;oCAY9B,IAAA,aAAc,MAAA,CAAA,MAAA,KAAA,IAAA,yBA1Hf,gBAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,mBAAA;qCAyIE,IAAA,aAAc,IAAA,gBAAoB,MAAA,CAAA,MAAA,UAAA,gBAAA,GAAA,gBAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,mBAAA;AAAA"}
@@ -1,29 +1,29 @@
1
1
  import { Effect, Record, Schema, flow } from "effect";
2
2
  //#region src/modules/object.ts
3
- var NotAnObjectError = class extends Schema.TaggedError("NotAnObjectError")("NotAnObjectError", { actual: Schema.Unknown }) {};
4
- var KeyNotFoundError = class extends Schema.TaggedError("KeyNotFoundError")("KeyNotFoundError", { key: Schema.String }) {};
5
- var NotAFunctionError = class extends Schema.TaggedError("NotAFunctionError")("NotAFunctionError", {
3
+ var NotAnObjectError = class extends Schema.TaggedError()("NotAnObjectError", { actual: Schema.Unknown }) {};
4
+ var KeyNotFoundError = class extends Schema.TaggedError()("KeyNotFoundError", { key: Schema.String }) {};
5
+ var NotAFunctionError = class extends Schema.TaggedError()("NotAFunctionError", {
6
6
  key: Schema.String,
7
7
  actual: Schema.Unknown
8
8
  }) {};
9
- var NotAConstructorError = class extends Schema.TaggedError("NotAConstructorError")("NotAConstructorError", { actual: Schema.Unknown }) {};
10
- var PathTraversalError = class extends Schema.TaggedError("PathTraversalError")("PathTraversalError", {
9
+ var NotAConstructorError = class extends Schema.TaggedError()("NotAConstructorError", { actual: Schema.Unknown }) {};
10
+ var PathTraversalError = class extends Schema.TaggedError()("PathTraversalError", {
11
11
  path: Schema.String,
12
12
  key: Schema.String,
13
13
  current: Schema.Unknown
14
14
  }) {};
15
- var EmptyPathError = class extends Schema.TaggedError("EmptyPathError")("EmptyPathError", { path: Schema.String }) {};
16
- var MethodNotFoundError = class extends Schema.TaggedError("MethodNotFoundError")("MethodNotFoundError", {
15
+ var EmptyPathError = class extends Schema.TaggedError()("EmptyPathError", { path: Schema.String }) {};
16
+ var MethodNotFoundError = class extends Schema.TaggedError()("MethodNotFoundError", {
17
17
  path: Schema.String,
18
18
  methodKey: Schema.String,
19
19
  actual: Schema.Unknown
20
20
  }) {};
21
- var IndexOutOfBoundsError = class extends Schema.TaggedError("IndexOutOfBoundsError")("IndexOutOfBoundsError", {
21
+ var IndexOutOfBoundsError = class extends Schema.TaggedError()("IndexOutOfBoundsError", {
22
22
  index: Schema.Number,
23
23
  length: Schema.Number
24
24
  }) {};
25
- var NotAnArrayError = class extends Schema.TaggedError("NotAnArrayError")("NotAnArrayError", { actual: Schema.Unknown }) {};
26
- var InvalidPathError = class extends Schema.TaggedError("InvalidPathError")("InvalidPathError", { path: Schema.Unknown }) {};
25
+ var NotAnArrayError = class extends Schema.TaggedError()("NotAnArrayError", { actual: Schema.Unknown }) {};
26
+ var InvalidPathError = class extends Schema.TaggedError()("InvalidPathError", { path: Schema.Unknown }) {};
27
27
  const NUMERIC_KEY_REGEX = /^\d+$/;
28
28
  const isNumericKey = (key) => NUMERIC_KEY_REGEX.test(key);
29
29
  const getValueAtKey = (current, key) => {
@@ -104,14 +104,8 @@ const module = {
104
104
  if (typeof obj !== "object" || obj === null) return yield* new NotAnObjectError({ actual: obj });
105
105
  return JSON.stringify(obj, replacer, space);
106
106
  }),
107
- keys: flow((obj) => obj, Schema.decodeUnknown(Schema.Record({
108
- key: Schema.String,
109
- value: Schema.Unknown
110
- })), Effect.map(Record.keys)),
111
- values: flow((obj) => obj, Schema.decodeUnknown(Schema.Record({
112
- key: Schema.String,
113
- value: Schema.Unknown
114
- })), Effect.map(Record.values)),
107
+ keys: flow((obj) => obj, Schema.decodeUnknownEffect(Schema.Record(Schema.String, Schema.Unknown)), Effect.map(Record.keys)),
108
+ values: flow((obj) => obj, Schema.decodeUnknownEffect(Schema.Record(Schema.String, Schema.Unknown)), Effect.map(Record.values)),
115
109
  "new": (classRef, ...args) => Effect.gen(function* () {
116
110
  if (typeof classRef !== "function") return yield* new NotAConstructorError({ actual: classRef });
117
111
  return new classRef(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"object.mjs","names":[],"sources":["../../src/modules/object.ts"],"sourcesContent":["import { Effect, flow, Record, Schema } from \"effect\";\n\nclass NotAnObjectError extends Schema.TaggedError<NotAnObjectError>(\n \"NotAnObjectError\"\n)(\"NotAnObjectError\", { actual: Schema.Unknown }) {}\n\nclass KeyNotFoundError extends Schema.TaggedError<KeyNotFoundError>(\n \"KeyNotFoundError\"\n)(\"KeyNotFoundError\", { key: Schema.String }) {}\n\nclass NotAFunctionError extends Schema.TaggedError<NotAFunctionError>(\n \"NotAFunctionError\"\n)(\"NotAFunctionError\", { key: Schema.String, actual: Schema.Unknown }) {}\n\nclass NotAConstructorError extends Schema.TaggedError<NotAConstructorError>(\n \"NotAConstructorError\"\n)(\"NotAConstructorError\", { actual: Schema.Unknown }) {}\n\nclass PathTraversalError extends Schema.TaggedError<PathTraversalError>(\n \"PathTraversalError\"\n)(\"PathTraversalError\", {\n path: Schema.String,\n key: Schema.String,\n current: Schema.Unknown,\n}) {}\n\nclass EmptyPathError extends Schema.TaggedError<EmptyPathError>(\n \"EmptyPathError\"\n)(\"EmptyPathError\", { path: Schema.String }) {}\n\nclass MethodNotFoundError extends Schema.TaggedError<MethodNotFoundError>(\n \"MethodNotFoundError\"\n)(\"MethodNotFoundError\", {\n path: Schema.String,\n methodKey: Schema.String,\n actual: Schema.Unknown,\n}) {}\n\nclass IndexOutOfBoundsError extends Schema.TaggedError<IndexOutOfBoundsError>(\n \"IndexOutOfBoundsError\"\n)(\"IndexOutOfBoundsError\", {\n index: Schema.Number,\n length: Schema.Number,\n}) {}\n\nclass NotAnArrayError extends Schema.TaggedError<NotAnArrayError>(\n \"NotAnArrayError\"\n)(\"NotAnArrayError\", { actual: Schema.Unknown }) {}\n\nclass InvalidPathError extends Schema.TaggedError<InvalidPathError>(\n \"InvalidPathError\"\n)(\"InvalidPathError\", { path: Schema.Unknown }) {}\n\nconst NUMERIC_KEY_REGEX = /^\\d+$/;\n\nconst isNumericKey = (key: string): boolean => NUMERIC_KEY_REGEX.test(key);\n\nconst getValueAtKey = (current: unknown, key: string): unknown => {\n if (Array.isArray(current) && isNumericKey(key)) {\n return current[Number.parseInt(key, 10)];\n }\n return (current as Record<string, unknown>)[key];\n};\n\nconst validateKeyExists = (current: unknown, key: string) =>\n Effect.gen(function* () {\n if (!Array.isArray(current) && isNumericKey(key)) {\n return yield* new NotAnArrayError({ actual: current });\n }\n const index = isNumericKey(key) ? Number.parseInt(key, 10) : -1;\n if (Array.isArray(current) && index >= 0) {\n if (index >= current.length) {\n return yield* new IndexOutOfBoundsError({\n index,\n length: current.length,\n });\n }\n } else if (!(key in (current as object))) {\n return yield* new KeyNotFoundError({ key });\n }\n });\n\nconst traversePath = (\n obj: object,\n path: string,\n keys: string[]\n): Effect.Effect<object, PathTraversalError> =>\n Effect.gen(function* () {\n let current: unknown = obj;\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (key === undefined) {\n return yield* new PathTraversalError({\n path,\n key: String(i),\n current,\n });\n }\n if (typeof current !== \"object\" || current === null) {\n return yield* new PathTraversalError({\n path,\n key: String(key),\n current,\n });\n }\n if (!(key in current)) {\n return yield* new PathTraversalError({\n path,\n key: String(key),\n current,\n });\n }\n current = getValueAtKey(current, key);\n }\n return current as object;\n });\n\nconst getMethodFromObject = (\n obj: object,\n methodKey: string,\n path: string\n): Effect.Effect<\n (...args: unknown[]) => unknown,\n EmptyPathError | PathTraversalError | MethodNotFoundError\n> =>\n Effect.gen(function* () {\n if (methodKey === undefined || methodKey === \"\") {\n return yield* new EmptyPathError({ path });\n }\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new PathTraversalError({\n path,\n key: String(methodKey),\n current: obj,\n });\n }\n const method = (obj as Record<string, unknown>)[methodKey];\n if (typeof method !== \"function\") {\n return yield* new MethodNotFoundError({\n path,\n methodKey: String(methodKey),\n actual: method,\n });\n }\n return method as (...args: unknown[]) => unknown;\n });\n\nexport const module = {\n symbol: Symbol(\"object\"),\n\n get: (obj: unknown, key: string) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n return (obj as Record<string, unknown>)[key];\n }),\n\n \"get-path\": (obj: unknown, path: string) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n if (typeof path !== \"string\") {\n return yield* new InvalidPathError({ path });\n }\n const keys = path.split(\".\");\n let current: unknown = obj;\n for (const key of keys) {\n if (typeof current !== \"object\" || current === null) {\n return yield* new PathTraversalError({\n path,\n key: String(key),\n current,\n });\n }\n yield* validateKeyExists(current, key);\n current = getValueAtKey(current, key);\n }\n return current;\n }),\n\n \"json-stringify\": (\n obj: unknown,\n replacer: Parameters<typeof JSON.stringify>[1],\n space: number\n ) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n return JSON.stringify(obj, replacer, space);\n }),\n\n keys: flow(\n (obj: unknown) => obj,\n Schema.decodeUnknown(\n Schema.Record({ key: Schema.String, value: Schema.Unknown })\n ),\n Effect.map(Record.keys)\n ),\n\n values: flow(\n (obj: unknown) => obj,\n Schema.decodeUnknown(\n Schema.Record({ key: Schema.String, value: Schema.Unknown })\n ),\n Effect.map(Record.values)\n ),\n\n \"new\": (classRef: unknown, ...args: unknown[]) =>\n Effect.gen(function* () {\n if (typeof classRef !== \"function\") {\n return yield* new NotAConstructorError({ actual: classRef });\n }\n return new (classRef as new (...args: unknown[]) => unknown)(\n ...(args as unknown[])\n );\n }),\n\n \"get-method\": (obj: unknown, key: unknown) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n const method = (obj as Record<string, unknown>)[key as string];\n if (typeof method !== \"function\") {\n return yield* new NotAFunctionError({\n key: key as string,\n actual: method,\n });\n }\n return method.bind(obj);\n }),\n\n // FIXME: technically any value can have a method through its prototype chain\n \"call-method\": (obj: unknown, key: unknown, ...args: unknown[]) =>\n Effect.gen(function* () {\n const method = (obj as Record<string, unknown>)[key as string];\n if (typeof method !== \"function\") {\n return yield* new NotAFunctionError({\n key: key as string,\n actual: method,\n });\n }\n return method.apply(obj, args);\n }),\n\n \"get-method-path\": (obj: unknown, path: string) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n if (typeof path !== \"string\") {\n return yield* new InvalidPathError({ path });\n }\n const keys = path.split(\".\");\n const targetObj = yield* traversePath(obj, path, keys);\n const methodKey = keys.at(-1) ?? \"\";\n const method = yield* getMethodFromObject(targetObj, methodKey, path);\n return method.bind(targetObj);\n }),\n\n \"call-method-path\": (obj: unknown, path: string, ...args: unknown[]) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n if (typeof path !== \"string\") {\n return yield* new InvalidPathError({ path });\n }\n const keys = (path as string).split(\".\");\n const targetObj = yield* traversePath(obj, path as string, keys);\n const methodKey = keys.at(-1) ?? \"\";\n const method = yield* getMethodFromObject(\n targetObj,\n methodKey,\n path as string\n );\n return method.apply(targetObj, args);\n }),\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"object.mjs","names":[],"sources":["../../src/modules/object.ts"],"sourcesContent":["import { Effect, flow, Record, Schema } from \"effect\";\n\nclass NotAnObjectError extends Schema.TaggedError<NotAnObjectError>()(\n \"NotAnObjectError\",\n { actual: Schema.Unknown }\n) {}\n\nclass KeyNotFoundError extends Schema.TaggedError<KeyNotFoundError>()(\n \"KeyNotFoundError\",\n { key: Schema.String }\n) {}\n\nclass NotAFunctionError extends Schema.TaggedError<NotAFunctionError>()(\n \"NotAFunctionError\",\n { key: Schema.String, actual: Schema.Unknown }\n) {}\n\nclass NotAConstructorError extends Schema.TaggedError<NotAConstructorError>()(\n \"NotAConstructorError\",\n { actual: Schema.Unknown }\n) {}\n\nclass PathTraversalError extends Schema.TaggedError<PathTraversalError>()(\n \"PathTraversalError\",\n {\n path: Schema.String,\n key: Schema.String,\n current: Schema.Unknown,\n }\n) {}\n\nclass EmptyPathError extends Schema.TaggedError<EmptyPathError>()(\n \"EmptyPathError\",\n { path: Schema.String }\n) {}\n\nclass MethodNotFoundError extends Schema.TaggedError<MethodNotFoundError>()(\n \"MethodNotFoundError\",\n {\n path: Schema.String,\n methodKey: Schema.String,\n actual: Schema.Unknown,\n }\n) {}\n\nclass IndexOutOfBoundsError extends Schema.TaggedError<IndexOutOfBoundsError>()(\n \"IndexOutOfBoundsError\",\n {\n index: Schema.Number,\n length: Schema.Number,\n }\n) {}\n\nclass NotAnArrayError extends Schema.TaggedError<NotAnArrayError>()(\n \"NotAnArrayError\",\n { actual: Schema.Unknown }\n) {}\n\nclass InvalidPathError extends Schema.TaggedError<InvalidPathError>()(\n \"InvalidPathError\",\n { path: Schema.Unknown }\n) {}\n\nconst NUMERIC_KEY_REGEX = /^\\d+$/;\n\nconst isNumericKey = (key: string): boolean => NUMERIC_KEY_REGEX.test(key);\n\nconst getValueAtKey = (current: unknown, key: string): unknown => {\n if (Array.isArray(current) && isNumericKey(key)) {\n return current[Number.parseInt(key, 10)];\n }\n return (current as Record<string, unknown>)[key];\n};\n\nconst validateKeyExists = (current: unknown, key: string) =>\n Effect.gen(function* () {\n if (!Array.isArray(current) && isNumericKey(key)) {\n return yield* new NotAnArrayError({ actual: current });\n }\n const index = isNumericKey(key) ? Number.parseInt(key, 10) : -1;\n if (Array.isArray(current) && index >= 0) {\n if (index >= current.length) {\n return yield* new IndexOutOfBoundsError({\n index,\n length: current.length,\n });\n }\n } else if (!(key in (current as object))) {\n return yield* new KeyNotFoundError({ key });\n }\n });\n\nconst traversePath = (\n obj: object,\n path: string,\n keys: string[]\n): Effect.Effect<object, PathTraversalError> =>\n Effect.gen(function* () {\n let current: unknown = obj;\n for (let i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (key === undefined) {\n return yield* new PathTraversalError({\n path,\n key: String(i),\n current,\n });\n }\n if (typeof current !== \"object\" || current === null) {\n return yield* new PathTraversalError({\n path,\n key: String(key),\n current,\n });\n }\n if (!(key in current)) {\n return yield* new PathTraversalError({\n path,\n key: String(key),\n current,\n });\n }\n current = getValueAtKey(current, key);\n }\n return current as object;\n });\n\nconst getMethodFromObject = (\n obj: object,\n methodKey: string,\n path: string\n): Effect.Effect<\n (...args: unknown[]) => unknown,\n EmptyPathError | PathTraversalError | MethodNotFoundError\n> =>\n Effect.gen(function* () {\n if (methodKey === undefined || methodKey === \"\") {\n return yield* new EmptyPathError({ path });\n }\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new PathTraversalError({\n path,\n key: String(methodKey),\n current: obj,\n });\n }\n const method = (obj as Record<string, unknown>)[methodKey];\n if (typeof method !== \"function\") {\n return yield* new MethodNotFoundError({\n path,\n methodKey: String(methodKey),\n actual: method,\n });\n }\n return method as (...args: unknown[]) => unknown;\n });\n\nexport const module = {\n symbol: Symbol(\"object\"),\n\n get: (obj: unknown, key: string) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n return (obj as Record<string, unknown>)[key];\n }),\n\n \"get-path\": (obj: unknown, path: string) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n if (typeof path !== \"string\") {\n return yield* new InvalidPathError({ path });\n }\n const keys = path.split(\".\");\n let current: unknown = obj;\n for (const key of keys) {\n if (typeof current !== \"object\" || current === null) {\n return yield* new PathTraversalError({\n path,\n key: String(key),\n current,\n });\n }\n yield* validateKeyExists(current, key);\n current = getValueAtKey(current, key);\n }\n return current;\n }),\n\n \"json-stringify\": (\n obj: unknown,\n replacer: Parameters<typeof JSON.stringify>[1],\n space: number\n ) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n return JSON.stringify(obj, replacer, space);\n }),\n\n keys: flow(\n (obj: unknown) => obj,\n Schema.decodeUnknownEffect(Schema.Record(Schema.String, Schema.Unknown)),\n Effect.map(Record.keys)\n ),\n\n values: flow(\n (obj: unknown) => obj,\n Schema.decodeUnknownEffect(Schema.Record(Schema.String, Schema.Unknown)),\n Effect.map(Record.values)\n ),\n\n \"new\": (classRef: unknown, ...args: unknown[]) =>\n Effect.gen(function* () {\n if (typeof classRef !== \"function\") {\n return yield* new NotAConstructorError({ actual: classRef });\n }\n return new (classRef as new (...args: unknown[]) => unknown)(\n ...(args as unknown[])\n );\n }),\n\n \"get-method\": (obj: unknown, key: unknown) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n const method = (obj as Record<string, unknown>)[key as string];\n if (typeof method !== \"function\") {\n return yield* new NotAFunctionError({\n key: key as string,\n actual: method,\n });\n }\n return method.bind(obj);\n }),\n\n // FIXME: technically any value can have a method through its prototype chain\n \"call-method\": (obj: unknown, key: unknown, ...args: unknown[]) =>\n Effect.gen(function* () {\n const method = (obj as Record<string, unknown>)[key as string];\n if (typeof method !== \"function\") {\n return yield* new NotAFunctionError({\n key: key as string,\n actual: method,\n });\n }\n return method.apply(obj, args);\n }),\n\n \"get-method-path\": (obj: unknown, path: string) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n if (typeof path !== \"string\") {\n return yield* new InvalidPathError({ path });\n }\n const keys = path.split(\".\");\n const targetObj = yield* traversePath(obj, path, keys);\n const methodKey = keys.at(-1) ?? \"\";\n const method = yield* getMethodFromObject(targetObj, methodKey, path);\n return method.bind(targetObj);\n }),\n\n \"call-method-path\": (obj: unknown, path: string, ...args: unknown[]) =>\n Effect.gen(function* () {\n if (typeof obj !== \"object\" || obj === null) {\n return yield* new NotAnObjectError({ actual: obj });\n }\n if (typeof path !== \"string\") {\n return yield* new InvalidPathError({ path });\n }\n const keys = (path as string).split(\".\");\n const targetObj = yield* traversePath(obj, path as string, keys);\n const methodKey = keys.at(-1) ?? \"\";\n const method = yield* getMethodFromObject(\n targetObj,\n methodKey,\n path as string\n );\n return method.apply(targetObj, args);\n }),\n};\n"],"mappings":";;AAEA,IAAM,mBAAN,cAA+B,OAAO,aAA+B,CACnE,oBACA,EAAE,QAAQ,OAAO,SAAS,CAC3B,CAAC;AAEF,IAAM,mBAAN,cAA+B,OAAO,aAA+B,CACnE,oBACA,EAAE,KAAK,OAAO,QAAQ,CACvB,CAAC;AAEF,IAAM,oBAAN,cAAgC,OAAO,aAAgC,CACrE,qBACA;CAAE,KAAK,OAAO;CAAQ,QAAQ,OAAO;CAAS,CAC/C,CAAC;AAEF,IAAM,uBAAN,cAAmC,OAAO,aAAmC,CAC3E,wBACA,EAAE,QAAQ,OAAO,SAAS,CAC3B,CAAC;AAEF,IAAM,qBAAN,cAAiC,OAAO,aAAiC,CACvE,sBACA;CACE,MAAM,OAAO;CACb,KAAK,OAAO;CACZ,SAAS,OAAO;CACjB,CACF,CAAC;AAEF,IAAM,iBAAN,cAA6B,OAAO,aAA6B,CAC/D,kBACA,EAAE,MAAM,OAAO,QAAQ,CACxB,CAAC;AAEF,IAAM,sBAAN,cAAkC,OAAO,aAAkC,CACzE,uBACA;CACE,MAAM,OAAO;CACb,WAAW,OAAO;CAClB,QAAQ,OAAO;CAChB,CACF,CAAC;AAEF,IAAM,wBAAN,cAAoC,OAAO,aAAoC,CAC7E,yBACA;CACE,OAAO,OAAO;CACd,QAAQ,OAAO;CAChB,CACF,CAAC;AAEF,IAAM,kBAAN,cAA8B,OAAO,aAA8B,CACjE,mBACA,EAAE,QAAQ,OAAO,SAAS,CAC3B,CAAC;AAEF,IAAM,mBAAN,cAA+B,OAAO,aAA+B,CACnE,oBACA,EAAE,MAAM,OAAO,SAAS,CACzB,CAAC;AAEF,MAAM,oBAAoB;AAE1B,MAAM,gBAAgB,QAAyB,kBAAkB,KAAK,IAAI;AAE1E,MAAM,iBAAiB,SAAkB,QAAyB;AAChE,KAAI,MAAM,QAAQ,QAAQ,IAAI,aAAa,IAAI,CAC7C,QAAO,QAAQ,OAAO,SAAS,KAAK,GAAG;AAEzC,QAAQ,QAAoC;;AAG9C,MAAM,qBAAqB,SAAkB,QAC3C,OAAO,IAAI,aAAa;AACtB,KAAI,CAAC,MAAM,QAAQ,QAAQ,IAAI,aAAa,IAAI,CAC9C,QAAO,OAAO,IAAI,gBAAgB,EAAE,QAAQ,SAAS,CAAC;CAExD,MAAM,QAAQ,aAAa,IAAI,GAAG,OAAO,SAAS,KAAK,GAAG,GAAG;AAC7D,KAAI,MAAM,QAAQ,QAAQ,IAAI,SAAS;MACjC,SAAS,QAAQ,OACnB,QAAO,OAAO,IAAI,sBAAsB;GACtC;GACA,QAAQ,QAAQ;GACjB,CAAC;YAEK,EAAE,OAAQ,SACnB,QAAO,OAAO,IAAI,iBAAiB,EAAE,KAAK,CAAC;EAE7C;AAEJ,MAAM,gBACJ,KACA,MACA,SAEA,OAAO,IAAI,aAAa;CACtB,IAAI,UAAmB;AACvB,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,KAAK;EACxC,MAAM,MAAM,KAAK;AACjB,MAAI,QAAQ,KAAA,EACV,QAAO,OAAO,IAAI,mBAAmB;GACnC;GACA,KAAK,OAAO,EAAE;GACd;GACD,CAAC;AAEJ,MAAI,OAAO,YAAY,YAAY,YAAY,KAC7C,QAAO,OAAO,IAAI,mBAAmB;GACnC;GACA,KAAK,OAAO,IAAI;GAChB;GACD,CAAC;AAEJ,MAAI,EAAE,OAAO,SACX,QAAO,OAAO,IAAI,mBAAmB;GACnC;GACA,KAAK,OAAO,IAAI;GAChB;GACD,CAAC;AAEJ,YAAU,cAAc,SAAS,IAAI;;AAEvC,QAAO;EACP;AAEJ,MAAM,uBACJ,KACA,WACA,SAKA,OAAO,IAAI,aAAa;AACtB,KAAI,cAAc,KAAA,KAAa,cAAc,GAC3C,QAAO,OAAO,IAAI,eAAe,EAAE,MAAM,CAAC;AAE5C,KAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,mBAAmB;EACnC;EACA,KAAK,OAAO,UAAU;EACtB,SAAS;EACV,CAAC;CAEJ,MAAM,SAAU,IAAgC;AAChD,KAAI,OAAO,WAAW,WACpB,QAAO,OAAO,IAAI,oBAAoB;EACpC;EACA,WAAW,OAAO,UAAU;EAC5B,QAAQ;EACT,CAAC;AAEJ,QAAO;EACP;AAEJ,MAAa,SAAS;CACpB,QAAQ,OAAO,SAAS;CAExB,MAAM,KAAc,QAClB,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,iBAAiB,EAAE,QAAQ,KAAK,CAAC;AAErD,SAAQ,IAAgC;GACxC;CAEJ,aAAa,KAAc,SACzB,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,iBAAiB,EAAE,QAAQ,KAAK,CAAC;AAErD,MAAI,OAAO,SAAS,SAClB,QAAO,OAAO,IAAI,iBAAiB,EAAE,MAAM,CAAC;EAE9C,MAAM,OAAO,KAAK,MAAM,IAAI;EAC5B,IAAI,UAAmB;AACvB,OAAK,MAAM,OAAO,MAAM;AACtB,OAAI,OAAO,YAAY,YAAY,YAAY,KAC7C,QAAO,OAAO,IAAI,mBAAmB;IACnC;IACA,KAAK,OAAO,IAAI;IAChB;IACD,CAAC;AAEJ,UAAO,kBAAkB,SAAS,IAAI;AACtC,aAAU,cAAc,SAAS,IAAI;;AAEvC,SAAO;GACP;CAEJ,mBACE,KACA,UACA,UAEA,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,iBAAiB,EAAE,QAAQ,KAAK,CAAC;AAErD,SAAO,KAAK,UAAU,KAAK,UAAU,MAAM;GAC3C;CAEJ,MAAM,MACH,QAAiB,KAClB,OAAO,oBAAoB,OAAO,OAAO,OAAO,QAAQ,OAAO,QAAQ,CAAC,EACxE,OAAO,IAAI,OAAO,KAAK,CACxB;CAED,QAAQ,MACL,QAAiB,KAClB,OAAO,oBAAoB,OAAO,OAAO,OAAO,QAAQ,OAAO,QAAQ,CAAC,EACxE,OAAO,IAAI,OAAO,OAAO,CAC1B;CAED,QAAQ,UAAmB,GAAG,SAC5B,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,aAAa,WACtB,QAAO,OAAO,IAAI,qBAAqB,EAAE,QAAQ,UAAU,CAAC;AAE9D,SAAO,IAAK,SACV,GAAI,KACL;GACD;CAEJ,eAAe,KAAc,QAC3B,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,iBAAiB,EAAE,QAAQ,KAAK,CAAC;EAErD,MAAM,SAAU,IAAgC;AAChD,MAAI,OAAO,WAAW,WACpB,QAAO,OAAO,IAAI,kBAAkB;GAC7B;GACL,QAAQ;GACT,CAAC;AAEJ,SAAO,OAAO,KAAK,IAAI;GACvB;CAGJ,gBAAgB,KAAc,KAAc,GAAG,SAC7C,OAAO,IAAI,aAAa;EACtB,MAAM,SAAU,IAAgC;AAChD,MAAI,OAAO,WAAW,WACpB,QAAO,OAAO,IAAI,kBAAkB;GAC7B;GACL,QAAQ;GACT,CAAC;AAEJ,SAAO,OAAO,MAAM,KAAK,KAAK;GAC9B;CAEJ,oBAAoB,KAAc,SAChC,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,iBAAiB,EAAE,QAAQ,KAAK,CAAC;AAErD,MAAI,OAAO,SAAS,SAClB,QAAO,OAAO,IAAI,iBAAiB,EAAE,MAAM,CAAC;EAE9C,MAAM,OAAO,KAAK,MAAM,IAAI;EAC5B,MAAM,YAAY,OAAO,aAAa,KAAK,MAAM,KAAK;AAGtD,UAAO,OADe,oBAAoB,WADxB,KAAK,GAAG,GAAG,IAAI,IAC+B,KAAK,EACvD,KAAK,UAAU;GAC7B;CAEJ,qBAAqB,KAAc,MAAc,GAAG,SAClD,OAAO,IAAI,aAAa;AACtB,MAAI,OAAO,QAAQ,YAAY,QAAQ,KACrC,QAAO,OAAO,IAAI,iBAAiB,EAAE,QAAQ,KAAK,CAAC;AAErD,MAAI,OAAO,SAAS,SAClB,QAAO,OAAO,IAAI,iBAAiB,EAAE,MAAM,CAAC;EAE9C,MAAM,OAAQ,KAAgB,MAAM,IAAI;EACxC,MAAM,YAAY,OAAO,aAAa,KAAK,MAAgB,KAAK;AAOhE,UAAO,OALe,oBACpB,WAFgB,KAAK,GAAG,GAAG,IAAI,IAI/B,KACD,EACa,MAAM,WAAW,KAAK;GACpC;CACL"}
@@ -1,17 +1,16 @@
1
- import { Effect } from "effect";
2
- import * as _$effect_ParseResult0 from "effect/ParseResult";
1
+ import { Effect, Schema } from "effect";
3
2
  import * as _$effect_Option0 from "effect/Option";
4
3
 
5
4
  //#region src/modules/string.d.ts
6
5
  declare const module: {
7
6
  symbol: symbol;
8
- "equals?": (a: unknown, b: unknown) => Effect.Effect<boolean, _$effect_ParseResult0.ParseError, never>;
9
- length: (u: unknown) => Effect.Effect<number, _$effect_ParseResult0.ParseError, never>;
10
- concat: (a: unknown, b: unknown) => Effect.Effect<string, _$effect_ParseResult0.ParseError, never>;
11
- startsWith: (a: unknown, b: unknown) => Effect.Effect<boolean, _$effect_ParseResult0.ParseError, never>;
12
- endsWith: (a: unknown, b: unknown) => Effect.Effect<boolean, _$effect_ParseResult0.ParseError, never>;
13
- includes: (a: unknown, b: unknown) => Effect.Effect<boolean, _$effect_ParseResult0.ParseError, never>;
14
- indexOf: (a: unknown, b: unknown) => Effect.Effect<_$effect_Option0.Option<number>, _$effect_ParseResult0.ParseError, never>;
7
+ "equals?": (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
8
+ length: (input: unknown) => Effect.Effect<number, Schema.SchemaError, never>;
9
+ concat: (a: unknown, b: unknown) => Effect.Effect<string, Schema.SchemaError, never>;
10
+ startsWith: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
11
+ endsWith: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
12
+ includes: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
13
+ indexOf: (a: unknown, b: unknown) => Effect.Effect<_$effect_Option0.Option<number>, Schema.SchemaError, never>;
15
14
  };
16
15
  //#endregion
17
16
  export { module };
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.mts","names":[],"sources":["../../src/modules/string.ts"],"mappings":";;;;;cAGa,MAAA;;gEAwCZ,qBAAA,CAAA,UAAA"}
1
+ {"version":3,"file":"string.d.mts","names":[],"sources":["../../src/modules/string.ts"],"mappings":";;;;cAGa,MAAA"}
@@ -3,13 +3,13 @@ import { Effect, Schema, String, flow } from "effect";
3
3
  //#region src/modules/string.ts
4
4
  const module = {
5
5
  symbol: Symbol("string"),
6
- "equals?": flow((a, b) => [a, b], decode(Schema.Tuple(Schema.String, Schema.String)), Effect.map(([a, b]) => a === b)),
6
+ "equals?": flow((a, b) => [a, b], decode(Schema.Tuple([Schema.String, Schema.String])), Effect.map(([a, b]) => a === b)),
7
7
  length: flow(decode(Schema.String), Effect.map(String.length)),
8
- concat: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.String, Schema.String)), Effect.map(([a, b]) => String.concat(a, b))),
9
- startsWith: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.String, Schema.String)), Effect.map(([a, b]) => String.startsWith(a)(b))),
10
- endsWith: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.String, Schema.String)), Effect.map(([a, b]) => String.endsWith(a)(b))),
11
- includes: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.String, Schema.String)), Effect.map(([a, b]) => String.includes(a)(b))),
12
- indexOf: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.String, Schema.String)), Effect.map(([a, b]) => String.indexOf(a)(b)))
8
+ concat: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.String, Schema.String])), Effect.map(([a, b]) => String.concat(a, b))),
9
+ startsWith: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.String, Schema.String])), Effect.map(([a, b]) => String.startsWith(a)(b))),
10
+ endsWith: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.String, Schema.String])), Effect.map(([a, b]) => String.endsWith(a)(b))),
11
+ includes: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.String, Schema.String])), Effect.map(([a, b]) => String.includes(a)(b))),
12
+ indexOf: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.String, Schema.String])), Effect.map(([a, b]) => String.indexOf(a)(b)))
13
13
  };
14
14
  //#endregion
15
15
  export { module };
@@ -1 +1 @@
1
- {"version":3,"file":"string.mjs","names":["Str"],"sources":["../../src/modules/string.ts"],"sourcesContent":["import { Effect, flow, Schema, String as Str } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"string\"),\n\n \"equals?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.String, Schema.String)),\n Effect.map(([a, b]) => a === b)\n ),\n\n length: flow(decode(Schema.String), Effect.map(Str.length)),\n\n concat: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.String, Schema.String)),\n Effect.map(([a, b]) => Str.concat(a, b))\n ),\n\n startsWith: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.String, Schema.String)),\n Effect.map(([a, b]) => Str.startsWith(a)(b))\n ),\n\n endsWith: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.String, Schema.String)),\n Effect.map(([a, b]) => Str.endsWith(a)(b))\n ),\n\n includes: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.String, Schema.String)),\n Effect.map(([a, b]) => Str.includes(a)(b))\n ),\n\n indexOf: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.String, Schema.String)),\n Effect.map(([a, b]) => Str.indexOf(a)(b))\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,SAAS;CAExB,WAAW,MACR,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAO,MAAM,EAAE,CAChC;CAED,QAAQ,KAAK,OAAO,OAAO,OAAO,EAAE,OAAO,IAAIA,OAAI,OAAO,CAAC;CAE3D,QAAQ,MACL,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,OAAO,GAAG,EAAE,CAAC,CACzC;CAED,YAAY,MACT,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,WAAW,EAAE,CAAC,EAAE,CAAC,CAC7C;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,SAAS,EAAE,CAAC,EAAE,CAAC,CAC3C;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,SAAS,EAAE,CAAC,EAAE,CAAC,CAC3C;CAED,SAAS,MACN,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,EAClD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,QAAQ,EAAE,CAAC,EAAE,CAAC,CAC1C;CACF"}
1
+ {"version":3,"file":"string.mjs","names":["Str"],"sources":["../../src/modules/string.ts"],"sourcesContent":["import { Effect, flow, Schema, String as Str } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"string\"),\n\n \"equals?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.String, Schema.String])),\n Effect.map(([a, b]) => a === b)\n ),\n\n length: flow(decode(Schema.String), Effect.map(Str.length)),\n\n concat: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.String, Schema.String])),\n Effect.map(([a, b]) => Str.concat(a, b))\n ),\n\n startsWith: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.String, Schema.String])),\n Effect.map(([a, b]) => Str.startsWith(a)(b))\n ),\n\n endsWith: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.String, Schema.String])),\n Effect.map(([a, b]) => Str.endsWith(a)(b))\n ),\n\n includes: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.String, Schema.String])),\n Effect.map(([a, b]) => Str.includes(a)(b))\n ),\n\n indexOf: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.String, Schema.String])),\n Effect.map(([a, b]) => Str.indexOf(a)(b))\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,SAAS;CAExB,WAAW,MACR,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAO,MAAM,EAAE,CAChC;CAED,QAAQ,KAAK,OAAO,OAAO,OAAO,EAAE,OAAO,IAAIA,OAAI,OAAO,CAAC;CAE3D,QAAQ,MACL,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,OAAO,GAAG,EAAE,CAAC,CACzC;CAED,YAAY,MACT,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,WAAW,EAAE,CAAC,EAAE,CAAC,CAC7C;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,SAAS,EAAE,CAAC,EAAE,CAAC,CAC3C;CAED,UAAU,MACP,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,SAAS,EAAE,CAAC,EAAE,CAAC,CAC3C;CAED,SAAS,MACN,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC,EACpD,OAAO,KAAK,CAAC,GAAG,OAAOA,OAAI,QAAQ,EAAE,CAAC,EAAE,CAAC,CAC1C;CACF"}
@@ -1,2 +1,2 @@
1
- import { a as ToplevelEnvironment, i as InnerEnvironmentSchema, n as EnvironmentSchema, o as ToplevelEnvironmentSchema, r as InnerEnvironment, t as Environment } from "../environment-k2Uf6VVc.mjs";
1
+ import { a as ToplevelEnvironment, i as InnerEnvironmentSchema, n as EnvironmentSchema, o as ToplevelEnvironmentSchema, r as InnerEnvironment, t as Environment } from "../environment-BQw8BPXl.mjs";
2
2
  export { Environment, EnvironmentSchema, InnerEnvironment, InnerEnvironmentSchema, ToplevelEnvironment, ToplevelEnvironmentSchema };
@@ -1,9 +1,9 @@
1
- import { Ref, Schema } from "effect";
1
+ import { Schema } from "effect";
2
2
  //#region src/schemas/environment.ts
3
- const isBindingsRef = (input) => typeof input === "object" && input !== null && Ref.RefTypeId in input;
3
+ const isBindingsRef = (input) => typeof input === "object" && input !== null && "ref" in input;
4
4
  const BindingsSchema = Schema.declare(isBindingsRef);
5
5
  const ToplevelEnvironmentSchema = Schema.Struct({ bindingsRef: BindingsSchema });
6
- const EnvironmentSchema = Schema.Union(ToplevelEnvironmentSchema, Schema.suspend(() => InnerEnvironmentSchema));
6
+ const EnvironmentSchema = Schema.Union([ToplevelEnvironmentSchema, Schema.suspend(() => InnerEnvironmentSchema)]);
7
7
  const InnerEnvironmentSchema = Schema.Struct({
8
8
  bindingsRef: BindingsSchema,
9
9
  parent: EnvironmentSchema
@@ -1 +1 @@
1
- {"version":3,"file":"environment.mjs","names":[],"sources":["../../src/schemas/environment.ts"],"sourcesContent":["import { Ref, Schema } from \"effect\";\n\ntype BindingsRef = Ref.Ref<Record<string, unknown>>;\n\nconst isBindingsRef = (input: unknown): input is BindingsRef =>\n typeof input === \"object\" && input !== null && Ref.RefTypeId in input;\n\nconst BindingsSchema: Schema.Schema<BindingsRef> =\n Schema.declare<BindingsRef>(isBindingsRef);\n\nexport interface InnerEnvironment {\n readonly bindingsRef: BindingsRef;\n readonly parent: Environment;\n}\n\nexport type Environment = typeof EnvironmentSchema.Type;\n\nexport type ToplevelEnvironment = typeof ToplevelEnvironmentSchema.Type;\n\nexport const ToplevelEnvironmentSchema = Schema.Struct({\n bindingsRef: BindingsSchema,\n});\n\nexport const EnvironmentSchema = Schema.Union(\n ToplevelEnvironmentSchema,\n Schema.suspend((): Schema.Schema<InnerEnvironment> => InnerEnvironmentSchema)\n);\n\nexport const InnerEnvironmentSchema = Schema.Struct({\n bindingsRef: BindingsSchema,\n parent: EnvironmentSchema,\n});\n"],"mappings":";;AAIA,MAAM,iBAAiB,UACrB,OAAO,UAAU,YAAY,UAAU,QAAQ,IAAI,aAAa;AAElE,MAAM,iBACJ,OAAO,QAAqB,cAAc;AAW5C,MAAa,4BAA4B,OAAO,OAAO,EACrD,aAAa,gBACd,CAAC;AAEF,MAAa,oBAAoB,OAAO,MACtC,2BACA,OAAO,cAA+C,uBAAuB,CAC9E;AAED,MAAa,yBAAyB,OAAO,OAAO;CAClD,aAAa;CACb,QAAQ;CACT,CAAC"}
1
+ {"version":3,"file":"environment.mjs","names":[],"sources":["../../src/schemas/environment.ts"],"sourcesContent":["import { type Ref, Schema } from \"effect\";\n\ntype BindingsRef = Ref.Ref<Record<string, unknown>>;\n\nconst isBindingsRef = (input: unknown): input is BindingsRef =>\n typeof input === \"object\" && input !== null && \"ref\" in input;\n\nconst BindingsSchema: Schema.Codec<BindingsRef> =\n Schema.declare<BindingsRef>(isBindingsRef);\n\nexport interface InnerEnvironment {\n readonly bindingsRef: BindingsRef;\n readonly parent: Environment;\n}\n\nexport type Environment = typeof EnvironmentSchema.Type;\n\nexport type ToplevelEnvironment = typeof ToplevelEnvironmentSchema.Type;\n\nexport const ToplevelEnvironmentSchema = Schema.Struct({\n bindingsRef: BindingsSchema,\n});\n\nexport const EnvironmentSchema = Schema.Union([\n ToplevelEnvironmentSchema,\n Schema.suspend((): Schema.Codec<InnerEnvironment> => InnerEnvironmentSchema),\n]);\n\nexport const InnerEnvironmentSchema = Schema.Struct({\n bindingsRef: BindingsSchema,\n parent: EnvironmentSchema,\n});\n"],"mappings":";;AAIA,MAAM,iBAAiB,UACrB,OAAO,UAAU,YAAY,UAAU,QAAQ,SAAS;AAE1D,MAAM,iBACJ,OAAO,QAAqB,cAAc;AAW5C,MAAa,4BAA4B,OAAO,OAAO,EACrD,aAAa,gBACd,CAAC;AAEF,MAAa,oBAAoB,OAAO,MAAM,CAC5C,2BACA,OAAO,cAA8C,uBAAuB,CAC7E,CAAC;AAEF,MAAa,yBAAyB,OAAO,OAAO;CAClD,aAAa;CACb,QAAQ;CACT,CAAC"}
@@ -1,24 +1,24 @@
1
- import { t as AssumedExpressionType } from "../lion-expression-6Y3itx9l.mjs";
2
- import { t as EvaluateResult } from "../evaluation-uwZSKxIf.mjs";
1
+ import { t as AssumedExpressionType } from "../lion-expression-DMR7Psmu.mjs";
2
+ import { t as EvaluateResult } from "../evaluation-Dwo4KN_D.mjs";
3
3
  import { Schema } from "effect";
4
4
 
5
5
  //#region src/schemas/evaluation.d.ts
6
6
  type LionFunctionValueType = (...args: unknown[]) => EvaluateResult;
7
- declare const LionFunctionValueSchema: Schema.declare<LionFunctionValueType, LionFunctionValueType, readonly [], never>;
8
- declare const FunctionCallFormSchema: Schema.TupleType<readonly [Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>], [Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>]>;
9
- declare const EvalFormSchema: Schema.Tuple2<Schema.Literal<["eval"]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>;
10
- declare const QuoteFormSchema: Schema.Tuple2<Schema.Literal<["quote"]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>;
11
- declare const BeginFormSchema: Schema.TupleType<readonly [Schema.Literal<["begin"]>], [Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>]>;
12
- declare const ValidIdentifierSchema: Schema.filter<Schema.filter<typeof Schema.String>>;
13
- declare const DefineFormSchema: Schema.Tuple<[Schema.Literal<["define"]>, Schema.filter<Schema.filter<typeof Schema.String>>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>]>;
14
- declare const LambdaFormSchema: Schema.Tuple<[Schema.Literal<["lambda"]>, Schema.Array$<Schema.filter<Schema.filter<typeof Schema.String>>>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>]>;
15
- declare const CondCaseSchema: Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>;
16
- declare const CondElseCaseSchema: Schema.Tuple2<Schema.Literal<["else"]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>;
17
- declare const CondFormWithoutElseSchema: Schema.TupleType<readonly [Schema.Literal<["cond"]>, Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>], [Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>]>;
18
- declare const CondFormWithElseSchema: Schema.TupleType<readonly [Schema.Literal<["cond"]>, Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>], [Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>, Schema.Tuple2<Schema.Literal<["else"]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>]>;
19
- declare const CondFormSchema: Schema.Union<[Schema.TupleType<readonly [Schema.Literal<["cond"]>, Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>], [Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>]>, Schema.TupleType<readonly [Schema.Literal<["cond"]>, Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>], [Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>, Schema.Tuple2<Schema.Literal<["else"]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>]>]>;
20
- declare const MatchPatternSchema: Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>;
21
- declare const MatchFormSchema: Schema.TupleType<readonly [Schema.Literal<["match"]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>], [Schema.Tuple2<Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>>, Schema.Union<[Schema.Union<[typeof Schema.String, typeof Schema.Number, typeof Schema.Boolean, typeof Schema.Null]>, Schema.Array$<Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>, Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>]>]>;
7
+ declare const LionFunctionValueSchema: Schema.declare<LionFunctionValueType, LionFunctionValueType>;
8
+ declare const FunctionCallFormSchema: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>, readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
9
+ declare const EvalFormSchema: Schema.Tuple<readonly [Schema.Literal<"eval">, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
10
+ declare const QuoteFormSchema: Schema.Tuple<readonly [Schema.Literal<"quote">, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
11
+ declare const BeginFormSchema: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Literal<"begin">]>, readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
12
+ declare const ValidIdentifierSchema: Schema.String;
13
+ declare const DefineFormSchema: Schema.Tuple<readonly [Schema.Literal<"define">, Schema.String, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
14
+ declare const LambdaFormSchema: Schema.Tuple<readonly [Schema.Literal<"lambda">, Schema.$Array<Schema.String>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
15
+ declare const CondCaseSchema: Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
16
+ declare const CondElseCaseSchema: Schema.Tuple<readonly [Schema.Literal<"else">, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
17
+ declare const CondFormWithoutElseSchema: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Literal<"cond">, Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>, readonly [Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>;
18
+ declare const CondFormWithElseSchema: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Literal<"cond">, Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>, readonly [Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>, Schema.Tuple<readonly [Schema.Literal<"else">, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>;
19
+ declare const CondFormSchema: Schema.Union<readonly [Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Literal<"cond">, Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>, readonly [Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>, Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Literal<"cond">, Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>, readonly [Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>, Schema.Tuple<readonly [Schema.Literal<"else">, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>]>;
20
+ declare const MatchPatternSchema: Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
21
+ declare const MatchFormSchema: Schema.TupleWithRest<Schema.Tuple<readonly [Schema.Literal<"match">, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>]>, readonly [Schema.Tuple<readonly [Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>, Schema.Union<readonly [Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>, Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>, Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>]>]>;
22
22
  //#endregion
23
23
  export { BeginFormSchema, CondCaseSchema, CondElseCaseSchema, CondFormSchema, CondFormWithElseSchema, CondFormWithoutElseSchema, DefineFormSchema, EvalFormSchema, FunctionCallFormSchema, LambdaFormSchema, LionFunctionValueSchema, LionFunctionValueType, MatchFormSchema, MatchPatternSchema, QuoteFormSchema, ValidIdentifierSchema };
24
24
  //# sourceMappingURL=evaluation.d.mts.map