starlight-cli 1.0.40 → 1.0.41
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/index.js +35 -0
- package/package.json +1 -1
- package/src/evaluator.js +35 -0
package/dist/index.js
CHANGED
|
@@ -1404,6 +1404,41 @@ class Evaluator {
|
|
|
1404
1404
|
});
|
|
1405
1405
|
this.global.define('keys', arg => arg && typeof arg === 'object' ? Object.keys(arg) : []);
|
|
1406
1406
|
this.global.define('values', arg => arg && typeof arg === 'object' ? Object.values(arg) : []);
|
|
1407
|
+
this.global.define('range', (...args) => {
|
|
1408
|
+
let start = 0;
|
|
1409
|
+
let end = 0;
|
|
1410
|
+
let step = 1;
|
|
1411
|
+
|
|
1412
|
+
if (args.length === 1) {
|
|
1413
|
+
end = Number(args[0]);
|
|
1414
|
+
} else if (args.length === 2) {
|
|
1415
|
+
start = Number(args[0]);
|
|
1416
|
+
end = Number(args[1]);
|
|
1417
|
+
} else if (args.length === 3) {
|
|
1418
|
+
start = Number(args[0]);
|
|
1419
|
+
end = Number(args[1]);
|
|
1420
|
+
step = Number(args[2]);
|
|
1421
|
+
} else {
|
|
1422
|
+
throw new Error('range() expects 1 to 3 arguments');
|
|
1423
|
+
}
|
|
1424
|
+
|
|
1425
|
+
if (step === 0) {
|
|
1426
|
+
throw new Error('range() step cannot be 0');
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
const result = [];
|
|
1430
|
+
if (step > 0) {
|
|
1431
|
+
for (let i = start; i < end; i += step) {
|
|
1432
|
+
result.push(i);
|
|
1433
|
+
}
|
|
1434
|
+
} else {
|
|
1435
|
+
for (let i = start; i > end; i += step) {
|
|
1436
|
+
result.push(i);
|
|
1437
|
+
}
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
return result;
|
|
1441
|
+
});
|
|
1407
1442
|
|
|
1408
1443
|
this.global.define('ask', prompt => {
|
|
1409
1444
|
const readlineSync = __nccwpck_require__(552);
|
package/package.json
CHANGED
package/src/evaluator.js
CHANGED
|
@@ -61,6 +61,41 @@ class Evaluator {
|
|
|
61
61
|
});
|
|
62
62
|
this.global.define('keys', arg => arg && typeof arg === 'object' ? Object.keys(arg) : []);
|
|
63
63
|
this.global.define('values', arg => arg && typeof arg === 'object' ? Object.values(arg) : []);
|
|
64
|
+
this.global.define('range', (...args) => {
|
|
65
|
+
let start = 0;
|
|
66
|
+
let end = 0;
|
|
67
|
+
let step = 1;
|
|
68
|
+
|
|
69
|
+
if (args.length === 1) {
|
|
70
|
+
end = Number(args[0]);
|
|
71
|
+
} else if (args.length === 2) {
|
|
72
|
+
start = Number(args[0]);
|
|
73
|
+
end = Number(args[1]);
|
|
74
|
+
} else if (args.length === 3) {
|
|
75
|
+
start = Number(args[0]);
|
|
76
|
+
end = Number(args[1]);
|
|
77
|
+
step = Number(args[2]);
|
|
78
|
+
} else {
|
|
79
|
+
throw new Error('range() expects 1 to 3 arguments');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (step === 0) {
|
|
83
|
+
throw new Error('range() step cannot be 0');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const result = [];
|
|
87
|
+
if (step > 0) {
|
|
88
|
+
for (let i = start; i < end; i += step) {
|
|
89
|
+
result.push(i);
|
|
90
|
+
}
|
|
91
|
+
} else {
|
|
92
|
+
for (let i = start; i > end; i += step) {
|
|
93
|
+
result.push(i);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return result;
|
|
98
|
+
});
|
|
64
99
|
|
|
65
100
|
this.global.define('ask', prompt => {
|
|
66
101
|
const readlineSync = require('readline-sync');
|