@lionlang/core 0.1.0 → 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.
- package/README.md +326 -6
- package/dist/analysis/analyze.d.mts +34 -0
- package/dist/analysis/analyze.d.mts.map +1 -0
- package/dist/analysis/analyze.mjs +181 -0
- package/dist/analysis/analyze.mjs.map +1 -0
- package/dist/environment-BQw8BPXl.d.mts +25 -0
- package/dist/{environment-k2Uf6VVc.d.mts.map → environment-BQw8BPXl.d.mts.map} +1 -1
- package/dist/errors/evaluation.d.mts +1 -1
- package/dist/errors/evaluation.mjs +2 -2
- package/dist/errors/evaluation.mjs.map +1 -1
- package/dist/{evaluate-D7ODMrbg.mjs → evaluate-BJOG7kaS.mjs} +36 -33
- package/dist/evaluate-BJOG7kaS.mjs.map +1 -0
- package/dist/evaluation/base-forms/array.d.mts +5 -6
- package/dist/evaluation/base-forms/array.d.mts.map +1 -1
- package/dist/evaluation/base-forms/array.mjs +1 -1
- package/dist/evaluation/base-forms/primitive.d.mts +2 -2
- package/dist/evaluation/base-forms/primitive.mjs +2 -2
- package/dist/evaluation/base-forms/primitive.mjs.map +1 -1
- package/dist/evaluation/base-forms/record.d.mts +5 -5
- package/dist/evaluation/base-forms/record.d.mts.map +1 -1
- package/dist/evaluation/base-forms/record.mjs +1 -1
- package/dist/evaluation/environment.d.mts +1 -1
- package/dist/evaluation/environment.d.mts.map +1 -1
- package/dist/evaluation/environment.mjs +10 -7
- package/dist/evaluation/environment.mjs.map +1 -1
- package/dist/evaluation/evaluate.d.mts +5 -6
- package/dist/evaluation/evaluate.d.mts.map +1 -1
- package/dist/evaluation/evaluate.mjs +1 -1
- package/dist/evaluation/special-forms/begin.d.mts +4 -4
- package/dist/evaluation/special-forms/begin.d.mts.map +1 -1
- package/dist/evaluation/special-forms/begin.mjs +1 -1
- package/dist/evaluation/special-forms/cond.d.mts +4 -5
- package/dist/evaluation/special-forms/cond.d.mts.map +1 -1
- package/dist/evaluation/special-forms/cond.mjs +1 -1
- package/dist/evaluation/special-forms/define.d.mts +4 -4
- package/dist/evaluation/special-forms/define.d.mts.map +1 -1
- package/dist/evaluation/special-forms/define.mjs +1 -1
- package/dist/evaluation/special-forms/eval.d.mts +4 -5
- package/dist/evaluation/special-forms/eval.d.mts.map +1 -1
- package/dist/evaluation/special-forms/eval.mjs +1 -1
- package/dist/evaluation/special-forms/function.d.mts +4 -5
- package/dist/evaluation/special-forms/function.d.mts.map +1 -1
- package/dist/evaluation/special-forms/function.mjs +1 -1
- package/dist/evaluation/special-forms/lambda.d.mts +4 -4
- package/dist/evaluation/special-forms/lambda.d.mts.map +1 -1
- package/dist/evaluation/special-forms/lambda.mjs +1 -1
- package/dist/evaluation/special-forms/match.d.mts +4 -5
- package/dist/evaluation/special-forms/match.d.mts.map +1 -1
- package/dist/evaluation/special-forms/match.mjs +1 -1
- package/dist/evaluation/special-forms/quote.d.mts +1 -1
- package/dist/evaluation-B6K0DbPS.d.mts +14 -0
- package/dist/evaluation-B6K0DbPS.d.mts.map +1 -0
- package/dist/evaluation-Bs36vy1h.d.mts +12 -0
- package/dist/evaluation-Bs36vy1h.d.mts.map +1 -0
- package/dist/evaluation-Dwo4KN_D.d.mts +9 -0
- package/dist/evaluation-Dwo4KN_D.d.mts.map +1 -0
- package/dist/{json-primitive-DUaaoNff.d.mts → json-primitive-gcv9Q1E4.d.mts} +2 -2
- package/dist/json-primitive-gcv9Q1E4.d.mts.map +1 -0
- package/dist/lion-expression-DMR7Psmu.d.mts +16 -0
- package/dist/lion-expression-DMR7Psmu.d.mts.map +1 -0
- package/dist/modules/array.d.mts +9 -10
- package/dist/modules/array.d.mts.map +1 -1
- package/dist/modules/array.mjs +9 -5
- package/dist/modules/array.mjs.map +1 -1
- package/dist/modules/boolean.d.mts +8 -9
- package/dist/modules/boolean.d.mts.map +1 -1
- package/dist/modules/boolean.mjs +6 -6
- package/dist/modules/boolean.mjs.map +1 -1
- package/dist/modules/console.mjs.map +1 -1
- package/dist/modules/lib/shared.d.mts +1 -2
- package/dist/modules/lib/shared.d.mts.map +1 -1
- package/dist/modules/lib/shared.mjs +1 -1
- package/dist/modules/lib/shared.mjs.map +1 -1
- package/dist/modules/number.d.mts +10 -11
- package/dist/modules/number.d.mts.map +1 -1
- package/dist/modules/number.mjs +9 -9
- package/dist/modules/number.mjs.map +1 -1
- package/dist/modules/object.d.mts +39 -59
- package/dist/modules/object.d.mts.map +1 -1
- package/dist/modules/object.mjs +12 -18
- package/dist/modules/object.mjs.map +1 -1
- package/dist/modules/string.d.mts +8 -9
- package/dist/modules/string.d.mts.map +1 -1
- package/dist/modules/string.mjs +6 -6
- package/dist/modules/string.mjs.map +1 -1
- package/dist/schemas/environment.d.mts +1 -1
- package/dist/schemas/environment.mjs +3 -3
- package/dist/schemas/environment.mjs.map +1 -1
- package/dist/schemas/evaluation.d.mts +17 -17
- package/dist/schemas/evaluation.d.mts.map +1 -1
- package/dist/schemas/evaluation.mjs +23 -15
- package/dist/schemas/evaluation.mjs.map +1 -1
- package/dist/schemas/json-primitive.d.mts +1 -1
- package/dist/schemas/json-primitive.mjs +6 -1
- package/dist/schemas/json-primitive.mjs.map +1 -1
- package/dist/schemas/lion-expression.d.mts +1 -1
- package/dist/schemas/lion-expression.mjs +6 -5
- package/dist/schemas/lion-expression.mjs.map +1 -1
- package/dist/services/evaluation.d.mts +2 -2
- package/dist/services/evaluation.mjs +3 -4
- package/dist/services/evaluation.mjs.map +1 -1
- package/dist/types/evaluation.d.mts +1 -1
- package/package.json +8 -6
- package/dist/environment-k2Uf6VVc.d.mts +0 -25
- package/dist/evaluate-D7ODMrbg.mjs.map +0 -1
- package/dist/evaluation-AblffSQw.d.mts +0 -17
- package/dist/evaluation-AblffSQw.d.mts.map +0 -1
- package/dist/evaluation-EqzK8tQV.d.mts +0 -13
- package/dist/evaluation-EqzK8tQV.d.mts.map +0 -1
- package/dist/evaluation-uwZSKxIf.d.mts +0 -10
- package/dist/evaluation-uwZSKxIf.d.mts.map +0 -1
- package/dist/json-primitive-DUaaoNff.d.mts.map +0 -1
- package/dist/lion-expression-6Y3itx9l.d.mts +0 -16
- package/dist/lion-expression-6Y3itx9l.d.mts.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { r as InnerEnvironment } from "./environment-BQw8BPXl.mjs";
|
|
2
|
+
import { Context } from "effect";
|
|
3
|
+
import * as _$effect_Ref0 from "effect/Ref";
|
|
4
|
+
|
|
5
|
+
//#region src/services/evaluation.d.ts
|
|
6
|
+
declare const LionEnvironmentService_base: Context.ServiceClass<LionEnvironmentService, "LionEnvironmentService", InnerEnvironment | {
|
|
7
|
+
readonly bindingsRef: _$effect_Ref0.Ref<Record<string, unknown>>;
|
|
8
|
+
}>;
|
|
9
|
+
declare class LionEnvironmentService extends LionEnvironmentService_base {}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { LionEnvironmentService as t };
|
|
12
|
+
//# sourceMappingURL=evaluation-Bs36vy1h.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation-Bs36vy1h.d.mts","names":[],"sources":["../src/services/evaluation.ts"],"mappings":";;;;;cAAiC,2BAAA;;;cAGpB,sBAAA,SAA+B,2BAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { n as InvalidFunctionCallError, t as ArgumentMismatchError } from "./evaluation-B6K0DbPS.mjs";
|
|
2
|
+
import { t as LionEnvironmentService } from "./evaluation-Bs36vy1h.mjs";
|
|
3
|
+
import { Effect, Schema } from "effect";
|
|
4
|
+
|
|
5
|
+
//#region src/types/evaluation.d.ts
|
|
6
|
+
type EvaluateResult = Effect.Effect<unknown, Schema.SchemaError | ArgumentMismatchError | InvalidFunctionCallError, LionEnvironmentService>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { EvaluateResult as t };
|
|
9
|
+
//# sourceMappingURL=evaluation-Dwo4KN_D.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation-Dwo4KN_D.d.mts","names":[],"sources":["../src/types/evaluation.ts"],"mappings":";;;;;KAOY,cAAA,GAAiB,MAAA,CAAO,MAAA,UAElC,MAAA,CAAO,WAAA,GAAc,qBAAA,GAAwB,wBAAA,EAC7C,sBAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
2
|
|
|
3
3
|
//#region src/schemas/json-primitive.d.ts
|
|
4
|
-
declare const JsonPrimitiveSchema: Schema.Union<[
|
|
4
|
+
declare const JsonPrimitiveSchema: Schema.Union<readonly [Schema.String, Schema.Number, Schema.Boolean, Schema.Null]>;
|
|
5
5
|
type JsonPrimitiveType = typeof JsonPrimitiveSchema.Type;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { JsonPrimitiveType as n, JsonPrimitiveSchema as t };
|
|
8
|
-
//# sourceMappingURL=json-primitive-
|
|
8
|
+
//# sourceMappingURL=json-primitive-gcv9Q1E4.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-primitive-gcv9Q1E4.d.mts","names":[],"sources":["../src/schemas/json-primitive.ts"],"mappings":";;;cAEa,mBAAA,EAAmB,MAAA,CAAA,KAAA,WAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,EAAA,MAAA,CAAA,IAAA;AAAA,KAOpB,iBAAA,UAA2B,mBAAA,CAAoB,IAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { n as JsonPrimitiveType } from "./json-primitive-gcv9Q1E4.mjs";
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
|
|
4
|
+
//#region src/schemas/lion-expression.d.ts
|
|
5
|
+
type AssumedExpressionType = JsonPrimitiveType | readonly AssumedExpressionType[] | {
|
|
6
|
+
readonly [key: string]: AssumedExpressionType;
|
|
7
|
+
};
|
|
8
|
+
declare const LionArrayExpressionSchema: Schema.$Array<Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>;
|
|
9
|
+
type LionArrayExpressionType = typeof LionArrayExpressionSchema.Type;
|
|
10
|
+
declare const LionRecordExpressionSchema: Schema.$Record<Schema.String, Schema.suspend<Schema.Codec<AssumedExpressionType, AssumedExpressionType, never, never>>>;
|
|
11
|
+
type LionRecordExpressionType = typeof LionRecordExpressionSchema.Type;
|
|
12
|
+
declare const LionExpressionSchema: 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>>>]>;
|
|
13
|
+
type LionExpressionType = typeof LionExpressionSchema.Type;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { LionExpressionType as a, LionExpressionSchema as i, LionArrayExpressionSchema as n, LionRecordExpressionSchema as o, LionArrayExpressionType as r, LionRecordExpressionType as s, AssumedExpressionType as t };
|
|
16
|
+
//# sourceMappingURL=lion-expression-DMR7Psmu.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lion-expression-DMR7Psmu.d.mts","names":[],"sources":["../src/schemas/lion-expression.ts"],"mappings":";;;;KAOY,qBAAA,GACR,iBAAA,YACS,qBAAA;EAAA,UACG,GAAA,WAAc,qBAAA;AAAA;AAAA,cAEjB,yBAAA,EAAyB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,qBAAA,EAAA,qBAAA;AAAA,KAM1B,uBAAA,UAAiC,yBAAA,CAA0B,IAAA;AAAA,cAK1D,0BAAA,EAA0B,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,qBAAA,EAAA,qBAAA;AAAA,KAY3B,wBAAA,UAAkC,0BAAA,CAA2B,IAAA;AAAA,cAG5D,oBAAA,EAAoB,MAAA,CAAA,KAAA,WAAA,MAAA,CAAA,KAAA,WAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,EAAA,MAAA,CAAA,IAAA,IAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,qBAAA,EAAA,qBAAA,mBAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,qBAAA,EAAA,qBAAA;AAAA,KAMrB,kBAAA,UAA4B,oBAAA,CAAqB,IAAA"}
|
package/dist/modules/array.d.mts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { Effect } from "effect";
|
|
2
|
-
import * as _$effect_ParseResult0 from "effect/ParseResult";
|
|
1
|
+
import { Effect, Schema } from "effect";
|
|
3
2
|
|
|
4
3
|
//#region src/modules/array.d.ts
|
|
5
4
|
declare const module: {
|
|
6
5
|
symbol: symbol;
|
|
7
6
|
make: (...args: unknown[]) => Effect.Effect<unknown[], never, never>;
|
|
8
|
-
head: (
|
|
9
|
-
tail: (
|
|
10
|
-
length: (
|
|
11
|
-
concat: (a: unknown, b: unknown) => Effect.Effect<any[],
|
|
12
|
-
"includes?": (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
13
|
-
map: (a: unknown, b: unknown) => Effect.Effect<unknown[],
|
|
14
|
-
"flat-map": (a: unknown, b: unknown) => Effect.Effect<unknown[],
|
|
15
|
-
reduce: (a: unknown, b: unknown, c: unknown) => Effect.Effect<any,
|
|
7
|
+
head: (input: unknown) => Effect.Effect<any, Schema.SchemaError, never>;
|
|
8
|
+
tail: (input: unknown) => Effect.Effect<any[], Schema.SchemaError, never>;
|
|
9
|
+
length: (input: unknown) => Effect.Effect<number, Schema.SchemaError, never>;
|
|
10
|
+
concat: (a: unknown, b: unknown) => Effect.Effect<any[], Schema.SchemaError, never>;
|
|
11
|
+
"includes?": (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
12
|
+
map: (a: unknown, b: unknown) => Effect.Effect<unknown[], Schema.SchemaError, never>;
|
|
13
|
+
"flat-map": (a: unknown, b: unknown) => Effect.Effect<unknown[], Schema.SchemaError, never>;
|
|
14
|
+
reduce: (a: unknown, b: unknown, c: unknown) => Effect.Effect<any, Schema.SchemaError, never>;
|
|
16
15
|
};
|
|
17
16
|
//#endregion
|
|
18
17
|
export { module };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.mts","names":[],"sources":["../../src/modules/array.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"array.d.mts","names":[],"sources":["../../src/modules/array.ts"],"mappings":";;;cAGa,MAAA;;gCAGc,MAAA,CAAA,MAAA"}
|
package/dist/modules/array.mjs
CHANGED
|
@@ -7,15 +7,19 @@ const module = {
|
|
|
7
7
|
head: flow(decode(Schema.Array(Schema.Any)), Effect.map(Array.head), Effect.map(Option.getOrThrow)),
|
|
8
8
|
tail: flow(decode(Schema.Array(Schema.Any)), Effect.map(Array.tail), Effect.map(Option.getOrThrow)),
|
|
9
9
|
length: flow(decode(Schema.Array(Schema.Any)), Effect.map(Array.length)),
|
|
10
|
-
concat: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Array(Schema.Any))), Effect.map(Array.flatten)),
|
|
11
|
-
"includes?": flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any)), Effect.map(([list, item]) => Array.contains(list, item))),
|
|
12
|
-
map: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any)), Effect.flatMap(([list, fn]) => Effect.all(Array.map(list, fn)))),
|
|
13
|
-
"flat-map": flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any)), Effect.flatMap(([list, fn]) => pipe(Array.map(list, fn), Effect.all, Effect.map(Array.flatten)))),
|
|
10
|
+
concat: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Array(Schema.Any)])), Effect.map(Array.flatten)),
|
|
11
|
+
"includes?": flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any])), Effect.map(([list, item]) => Array.contains(list, item))),
|
|
12
|
+
map: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any])), Effect.flatMap(([list, fn]) => Effect.all(Array.map(list, fn)))),
|
|
13
|
+
"flat-map": flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any])), Effect.flatMap(([list, fn]) => pipe(Array.map(list, fn), Effect.all, Effect.map(Array.flatten)))),
|
|
14
14
|
reduce: flow((a, b, c) => [
|
|
15
15
|
a,
|
|
16
16
|
b,
|
|
17
17
|
c
|
|
18
|
-
], decode(Schema.Tuple(
|
|
18
|
+
], decode(Schema.Tuple([
|
|
19
|
+
Schema.Array(Schema.Any),
|
|
20
|
+
Schema.Any,
|
|
21
|
+
Schema.Any
|
|
22
|
+
])), Effect.flatMap(([list, initial, fn]) => Array.reduce(list, Effect.succeed(initial), (accEffect, item) => Effect.flatMap(accEffect, (acc) => fn(acc, item)))))
|
|
19
23
|
};
|
|
20
24
|
//#endregion
|
|
21
25
|
export { module };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.mjs","names":["Arr"],"sources":["../../src/modules/array.ts"],"sourcesContent":["import { Array as Arr, Effect, flow, Option, pipe, Schema } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"array\"),\n\n make: (...args: unknown[]) => Effect.succeed(args),\n\n head: flow(\n decode(Schema.Array(Schema.Any)),\n Effect.map(Arr.head),\n Effect.map(Option.getOrThrow)\n ),\n\n tail: flow(\n decode(Schema.Array(Schema.Any)),\n Effect.map(Arr.tail),\n Effect.map(Option.getOrThrow)\n ),\n\n length: flow(decode(Schema.Array(Schema.Any)), Effect.map(Arr.length)),\n\n concat: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Array(Schema.Any))),\n Effect.map(Arr.flatten)\n ),\n\n \"includes?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any)),\n Effect.map(([list, item]) => Arr.contains(list, item))\n ),\n\n map: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any)),\n Effect.flatMap(([list, fn]) =>\n Effect.all(Arr.map(list, fn) as Effect.Effect<unknown>[])\n )\n ),\n\n \"flat-map\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any)),\n Effect.flatMap(([list, fn]) =>\n pipe(\n Arr.map(list, fn) as Effect.Effect<unknown[]>[],\n Effect.all,\n Effect.map(Arr.flatten)\n )\n )\n ),\n\n reduce: flow(\n (a: unknown, b: unknown, c: unknown) => [a, b, c],\n decode(Schema.Tuple(Schema.Array(Schema.Any), Schema.Any, Schema.Any)),\n Effect.flatMap(([list, initial, fn]) =>\n Arr.reduce(list, Effect.succeed(initial), (accEffect, item) =>\n Effect.flatMap(accEffect, (acc) =>\n (fn as (acc: unknown, item: unknown) => Effect.Effect<unknown>)(\n acc,\n item\n )\n )\n )\n )\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,QAAQ;CAEvB,OAAO,GAAG,SAAoB,OAAO,QAAQ,KAAK;CAElD,MAAM,KACJ,OAAO,OAAO,MAAM,OAAO,IAAI,CAAC,EAChC,OAAO,IAAIA,MAAI,KAAK,EACpB,OAAO,IAAI,OAAO,WAAW,CAC9B;CAED,MAAM,KACJ,OAAO,OAAO,MAAM,OAAO,IAAI,CAAC,EAChC,OAAO,IAAIA,MAAI,KAAK,EACpB,OAAO,IAAI,OAAO,WAAW,CAC9B;CAED,QAAQ,KAAK,OAAO,OAAO,MAAM,OAAO,IAAI,CAAC,EAAE,OAAO,IAAIA,MAAI,OAAO,CAAC;CAEtE,QAAQ,MACL,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,IAAI,EAAE,OAAO,MAAM,OAAO,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"array.mjs","names":["Arr"],"sources":["../../src/modules/array.ts"],"sourcesContent":["import { Array as Arr, Effect, flow, Option, pipe, Schema } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"array\"),\n\n make: (...args: unknown[]) => Effect.succeed(args),\n\n head: flow(\n decode(Schema.Array(Schema.Any)),\n Effect.map(Arr.head),\n Effect.map(Option.getOrThrow)\n ),\n\n tail: flow(\n decode(Schema.Array(Schema.Any)),\n Effect.map(Arr.tail),\n Effect.map(Option.getOrThrow)\n ),\n\n length: flow(decode(Schema.Array(Schema.Any)), Effect.map(Arr.length)),\n\n concat: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Array(Schema.Any)])),\n Effect.map(Arr.flatten)\n ),\n\n \"includes?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any])),\n Effect.map(([list, item]) => Arr.contains(list, item))\n ),\n\n map: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any])),\n Effect.flatMap(([list, fn]) =>\n Effect.all(Arr.map(list, fn) as Effect.Effect<unknown>[])\n )\n ),\n\n \"flat-map\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any])),\n Effect.flatMap(([list, fn]) =>\n pipe(\n Arr.map(list, fn) as Effect.Effect<unknown[]>[],\n Effect.all,\n Effect.map(Arr.flatten)\n )\n )\n ),\n\n reduce: flow(\n (a: unknown, b: unknown, c: unknown) => [a, b, c],\n decode(Schema.Tuple([Schema.Array(Schema.Any), Schema.Any, Schema.Any])),\n Effect.flatMap(([list, initial, fn]) =>\n Arr.reduce(list, Effect.succeed(initial), (accEffect, item) =>\n Effect.flatMap(accEffect, (acc) =>\n (fn as (acc: unknown, item: unknown) => Effect.Effect<unknown>)(\n acc,\n item\n )\n )\n )\n )\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,QAAQ;CAEvB,OAAO,GAAG,SAAoB,OAAO,QAAQ,KAAK;CAElD,MAAM,KACJ,OAAO,OAAO,MAAM,OAAO,IAAI,CAAC,EAChC,OAAO,IAAIA,MAAI,KAAK,EACpB,OAAO,IAAI,OAAO,WAAW,CAC9B;CAED,MAAM,KACJ,OAAO,OAAO,MAAM,OAAO,IAAI,CAAC,EAChC,OAAO,IAAIA,MAAI,KAAK,EACpB,OAAO,IAAI,OAAO,WAAW,CAC9B;CAED,QAAQ,KAAK,OAAO,OAAO,MAAM,OAAO,IAAI,CAAC,EAAE,OAAO,IAAIA,MAAI,OAAO,CAAC;CAEtE,QAAQ,MACL,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,MAAM,OAAO,IAAI,EAAE,OAAO,MAAM,OAAO,IAAI,CAAC,CAAC,CAAC,EAC1E,OAAO,IAAIA,MAAI,QAAQ,CACxB;CAED,aAAa,MACV,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,MAAM,OAAO,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,EAC5D,OAAO,KAAK,CAAC,MAAM,UAAUA,MAAI,SAAS,MAAM,KAAK,CAAC,CACvD;CAED,KAAK,MACF,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,MAAM,OAAO,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,EAC5D,OAAO,SAAS,CAAC,MAAM,QACrB,OAAO,IAAIA,MAAI,IAAI,MAAM,GAAG,CAA6B,CAC1D,CACF;CAED,YAAY,MACT,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,MAAM,OAAO,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,EAC5D,OAAO,SAAS,CAAC,MAAM,QACrB,KACEA,MAAI,IAAI,MAAM,GAAG,EACjB,OAAO,KACP,OAAO,IAAIA,MAAI,QAAQ,CACxB,CACF,CACF;CAED,QAAQ,MACL,GAAY,GAAY,MAAe;EAAC;EAAG;EAAG;EAAE,EACjD,OAAO,OAAO,MAAM;EAAC,OAAO,MAAM,OAAO,IAAI;EAAE,OAAO;EAAK,OAAO;EAAI,CAAC,CAAC,EACxE,OAAO,SAAS,CAAC,MAAM,SAAS,QAC9BA,MAAI,OAAO,MAAM,OAAO,QAAQ,QAAQ,GAAG,WAAW,SACpD,OAAO,QAAQ,YAAY,QACxB,GACC,KACA,KACD,CACF,CACF,CACF,CACF;CACF"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { Effect } from "effect";
|
|
2
|
-
import * as _$effect_ParseResult0 from "effect/ParseResult";
|
|
1
|
+
import { Effect, Schema } from "effect";
|
|
3
2
|
|
|
4
3
|
//#region src/modules/boolean.d.ts
|
|
5
4
|
declare const module: {
|
|
6
5
|
symbol: symbol;
|
|
7
|
-
"equals?": (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
8
|
-
not: (
|
|
9
|
-
and: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
10
|
-
or: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
11
|
-
xor: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
12
|
-
nand: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
13
|
-
nor: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
6
|
+
"equals?": (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
7
|
+
not: (input: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
8
|
+
and: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
9
|
+
or: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
10
|
+
xor: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
11
|
+
nand: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
12
|
+
nor: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
14
13
|
};
|
|
15
14
|
//#endregion
|
|
16
15
|
export { module };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.d.mts","names":[],"sources":["../../src/modules/boolean.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"boolean.d.mts","names":[],"sources":["../../src/modules/boolean.ts"],"mappings":";;;cAGa,MAAA"}
|
package/dist/modules/boolean.mjs
CHANGED
|
@@ -3,13 +3,13 @@ import { Boolean, Effect, Schema, flow } from "effect";
|
|
|
3
3
|
//#region src/modules/boolean.ts
|
|
4
4
|
const module = {
|
|
5
5
|
symbol: Symbol("boolean"),
|
|
6
|
-
"equals?": flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)), Effect.map(([a, b]) => a === b)),
|
|
6
|
+
"equals?": flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])), Effect.map(([a, b]) => a === b)),
|
|
7
7
|
not: flow(decode(Schema.Boolean), Effect.map(Boolean.not)),
|
|
8
|
-
and: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)), Effect.map(([a, b]) => Boolean.and(a, b))),
|
|
9
|
-
or: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)), Effect.map(([a, b]) => Boolean.or(a, b))),
|
|
10
|
-
xor: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)), Effect.map(([a, b]) => Boolean.xor(a, b))),
|
|
11
|
-
nand: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)), Effect.map(([a, b]) => Boolean.nand(a, b))),
|
|
12
|
-
nor: flow((a, b) => [a, b], decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)), Effect.map(([a, b]) => Boolean.nor(a, b)))
|
|
8
|
+
and: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])), Effect.map(([a, b]) => Boolean.and(a, b))),
|
|
9
|
+
or: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])), Effect.map(([a, b]) => Boolean.or(a, b))),
|
|
10
|
+
xor: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])), Effect.map(([a, b]) => Boolean.xor(a, b))),
|
|
11
|
+
nand: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])), Effect.map(([a, b]) => Boolean.nand(a, b))),
|
|
12
|
+
nor: flow((a, b) => [a, b], decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])), Effect.map(([a, b]) => Boolean.nor(a, b)))
|
|
13
13
|
};
|
|
14
14
|
//#endregion
|
|
15
15
|
export { module };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.mjs","names":["Bool"],"sources":["../../src/modules/boolean.ts"],"sourcesContent":["import { Boolean as Bool, Effect, flow, Schema } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"boolean\"),\n\n \"equals?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)),\n Effect.map(([a, b]) => a === b)\n ),\n\n not: flow(decode(Schema.Boolean), Effect.map(Bool.not)),\n\n and: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)),\n Effect.map(([a, b]) => Bool.and(a, b))\n ),\n\n or: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)),\n Effect.map(([a, b]) => Bool.or(a, b))\n ),\n\n xor: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)),\n Effect.map(([a, b]) => Bool.xor(a, b))\n ),\n\n nand: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)),\n Effect.map(([a, b]) => Bool.nand(a, b))\n ),\n\n nor: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple(Schema.Boolean, Schema.Boolean)),\n Effect.map(([a, b]) => Bool.nor(a, b))\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,UAAU;CAEzB,WAAW,MACR,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,OAAO,SAAS,OAAO,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"boolean.mjs","names":["Bool"],"sources":["../../src/modules/boolean.ts"],"sourcesContent":["import { Boolean as Bool, Effect, flow, Schema } from \"effect\";\nimport { decode } from \"@/modules/lib/shared\";\n\nexport const module = {\n symbol: Symbol(\"boolean\"),\n\n \"equals?\": flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])),\n Effect.map(([a, b]) => a === b)\n ),\n\n not: flow(decode(Schema.Boolean), Effect.map(Bool.not)),\n\n and: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])),\n Effect.map(([a, b]) => Bool.and(a, b))\n ),\n\n or: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])),\n Effect.map(([a, b]) => Bool.or(a, b))\n ),\n\n xor: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])),\n Effect.map(([a, b]) => Bool.xor(a, b))\n ),\n\n nand: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])),\n Effect.map(([a, b]) => Bool.nand(a, b))\n ),\n\n nor: flow(\n (a: unknown, b: unknown) => [a, b],\n decode(Schema.Tuple([Schema.Boolean, Schema.Boolean])),\n Effect.map(([a, b]) => Bool.nor(a, b))\n ),\n};\n"],"mappings":";;;AAGA,MAAa,SAAS;CACpB,QAAQ,OAAO,UAAU;CAEzB,WAAW,MACR,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,CAAC,EACtD,OAAO,KAAK,CAAC,GAAG,OAAO,MAAM,EAAE,CAChC;CAED,KAAK,KAAK,OAAO,OAAO,QAAQ,EAAE,OAAO,IAAIA,QAAK,IAAI,CAAC;CAEvD,KAAK,MACF,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,CAAC,EACtD,OAAO,KAAK,CAAC,GAAG,OAAOA,QAAK,IAAI,GAAG,EAAE,CAAC,CACvC;CAED,IAAI,MACD,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,CAAC,EACtD,OAAO,KAAK,CAAC,GAAG,OAAOA,QAAK,GAAG,GAAG,EAAE,CAAC,CACtC;CAED,KAAK,MACF,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,CAAC,EACtD,OAAO,KAAK,CAAC,GAAG,OAAOA,QAAK,IAAI,GAAG,EAAE,CAAC,CACvC;CAED,MAAM,MACH,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,CAAC,EACtD,OAAO,KAAK,CAAC,GAAG,OAAOA,QAAK,KAAK,GAAG,EAAE,CAAC,CACxC;CAED,KAAK,MACF,GAAY,MAAe,CAAC,GAAG,EAAE,EAClC,OAAO,OAAO,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,CAAC,EACtD,OAAO,KAAK,CAAC,GAAG,OAAOA,QAAK,IAAI,GAAG,EAAE,CAAC,CACvC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.mjs","names":[],"sources":["../../src/modules/console.ts"],"sourcesContent":["import { Console, Effect } from \"effect\";\n\nexport const module = {\n log: (message: string) =>\n Console.log(message).pipe(Effect.map(() => message)),\n
|
|
1
|
+
{"version":3,"file":"console.mjs","names":[],"sources":["../../src/modules/console.ts"],"sourcesContent":["import { Console, Effect } from \"effect\";\n\nexport const module = {\n log: (message: string) =>\n Console.log(message).pipe(Effect.map(() => message)),\n\n \"log-json\": (message: unknown) =>\n Console.log(JSON.stringify(message, null, 2)).pipe(\n Effect.map(() => JSON.stringify(message, null, 2))\n ),\n};\n"],"mappings":";;AAEA,MAAa,SAAS;CACpB,MAAM,YACJ,QAAQ,IAAI,QAAQ,CAAC,KAAK,OAAO,UAAU,QAAQ,CAAC;CAEtD,aAAa,YACX,QAAQ,IAAI,KAAK,UAAU,SAAS,MAAM,EAAE,CAAC,CAAC,KAC5C,OAAO,UAAU,KAAK,UAAU,SAAS,MAAM,EAAE,CAAC,CACnD;CACJ"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
|
-
import * as _$effect_ParseResult0 from "effect/ParseResult";
|
|
3
2
|
import * as _$effect_Effect0 from "effect/Effect";
|
|
4
3
|
|
|
5
4
|
//#region src/modules/lib/shared.d.ts
|
|
6
|
-
declare const decode: <A
|
|
5
|
+
declare const decode: <A>(schema: Schema.Decoder<A>) => (input: unknown) => _$effect_Effect0.Effect<A, Schema.SchemaError, never>;
|
|
7
6
|
//#endregion
|
|
8
7
|
export { decode };
|
|
9
8
|
//# sourceMappingURL=shared.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.mts","names":[],"sources":["../../../src/modules/lib/shared.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.d.mts","names":[],"sources":["../../../src/modules/lib/shared.ts"],"mappings":";;;;cAEa,MAAA,MACP,MAAA,EAAQ,MAAA,CAAO,OAAA,CAAQ,CAAA,OAC1B,KAAA,cAAc,gBAAA,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,WAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.mjs","names":[],"sources":["../../../src/modules/lib/shared.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nexport const decode
|
|
1
|
+
{"version":3,"file":"shared.mjs","names":[],"sources":["../../../src/modules/lib/shared.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nexport const decode =\n <A>(schema: Schema.Decoder<A>) =>\n (input: unknown) =>\n Schema.decodeUnknownEffect(schema)(input);\n"],"mappings":";;AAEA,MAAa,UACP,YACH,UACC,OAAO,oBAAoB,OAAO,CAAC,MAAM"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { Effect } from "effect";
|
|
2
|
-
import * as _$effect_ParseResult0 from "effect/ParseResult";
|
|
1
|
+
import { Effect, Schema } from "effect";
|
|
3
2
|
|
|
4
3
|
//#region src/modules/number.d.ts
|
|
5
4
|
declare const module: {
|
|
6
5
|
symbol: symbol;
|
|
7
|
-
"equals?": (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
8
|
-
lessThan: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
9
|
-
greaterThan: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
10
|
-
lessThanOrEqualTo: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
11
|
-
greaterThanOrEqualTo: (a: unknown, b: unknown) => Effect.Effect<boolean,
|
|
12
|
-
add: (a: unknown, b: unknown) => Effect.Effect<number,
|
|
13
|
-
subtract: (a: unknown, b: unknown) => Effect.Effect<number,
|
|
14
|
-
multiply: (a: unknown, b: unknown) => Effect.Effect<number,
|
|
15
|
-
divide: (a: unknown, b: unknown) => Effect.Effect<number,
|
|
6
|
+
"equals?": (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
7
|
+
lessThan: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
8
|
+
greaterThan: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
9
|
+
lessThanOrEqualTo: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
10
|
+
greaterThanOrEqualTo: (a: unknown, b: unknown) => Effect.Effect<boolean, Schema.SchemaError, never>;
|
|
11
|
+
add: (a: unknown, b: unknown) => Effect.Effect<number, Schema.SchemaError, never>;
|
|
12
|
+
subtract: (a: unknown, b: unknown) => Effect.Effect<number, Schema.SchemaError, never>;
|
|
13
|
+
multiply: (a: unknown, b: unknown) => Effect.Effect<number, Schema.SchemaError, never>;
|
|
14
|
+
divide: (a: unknown, b: unknown) => Effect.Effect<number, Schema.SchemaError, never>;
|
|
16
15
|
};
|
|
17
16
|
//#endregion
|
|
18
17
|
export { module };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.mts","names":[],"sources":["../../src/modules/number.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"number.d.mts","names":[],"sources":["../../src/modules/number.ts"],"mappings":";;;cAGa,MAAA"}
|
package/dist/modules/number.mjs
CHANGED
|
@@ -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,
|
|
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 _$
|
|
2
|
+
import * as _$effect_Cause0 from "effect/Cause";
|
|
3
3
|
|
|
4
4
|
//#region src/modules/object.d.ts
|
|
5
|
-
declare const NotAnObjectError_base: Schema.
|
|
6
|
-
readonly
|
|
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.
|
|
12
|
-
readonly
|
|
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.
|
|
18
|
-
readonly
|
|
19
|
-
|
|
20
|
-
|
|
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.
|
|
25
|
-
readonly
|
|
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.
|
|
31
|
-
readonly
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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.
|
|
39
|
-
readonly
|
|
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.
|
|
45
|
-
readonly
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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.
|
|
53
|
-
readonly
|
|
54
|
-
|
|
55
|
-
|
|
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.
|
|
60
|
-
readonly
|
|
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.
|
|
66
|
-
readonly
|
|
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[],
|
|
77
|
-
values: (obj: unknown) => Effect.Effect<unknown[],
|
|
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
|
|
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"}
|
package/dist/modules/object.mjs
CHANGED
|
@@ -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(
|
|
4
|
-
var KeyNotFoundError = class extends Schema.TaggedError(
|
|
5
|
-
var NotAFunctionError = class extends Schema.TaggedError(
|
|
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(
|
|
10
|
-
var PathTraversalError = class extends Schema.TaggedError(
|
|
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(
|
|
16
|
-
var MethodNotFoundError = class extends Schema.TaggedError(
|
|
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(
|
|
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(
|
|
26
|
-
var InvalidPathError = class extends Schema.TaggedError(
|
|
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.
|
|
108
|
-
|
|
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);
|