aontu 0.5.0 → 0.7.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.
Files changed (65) hide show
  1. package/aontu.ts +3 -2
  2. package/dist/aontu.d.ts +2 -2
  3. package/dist/aontu.js +3 -4
  4. package/dist/aontu.js.map +1 -1
  5. package/dist/aontu.min.js +1 -63
  6. package/dist/lib/lang.d.ts +1 -3
  7. package/dist/lib/lang.js +53 -25
  8. package/dist/lib/lang.js.map +1 -1
  9. package/dist/lib/op/disjunct.js +10 -10
  10. package/dist/lib/op/disjunct.js.map +1 -1
  11. package/dist/lib/op/op.d.ts +2 -2
  12. package/dist/lib/op/op.js.map +1 -1
  13. package/dist/lib/op/unite.js +19 -14
  14. package/dist/lib/op/unite.js.map +1 -1
  15. package/dist/lib/type.d.ts +34 -22
  16. package/dist/lib/type.js +23 -76
  17. package/dist/lib/type.js.map +1 -1
  18. package/dist/lib/unify.d.ts +5 -2
  19. package/dist/lib/unify.js +7 -5
  20. package/dist/lib/unify.js.map +1 -1
  21. package/dist/lib/val/ConjunctVal.d.ts +12 -0
  22. package/dist/lib/val/ConjunctVal.js +191 -0
  23. package/dist/lib/val/ConjunctVal.js.map +1 -0
  24. package/dist/lib/val/DisjunctVal.d.ts +12 -0
  25. package/dist/lib/val/DisjunctVal.js +85 -0
  26. package/dist/lib/val/DisjunctVal.js.map +1 -0
  27. package/dist/lib/val/ListVal.d.ts +14 -0
  28. package/dist/lib/val/ListVal.js +91 -0
  29. package/dist/lib/val/ListVal.js.map +1 -0
  30. package/dist/lib/val/MapVal.d.ts +14 -0
  31. package/dist/lib/val/MapVal.js +141 -0
  32. package/dist/lib/val/MapVal.js.map +1 -0
  33. package/dist/lib/val/Nil.d.ts +15 -0
  34. package/dist/lib/val/Nil.js +54 -0
  35. package/dist/lib/val/Nil.js.map +1 -0
  36. package/dist/lib/val/PrefVal.d.ts +12 -0
  37. package/dist/lib/val/PrefVal.js +60 -0
  38. package/dist/lib/val/PrefVal.js.map +1 -0
  39. package/dist/lib/val/RefVal.d.ts +15 -0
  40. package/dist/lib/val/RefVal.js +73 -0
  41. package/dist/lib/val/RefVal.js.map +1 -0
  42. package/dist/lib/val/ValBase.d.ts +22 -0
  43. package/dist/lib/val/ValBase.js +27 -0
  44. package/dist/lib/val/ValBase.js.map +1 -0
  45. package/dist/lib/val.d.ts +6 -93
  46. package/dist/lib/val.js +13 -609
  47. package/dist/lib/val.js.map +1 -1
  48. package/lib/lang.ts +79 -49
  49. package/lib/op/disjunct.ts +14 -8
  50. package/lib/op/op.ts +2 -1
  51. package/lib/op/unite.ts +14 -12
  52. package/lib/type.ts +108 -0
  53. package/lib/unify.ts +10 -8
  54. package/lib/val/ConjunctVal.ts +284 -0
  55. package/lib/val/DisjunctVal.ts +145 -0
  56. package/lib/val/ListVal.ts +154 -0
  57. package/lib/val/MapVal.ts +226 -0
  58. package/lib/val/Nil.ts +94 -0
  59. package/lib/val/PrefVal.ts +113 -0
  60. package/lib/val/RefVal.ts +126 -0
  61. package/lib/val/RefVal.ts~ +319 -0
  62. package/lib/val/ValBase.ts +78 -0
  63. package/lib/val.ts +15 -825
  64. package/package.json +27 -24
  65. package/lib/common.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sCAAsC;AAGtC,QAAQ;AACR,uBAAuB;AACvB,sEAAsE;AACtE,sCAAsC;AAItC;;;;;;;;EAQE;AAGF,mCAEgB;AAGhB,iCAEe;AAGf,gCAEgB;AAOhB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAA;AA08Bb,oBAAI;AAv8BN,yBAAyB;AACzB,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,CAAC,CAAC;IACP,GAAG,EAAE,CAAC,CAAC;IACP,GAAG,EAAE,EAAE;IAEP,KAAK,CAAC,IAAS,EAAE,IAAa;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;IAE5B,IAAI,IAAI,KAAK,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAS;QACZ,OAAO,GAAG,KAAK,IAAI,CAAA;IACrB,CAAC;IAED,GAAG,EAAE,CAAC,IAAc,EAAE,EAAE;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF,CAAA;AA+6BC,kBAAG;AA56BL,wBAAwB;AACxB,MAAe,GAAG;IAiBhB,YAAY,GAAS,EAAE,GAAa;QAfpC,SAAI,GAAW,CAAC,CAAA;QAEhB,QAAG,GAAW,CAAC,CAAC,CAAA;QAChB,QAAG,GAAW,CAAC,CAAC,CAAA;QAChB,QAAG,GAAW,EAAE,CAAA;QAYd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,uBAAuB;QACvB,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAA;IACnD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;CAOF;AAq4BC,kBAAG;AAj4BL,MAAM,GAAI,SAAQ,GAAG;IA8CnB,YAAY,GAAS,EAAE,GAAa;QAClC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QA9ClB,QAAG,GAAG,IAAI,CAAA;QA+CR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,qCAAqC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,KAAU,EAAE,IAAa;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;;AAm0BD,kBAAG;AA73BH,sDAAsD;AAC/C,QAAI,GAAG,CAAC,GAAa,EAAE,GAAS,EAAE,EAAQ,EAAE,EAAQ,EAAE,EAAE;IAC7D,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAE3B,uDAAuD;IAEvD,sEAAsE;IACtE,IAAI,IAAI,IAAI,EAAE,EAAE;QACd,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;QAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;QAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;QAEhB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;QAEhB,IAAI,IAAI,IAAI,EAAE,EAAE;YACd,GAAG,CAAC,SAAS,GAAG,EAAE,CAAA;YAElB,IAAI,WAAW,GACb,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CACtB,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;gBAClB,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CACzC,CAAA;YAEH,IAAI,WAAW,EAAE;gBACf,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;gBAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;gBAChB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;gBAChB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;gBAChB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAA;aACnB;SACF;KACF;IAED,IAAI,GAAG,EAAE;QACP,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KAClB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAwBH,qDAAqD;AACrD,MAAM,OAAO;CAAI;AA2zBf,0BAAO;AAhzBT,MAAM,aAAc,SAAQ,GAAG;IAC7B,YAAY,GAAsB,EAAE,GAAa;QAC/C,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,SAAS,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE;gBAC1B,OAAO,IAAI,CAAA;aACZ;iBACI,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE;gBACrD,OAAO,IAAI,CAAA;aACZ;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SACpD;aACI;YACH,IAAI,IAAI,YAAY,aAAa,EAAE;gBACjC,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE;oBAC/C,OAAO,IAAI,CAAA;iBACZ;qBACI,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE;oBACpD,OAAO,IAAI,CAAA;iBACZ;aACF;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SAChD;IACH,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,GAAI,IAAI,CAAC,GAAW,CAAA;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,YAAY,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjF,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF;AA0wBC,sCAAa;AAvwBf,MAAM,SAAa,SAAQ,GAAG;IAE5B,YAAY,GAAM,EAAE,IAAuB,EAAE,GAAa;QACxD,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,gDAAgD;QAChD,IAAI,IAAI,YAAY,aAAa,EAAE;YACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC7B;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,KAAK;QACP,OAAQ,IAAI,CAAC,GAAW,CAAC,QAAQ,EAAE,CAAA;IACrC,CAAC;IACD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,YAAY,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;CACF;AAGD,MAAM,SAAU,SAAQ,SAAiB;IACvC,YAAY,GAAW,EAAE,GAAa;QACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACtD,OAAO,IAAI,CAAA;SACZ;aACI;YACH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC9B;IACH,CAAC;CACF;AAiuBC,8BAAS;AA9tBX,MAAM,UAAW,SAAQ,SAAiB;IACxC,YAAY,GAAW,EAAE,GAAa;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC1B,iBAAiB;YACjB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;SAC/B;QACD,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,YAAY,aAAa,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE;YACxD,OAAO,IAAI,CAAA;SACZ;aACI,IAAI,IAAI,YAAY,SAAS;YAChC,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;YACvB,OAAO,IAAI,CAAA;SACZ;aACI;YACH,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SAC9B;IACH,CAAC;CACF;AA4sBC,gCAAU;AAzsBZ,MAAM,SAAU,SAAQ,SAAiB;IACvC,YAAY,GAAW,EAAE,GAAa;QACpC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CAEF;AA4rBC,8BAAS;AAzrBX,MAAM,UAAW,SAAQ,SAAkB;IACzC,YAAY,GAAY,EAAE,GAAa;QACrC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;;AAorBD,gCAAU;AAlrBH,eAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,eAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAC9D,gBAAK,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,eAAO,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAOzE,MAAM,MAAO,SAAQ,GAAG;IAOtB,YAAY,GAAW,EAAE,GAAa;QACpC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QALjB,WAAM,GAAG;YACP,EAAE,EAAG,SAA6B;SACnC,CAAA;QAKC,IAAI,MAAM,GAAI,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAQ,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEvC,IAAI,MAAM,EAAE;YACV,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE;gBACpB,gCAAgC;gBAChC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACZ,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;aACxE;SACF;IACH,CAAC;IAED,wCAAwC;IACxC,wDAAwD;IACxD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAY,IAAI,CAAA;QACxB,IAAI,GAAG,GAAW,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAE3D,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;QAE9B,IAAI,IAAI,YAAY,MAAM,EAAE;YAC1B,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CACtE,CACF,CAAA;SACF;QAGD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,iBAAiB;YACjB,mEAAmE;YACnE,oBAAoB;YACpB,GAAG,CAAC,MAAM,CAAC,EAAE;gBACX,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;SAEnB;QAGD,eAAe;QACf,oCAAoC;QACpC,gDAAgD;QAChD,4CAA4C;QAC5C,iCAAiC;QACjC,+DAA+D;QAE/D,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAA;QAEpC,8BAA8B;QAC9B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;YACxB,4EAA4E;YAC5E,YAAY;YAEZ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACV,IAAA,UAAK,EAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;YAEnD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;YAE3C,4BAA4B;YAC5B,qBAAqB;YACrB,GAAG;SACJ;QAED,eAAe;QACf,oCAAoC;QACpC,gDAAgD;QAChD,4CAA4C;QAC5C,2BAA2B;QAC3B,2BAA2B;QAC3B,0BAA0B;QAC1B,IAAI;QAEJ,IAAI,IAAI,YAAY,MAAM,EAAE;YAC1B,sDAAsD;YACtD,IAAI,KAAK,GAAY,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAY,CAAA;YAEhD,eAAe;YACf,oCAAoC;YACpC,gDAAgD;YAChD,yEAAyE;YAEzE,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;gBAC7B,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAE5B,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBAC/B,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC5B,SAAS,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCACpC,8CAA8C;gCAC9C,IAAA,UAAK,EAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;gBAErD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBAClB,2DAA2D;oBAC3D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;iBAC3D;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEnC,IAAI,IAAI,YAAY,GAAG,EAAE;oBACvB,qBAAqB;iBACtB;aAEF;YAED,eAAe;YACf,oCAAoC;YACpC,gDAAgD;YAChD,yEAAyE;YAEzE,mCAAmC;YAEnC,gHAAgH;YAEhH,eAAe;YACf,oCAAoC;YACpC,8CAA8C;YAC9C,4CAA4C;YAC5C,2BAA2B;YAC3B,2BAA2B;YAC3B,0BAA0B;YAC1B,IAAI;SAGL;aACI,IAAI,GAAG,KAAK,IAAI,EAAE;YACrB,mCAAmC;YAEnC,4CAA4C;YAE5C,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SACxC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACjC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,GAAG;YACR,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;gBAC3C,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,IAAI;iBACD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpE,GAAG,CAAA;IACP,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,GAAG,GAAQ,EAAE,CAAA;QACjB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACtB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SAC9B;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAsgBD,wBAAM;AA3qBC,aAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AA0KlC,MAAM,OAAQ,SAAQ,GAAG;IAOvB,YAAY,GAAY,EAAE,GAAa;QACrC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QALjB,WAAM,GAAG;YACP,EAAE,EAAG,SAA6B;SACnC,CAAA;QAKC,IAAI,MAAM,GAAI,IAAI,CAAC,GAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAQ,IAAI,CAAC,GAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAExC,IAAI,MAAM,EAAE;YACV,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE;gBACpB,gCAAgC;gBAChC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACZ,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;aACxE;SACF;IACH,CAAC;IAED,wCAAwC;IACxC,wDAAwD;IACxD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAY,IAAI,CAAA;QACxB,IAAI,GAAG,GAAY,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAE7D,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;QAE9B,IAAI,IAAI,YAAY,OAAO,EAAE;YAC3B,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACvC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CACtE,CACF,CAAA;SACF;QAGD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,GAAG,CAAC,MAAM,CAAC,EAAE;gBACX,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;SACnB;QAED,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAA;QAEpC,8BAA8B;QAC9B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE;YACxB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBACV,IAAA,UAAK,EAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;YAEnD,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;SAC5C;QAED,IAAI,IAAI,YAAY,OAAO,EAAE;YAC3B,IAAI,KAAK,GAAa,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAa,CAAA;YAElD,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;gBAC7B,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAClC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAE5B,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBAC/B,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BAC5B,SAAS,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCACpC,IAAA,UAAK,EAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;gBAErD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBAClB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;iBAC3D;gBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;aAEpC;SACF;aACI,IAAI,GAAG,KAAK,IAAI,EAAE;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;SACxC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QACjC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,GAAG;YACR,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK;gBAC3C,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,IAAI;gBACF,wCAAwC;gBACxC,uEAAuE;iBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1C,GAAG,CAAA;IACP,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,4BAA4B;QAC5B,kCAAkC;QAClC,IAAI;QAEJ,OAAO,GAAG,CAAA;IACZ,CAAC;;AAyZD,0BAAO;AAjgBA,cAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AA8GlC,uCAAuC;AACvC,MAAM,WAAY,SAAQ,GAAG;IAC3B,YAAY,GAAU,EAAE,GAAa;QACnC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,2CAA2C;QAC3C,IAAI,KAAK,GAAU,EAAE,CAAA;QAErB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YAC3C,4CAA4C;YAC5C,KAAK,CAAC,EAAE,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAC1C,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;YACtC,4EAA4E;YAE5E,IAAI,KAAK,CAAC,EAAE,CAAC,YAAY,GAAG,EAAE;gBAC5B,OAAO,GAAG,CAAC,IAAI,CACb,GAAG,EACH,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,EACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EACZ,IAAI,CACL,CAAA;aACF;SACF;QAED,gDAAgD;QAGhD,wDAAwD;QACxD,uBAAuB;QAEvB,yDAAyD;QACzD,8CAA8C;QAC9C,IAAI,OAAO,GAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAEvD,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACxC,0DAA0D;YAE1D,IAAI,OAAO,CAAC,EAAE,CAAC,YAAY,WAAW,EAAE;gBACtC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;gBACzC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;gBAC5B,IAAI,GAAG,KAAK,CAAA;aACb;iBACI;gBACH,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7C,mCAAmC;oBACnC,IAAA,UAAK,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;gBACpC,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;gBAExC,gBAAgB;gBAChB,IAAI,OAAO,CAAC,EAAE,CAAC,YAAY,GAAG,EAAE;oBAC9B,OAAO,OAAO,CAAC,EAAE,CAAC,CAAA;oBAElB;;;;;;;sBAOE;iBACH;aACF;SACF;QAED,2DAA2D;QAE3D,IAAI,GAAQ,CAAA;QAEZ,cAAc;QAEd,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE;YACxB,qCAAqC;YAErC,6BAA6B;YAC7B,GAAG,GAAG,GAAG,CAAA;YACT,YAAY;SACb;QAED,iEAAiE;aAC5D,IAAI,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE;YAC7B,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAChB,YAAY;SACb;aACI;YACH,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACnC,YAAY;SACb;QAED,qCAAqC;QAErC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,0EAA0E;IAC1E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YAEvB,mDAAmD;YACnD,gCAAgC;YAChC,IAAI,CAAC,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAGxB,IAAI,GAAG,GAAG,SAAS,CAAA;YACnB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE;gBAC1C,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;aACjB;YACD,OAAO,GAAG,CAAA;SACX;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAoRC,kCAAW;AAhRb,uCAAuC;AACvC,MAAM,WAAY,SAAQ,GAAG;IAC3B,6EAA6E;IAC7E,YAAY,GAAU,EAAE,GAAa,EAAE,MAAe;QACpD,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,IAAI,IAAI,GAAU,EAAE,CAAA;QAEpB,8CAA8C;QAE9C,mDAAmD;QACnD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YAC3C,0CAA0C;YAC1C,IAAI,CAAC,EAAE,CAAC,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YACzC,2EAA2E;YAE3E,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;SACtC;QAED,+CAA+C;QAE/C,mCAAmC;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACvC,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,WAAW,EAAE;oBACnC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;iBACpC;aACF;YAED,8CAA8C;YAE9C,0BAA0B;YAC1B,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;YACtB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBACvC,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;oBAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;wBAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;qBAClB;iBACF;aACF;YAED,8CAA8C;YAE9C,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAA;SAC7C;QAED,IAAI,GAAQ,CAAA;QAEZ,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACpB,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;SACd;aACI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;SACtC;aACI;YACH,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;SACjC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC;IACD,GAAG,CAAC,GAAa;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YAEvB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,YAAY,OAAO,CAAC,CAAA;YAE5D,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;YAE1C,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBAC3C,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;aAC9B;YAED,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACpB;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAoLC,kCAAW;AAhLb,MAAM,MAAO,SAAQ,GAAG;IAKtB,YAAY,GAAU,EAAE,GAAa;QACnC,KAAK,CAAC,EAAE,CAAC,CAAA;QAHX,QAAG,GAAG,GAAG,CAAA;QAIP,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,GAAG,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QAEf,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;SAClB;IACH,CAAC;IAGD,MAAM,CAAC,IAAS;QACd,+BAA+B;QAE/B,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACtB;aAEI,IAAI,IAAI,YAAY,SAAS,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1B;aAEI,IAAI,IAAI,YAAY,MAAM,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;aACrB;SACF;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxE,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,QAAQ,GAAoB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnE,4CAA4C;QAC5C,QAAQ,GAAG,IAAI,IAAI,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAA;QAC3D,IAAI,GAAQ,CAAA;QAEZ,IAAI,QAAQ,YAAY,MAAM,EAAE;YAC9B,IAAI,GAAG,KAAK,IAAI,EAAE;gBAChB,GAAG,GAAG,IAAI,CAAA;aACX;iBACI,IAAI,IAAI,YAAY,GAAG,EAAE;gBAC5B,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aACzD;iBACI;gBACH,oCAAoC;gBACpC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;gBACrD,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;aACzC;SACF;aACI;YACH,GAAG,GAAG,IAAA,UAAK,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;SACjC;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEnD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAA;IACrD,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAGD,GAAG,CAAC,IAAc;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA+FC,wBAAM;AA5FR,MAAM,OAAQ,SAAQ,GAAG;IAEvB,YAAY,GAAQ,EAAE,IAAU,EAAE,GAAa;QAC7C,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,GAAG,CAAA;IACzB,CAAC;IAED,yCAAyC;IACzC,6DAA6D;IAC7D,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,GAAQ,CAAA;QAEZ,IAAI,IAAI,YAAY,OAAO,EAAE;YAC3B,GAAG,GAAG,IAAI,OAAO,CACf,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EACzC,IAAA,UAAK,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAC3C,GAAG,CACJ,CAAA;SAEF;aACI;YACH,GAAG,GAAG,IAAI,OAAO;YACf,iDAAiD;YACjD,IAAA,UAAK,EAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,EACzD,IAAA,UAAK,EAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAC1D,GAAG,CACJ,CAAA;SACF;QAED,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI;YAClC,CAAC,IAAI,IAAK,GAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAM,GAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAE9E,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,EAAE;YAC1B,GAAG,GAAI,GAAe,CAAC,IAAI,CAAA;SAC5B;aACI,IAAK,GAAe,CAAC,IAAI,YAAY,GAAG,EAAE;YAC7C,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;SACd;QAED,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,KAAK,CAAA;SACb;QAED,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC;YACnC,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAEtD,IAAI,QAAQ,GAAG,IAAI,YAAY,OAAO;YACpC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBACxB,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE5D,OAAO,OAAO,IAAI,QAAQ,CAAA;IAC5B,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC1E,CAAC;IAED,GAAG,CAAC,GAAa;QACf,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,SAAS,CAAA;QAEb,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrD,CAAC;CACF;AAoBC,0BAAO"}
1
+ {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":"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"}
package/lib/lang.ts CHANGED
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2021 Richard Rodger, MIT License */
1
+ /* Copyright (c) 2021-2022 Richard Rodger, MIT License */
2
2
 
3
3
  import {
4
4
  Jsonic,
@@ -6,6 +6,7 @@ import {
6
6
  Rule,
7
7
  RuleSpec,
8
8
  Context,
9
+ Debug,
9
10
  } from '@jsonic/jsonic-next'
10
11
 
11
12
  import {
@@ -26,36 +27,43 @@ import {
26
27
  } from '@jsonic/path'
27
28
 
28
29
 
30
+ import type {
31
+ Val,
32
+ Options,
33
+ } from './type'
29
34
 
30
35
  import {
31
- Options
32
- } from './common'
36
+ TOP
37
+ } from './type'
38
+
39
+ import { ConjunctVal } from './val/ConjunctVal'
40
+ import { DisjunctVal } from './val/DisjunctVal'
41
+ import { MapVal } from './val/MapVal'
42
+ import { ListVal } from './val/ListVal'
43
+ import { PrefVal } from './val/PrefVal'
44
+ import { RefVal } from './val/RefVal'
45
+ import { Nil } from './val/Nil'
46
+
33
47
 
34
48
  import {
35
- Val,
36
- Nil,
37
- TOP,
38
- MapVal,
39
- ListVal,
40
49
  ScalarTypeVal,
41
50
  Integer,
42
51
  StringVal,
43
52
  NumberVal,
44
53
  IntegerVal,
45
54
  BooleanVal,
46
- DisjunctVal,
47
- ConjunctVal,
48
- RefVal,
49
- PrefVal,
50
55
  } from './val'
51
56
 
52
57
 
58
+
59
+ // console.log('TOP', TOP)
60
+
53
61
  class Site {
54
62
  row: number = -1
55
63
  col: number = -1
56
64
  url: string = ''
57
65
 
58
- static NONE = new Site(TOP)
66
+ // static NONE = new Site(TOP)
59
67
 
60
68
  constructor(val: Val) {
61
69
  // TODO: logic to select most meaningful site if val has no site,
@@ -114,7 +122,18 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
114
122
  merge: (prev: any, curr: any) => {
115
123
  let pval = (prev as Val)
116
124
  let cval = (curr as Val)
117
- return addpath(new ConjunctVal([pval, cval]), prev.path)
125
+
126
+ if (pval?.isVal && cval?.isVal) {
127
+ return addpath(new ConjunctVal([pval, cval]), prev.path)
128
+ }
129
+
130
+ // Handle defered conjuncts, where MapVal does not yet
131
+ // exist, by creating ConjunctVal later.
132
+ else {
133
+ prev.___merge = (prev.___merge || [])
134
+ prev.___merge.push(curr)
135
+ return prev
136
+ }
118
137
  }
119
138
  }
120
139
  })
@@ -182,45 +201,43 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
182
201
 
183
202
  jsonic.rule('val', (rs: RuleSpec) => {
184
203
 
185
- // TODO: wrap utility needed for jsonic to do this?
186
- // let orig_bc: any = rs.def.bc
187
- // rs.def.bc = function(rule: Rule, ctx: Context) {
188
- // let out = orig_bc.call(this, rule, ctx)
204
+ rs
205
+ .open([{ s: [CJ, CL], p: 'map', b: 2, g: 'spread' }])
189
206
 
190
- rs.bc((r: Rule, ctx: Context) => {
207
+ .bc((r: Rule, ctx: Context) => {
191
208
 
192
- let valnode: Val = r.node
193
- let valtype = typeof valnode
209
+ let valnode: Val = r.node
210
+ let valtype = typeof valnode
194
211
 
195
- // console.log('VAL RULE', valtype, r.use, r.node)
212
+ // console.log('VAL RULE', valtype, r.use, r.node)
196
213
 
197
- if ('string' === valtype) {
198
- valnode = addpath(new StringVal(r.node), r.keep.path)
199
- }
200
- else if ('number' === valtype) {
201
- if (Number.isInteger(r.node)) {
202
- valnode = addpath(new IntegerVal(r.node), r.keep.path)
214
+ if ('string' === valtype) {
215
+ valnode = addpath(new StringVal(r.node), r.keep.path)
203
216
  }
204
- else {
205
- valnode = addpath(new NumberVal(r.node), r.keep.path)
217
+ else if ('number' === valtype) {
218
+ if (Number.isInteger(r.node)) {
219
+ valnode = addpath(new IntegerVal(r.node), r.keep.path)
220
+ }
221
+ else {
222
+ valnode = addpath(new NumberVal(r.node), r.keep.path)
223
+ }
224
+ }
225
+ else if ('boolean' === valtype) {
226
+ valnode = addpath(new BooleanVal(r.node), r.keep.path)
206
227
  }
207
- }
208
- else if ('boolean' === valtype) {
209
- valnode = addpath(new BooleanVal(r.node), r.keep.path)
210
- }
211
228
 
212
- let st = r.o0
213
- valnode.row = st.rI
214
- valnode.col = st.cI
229
+ let st = r.o0
230
+ valnode.row = st.rI
231
+ valnode.col = st.cI
215
232
 
216
- // JSONIC-UPDATE: still valid? check multisource
217
- valnode.url = ctx.meta.multisource && ctx.meta.multisource.path
233
+ // JSONIC-UPDATE: still valid? check multisource
234
+ valnode.url = ctx.meta.multisource && ctx.meta.multisource.path
218
235
 
219
- r.node = valnode
236
+ r.node = valnode
220
237
 
221
- // return out
222
- return undefined
223
- })
238
+ // return out
239
+ return undefined
240
+ })
224
241
 
225
242
  return rs
226
243
  })
@@ -231,15 +248,27 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
231
248
  // let orig_bc = rs.def.bc
232
249
  // rs.def.bc = function(rule: Rule, ctx: Context) {
233
250
  // let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
251
+ rs
252
+ .open([{ s: [CJ, CL], p: 'pair', b: 2, g: 'spread' }])
234
253
 
235
- rs.bc((r: Rule) => {
254
+ .bc((r: Rule) => {
236
255
 
237
- // console.log('MAP RULE', rule.use, rule.node)
238
- r.node = addpath(new MapVal(r.node), r.keep.path)
256
+ let mo = r.node
239
257
 
240
- // return out
241
- return undefined
242
- })
258
+ // Handle defered conjuncts, e.g. `{x:1 @"foo"}`
259
+ if (mo.___merge) {
260
+ let mop = { ...mo }
261
+ delete mop.___merge
262
+ let mopv = new MapVal(mop)
263
+ r.node = addpath(new ConjunctVal([mopv, ...mo.___merge]), r.keep.path)
264
+ }
265
+ else {
266
+ r.node = addpath(new MapVal(mo), r.keep.path)
267
+ }
268
+
269
+ // return out
270
+ return undefined
271
+ })
243
272
 
244
273
  return rs
245
274
  })
@@ -319,6 +348,7 @@ class Lang {
319
348
  constructor(options?: Partial<Options>) {
320
349
  this.options = Object.assign({}, this.options, options)
321
350
  this.jsonic = Jsonic.make()
351
+ // .use(Debug, { trace: true })
322
352
  .use(AontuJsonic)
323
353
  .use(MultiSource, {
324
354
  resolver: options?.resolver || includeFileResolver
@@ -1,39 +1,45 @@
1
1
  /* Copyright (c) 2021 Richard Rodger, MIT License */
2
2
 
3
3
 
4
+ import type { Val } from '../type'
5
+
4
6
  import { Site } from '../lang'
5
7
  import { Context } from '../unify'
6
- import { Val, DisjunctVal } from '../val'
8
+ import { DisjunctVal } from '../val/DisjunctVal'
7
9
  import { Operation } from './op'
8
10
 
9
11
 
12
+
13
+ import { ValBase } from '../val/ValBase'
14
+
15
+
10
16
  const disjunct: Operation = (ctx?: Context, a?: Val, b?: Val) => {
11
17
  let peers: Val[] = []
12
18
  let origsites: Site[] = []
13
- origsites.push(append(peers, a))
14
- origsites.push(append(peers, b))
19
+ // origsites.push(append(peers, a))
20
+ // origsites.push(append(peers, b))
15
21
  let out = new DisjunctVal(peers, ctx, origsites)
16
22
  return out
17
23
  }
18
24
 
19
25
 
26
+
20
27
  function append(peers: Val[], v?: Val) {
21
- let origsite: Site = Site.NONE
28
+ // let origsite: Site = Site.NONE
22
29
 
23
30
  if (v instanceof DisjunctVal) {
24
31
  peers.push(...v.peg)
25
- origsite = v.site
32
+ // origsite = v.site
26
33
  }
27
34
 
28
35
  // TODO: handle no-error Nil (drop) and error Nil (keep and become)
29
- else if (v instanceof Val) {
36
+ else if (v instanceof ValBase) {
30
37
  peers.push(v)
31
38
  }
32
39
 
33
- return origsite
40
+ // return origsite
34
41
  }
35
42
 
36
-
37
43
  export {
38
44
  disjunct
39
45
  }
package/lib/op/op.ts CHANGED
@@ -2,12 +2,13 @@
2
2
 
3
3
 
4
4
  import { Context } from '../unify'
5
- import { Val } from '../val'
5
+ import { Val } from '../type'
6
6
 
7
7
  import { disjunct } from './disjunct'
8
8
  import { unite } from './unite'
9
9
 
10
10
 
11
+
11
12
  type Operation = (ctx: Context, a?: Val, b?: Val, whence?: string) => Val
12
13
 
13
14
  export {
package/lib/op/unite.ts CHANGED
@@ -1,18 +1,20 @@
1
- /* Copyright (c) 2021 Richard Rodger, MIT License */
1
+ /* Copyright (c) 2021-2022 Richard Rodger, MIT License */
2
2
 
3
3
 
4
- // import { Site } from '../lang'
4
+ import type { Val } from '../type'
5
+
6
+ import { DONE, TOP } from '../type'
5
7
  import { Context } from '../unify'
6
- import {
7
- Val,
8
- ConjunctVal,
9
- DisjunctVal,
10
- RefVal,
11
- PrefVal,
12
- TOP,
13
- Nil,
14
- DONE
15
- } from '../val'
8
+
9
+ import { ConjunctVal } from '../val/ConjunctVal'
10
+ import { DisjunctVal } from '../val/DisjunctVal'
11
+ import { PrefVal } from '../val/PrefVal'
12
+ import { RefVal } from '../val/RefVal'
13
+ import { Nil } from '../val/Nil'
14
+
15
+
16
+
17
+
16
18
  import { Operation } from './op'
17
19
 
18
20
 
package/lib/type.ts ADDED
@@ -0,0 +1,108 @@
1
+ /* Copyright (c) 2022 Richard Rodger, MIT License */
2
+
3
+
4
+ // TODO: refactor these out
5
+
6
+ import { Resolver } from '@jsonic/multisource'
7
+
8
+ import { Context } from './unify'
9
+
10
+ import {
11
+ Site
12
+ } from './lang'
13
+
14
+
15
+
16
+ type Options = {
17
+ src: string, // Source text.
18
+ print: number, // Print debug verbosity
19
+ resolver?: Resolver, // Source resolver
20
+ base?: string, // Base path for resolver
21
+ }
22
+
23
+
24
+
25
+
26
+ interface Val {
27
+ isVal: boolean
28
+
29
+ id: number
30
+ done: number
31
+ path: string[]
32
+ row: number
33
+ col: number
34
+ url: string
35
+
36
+ top?: boolean
37
+
38
+ // Actual native value.
39
+ peg?: any
40
+
41
+ // TODO: used for top level result - not great
42
+ err?: any[]
43
+ deps?: any
44
+
45
+ same(peer: Val): boolean
46
+
47
+ get site(): Site
48
+
49
+ unify(peer: Val, ctx?: Context): Val
50
+ get canon(): string
51
+ gen(ctx?: Context): any
52
+ }
53
+
54
+
55
+ type ValMap = { [key: string]: Val }
56
+ type ValList = Val[]
57
+
58
+
59
+
60
+ const DONE = -1
61
+
62
+
63
+ // There can be only one.
64
+ const TOP: Val = {
65
+ isVal: true,
66
+
67
+ id: 0,
68
+ top: true,
69
+ peg: undefined,
70
+ done: DONE,
71
+ path: [],
72
+ row: -1,
73
+ col: -1,
74
+ url: '',
75
+
76
+ unify(peer: Val, _ctx: Context): Val {
77
+ return peer
78
+ },
79
+
80
+ get canon() { return 'top' },
81
+
82
+ get site() { return new Site(this) },
83
+
84
+ same(peer: Val): boolean {
85
+ return TOP === peer
86
+ },
87
+
88
+ gen: (_ctx?: Context) => {
89
+ return undefined
90
+ },
91
+
92
+ }
93
+
94
+
95
+
96
+ export type {
97
+ Val,
98
+ ValMap,
99
+ ValList,
100
+ Options,
101
+ }
102
+
103
+ export {
104
+ DONE,
105
+ TOP,
106
+ Resolver,
107
+ }
108
+
package/lib/unify.ts CHANGED
@@ -1,15 +1,10 @@
1
1
  /* Copyright (c) 2021 Richard Rodger, MIT License */
2
2
 
3
3
 
4
+ import type { Val } from './type'
5
+
6
+ import { DONE, TOP } from './type'
4
7
 
5
- import {
6
- DONE,
7
- TOP,
8
- Val,
9
- RefVal,
10
- MapVal,
11
- Nil,
12
- } from './val'
13
8
 
14
9
  import {
15
10
  Lang
@@ -20,6 +15,12 @@ import {
20
15
  } from './op/op'
21
16
 
22
17
 
18
+
19
+ import { MapVal } from '../lib/val/MapVal'
20
+ import { RefVal } from '../lib/val/RefVal'
21
+ import { Nil } from '../lib/val/Nil'
22
+
23
+
23
24
  type Path = string[]
24
25
 
25
26
 
@@ -116,6 +117,7 @@ class Unify {
116
117
  let maxdc = 999
117
118
  for (this.dc = 0; this.dc < maxdc && DONE !== res.done; this.dc++) {
118
119
  res = unite(ctx, res, TOP)
120
+ // console.log('U', this.dc, res.canon)
119
121
  ctx = ctx.clone({ root: res })
120
122
  }
121
123