@graffiticode/basis 1.2.0 → 1.4.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.
- package/package.json +1 -1
- package/src/compiler.js +17 -2
package/package.json
CHANGED
package/src/compiler.js
CHANGED
|
@@ -137,6 +137,14 @@ export class Checker extends Visitor {
|
|
|
137
137
|
const val = node;
|
|
138
138
|
resume(err, val);
|
|
139
139
|
}
|
|
140
|
+
JSON(node, options, resume) {
|
|
141
|
+
this.visit(node.elts[0], options, (e0, v0) => {
|
|
142
|
+
assert(v0.tag === "STR");
|
|
143
|
+
const err = [];
|
|
144
|
+
const val = node;
|
|
145
|
+
resume(err, val);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
140
148
|
CONCAT(node, options, resume) {
|
|
141
149
|
this.visit(node.elts[0], options, (e0, v0) => {
|
|
142
150
|
const err = [];
|
|
@@ -484,6 +492,13 @@ export class Transformer extends Visitor {
|
|
|
484
492
|
const val = node.elts[0];
|
|
485
493
|
resume(err, val);
|
|
486
494
|
}
|
|
495
|
+
JSON(node, options, resume) {
|
|
496
|
+
this.visit(node.elts[0], options, (e0, v0) => {
|
|
497
|
+
const err = [];
|
|
498
|
+
const val = JSON.parse(v0);
|
|
499
|
+
resume(err, val);
|
|
500
|
+
});
|
|
501
|
+
}
|
|
487
502
|
CONCAT(node, options, resume) {
|
|
488
503
|
this.visit(node.elts[0], options, (e0, v0) => {
|
|
489
504
|
const err = [];
|
|
@@ -502,7 +517,7 @@ export class Transformer extends Visitor {
|
|
|
502
517
|
}
|
|
503
518
|
BOOL(node, options, resume) {
|
|
504
519
|
const err = [];
|
|
505
|
-
const val = node;
|
|
520
|
+
const val = node.elts[0];
|
|
506
521
|
resume(err, val);
|
|
507
522
|
}
|
|
508
523
|
NULL(node, options, resume) {
|
|
@@ -593,7 +608,7 @@ export class Transformer extends Visitor {
|
|
|
593
608
|
resume(err, val);
|
|
594
609
|
}
|
|
595
610
|
DATA(node, options, resume) {
|
|
596
|
-
if (options.data && Object.keys(options.data).length
|
|
611
|
+
if (options.data && Object.keys(options.data).length !== 0) {
|
|
597
612
|
// Got external data, so use it.
|
|
598
613
|
const err = [];
|
|
599
614
|
const val = options.data;
|