@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.
- package/build/browser/src/array.js +121 -121
- package/build/browser/src/function.js +332 -418
- package/build/browser/src/generic.js +103 -167
- package/build/browser/src/index.js +16 -13
- package/build/browser/src/iterable.js +353 -328
- package/build/browser/src/math.js +42 -39
- package/build/browser/src/metaclass.js +105 -72
- package/build/browser/src/object.js +154 -98
- package/build/browser/src/predicate.js +122 -164
- package/build/browser/src/promise.js +17 -22
- package/build/browser/src/set.js +53 -68
- package/build/browser/src/text.js +115 -124
- package/build/browser/src/time.js +99 -30
- package/build/browser/src/type.js +85 -70
- package/build/browser/src/value.js +233 -246
- package/build/node/src/array.js +283 -161
- package/build/node/src/function.js +439 -394
- package/build/node/src/generic.js +122 -151
- package/build/node/src/index.js +32 -174
- package/build/node/src/iterable.js +444 -383
- package/build/node/src/math.js +106 -66
- package/build/node/src/metaclass.js +144 -88
- package/build/node/src/object.js +215 -110
- package/build/node/src/predicate.js +150 -156
- package/build/node/src/promise.js +48 -33
- package/build/node/src/set.js +81 -80
- package/build/node/src/text.js +256 -174
- package/build/node/src/time.js +136 -40
- package/build/node/src/type.js +277 -141
- package/build/node/src/value.js +273 -267
- package/package.json +12 -6
|
@@ -1,452 +1,366 @@
|
|
|
1
|
-
var _,
|
|
2
|
-
|
|
3
|
-
arity,
|
|
4
|
-
binary,
|
|
5
|
-
bind,
|
|
6
|
-
chain,
|
|
7
|
-
compose,
|
|
8
|
-
curry,
|
|
9
|
-
detach,
|
|
10
|
-
flip,
|
|
11
|
-
flow,
|
|
12
|
-
flowWith,
|
|
13
|
-
identity,
|
|
14
|
-
isPromise,
|
|
15
|
-
memoize,
|
|
16
|
-
once,
|
|
17
|
-
partial,
|
|
18
|
-
pipe,
|
|
19
|
-
pipeWith,
|
|
20
|
-
proxy,
|
|
21
|
-
rtee,
|
|
22
|
-
send,
|
|
23
|
-
spread,
|
|
24
|
-
stack,
|
|
25
|
-
substitute,
|
|
26
|
-
tee,
|
|
27
|
-
ternary,
|
|
28
|
-
unary,
|
|
29
|
-
wait,
|
|
30
|
-
wrap,
|
|
31
|
-
splice = [].splice;
|
|
32
|
-
|
|
33
|
-
identity = function (x) {
|
|
34
|
-
return x;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
wrap = function (x) {
|
|
38
|
-
return function () {
|
|
1
|
+
var _, apply, arity, bcompose, bflow, binary, bind, bpipe, chain, compose, curry, detach, flip, flow, identity, isPromise, map, memoize, once, partial, pipe, proxy, rtee, send, spread, stack, substitute, tee, ternary, unary, wait, wrap, splice = [].splice;
|
|
2
|
+
identity = function(x) {
|
|
39
3
|
return x;
|
|
40
|
-
};
|
|
41
|
-
}; // Based on _arity from Rambda:
|
|
42
|
-
// https://github.com/ramda/ramda/blob/v0.26.1/source/internal/_arity.js
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
arity = function (N, f) {
|
|
46
|
-
switch (N) {
|
|
47
|
-
case 0:
|
|
48
|
-
return function () {
|
|
49
|
-
for (var _len = arguments.length, ax = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
50
|
-
ax[_key] = arguments[_key];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return f.apply(this, ax);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
case 1:
|
|
57
|
-
return function (a0) {
|
|
58
|
-
return f.apply(this, arguments);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
case 2:
|
|
62
|
-
return function (a0, a1) {
|
|
63
|
-
return f.apply(this, arguments);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
case 3:
|
|
67
|
-
return function (a0, a1, a2) {
|
|
68
|
-
return f.apply(this, arguments);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
case 4:
|
|
72
|
-
return function (a0, a1, a2, a3) {
|
|
73
|
-
return f.apply(this, arguments);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
case 5:
|
|
77
|
-
return function (a0, a1, a2, a3, a4) {
|
|
78
|
-
return f.apply(this, arguments);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
case 6:
|
|
82
|
-
return function (a0, a1, a2, a3, a4, a5) {
|
|
83
|
-
return f.apply(this, arguments);
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
case 7:
|
|
87
|
-
return function (a0, a1, a2, a3, a4, a5, a6) {
|
|
88
|
-
return f.apply(this, arguments);
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
case 8:
|
|
92
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
93
|
-
return f.apply(this, arguments);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
case 9:
|
|
97
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
98
|
-
return f.apply(this, arguments);
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
case 10:
|
|
102
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
103
|
-
return f.apply(this, arguments);
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
default:
|
|
107
|
-
throw new Error("First argument to arity must be an integer between 0 and 10, inclusive.");
|
|
108
|
-
}
|
|
109
4
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
5
|
+
wrap = function(x) {
|
|
6
|
+
return function() {
|
|
7
|
+
return x;
|
|
8
|
+
};
|
|
113
9
|
};
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
10
|
+
// Based on _arity from Rambda:
|
|
11
|
+
// https://github.com/ramda/ramda/blob/v0.26.1/source/internal/_arity.js
|
|
12
|
+
arity = function(N, f) {
|
|
13
|
+
switch(N){
|
|
14
|
+
case 0:
|
|
15
|
+
return function(...ax) {
|
|
16
|
+
return f.apply(this, ax);
|
|
17
|
+
};
|
|
18
|
+
case 1:
|
|
19
|
+
return function(a0) {
|
|
20
|
+
return f.apply(this, arguments);
|
|
21
|
+
};
|
|
22
|
+
case 2:
|
|
23
|
+
return function(a0, a1) {
|
|
24
|
+
return f.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
case 3:
|
|
27
|
+
return function(a0, a1, a2) {
|
|
28
|
+
return f.apply(this, arguments);
|
|
29
|
+
};
|
|
30
|
+
case 4:
|
|
31
|
+
return function(a0, a1, a2, a3) {
|
|
32
|
+
return f.apply(this, arguments);
|
|
33
|
+
};
|
|
34
|
+
case 5:
|
|
35
|
+
return function(a0, a1, a2, a3, a4) {
|
|
36
|
+
return f.apply(this, arguments);
|
|
37
|
+
};
|
|
38
|
+
case 6:
|
|
39
|
+
return function(a0, a1, a2, a3, a4, a5) {
|
|
40
|
+
return f.apply(this, arguments);
|
|
41
|
+
};
|
|
42
|
+
case 7:
|
|
43
|
+
return function(a0, a1, a2, a3, a4, a5, a6) {
|
|
44
|
+
return f.apply(this, arguments);
|
|
45
|
+
};
|
|
46
|
+
case 8:
|
|
47
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
48
|
+
return f.apply(this, arguments);
|
|
49
|
+
};
|
|
50
|
+
case 9:
|
|
51
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
52
|
+
return f.apply(this, arguments);
|
|
53
|
+
};
|
|
54
|
+
case 10:
|
|
55
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
56
|
+
return f.apply(this, arguments);
|
|
57
|
+
};
|
|
58
|
+
default:
|
|
59
|
+
throw new Error("First argument to arity must be an integer between 0 and 10, inclusive.");
|
|
60
|
+
}
|
|
117
61
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return arity(3, f);
|
|
62
|
+
unary = function(f) {
|
|
63
|
+
return arity(1, f);
|
|
121
64
|
};
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
switch (f.length) {
|
|
125
|
-
case 0:
|
|
126
|
-
return f;
|
|
127
|
-
|
|
128
|
-
case 1:
|
|
129
|
-
return function (a0) {
|
|
130
|
-
return f.call(this, a0);
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
case 2:
|
|
134
|
-
return function (a0, a1) {
|
|
135
|
-
return f.call(this, a1, a0);
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
case 3:
|
|
139
|
-
return function (a0, a1, a2) {
|
|
140
|
-
return f.call(this, a2, a1, a0);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
case 4:
|
|
144
|
-
return function (a0, a1, a2, a3) {
|
|
145
|
-
return f.call(this, a3, a2, a1, a0);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
case 5:
|
|
149
|
-
return function (a0, a1, a2, a3, a4) {
|
|
150
|
-
return f.call(this, a4, a3, a2, a1, a0);
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
case 6:
|
|
154
|
-
return function (a0, a1, a2, a3, a4, a5) {
|
|
155
|
-
return f.call(this, a5, a4, a3, a2, a1, a0);
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
case 7:
|
|
159
|
-
return function (a0, a1, a2, a3, a4, a5, a6) {
|
|
160
|
-
return f.call(this, a6, a4, a3, a2, a1, a0);
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
case 8:
|
|
164
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
165
|
-
return f.call(this, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
case 9:
|
|
169
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
170
|
-
return f.call(this, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
case 10:
|
|
174
|
-
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
175
|
-
return f.call(this, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
default:
|
|
179
|
-
return function () {
|
|
180
|
-
for (var _len2 = arguments.length, ax = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
181
|
-
ax[_key2] = arguments[_key2];
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return f.apply(this, ax.reverse());
|
|
185
|
-
};
|
|
186
|
-
}
|
|
65
|
+
binary = function(f) {
|
|
66
|
+
return arity(2, f);
|
|
187
67
|
};
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
68
|
+
ternary = function(f) {
|
|
69
|
+
return arity(3, f);
|
|
70
|
+
};
|
|
71
|
+
flip = function(f) {
|
|
72
|
+
switch(f.length){
|
|
73
|
+
case 0:
|
|
74
|
+
return f;
|
|
75
|
+
case 1:
|
|
76
|
+
return function(a0) {
|
|
77
|
+
return f.call(this, a0);
|
|
78
|
+
};
|
|
79
|
+
case 2:
|
|
80
|
+
return function(a0, a1) {
|
|
81
|
+
return f.call(this, a1, a0);
|
|
82
|
+
};
|
|
83
|
+
case 3:
|
|
84
|
+
return function(a0, a1, a2) {
|
|
85
|
+
return f.call(this, a2, a1, a0);
|
|
86
|
+
};
|
|
87
|
+
case 4:
|
|
88
|
+
return function(a0, a1, a2, a3) {
|
|
89
|
+
return f.call(this, a3, a2, a1, a0);
|
|
90
|
+
};
|
|
91
|
+
case 5:
|
|
92
|
+
return function(a0, a1, a2, a3, a4) {
|
|
93
|
+
return f.call(this, a4, a3, a2, a1, a0);
|
|
94
|
+
};
|
|
95
|
+
case 6:
|
|
96
|
+
return function(a0, a1, a2, a3, a4, a5) {
|
|
97
|
+
return f.call(this, a5, a4, a3, a2, a1, a0);
|
|
98
|
+
};
|
|
99
|
+
case 7:
|
|
100
|
+
return function(a0, a1, a2, a3, a4, a5, a6) {
|
|
101
|
+
return f.call(this, a6, a4, a3, a2, a1, a0);
|
|
102
|
+
};
|
|
103
|
+
case 8:
|
|
104
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7) {
|
|
105
|
+
return f.call(this, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
106
|
+
};
|
|
107
|
+
case 9:
|
|
108
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
|
|
109
|
+
return f.call(this, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
110
|
+
};
|
|
111
|
+
case 10:
|
|
112
|
+
return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
|
|
113
|
+
return f.call(this, a9, a8, a7, a6, a5, a4, a3, a2, a1, a0);
|
|
114
|
+
};
|
|
115
|
+
default:
|
|
116
|
+
return function(...ax) {
|
|
117
|
+
return f.apply(this, ax.reverse());
|
|
118
|
+
};
|
|
216
119
|
}
|
|
217
|
-
});
|
|
218
120
|
};
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
121
|
+
curry = function(f) {
|
|
122
|
+
if (f.length > 1) {
|
|
123
|
+
return arity(f.length, function(...ax) {
|
|
124
|
+
var length, self;
|
|
125
|
+
self = this;
|
|
126
|
+
if (ax.length >= f.length) {
|
|
127
|
+
return f.apply(self, ax);
|
|
128
|
+
} else {
|
|
129
|
+
length = f.length - ax.length;
|
|
130
|
+
if (length === 1) {
|
|
131
|
+
return function(x) {
|
|
132
|
+
return f.apply(self, [
|
|
133
|
+
...ax,
|
|
134
|
+
x
|
|
135
|
+
]);
|
|
136
|
+
};
|
|
137
|
+
} else {
|
|
138
|
+
return curry(arity(length, function(...bx) {
|
|
139
|
+
return f.apply(self, [
|
|
140
|
+
...ax,
|
|
141
|
+
...bx
|
|
142
|
+
]);
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
});
|
|
231
147
|
} else {
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return results;
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
partial = function (f, ax) {
|
|
240
|
-
var a, j, len, n;
|
|
241
|
-
n = 0;
|
|
242
|
-
|
|
243
|
-
for (j = 0, len = ax.length; j < len; j++) {
|
|
244
|
-
a = ax[j];
|
|
245
|
-
|
|
246
|
-
if (a === _) {
|
|
247
|
-
n++;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
return arity(n, function () {
|
|
252
|
-
for (var _len5 = arguments.length, bx = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
253
|
-
bx[_key5] = arguments[_key5];
|
|
148
|
+
return f;
|
|
254
149
|
}
|
|
255
|
-
|
|
256
|
-
return f(...substitute(ax, bx));
|
|
257
|
-
});
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
spread = function (f) {
|
|
261
|
-
return function (ax) {
|
|
262
|
-
return f(...ax);
|
|
263
|
-
};
|
|
264
150
|
};
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
ax[_key6] = arguments[_key6];
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
return f(ax);
|
|
273
|
-
};
|
|
274
|
-
}; // Inspired by Rambda: https://ramdajs.com/docs/#pipeWith
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
pipeWith = curry(function (c, fx) {
|
|
278
|
-
var f, gx;
|
|
279
|
-
|
|
280
|
-
gx = function () {
|
|
281
|
-
var j, len, results;
|
|
151
|
+
_ = {};
|
|
152
|
+
substitute = curry(function(ax, bx) {
|
|
153
|
+
var a, i, j, len, results;
|
|
154
|
+
i = 0;
|
|
282
155
|
results = [];
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
156
|
+
for(j = 0, len = ax.length; j < len; j++){
|
|
157
|
+
a = ax[j];
|
|
158
|
+
if (a === _) {
|
|
159
|
+
results.push(bx[i++]);
|
|
160
|
+
} else {
|
|
161
|
+
results.push(a);
|
|
162
|
+
}
|
|
287
163
|
}
|
|
288
|
-
|
|
289
164
|
return results;
|
|
290
|
-
}();
|
|
291
|
-
|
|
292
|
-
return arity(fx[0].length, function () {
|
|
293
|
-
for (var _len7 = arguments.length, ax = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
|
294
|
-
ax[_key7] = arguments[_key7];
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
var i, j, len;
|
|
298
|
-
|
|
299
|
-
for (i = j = 0, len = gx.length; j < len; i = ++j) {
|
|
300
|
-
f = gx[i];
|
|
301
|
-
ax = [f(...ax)];
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
return ax[0];
|
|
305
|
-
});
|
|
306
165
|
});
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
for (var _len8 = arguments.length, ax = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
|
316
|
-
ax[_key8] = arguments[_key8];
|
|
166
|
+
partial = function(f, ax) {
|
|
167
|
+
var a, j, len, n;
|
|
168
|
+
n = 0;
|
|
169
|
+
for(j = 0, len = ax.length; j < len; j++){
|
|
170
|
+
a = ax[j];
|
|
171
|
+
if (a === _) {
|
|
172
|
+
n++;
|
|
173
|
+
}
|
|
317
174
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
return f(...ax);
|
|
175
|
+
return arity(n, function(...bx) {
|
|
176
|
+
return f(...substitute(ax, bx));
|
|
321
177
|
});
|
|
322
|
-
});
|
|
323
178
|
};
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
});
|
|
329
|
-
|
|
330
|
-
tee = function (f) {
|
|
331
|
-
return arity(Math.max(f.length, 1), function (a) {
|
|
332
|
-
var k, ref, self;
|
|
333
|
-
self = this;
|
|
334
|
-
|
|
335
|
-
for (var _len9 = arguments.length, bx = new Array(_len9 > 1 ? _len9 - 1 : 0), _key9 = 1; _key9 < _len9; _key9++) {
|
|
336
|
-
bx[_key9 - 1] = arguments[_key9];
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
if (((ref = k = f.apply(self, [a, ...bx])) != null ? ref.then : void 0) != null) {
|
|
340
|
-
return k.then(function () {
|
|
341
|
-
return a;
|
|
342
|
-
});
|
|
343
|
-
} else {
|
|
344
|
-
return a;
|
|
345
|
-
}
|
|
346
|
-
});
|
|
179
|
+
spread = function(f) {
|
|
180
|
+
return function(ax) {
|
|
181
|
+
return f(...ax);
|
|
182
|
+
};
|
|
347
183
|
};
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
|
|
357
|
-
self = this;
|
|
358
|
-
|
|
359
|
-
if (((ref1 = k = f.apply(self, [...ax, b])) != null ? ref1.then : void 0) != null) {
|
|
360
|
-
return k.then(function () {
|
|
361
|
-
return b;
|
|
362
|
-
});
|
|
184
|
+
stack = function(f) {
|
|
185
|
+
return function(...ax) {
|
|
186
|
+
return f(ax);
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
pipe = function([f, ...gx]) {
|
|
190
|
+
if (gx.length === 0) {
|
|
191
|
+
return f != null ? f : identity;
|
|
363
192
|
} else {
|
|
364
|
-
|
|
193
|
+
return function({ g }) {
|
|
194
|
+
g = pipe(gx);
|
|
195
|
+
return arity(f.length, function(...args) {
|
|
196
|
+
return function({ self, x }) {
|
|
197
|
+
x = f.apply(self, args);
|
|
198
|
+
if ((x != null ? x.then : void 0) != null) {
|
|
199
|
+
return x.then(g.bind(self));
|
|
200
|
+
} else {
|
|
201
|
+
return g.call(self, x);
|
|
202
|
+
}
|
|
203
|
+
}({
|
|
204
|
+
self: this
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
}({});
|
|
365
208
|
}
|
|
366
|
-
});
|
|
367
209
|
};
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
210
|
+
flow = pipe;
|
|
211
|
+
compose = function(fx) {
|
|
212
|
+
return pipe(fx.reverse());
|
|
213
|
+
};
|
|
214
|
+
bpipe = pipe;
|
|
215
|
+
bflow = pipe;
|
|
216
|
+
bcompose = function(fx) {
|
|
217
|
+
return bpipe(fx.reverse());
|
|
218
|
+
};
|
|
219
|
+
wait = function(f) {
|
|
220
|
+
return arity(f.length, function(...ax) {
|
|
221
|
+
return Promise.all(ax).then(function(ax) {
|
|
222
|
+
return f(...ax);
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
tee = function(f) {
|
|
227
|
+
return arity(Math.max(f.length, 1), function(a, ...bx) {
|
|
228
|
+
var k, ref;
|
|
229
|
+
if (((ref = k = f.apply(this, [
|
|
230
|
+
a,
|
|
231
|
+
...bx
|
|
232
|
+
])) != null ? ref.then : void 0) != null) {
|
|
233
|
+
return k.then(function() {
|
|
234
|
+
return a;
|
|
235
|
+
});
|
|
236
|
+
} else {
|
|
237
|
+
return a;
|
|
377
238
|
}
|
|
378
|
-
|
|
379
|
-
return k = apply(f, ax);
|
|
380
|
-
}
|
|
381
239
|
});
|
|
382
|
-
}(void 0);
|
|
383
240
|
};
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
241
|
+
rtee = function(f) {
|
|
242
|
+
return arity(Math.max(f.length, 1), function(...ax) {
|
|
243
|
+
var b, k, ref, ref1;
|
|
244
|
+
ref = ax, [...ax] = ref, [b] = splice.call(ax, -1);
|
|
245
|
+
if (((ref1 = k = f.apply(this, [
|
|
246
|
+
...ax,
|
|
247
|
+
b
|
|
248
|
+
])) != null ? ref1.then : void 0) != null) {
|
|
249
|
+
return k.then(function() {
|
|
250
|
+
return b;
|
|
251
|
+
});
|
|
252
|
+
} else {
|
|
253
|
+
return b;
|
|
254
|
+
}
|
|
395
255
|
});
|
|
396
|
-
}({});
|
|
397
256
|
};
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
257
|
+
once = function(f) {
|
|
258
|
+
return function(k) {
|
|
259
|
+
return arity(f.length, function(...ax) {
|
|
260
|
+
if (k != null) {
|
|
261
|
+
return k;
|
|
262
|
+
} else {
|
|
263
|
+
return k = f.apply(this, ax);
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
}(void 0);
|
|
267
|
+
};
|
|
268
|
+
memoize = function(f) {
|
|
269
|
+
return function(cache) {
|
|
270
|
+
return arity(f.length, function(...ax) {
|
|
271
|
+
var name1;
|
|
272
|
+
return cache[name1 = JSON.stringify(ax)] != null ? cache[name1] : cache[name1] = f.apply(this, ax);
|
|
273
|
+
});
|
|
274
|
+
}({});
|
|
275
|
+
};
|
|
276
|
+
apply = curry(function(f, ax) {
|
|
277
|
+
return f.apply(null, ax);
|
|
401
278
|
});
|
|
402
|
-
bind = curry(function
|
|
403
|
-
|
|
279
|
+
bind = curry(function(f, x) {
|
|
280
|
+
return f.bind(x);
|
|
404
281
|
});
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
args[_key13 - 1] = arguments[_key13];
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
return f.apply(x, args);
|
|
413
|
-
}));
|
|
282
|
+
detach = function(f) {
|
|
283
|
+
return curry(arity(f.length + 1, function(x, ...args) {
|
|
284
|
+
return f.apply(x, args);
|
|
285
|
+
}));
|
|
414
286
|
};
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
return object[name].apply(object, ax);
|
|
287
|
+
send = curry(function(name, ax, object) {
|
|
288
|
+
return object[name].apply(object, ax);
|
|
418
289
|
});
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
return k instanceof Promise;
|
|
290
|
+
isPromise = function(k) {
|
|
291
|
+
return k instanceof Promise;
|
|
422
292
|
};
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
return k.then(function () {
|
|
435
|
-
return self;
|
|
436
|
-
});
|
|
437
|
-
} else {
|
|
438
|
-
return self;
|
|
439
|
-
}
|
|
440
|
-
});
|
|
293
|
+
chain = function(f) {
|
|
294
|
+
return arity(Math.max(f.length, 1), function(...ax) {
|
|
295
|
+
var k;
|
|
296
|
+
if (isPromise(k = f.apply(this, ax))) {
|
|
297
|
+
return k.then(()=>{
|
|
298
|
+
return this;
|
|
299
|
+
});
|
|
300
|
+
} else {
|
|
301
|
+
return this;
|
|
302
|
+
}
|
|
303
|
+
});
|
|
441
304
|
};
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
305
|
+
map = function(fx) {
|
|
306
|
+
return function({ lengths, length }) {
|
|
307
|
+
lengths = fx.map(function(f) {
|
|
308
|
+
return f.length;
|
|
309
|
+
});
|
|
310
|
+
length = Math.max(...lengths);
|
|
311
|
+
return arity(length, function(...args) {
|
|
312
|
+
var f, j, len, results;
|
|
313
|
+
results = [];
|
|
314
|
+
for(j = 0, len = fx.length; j < len; j++){
|
|
315
|
+
f = fx[j];
|
|
316
|
+
results.push(f.apply(this, args));
|
|
317
|
+
}
|
|
318
|
+
return results;
|
|
319
|
+
});
|
|
320
|
+
}({});
|
|
321
|
+
};
|
|
322
|
+
proxy = curry(function(name, ax) {
|
|
323
|
+
return function(...bx) {
|
|
324
|
+
return this[name].apply(this, [
|
|
325
|
+
...ax,
|
|
326
|
+
...bx
|
|
327
|
+
]);
|
|
328
|
+
};
|
|
451
329
|
});
|
|
452
|
-
export { identity, wrap, arity, unary, binary, ternary, flip, curry, _, substitute, partial, spread, stack,
|
|
330
|
+
export { identity, wrap, arity, unary, binary, ternary, flip, curry, _, substitute, partial, spread, stack, pipe, compose, wait, flow, bpipe, bcompose, bflow, tee, rtee, once, memoize, apply, bind, detach, send, chain, map, proxy };
|
|
331
|
+
export default {
|
|
332
|
+
identity,
|
|
333
|
+
wrap,
|
|
334
|
+
arity,
|
|
335
|
+
unary,
|
|
336
|
+
binary,
|
|
337
|
+
ternary,
|
|
338
|
+
flip,
|
|
339
|
+
curry,
|
|
340
|
+
_,
|
|
341
|
+
substitute,
|
|
342
|
+
partial,
|
|
343
|
+
spread,
|
|
344
|
+
stack,
|
|
345
|
+
pipe,
|
|
346
|
+
compose,
|
|
347
|
+
wait,
|
|
348
|
+
flow,
|
|
349
|
+
bpipe,
|
|
350
|
+
bcompose,
|
|
351
|
+
bflow,
|
|
352
|
+
tee,
|
|
353
|
+
rtee,
|
|
354
|
+
once,
|
|
355
|
+
memoize,
|
|
356
|
+
apply,
|
|
357
|
+
bind,
|
|
358
|
+
detach,
|
|
359
|
+
send,
|
|
360
|
+
chain,
|
|
361
|
+
map,
|
|
362
|
+
proxy
|
|
363
|
+
}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL2Z1bmN0aW9uLmNvZmZlZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLENBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsSUFBQSxFQUFBLEtBQUEsRUFBQSxJQUFBLEVBQUEsSUFBQSxFQUFBLE1BQUEsRUFBQSxLQUFBLEVBQUEsVUFBQSxFQUFBLEdBQUEsRUFBQSxPQUFBLEVBQUEsS0FBQSxFQUFBLElBQUEsRUFBQSxJQUFBO0VBQUE7O0FBQUEsUUFBQSxHQUFXLFFBQUEsQ0FBQyxDQUFELENBQUE7U0FBTztBQUFQOztBQUVYLElBQUEsR0FBTyxRQUFBLENBQUMsQ0FBRCxDQUFBO1NBQU8sUUFBQSxDQUFBLENBQUE7V0FBRztFQUFIO0FBQVAsRUFGUDs7OztBQU1BLEtBQUEsR0FBUyxRQUFBLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBQTtBQUNQLFVBQU8sQ0FBUDtBQUFBLFNBQ08sQ0FEUDthQUVJLFFBQUEsQ0FBQSxHQUFDLEVBQUQsQ0FBQTtlQUFXLENBQUMsQ0FBQyxLQUFGLENBQVEsSUFBUixFQUFXLEVBQVg7TUFBWDtBQUZKLFNBR08sQ0FIUDthQUlJLFFBQUEsQ0FBQyxFQUFELENBQUE7ZUFBUSxDQUFDLENBQUMsS0FBRixDQUFRLElBQVIsRUFBVyxTQUFYO01BQVI7QUFKSixTQUtPLENBTFA7YUFNSSxRQUFBLENBQUMsRUFBRCxFQUFLLEVBQUwsQ0FBQTtlQUFhLENBQUMsQ0FBQyxLQUFGLENBQVEsSUFBUixFQUFXLFNBQVg7TUFBYjtBQU5K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QmIsSUFqQmEsRUFrQmIsS0FsQmEsRUFtQmIsUUFuQmEsRUFvQmIsS0FwQmEsRUFxQmIsR0FyQmEsRUFzQmIsSUF0QmEsRUF1QmIsSUF2QmEsRUF3QmIsT0F4QmEsRUF5QmIsS0F6QmEsRUEwQmIsSUExQmEsRUEyQmIsTUEzQmEsRUE0QmIsSUE1QmEsRUE2QmIsS0E3QmEsRUE4QmIsR0E5QmEsRUErQmIsS0EvQmEiLCJzb3VyY2VzQ29udGVudCI6WyJpZGVudGl0eSA9ICh4KSAtPiB4XG5cbndyYXAgPSAoeCkgLT4gLT4geFxuXG4jIEJhc2VkIG9uIF9hcml0eSBmcm9tIFJhbWJkYTpcbiMgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvdjAuMjYuMS9zb3VyY2UvaW50ZXJuYWwvX2FyaXR5LmpzXG5hcml0eSAgPSAoTiwgZikgLT5cbiAgc3dpdGNoIE5cbiAgICB3aGVuIDBcbiAgICAgIChheC4uLikgLT4gZi5hcHBseSBALCBheFxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gMlxuICAgICAgKGEwLCBhMSkgIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDVcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA5XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDEwXG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTkpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgZWxzZVxuICAgICAgdGhyb3cgbmV3IEVycm9yIFwiRmlyc3QgYXJndW1lbnQgdG8gYXJpdHkgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMTAsIGluY2x1c2l2ZS5cIlxuXG51bmFyeSA9IChmKSAtPiBhcml0eSAxLCBmXG5cbmJpbmFyeSA9IChmKSAtPiBhcml0eSAyLCBmXG5cbnRlcm5hcnkgPSAoZikgLT4gYXJpdHkgMywgZlxuXG5mbGlwID0gKGYpIC0+XG4gIHN3aXRjaCBmLmxlbmd0aFxuICAgIHdoZW4gMFxuICAgICAgZlxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmNhbGwgQCwgYTBcbiAgICB3aGVuIDJcbiAgICAgIChhMCwgYTEpICAtPiBmLmNhbGwgQCwgYTEsIGEwXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5jYWxsIEAsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5jYWxsIEAsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA1XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0KSAtPiBmLmNhbGwgQCwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5jYWxsIEAsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5jYWxsIEAsIGE2LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDlcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTgsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gMTBcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSkgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE5LCBhOCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgZWxzZVxuICAgICAgKGF4Li4uKSAtPiBmLmFwcGx5IEAsIGF4LnJldmVyc2UoKVxuXG5jdXJyeSA9IChmKSAtPlxuICBpZiBmLmxlbmd0aCA+IDFcbiAgICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgICAgc2VsZiA9IEBcbiAgICAgIGlmIGF4Lmxlbmd0aCA+PSBmLmxlbmd0aFxuICAgICAgICBmLmFwcGx5IHNlbGYsIGF4XG4gICAgICBlbHNlXG4gICAgICAgIGxlbmd0aCA9IGYubGVuZ3RoIC0gYXgubGVuZ3RoXG4gICAgICAgIGlmIGxlbmd0aCA9PSAxXG4gICAgICAgICAgKHgpIC0+IGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgeCBdXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBjdXJyeSBhcml0eSBsZW5ndGgsIChieC4uLikgLT4gZi5hcHBseSBzZWxmLCBbIGF4Li4uLCBieC4uLiBdXG4gIGVsc2UgZlxuXG5fID0ge31cblxuc3Vic3RpdHV0ZSA9IGN1cnJ5IChheCwgYngpIC0+XG4gIGkgPSAwXG4gIGZvciBhIGluIGF4XG4gICAgaWYgYSA9PSBfXG4gICAgICBieFtpKytdXG4gICAgZWxzZVxuICAgICAgYVxuXG5wYXJ0aWFsID0gKGYsIGF4KSAtPlxuICBuID0gMFxuICBmb3IgYSBpbiBheCB3aGVuIGEgPT0gX1xuICAgIG4rK1xuICBhcml0eSBuLCAoYnguLi4pIC0+IGYgKHN1YnN0aXR1dGUgYXgsIGJ4KS4uLlxuXG5zcHJlYWQgPSAoZikgLT4gKGF4KSAtPiBmIGF4Li4uXG5cbnN0YWNrID0gKGYpIC0+IChheC4uLikgLT4gZiBheFxuXG5waXBlID0gKFsgZiwgZ3guLi4gXSkgLT5cbiAgaWYgZ3gubGVuZ3RoID09IDBcbiAgICBmID8gaWRlbnRpdHlcbiAgZWxzZVxuICAgIGRvICh7IGcgfSA9IHt9KSAtPlxuICAgICAgZyA9IHBpcGUgZ3hcbiAgICAgIGFyaXR5ICggZi5sZW5ndGggKSwgKCBhcmdzLi4uICkgLT5cbiAgICAgICAgZG8gKHsgc2VsZiwgeCB9ID0geyBzZWxmOiBAIH0pIC0+XG4gICAgICAgICAgeCA9IGYuYXBwbHkgc2VsZiwgYXJnc1xuICAgICAgICAgIGlmIHg/LnRoZW4/XG4gICAgICAgICAgICB4LnRoZW4gKCBnLmJpbmQgc2VsZiApXG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgZy5jYWxsIHNlbGYsIHhcblxuZmxvdyA9IHBpcGVcblxuY29tcG9zZSA9IChmeCkgLT4gcGlwZSBmeC5yZXZlcnNlKClcblxuYnBpcGUgPSBwaXBlXG5cbmJmbG93ID0gcGlwZVxuXG5iY29tcG9zZSA9IChmeCkgLT4gYnBpcGUgZngucmV2ZXJzZSgpXG5cbndhaXQgPSAoZikgLT5cbiAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICBQcm9taXNlLmFsbCBheFxuICAgICAgLnRoZW4gKGF4KSAtPiBmIGF4Li4uXG5cbnRlZSA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYSwgYnguLi4pIC0+XG4gICAgaWYgKGsgPSAoZi5hcHBseSBALCBbIGEsIGJ4Li4uIF0pKT8udGhlbj9cbiAgICAgIGsudGhlbiAtPiBhXG4gICAgZWxzZVxuICAgICAgYVxuXG5ydGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLiwgYikgLT5cbiAgICBpZiAoayA9IChmLmFwcGx5IEAsIFsgYXguLi4sIGIgXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGJcbiAgICBlbHNlXG4gICAgICBiXG5cbm9uY2UgPSAoZikgLT5cbiAgZG8gKGs9dW5kZWZpbmVkKSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLFxuICAgICAgKGF4Li4uKSAtPiBpZiBrPyB0aGVuIGsgZWxzZSAoayA9IGYuYXBwbHkgQCwgYXgpXG5cbm1lbW9pemUgPSAoZikgLT5cbiAgZG8gKGNhY2hlID0ge30pIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICAgIGNhY2hlWyBKU09OLnN0cmluZ2lmeSBheCBdID89IGYuYXBwbHkgQCwgYXhcblxuYXBwbHkgPSBjdXJyeSAoZiwgYXgpIC0+IGYuYXBwbHkgbnVsbCwgYXhcblxuYmluZCA9IGN1cnJ5IChmLCB4KSAtPiBmLmJpbmQgeFxuXG5kZXRhY2ggPSAoZikgLT5cbiAgY3VycnkgYXJpdHkgKGYubGVuZ3RoICsgMSksIFxuICAgICh4LCBhcmdzLi4uKSAtPiBmLmFwcGx5IHgsIGFyZ3Ncblxuc2VuZCA9IGN1cnJ5IChuYW1lLCBheCwgb2JqZWN0KSAtPiBvYmplY3RbbmFtZV0uYXBwbHkgb2JqZWN0LCBheFxuXG5pc1Byb21pc2UgPSAoaykgLT4gayBpbnN0YW5jZW9mIFByb21pc2VcblxuY2hhaW4gPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGF4Li4uKSAtPlxuICAgIGlmIChpc1Byb21pc2UgKGsgPSAoZi5hcHBseSBALCBheCkpKVxuICAgICAgay50aGVuID0+IEBcbiAgICBlbHNlXG4gICAgICBAXG5cbm1hcCA9ICggZnggKSAtPlxuICBkbyAoeyBsZW5ndGhzLCBsZW5ndGggfSA9IHt9KSAtPlxuICAgIGxlbmd0aHMgPSBmeC5tYXAgKCBmICkgLT4gZi5sZW5ndGhcbiAgICBsZW5ndGggPSBNYXRoLm1heCBsZW5ndGhzLi4uXG4gICAgYXJpdHkgbGVuZ3RoLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgKCBmLmFwcGx5IEAsIGFyZ3MgKSBmb3IgZiBpbiBmeFxuXG5wcm94eSA9IGN1cnJ5IChuYW1lLCBheCkgLT5cbiAgKGJ4Li4uKSAtPiBAW25hbWVdLmFwcGx5IEAsIFsgYXguLi4sIGJ4Li4uIF1cblxuZXhwb3J0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIGJwaXBlXG4gIGJjb21wb3NlXG4gIGJmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkZW50aXR5XG4gIHdyYXBcbiAgYXJpdHlcbiAgdW5hcnlcbiAgYmluYXJ5XG4gIHRlcm5hcnlcbiAgZmxpcFxuICBjdXJyeVxuICBfXG4gIHN1YnN0aXR1dGVcbiAgcGFydGlhbFxuICBzcHJlYWRcbiAgc3RhY2tcbiAgcGlwZVxuICBjb21wb3NlXG4gIHdhaXRcbiAgZmxvd1xuICBicGlwZVxuICBiY29tcG9zZVxuICBiZmxvd1xuICB0ZWVcbiAgcnRlZVxuICBvbmNlXG4gIG1lbW9pemVcbiAgYXBwbHlcbiAgYmluZFxuICBkZXRhY2hcbiAgc2VuZFxuICBjaGFpblxuICBtYXBcbiAgcHJveHlcbn1cbiJdfQ==
|
|
364
|
+
//# sourceURL=/@dashkite/joy/src/function.coffee
|
|
365
|
+
|
|
366
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvZnVuY3Rpb24uY29mZmVlIl0sInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpZGVudGl0eSA9ICh4KSAtPiB4XG5cbndyYXAgPSAoeCkgLT4gLT4geFxuXG4jIEJhc2VkIG9uIF9hcml0eSBmcm9tIFJhbWJkYTpcbiMgaHR0cHM6Ly9naXRodWIuY29tL3JhbWRhL3JhbWRhL2Jsb2IvdjAuMjYuMS9zb3VyY2UvaW50ZXJuYWwvX2FyaXR5LmpzXG5hcml0eSAgPSAoTiwgZikgLT5cbiAgc3dpdGNoIE5cbiAgICB3aGVuIDBcbiAgICAgIChheC4uLikgLT4gZi5hcHBseSBALCBheFxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmFwcGx5IEAsIGFyZ3VtZW50c1xuICAgIHdoZW4gMlxuICAgICAgKGEwLCBhMSkgIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDVcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgd2hlbiA5XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCkgLT4gZi5hcHBseSBALCBhcmd1bWVudHNcbiAgICB3aGVuIDEwXG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYsIGE3LCBhOCwgYTkpIC0+IGYuYXBwbHkgQCwgYXJndW1lbnRzXG4gICAgZWxzZVxuICAgICAgdGhyb3cgbmV3IEVycm9yIFwiRmlyc3QgYXJndW1lbnQgdG8gYXJpdHkgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMTAsIGluY2x1c2l2ZS5cIlxuXG51bmFyeSA9IChmKSAtPiBhcml0eSAxLCBmXG5cbmJpbmFyeSA9IChmKSAtPiBhcml0eSAyLCBmXG5cbnRlcm5hcnkgPSAoZikgLT4gYXJpdHkgMywgZlxuXG5mbGlwID0gKGYpIC0+XG4gIHN3aXRjaCBmLmxlbmd0aFxuICAgIHdoZW4gMFxuICAgICAgZlxuICAgIHdoZW4gMVxuICAgICAgKGEwKSAtPiBmLmNhbGwgQCwgYTBcbiAgICB3aGVuIDJcbiAgICAgIChhMCwgYTEpICAtPiBmLmNhbGwgQCwgYTEsIGEwXG4gICAgd2hlbiAzXG4gICAgICAoYTAsIGExLCBhMikgLT4gZi5jYWxsIEAsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDRcbiAgICAgIChhMCwgYTEsIGEyLCBhMykgLT4gZi5jYWxsIEAsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA1XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0KSAtPiBmLmNhbGwgQCwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgd2hlbiA2XG4gICAgICAoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgLT4gZi5jYWxsIEAsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDdcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNikgLT4gZi5jYWxsIEAsIGE2LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDhcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcpIC0+XG4gICAgICAgIGYuY2FsbCBALCBhNywgYTYsIGE1LCBhNCwgYTMsIGEyLCBhMSwgYTBcbiAgICB3aGVuIDlcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSAtPlxuICAgICAgICBmLmNhbGwgQCwgYTgsIGE3LCBhNiwgYTUsIGE0LCBhMywgYTIsIGExLCBhMFxuICAgIHdoZW4gMTBcbiAgICAgIChhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSkgLT5cbiAgICAgICAgZi5jYWxsIEAsIGE5LCBhOCwgYTcsIGE2LCBhNSwgYTQsIGEzLCBhMiwgYTEsIGEwXG4gICAgZWxzZVxuICAgICAgKGF4Li4uKSAtPiBmLmFwcGx5IEAsIGF4LnJldmVyc2UoKVxuXG5jdXJyeSA9IChmKSAtPlxuICBpZiBmLmxlbmd0aCA+IDFcbiAgICBhcml0eSBmLmxlbmd0aCwgKGF4Li4uKSAtPlxuICAgICAgc2VsZiA9IEBcbiAgICAgIGlmIGF4Lmxlbmd0aCA+PSBmLmxlbmd0aFxuICAgICAgICBmLmFwcGx5IHNlbGYsIGF4XG4gICAgICBlbHNlXG4gICAgICAgIGxlbmd0aCA9IGYubGVuZ3RoIC0gYXgubGVuZ3RoXG4gICAgICAgIGlmIGxlbmd0aCA9PSAxXG4gICAgICAgICAgKHgpIC0+IGYuYXBwbHkgc2VsZiwgWyBheC4uLiwgeCBdXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBjdXJyeSBhcml0eSBsZW5ndGgsIChieC4uLikgLT4gZi5hcHBseSBzZWxmLCBbIGF4Li4uLCBieC4uLiBdXG4gIGVsc2UgZlxuXG5fID0ge31cblxuc3Vic3RpdHV0ZSA9IGN1cnJ5IChheCwgYngpIC0+XG4gIGkgPSAwXG4gIGZvciBhIGluIGF4XG4gICAgaWYgYSA9PSBfXG4gICAgICBieFtpKytdXG4gICAgZWxzZVxuICAgICAgYVxuXG5wYXJ0aWFsID0gKGYsIGF4KSAtPlxuICBuID0gMFxuICBmb3IgYSBpbiBheCB3aGVuIGEgPT0gX1xuICAgIG4rK1xuICBhcml0eSBuLCAoYnguLi4pIC0+IGYgKHN1YnN0aXR1dGUgYXgsIGJ4KS4uLlxuXG5zcHJlYWQgPSAoZikgLT4gKGF4KSAtPiBmIGF4Li4uXG5cbnN0YWNrID0gKGYpIC0+IChheC4uLikgLT4gZiBheFxuXG5waXBlID0gKFsgZiwgZ3guLi4gXSkgLT5cbiAgaWYgZ3gubGVuZ3RoID09IDBcbiAgICBmID8gaWRlbnRpdHlcbiAgZWxzZVxuICAgIGRvICh7IGcgfSA9IHt9KSAtPlxuICAgICAgZyA9IHBpcGUgZ3hcbiAgICAgIGFyaXR5ICggZi5sZW5ndGggKSwgKCBhcmdzLi4uICkgLT5cbiAgICAgICAgZG8gKHsgc2VsZiwgeCB9ID0geyBzZWxmOiBAIH0pIC0+XG4gICAgICAgICAgeCA9IGYuYXBwbHkgc2VsZiwgYXJnc1xuICAgICAgICAgIGlmIHg/LnRoZW4/XG4gICAgICAgICAgICB4LnRoZW4gKCBnLmJpbmQgc2VsZiApXG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgZy5jYWxsIHNlbGYsIHhcblxuZmxvdyA9IHBpcGVcblxuY29tcG9zZSA9IChmeCkgLT4gcGlwZSBmeC5yZXZlcnNlKClcblxuYnBpcGUgPSBwaXBlXG5cbmJmbG93ID0gcGlwZVxuXG5iY29tcG9zZSA9IChmeCkgLT4gYnBpcGUgZngucmV2ZXJzZSgpXG5cbndhaXQgPSAoZikgLT5cbiAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICBQcm9taXNlLmFsbCBheFxuICAgICAgLnRoZW4gKGF4KSAtPiBmIGF4Li4uXG5cbnRlZSA9IChmKSAtPlxuICBhcml0eSAoTWF0aC5tYXggZi5sZW5ndGgsIDEpLCAoYSwgYnguLi4pIC0+XG4gICAgaWYgKGsgPSAoZi5hcHBseSBALCBbIGEsIGJ4Li4uIF0pKT8udGhlbj9cbiAgICAgIGsudGhlbiAtPiBhXG4gICAgZWxzZVxuICAgICAgYVxuXG5ydGVlID0gKGYpIC0+XG4gIGFyaXR5IChNYXRoLm1heCBmLmxlbmd0aCwgMSksIChheC4uLiwgYikgLT5cbiAgICBpZiAoayA9IChmLmFwcGx5IEAsIFsgYXguLi4sIGIgXSkpPy50aGVuP1xuICAgICAgay50aGVuIC0+IGJcbiAgICBlbHNlXG4gICAgICBiXG5cbm9uY2UgPSAoZikgLT5cbiAgZG8gKGs9dW5kZWZpbmVkKSAtPlxuICAgIGFyaXR5IGYubGVuZ3RoLFxuICAgICAgKGF4Li4uKSAtPiBpZiBrPyB0aGVuIGsgZWxzZSAoayA9IGYuYXBwbHkgQCwgYXgpXG5cbm1lbW9pemUgPSAoZikgLT5cbiAgZG8gKGNhY2hlID0ge30pIC0+XG4gICAgYXJpdHkgZi5sZW5ndGgsIChheC4uLikgLT5cbiAgICAgIGNhY2hlWyBKU09OLnN0cmluZ2lmeSBheCBdID89IGYuYXBwbHkgQCwgYXhcblxuYXBwbHkgPSBjdXJyeSAoZiwgYXgpIC0+IGYuYXBwbHkgbnVsbCwgYXhcblxuYmluZCA9IGN1cnJ5IChmLCB4KSAtPiBmLmJpbmQgeFxuXG5kZXRhY2ggPSAoZikgLT5cbiAgY3VycnkgYXJpdHkgKGYubGVuZ3RoICsgMSksIFxuICAgICh4LCBhcmdzLi4uKSAtPiBmLmFwcGx5IHgsIGFyZ3Ncblxuc2VuZCA9IGN1cnJ5IChuYW1lLCBheCwgb2JqZWN0KSAtPiBvYmplY3RbbmFtZV0uYXBwbHkgb2JqZWN0LCBheFxuXG5pc1Byb21pc2UgPSAoaykgLT4gayBpbnN0YW5jZW9mIFByb21pc2VcblxuY2hhaW4gPSAoZikgLT5cbiAgYXJpdHkgKE1hdGgubWF4IGYubGVuZ3RoLCAxKSwgKGF4Li4uKSAtPlxuICAgIGlmIChpc1Byb21pc2UgKGsgPSAoZi5hcHBseSBALCBheCkpKVxuICAgICAgay50aGVuID0+IEBcbiAgICBlbHNlXG4gICAgICBAXG5cbm1hcCA9ICggZnggKSAtPlxuICBkbyAoeyBsZW5ndGhzLCBsZW5ndGggfSA9IHt9KSAtPlxuICAgIGxlbmd0aHMgPSBmeC5tYXAgKCBmICkgLT4gZi5sZW5ndGhcbiAgICBsZW5ndGggPSBNYXRoLm1heCBsZW5ndGhzLi4uXG4gICAgYXJpdHkgbGVuZ3RoLCAoIGFyZ3MuLi4gKSAtPlxuICAgICAgKCBmLmFwcGx5IEAsIGFyZ3MgKSBmb3IgZiBpbiBmeFxuXG5wcm94eSA9IGN1cnJ5IChuYW1lLCBheCkgLT5cbiAgKGJ4Li4uKSAtPiBAW25hbWVdLmFwcGx5IEAsIFsgYXguLi4sIGJ4Li4uIF1cblxuZXhwb3J0IHtcbiAgaWRlbnRpdHlcbiAgd3JhcFxuICBhcml0eVxuICB1bmFyeVxuICBiaW5hcnlcbiAgdGVybmFyeVxuICBmbGlwXG4gIGN1cnJ5XG4gIF9cbiAgc3Vic3RpdHV0ZVxuICBwYXJ0aWFsXG4gIHNwcmVhZFxuICBzdGFja1xuICBwaXBlXG4gIGNvbXBvc2VcbiAgd2FpdFxuICBmbG93XG4gIGJwaXBlXG4gIGJjb21wb3NlXG4gIGJmbG93XG4gIHRlZVxuICBydGVlXG4gIG9uY2VcbiAgbWVtb2l6ZVxuICBhcHBseVxuICBiaW5kXG4gIGRldGFjaFxuICBzZW5kXG4gIGNoYWluXG4gIG1hcFxuICBwcm94eVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkZW50aXR5XG4gIHdyYXBcbiAgYXJpdHlcbiAgdW5hcnlcbiAgYmluYXJ5XG4gIHRlcm5hcnlcbiAgZmxpcFxuICBjdXJyeVxuICBfXG4gIHN1YnN0aXR1dGVcbiAgcGFydGlhbFxuICBzcHJlYWRcbiAgc3RhY2tcbiAgcGlwZVxuICBjb21wb3NlXG4gIHdhaXRcbiAgZmxvd1xuICBicGlwZVxuICBiY29tcG9zZVxuICBiZmxvd1xuICB0ZWVcbiAgcnRlZVxuICBvbmNlXG4gIG1lbW9pemVcbiAgYXBwbHlcbiAgYmluZFxuICBkZXRhY2hcbiAgc2VuZFxuICBjaGFpblxuICBtYXBcbiAgcHJveHlcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFBLENBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLFFBQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxLQUFBLEVBQUEsTUFBQSxFQUFBLElBQUEsRUFBQSxJQUFBLEVBQUEsUUFBQSxFQUFBLFNBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxPQUFBLEVBQUEsSUFB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
|