aontu 0.2.0 → 0.5.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/lib/val.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /* Copyright (c) 2021 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PrefVal = exports.RefVal = exports.DisjunctVal = exports.ConjunctVal = exports.MapVal = exports.IntegerVal = exports.BooleanVal = exports.StringVal = exports.NumberVal = exports.ScalarTypeVal = exports.Nil = exports.TOP = exports.Val = exports.Integer = exports.DONE = void 0;
4
+ exports.PrefVal = exports.RefVal = exports.DisjunctVal = exports.ConjunctVal = exports.ListVal = exports.MapVal = exports.IntegerVal = exports.BooleanVal = exports.StringVal = exports.NumberVal = exports.ScalarTypeVal = exports.Nil = exports.TOP = exports.Val = exports.Integer = exports.DONE = void 0;
5
5
  // TODO: infinite recursion protection
6
6
  // NOTES
7
7
  // - Vals are immutable
@@ -33,20 +33,6 @@ const TOP = {
33
33
  url: '',
34
34
  unify(peer, _ctx) {
35
35
  return peer;
36
- /*
37
- if (peer instanceof DisjunctVal) {
38
- return peer.unify(this, ctx)
39
- }
40
- else if (peer instanceof ConjunctVal) {
41
- return peer.unify(this, ctx)
42
- }
43
- else if (peer instanceof RefVal) {
44
- return peer.unify(this, ctx)
45
- }
46
- else {
47
- return peer
48
- }
49
- */
50
36
  },
51
37
  get canon() { return 'top'; },
52
38
  get site() { return new lang_1.Site(this); },
@@ -58,6 +44,7 @@ const TOP = {
58
44
  },
59
45
  };
60
46
  exports.TOP = TOP;
47
+ // TODO: extends Val ???
61
48
  class Val {
62
49
  constructor(peg, ctx) {
63
50
  this.done = 0;
@@ -69,7 +56,8 @@ class Val {
69
56
  this.id = (ctx && ctx.vc++) || (9e9 + Math.floor(Math.random() * (1e9)));
70
57
  }
71
58
  same(peer) {
72
- return this === peer;
59
+ // return this === peer
60
+ return null == peer ? false : this.id === peer.id;
73
61
  }
74
62
  get site() {
75
63
  return new lang_1.Site(this);
@@ -376,6 +364,87 @@ class MapVal extends Val {
376
364
  }
377
365
  exports.MapVal = MapVal;
378
366
  MapVal.SPREAD = Symbol('spread');
367
+ class ListVal extends Val {
368
+ constructor(peg, ctx) {
369
+ super(peg, ctx);
370
+ this.spread = {
371
+ cj: undefined,
372
+ };
373
+ let spread = this.peg[ListVal.SPREAD];
374
+ delete this.peg[ListVal.SPREAD];
375
+ if (spread) {
376
+ if ('&' === spread.o) {
377
+ // TODO: handle existing spread!
378
+ this.spread.cj =
379
+ new ConjunctVal(Array.isArray(spread.v) ? spread.v : [spread.v], ctx);
380
+ }
381
+ }
382
+ }
383
+ // NOTE: order of keys is not preserved!
384
+ // not possible in any case - consider {a,b} unify {b,a}
385
+ unify(peer, ctx) {
386
+ let done = true;
387
+ let out = TOP === peer ? this : new ListVal([], ctx);
388
+ out.spread.cj = this.spread.cj;
389
+ if (peer instanceof ListVal) {
390
+ out.spread.cj = null == out.spread.cj ? peer.spread.cj : (null == peer.spread.cj ? out.spread.cj : (out.spread.cj = new ConjunctVal([out.spread.cj, peer.spread.cj], ctx)));
391
+ }
392
+ out.done = this.done + 1;
393
+ if (this.spread.cj) {
394
+ out.spread.cj =
395
+ DONE !== this.spread.cj.done ? (0, op_1.unite)(ctx, this.spread.cj) :
396
+ this.spread.cj;
397
+ }
398
+ let spread_cj = out.spread.cj || TOP;
399
+ // Always unify children first
400
+ for (let key in this.peg) {
401
+ out.peg[key] =
402
+ (0, op_1.unite)(ctx.descend(key), this.peg[key], spread_cj);
403
+ done = (done && DONE === out.peg[key].done);
404
+ }
405
+ if (peer instanceof ListVal) {
406
+ let upeer = (0, op_1.unite)(ctx, peer);
407
+ for (let peerkey in upeer.peg) {
408
+ let peerchild = upeer.peg[peerkey];
409
+ let child = out.peg[peerkey];
410
+ let oval = out.peg[peerkey] =
411
+ undefined === child ? peerchild :
412
+ child instanceof Nil ? child :
413
+ peerchild instanceof Nil ? peerchild :
414
+ (0, op_1.unite)(ctx.descend(peerkey), child, peerchild);
415
+ if (this.spread.cj) {
416
+ out.peg[peerkey] = (0, op_1.unite)(ctx, out.peg[peerkey], spread_cj);
417
+ }
418
+ done = (done && DONE === oval.done);
419
+ }
420
+ }
421
+ else if (TOP !== peer) {
422
+ return Nil.make(ctx, 'map', this, peer);
423
+ }
424
+ out.done = done ? DONE : out.done;
425
+ return out;
426
+ }
427
+ get canon() {
428
+ let keys = Object.keys(this.peg);
429
+ return '[' +
430
+ (this.spread.cj ? '&:' + this.spread.cj.canon +
431
+ (0 < keys.length ? ',' : '') : '') +
432
+ keys
433
+ // NOTE: handle array non-index key vals
434
+ // .map(k => [JSON.stringify(k) + ':' + this.peg[k].canon]).join(',') +
435
+ .map(k => [this.peg[k].canon]).join(',') +
436
+ ']';
437
+ }
438
+ gen(ctx) {
439
+ let out = this.peg.map((v) => v.gen(ctx));
440
+ // for (let p in this.peg) {
441
+ // out[p] = this.peg[p].gen(ctx)
442
+ // }
443
+ return out;
444
+ }
445
+ }
446
+ exports.ListVal = ListVal;
447
+ ListVal.SPREAD = Symbol('spread');
379
448
  // TODO: move main logic to op/conjunct
380
449
  class ConjunctVal extends Val {
381
450
  constructor(peg, ctx) {
@@ -487,15 +556,15 @@ class DisjunctVal extends Val {
487
556
  unify(peer, ctx) {
488
557
  let done = true;
489
558
  let oval = [];
490
- //console.log('oval', this.canon, peer.canon)
559
+ // console.log('oval', this.canon, peer.canon)
491
560
  // Conjunction (&) distributes over disjunction (|)
492
561
  for (let vI = 0; vI < this.peg.length; vI++) {
493
562
  //oval[vI] = this.peg[vI].unify(peer, ctx)
494
563
  oval[vI] = (0, op_1.unite)(ctx, this.peg[vI], peer);
495
- //console.log('ovalA', vI, this.peg[vI].canon, peer.canon, oval[vI].canon)
564
+ // console.log('ovalA', vI, this.peg[vI].canon, peer.canon, oval[vI].canon)
496
565
  done = done && DONE === oval[vI].done;
497
566
  }
498
- //console.log('ovalB', oval.map(v => v.canon))
567
+ // console.log('ovalB', oval.map(v => v.canon))
499
568
  // Remove duplicates, and normalize
500
569
  if (1 < oval.length) {
501
570
  for (let vI = 0; vI < oval.length; vI++) {
@@ -547,18 +616,11 @@ class DisjunctVal extends Val {
547
616
  }
548
617
  exports.DisjunctVal = DisjunctVal;
549
618
  class RefVal extends Val {
550
- // constructor(peg: string | string[], ctx?: Context) {
551
- // super(peg, ctx)
552
- // this.parts = 'string' === typeof peg ? peg.split(this.sep) : peg
553
- // this.parts = this.parts.filter(p => '' != p)
554
- // // this.absolute = peg.startsWith(this.sep)
555
- // }
556
619
  constructor(peg, abs) {
557
620
  super('');
558
- this.sep = '.'; // was '/'
621
+ this.sep = '.';
559
622
  this.absolute = true === abs;
560
623
  this.parts = [];
561
- // console.log('RV', peg)
562
624
  for (let part of peg) {
563
625
  this.append(part);
564
626
  }
@@ -578,7 +640,6 @@ class RefVal extends Val {
578
640
  }
579
641
  }
580
642
  this.peg = (this.absolute ? this.sep : '') + this.parts.join(this.sep);
581
- // console.log('APPEND 1', this.parts)
582
643
  }
583
644
  unify(peer, ctx) {
584
645
  let resolved = null == ctx ? this : ctx.find(this);
@@ -586,11 +647,9 @@ class RefVal extends Val {
586
647
  resolved = null == resolved && 999 < this.done ?
587
648
  Nil.make(ctx, 'no-path', this, peer) : (resolved || this);
588
649
  let out;
589
- // console.log('RV', this.id, this.done, this.canon, peer.canon, !!resolved, resolved instanceof RefVal, resolved && resolved.canon)
590
650
  if (resolved instanceof RefVal) {
591
651
  if (TOP === peer) {
592
652
  out = this;
593
- //out = new RefVal(this.peg, ctx)
594
653
  }
595
654
  else if (peer instanceof Nil) {
596
655
  out = Nil.make(ctx, 'ref[' + this.peg + ']', this, peer);
@@ -602,13 +661,14 @@ class RefVal extends Val {
602
661
  }
603
662
  }
604
663
  else {
605
- //console.log('RVr', resolved.canon, peer.canon)
606
- //out = resolved.unify(peer, ctx)
607
664
  out = (0, op_1.unite)(ctx, resolved, peer);
608
665
  }
609
666
  out.done = DONE === out.done ? DONE : this.done + 1;
610
667
  return out;
611
668
  }
669
+ same(peer) {
670
+ return null == peer ? false : this.peg === peer.peg;
671
+ }
612
672
  get canon() {
613
673
  return this.peg;
614
674
  }
@@ -646,6 +706,17 @@ class PrefVal extends Val {
646
706
  out.done = done ? DONE : this.done + 1;
647
707
  return out;
648
708
  }
709
+ same(peer) {
710
+ if (null == peer) {
711
+ return false;
712
+ }
713
+ let pegsame = (this.peg === peer.peg) ||
714
+ (this.peg instanceof Val && this.peg.same(peer.peg));
715
+ let prefsame = peer instanceof PrefVal &&
716
+ ((this.pref === peer.pref) ||
717
+ (this.pref instanceof Val && this.pref.same(peer.pref)));
718
+ return pegsame && prefsame;
719
+ }
649
720
  get canon() {
650
721
  return this.pref instanceof Nil ? this.peg.canon : '*' + this.pref.canon;
651
722
  }
@@ -1 +1 @@
1
- {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":"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"}