greybel-interpreter 0.5.9 → 0.6.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/dist/expressions/path.js +21 -20
- package/package.json +1 -1
package/dist/expressions/path.js
CHANGED
|
@@ -198,14 +198,14 @@ var PathExpression = /** @class */ (function (_super) {
|
|
|
198
198
|
me = this;
|
|
199
199
|
evaluate = function (node) {
|
|
200
200
|
return __awaiter(this, void 0, void 0, function () {
|
|
201
|
-
var traverselPath, traversedPath, position, handle, current, functionContext, origin, value, origin, left, right;
|
|
202
|
-
return __generator(this, function (
|
|
203
|
-
switch (
|
|
201
|
+
var traverselPath, traversedPath, position, handle, current, functionContext, origin, _a, value, origin, left, right;
|
|
202
|
+
return __generator(this, function (_b) {
|
|
203
|
+
switch (_b.label) {
|
|
204
204
|
case 0:
|
|
205
205
|
traverselPath = [].concat(node.value);
|
|
206
206
|
traversedPath = [];
|
|
207
207
|
position = 0;
|
|
208
|
-
|
|
208
|
+
_b.label = 1;
|
|
209
209
|
case 1:
|
|
210
210
|
if (!(current = traverselPath.shift())) return [3 /*break*/, 30];
|
|
211
211
|
if (!(0, typer_1.isCustomValue)(current)) return [3 /*break*/, 2];
|
|
@@ -215,13 +215,13 @@ var PathExpression = /** @class */ (function (_super) {
|
|
|
215
215
|
if (!(current instanceof expression_1.Expression)) return [3 /*break*/, 4];
|
|
216
216
|
return [4 /*yield*/, current.get(operationContext, me.expr)];
|
|
217
217
|
case 3:
|
|
218
|
-
handle =
|
|
218
|
+
handle = _b.sent();
|
|
219
219
|
return [3 /*break*/, 29];
|
|
220
220
|
case 4:
|
|
221
221
|
if (!(current instanceof operation_1.Operation)) return [3 /*break*/, 6];
|
|
222
222
|
return [4 /*yield*/, current.get(operationContext)];
|
|
223
223
|
case 5:
|
|
224
|
-
handle =
|
|
224
|
+
handle = _b.sent();
|
|
225
225
|
return [3 /*break*/, 29];
|
|
226
226
|
case 6:
|
|
227
227
|
if (!(current instanceof PathSegment)) return [3 /*break*/, 12];
|
|
@@ -239,18 +239,19 @@ var PathExpression = /** @class */ (function (_super) {
|
|
|
239
239
|
if (!(traverselPath.length > 0)) return [3 /*break*/, 11];
|
|
240
240
|
return [4 /*yield*/, (handle || operationContext).get(traversedPath)];
|
|
241
241
|
case 8:
|
|
242
|
-
origin =
|
|
242
|
+
origin = _b.sent();
|
|
243
243
|
if (!(0, typer_1.isCustomValue)(origin)) return [3 /*break*/, 9];
|
|
244
244
|
handle = origin;
|
|
245
245
|
traversedPath = [];
|
|
246
246
|
return [3 /*break*/, 11];
|
|
247
247
|
case 9:
|
|
248
248
|
if (!(origin instanceof Function)) return [3 /*break*/, 11];
|
|
249
|
+
_a = typer_1.cast;
|
|
249
250
|
return [4 /*yield*/, origin.call(handle)];
|
|
250
251
|
case 10:
|
|
251
|
-
handle = _a.sent();
|
|
252
|
+
handle = _a.apply(void 0, [_b.sent()]);
|
|
252
253
|
traversedPath = [];
|
|
253
|
-
|
|
254
|
+
_b.label = 11;
|
|
254
255
|
case 11: return [3 /*break*/, 29];
|
|
255
256
|
case 12:
|
|
256
257
|
if (!(current instanceof IndexSegment)) return [3 /*break*/, 19];
|
|
@@ -262,31 +263,31 @@ var PathExpression = /** @class */ (function (_super) {
|
|
|
262
263
|
if (!(current instanceof expression_1.Expression)) return [3 /*break*/, 15];
|
|
263
264
|
return [4 /*yield*/, current.get(operationContext)];
|
|
264
265
|
case 14:
|
|
265
|
-
value =
|
|
266
|
+
value = _b.sent();
|
|
266
267
|
traversedPath.push(value.toString());
|
|
267
268
|
return [3 /*break*/, 16];
|
|
268
269
|
case 15:
|
|
269
270
|
operationContext.debugger.raise('Unexpected index', me, current);
|
|
270
|
-
|
|
271
|
+
_b.label = 16;
|
|
271
272
|
case 16:
|
|
272
273
|
if (!(handle && !parentExpr)) return [3 /*break*/, 18];
|
|
273
274
|
return [4 /*yield*/, handle.get(traversedPath, me.expr)];
|
|
274
275
|
case 17:
|
|
275
|
-
origin =
|
|
276
|
+
origin = _b.sent();
|
|
276
277
|
if (origin instanceof Function || origin instanceof function_1.default) {
|
|
277
278
|
handle = origin;
|
|
278
279
|
traversedPath = [];
|
|
279
280
|
}
|
|
280
|
-
|
|
281
|
+
_b.label = 18;
|
|
281
282
|
case 18: return [3 /*break*/, 29];
|
|
282
283
|
case 19:
|
|
283
284
|
if (!(current instanceof SliceSegment)) return [3 /*break*/, 28];
|
|
284
285
|
if (!!handle) return [3 /*break*/, 21];
|
|
285
286
|
return [4 /*yield*/, operationContext.get(traversedPath)];
|
|
286
287
|
case 20:
|
|
287
|
-
handle =
|
|
288
|
+
handle = _b.sent();
|
|
288
289
|
traversedPath = [];
|
|
289
|
-
|
|
290
|
+
_b.label = 21;
|
|
290
291
|
case 21:
|
|
291
292
|
if (!(0, typer_1.isCustomList)(handle) && !(0, typer_1.isCustomString)(handle)) {
|
|
292
293
|
operationContext.debugger.raise('Invalid type for slice', me, handle);
|
|
@@ -299,8 +300,8 @@ var PathExpression = /** @class */ (function (_super) {
|
|
|
299
300
|
if (!(left instanceof expression_1.Expression)) return [3 /*break*/, 24];
|
|
300
301
|
return [4 /*yield*/, left.get(operationContext)];
|
|
301
302
|
case 23:
|
|
302
|
-
left =
|
|
303
|
-
|
|
303
|
+
left = _b.sent();
|
|
304
|
+
_b.label = 24;
|
|
304
305
|
case 24:
|
|
305
306
|
right = current.right;
|
|
306
307
|
if (!(0, typer_1.isCustomValue)(right)) return [3 /*break*/, 25];
|
|
@@ -310,14 +311,14 @@ var PathExpression = /** @class */ (function (_super) {
|
|
|
310
311
|
if (!(right instanceof expression_1.Expression)) return [3 /*break*/, 27];
|
|
311
312
|
return [4 /*yield*/, right.get(operationContext)];
|
|
312
313
|
case 26:
|
|
313
|
-
right =
|
|
314
|
-
|
|
314
|
+
right = _b.sent();
|
|
315
|
+
_b.label = 27;
|
|
315
316
|
case 27:
|
|
316
317
|
handle = handle.slice(left, right);
|
|
317
318
|
return [3 /*break*/, 29];
|
|
318
319
|
case 28:
|
|
319
320
|
operationContext.debugger.raise('Unexpected handle', me, current);
|
|
320
|
-
|
|
321
|
+
_b.label = 29;
|
|
321
322
|
case 29:
|
|
322
323
|
position++;
|
|
323
324
|
return [3 /*break*/, 1];
|