@mojir/lits 2.1.3 → 2.1.4
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/cli/cli.js +42 -23
- package/dist/index.esm.js +37 -22
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +37 -22
- package/dist/index.js.map +1 -1
- package/dist/lits.iife.js +37 -22
- package/dist/lits.iife.js.map +1 -1
- package/dist/testFramework.esm.js +34 -19
- package/dist/testFramework.esm.js.map +1 -1
- package/dist/testFramework.js +34 -19
- package/dist/testFramework.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/cli.js
CHANGED
|
@@ -92,7 +92,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
92
92
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
93
93
|
};
|
|
94
94
|
|
|
95
|
-
var version = "2.1.
|
|
95
|
+
var version = "2.1.4";
|
|
96
96
|
|
|
97
97
|
function getCodeMarker(sourceCodeInfo) {
|
|
98
98
|
if (!sourceCodeInfo.position || !sourceCodeInfo.code)
|
|
@@ -696,6 +696,10 @@ function isLitsFunction(value) {
|
|
|
696
696
|
return false;
|
|
697
697
|
return !!value[FUNCTION_SYMBOL];
|
|
698
698
|
}
|
|
699
|
+
function asLitsFunction(value, sourceCodeInfo) {
|
|
700
|
+
assertLitsFunction(value, sourceCodeInfo);
|
|
701
|
+
return value;
|
|
702
|
+
}
|
|
699
703
|
function assertLitsFunction(value, sourceCodeInfo) {
|
|
700
704
|
if (!isLitsFunction(value))
|
|
701
705
|
throw getAssertionError('LitsFunction', value, sourceCodeInfo);
|
|
@@ -1384,26 +1388,37 @@ var sequenceNormalExpression = {
|
|
|
1384
1388
|
paramCount: 1,
|
|
1385
1389
|
},
|
|
1386
1390
|
'map': {
|
|
1387
|
-
evaluate: function (
|
|
1388
|
-
var
|
|
1389
|
-
var
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1391
|
+
evaluate: function (params, sourceCodeInfo, contextStack, _a) {
|
|
1392
|
+
var executeFunction = _a.executeFunction;
|
|
1393
|
+
var fn = asLitsFunction(params.at(-1));
|
|
1394
|
+
var seqs = params.slice(0, -1);
|
|
1395
|
+
assertSeq(seqs[0], sourceCodeInfo);
|
|
1396
|
+
var isString = typeof seqs[0] === 'string';
|
|
1397
|
+
var len = seqs[0].length;
|
|
1398
|
+
seqs.slice(1).forEach(function (seq) {
|
|
1399
|
+
if (isString) {
|
|
1400
|
+
assertString(seq, sourceCodeInfo);
|
|
1401
|
+
}
|
|
1402
|
+
else {
|
|
1403
|
+
assertArray(seq, sourceCodeInfo);
|
|
1404
|
+
}
|
|
1405
|
+
len = Math.min(len, seq.length);
|
|
1406
|
+
});
|
|
1407
|
+
var paramArray = [];
|
|
1408
|
+
var _loop_1 = function (i) {
|
|
1409
|
+
paramArray.push(seqs.map(function (seq) { return seq[i]; }));
|
|
1410
|
+
};
|
|
1411
|
+
for (var i = 0; i < len; i++) {
|
|
1412
|
+
_loop_1(i);
|
|
1394
1413
|
}
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
.map(function (elem) {
|
|
1399
|
-
var newVal = executeFunction(fn, [elem], contextStack, sourceCodeInfo);
|
|
1400
|
-
assertString(newVal, sourceCodeInfo, { char: true });
|
|
1401
|
-
return newVal;
|
|
1402
|
-
})
|
|
1403
|
-
.join('');
|
|
1414
|
+
var mapped = paramArray.map(function (p) { return executeFunction(fn, p, contextStack, sourceCodeInfo); });
|
|
1415
|
+
if (!isString) {
|
|
1416
|
+
return mapped;
|
|
1404
1417
|
}
|
|
1418
|
+
mapped.forEach(function (char) { return assertString(char, sourceCodeInfo); });
|
|
1419
|
+
return mapped.join('');
|
|
1405
1420
|
},
|
|
1406
|
-
paramCount: 2,
|
|
1421
|
+
paramCount: { min: 2 },
|
|
1407
1422
|
},
|
|
1408
1423
|
'pop': {
|
|
1409
1424
|
evaluate: function (_a, sourceCodeInfo) {
|
|
@@ -1953,7 +1968,7 @@ var sequenceNormalExpression = {
|
|
|
1953
1968
|
assertSeq(input, sourceCodeInfo);
|
|
1954
1969
|
if (Array.isArray(input)) {
|
|
1955
1970
|
var result = [];
|
|
1956
|
-
var
|
|
1971
|
+
var _loop_2 = function (item) {
|
|
1957
1972
|
assertAny(item, sourceCodeInfo);
|
|
1958
1973
|
if (!result.some(function (existingItem) { return deepEqual(existingItem, item, sourceCodeInfo); })) {
|
|
1959
1974
|
result.push(item);
|
|
@@ -1962,7 +1977,7 @@ var sequenceNormalExpression = {
|
|
|
1962
1977
|
try {
|
|
1963
1978
|
for (var input_1 = __values(input), input_1_1 = input_1.next(); !input_1_1.done; input_1_1 = input_1.next()) {
|
|
1964
1979
|
var item = input_1_1.value;
|
|
1965
|
-
|
|
1980
|
+
_loop_2(item);
|
|
1966
1981
|
}
|
|
1967
1982
|
}
|
|
1968
1983
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -11407,19 +11422,23 @@ var sequenceReference = {
|
|
|
11407
11422
|
type: 'any',
|
|
11408
11423
|
rest: true,
|
|
11409
11424
|
},
|
|
11410
|
-
args: __assign(__assign({}, getOperatorArgs('sequence', 'function')), {
|
|
11425
|
+
args: __assign(__assign({}, getOperatorArgs('sequence', 'function')), { seqs: {
|
|
11411
11426
|
type: 'sequence',
|
|
11427
|
+
rest: true,
|
|
11428
|
+
description: 'At least one.',
|
|
11412
11429
|
}, fun: {
|
|
11413
11430
|
type: 'function',
|
|
11414
11431
|
} }),
|
|
11415
11432
|
variants: [
|
|
11416
|
-
{ argumentNames: ['
|
|
11433
|
+
{ argumentNames: ['seqs', 'fun'] },
|
|
11417
11434
|
],
|
|
11418
|
-
description: 'Creates a new array populated with the results of calling $fun on every
|
|
11435
|
+
description: 'Creates a new array populated with the results of calling $fun on every element in $seqs.',
|
|
11419
11436
|
examples: [
|
|
11437
|
+
'[1, 2, 3] map -',
|
|
11420
11438
|
'[1, 2, 3] map -> -($)',
|
|
11421
11439
|
'map(["Albert", "Mojir", 42], str)',
|
|
11422
11440
|
'map([1, 2, 3], inc)',
|
|
11441
|
+
'map([1, 2, 3], [1, 10, 100], *)',
|
|
11423
11442
|
],
|
|
11424
11443
|
},
|
|
11425
11444
|
'filter': {
|
package/dist/index.esm.js
CHANGED
|
@@ -1262,26 +1262,37 @@ var sequenceNormalExpression = {
|
|
|
1262
1262
|
paramCount: 1,
|
|
1263
1263
|
},
|
|
1264
1264
|
'map': {
|
|
1265
|
-
evaluate: function (
|
|
1266
|
-
var
|
|
1267
|
-
var
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1265
|
+
evaluate: function (params, sourceCodeInfo, contextStack, _a) {
|
|
1266
|
+
var executeFunction = _a.executeFunction;
|
|
1267
|
+
var fn = asLitsFunction(params.at(-1));
|
|
1268
|
+
var seqs = params.slice(0, -1);
|
|
1269
|
+
assertSeq(seqs[0], sourceCodeInfo);
|
|
1270
|
+
var isString = typeof seqs[0] === 'string';
|
|
1271
|
+
var len = seqs[0].length;
|
|
1272
|
+
seqs.slice(1).forEach(function (seq) {
|
|
1273
|
+
if (isString) {
|
|
1274
|
+
assertString(seq, sourceCodeInfo);
|
|
1275
|
+
}
|
|
1276
|
+
else {
|
|
1277
|
+
assertArray(seq, sourceCodeInfo);
|
|
1278
|
+
}
|
|
1279
|
+
len = Math.min(len, seq.length);
|
|
1280
|
+
});
|
|
1281
|
+
var paramArray = [];
|
|
1282
|
+
var _loop_1 = function (i) {
|
|
1283
|
+
paramArray.push(seqs.map(function (seq) { return seq[i]; }));
|
|
1284
|
+
};
|
|
1285
|
+
for (var i = 0; i < len; i++) {
|
|
1286
|
+
_loop_1(i);
|
|
1272
1287
|
}
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
.map(function (elem) {
|
|
1277
|
-
var newVal = executeFunction(fn, [elem], contextStack, sourceCodeInfo);
|
|
1278
|
-
assertString(newVal, sourceCodeInfo, { char: true });
|
|
1279
|
-
return newVal;
|
|
1280
|
-
})
|
|
1281
|
-
.join('');
|
|
1288
|
+
var mapped = paramArray.map(function (p) { return executeFunction(fn, p, contextStack, sourceCodeInfo); });
|
|
1289
|
+
if (!isString) {
|
|
1290
|
+
return mapped;
|
|
1282
1291
|
}
|
|
1292
|
+
mapped.forEach(function (char) { return assertString(char, sourceCodeInfo); });
|
|
1293
|
+
return mapped.join('');
|
|
1283
1294
|
},
|
|
1284
|
-
paramCount: 2,
|
|
1295
|
+
paramCount: { min: 2 },
|
|
1285
1296
|
},
|
|
1286
1297
|
'pop': {
|
|
1287
1298
|
evaluate: function (_a, sourceCodeInfo) {
|
|
@@ -1831,7 +1842,7 @@ var sequenceNormalExpression = {
|
|
|
1831
1842
|
assertSeq(input, sourceCodeInfo);
|
|
1832
1843
|
if (Array.isArray(input)) {
|
|
1833
1844
|
var result = [];
|
|
1834
|
-
var
|
|
1845
|
+
var _loop_2 = function (item) {
|
|
1835
1846
|
assertAny(item, sourceCodeInfo);
|
|
1836
1847
|
if (!result.some(function (existingItem) { return deepEqual(existingItem, item, sourceCodeInfo); })) {
|
|
1837
1848
|
result.push(item);
|
|
@@ -1840,7 +1851,7 @@ var sequenceNormalExpression = {
|
|
|
1840
1851
|
try {
|
|
1841
1852
|
for (var input_1 = __values(input), input_1_1 = input_1.next(); !input_1_1.done; input_1_1 = input_1.next()) {
|
|
1842
1853
|
var item = input_1_1.value;
|
|
1843
|
-
|
|
1854
|
+
_loop_2(item);
|
|
1844
1855
|
}
|
|
1845
1856
|
}
|
|
1846
1857
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -11301,19 +11312,23 @@ var sequenceReference = {
|
|
|
11301
11312
|
type: 'any',
|
|
11302
11313
|
rest: true,
|
|
11303
11314
|
},
|
|
11304
|
-
args: __assign(__assign({}, getOperatorArgs('sequence', 'function')), {
|
|
11315
|
+
args: __assign(__assign({}, getOperatorArgs('sequence', 'function')), { seqs: {
|
|
11305
11316
|
type: 'sequence',
|
|
11317
|
+
rest: true,
|
|
11318
|
+
description: 'At least one.',
|
|
11306
11319
|
}, fun: {
|
|
11307
11320
|
type: 'function',
|
|
11308
11321
|
} }),
|
|
11309
11322
|
variants: [
|
|
11310
|
-
{ argumentNames: ['
|
|
11323
|
+
{ argumentNames: ['seqs', 'fun'] },
|
|
11311
11324
|
],
|
|
11312
|
-
description: 'Creates a new array populated with the results of calling $fun on every
|
|
11325
|
+
description: 'Creates a new array populated with the results of calling $fun on every element in $seqs.',
|
|
11313
11326
|
examples: [
|
|
11327
|
+
'[1, 2, 3] map -',
|
|
11314
11328
|
'[1, 2, 3] map -> -($)',
|
|
11315
11329
|
'map(["Albert", "Mojir", 42], str)',
|
|
11316
11330
|
'map([1, 2, 3], inc)',
|
|
11331
|
+
'map([1, 2, 3], [1, 10, 100], *)',
|
|
11317
11332
|
],
|
|
11318
11333
|
},
|
|
11319
11334
|
'filter': {
|