@dashkite/joy 0.3.16 → 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.
@@ -1,84 +1,124 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.sub = exports.square = exports.pow = exports.odd = exports.mul = exports.mod = exports.min = exports.max = exports.lte = exports.lt = exports.isModulo = exports.gte = exports.gt = exports.even = exports.div = exports.cube = exports.add = exports.abs = void 0;
7
-
8
- var _function = require("./function.js");
9
-
10
- var _predicate = require("./predicate.js");
11
-
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ abs: function() {
13
+ return abs;
14
+ },
15
+ add: function() {
16
+ return add;
17
+ },
18
+ cube: function() {
19
+ return cube;
20
+ },
21
+ div: function() {
22
+ return div;
23
+ },
24
+ even: function() {
25
+ return even;
26
+ },
27
+ gt: function() {
28
+ return gt;
29
+ },
30
+ gte: function() {
31
+ return gte;
32
+ },
33
+ isModulo: function() {
34
+ return isModulo;
35
+ },
36
+ lt: function() {
37
+ return lt;
38
+ },
39
+ lte: function() {
40
+ return lte;
41
+ },
42
+ max: function() {
43
+ return max;
44
+ },
45
+ min: function() {
46
+ return min;
47
+ },
48
+ mod: function() {
49
+ return mod;
50
+ },
51
+ mul: function() {
52
+ return mul;
53
+ },
54
+ odd: function() {
55
+ return odd;
56
+ },
57
+ pow: function() {
58
+ return pow;
59
+ },
60
+ square: function() {
61
+ return square;
62
+ },
63
+ sub: function() {
64
+ return sub;
65
+ }
66
+ });
67
+ const _function = require("./function");
68
+ const _predicate = require("./predicate");
12
69
  var abs, add, cube, div, even, gt, gte, isModulo, lt, lte, max, min, mod, mul, odd, pow, square, sub;
13
- exports.sub = sub;
14
- exports.square = square;
15
- exports.pow = pow;
16
- exports.odd = odd;
17
- exports.mul = mul;
18
- exports.mod = mod;
19
- exports.min = min;
20
- exports.max = max;
21
- exports.lte = lte;
22
- exports.lt = lt;
23
- exports.isModulo = isModulo;
24
- exports.gte = gte;
25
- exports.gt = gt;
26
- exports.even = even;
27
- exports.div = div;
28
- exports.cube = cube;
29
- exports.add = add;
30
- exports.abs = abs;
31
70
  // `eq` and `neq` were here, but I moved them to the value module.
32
- // TODO: How do we deal with naming overlap?
33
- exports.gte = gte = (0, _function.curry)(function (x, y) {
34
- return y >= x;
71
+ gte = (0, _function.curry)(function(x, y) {
72
+ return y >= x;
35
73
  });
36
- exports.lte = lte = (0, _function.curry)(function (x, y) {
37
- return y <= x;
74
+ lte = (0, _function.curry)(function(x, y) {
75
+ return y <= x;
38
76
  });
39
- exports.gt = gt = (0, _function.curry)(function (x, y) {
40
- return y > x;
77
+ gt = (0, _function.curry)(function(x, y) {
78
+ return y > x;
41
79
  });
42
- exports.lt = lt = (0, _function.curry)(function (x, y) {
43
- return y < x;
80
+ lt = (0, _function.curry)(function(x, y) {
81
+ return y < x;
44
82
  });
45
- exports.add = add = (0, _function.curry)(function (x, y) {
46
- return x + y;
83
+ add = (0, _function.curry)(function(x, y) {
84
+ return x + y;
47
85
  });
48
- exports.sub = sub = (0, _function.curry)(function (x, y) {
49
- return y - x;
86
+ sub = (0, _function.curry)(function(x, y) {
87
+ return y - x;
50
88
  });
51
- exports.mul = mul = (0, _function.curry)(function (x, y) {
52
- return x * y;
89
+ mul = (0, _function.curry)(function(x, y) {
90
+ return x * y;
53
91
  });
54
- exports.div = div = (0, _function.curry)(function (x, y) {
55
- return y / x;
92
+ div = (0, _function.curry)(function(x, y) {
93
+ return y / x;
56
94
  });
57
- exports.mod = mod = (0, _function.curry)(function (x, y) {
58
- return y % x;
95
+ mod = (0, _function.curry)(function(x, y) {
96
+ return y % x;
59
97
  });
60
- exports.isModulo = isModulo = (0, _function.curry)(function (x, y) {
61
- return y % x === 0;
98
+ isModulo = (0, _function.curry)(function(x, y) {
99
+ return y % x === 0;
62
100
  });
63
- exports.even = even = isModulo(2);
64
- exports.odd = odd = (0, _predicate.negate)(even);
65
-
66
- exports.min = min = function (ax) {
67
- return (0, _function.apply)(Math.min, ax);
101
+ even = isModulo(2);
102
+ odd = (0, _predicate.negate)(even);
103
+ min = function(ax) {
104
+ return (0, _function.apply)(Math.min, ax);
68
105
  };
69
-
70
- exports.max = max = function (ax) {
71
- return (0, _function.apply)(Math.max, ax);
106
+ max = function(ax) {
107
+ return (0, _function.apply)(Math.max, ax);
72
108
  };
73
-
74
- ({
75
- abs
76
- } = Math);
77
- exports.abs = abs;
78
- exports.pow = pow = (0, _function.curry)(function (x, y) {
79
- return x ** y;
109
+ ({ abs } = Math);
110
+ pow = (0, _function.curry)(function(x, y) {
111
+ return x ** y;
80
112
  });
81
- exports.square = square = (0, _function.partial)(pow, [_function._, 2]);
82
- exports.cube = cube = (0, _function.partial)(pow, [_function._, 3]);
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9tYXRoLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxJQUFBLEVBQUEsR0FBQSxFQUFBLElBQUEsRUFBQSxFQUFBLEVBQUEsR0FBQSxFQUFBLFFBQUEsRUFBQSxFQUFBLEVBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsR0FBQSxFQUFBLE1BQUEsRUFBQSxHQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLElBQUssQztBQUFyQixDQUFBLENBQU47QUFDQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLElBQUssQztBQUFyQixDQUFBLENBQU47QUFDQSxhQUFBLEVBQUEsR0FBSyxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQUw7QUFDQSxhQUFBLEVBQUEsR0FBSyxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQUw7QUFFQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQU47QUFDQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQU47QUFDQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQU47QUFDQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQU47QUFDQSxjQUFBLEdBQUEsR0FBTSxxQkFBTSxVQUFBLENBQUEsRUFBQSxDQUFBLEVBQUE7U0FBVSxDQUFBLEdBQUksQztBQUFwQixDQUFBLENBQU47QUFFQSxtQkFBQSxRQUFBLEdBQVcscUJBQU0sVUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBO1NBQVUsQ0FBQSxHQUFBLENBQUEsS0FBUyxDO0FBQXpCLENBQUEsQ0FBWDtBQUNBLGVBQUEsSUFBQSxHQUFPLFFBQUEsQ0FBQSxDQUFBLENBQVA7QUFDQSxjQUFBLEdBQUEsR0FBTSx1QkFBQSxJQUFBLENBQU47O0FBRUEsY0FBQSxHQUFBLEdBQU0sVUFBQSxFQUFBLEVBQUE7U0FBUSxxQkFBTSxJQUFJLENBQVYsR0FBQSxFQUFBLEVBQUEsQztBQUFSLENBQU47O0FBQ0EsY0FBQSxHQUFBLEdBQU0sVUFBQSxFQUFBLEVBQUE7U0FBUSxxQkFBTSxJQUFJLENBQVYsR0FBQSxFQUFBLEVBQUEsQztBQUFSLENBQU47O0FBRUEsQ0FBQTtBQUFBLEVBQUE7QUFBQSxJQUFBLElBQUE7O0FBRUEsY0FBQSxHQUFBLEdBQU0scUJBQU0sVUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBO1NBQVUsQ0FBQSxJQUFLLEM7QUFBckIsQ0FBQSxDQUFOO0FBRUEsaUJBQUEsTUFBQSxHQUFTLHVCQUFBLEdBQUEsRUFBYSxDQUFBLFdBQUEsRUFBYixDQUFhLENBQWIsQ0FBVDtBQUNBLGVBQUEsSUFBQSxHQUFPLHVCQUFBLEdBQUEsRUFBYSxDQUFBLFdBQUEsRUFBYixDQUFhLENBQWIsQ0FBUCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XywgY3VycnksIHBhcnRpYWwsIGFwcGx5fSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQge25lZ2F0ZX0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxuIyBgZXFgIGFuZCBgbmVxYCB3ZXJlIGhlcmUsIGJ1dCBJIG1vdmVkIHRoZW0gdG8gdGhlIHZhbHVlIG1vZHVsZS4gXG4jIFRPRE86IEhvdyBkbyB3ZSBkZWFsIHdpdGggbmFtaW5nIG92ZXJsYXA/IFxuXG5ndGUgPSBjdXJyeSAoeCwgeSkgLT4geSA+PSB4XG5sdGUgPSBjdXJyeSAoeCwgeSkgLT4geSA8PSB4XG5ndCA9IGN1cnJ5ICh4LCB5KSAtPiB5ID4geFxubHQgPSBjdXJyeSAoeCwgeSkgLT4geSA8IHhcblxuYWRkID0gY3VycnkgKHgsIHkpIC0+IHggKyB5XG5zdWIgPSBjdXJyeSAoeCwgeSkgLT4geSAtIHhcbm11bCA9IGN1cnJ5ICh4LCB5KSAtPiB4ICogeVxuZGl2ID0gY3VycnkgKHgsIHkpIC0+IHkgLyB4XG5tb2QgPSBjdXJyeSAoeCwgeSkgLT4geSAlIHhcblxuaXNNb2R1bG8gPSBjdXJyeSAoeCwgeSkgLT4geSAlIHggPT0gMFxuZXZlbiA9IGlzTW9kdWxvIDJcbm9kZCA9IG5lZ2F0ZSBldmVuXG5cbm1pbiA9IChheCkgLT4gYXBwbHkgTWF0aC5taW4sIGF4XG5tYXggPSAoYXgpIC0+IGFwcGx5IE1hdGgubWF4LCBheFxuXG57YWJzfSA9IE1hdGhcblxucG93ID0gY3VycnkgKHgsIHkpIC0+IHggKiogeVxuXG5zcXVhcmUgPSBwYXJ0aWFsIHBvdywgWyBfLCAyIF1cbmN1YmUgPSBwYXJ0aWFsIHBvdywgWyBfLCAzIF1cblxuZXhwb3J0IHtndCwgbHQsIGd0ZSwgbHRlLCBhZGQsIHN1YiwgbXVsLCBkaXYsIG1vZCxcbiAgaXNNb2R1bG8sIGV2ZW4sIG9kZCwgbWluLCBtYXgsIGFicywgcG93LCBzcXVhcmUsIGN1YmV9XG4iXSwic291cmNlUm9vdCI6IiJ9
84
- //# sourceURL=src/math.coffee
113
+ square = (0, _function.partial)(pow, [
114
+ _function._,
115
+ 2
116
+ ]);
117
+ cube = (0, _function.partial)(pow, [
118
+ _function._,
119
+ 3
120
+ ]);
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL21hdGguY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxJQUFBLEVBQUEsR0FBQSxFQUFBLElBQUEsRUFBQSxFQUFBLEVBQUEsR0FBQSxFQUFBLFFBQUEsRUFBQSxFQUFBLEVBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsR0FBQSxFQUFBLEdBQUEsRUFBQSxHQUFBLEVBQUEsR0FBQSxFQUFBLE1BQUEsRUFBQTs7QUFBQSxPQUFBO0VBQVEsQ0FBUjtFQUFXLEtBQVg7RUFBa0IsT0FBbEI7RUFBMkIsS0FBM0I7Q0FBQSxNQUFBOztBQUNBLE9BQUE7RUFBUSxNQUFSO0NBQUEsTUFBQSxjQURBOzs7QUFLQSxHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxJQUFLO0FBQWYsQ0FBTjs7QUFDTixHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxJQUFLO0FBQWYsQ0FBTjs7QUFDTixFQUFBLEdBQUssS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFDTCxFQUFBLEdBQUssS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFFTCxHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFDTixHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFDTixHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFDTixHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFDTixHQUFBLEdBQU0sS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJO0FBQWQsQ0FBTjs7QUFFTixRQUFBLEdBQVcsS0FBQSxDQUFNLFFBQUEsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFBO1NBQVUsQ0FBQSxHQUFJLENBQUosS0FBUztBQUFuQixDQUFOOztBQUNYLElBQUEsR0FBTyxRQUFBLENBQVMsQ0FBVDs7QUFDUCxHQUFBLEdBQU0sTUFBQSxDQUFPLElBQVA7O0FBRU4sR0FBQSxHQUFNLFFBQUEsQ0FBQyxFQUFELENBQUE7U0FBUSxLQUFBLENBQU0sSUFBSSxDQUFDLEdBQVgsRUFBZ0IsRUFBaEI7QUFBUjs7QUFDTixHQUFBLEdBQU0sUUFBQSxDQUFDLEVBQUQsQ0FBQTtTQUFRLEtBQUEsQ0FBTSxJQUFJLENBQUMsR0FBWCxFQUFnQixFQUFoQjtBQUFSOztBQUVOLENBQUEsQ0FBQyxHQUFELENBQUEsR0FBUSxJQUFSOztBQUVBLEdBQUEsR0FBTSxLQUFBLENBQU0sUUFBQSxDQUFDLENBQUQsRUFBSSxDQUFKLENBQUE7U0FBVSxDQUFBLElBQUs7QUFBZixDQUFOOztBQUVOLE1BQUEsR0FBUyxPQUFBLENBQVEsR0FBUixFQUFhLENBQUUsQ0FBRixFQUFLLENBQUwsQ0FBYjs7QUFDVCxJQUFBLEdBQU8sT0FBQSxDQUFRLEdBQVIsRUFBYSxDQUFFLENBQUYsRUFBSyxDQUFMLENBQWI7O0FBRVAsT0FBQTtFQUFRLEVBQVI7RUFBWSxFQUFaO0VBQWdCLEdBQWhCO0VBQXFCLEdBQXJCO0VBQTBCLEdBQTFCO0VBQStCLEdBQS9CO0VBQW9DLEdBQXBDO0VBQXlDLEdBQXpDO0VBQThDLEdBQTlDO0VBQ0UsUUFERjtFQUNZLElBRFo7RUFDa0IsR0FEbEI7RUFDdUIsR0FEdkI7RUFDNEIsR0FENUI7RUFDaUMsR0FEakM7RUFDc0MsR0FEdEM7RUFDMkMsTUFEM0M7RUFDbUQsSUFEbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge18sIGN1cnJ5LCBwYXJ0aWFsLCBhcHBseX0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHtuZWdhdGV9IGZyb20gXCIuL3ByZWRpY2F0ZVwiXG5cbiMgYGVxYCBhbmQgYG5lcWAgd2VyZSBoZXJlLCBidXQgSSBtb3ZlZCB0aGVtIHRvIHRoZSB2YWx1ZSBtb2R1bGUuIFxuXG5ndGUgPSBjdXJyeSAoeCwgeSkgLT4geSA+PSB4XG5sdGUgPSBjdXJyeSAoeCwgeSkgLT4geSA8PSB4XG5ndCA9IGN1cnJ5ICh4LCB5KSAtPiB5ID4geFxubHQgPSBjdXJyeSAoeCwgeSkgLT4geSA8IHhcblxuYWRkID0gY3VycnkgKHgsIHkpIC0+IHggKyB5XG5zdWIgPSBjdXJyeSAoeCwgeSkgLT4geSAtIHhcbm11bCA9IGN1cnJ5ICh4LCB5KSAtPiB4ICogeVxuZGl2ID0gY3VycnkgKHgsIHkpIC0+IHkgLyB4XG5tb2QgPSBjdXJyeSAoeCwgeSkgLT4geSAlIHhcblxuaXNNb2R1bG8gPSBjdXJyeSAoeCwgeSkgLT4geSAlIHggPT0gMFxuZXZlbiA9IGlzTW9kdWxvIDJcbm9kZCA9IG5lZ2F0ZSBldmVuXG5cbm1pbiA9IChheCkgLT4gYXBwbHkgTWF0aC5taW4sIGF4XG5tYXggPSAoYXgpIC0+IGFwcGx5IE1hdGgubWF4LCBheFxuXG57YWJzfSA9IE1hdGhcblxucG93ID0gY3VycnkgKHgsIHkpIC0+IHggKiogeVxuXG5zcXVhcmUgPSBwYXJ0aWFsIHBvdywgWyBfLCAyIF1cbmN1YmUgPSBwYXJ0aWFsIHBvdywgWyBfLCAzIF1cblxuZXhwb3J0IHtndCwgbHQsIGd0ZSwgbHRlLCBhZGQsIHN1YiwgbXVsLCBkaXYsIG1vZCxcbiAgaXNNb2R1bG8sIGV2ZW4sIG9kZCwgbWluLCBtYXgsIGFicywgcG93LCBzcXVhcmUsIGN1YmV9XG4iXX0=
122
+ //# sourceURL=/@dashkite/joy/src/math.coffee
123
+
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvbWF0aC5jb2ZmZWUiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XywgY3VycnksIHBhcnRpYWwsIGFwcGx5fSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQge25lZ2F0ZX0gZnJvbSBcIi4vcHJlZGljYXRlXCJcblxuIyBgZXFgIGFuZCBgbmVxYCB3ZXJlIGhlcmUsIGJ1dCBJIG1vdmVkIHRoZW0gdG8gdGhlIHZhbHVlIG1vZHVsZS4gXG5cbmd0ZSA9IGN1cnJ5ICh4LCB5KSAtPiB5ID49IHhcbmx0ZSA9IGN1cnJ5ICh4LCB5KSAtPiB5IDw9IHhcbmd0ID0gY3VycnkgKHgsIHkpIC0+IHkgPiB4XG5sdCA9IGN1cnJ5ICh4LCB5KSAtPiB5IDwgeFxuXG5hZGQgPSBjdXJyeSAoeCwgeSkgLT4geCArIHlcbnN1YiA9IGN1cnJ5ICh4LCB5KSAtPiB5IC0geFxubXVsID0gY3VycnkgKHgsIHkpIC0+IHggKiB5XG5kaXYgPSBjdXJyeSAoeCwgeSkgLT4geSAvIHhcbm1vZCA9IGN1cnJ5ICh4LCB5KSAtPiB5ICUgeFxuXG5pc01vZHVsbyA9IGN1cnJ5ICh4LCB5KSAtPiB5ICUgeCA9PSAwXG5ldmVuID0gaXNNb2R1bG8gMlxub2RkID0gbmVnYXRlIGV2ZW5cblxubWluID0gKGF4KSAtPiBhcHBseSBNYXRoLm1pbiwgYXhcbm1heCA9IChheCkgLT4gYXBwbHkgTWF0aC5tYXgsIGF4XG5cbnthYnN9ID0gTWF0aFxuXG5wb3cgPSBjdXJyeSAoeCwgeSkgLT4geCAqKiB5XG5cbnNxdWFyZSA9IHBhcnRpYWwgcG93LCBbIF8sIDIgXVxuY3ViZSA9IHBhcnRpYWwgcG93LCBbIF8sIDMgXVxuXG5leHBvcnQge2d0LCBsdCwgZ3RlLCBsdGUsIGFkZCwgc3ViLCBtdWwsIGRpdiwgbW9kLFxuICBpc01vZHVsbywgZXZlbiwgb2RkLCBtaW4sIG1heCwgYWJzLCBwb3csIHNxdWFyZSwgY3Vi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
@@ -1,100 +1,156 @@
1
1
  "use strict";
2
-
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.setters = exports.setter = exports.property = exports.properties = exports.mixin = exports.methods = exports.method = exports.getters = exports.getter = void 0;
7
-
8
- var _function = require("./function.js");
9
-
10
- var _object = require("./object.js");
11
-
12
- var getter, getters, method, methods, mixin, properties, property, setter, setters;
13
- exports.setters = setters;
14
- exports.setter = setter;
15
- exports.property = property;
16
- exports.properties = properties;
17
- exports.mixin = mixin;
18
- exports.methods = methods;
19
- exports.method = method;
20
- exports.getters = getters;
21
- exports.getter = getter;
22
- exports.property = property = (0, _function.curry)(function (key, description, target) {
23
- return Object.defineProperty(target, key, (0, _object.merge)({
24
- enumerable: true,
25
- configurable: true
26
- }, description));
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getter: function() {
13
+ return getter;
14
+ },
15
+ getters: function() {
16
+ return getters;
17
+ },
18
+ metaclass: function() {
19
+ return metaclass;
20
+ },
21
+ method: function() {
22
+ return method;
23
+ },
24
+ methods: function() {
25
+ return methods;
26
+ },
27
+ mixin: function() {
28
+ return mixin;
29
+ },
30
+ properties: function() {
31
+ return properties;
32
+ },
33
+ property: function() {
34
+ return property;
35
+ },
36
+ setter: function() {
37
+ return setter;
38
+ },
39
+ setters: function() {
40
+ return setters;
41
+ }
27
42
  });
28
- exports.getter = getter = (0, _function.curry)(function (key, f, target) {
29
- return property(key, {
30
- get: f
31
- }, target);
43
+ const _function = require("./function");
44
+ const _object = require("./object");
45
+ var getter, getters, metaclass, method, methods, mixin, properties, property, setter, setters;
46
+ property = (0, _function.curry)(function(key, description, target) {
47
+ return Object.defineProperty(target, key, (0, _object.merge)({
48
+ enumerable: true,
49
+ configurable: true
50
+ }, description));
32
51
  });
33
- exports.setter = setter = (0, _function.curry)(function (key, f, target) {
34
- return property(key, {
35
- set: f
36
- }, target);
52
+ getter = (0, _function.curry)(function(key, f, target) {
53
+ return property(key, {
54
+ get: f
55
+ }, target);
37
56
  });
38
- exports.method = method = (0, _function.curry)(function (key, f, target) {
39
- return property(key, {
40
- value: f,
41
- configurable: true,
42
- writeable: true
43
- }, target);
57
+ setter = (0, _function.curry)(function(key, f, target) {
58
+ return property(key, {
59
+ set: f
60
+ }, target);
44
61
  });
45
- exports.properties = properties = (0, _function.curry)(function (dictionary, target) {
46
- var description, key, results;
47
- results = [];
48
-
49
- for (key in dictionary) {
50
- description = dictionary[key];
51
- results.push(property(key, description, target));
52
- }
53
-
54
- return results;
62
+ method = (0, _function.curry)(function(key, f, target) {
63
+ return property(key, {
64
+ value: f,
65
+ configurable: true,
66
+ writeable: true
67
+ }, target);
55
68
  });
56
- exports.getters = getters = (0, _function.curry)(function (dictionary, target) {
57
- var f, key, results;
58
- results = [];
59
-
60
- for (key in dictionary) {
61
- f = dictionary[key];
62
- results.push(getter(key, f, target));
63
- }
64
-
65
- return results;
69
+ properties = (0, _function.curry)(function(dictionary, target) {
70
+ var description, key, results;
71
+ results = [];
72
+ for(key in dictionary){
73
+ description = dictionary[key];
74
+ results.push(property(key, description, target));
75
+ }
76
+ return results;
66
77
  });
67
- exports.setters = setters = (0, _function.curry)(function (dictionary, target) {
68
- var f, key, results;
69
- results = [];
70
-
71
- for (key in dictionary) {
72
- f = dictionary[key];
73
- results.push(setter(key, f, target));
74
- }
75
-
76
- return results;
78
+ getters = (0, _function.curry)(function(dictionary, target) {
79
+ var f, key, results;
80
+ results = [];
81
+ for(key in dictionary){
82
+ f = dictionary[key];
83
+ results.push(getter(key, f, target));
84
+ }
85
+ return results;
77
86
  });
78
- exports.methods = methods = (0, _function.curry)(function (dictionary, target) {
79
- var f, key, results;
80
- results = [];
81
-
82
- for (key in dictionary) {
83
- f = dictionary[key];
84
- results.push(method(key, f, target));
85
- }
86
-
87
- return results;
87
+ setters = (0, _function.curry)(function(dictionary, target) {
88
+ var f, key, results;
89
+ results = [];
90
+ for(key in dictionary){
91
+ f = dictionary[key];
92
+ results.push(setter(key, f, target));
93
+ }
94
+ return results;
88
95
  });
89
- exports.mixin = mixin = (0, _function.curry)(function (target, fx) {
90
- var f, i, len;
91
-
92
- for (i = 0, len = fx.length; i < len; i++) {
93
- f = fx[i];
94
- f(target);
95
- }
96
-
97
- return target;
96
+ methods = (0, _function.curry)(function(dictionary, target) {
97
+ var f, key, results;
98
+ results = [];
99
+ for(key in dictionary){
100
+ f = dictionary[key];
101
+ results.push(method(key, f, target));
102
+ }
103
+ return results;
98
104
  });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9tZXRhY2xhc3MuY29mZmVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQSxNQUFBLEVBQUEsT0FBQSxFQUFBLE1BQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLFVBQUEsRUFBQSxRQUFBLEVBQUEsTUFBQSxFQUFBLE9BQUE7Ozs7Ozs7Ozs7QUFHQSxtQkFBQSxRQUFBLEdBQVcscUJBQU0sVUFBQSxHQUFBLEVBQUEsV0FBQSxFQUFBLE1BQUEsRUFBQTtTQUNmLE1BQU0sQ0FBTixjQUFBLENBQUEsTUFBQSxFQUFBLEdBQUEsRUFDRSxtQkFBTTtBQUFFLElBQUEsVUFBQSxFQUFGLElBQUE7QUFBb0IsSUFBQSxZQUFBLEVBQWM7QUFBbEMsR0FBTixFQURGLFdBQ0UsQ0FERixDO0FBRFMsQ0FBQSxDQUFYO0FBSUEsaUJBQUEsTUFBQSxHQUFTLHFCQUFNLFVBQUEsR0FBQSxFQUFBLENBQUEsRUFBQSxNQUFBLEVBQUE7U0FBb0IsUUFBQSxDQUFBLEdBQUEsRUFBYztBQUFDLElBQUEsR0FBQSxFQUFLO0FBQU4sR0FBZCxFQUFBLE1BQUEsQztBQUExQixDQUFBLENBQVQ7QUFDQSxpQkFBQSxNQUFBLEdBQVMscUJBQU0sVUFBQSxHQUFBLEVBQUEsQ0FBQSxFQUFBLE1BQUEsRUFBQTtTQUFvQixRQUFBLENBQUEsR0FBQSxFQUFjO0FBQUMsSUFBQSxHQUFBLEVBQUs7QUFBTixHQUFkLEVBQUEsTUFBQSxDO0FBQTFCLENBQUEsQ0FBVDtBQUNBLGlCQUFBLE1BQUEsR0FBUyxxQkFBTSxVQUFBLEdBQUEsRUFBQSxDQUFBLEVBQUEsTUFBQSxFQUFBO1NBQ2IsUUFBQSxDQUFBLEdBQUEsRUFBYztBQUFDLElBQUEsS0FBQSxFQUFELENBQUE7QUFBVyxJQUFBLFlBQUEsRUFBWCxJQUFBO0FBQStCLElBQUEsU0FBQSxFQUFXO0FBQTFDLEdBQWQsRUFBQSxNQUFBLEM7QUFETyxDQUFBLENBQVQ7QUFHQSxxQkFBQSxVQUFBLEdBQWEscUJBQU0sVUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBO0FBQ25CLE1BQUEsV0FBQSxFQUFBLEdBQUEsRUFBQSxPQUFBO0FBQUUsRUFBQSxPQUFBLEdBQUEsRUFBQTs7QUFBQSxPQUFBLEdBQUEsSUFBQSxVQUFBLEVBQUE7O2lCQUNFLFFBQUEsQ0FBQSxHQUFBLEVBQUEsV0FBQSxFQUFBLE1BQUEsQztBQURGOzs7QUFEVyxDQUFBLENBQWI7QUFJQSxrQkFBQSxPQUFBLEdBQVUscUJBQU0sVUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBO0FBQ2hCLE1BQUEsQ0FBQSxFQUFBLEdBQUEsRUFBQSxPQUFBO0FBQUUsRUFBQSxPQUFBLEdBQUEsRUFBQTs7QUFBQSxPQUFBLEdBQUEsSUFBQSxVQUFBLEVBQUE7O2lCQUNFLE1BQUEsQ0FBQSxHQUFBLEVBQUEsQ0FBQSxFQUFBLE1BQUEsQztBQURGOzs7QUFEUSxDQUFBLENBQVY7QUFJQSxrQkFBQSxPQUFBLEdBQVUscUJBQU0sVUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBO0FBQ2hCLE1BQUEsQ0FBQSxFQUFBLEdBQUEsRUFBQSxPQUFBO0FBQUUsRUFBQSxPQUFBLEdBQUEsRUFBQTs7QUFBQSxPQUFBLEdBQUEsSUFBQSxVQUFBLEVBQUE7O2lCQUNFLE1BQUEsQ0FBQSxHQUFBLEVBQUEsQ0FBQSxFQUFBLE1BQUEsQztBQURGOzs7QUFEUSxDQUFBLENBQVY7QUFJQSxrQkFBQSxPQUFBLEdBQVUscUJBQU0sVUFBQSxVQUFBLEVBQUEsTUFBQSxFQUFBO0FBQ2hCLE1BQUEsQ0FBQSxFQUFBLEdBQUEsRUFBQSxPQUFBO0FBQUUsRUFBQSxPQUFBLEdBQUEsRUFBQTs7QUFBQSxPQUFBLEdBQUEsSUFBQSxVQUFBLEVBQUE7O2lCQUNFLE1BQUEsQ0FBQSxHQUFBLEVBQUEsQ0FBQSxFQUFBLE1BQUEsQztBQURGOzs7QUFEUSxDQUFBLENBQVY7QUFJQSxnQkFBQSxLQUFBLEdBQVEscUJBQU0sVUFBQSxNQUFBLEVBQUEsRUFBQSxFQUFBO0FBQWUsTUFBQSxDQUFBLEVBQUEsQ0FBQSxFQUFBLEdBQUE7O0FBQUMsT0FBQSxDQUFBLEdBQUEsQ0FBQSxFQUFBLEdBQUEsR0FBQSxFQUFBLENBQUEsTUFBQSxFQUFBLENBQUEsR0FBQSxHQUFBLEVBQUEsQ0FBQSxFQUFBLEVBQUE7O0FBQUEsSUFBQSxDQUFBLENBQUEsTUFBQSxDQUFBO0FBQUE7O1NBQXVCLE07QUFBN0MsQ0FBQSxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjdXJyeX0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHttZXJnZX0gZnJvbSBcIi4vb2JqZWN0XCJcblxucHJvcGVydHkgPSBjdXJyeSAoa2V5LCBkZXNjcmlwdGlvbiwgdGFyZ2V0KSAtPlxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGFyZ2V0LCBrZXksXG4gICAgbWVyZ2UgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSwgZGVzY3JpcHRpb25cblxuZ2V0dGVyID0gY3VycnkgKGtleSwgZiwgdGFyZ2V0KSAtPiBwcm9wZXJ0eSBrZXksIHtnZXQ6IGZ9LCB0YXJnZXRcbnNldHRlciA9IGN1cnJ5IChrZXksIGYsIHRhcmdldCkgLT4gcHJvcGVydHkga2V5LCB7c2V0OiBmfSwgdGFyZ2V0XG5tZXRob2QgPSBjdXJyeSAoa2V5LCBmLCB0YXJnZXQpIC0+XG4gIHByb3BlcnR5IGtleSwge3ZhbHVlOiBmLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRlYWJsZTogdHJ1ZX0sIHRhcmdldFxuXG5wcm9wZXJ0aWVzID0gY3VycnkgKGRpY3Rpb25hcnksIHRhcmdldCkgLT5cbiAgZm9yIGtleSwgZGVzY3JpcHRpb24gb2YgZGljdGlvbmFyeVxuICAgIHByb3BlcnR5IGtleSwgZGVzY3JpcHRpb24sIHRhcmdldFxuXG5nZXR0ZXJzID0gY3VycnkgKGRpY3Rpb25hcnksIHRhcmdldCkgLT5cbiAgZm9yIGtleSwgZiBvZiBkaWN0aW9uYXJ5XG4gICAgZ2V0dGVyIGtleSwgZiwgdGFyZ2V0XG5cbnNldHRlcnMgPSBjdXJyeSAoZGljdGlvbmFyeSwgdGFyZ2V0KSAtPlxuICBmb3Iga2V5LCBmIG9mIGRpY3Rpb25hcnlcbiAgICBzZXR0ZXIga2V5LCBmLCB0YXJnZXRcblxubWV0aG9kcyA9IGN1cnJ5IChkaWN0aW9uYXJ5LCB0YXJnZXQpIC0+XG4gIGZvciBrZXksIGYgb2YgZGljdGlvbmFyeVxuICAgIG1ldGhvZCBrZXksIGYsIHRhcmdldFxuXG5taXhpbiA9IGN1cnJ5ICh0YXJnZXQsIGZ4KSAtPiBmIHRhcmdldCBmb3IgZiBpbiBmeCA7IHRhcmdldFxuXG5leHBvcnQge1xuICBwcm9wZXJ0eVxuICBnZXR0ZXJcbiAgc2V0dGVyXG4gIG1ldGhvZFxuICBwcm9wZXJ0aWVzXG4gIGdldHRlcnNcbiAgc2V0dGVyc1xuICBtZXRob2RzXG4gIG1peGluXG59XG4iXSwic291cmNlUm9vdCI6IiJ9
100
- //# sourceURL=src/metaclass.coffee
105
+ mixin = (0, _function.curry)(function(target, fx) {
106
+ var f, i, len;
107
+ for(i = 0, len = fx.length; i < len; i++){
108
+ f = fx[i];
109
+ f(target);
110
+ }
111
+ return target;
112
+ });
113
+ metaclass = function(base = Object) {
114
+ return class extends base {
115
+ static getter(key, f) {
116
+ return getter(key, f, this.prototype);
117
+ }
118
+ static setter(key, f) {
119
+ return setter(key, f, this.prototype);
120
+ }
121
+ static property(key, specifier) {
122
+ return property(key, specifier, this.prototype);
123
+ }
124
+ static getters(dictionary) {
125
+ return getters(dictionary, this.prototype);
126
+ }
127
+ static setters(dictionary) {
128
+ return setters(dictionary, this.prototype);
129
+ }
130
+ static properties(dictionary) {
131
+ return properties(dictionary, this.prototype);
132
+ }
133
+ static $getter(key, f) {
134
+ return getter(key, f, this);
135
+ }
136
+ static $setter(key, f) {
137
+ return setter(key, f, this);
138
+ }
139
+ static $property(key, specifier) {
140
+ return property(key, specifier, this);
141
+ }
142
+ static $getters(dictionary) {
143
+ return getters(dictionary, this);
144
+ }
145
+ static $setters(dictionary) {
146
+ return setters(dictionary, this);
147
+ }
148
+ static $properties(dictionary) {
149
+ return properties(dictionary, this);
150
+ }
151
+ };
152
+ };
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL21ldGFjbGFzcy5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxNQUFBLEVBQUEsT0FBQSxFQUFBLFNBQUEsRUFBQSxNQUFBLEVBQUEsT0FBQSxFQUFBLEtBQUEsRUFBQSxVQUFBLEVBQUEsUUFBQSxFQUFBLE1BQUEsRUFBQTs7QUFBQSxPQUFBO0VBQVEsS0FBUjtDQUFBLE1BQUE7O0FBQ0EsT0FBQTtFQUFRLEtBQVI7Q0FBQSxNQUFBOztBQUVBLFFBQUEsR0FBVyxLQUFBLENBQU0sUUFBQSxDQUFDLEdBQUQsRUFBTSxXQUFOLEVBQW1CLE1BQW5CLENBQUE7U0FDZixNQUFNLENBQUMsY0FBUCxDQUFzQixNQUF0QixFQUE4QixHQUE5QixFQUNFLEtBQUEsQ0FBTTtJQUFFLFVBQUEsRUFBWSxJQUFkO0lBQW9CLFlBQUEsRUFBYztFQUFsQyxDQUFOLEVBQWdELFdBQWhELENBREY7QUFEZSxDQUFOOztBQUlYLE1BQUEsR0FBUyxLQUFBLENBQU0sUUFBQSxDQUFDLEdBQUQsRUFBTSxDQUFOLEVBQVMsTUFBVCxDQUFBO1NBQW9CLFFBQUEsQ0FBUyxHQUFULEVBQWM7SUFBQyxHQUFBLEVBQUs7RUFBTixDQUFkLEVBQXdCLE1BQXhCO0FBQXBCLENBQU47O0FBQ1QsTUFBQSxHQUFTLEtBQUEsQ0FBTSxRQUFBLENBQUMsR0FBRCxFQUFNLENBQU4sRUFBUyxNQUFULENBQUE7U0FBb0IsUUFBQSxDQUFTLEdBQVQsRUFBYztJQUFDLEdBQUEsRUFBSztFQUFOLENBQWQsRUFBd0IsTUFBeEI7QUFBcEIsQ0FBTjs7QUFDVCxNQUFBLEdBQVMsS0FBQSxDQUFNLFFBQUEsQ0FBQyxHQUFELEVBQU0sQ0FBTixFQUFTLE1BQVQsQ0FBQTtTQUNiLFFBQUEsQ0FBUyxHQUFULEVBQWM7SUFBQyxLQUFBLEVBQU8sQ0FBUjtJQUFXLFlBQUEsRUFBYyxJQUF6QjtJQUErQixTQUFBLEVB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T0FBVixRQUFVLENBQUUsVUFBRixDQUFBO2FBQWtCLE9BQUEsQ0FBUSxVQUFSLEVBQW9CLElBQXBCO0lBQWxCOztJQUNHLE9BQWIsV0FBYSxDQUFFLFVBQUYsQ0FBQTthQUFrQixVQUFBLENBQVcsVUFBWCxFQUF1QixJQUF2QjtJQUFsQjs7RUFkaEI7QUFGVTs7QUFrQlosT0FBQTtFQUNFLFFBREY7RUFFRSxNQUZGO0VBR0UsTUFIRjtFQUlFLE1BSkY7RUFLRSxVQUxGO0VBTUUsT0FORjtFQU9FLE9BUEY7RUFRRSxPQVJGO0VBU0UsS0FURjtFQVVFLFNBVkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2N1cnJ5fSBmcm9tIFwiLi9mdW5jdGlvblwiXG5pbXBvcnQge21lcmdlfSBmcm9tIFwiLi9vYmplY3RcIlxuXG5wcm9wZXJ0eSA9IGN1cnJ5IChrZXksIGRlc2NyaXB0aW9uLCB0YXJnZXQpIC0+XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0YXJnZXQsIGtleSxcbiAgICBtZXJnZSB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9LCBkZXNjcmlwdGlvblxuXG5nZXR0ZXIgPSBjdXJyeSAoa2V5LCBmLCB0YXJnZXQpIC0+IHByb3BlcnR5IGtleSwge2dldDogZn0sIHRhcmdldFxuc2V0dGVyID0gY3VycnkgKGtleSwgZiwgdGFyZ2V0KSAtPiBwcm9wZXJ0eSBrZXksIHtzZXQ6IGZ9LCB0YXJnZXRcbm1ldGhvZCA9IGN1cnJ5IChrZXksIGYsIHRhcmdldCkgLT5cbiAgcHJvcGVydHkga2V5LCB7dmFsdWU6IGYsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGVhYmxlOiB0cnVlfSwgdGFyZ2V0XG5cbnByb3BlcnRpZXMgPSBjdXJyeSAoZGljdGlvbmFyeSwgdGFyZ2V0KSAtPlxuICBmb3Iga2V5LCBkZXNjcmlwdGlvbiBvZiBkaWN0aW9uYXJ5XG4gICAgcHJvcGVydHkga2V5LCBkZXNjcmlwdGlvbiwgdGFyZ2V0XG5cbmdldHRlcnMgPSBjdXJyeSAoZGljdGlvbmFyeSwgdGFyZ2V0KSAtPlxuICBmb3Iga2V5LCBmIG9mIGRpY3Rpb25hcnlcbiAgICBnZXR0ZXIga2V5LCBmLCB0YXJnZXRcblxuc2V0dGVycyA9IGN1cnJ5IChkaWN0aW9uYXJ5LCB0YXJnZXQpIC0+XG4gIGZvciBrZXksIGYgb2YgZGljdGlvbmFyeVxuICAgIHNldHRlciBrZXksIGYsIHRhcmdldFxuXG5tZXRob2RzID0gY3VycnkgKGRpY3Rpb25hcnksIHRhcmdldCkgLT5cbiAgZm9yIGtleSwgZiBvZiBkaWN0aW9uYXJ5XG4gICAgbWV0aG9kIGtleSwgZiwgdGFyZ2V0XG5cbm1peGluID0gY3VycnkgKHRhcmdldCwgZngpIC0+IGYgdGFyZ2V0IGZvciBmIGluIGZ4IDsgdGFyZ2V0XG5cbm1ldGFjbGFzcyA9ICggYmFzZSA9IE9iamVjdCApIC0+XG5cbiAgY2xhc3MgZXh0ZW5kcyBiYXNlXG5cbiAgICBAZ2V0dGVyOiAoIGtleSwgZiApIC0+IGdldHRlciBrZXksIGYsIEA6OlxuICAgIEBzZXR0ZXI6ICgga2V5LCBmICkgLT4gc2V0dGVyIGtleSwgZiwgQDo6XG4gICAgQHByb3BlcnR5OiAoIGtleSwgc3BlY2lmaWVyICkgLT4gcHJvcGVydHkga2V5LCBzcGVjaWZpZXIsIEA6OlxuICAgIEBnZXR0ZXJzOiAoIGRpY3Rpb25hcnkgKSAtPiBnZXR0ZXJzIGRpY3Rpb25hcnksIEA6OlxuICAgIEBzZXR0ZXJzOiAoIGRpY3Rpb25hcnkgKSAtPiBzZXR0ZXJzIGRpY3Rpb25hcnksIEA6OlxuICAgIEBwcm9wZXJ0aWVzOiAoIGRpY3Rpb25hcnkgKSAtPiBwcm9wZXJ0aWVzIGRpY3Rpb25hcnksIEA6OlxuXG4gICAgQCRnZXR0ZXI6ICgga2V5LCBmICkgLT4gZ2V0dGVyIGtleSwgZiwgQFxuICAgIEAkc2V0dGVyOiAoIGtleSwgZiApIC0+IHNldHRlciBrZXksIGYsIEBcbiAgICBAJHByb3BlcnR5OiAoIGtleSwgc3BlY2lmaWVyICkgLT4gcHJvcGVydHkga2V5LCBzcGVjaWZpZXIsIEBcbiAgICBAJGdldHRlcnM6ICggZGljdGlvbmFyeSApIC0+IGdldHRlcnMgZGljdGlvbmFyeSwgQFxuICAgIEAkc2V0dGVyczogKCBkaWN0aW9uYXJ5ICkgLT4gc2V0dGVycyBkaWN0aW9uYXJ5LCBAXG4gICAgQCRwcm9wZXJ0aWVzOiAoIGRpY3Rpb25hcnkgKSAtPiBwcm9wZXJ0aWVzIGRpY3Rpb25hcnksIEBcblxuZXhwb3J0IHtcbiAgcHJvcGVydHlcbiAgZ2V0dGVyXG4gIHNldHRlclxuICBtZXRob2RcbiAgcHJvcGVydGllc1xuICBnZXR0ZXJzXG4gIHNldHRlcnNcbiAgbWV0aG9kc1xuICBtaXhpblxuICBtZXRhY2xhc3Ncbn1cbiJdfQ==
154
+ //# sourceURL=/@dashkite/joy/src/metaclass.coffee
155
+
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvbWV0YWNsYXNzLmNvZmZlZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjdXJyeX0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuaW1wb3J0IHttZXJnZX0gZnJvbSBcIi4vb2JqZWN0XCJcblxucHJvcGVydHkgPSBjdXJyeSAoa2V5LCBkZXNjcmlwdGlvbiwgdGFyZ2V0KSAtPlxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGFyZ2V0LCBrZXksXG4gICAgbWVyZ2UgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSwgZGVzY3JpcHRpb25cblxuZ2V0dGVyID0gY3VycnkgKGtleSwgZiwgdGFyZ2V0KSAtPiBwcm9wZXJ0eSBrZXksIHtnZXQ6IGZ9LCB0YXJnZXRcbnNldHRlciA9IGN1cnJ5IChrZXksIGYsIHRhcmdldCkgLT4gcHJvcGVydHkga2V5LCB7c2V0OiBmfSwgdGFyZ2V0XG5tZXRob2QgPSBjdXJyeSAoa2V5LCBmLCB0YXJnZXQpIC0+XG4gIHByb3BlcnR5IGtleSwge3ZhbHVlOiBmLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRlYWJsZTogdHJ1ZX0sIHRhcmdldFxuXG5wcm9wZXJ0aWVzID0gY3VycnkgKGRpY3Rpb25hcnksIHRhcmdldCkgLT5cbiAgZm9yIGtleSwgZGVzY3JpcHRpb24gb2YgZGljdGlvbmFyeVxuICAgIHByb3BlcnR5IGtleSwgZGVzY3JpcHRpb24sIHRhcmdldFxuXG5nZXR0ZXJzID0gY3VycnkgKGRpY3Rpb25hcnksIHRhcmdldCkgLT5cbiAgZm9yIGtleSwgZiBvZiBkaWN0aW9uYXJ5XG4gICAgZ2V0dGVyIGtleSwgZiwgdGFyZ2V0XG5cbnNldHRlcnMgPSBjdXJyeSAoZGljdGlvbmFyeSwgdGFyZ2V0KSAtPlxuICBmb3Iga2V5LCBmIG9mIGRpY3Rpb25hcnlcbiAgICBzZXR0ZXIga2V5LCBmLCB0YXJnZXRcblxubWV0aG9kcyA9IGN1cnJ5IChkaWN0aW9uYXJ5LCB0YXJnZXQpIC0+XG4gIGZvciBrZXksIGYgb2YgZGljdGlvbmFyeVxuICAgIG1ldGhvZCBrZXksIGYsIHRhcmdldFxuXG5taXhpbiA9IGN1cnJ5ICh0YXJnZXQsIGZ4KSAtPiBmIHRhcmdldCBmb3IgZiBpbiBmeCA7IHRhcmdldFxuXG5tZXRhY2xhc3MgPSAoIGJhc2UgPSBPYmplY3QgKSAtPlxuXG4gIGNsYXNzIGV4dGVuZHMgYmFzZVxuXG4gICAgQGdldHRlcjogKCBrZXksIGYgKSAtPiBnZXR0ZXIga2V5LCBmLCBAOjpcbiAgICBAc2V0dGVyOiAoIGtleSwgZiApIC0+IHNldHRlciBrZXksIGYsIEA6OlxuICAgIEBwcm9wZXJ0eTogKCBrZXksIHNwZWNpZmllciApIC0+IHByb3BlcnR5IGtleSwgc3BlY2lmaWVyLCBAOjpcbiAgICBAZ2V0dGVyczogKCBkaWN0aW9uYXJ5ICkgLT4gZ2V0dGVycyBkaWN0aW9uYXJ5LCBAOjpcbiAgICBAc2V0dGVyczogKCBkaWN0aW9uYXJ5ICkgLT4gc2V0dGVycyBkaWN0aW9uYXJ5LCBAOjpcbiAgICBAcHJvcGVydGllczogKCBkaWN0aW9uYXJ5ICkgLT4gcHJvcGVydGllcyBkaWN0aW9uYXJ5LCBAOjpcblxuICAgIEAkZ2V0dGVyOiAoIGtleSwgZiApIC0+IGdldHRlciBrZXksIGYsIEBcbiAgICBAJHNldHRlcjogKCBrZXksIGYgKSAtPiBzZXR0ZXIga2V5LCBmLCBAXG4gICAgQCRwcm9wZXJ0eTogKCBrZXksIHNwZWNpZmllciApIC0+IHByb3BlcnR5IGtleSwgc3BlY2lmaWVyLCBAXG4gICAgQCRnZXR0ZXJzOiAoIGRpY3Rpb25hcnkgKSAtPiBnZXR0ZXJzIGRpY3Rpb25hcnksIEBcbiAgICBAJHNldHRlcnM6ICggZGljdGlvbmFyeSApIC0+IHNldHRlcnMgZGljdGlvbmFyeSwgQFxuICAgIEAkcHJvcGVydGllczogKCBkaWN0aW9uYXJ5ICkgLT4gcHJvcGVydGllcyBkaWN0aW9uYXJ5LCBAXG5cbmV4cG9ydCB7XG4gIHByb3BlcnR5XG4gIGdldHRlclxuICBzZXR0ZXJcbiAgbWV0aG9kXG4gIHByb3BlcnRpZXNcbiAgZ2V0dGVyc1xuICBzZXR0ZXJzXG4gIG1ldGhvZHNcbiAgbWl4aW5cbiAgbWV0YWNsYXNzXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFrREUsTUFGRjs7O0lBTUUsT0FORjs7O2FBQUE7ZUFVRTs7VUFWRjtlQUlFOztXQUpGO2VBUUU7O1NBUkY7ZUFTRTs7Y0FURjtlQUtFOztJQUpBLFFBREY7OztVQUFBO2VBR0U7O1dBSEY7ZUFPRTs7OzBCQXZERjt3QkFDQTtBQURBLElBQUEsTUFBQSxFQUFBLE9BQUEsRUFBQSxTQUFBLEVBQUEsTUFBQSxFQUFBLE9BQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLFFBQUEsRUFBQSxNQUFBLEVBQUE7QUFHQSxRQUFBLE9BQVcsZUFBQSxFQUFNLFFBQUEsQ0FBQyxHQUFELEVBQU0sV0FBTixFQUFtQixNQUFuQixDQUFBO1dBQ2YsTUFBTSxDQUFDLGNBQVAsQ0FBc0IsTUFBdEIsRUFBOEIsR0FBOUIsTUFDRSxhQUFBLEVBQU07UUFBRSxVQUFBLEVBQVksSUFBZDtRQUFvQixZQUFBLEVBQWM7SUFBbEMsQ0FBTixFQUFnRCxXQUFoRCxDQURGO0FBRGUsQ0FBTjtBQUlYLE1BQUEsT0FBUyxlQUFBLEVBQU0sUUFBQSxDQUFDLEdBQUQsRUFBTSxDQUFOLEVBQVMsTUFBVCxDQUFBO1dBQW9CLFFBQUEsQ0FBUyxHQUFULEVBQWM7UUFBQyxHQUFBLEVBQUs7SUFBTixDQUFkLEVBQXdCLE1BQXhCO0FBQXBCLENBQU47QUFDVCxNQUFBLE9BQVMsZUFBQSxFQUFNLFFBQUEsQ0FBQyxHQUFELEVBQU0sQ0FBTixFQUFTLE1BQVQsQ0FBQTtXQUFvQixRQUFBLENBQVMsR0FBVCxFQUFjO1FBQUMsR0FBQSxFQUFLO0lBQU4sQ0FBZCxFQUF3QixNQUF4QjtBQUFwQixDQUFOO0FBQ1QsTUFBQSxPQUFTLGVBQUEsRUFBTSxRQUFBLENBQUMsR0FBRCxF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