hclang 0.5.11 → 0.5.12
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/lib/src/execute/hc-test.js +5 -4
- package/lib/src/frames/frame-name.js +2 -2
- package/lib/src/frames/frame-number.js +61 -1
- package/lib/src/frames/frame-symbol.js +12 -5
- package/lib/src/frames/frame.js +2 -1
- package/lib/src/frames/meta-frame.js +1 -17
- package/lib/src/ops/math.js +68 -0
- package/lib/src/ops.js +14 -2
- package/lib/test/execute/evaluate-spec.js +33 -1
- package/lib/test/execute/hc-test-spec.js +11 -5
- package/lib/test/execute/script-spec.js +3 -8
- package/lib/test/frames/frame-lazy-spec.js +3 -3
- package/lib/test/frames/frame-number-spec.js +7 -1
- package/package.json +7 -6
|
@@ -10,8 +10,9 @@ export class HCTest extends Frame {
|
|
|
10
10
|
apply(argument, parameter = Frame.nil) {
|
|
11
11
|
const source = this.get(HCEval.SOURCE);
|
|
12
12
|
const expected = this.get(HCEval.EXPECT);
|
|
13
|
-
if (!this.actual.is.missing
|
|
13
|
+
if (!this.actual.is.missing && !expected.is.missing) {
|
|
14
14
|
const result = this.performTest(expected, this.actual, source);
|
|
15
|
+
this.actual = Frame.missing;
|
|
15
16
|
return this.out.call(result, parameter);
|
|
16
17
|
}
|
|
17
18
|
if (!source.is.missing) {
|
|
@@ -28,7 +29,7 @@ export class HCTest extends Frame {
|
|
|
28
29
|
return result;
|
|
29
30
|
}
|
|
30
31
|
assertEqual(expected, actual, source) {
|
|
31
|
-
const base = source + '
|
|
32
|
+
const base = source + ' ?' + expected;
|
|
32
33
|
this.n.total += 1;
|
|
33
34
|
if (expected === actual) {
|
|
34
35
|
this.n.pass += 1;
|
|
@@ -36,8 +37,8 @@ export class HCTest extends Frame {
|
|
|
36
37
|
}
|
|
37
38
|
else {
|
|
38
39
|
this.n.fail += 1;
|
|
39
|
-
return FrameNote.fail(base + '
|
|
40
|
+
return FrameNote.fail(base + ' !' + actual, JSON.stringify(this.n));
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGMtdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGVjdXRlL2hjLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSXJDLE1BQU0sT0FBTyxNQUFPLFNBQVEsS0FBSztJQUkvQixZQUF1QixHQUFVO1FBQy9CLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQURJLFFBQUcsR0FBSCxHQUFHLENBQU87UUFFL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO1FBQzNCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFBO0lBQ3pDLENBQUM7SUFFTSxLQUFLLENBQUUsUUFBZSxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUMsR0FBRztRQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV4QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUE7WUFDM0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUE7U0FDeEM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDdEM7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0lBRU0sV0FBVyxDQUFFLFFBQWUsRUFBRSxNQUFhLEVBQUUsTUFBYTtRQUMvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDMUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUMzQixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFTSxXQUFXLENBQUUsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUNsRSxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQTtRQUVyQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUE7UUFDakIsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtZQUNoQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDcEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtZQUNoQixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNwRTtJQUNILENBQUM7Q0FDRiJ9
|
|
@@ -18,7 +18,7 @@ export class FrameName extends FrameAtom {
|
|
|
18
18
|
;
|
|
19
19
|
canInclude(char) {
|
|
20
20
|
return FrameSymbol.SYMBOL_CHAR.test(char) ||
|
|
21
|
-
FrameOperator.
|
|
21
|
+
FrameOperator.OPERATOR_CHARS.test(char);
|
|
22
22
|
}
|
|
23
23
|
toData() {
|
|
24
24
|
return this.data;
|
|
@@ -26,4 +26,4 @@ export class FrameName extends FrameAtom {
|
|
|
26
26
|
}
|
|
27
27
|
FrameName.NAME_BEGIN = '.';
|
|
28
28
|
;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcmFtZXMvZnJhbWUtbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU1QyxNQUFNLE9BQU8sU0FBVSxTQUFRLFNBQVM7SUFLdEMsWUFBYSxNQUFjLEVBQUUsSUFBSSxHQUFHLFVBQVU7UUFDNUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFTSxFQUFFLENBQUUsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMvQixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUE7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFFSyxVQUFVLENBQUUsSUFBWTtRQUM3QixPQUFPLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRVMsTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDOztBQTFCc0Isb0JBQVUsR0FBRyxHQUFHLENBQUE7QUEyQnhDLENBQUMifQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Frame } from './frame.js';
|
|
1
2
|
import { FrameAtom } from './frame-atom.js';
|
|
2
3
|
import { NilContext } from './meta-frame.js';
|
|
3
4
|
export class FrameNumber extends FrameAtom {
|
|
@@ -9,6 +10,23 @@ export class FrameNumber extends FrameAtom {
|
|
|
9
10
|
super(meta);
|
|
10
11
|
this.data = parseInt(source, 10);
|
|
11
12
|
}
|
|
13
|
+
apply(argument, _parameter) {
|
|
14
|
+
// repeatedly apply argument `this.data` times
|
|
15
|
+
let result = Frame.nil;
|
|
16
|
+
if ((argument instanceof FrameNumber)) {
|
|
17
|
+
const value = this.data * argument.data;
|
|
18
|
+
result = new FrameNumber(value.toString());
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.range().forEach(() => {
|
|
22
|
+
result = result.apply(argument, _parameter);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
range() {
|
|
28
|
+
return [...Array(this.data).keys()];
|
|
29
|
+
}
|
|
12
30
|
string_start() {
|
|
13
31
|
return FrameNumber.NUMBER_BEGIN.toString();
|
|
14
32
|
}
|
|
@@ -19,10 +37,52 @@ export class FrameNumber extends FrameAtom {
|
|
|
19
37
|
toData() {
|
|
20
38
|
return this.data;
|
|
21
39
|
}
|
|
40
|
+
/*
|
|
41
|
+
* Math Operations
|
|
42
|
+
*/
|
|
43
|
+
add(right) {
|
|
44
|
+
const value = this.data + right.data;
|
|
45
|
+
return new FrameNumber(value.toString());
|
|
46
|
+
}
|
|
47
|
+
subtract(right) {
|
|
48
|
+
const value = this.data - right.data;
|
|
49
|
+
return new FrameNumber(value.toString());
|
|
50
|
+
}
|
|
51
|
+
multiply(right) {
|
|
52
|
+
const value = this.data * right.data;
|
|
53
|
+
return new FrameNumber(value.toString());
|
|
54
|
+
}
|
|
55
|
+
divide(right) {
|
|
56
|
+
const value = this.data / right.data;
|
|
57
|
+
return new FrameNumber(value.toString());
|
|
58
|
+
}
|
|
59
|
+
modulo(right) {
|
|
60
|
+
const value = this.data % right.data;
|
|
61
|
+
return new FrameNumber(value.toString());
|
|
62
|
+
}
|
|
63
|
+
power(right) {
|
|
64
|
+
const value = Math.pow(this.data, right.data);
|
|
65
|
+
return new FrameNumber(value.toString());
|
|
66
|
+
}
|
|
67
|
+
equals(right) {
|
|
68
|
+
return this.data === right.data ? Frame.all : Frame.nil;
|
|
69
|
+
}
|
|
70
|
+
lessThan(right) {
|
|
71
|
+
return this.data < right.data ? Frame.all : Frame.nil;
|
|
72
|
+
}
|
|
73
|
+
greaterThan(right) {
|
|
74
|
+
return this.data > right.data ? Frame.all : Frame.nil;
|
|
75
|
+
}
|
|
76
|
+
lessThanOrEqual(right) {
|
|
77
|
+
return this.data <= right.data ? Frame.all : Frame.nil;
|
|
78
|
+
}
|
|
79
|
+
greaterThanOrEqual(right) {
|
|
80
|
+
return this.data >= right.data ? Frame.all : Frame.nil;
|
|
81
|
+
}
|
|
22
82
|
}
|
|
23
83
|
FrameNumber.NUMBER_BEGIN = /[1-9]/;
|
|
24
84
|
FrameNumber.NUMBER_CHAR = /\d/;
|
|
25
85
|
// eslint-disable-next-line no-use-before-define
|
|
26
86
|
FrameNumber.numbers = {};
|
|
27
87
|
;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZyYW1lcy9mcmFtZS1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFM0MsT0FBTyxFQUFXLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXJELE1BQU0sT0FBTyxXQUFZLFNBQVEsU0FBUztJQUlqQyxNQUFNLENBQUMsR0FBRyxDQUFFLE1BQWM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQyxPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBTUQsWUFBYSxNQUFjLEVBQUUsT0FBZ0IsVUFBVTtRQUNyRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBRSxRQUFlLEVBQUUsVUFBaUI7UUFDOUMsOENBQThDO1FBQzlDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUE7UUFDdEIsSUFBSSxDQUFDLFFBQVEsWUFBWSxXQUFXLENBQUMsRUFBRTtZQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUE7WUFDdkMsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1NBQzNDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMs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
|
|
@@ -58,18 +58,25 @@ export class FrameSymbol extends FrameAtom {
|
|
|
58
58
|
}
|
|
59
59
|
FrameSymbol.SYMBOL_BEGIN = /[a-zA-Z]/;
|
|
60
60
|
FrameSymbol.SYMBOL_CHAR = /[-\w]/;
|
|
61
|
+
FrameSymbol.OPERATOR_CHARS = /[&|?:+\-/*%=<>!]/;
|
|
61
62
|
// eslint-disable-next-line no-use-before-define
|
|
62
63
|
FrameSymbol.symbols = {};
|
|
63
64
|
;
|
|
64
65
|
export class FrameOperator extends FrameSymbol {
|
|
66
|
+
static operator_chars() {
|
|
67
|
+
// eslint-disable-next-line
|
|
68
|
+
return '&|?:+\\-*%<>!';
|
|
69
|
+
// FrameOperator.OPERATOR_CHARS.source.slice(1, -1)
|
|
70
|
+
}
|
|
71
|
+
in(contexts = [Frame.nil]) {
|
|
72
|
+
return FrameSymbol.for(this.data);
|
|
73
|
+
}
|
|
65
74
|
string_start() {
|
|
66
|
-
return FrameOperator.
|
|
75
|
+
return FrameOperator.OPERATOR_CHARS.toString();
|
|
67
76
|
}
|
|
68
77
|
;
|
|
69
78
|
canInclude(char) {
|
|
70
|
-
return FrameOperator.
|
|
79
|
+
return FrameOperator.OPERATOR_CHARS.test(char);
|
|
71
80
|
}
|
|
72
81
|
}
|
|
73
|
-
|
|
74
|
-
FrameOperator.OPERATOR_CHAR = /[&|?:+\-*=<>!]/;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtc3ltYm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZyYW1lcy9mcmFtZS1zeW1ib2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBVyxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVyRCxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFJakMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxNQUFjO1FBQy9CLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHO1FBQ2YsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQUEsQ0FBQztJQUtGLFlBQXVCLElBQVksRUFBRSxJQUFJLEdBQUcsVUFBVTtRQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRW5DLENBQUM7SUFFTSxFQUFFLENBQUUsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDekIsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7WUFDOUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENB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
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtc3ltYm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZyYW1lcy9mcmFtZS1zeW1ib2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBVyxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVyRCxNQUFNLE9BQU8sV0FBWSxTQUFRLFNBQVM7SUFLakMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxNQUFjO1FBQy9CLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHO1FBQ2YsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQUEsQ0FBQztJQUtGLFlBQXVCLElBQVksRUFBRSxJQUFJLEdBQUcsVUFBVTtRQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFRO0lBRW5DLENBQUM7SUFFTSxFQUFFLENBQUUsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMvQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDekIsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7WUFDOUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENB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
|
package/lib/src/frames/frame.js
CHANGED
|
@@ -68,8 +68,9 @@ Frame.kEND = '$$';
|
|
|
68
68
|
Frame.BEGIN_EXPR = '(';
|
|
69
69
|
Frame.END_EXPR = ')';
|
|
70
70
|
Frame.nil = new Frame(NilContext, true);
|
|
71
|
+
Frame.all = new Frame(NilContext, true);
|
|
71
72
|
// eslint-disable-next-line no-use-before-define
|
|
72
73
|
Frame.missing = new Frame(NilContext, false, true);
|
|
73
74
|
Frame.globals = Frame.missing;
|
|
74
75
|
;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZnJhbWVzL2ZyYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUl2RCxNQUFNLE9BQU8sS0FBTSxTQUFRLFNBQVM7SUFjbEMsWUFBYSxJQUFJLEdBQUcsVUFBVSxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsU0FBUyxHQUFHLEtBQUs7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFBO1FBQ1osSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7U0FDcEI7UUFDRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtTQUN2QjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQTtJQUN6QixDQUFDO0lBQUEsQ0FBQztJQUVLLFlBQVk7UUFDakIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFBO0lBQ3ZCLENBQUM7SUFBQSxDQUFDO0lBRUssRUFBRSxDQUFFLE1BQWM7UUFDdkIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFBO0lBQ2xCLENBQUM7SUFFTSxFQUFFLENBQUUsU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFTSxLQUFLLENBQUUsUUFBZSxFQUFFLFVBQWlCO1FBQzlDLE9BQU8sUUFBUSxDQUFBO0lBQ2pCLENBQUM7SUFFTSxTQUFTLENBQUUsT0FBYyxFQUFFLFNBQWdCO1FBQ2hELElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVNLElBQUksQ0FBRSxRQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHO1FBQ2pELElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxRQUFRLENBQUE7U0FDaEI7UUFDRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN0RSxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUE7SUFDOUIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQTtRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixNQUFNLElBQUksSUFBSSxDQUFBO1NBQ2Y7UUFDRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkMsTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBO1NBQ2pDO1FBQ0QsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDO0lBRU0sT0FBTztRQUNaLDJCQUEyQjtRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDOztBQWxGc0IsVUFBSSxHQUFHLElBQUksQ0FBQTtBQUNYLFVBQUksR0FBRyxJQUFJLENBQUE7QUFDWCxnQkFBVSxHQUFHLEdBQUcsQ0FBQTtBQUNoQixjQUFRLEdBQUcsR0FBRyxDQUFBO0FBQ2QsU0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNqQyxTQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFBO0FBRXhELGdEQUFnRDtBQUN6QixhQUFPLEdBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUM1RCxhQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQTtBQTBFdEMsQ0FBQyJ9
|
|
@@ -49,7 +49,6 @@ export class MetaFrame {
|
|
|
49
49
|
return this.meta_keys().length;
|
|
50
50
|
}
|
|
51
51
|
meta_pairs() {
|
|
52
|
-
// return this.meta.map((value: any, key: string): IKeyValuePair => {return [key, value]})
|
|
53
52
|
return Object.entries(this.meta);
|
|
54
53
|
}
|
|
55
54
|
meta_string() {
|
|
@@ -64,21 +63,6 @@ export class MetaFrame {
|
|
|
64
63
|
}
|
|
65
64
|
match_here(target) {
|
|
66
65
|
let result = Frame.missing;
|
|
67
|
-
/*
|
|
68
|
-
_.forOwn(this.meta, (value, key) => {
|
|
69
|
-
const isPattern = key.match(/\/(.*)\//)
|
|
70
|
-
if (isPattern) {
|
|
71
|
-
const pattern = new RegExp(isPattern[1])
|
|
72
|
-
if (pattern.test(target)) {
|
|
73
|
-
result = value
|
|
74
|
-
if (result.hasOwnProperty('source')) {
|
|
75
|
-
const sourced = result as ISourced
|
|
76
|
-
sourced.source = target
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
})
|
|
81
|
-
*/
|
|
82
66
|
this.meta_pairs().forEach(([key, value]) => {
|
|
83
67
|
const isPattern = key.match(/\/(.*)\//);
|
|
84
68
|
if (isPattern) {
|
|
@@ -96,4 +80,4 @@ export class MetaFrame {
|
|
|
96
80
|
}
|
|
97
81
|
}
|
|
98
82
|
MetaFrame.id_count = 0;
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1mcmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mcmFtZXMvbWV0YS1mcmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBT2xDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBWSxFQUFFLENBQUE7QUFJckMsTUFBTSxPQUFPLFNBQVM7SUFLcEIsWUFBb0IsT0FBTyxVQUFVLEVBQUUsTUFBTSxHQUFHLEtBQUs7UUFBakMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUg5QixPQUFFLEdBQVUsS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUk5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUM1QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVNLFFBQVEsQ0FBRSxHQUFXLEVBQUUsVUFBcUIsSUFBSTtRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzVCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQTtTQUNiO1FBQUEsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRU0sR0FBRyxDQUFFLEdBQVcsRUFBRSxTQUFvQixJQUFJO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRTtZQUN0QixPQUFPLE1BQU0sQ0FBQTtTQUNkO1FBQUEsQ0FBQztRQUVGLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUNyQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO2dCQUM1QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUE7YUFDckI7WUFBQSxDQUFDO1lBQ0YsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUE7U0FDdkI7UUFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFTSxHQUFHLENBQUUsR0FBVyxFQUFFLEtBQVk7UUFDbkMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQTtTQUNmO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDdEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRU0sU0FBUztRQUNkLHlCQUFZLElBQUksQ0FBQyxJQUFJLEVBQUU7SUFDekIsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQTtJQUNoQyxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLEdBQUcsS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN0QixPQUFPLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQTthQUM5QjtpQkFBTTtnQkFDTCxPQUFPLElBQUksR0FBRyxJQUFJLEtBQUssR0FBRyxDQUFBO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUVTLFVBQVUsQ0FBRSxNQUFjO1FBQ2xDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUE7UUFDMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN2QyxJQUFJLFNBQVMsRUFBRTtnQkFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDeEMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUN4QixNQUFNLEdBQUcsS0FBSyxDQUFBO29CQUNkLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDbkMsTUFBTSxPQUFPLEdBQUcsTUFBa0IsQ0FBQTt3QkFDbEMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7cUJBQ3hCO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzs7QUFwRmEsa0JBQVEsR0FBRyxDQUFDLEFBQUosQ0FBSSJ9
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Frame, FrameNumber } from '../frames.js';
|
|
2
|
+
export const Add = (source, block) => {
|
|
3
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
4
|
+
return source.add(block);
|
|
5
|
+
}
|
|
6
|
+
return Frame.nil;
|
|
7
|
+
};
|
|
8
|
+
export const Subtract = (source, block) => {
|
|
9
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
10
|
+
return source.subtract(block);
|
|
11
|
+
}
|
|
12
|
+
return Frame.nil;
|
|
13
|
+
};
|
|
14
|
+
export const Multiply = (source, block) => {
|
|
15
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
16
|
+
return source.multiply(block);
|
|
17
|
+
}
|
|
18
|
+
return Frame.nil;
|
|
19
|
+
};
|
|
20
|
+
export const Divide = (source, block) => {
|
|
21
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
22
|
+
return source.divide(block);
|
|
23
|
+
}
|
|
24
|
+
return Frame.nil;
|
|
25
|
+
};
|
|
26
|
+
export const Modulo = (source, block) => {
|
|
27
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
28
|
+
return source.modulo(block);
|
|
29
|
+
}
|
|
30
|
+
return Frame.nil;
|
|
31
|
+
};
|
|
32
|
+
export const Power = (source, block) => {
|
|
33
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
34
|
+
return source.power(block);
|
|
35
|
+
}
|
|
36
|
+
return Frame.nil;
|
|
37
|
+
};
|
|
38
|
+
export const Equals = (source, block) => {
|
|
39
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
40
|
+
return source.equals(block);
|
|
41
|
+
}
|
|
42
|
+
return Frame.nil;
|
|
43
|
+
};
|
|
44
|
+
export const GreaterThan = (source, block) => {
|
|
45
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
46
|
+
return source.greaterThan(block);
|
|
47
|
+
}
|
|
48
|
+
return Frame.nil;
|
|
49
|
+
};
|
|
50
|
+
export const GreaterThanOrEqual = (source, block) => {
|
|
51
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
52
|
+
return source.greaterThanOrEqual(block);
|
|
53
|
+
}
|
|
54
|
+
return Frame.nil;
|
|
55
|
+
};
|
|
56
|
+
export const LessThan = (source, block) => {
|
|
57
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
58
|
+
return source.lessThan(block);
|
|
59
|
+
}
|
|
60
|
+
return Frame.nil;
|
|
61
|
+
};
|
|
62
|
+
export const LessThanOrEqual = (source, block) => {
|
|
63
|
+
if (source instanceof FrameNumber && block instanceof FrameNumber) {
|
|
64
|
+
return source.lessThanOrEqual(block);
|
|
65
|
+
}
|
|
66
|
+
return Frame.nil;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vcHMvbWF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFhLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDakQsSUFBSSxNQUFNLFlBQVksV0FBVyxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUU7UUFDakUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQ3pCO0lBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFBO0FBQ2xCLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWEsRUFBRSxLQUFZLEVBQUUsRUFBRTtJQUN0RCxJQUFJLE1BQU0sWUFBWSxXQUFXLElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRTtRQUNqRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7S0FDOUI7SUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYSxFQUFFLEtBQVksRUFBRSxFQUFFO0lBQ3RELElBQUksTUFBTSxZQUFZLFdBQVcsSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUM5QjtJQUNELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQTtBQUNsQixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFhLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDcEQsSUFBSSxNQUFNLFlBQVksV0FBVyxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUU7UUFD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
|
package/lib/src/ops.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import { IfElse, IfThen } from './ops/conditionals.js';
|
|
2
2
|
import { FrameOps } from './ops/frame-ops.js';
|
|
3
3
|
import { MapEnumerable, MapProperties, ReduceEnumerable } from './ops/iterators.js';
|
|
4
|
+
import { Add, Divide, Equals, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, Modulo, Multiply, Power, Subtract } from './ops/math.js';
|
|
4
5
|
export { FrameCurry } from './ops/frame-curry.js';
|
|
5
6
|
export const Ops = new FrameOps({
|
|
6
7
|
'&': MapEnumerable,
|
|
7
8
|
'&&': MapProperties,
|
|
8
9
|
':': IfElse,
|
|
9
10
|
'?': IfThen,
|
|
10
|
-
'|': ReduceEnumerable
|
|
11
|
+
'|': ReduceEnumerable,
|
|
12
|
+
'+': Add,
|
|
13
|
+
'-': Subtract,
|
|
14
|
+
'*': Multiply,
|
|
15
|
+
'/': Divide,
|
|
16
|
+
'%%': Modulo,
|
|
17
|
+
'**': Power,
|
|
18
|
+
'=': Equals,
|
|
19
|
+
'>': GreaterThan,
|
|
20
|
+
'>=': GreaterThanOrEqual,
|
|
21
|
+
'<': LessThan,
|
|
22
|
+
'<=': LessThanOrEqual
|
|
11
23
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ25GLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEosT0FBTyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUVqRSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxRQUFRLENBQUM7SUFDOUIsR0FBRyxFQUFFLGFBQWE7SUFDbEIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsR0FBRyxFQUFFLE1BQU07SUFDWCxHQUFHLEVBQUUsTUFBTTtJQUNYLEdBQUcsRUFBRSxnQkFBZ0I7SUFDckIsR0FBRyxFQUFFLEdBQUc7SUFDUixHQUFHLEVBQUUsUUFBUTtJQUNiLEdBQUcsRUFBRSxRQUFRO0lBQ2IsR0FBRyxFQUFFLE1BQU07SUFDWCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxLQUFLO0lBQ1gsR0FBRyxFQUFFLE1BQU07SUFDWCxHQUFHLEVBQUUsV0FBVztJQUNoQixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLEdBQUcsRUFBRSxRQUFRO0lBQ2IsSUFBSSxFQUFFLGVBQWU7Q0FDdEIsQ0FBQyxDQUFBIn0=
|
|
@@ -97,5 +97,37 @@ describe('evaluate', () => {
|
|
|
97
97
|
expect(output).to.be.instanceof(frame.FrameNote);
|
|
98
98
|
});
|
|
99
99
|
});
|
|
100
|
+
describe('numbers', () => {
|
|
101
|
+
it('repeats strings when applied', () => {
|
|
102
|
+
const input = '3 “Hello”';
|
|
103
|
+
const result = evaluate(input);
|
|
104
|
+
expect(result.toString()).to.equal('[“HelloHelloHello”]');
|
|
105
|
+
});
|
|
106
|
+
it('multiplies numbers when applied', () => {
|
|
107
|
+
const input = '3 2';
|
|
108
|
+
const result = evaluate(input);
|
|
109
|
+
expect(result.toString()).to.equal('[6]');
|
|
110
|
+
});
|
|
111
|
+
it('uses .+ for addition', () => {
|
|
112
|
+
const input = '3 .+ 2';
|
|
113
|
+
const result = evaluate(input);
|
|
114
|
+
expect(result.toString()).to.equal('[5]');
|
|
115
|
+
});
|
|
116
|
+
it('uses .%% for modulo', () => {
|
|
117
|
+
const input = '3 .%% 2';
|
|
118
|
+
const result = evaluate(input);
|
|
119
|
+
expect(result.toString()).to.equal('[1]');
|
|
120
|
+
});
|
|
121
|
+
it('uses .** for power', () => {
|
|
122
|
+
const input = '3 .** 2';
|
|
123
|
+
const result = evaluate(input);
|
|
124
|
+
expect(result.toString()).to.equal('[9]');
|
|
125
|
+
});
|
|
126
|
+
it('recognizes non-dot operators', () => {
|
|
127
|
+
const input = '3 + 2';
|
|
128
|
+
const result = evaluate(input);
|
|
129
|
+
expect(result.toString()).to.equal('[5]');
|
|
130
|
+
});
|
|
131
|
+
});
|
|
100
132
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdGUtc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZXhlY3V0ZS9ldmFsdWF0ZS1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3hELE9BQU8sS0FBSyxLQUFLLE1BQU0scUJBQXFCLENBQUE7QUFFNUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7SUFDeEIsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDckIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBO0lBQzNCLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtRQUM5QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzFDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUMxQixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUE7UUFDeEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENB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QUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNsRCxDQUFDLENBQUMsQ0FBQTtRQUVGLEVBQUUsQ0FBQyw2Q0FBNkMsRUFBRSxHQUFHLEVBQUU7WUFDckQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBQ25DLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUMsQ0FBQTtRQUVGLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUU7WUFDdkQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUMsQ0FBQTtRQUVGLEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxHQUFHLEVBQUU7WUFDcEQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNsRCxDQUFDLENBQUMsQ0FBQTtRQUVGLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUU7WUFDdkQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzVCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNsRCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0YsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7UUFDdkIsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtZQUN0QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUE7WUFDekIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFDM0QsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQTtZQUNuQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO1lBQzlCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQTtZQUN0QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQTtZQUN2QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQTtZQUN2QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQTtZQUNyQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -19,11 +19,11 @@ describe('HCTest', () => {
|
|
|
19
19
|
});
|
|
20
20
|
it('assertEqual returns FrameNote.pass if expected == actual', () => {
|
|
21
21
|
const result = test.assertEqual('123', '123', 'abc');
|
|
22
|
-
expect(result.toString()).to.include('$+.test-pass “abc
|
|
22
|
+
expect(result.toString()).to.include('$+.test-pass “abc ?123”;');
|
|
23
23
|
});
|
|
24
24
|
it('assertEqual returns FrameNote.fail if expected != actual', () => {
|
|
25
25
|
const result = test.assertEqual('123', '456', 'abc');
|
|
26
|
-
expect(result.toString()).to.include('$-.test-fail “abc
|
|
26
|
+
expect(result.toString()).to.include('$-.test-fail “abc ?123 !456”;');
|
|
27
27
|
});
|
|
28
28
|
it('outputs Note+ when called with correct testDoc', () => {
|
|
29
29
|
hc_eval.call('.abc 123;');
|
|
@@ -33,7 +33,7 @@ describe('HCTest', () => {
|
|
|
33
33
|
hc_eval.call('# 123');
|
|
34
34
|
expect(out.length()).to.equal(1);
|
|
35
35
|
const result = out.at(0);
|
|
36
|
-
expect(result.toString()).to.include('$+.test-pass ““abc”
|
|
36
|
+
expect(result.toString()).to.include('$+.test-pass ““abc” ?“123””;');
|
|
37
37
|
});
|
|
38
38
|
it('outputs Note- when called with incorrect testDoc', () => {
|
|
39
39
|
hc_eval.call('.abc 456;');
|
|
@@ -41,7 +41,13 @@ describe('HCTest', () => {
|
|
|
41
41
|
hc_eval.call('# 123');
|
|
42
42
|
expect(out.length()).to.equal(1);
|
|
43
43
|
const result = out.at(0);
|
|
44
|
-
expect(result.toString()).to.include('$-.test-fail ““abc”
|
|
44
|
+
expect(result.toString()).to.include('$-.test-fail ““abc” ?“123” !“456””;');
|
|
45
|
+
});
|
|
46
|
+
it('ignores comment-like headers inside testDoc', () => {
|
|
47
|
+
hc_eval.call('`');
|
|
48
|
+
hc_eval.call('# Header');
|
|
49
|
+
hc_eval.call('`');
|
|
50
|
+
expect(out.length()).to.equal(0);
|
|
45
51
|
});
|
|
46
52
|
});
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGMtdGVzdC1zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9leGVjdXRlL2hjLXRlc3Qtc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3JELE9BQU8sS0FBSyxLQUFLLE1BQU0scUJBQXFCLENBQUE7QUFFNUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDdEIsSUFBSSxHQUFxQixDQUFBO0lBQ3pCLElBQUksSUFBWSxDQUFBO0lBQ2hCLElBQUksT0FBZSxDQUFBO0lBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzlCLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN0QixPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUIsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsa0RBQWtELEVBQUUsR0FBRyxFQUFFO1FBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsMERBQTBELEVBQUUsR0FBRyxFQUFFO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBQ2xFLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLEdBQUcsRUFBRTtRQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDcEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQTtJQUN2RSxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxnREFBZ0QsRUFBRSxHQUFHLEVBQUU7UUFDeEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVoQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRWhDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFaEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO0lBQ3RFLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtRQUMxRCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNyQixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7SUFDN0UsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsNkNBQTZDLEVBQUUsR0FBRyxFQUFFO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -12,18 +12,13 @@ describe('script', () => {
|
|
|
12
12
|
const result = execFileSync(hc_bin, args);
|
|
13
13
|
return result.toString().split('\n');
|
|
14
14
|
};
|
|
15
|
-
it('
|
|
15
|
+
it('123 + 654', () => {
|
|
16
16
|
const result = script(['-e', title]);
|
|
17
|
-
expect(result[0]).to.
|
|
18
|
-
// Frame is a language with no equal
|
|
19
|
-
});
|
|
20
|
-
it('123', () => {
|
|
21
|
-
const result = script(['-e', title]);
|
|
22
|
-
expect(result[0]).to.equal(title);
|
|
17
|
+
expect(result[0]).to.equal('777');
|
|
23
18
|
});
|
|
24
19
|
it('“Hello, Quine!”', () => {
|
|
25
20
|
const result = script(['-e', title]);
|
|
26
21
|
expect(result[0]).to.equal(title);
|
|
27
22
|
});
|
|
28
23
|
});
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LXNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2V4ZWN1dGUvc2NyaXB0LXNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVoRCxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtJQUN0QixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQTtJQUNsQyxJQUFJLEtBQWEsQ0FBQTtJQUVqQixVQUFVLENBQUM7O1FBQ1QsS0FBSyxHQUFHLE1BQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLG1DQUFJLEtBQUssQ0FBQTtJQUMxQyxDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUU7UUFDaEMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUN6QyxPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEMsQ0FBQyxDQUFBO0lBRUQsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7UUFDbkIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbkMsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25DLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -32,11 +32,11 @@ describe('FrameLazy', () => {
|
|
|
32
32
|
it('returns itself when Frame is nil', () => {
|
|
33
33
|
expect(codify.in([context])).to.equal(codify);
|
|
34
34
|
});
|
|
35
|
-
it('converts Array to Expr when called', () => {
|
|
35
|
+
it('converts Array to unevaluated Expr when called', () => {
|
|
36
36
|
const array = new frame.FrameArray(lazy_array, { speed: fast, gap: space });
|
|
37
37
|
const codified = codify.call(array);
|
|
38
38
|
expect(codified).to.be.instanceof(frame.FrameExpr);
|
|
39
|
-
expect(codified.toString()).to.include('(speed gap _');
|
|
39
|
+
expect(codified.toString()).to.include('(speed gap _, .speed “fast”; .gap “ ”;)');
|
|
40
40
|
expect(codified.call(turtle).toString()).to.equal('“fast turtle”');
|
|
41
41
|
});
|
|
42
42
|
it('treats other Frames as Arrays when called', () => {
|
|
@@ -46,4 +46,4 @@ describe('FrameLazy', () => {
|
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtbGF6eS1zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9mcmFtZXMvZnJhbWUtbGF6eS1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDN0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFFcEMsT0FBTyxLQUFLLEtBQUssTUFBTSxxQkFBcUIsQ0FBQTtBQUU1QyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtJQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUU5QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3hHLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFFaEUsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxV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
|
|
@@ -13,5 +13,11 @@ describe('FrameNumber', () => {
|
|
|
13
13
|
it('stringifies back to that string', () => {
|
|
14
14
|
expect(frame_number.toString()).to.equal(source);
|
|
15
15
|
});
|
|
16
|
+
it('returns a range', () => {
|
|
17
|
+
const range = new FrameNumber('3').range();
|
|
18
|
+
expect(range).to.be.instanceOf(Array);
|
|
19
|
+
expect(range).to.have.lengthOf(3);
|
|
20
|
+
expect(range).to.deep.equal([0, 1, 2]);
|
|
21
|
+
});
|
|
16
22
|
});
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtbnVtYmVyLXNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2ZyYW1lcy9mcmFtZS1udW1iZXItc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUVqRCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtJQUMzQixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUE7SUFDNUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFNUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBO0lBQzlCLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUNsQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2xELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUMxQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN4QyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hclang",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12",
|
|
4
4
|
"description": "Homoiconic C: Programming without a Language",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -45,11 +45,12 @@
|
|
|
45
45
|
"build": "rimraf lib && eslint --fix \"{src,test}/**/*.ts\" && npm run ts",
|
|
46
46
|
"check": "grep -e 'only' -e 'skip' test/*/* || echo 'Ran all tests'",
|
|
47
47
|
"clean": "rimraf lib dist && rm -f *.log.* src/*.js src/*/*.js test/*.js test/*/*.js",
|
|
48
|
-
"clean-git": "git branch -D `git branch
|
|
48
|
+
"clean-git": "git branch -D `git branch | grep -v '\\*' | grep -v 'master'`",
|
|
49
49
|
"debug": "echo 'Use `debugger;`\n' && npm --inspect-brk ",
|
|
50
50
|
"done": "npm run clean && npm run bs:all && npm run check && npm run tag && npm install && git commit -am 'update version'",
|
|
51
51
|
"lint": "eslint --fix \"{src,test}/**/*.ts\"",
|
|
52
52
|
"hc": "node lib/src/cli/hc.js",
|
|
53
|
+
"paper": "npm run build && node lib/src/cli/hc.js hc/white-paper.hc -t",
|
|
53
54
|
"test": "npm run build && mocha",
|
|
54
55
|
"test-only": "mocha",
|
|
55
56
|
"tag": "bump patch -ct package*.json README.md src/version.ts",
|
|
@@ -69,12 +70,12 @@
|
|
|
69
70
|
"version-bump-prompt": "^6.1.0"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
72
|
-
"@types/chai": "^4.3.
|
|
73
|
+
"@types/chai": "^4.3.7",
|
|
73
74
|
"@types/minimist": "^1.2.3",
|
|
74
75
|
"@types/mocha": "10.0.2",
|
|
75
|
-
"@types/node": ">=20.8.
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "^6.7.
|
|
77
|
-
"@typescript-eslint/parser": "^6.7.
|
|
76
|
+
"@types/node": ">=20.8.4",
|
|
77
|
+
"@typescript-eslint/eslint-plugin": "^6.7.5",
|
|
78
|
+
"@typescript-eslint/parser": "^6.7.5",
|
|
78
79
|
"asciidoctor": "^3.0.2",
|
|
79
80
|
"chai": "^4.3.10",
|
|
80
81
|
"eslint": "^8.51.0",
|