seval.js 1.0.0 → 1.1.1
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/dist/evaluator.js +6 -6
- package/dist/evaluator.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/primitives/arithmetic.d.ts.map +1 -1
- package/dist/primitives/arithmetic.js +6 -1
- package/dist/primitives/arithmetic.js.map +1 -1
- package/dist/sexpr.d.ts +6 -0
- package/dist/sexpr.d.ts.map +1 -0
- package/dist/sexpr.js +35 -0
- package/dist/sexpr.js.map +1 -0
- package/package.json +11 -3
package/dist/evaluator.js
CHANGED
|
@@ -133,7 +133,7 @@ export function createEvaluator(options = {}) {
|
|
|
133
133
|
const fn = evaluate(args[0], env, depth + 1);
|
|
134
134
|
const fnArgs = evaluate(args[1], env, depth + 1);
|
|
135
135
|
if (isLambda(fn)) {
|
|
136
|
-
const callEnv = { ...fn.closure };
|
|
136
|
+
const callEnv = { ...fn.closure, ...env };
|
|
137
137
|
fn.params.forEach((param, i) => {
|
|
138
138
|
callEnv[param] = fnArgs[i];
|
|
139
139
|
});
|
|
@@ -148,7 +148,7 @@ export function createEvaluator(options = {}) {
|
|
|
148
148
|
const list = evaluate(listExpr, env, depth + 1);
|
|
149
149
|
if (isLambda(pred)) {
|
|
150
150
|
return list.filter((item) => {
|
|
151
|
-
const callEnv = { ...pred.closure };
|
|
151
|
+
const callEnv = { ...pred.closure, ...env };
|
|
152
152
|
callEnv[pred.params[0]] = item;
|
|
153
153
|
return evaluate(pred.body, callEnv, depth + 1);
|
|
154
154
|
});
|
|
@@ -165,7 +165,7 @@ export function createEvaluator(options = {}) {
|
|
|
165
165
|
const list = evaluate(listExpr, env, depth + 1);
|
|
166
166
|
if (isLambda(mapper)) {
|
|
167
167
|
return list.map((item) => {
|
|
168
|
-
const callEnv = { ...mapper.closure };
|
|
168
|
+
const callEnv = { ...mapper.closure, ...env };
|
|
169
169
|
callEnv[mapper.params[0]] = item;
|
|
170
170
|
return evaluate(mapper.body, callEnv, depth + 1);
|
|
171
171
|
});
|
|
@@ -232,7 +232,7 @@ export function createEvaluator(options = {}) {
|
|
|
232
232
|
const fn = evaluate(rest[0], env, depth + 1);
|
|
233
233
|
if (isLambda(fn)) {
|
|
234
234
|
for (const item of list) {
|
|
235
|
-
const callEnv = { ...fn.closure };
|
|
235
|
+
const callEnv = { ...fn.closure, ...env };
|
|
236
236
|
callEnv[fn.params[0]] = acc;
|
|
237
237
|
callEnv[fn.params[1]] = item;
|
|
238
238
|
acc = evaluate(fn.body, callEnv, depth + 1);
|
|
@@ -250,7 +250,7 @@ export function createEvaluator(options = {}) {
|
|
|
250
250
|
if (isLambda(opValue)) {
|
|
251
251
|
// Call user-defined function
|
|
252
252
|
const evaluatedArgs = args.map((arg) => evaluate(arg, env, depth + 1));
|
|
253
|
-
const callEnv = { ...opValue.closure };
|
|
253
|
+
const callEnv = { ...opValue.closure, ...env };
|
|
254
254
|
opValue.params.forEach((param, i) => {
|
|
255
255
|
callEnv[param] = evaluatedArgs[i];
|
|
256
256
|
});
|
|
@@ -269,7 +269,7 @@ export function createEvaluator(options = {}) {
|
|
|
269
269
|
const evaluatedOp = evaluate(op, env, depth + 1);
|
|
270
270
|
if (isLambda(evaluatedOp)) {
|
|
271
271
|
const evaluatedArgs = args.map((arg) => evaluate(arg, env, depth + 1));
|
|
272
|
-
const callEnv = { ...evaluatedOp.closure };
|
|
272
|
+
const callEnv = { ...evaluatedOp.closure, ...env };
|
|
273
273
|
evaluatedOp.params.forEach((param, i) => {
|
|
274
274
|
callEnv[param] = evaluatedArgs[i];
|
|
275
275
|
});
|
package/dist/evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAc,QAAQ,EAAE,KAAK,EAAO,OAAO,EAAE,MAAM,UAAU,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAShD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE;IAC1D,MAAM,UAAU,GAAsC;QAClD,GAAG,iBAAiB;QACpB,GAAG,OAAO,CAAC,UAAU;KACxB,CAAA;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAA;IAExC,SAAS,QAAQ,CAAC,IAAW,EAAE,GAAgB,EAAE,KAAK,GAAG,CAAC;QACtD,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACxD,CAAC;QAED,OAAO;QACP,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAE9B,iBAAiB;QACjB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QACzC,IAAI,OAAO,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAE1C,gCAAgC;QAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAEzC,kCAAkC;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,IAAI,CAAU,CAAA;YAC7B,CAAC;YACD,2EAA2E;YAC3E,OAAO,IAAI,CAAA;QACf,CAAC;QAED,8BAA8B;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAEhC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAEhD,uCAAuC;YACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAa,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1D,OAAO,UAAU;oBACb,CAAC,CAAC,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;oBAC7C,CAAC,CAAC,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;YAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,2BAA2B;gBAC3B,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;gBAC7B,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;gBACzB,KAAK,MAAM,OAAO,IAAI,QAAmB,EAAE,CAAC;oBACxC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,OAAyB,CAAA;oBACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACtE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACrD,CAAC;gBACD,OAAO,QAAQ,CAAC,IAAa,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpB,kDAAkD;gBAClD,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAwB,CAAA;oBAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAA;oBACzD,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC3C,OAAO,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBAC3C,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAA;YACf,CAAC;YAED,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC9D,IAAI,MAAM,GAAU,IAAI,CAAA;gBACxB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;oBACzB,MAAM,GAAG,QAAQ,CAAC,OAAgB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACvD,CAAC;gBACD,OAAO,MAAM,CAAA;YACjB,CAAC;YAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,yCAAyC;gBACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;gBACvB,CAAC;gBACD,OAAO,GAAY,CAAA;YACvB,CAAC;YAED,uDAAuD;YACvD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;gBAC3B,OAAO;oBACH,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAG,MAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,IAAI,EAAE,IAAa;oBACnB,OAAO,EAAE,GAAG;iBACG,CAAA;YACvB,CAAC;YAED,8DAA8D;YAC9D,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACrB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,+DAA+D;oBAC/D,MAAM,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC,GAAG,KAAgB,CAAA;oBAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACtE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;oBACpB,MAAM,EAAE,GAAmB;wBACvB,QAAQ,EAAE,IAAI;wBACd,MAAM;wBACN,IAAI,EAAE,IAAa;wBACnB,OAAO,EAAE,GAAG;qBACf,CAAA;oBACD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACd,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,sBAAsB;gBACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACxD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBACjB,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,iCAAiC;YACjC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACpE,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;oBACzC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAU,CAAA;oBACvC,CAAC,CAAC,CAAA;oBACF,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAChD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;YACvD,CAAC;YAED,0DAA0D;YAC1D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxB,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;wBAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,GAAG,IAAI,CAAA;wBACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBAClD,CAAC,CAAC,CAAA;gBACN,CAAC;gBACD,yBAAyB;gBACzB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;oBAC/C,OAAO,QAAQ,CAAC,QAAiB,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1D,CAAC,CAAC,CAAA;YACN,CAAC;YAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAgB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACrB,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;wBAC7C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,GAAG,IAAI,CAAA;wBAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBACpD,CAAC,CAAC,CAAA;gBACN,CAAC;gBACD,yBAAyB;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;oBAC/C,OAAO,QAAQ,CAAC,OAAgB,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACzD,CAAC,CAAC,CAAA;YACN,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,OAAO,CACH,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACf,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;oBAC/C,OAAO,QAAQ,CAAC,QAAiB,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1D,CAAC,CAAC,IAAI,IAAI,CACb,CAAA;YACL,CAAC;YAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;gBAC1B,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC3B,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;oBAC/C,OAAO,QAAQ,CAAC,QAAiB,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1D,CAAC,CAAC,CAAA;YACN,CAAC;YAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;gBAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAgB,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAgB,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBAC7E,OAAQ,IAAe,GAAI,IAAe,CAAA;gBAC9C,CAAC,CAAC,CAAA;YACN,CAAC;YAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACrB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;gBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,IAAI,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC,MAAM,CAAA;gBACjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;oBAC/C,OAAO,QAAQ,CAAC,QAAiB,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC1D,CAAC,CAAC,CAAC,MAAM,CAAA;YACb,CAAC;YAED,kFAAkF;YAClF,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3C,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;gBAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAY,CAAA;gBACnE,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAiB,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBAErD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,kDAAkD;oBAClD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAA;oBAC3B,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAwB,CAAA;oBACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAC1E,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtB,MAAM,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAA;wBAC9D,GAAG,GAAG,QAAQ,CAAC,IAAa,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBACvD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,uCAAuC;oBACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBACrD,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;wBACf,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;4BACtB,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;4BACzC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,GAAG,GAAG,CAAA;4BACrC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,GAAG,IAAI,CAAA;4BACtC,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;wBAC/C,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;oBACjD,CAAC;gBACL,CAAC;gBACD,OAAO,GAAG,CAAA;YACd,CAAC;YAED,6CAA6C;YAC7C,0DAA0D;YAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAE,GAAG,CAAC,MAAM,CAAW,CAAC,CAAC,CAAC,IAAI,CAAA;YAEvE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpB,6BAA6B;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC/E,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;gBAC9C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAChC,OAAO,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC,CAAU,CAAA;gBAC9C,CAAC,CAAC,CAAA;gBACF,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;YAED,sDAAsD;YACtD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;gBAC7B,IAAI,EAAE,EAAE,CAAC;oBACL,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;oBAC/E,MAAM,MAAM,GAAe,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;oBACxE,OAAO,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;gBACzC,CAAC;YACL,CAAC;YAED,wDAAwD;YACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAW,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACzD,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAY,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC/E,MAAM,OAAO,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAA;gBAClD,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACpC,OAAO,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC,CAAU,CAAA;gBAC9C,CAAC,CAAC,CAAA;gBACF,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO;QACH,QAAQ,EAAE,CAAC,IAAW,EAAE,MAAmB,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;QACrE,UAAU,EAAE,CAAC,IAAY,EAAE,MAAmB,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;KAClF,CAAA;AACL,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAA;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,4 +24,5 @@ export { tokenize, TokenType, type Token } from './tokenizer';
|
|
|
24
24
|
export { createEvaluator, evaluate, evalString, defaultEvaluator } from './evaluator';
|
|
25
25
|
export { isLambda, type Value, type Environment, type PrimitiveFunction, type EvaluatorOptions, type LambdaFunction, type EvaluateFn, type ValueArray, type ValueObject, } from './types';
|
|
26
26
|
export { defaultPrimitives, arithmeticPrimitives, comparisonPrimitives, logicalPrimitives, stringPrimitives, arrayPrimitives, objectPrimitives, mathPrimitives, typePrimitives, } from './primitives';
|
|
27
|
+
export { deserializeSExpr, serializeSExpr } from './sexpr';
|
|
27
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAG/E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGrF,OAAO,EACH,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,GACnB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,GACjB,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAA;AAG/E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGrF,OAAO,EACH,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,GACnB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,GACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -29,4 +29,5 @@ export { createEvaluator, evaluate, evalString, defaultEvaluator } from './evalu
|
|
|
29
29
|
export { isLambda, } from './types';
|
|
30
30
|
// Primitives exports
|
|
31
31
|
export { defaultPrimitives, arithmeticPrimitives, comparisonPrimitives, logicalPrimitives, stringPrimitives, arrayPrimitives, objectPrimitives, mathPrimitives, typePrimitives, } from './primitives';
|
|
32
|
+
export { deserializeSExpr, serializeSExpr } from './sexpr';
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAc,MAAM,UAAU,CAAA;AAE/E,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAc,MAAM,aAAa,CAAA;AAE7D,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAErF,eAAe;AACf,OAAO,EACH,QAAQ,GASX,MAAM,SAAS,CAAA;AAEhB,qBAAqB;AACrB,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,GACjB,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAc,MAAM,UAAU,CAAA;AAE/E,oBAAoB;AACpB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAc,MAAM,aAAa,CAAA;AAE7D,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAErF,eAAe;AACf,OAAO,EACH,QAAQ,GASX,MAAM,SAAS,CAAA;AAEhB,qBAAqB;AACrB,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,GACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../src/primitives/arithmetic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../src/primitives/arithmetic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAkBlE,CAAA"}
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
* Arithmetic Primitives
|
|
3
3
|
*/
|
|
4
4
|
export const arithmeticPrimitives = {
|
|
5
|
-
'+': (args) =>
|
|
5
|
+
'+': (args) => {
|
|
6
|
+
if (args.some((arg) => typeof arg === 'string')) {
|
|
7
|
+
return args.reduce((acc, val) => `${acc}${String(val ?? '')}`, '');
|
|
8
|
+
}
|
|
9
|
+
return args.reduce((a, b) => a + b, 0);
|
|
10
|
+
},
|
|
6
11
|
'-': (args) => args.length === 1
|
|
7
12
|
? -args[0]
|
|
8
13
|
: args.slice(1).reduce((a, b) => a - b, args[0]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../src/primitives/arithmetic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACnE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAY,GAAI,CAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../src/primitives/arithmetic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACnE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACtE,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAY,GAAI,CAAY,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IAED,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CACV,IAAI,CAAC,MAAM,KAAK,CAAC;QACb,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAY;QACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAY,GAAI,CAAY,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC;IAE1F,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAY,GAAI,CAAY,EAAE,CAAC,CAAC;IAEtE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAY,GAAI,CAAY,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC;IAE/F,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAE,IAAI,CAAC,CAAC,CAAY,GAAI,IAAI,CAAC,CAAC,CAAY;CAC3D,CAAA"}
|
package/dist/sexpr.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type SExpr } from './parser';
|
|
2
|
+
import type { Value } from './types';
|
|
3
|
+
export type SerializedSExpr = Value | SerializedSExpr[];
|
|
4
|
+
export declare function deserializeSExpr(value: SerializedSExpr): SExpr;
|
|
5
|
+
export declare function serializeSExpr(expr: SExpr): SerializedSExpr;
|
|
6
|
+
//# sourceMappingURL=sexpr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sexpr.d.ts","sourceRoot":"","sources":["../src/sexpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAA0B,MAAM,UAAU,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,eAAe,EAAE,CAAA;AAqBvD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAE9D;AAYD,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,CAE3D"}
|
package/dist/sexpr.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { isSymbol, sym, symName } from './parser';
|
|
2
|
+
function deserializeInternal(value, quoted) {
|
|
3
|
+
if (Array.isArray(value)) {
|
|
4
|
+
if (value.length === 0) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
const head = deserializeInternal(value[0], false);
|
|
8
|
+
const isQuote = isSymbol(head) && symName(head) === 'quote';
|
|
9
|
+
const result = [head];
|
|
10
|
+
for (let i = 1; i < value.length; i++) {
|
|
11
|
+
result.push(deserializeInternal(value[i], isQuote));
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
if (typeof value === 'string') {
|
|
16
|
+
return quoted ? value : sym(value);
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
export function deserializeSExpr(value) {
|
|
21
|
+
return deserializeInternal(value, false);
|
|
22
|
+
}
|
|
23
|
+
function serializeInternal(expr) {
|
|
24
|
+
if (Array.isArray(expr)) {
|
|
25
|
+
return expr.map((item) => serializeInternal(item));
|
|
26
|
+
}
|
|
27
|
+
if (isSymbol(expr)) {
|
|
28
|
+
return symName(expr);
|
|
29
|
+
}
|
|
30
|
+
return expr;
|
|
31
|
+
}
|
|
32
|
+
export function serializeSExpr(expr) {
|
|
33
|
+
return serializeInternal(expr);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sexpr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sexpr.js","sourceRoot":"","sources":["../src/sexpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAK7D,SAAS,mBAAmB,CAAC,KAAsB,EAAE,MAAe;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAA;QACb,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,KAAK,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAc,CAAC,KAAK,OAAO,CAAA;QACrE,MAAM,MAAM,GAAY,CAAC,IAAI,CAAC,CAAA;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAoB,EAAE,OAAO,CAAC,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,MAA0B,CAAA;IACrC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,CAAC,CAAE,KAAe,CAAC,CAAC,CAAE,GAAG,CAAC,KAAK,CAAsB,CAAA;IACvE,CAAC;IACD,OAAO,KAAc,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACnD,OAAO,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAW;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAQ,IAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,IAAc,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,IAAa,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAW;IACtC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "seval.js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "S-expression evaluator for TypeScript/JavaScript",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"types": "./dist/index.d.ts"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
|
-
"files": [
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
16
18
|
"scripts": {
|
|
17
19
|
"build": "tsc",
|
|
18
20
|
"dev": "tsc --watch",
|
|
@@ -25,7 +27,13 @@
|
|
|
25
27
|
"format:check": "biome format --write . && git diff --exit-code",
|
|
26
28
|
"prepublishOnly": "bun run build"
|
|
27
29
|
},
|
|
28
|
-
"keywords": [
|
|
30
|
+
"keywords": [
|
|
31
|
+
"s-expression",
|
|
32
|
+
"sexp",
|
|
33
|
+
"lisp",
|
|
34
|
+
"evaluator",
|
|
35
|
+
"interpreter"
|
|
36
|
+
],
|
|
29
37
|
"author": "cpunion",
|
|
30
38
|
"license": "MIT",
|
|
31
39
|
"repository": {
|