1 | "use strict";
|
2 | var __spreadArrays = (this && this.__spreadArrays) || function () {
|
3 | for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
4 | for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
5 | for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
6 | r[k] = a[j];
|
7 | return r;
|
8 | };
|
9 | Object.defineProperty(exports, "__esModule", { value: true });
|
10 | exports.silentRejection = exports.silenceUncaughtInPromise = exports._extend = exports.copy = exports.tail = exports.applyPairs = exports.arrayTuples = exports.pairs = exports.assertFn = exports.assertMap = exports.assertPredicate = exports.flatten = exports.unnest = exports.uniqR = exports.pushR = exports.flattenR = exports.unnestR = exports.anyTrueR = exports.allTrueR = exports.values = exports.map = exports.mapObj = exports.find = exports.filter = exports.pluck = exports.omit = exports.pick = exports.ancestors = exports.mergeR = exports.defaults = exports.deregAll = exports._pushTo = exports.pushTo = exports._removeFrom = exports.removeFrom = exports._inArray = exports.inArray = exports.inherit = exports.createProxyFunctions = exports.noop = exports.identity = exports.equals = exports.extend = exports.forEach = exports.toJson = exports.fromJson = exports.root = void 0;
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 | var predicates_1 = require("./predicates");
|
20 | var hof_1 = require("./hof");
|
21 | var coreservices_1 = require("./coreservices");
|
22 | exports.root = (typeof self === 'object' && self.self === self && self) ||
|
23 | (typeof global === 'object' && global.global === global && global) ||
|
24 | this;
|
25 | var angular = exports.root.angular || {};
|
26 | exports.fromJson = angular.fromJson || JSON.parse.bind(JSON);
|
27 | exports.toJson = angular.toJson || JSON.stringify.bind(JSON);
|
28 | exports.forEach = angular.forEach || _forEach;
|
29 | exports.extend = Object.assign || _extend;
|
30 | exports.equals = angular.equals || _equals;
|
31 | function identity(x) {
|
32 | return x;
|
33 | }
|
34 | exports.identity = identity;
|
35 | function noop() { }
|
36 | exports.noop = noop;
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 |
|
85 |
|
86 |
|
87 |
|
88 |
|
89 |
|
90 |
|
91 |
|
92 |
|
93 | function createProxyFunctions(source, target, bind, fnNames, latebind) {
|
94 | if (latebind === void 0) { latebind = false; }
|
95 | var bindFunction = function (fnName) { return source()[fnName].bind(bind()); };
|
96 | var makeLateRebindFn = function (fnName) {
|
97 | return function lateRebindFunction() {
|
98 | target[fnName] = bindFunction(fnName);
|
99 | return target[fnName].apply(null, arguments);
|
100 | };
|
101 | };
|
102 | fnNames = fnNames || Object.keys(source());
|
103 | return fnNames.reduce(function (acc, name) {
|
104 | acc[name] = latebind ? makeLateRebindFn(name) : bindFunction(name);
|
105 | return acc;
|
106 | }, target);
|
107 | }
|
108 | exports.createProxyFunctions = createProxyFunctions;
|
109 |
|
110 |
|
111 |
|
112 |
|
113 | exports.inherit = function (parent, extra) { return exports.extend(Object.create(parent), extra); };
|
114 |
|
115 | exports.inArray = hof_1.curry(_inArray);
|
116 | function _inArray(array, obj) {
|
117 | return array.indexOf(obj) !== -1;
|
118 | }
|
119 | exports._inArray = _inArray;
|
120 |
|
121 |
|
122 |
|
123 |
|
124 | exports.removeFrom = hof_1.curry(_removeFrom);
|
125 | function _removeFrom(array, obj) {
|
126 | var idx = array.indexOf(obj);
|
127 | if (idx >= 0)
|
128 | array.splice(idx, 1);
|
129 | return array;
|
130 | }
|
131 | exports._removeFrom = _removeFrom;
|
132 |
|
133 | exports.pushTo = hof_1.curry(_pushTo);
|
134 | function _pushTo(arr, val) {
|
135 | return arr.push(val), val;
|
136 | }
|
137 | exports._pushTo = _pushTo;
|
138 |
|
139 | exports.deregAll = function (functions) {
|
140 | return functions.slice().forEach(function (fn) {
|
141 | typeof fn === 'function' && fn();
|
142 | exports.removeFrom(functions, fn);
|
143 | });
|
144 | };
|
145 |
|
146 |
|
147 |
|
148 |
|
149 |
|
150 | function defaults(opts) {
|
151 | var defaultsList = [];
|
152 | for (var _i = 1; _i < arguments.length; _i++) {
|
153 | defaultsList[_i - 1] = arguments[_i];
|
154 | }
|
155 | var defaultVals = exports.extend.apply(void 0, __spreadArrays([{}], defaultsList.reverse()));
|
156 | return exports.extend(defaultVals, pick(opts || {}, Object.keys(defaultVals)));
|
157 | }
|
158 | exports.defaults = defaults;
|
159 |
|
160 | exports.mergeR = function (memo, item) { return exports.extend(memo, item); };
|
161 |
|
162 |
|
163 |
|
164 |
|
165 |
|
166 |
|
167 |
|
168 | function ancestors(first, second) {
|
169 | var path = [];
|
170 |
|
171 | for (var n in first.path) {
|
172 | if (first.path[n] !== second.path[n])
|
173 | break;
|
174 | path.push(first.path[n]);
|
175 | }
|
176 | return path;
|
177 | }
|
178 | exports.ancestors = ancestors;
|
179 |
|
180 |
|
181 |
|
182 |
|
183 |
|
184 |
|
185 |
|
186 |
|
187 |
|
188 |
|
189 |
|
190 | function pick(obj, propNames) {
|
191 | var objCopy = {};
|
192 | for (var _prop in obj) {
|
193 | if (propNames.indexOf(_prop) !== -1) {
|
194 | objCopy[_prop] = obj[_prop];
|
195 | }
|
196 | }
|
197 | return objCopy;
|
198 | }
|
199 | exports.pick = pick;
|
200 |
|
201 |
|
202 |
|
203 |
|
204 |
|
205 |
|
206 |
|
207 |
|
208 |
|
209 |
|
210 |
|
211 |
|
212 | function omit(obj, propNames) {
|
213 | return Object.keys(obj)
|
214 | .filter(hof_1.not(exports.inArray(propNames)))
|
215 | .reduce(function (acc, key) { return ((acc[key] = obj[key]), acc); }, {});
|
216 | }
|
217 | exports.omit = omit;
|
218 |
|
219 |
|
220 |
|
221 | function pluck(collection, propName) {
|
222 | return map(collection, hof_1.prop(propName));
|
223 | }
|
224 | exports.pluck = pluck;
|
225 |
|
226 | function filter(collection, callback) {
|
227 | var arr = predicates_1.isArray(collection), result = arr ? [] : {};
|
228 | var accept = arr ? function (x) { return result.push(x); } : function (x, key) { return (result[key] = x); };
|
229 | exports.forEach(collection, function (item, i) {
|
230 | if (callback(item, i))
|
231 | accept(item, i);
|
232 | });
|
233 | return result;
|
234 | }
|
235 | exports.filter = filter;
|
236 |
|
237 | function find(collection, callback) {
|
238 | var result;
|
239 | exports.forEach(collection, function (item, i) {
|
240 | if (result)
|
241 | return;
|
242 | if (callback(item, i))
|
243 | result = item;
|
244 | });
|
245 | return result;
|
246 | }
|
247 | exports.find = find;
|
248 |
|
249 | exports.mapObj = map;
|
250 |
|
251 | function map(collection, callback, target) {
|
252 | target = target || (predicates_1.isArray(collection) ? [] : {});
|
253 | exports.forEach(collection, function (item, i) { return (target[i] = callback(item, i)); });
|
254 | return target;
|
255 | }
|
256 | exports.map = map;
|
257 |
|
258 |
|
259 |
|
260 |
|
261 |
|
262 |
|
263 |
|
264 |
|
265 |
|
266 |
|
267 | exports.values = function (obj) { return Object.keys(obj).map(function (key) { return obj[key]; }); };
|
268 |
|
269 |
|
270 |
|
271 |
|
272 |
|
273 |
|
274 |
|
275 |
|
276 |
|
277 |
|
278 |
|
279 |
|
280 |
|
281 | exports.allTrueR = function (memo, elem) { return memo && elem; };
|
282 |
|
283 |
|
284 |
|
285 |
|
286 |
|
287 |
|
288 |
|
289 |
|
290 |
|
291 |
|
292 |
|
293 |
|
294 |
|
295 | exports.anyTrueR = function (memo, elem) { return memo || elem; };
|
296 |
|
297 |
|
298 |
|
299 |
|
300 |
|
301 |
|
302 |
|
303 |
|
304 |
|
305 | exports.unnestR = function (memo, elem) { return memo.concat(elem); };
|
306 |
|
307 |
|
308 |
|
309 |
|
310 |
|
311 |
|
312 |
|
313 |
|
314 |
|
315 |
|
316 | exports.flattenR = function (memo, elem) {
|
317 | return predicates_1.isArray(elem) ? memo.concat(elem.reduce(exports.flattenR, [])) : pushR(memo, elem);
|
318 | };
|
319 |
|
320 |
|
321 |
|
322 |
|
323 | function pushR(arr, obj) {
|
324 | arr.push(obj);
|
325 | return arr;
|
326 | }
|
327 | exports.pushR = pushR;
|
328 |
|
329 | exports.uniqR = function (acc, token) { return (exports.inArray(acc, token) ? acc : pushR(acc, token)); };
|
330 |
|
331 |
|
332 |
|
333 |
|
334 |
|
335 |
|
336 |
|
337 |
|
338 |
|
339 |
|
340 | exports.unnest = function (arr) { return arr.reduce(exports.unnestR, []); };
|
341 |
|
342 |
|
343 |
|
344 |
|
345 |
|
346 |
|
347 |
|
348 |
|
349 |
|
350 |
|
351 | exports.flatten = function (arr) { return arr.reduce(exports.flattenR, []); };
|
352 |
|
353 |
|
354 |
|
355 |
|
356 |
|
357 |
|
358 |
|
359 |
|
360 |
|
361 |
|
362 |
|
363 |
|
364 |
|
365 | exports.assertPredicate = assertFn;
|
366 |
|
367 |
|
368 |
|
369 |
|
370 |
|
371 |
|
372 |
|
373 |
|
374 |
|
375 |
|
376 |
|
377 |
|
378 |
|
379 |
|
380 |
|
381 |
|
382 | exports.assertMap = assertFn;
|
383 | function assertFn(predicateOrMap, errMsg) {
|
384 | if (errMsg === void 0) { errMsg = 'assert failure'; }
|
385 | return function (obj) {
|
386 | var result = predicateOrMap(obj);
|
387 | if (!result) {
|
388 | throw new Error(predicates_1.isFunction(errMsg) ? errMsg(obj) : errMsg);
|
389 | }
|
390 | return result;
|
391 | };
|
392 | }
|
393 | exports.assertFn = assertFn;
|
394 |
|
395 |
|
396 |
|
397 |
|
398 |
|
399 |
|
400 |
|
401 |
|
402 |
|
403 | exports.pairs = function (obj) { return Object.keys(obj).map(function (key) { return [key, obj[key]]; }); };
|
404 |
|
405 |
|
406 |
|
407 |
|
408 |
|
409 |
|
410 |
|
411 |
|
412 |
|
413 |
|
414 |
|
415 |
|
416 |
|
417 |
|
418 | function arrayTuples() {
|
419 | var args = [];
|
420 | for (var _i = 0; _i < arguments.length; _i++) {
|
421 | args[_i] = arguments[_i];
|
422 | }
|
423 | if (args.length === 0)
|
424 | return [];
|
425 | var maxArrayLen = args.reduce(function (min, arr) { return Math.min(arr.length, min); }, 9007199254740991);
|
426 | var result = [];
|
427 | var _loop_1 = function (i) {
|
428 |
|
429 |
|
430 | switch (args.length) {
|
431 | case 1:
|
432 | result.push([args[0][i]]);
|
433 | break;
|
434 | case 2:
|
435 | result.push([args[0][i], args[1][i]]);
|
436 | break;
|
437 | case 3:
|
438 | result.push([args[0][i], args[1][i], args[2][i]]);
|
439 | break;
|
440 | case 4:
|
441 | result.push([args[0][i], args[1][i], args[2][i], args[3][i]]);
|
442 | break;
|
443 | default:
|
444 | result.push(args.map(function (array) { return array[i]; }));
|
445 | break;
|
446 | }
|
447 | };
|
448 | for (var i = 0; i < maxArrayLen; i++) {
|
449 | _loop_1(i);
|
450 | }
|
451 | return result;
|
452 | }
|
453 | exports.arrayTuples = arrayTuples;
|
454 |
|
455 |
|
456 |
|
457 |
|
458 |
|
459 |
|
460 |
|
461 |
|
462 |
|
463 |
|
464 |
|
465 |
|
466 |
|
467 |
|
468 |
|
469 |
|
470 |
|
471 |
|
472 |
|
473 |
|
474 | function applyPairs(memo, keyValTuple) {
|
475 | var key, value;
|
476 | if (predicates_1.isArray(keyValTuple))
|
477 | key = keyValTuple[0], value = keyValTuple[1];
|
478 | if (!predicates_1.isString(key))
|
479 | throw new Error('invalid parameters to applyPairs');
|
480 | memo[key] = value;
|
481 | return memo;
|
482 | }
|
483 | exports.applyPairs = applyPairs;
|
484 |
|
485 | function tail(arr) {
|
486 | return (arr.length && arr[arr.length - 1]) || undefined;
|
487 | }
|
488 | exports.tail = tail;
|
489 |
|
490 |
|
491 |
|
492 | function copy(src, dest) {
|
493 | if (dest)
|
494 | Object.keys(dest).forEach(function (key) { return delete dest[key]; });
|
495 | if (!dest)
|
496 | dest = {};
|
497 | return exports.extend(dest, src);
|
498 | }
|
499 | exports.copy = copy;
|
500 |
|
501 | function _forEach(obj, cb, _this) {
|
502 | if (predicates_1.isArray(obj))
|
503 | return obj.forEach(cb, _this);
|
504 | Object.keys(obj).forEach(function (key) { return cb(obj[key], key); });
|
505 | }
|
506 | function _extend(toObj) {
|
507 | for (var i = 1; i < arguments.length; i++) {
|
508 | var obj = arguments[i];
|
509 | if (!obj)
|
510 | continue;
|
511 | var keys = Object.keys(obj);
|
512 | for (var j = 0; j < keys.length; j++) {
|
513 | toObj[keys[j]] = obj[keys[j]];
|
514 | }
|
515 | }
|
516 | return toObj;
|
517 | }
|
518 | exports._extend = _extend;
|
519 | function _equals(o1, o2) {
|
520 | if (o1 === o2)
|
521 | return true;
|
522 | if (o1 === null || o2 === null)
|
523 | return false;
|
524 | if (o1 !== o1 && o2 !== o2)
|
525 | return true;
|
526 | var t1 = typeof o1, t2 = typeof o2;
|
527 | if (t1 !== t2 || t1 !== 'object')
|
528 | return false;
|
529 | var tup = [o1, o2];
|
530 | if (hof_1.all(predicates_1.isArray)(tup))
|
531 | return _arraysEq(o1, o2);
|
532 | if (hof_1.all(predicates_1.isDate)(tup))
|
533 | return o1.getTime() === o2.getTime();
|
534 | if (hof_1.all(predicates_1.isRegExp)(tup))
|
535 | return o1.toString() === o2.toString();
|
536 | if (hof_1.all(predicates_1.isFunction)(tup))
|
537 | return true;
|
538 | var predicates = [predicates_1.isFunction, predicates_1.isArray, predicates_1.isDate, predicates_1.isRegExp];
|
539 | if (predicates.map(hof_1.any).reduce(function (b, fn) { return b || !!fn(tup); }, false))
|
540 | return false;
|
541 | var keys = {};
|
542 |
|
543 | for (var key in o1) {
|
544 | if (!_equals(o1[key], o2[key]))
|
545 | return false;
|
546 | keys[key] = true;
|
547 | }
|
548 | for (var key in o2) {
|
549 | if (!keys[key])
|
550 | return false;
|
551 | }
|
552 | return true;
|
553 | }
|
554 | function _arraysEq(a1, a2) {
|
555 | if (a1.length !== a2.length)
|
556 | return false;
|
557 | return arrayTuples(a1, a2).reduce(function (b, t) { return b && _equals(t[0], t[1]); }, true);
|
558 | }
|
559 |
|
560 | exports.silenceUncaughtInPromise = function (promise) { return promise.catch(function (e) { return 0; }) && promise; };
|
561 | exports.silentRejection = function (error) { return exports.silenceUncaughtInPromise(coreservices_1.services.$q.reject(error)); };
|
562 |
|
\ | No newline at end of file |