UNPKG

1.66 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const type_1 = require("../type");
4var foreachs;
5(function (foreachs) {
6 function array(xs, f) {
7 xs.forEach(f);
8 }
9 foreachs.array = array;
10 function object(x, f) {
11 /* tslint:disable:forin */
12 for (const k in x) {
13 f(x[k], k, x);
14 }
15 /* tslint:enable:forin */
16 }
17 foreachs.object = object;
18 function set(xs, f) {
19 xs.forEach(x => f(x, xs));
20 }
21 foreachs.set = set;
22 function map(xs, f) {
23 xs.forEach(f);
24 }
25 foreachs.map = map;
26 function nodeList(xs, f) {
27 for (let i = 0; i < xs.length; i++) {
28 f(xs.item(i), i, xs);
29 }
30 }
31 foreachs.nodeList = nodeList;
32 function any(o, f) {
33 if (Array.isArray(o)) {
34 return o.forEach(f);
35 }
36 if (o instanceof HTMLCollection) {
37 return nodeList(o, f);
38 }
39 switch (type_1.getObjectType(o)) {
40 case 'Array':
41 return array(o, f);
42 case 'Set':
43 return set(o, f);
44 case 'Map':
45 return map(o, f);
46 case 'Object':
47 return object(o, f);
48 default:
49 return f(o);
50 }
51 }
52 foreachs.any = any;
53})(foreachs = exports.foreachs || (exports.foreachs = {}));
54exports.foreach_array = foreachs.array;
55exports.foreach_object = foreachs.object;
56exports.foreach_set = foreachs.set;
57exports.foreach_map = foreachs.map;
58exports.foreach_nodeList = foreachs.nodeList;
59exports.foreach_any = foreachs.any;
60//# sourceMappingURL=foreach.js.map
\No newline at end of file