@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.
Files changed (114) hide show
  1. package/README.md +326 -6
  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 +8 -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
@@ -1,25 +0,0 @@
1
- import { Ref, Schema } from "effect";
2
-
3
- //#region src/schemas/environment.d.ts
4
- type BindingsRef = Ref.Ref<Record<string, unknown>>;
5
- interface InnerEnvironment {
6
- readonly bindingsRef: BindingsRef;
7
- readonly parent: Environment;
8
- }
9
- type Environment = typeof EnvironmentSchema.Type;
10
- type ToplevelEnvironment = typeof ToplevelEnvironmentSchema.Type;
11
- declare const ToplevelEnvironmentSchema: Schema.Struct<{
12
- bindingsRef: Schema.Schema<BindingsRef, BindingsRef, never>;
13
- }>;
14
- declare const EnvironmentSchema: Schema.Union<[Schema.Struct<{
15
- bindingsRef: Schema.Schema<BindingsRef, BindingsRef, never>;
16
- }>, Schema.suspend<InnerEnvironment, InnerEnvironment, never>]>;
17
- declare const InnerEnvironmentSchema: Schema.Struct<{
18
- bindingsRef: Schema.Schema<BindingsRef, BindingsRef, never>;
19
- parent: Schema.Union<[Schema.Struct<{
20
- bindingsRef: Schema.Schema<BindingsRef, BindingsRef, never>;
21
- }>, Schema.suspend<InnerEnvironment, InnerEnvironment, never>]>;
22
- }>;
23
- //#endregion
24
- export { ToplevelEnvironment as a, InnerEnvironmentSchema as i, EnvironmentSchema as n, ToplevelEnvironmentSchema as o, InnerEnvironment as r, Environment as t };
25
- //# sourceMappingURL=environment-k2Uf6VVc.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluate-D7ODMrbg.mjs","names":["Arr","Arr","Arr","Arr","Arr","Arr"],"sources":["../src/evaluation/special-forms/begin.ts","../src/evaluation/special-forms/cond.ts","../src/evaluation/special-forms/define.ts","../src/evaluation/special-forms/eval.ts","../src/evaluation/special-forms/function.ts","../src/evaluation/special-forms/lambda.ts","../src/evaluation/special-forms/match.ts","../src/evaluation/base-forms/array.ts","../src/evaluation/base-forms/record.ts","../src/evaluation/evaluate.ts"],"sourcesContent":["import { Array as Arr, Effect, Option, pipe } from \"effect\";\nimport { evaluate } from \"@/evaluation/evaluate\";\nimport type { BeginFormSchema } from \"@/schemas/evaluation\";\n\nexport const evaluateBegin = ([_, ...args]: typeof BeginFormSchema.Type) =>\n pipe(\n Arr.map(args, evaluate),\n Effect.all,\n Effect.map(Arr.last),\n Effect.map(Option.getOrElse(() => []))\n );\n","import { Array as Arr, Effect, Match, pipe, Schema } from \"effect\";\nimport { evaluate } from \"@/evaluation/evaluate\";\nimport {\n type CondFormSchema,\n CondFormWithElseSchema,\n CondFormWithoutElseSchema,\n} from \"@/schemas/evaluation\";\n\nexport const evaluateCond = (expression: typeof CondFormSchema.Type) =>\n pipe(\n Match.value(expression),\n Match.when(Schema.is(CondFormWithoutElseSchema), (exprWithoutElse) =>\n Effect.gen(function* () {\n const [_, ...cases] = exprWithoutElse;\n for (const [condition, result] of cases) {\n const conditionResult = yield* evaluate(condition);\n if (conditionResult) {\n return yield* evaluate(result);\n }\n }\n return null;\n })\n ),\n Match.when(Schema.is(CondFormWithElseSchema), (expression) =>\n Effect.gen(function* () {\n const [_, ...cases] = expression;\n for (const [condition, result] of Arr.initNonEmpty(cases)) {\n const conditionResult = yield* evaluate(condition);\n if (conditionResult) {\n return yield* evaluate(result);\n }\n }\n const elseCase = Arr.lastNonEmpty(cases);\n return yield* evaluate(elseCase);\n })\n ),\n Match.exhaustive\n );\n","import { Effect, pipe } from \"effect\";\nimport { setGlobalBinding } from \"@/evaluation/environment\";\nimport { evaluate } from \"@/evaluation/evaluate\";\nimport type { DefineFormSchema } from \"@/schemas/evaluation\";\nimport { getService, LionEnvironmentService } from \"@/services/evaluation\";\n\nexport const evaluateDefine = ([_, id, expr]: typeof DefineFormSchema.Type) =>\n pipe(\n Effect.Do,\n Effect.bind(\"environment\", () => getService(LionEnvironmentService)),\n Effect.bind(\"value\", () => evaluate(expr)),\n Effect.flatMap(({ environment, value }) =>\n pipe(\n setGlobalBinding(environment, id, value),\n Effect.map(() => value)\n )\n )\n );\n","import { Effect, pipe, Schema } from \"effect\";\nimport { evaluate } from \"@/evaluation/evaluate.ts\";\nimport type { EvalFormSchema } from \"@/schemas/evaluation\";\nimport { LionExpressionSchema } from \"@/schemas/lion-expression\";\n\nexport const evaluateEval = ([_, args]: typeof EvalFormSchema.Type) =>\n pipe(\n evaluate(args),\n Effect.flatMap(Schema.decodeUnknown(LionExpressionSchema)),\n Effect.flatMap(evaluate)\n );\n","import { Array as Arr, Effect, Match, pipe, Schema } from \"effect\";\nimport { InvalidFunctionCallError } from \"@/errors/evaluation\";\nimport { evaluate } from \"@/evaluation/evaluate.ts\";\nimport {\n type FunctionCallFormSchema,\n LionFunctionValueSchema,\n} from \"@/schemas/evaluation\";\n\nexport const evaluateFunctionCall = (\n functionCallExpression: typeof FunctionCallFormSchema.Type\n) =>\n pipe(\n Effect.all(Arr.map(functionCallExpression, evaluate)),\n Effect.map(Arr.unprepend),\n Effect.flatMap(([head, tail]) =>\n pipe(\n Match.value(head),\n Match.when(Schema.is(LionFunctionValueSchema), (fn) => {\n const result = fn(...tail);\n return Effect.isEffect(result) ? result : Effect.succeed(result);\n }),\n Match.orElse(() =>\n Effect.fail(\n new InvalidFunctionCallError({ expression: functionCallExpression })\n )\n )\n )\n )\n );\n","import { Array as Arr, Effect, Record } from \"effect\";\nimport { ArgumentMismatchError } from \"@/errors/evaluation\";\nimport { makeEnvironment } from \"@/evaluation/environment\";\nimport { evaluate } from \"@/evaluation/evaluate\";\nimport type { LambdaFormSchema } from \"@/schemas/evaluation\";\nimport { getService, LionEnvironmentService } from \"@/services/evaluation\";\n\nexport const evaluateLambda = ([\n _,\n parameters,\n bodyExpression,\n]: typeof LambdaFormSchema.Type) =>\n Effect.gen(function* () {\n const enclosedEnvironment = yield* getService(LionEnvironmentService);\n const lambda = Effect.fn(function* (...args: unknown[]) {\n if (args.length < parameters.length) {\n return yield* new ArgumentMismatchError();\n }\n const paramsEnvironment = Record.fromEntries(Arr.zip(parameters, args));\n const environment = yield* makeEnvironment(\n paramsEnvironment,\n enclosedEnvironment\n );\n return yield* evaluate(bodyExpression).pipe(\n Effect.provideService(LionEnvironmentService, environment)\n );\n });\n return lambda;\n });\n","import {\n Array as Arr,\n Effect,\n Match,\n Option,\n pipe,\n Record,\n Schema,\n} from \"effect\";\nimport { evaluate } from \"@/evaluation/evaluate\";\nimport {\n LionFunctionValueSchema,\n type MatchFormSchema,\n MatchPatternSchema,\n} from \"@/schemas/evaluation\";\nimport { LionExpressionSchema } from \"@/schemas/lion-expression\";\nimport type { LionEnvironmentService } from \"@/services/evaluation\";\nimport type { EvaluateResult } from \"@/types/evaluation\";\n\n/*\n[\"match\", <value>, [<predicate>, <fn>], ..., <fallback-fn>]\n*/\n\ntype AssumedMatchPredicateType =\n | { readonly [key: string]: AssumedMatchPredicateType }\n | typeof LionFunctionValueSchema.Type;\n\nconst MatchPredicateRecordSchema = Schema.Record({\n key: Schema.String,\n value: Schema.suspend(\n (): Schema.Schema<AssumedMatchPredicateType> => MatchPredicateSchema\n ),\n});\n\nconst MatchPredicateSchema = Schema.Union(\n MatchPredicateRecordSchema,\n LionFunctionValueSchema\n);\n\nconst AnyRecordSchema = Schema.Record({\n key: Schema.String,\n value: Schema.Any,\n});\n\nconst evaluatePredicate = (\n value: unknown,\n predicate: typeof MatchPredicateSchema.Type\n): Effect.Effect<boolean, never, LionEnvironmentService> =>\n pipe(\n Match.value(predicate),\n Match.when(Schema.is(MatchPredicateRecordSchema), (record) =>\n Effect.gen(function* () {\n if (!Schema.is(AnyRecordSchema)(value)) {\n return false;\n }\n\n if (!Record.keys(record).every((key) => Record.has(value, key))) {\n return false;\n }\n\n let result = true;\n for (const [recordKey, recordValue] of Record.toEntries(record)) {\n const recordValueResult = yield* evaluatePredicate(\n value[recordKey],\n recordValue\n );\n result = result && recordValueResult;\n }\n\n return result;\n })\n ),\n Match.when(Schema.is(LionFunctionValueSchema), (predicateFn) =>\n pipe(\n predicateFn(value),\n Effect.flatMap(Schema.decodeUnknown(Schema.Boolean)),\n Effect.catchAll(() => Effect.succeed(false))\n )\n ),\n Match.orElseAbsurd\n );\n\nconst evaluateMatchPatterns = (\n value: unknown,\n patternExprs: (\n | typeof MatchPatternSchema.Type\n | typeof LionExpressionSchema.Type\n )[]\n): EvaluateResult =>\n pipe(\n Arr.head(patternExprs),\n Option.getOrThrow,\n Match.value,\n Match.when(Schema.is(MatchPatternSchema), ([predicateExpr, fnExpr]) =>\n pipe(\n Effect.Do,\n Effect.bind(\"predicate\", () => evaluate(predicateExpr)),\n Effect.bind(\"fn\", () =>\n pipe(\n evaluate(fnExpr),\n Effect.flatMap(Schema.decodeUnknown(LionFunctionValueSchema))\n )\n ),\n Effect.flatMap(({ predicate, fn }) =>\n pipe(\n Schema.decodeUnknown(MatchPredicateSchema)(predicate),\n Effect.flatMap((predicate) => evaluatePredicate(value, predicate)),\n Effect.if({\n onTrue: () => fn(value),\n onFalse: () =>\n pipe(Arr.tail(patternExprs), Option.getOrThrow, (tail) =>\n evaluateMatchPatterns(value, tail)\n ),\n })\n )\n )\n )\n ),\n Match.when(Schema.is(LionExpressionSchema), (fallbackFn) =>\n pipe(\n evaluate(fallbackFn),\n Effect.flatMap(Schema.decodeUnknown(LionFunctionValueSchema)),\n Effect.flatMap((fallbackFn) => fallbackFn(value))\n )\n ),\n Match.exhaustive\n );\n\nexport const evaluateMatch = ([\n _,\n valueExpr,\n ...patternExprs\n]: typeof MatchFormSchema.Type) =>\n pipe(\n evaluate(valueExpr),\n Effect.flatMap((value) => evaluateMatchPatterns(value, patternExprs))\n );\n","import { Array as Arr, Effect, Match, pipe, Schema } from \"effect\";\nimport { InvalidFunctionCallError } from \"@/errors/evaluation\";\nimport { evaluateBegin } from \"@/evaluation/special-forms/begin.ts\";\nimport { evaluateCond } from \"@/evaluation/special-forms/cond.ts\";\nimport { evaluateDefine } from \"@/evaluation/special-forms/define.ts\";\nimport { evaluateEval } from \"@/evaluation/special-forms/eval.ts\";\nimport { evaluateFunctionCall } from \"@/evaluation/special-forms/function.ts\";\nimport { evaluateLambda } from \"@/evaluation/special-forms/lambda\";\nimport { evaluateMatch } from \"@/evaluation/special-forms/match\";\nimport { evaluateQuote } from \"@/evaluation/special-forms/quote.ts\";\nimport {\n BeginFormSchema,\n CondFormSchema,\n DefineFormSchema,\n EvalFormSchema,\n FunctionCallFormSchema,\n LambdaFormSchema,\n MatchFormSchema,\n QuoteFormSchema,\n} from \"@/schemas/evaluation.ts\";\nimport type { LionArrayExpressionType } from \"@/schemas/lion-expression.ts\";\n\nexport const evaluateArray = (expression: LionArrayExpressionType) =>\n pipe(\n Match.value(expression),\n Match.when(Arr.isEmptyReadonlyArray, Effect.succeed),\n Match.when(Schema.is(EvalFormSchema), (_) => evaluateEval(_)),\n Match.when(Schema.is(QuoteFormSchema), (_) => evaluateQuote(_)),\n Match.when(Schema.is(BeginFormSchema), (_) => evaluateBegin(_)),\n Match.when(Schema.is(DefineFormSchema), (_) => evaluateDefine(_)),\n Match.when(Schema.is(LambdaFormSchema), (_) => evaluateLambda(_)),\n Match.when(Schema.is(CondFormSchema), (_) => evaluateCond(_)),\n Match.when(Schema.is(MatchFormSchema), (_) => evaluateMatch(_)),\n Match.when(Schema.is(FunctionCallFormSchema), (_) =>\n evaluateFunctionCall(_)\n ),\n Match.orElse(() =>\n Effect.fail(new InvalidFunctionCallError({ expression }))\n )\n );\n","import { Effect, pipe, Record } from \"effect\";\nimport { evaluate } from \"@/evaluation/evaluate.ts\";\nimport type { LionRecordExpressionType } from \"@/schemas/lion-expression\";\n\nexport const evaluateRecord = (expression: LionRecordExpressionType) =>\n pipe(expression, Record.map(evaluate), Effect.all);\n","import { Effect, Match, pipe, Schema } from \"effect\";\nimport { evaluateArray } from \"@/evaluation/base-forms/array\";\nimport { evaluatePrimitive } from \"@/evaluation/base-forms/primitive\";\nimport { evaluateRecord } from \"@/evaluation/base-forms/record\";\nimport { makeEnvironment } from \"@/evaluation/environment\";\nimport { JsonPrimitiveSchema } from \"@/schemas/json-primitive\";\nimport {\n LionArrayExpressionSchema,\n LionExpressionSchema,\n type LionExpressionType,\n LionRecordExpressionSchema,\n} from \"@/schemas/lion-expression\";\nimport { LionEnvironmentService } from \"@/services/evaluation\";\nimport type { EvaluateResult } from \"@/types/evaluation\";\n\nexport const evaluate = (expression: LionExpressionType): EvaluateResult =>\n pipe(\n Match.value(expression),\n Match.when(Schema.is(LionArrayExpressionSchema), (_) => evaluateArray(_)),\n Match.when(Schema.is(LionRecordExpressionSchema), (_) => evaluateRecord(_)),\n Match.when(Schema.is(JsonPrimitiveSchema), (_) => evaluatePrimitive(_)),\n Match.exhaustive\n );\n\nexport const run = (\n expression: unknown,\n environment: Record<string, unknown>\n) =>\n pipe(\n Schema.decodeUnknown(LionExpressionSchema)(expression),\n Effect.flatMap(evaluate),\n Effect.provideServiceEffect(\n LionEnvironmentService,\n makeEnvironment(environment)\n )\n );\n"],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { t as AssumedExpressionType } from "./lion-expression-6Y3itx9l.mjs";
2
- import { Schema } from "effect";
3
-
4
- //#region src/errors/evaluation.d.ts
5
- declare const ArgumentMismatchError_base: Schema.TaggedErrorClass<ArgumentMismatchError, "ArgumentMismatchError", {
6
- readonly _tag: Schema.tag<"ArgumentMismatchError">;
7
- }>;
8
- declare class ArgumentMismatchError extends ArgumentMismatchError_base {}
9
- declare const InvalidFunctionCallError_base: Schema.TaggedErrorClass<InvalidFunctionCallError, "InvalidFunctionCallError", {
10
- readonly _tag: Schema.tag<"InvalidFunctionCallError">;
11
- } & {
12
- expression: 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>>]>;
13
- }>;
14
- declare class InvalidFunctionCallError extends InvalidFunctionCallError_base {}
15
- //#endregion
16
- export { InvalidFunctionCallError as n, ArgumentMismatchError as t };
17
- //# sourceMappingURL=evaluation-AblffSQw.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluation-AblffSQw.d.mts","names":[],"sources":["../src/errors/evaluation.ts"],"mappings":";;;;cAAgC,0BAAA;;;cAGnB,qBAAA,SAA8B,0BAAA;AAAA,cAEV,6BAAA;;;;;cAEpB,wBAAA,SAAiC,6BAAA"}
@@ -1,13 +0,0 @@
1
- import { r as InnerEnvironment } from "./environment-k2Uf6VVc.mjs";
2
- import { Context, Effect } from "effect";
3
- import * as _$effect_Ref0 from "effect/Ref";
4
-
5
- //#region src/services/evaluation.d.ts
6
- declare const LionEnvironmentService_base: Context.TagClass<LionEnvironmentService, "LionEnvironmentService", {
7
- readonly bindingsRef: _$effect_Ref0.Ref<Record<string, unknown>>;
8
- } | InnerEnvironment>;
9
- declare class LionEnvironmentService extends LionEnvironmentService_base {}
10
- declare const getService: <T, U>(context: Context.Tag<T, U>) => Effect.Effect<U, never, T>;
11
- //#endregion
12
- export { getService as n, LionEnvironmentService as t };
13
- //# sourceMappingURL=evaluation-EqzK8tQV.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluation-EqzK8tQV.d.mts","names":[],"sources":["../src/services/evaluation.ts"],"mappings":";;;;;cAA+C,2BAAA;;;cAGlC,sBAAA,SAA+B,2BAAA;AAAA,cAI/B,UAAA,SAAoB,OAAA,EAAS,OAAA,CAAQ,GAAA,CAAI,CAAA,EAAG,CAAA,MAAE,MAAA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA"}
@@ -1,10 +0,0 @@
1
- import { n as InvalidFunctionCallError, t as ArgumentMismatchError } from "./evaluation-AblffSQw.mjs";
2
- import { t as LionEnvironmentService } from "./evaluation-EqzK8tQV.mjs";
3
- import { Effect } from "effect";
4
- import { ParseError } from "effect/ParseResult";
5
-
6
- //#region src/types/evaluation.d.ts
7
- type EvaluateResult = Effect.Effect<unknown, ParseError | ArgumentMismatchError | InvalidFunctionCallError, LionEnvironmentService>;
8
- //#endregion
9
- export { EvaluateResult as t };
10
- //# sourceMappingURL=evaluation-uwZSKxIf.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluation-uwZSKxIf.d.mts","names":[],"sources":["../src/types/evaluation.ts"],"mappings":";;;;;;KAQY,cAAA,GAAiB,MAAA,CAAO,MAAA,UAElC,UAAA,GAAa,qBAAA,GAAwB,wBAAA,EACrC,sBAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-primitive-DUaaoNff.d.mts","names":[],"sources":["../src/schemas/json-primitive.ts"],"mappings":";;;cAEa,mBAAA,EAAmB,MAAA,CAAA,KAAA,SAAA,MAAA,CAAA,MAAA,SAAA,MAAA,CAAA,MAAA,SAAA,MAAA,CAAA,OAAA,SAAA,MAAA,CAAA,IAAA;AAAA,KAOpB,iBAAA,UAA2B,mBAAA,CAAoB,IAAA"}
@@ -1,16 +0,0 @@
1
- import { n as JsonPrimitiveType } from "./json-primitive-DUaaoNff.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<AssumedExpressionType, AssumedExpressionType, never>>;
9
- type LionArrayExpressionType = typeof LionArrayExpressionSchema.Type;
10
- declare const LionRecordExpressionSchema: Schema.Record$<Schema.filter<Schema.filter<typeof Schema.String>>, Schema.suspend<AssumedExpressionType, AssumedExpressionType, never>>;
11
- type LionRecordExpressionType = typeof LionRecordExpressionSchema.Type;
12
- declare const LionExpressionSchema: 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>>]>;
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-6Y3itx9l.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lion-expression-6Y3itx9l.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,qBAAA,EAAA,qBAAA;AAAA,KAM1B,uBAAA,UAAiC,yBAAA,CAA0B,IAAA;AAAA,cAK1D,0BAAA,EAA0B,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,QAAA,MAAA,CAAA,MAAA,IAAA,MAAA,CAAA,OAAA,CAAA,qBAAA,EAAA,qBAAA;AAAA,KAU3B,wBAAA,UAAkC,0BAAA,CAA2B,IAAA;AAAA,cAG5D,oBAAA,EAAoB,MAAA,CAAA,KAAA,EAAA,MAAA,CAAA,KAAA,SAAA,MAAA,CAAA,MAAA,SAAA,MAAA,CAAA,MAAA,SAAA,MAAA,CAAA,OAAA,SAAA,MAAA,CAAA,IAAA,IAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,OAAA,CAAA,qBAAA,EAAA,qBAAA,WAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,QAAA,MAAA,CAAA,MAAA,IAAA,MAAA,CAAA,OAAA,CAAA,qBAAA,EAAA,qBAAA;AAAA,KAMrB,kBAAA,UAA4B,oBAAA,CAAqB,IAAA"}