@webalternatif/js-core 1.2.1 → 1.3.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/dist/cjs/dom.js +215 -37
- package/dist/cjs/index.js +6 -3
- package/dist/cjs/random.js +14 -9
- package/dist/cjs/string.js +35 -7
- package/dist/cjs/traversal.js +2 -2
- package/dist/esm/dom.js +215 -37
- package/dist/esm/index.js +6 -3
- package/dist/esm/random.js +14 -9
- package/dist/esm/string.js +35 -7
- package/dist/esm/traversal.js +2 -2
- package/package.json +4 -3
- package/types/dom.d.ts +57 -21
- package/types/index.d.ts +46 -11
- package/types/random.d.ts +1 -1
- package/types/string.d.ts +1 -1
- package/types/traversal.d.ts +1 -1
package/dist/cjs/dom.js
CHANGED
|
@@ -4,26 +4,51 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
4
4
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
5
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
6
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7
|
-
import { isArray, isArrayLike, isObject, isString } from "./is.js";
|
|
7
|
+
import { isArray, isArrayLike, isFunction, isObject, isPlainObject, isString } from "./is.js";
|
|
8
8
|
import { camelCase } from "./string.js";
|
|
9
9
|
import { each, foreach, map } from "./traversal.js";
|
|
10
10
|
import { inArray } from "./array.js";
|
|
11
11
|
var cssNumber = ['animationIterationCount', 'aspectRatio', 'borderImageSlice', 'columnCount', 'flexGrow', 'flexShrink', 'fontWeight', 'gridArea', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'scale', 'widows', 'zIndex', 'zoom', 'fillOpacity', 'floodOpacity', 'stopOpacity', 'strokeMiterlimit', 'strokeOpacity'];
|
|
12
|
+
var LISTENERS = new WeakMap();
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param {any} o
|
|
16
|
+
* @returns {boolean}
|
|
17
|
+
*/
|
|
12
18
|
export var isWindow = function isWindow(o) {
|
|
13
19
|
return !!o && o === o.window;
|
|
14
20
|
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @param {any} o
|
|
24
|
+
* @returns {boolean}
|
|
25
|
+
*/
|
|
26
|
+
export var isDocument = function isDocument(o) {
|
|
27
|
+
return !!o && o.nodeType === 9;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @param {any} o
|
|
32
|
+
* @returns {boolean}
|
|
33
|
+
*/
|
|
15
34
|
export var isDomElement = function isDomElement(o) {
|
|
16
35
|
return isObject(o) && o instanceof HTMLElement;
|
|
17
36
|
};
|
|
18
|
-
|
|
19
|
-
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @param {Element} el
|
|
40
|
+
* @param {string} cssRule
|
|
41
|
+
* @returns {string}
|
|
42
|
+
*/
|
|
43
|
+
export var getStyle = function getStyle(el, cssRule) {
|
|
44
|
+
if (!isDomElement(el)) {
|
|
20
45
|
return '';
|
|
21
46
|
}
|
|
22
47
|
if (window.getComputedStyle) {
|
|
23
|
-
var computedStyle = window.getComputedStyle(
|
|
48
|
+
var computedStyle = window.getComputedStyle(el, null);
|
|
24
49
|
return computedStyle.getPropertyValue(cssRule) || computedStyle[camelCase(cssRule)] || '';
|
|
25
50
|
}
|
|
26
|
-
return
|
|
51
|
+
return el.style[camelCase(cssRule)] || '';
|
|
27
52
|
};
|
|
28
53
|
export default {
|
|
29
54
|
/**
|
|
@@ -74,6 +99,26 @@ export default {
|
|
|
74
99
|
}
|
|
75
100
|
return Array.from(refEl.querySelectorAll(selector));
|
|
76
101
|
},
|
|
102
|
+
/**
|
|
103
|
+
* @param {Element} el
|
|
104
|
+
* @param {string} data
|
|
105
|
+
* @param {string} value
|
|
106
|
+
* @returns {Element|null}
|
|
107
|
+
*/
|
|
108
|
+
findOneByData: function findOneByData(el, data, value) {
|
|
109
|
+
var _this$findByData$;
|
|
110
|
+
return (_this$findByData$ = this.findByData(el, data, value)[0]) !== null && _this$findByData$ !== void 0 ? _this$findByData$ : null;
|
|
111
|
+
},
|
|
112
|
+
/**
|
|
113
|
+
* @param {Element} el
|
|
114
|
+
* @param {string} data
|
|
115
|
+
* @param {string} value
|
|
116
|
+
* @returns {Element[]}
|
|
117
|
+
*/
|
|
118
|
+
findByData: function findByData(el, data, value) {
|
|
119
|
+
var escapeValue = CSS.escape(value);
|
|
120
|
+
return this.find(el, "[data-".concat(data, "=\"").concat(escapeValue, "\"]"));
|
|
121
|
+
},
|
|
77
122
|
/**
|
|
78
123
|
* @param {Element|NodeList|Array<Element>} el
|
|
79
124
|
* @param {string} className
|
|
@@ -147,26 +192,38 @@ export default {
|
|
|
147
192
|
},
|
|
148
193
|
/**
|
|
149
194
|
* @param {Node} node
|
|
150
|
-
* @param {...Node} children
|
|
195
|
+
* @param {...(Node|string)} children
|
|
151
196
|
* @returns {Node}
|
|
152
197
|
*/
|
|
153
198
|
append: function append(node) {
|
|
199
|
+
var _this = this;
|
|
154
200
|
for (var _len = arguments.length, children = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
155
201
|
children[_key - 1] = arguments[_key];
|
|
156
202
|
}
|
|
157
|
-
|
|
203
|
+
foreach(children, function (child) {
|
|
204
|
+
if (isString(child)) {
|
|
205
|
+
child = _this.create(child);
|
|
206
|
+
}
|
|
207
|
+
child && node.append(child);
|
|
208
|
+
});
|
|
158
209
|
return node;
|
|
159
210
|
},
|
|
160
211
|
/**
|
|
161
212
|
* @param {Node} node
|
|
162
|
-
* @param {...Node} children
|
|
213
|
+
* @param {...(Node|string)} children
|
|
163
214
|
* @returns {Node}
|
|
164
215
|
*/
|
|
165
216
|
prepend: function prepend(node) {
|
|
217
|
+
var _this2 = this;
|
|
166
218
|
for (var _len2 = arguments.length, children = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
167
219
|
children[_key2 - 1] = arguments[_key2];
|
|
168
220
|
}
|
|
169
|
-
|
|
221
|
+
foreach(children, function (child) {
|
|
222
|
+
if (isString(child)) {
|
|
223
|
+
child = _this2.create(child);
|
|
224
|
+
}
|
|
225
|
+
child && node.prepend(child);
|
|
226
|
+
});
|
|
170
227
|
return node;
|
|
171
228
|
},
|
|
172
229
|
/**
|
|
@@ -174,7 +231,7 @@ export default {
|
|
|
174
231
|
* @returns {void}
|
|
175
232
|
*/
|
|
176
233
|
remove: function remove() {
|
|
177
|
-
var
|
|
234
|
+
var _this3 = this;
|
|
178
235
|
for (var _len3 = arguments.length, els = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
179
236
|
els[_key3] = arguments[_key3];
|
|
180
237
|
}
|
|
@@ -186,7 +243,7 @@ export default {
|
|
|
186
243
|
return e.remove();
|
|
187
244
|
});
|
|
188
245
|
} else {
|
|
189
|
-
|
|
246
|
+
_this3.remove(_this3.find(el));
|
|
190
247
|
}
|
|
191
248
|
});
|
|
192
249
|
},
|
|
@@ -411,13 +468,13 @@ export default {
|
|
|
411
468
|
* @returns {Element|DOMStringMap}
|
|
412
469
|
*/
|
|
413
470
|
data: function data(el, name, value) {
|
|
414
|
-
var
|
|
471
|
+
var _this4 = this;
|
|
415
472
|
if (undefined === name && undefined === value) {
|
|
416
473
|
return el.dataset;
|
|
417
474
|
}
|
|
418
|
-
if (
|
|
419
|
-
|
|
420
|
-
return
|
|
475
|
+
if (isPlainObject(name)) {
|
|
476
|
+
each(name, function (k, v) {
|
|
477
|
+
return _this4.data(el, k, v);
|
|
421
478
|
});
|
|
422
479
|
return el;
|
|
423
480
|
}
|
|
@@ -443,25 +500,94 @@ export default {
|
|
|
443
500
|
},
|
|
444
501
|
/**
|
|
445
502
|
* @param {Element|Document|Window} el
|
|
446
|
-
* @param {string}
|
|
447
|
-
* @param {function}
|
|
448
|
-
* @param {AddEventListenerOptions|
|
|
503
|
+
* @param {string} events
|
|
504
|
+
* @param {string|Element|function} selector
|
|
505
|
+
* @param {function|AddEventListenerOptions|boolean} [handler]
|
|
506
|
+
* @param {AddEventListenerOptions|boolean} [options]
|
|
449
507
|
* @returns {Element}
|
|
450
508
|
*/
|
|
451
|
-
on: function on(el,
|
|
452
|
-
var
|
|
453
|
-
|
|
509
|
+
on: function on(el, events, selector, handler, options) {
|
|
510
|
+
var _this5 = this;
|
|
511
|
+
if (isFunction(selector)) {
|
|
512
|
+
options = handler;
|
|
513
|
+
handler = selector;
|
|
514
|
+
selector = null;
|
|
515
|
+
}
|
|
516
|
+
foreach(events.split(' '), function (event) {
|
|
517
|
+
var listener = function listener(ev) {
|
|
518
|
+
if (!selector) {
|
|
519
|
+
handler.call(el, ev);
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
var currentTarget = ev.target;
|
|
523
|
+
while (currentTarget && currentTarget !== el) {
|
|
524
|
+
if (_this5.matches(currentTarget, selector)) {
|
|
525
|
+
var wrappedEv = Object.assign({}, ev, {
|
|
526
|
+
originalEvent: ev,
|
|
527
|
+
type: ev.type,
|
|
528
|
+
currentTarget: currentTarget,
|
|
529
|
+
target: ev.target,
|
|
530
|
+
relatedTarget: ev.relatedTarget,
|
|
531
|
+
button: ev.button,
|
|
532
|
+
pageX: ev.pageX,
|
|
533
|
+
pageY: ev.pageY,
|
|
534
|
+
preventDefault: function preventDefault() {
|
|
535
|
+
return ev.preventDefault.apply(ev, arguments);
|
|
536
|
+
},
|
|
537
|
+
stopPropagation: function stopPropagation() {
|
|
538
|
+
return ev.stopPropagation.apply(ev, arguments);
|
|
539
|
+
},
|
|
540
|
+
stopImmediatePropagation: function stopImmediatePropagation() {
|
|
541
|
+
return ev.stopImmediatePropagation.apply(ev, arguments);
|
|
542
|
+
}
|
|
543
|
+
});
|
|
544
|
+
handler.call(currentTarget, wrappedEv);
|
|
545
|
+
break;
|
|
546
|
+
}
|
|
547
|
+
currentTarget = currentTarget.parentElement;
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
var store = LISTENERS.get(el);
|
|
551
|
+
if (!store) {
|
|
552
|
+
store = [];
|
|
553
|
+
LISTENERS.set(el, store);
|
|
554
|
+
}
|
|
555
|
+
store.push({
|
|
556
|
+
event: event,
|
|
557
|
+
handler: handler,
|
|
558
|
+
selector: selector,
|
|
559
|
+
listener: listener,
|
|
560
|
+
options: options
|
|
561
|
+
});
|
|
562
|
+
el.addEventListener(event, listener, options);
|
|
563
|
+
});
|
|
454
564
|
return el;
|
|
455
565
|
},
|
|
456
566
|
/**
|
|
457
567
|
* @param {Element|Document|Window} el
|
|
458
|
-
* @param {string}
|
|
459
|
-
* @param {function}
|
|
460
|
-
* @param {
|
|
568
|
+
* @param {string} events
|
|
569
|
+
* @param {string|Element|function} selector
|
|
570
|
+
* @param {function|AddEventListenerOptions|boolean} [handler]
|
|
571
|
+
* @param {AddEventListenerOptions|boolean} [options]
|
|
461
572
|
* @returns {Element}
|
|
462
573
|
*/
|
|
463
|
-
off: function off(el,
|
|
464
|
-
|
|
574
|
+
off: function off(el, events, selector, handler, options) {
|
|
575
|
+
if (isFunction(selector)) {
|
|
576
|
+
options = handler;
|
|
577
|
+
handler = selector;
|
|
578
|
+
selector = null;
|
|
579
|
+
}
|
|
580
|
+
var store = LISTENERS.get(el);
|
|
581
|
+
if (!store) return el;
|
|
582
|
+
foreach(events.split(' '), function (event) {
|
|
583
|
+
each(_toConsumableArray(store).reverse(), function (i, l) {
|
|
584
|
+
if (l.event === event && l.handler === handler && l.selector === selector && (options === undefined || l.options === options)) {
|
|
585
|
+
el.removeEventListener(event, l.listener, l.options);
|
|
586
|
+
var index = store.indexOf(l);
|
|
587
|
+
index !== -1 && store.splice(index, 1);
|
|
588
|
+
}
|
|
589
|
+
});
|
|
590
|
+
});
|
|
465
591
|
return el;
|
|
466
592
|
},
|
|
467
593
|
/**
|
|
@@ -471,7 +597,7 @@ export default {
|
|
|
471
597
|
* @returns {Element}
|
|
472
598
|
*/
|
|
473
599
|
css: function css(el, style, value) {
|
|
474
|
-
var
|
|
600
|
+
var _this6 = this;
|
|
475
601
|
if (isString(style)) {
|
|
476
602
|
var prop = style.startsWith('--') ? style : camelCase(style);
|
|
477
603
|
if (undefined === value) {
|
|
@@ -485,7 +611,7 @@ export default {
|
|
|
485
611
|
}
|
|
486
612
|
} else {
|
|
487
613
|
each(style, function (name, v) {
|
|
488
|
-
|
|
614
|
+
_this6.css(el, name, v);
|
|
489
615
|
});
|
|
490
616
|
}
|
|
491
617
|
return el;
|
|
@@ -521,16 +647,18 @@ export default {
|
|
|
521
647
|
* @returns {Element|null}
|
|
522
648
|
*/
|
|
523
649
|
first: function first(nodeList) {
|
|
650
|
+
var _Array$from$;
|
|
524
651
|
if (nodeList instanceof Element) return nodeList;
|
|
525
|
-
return
|
|
652
|
+
return (_Array$from$ = Array.from(nodeList)[0]) !== null && _Array$from$ !== void 0 ? _Array$from$ : null;
|
|
526
653
|
},
|
|
527
654
|
/**
|
|
528
655
|
* @param {NodeList|Array<Element>} nodeList
|
|
529
656
|
* @returns {Element|null}
|
|
530
657
|
*/
|
|
531
658
|
last: function last(nodeList) {
|
|
532
|
-
var
|
|
533
|
-
|
|
659
|
+
var _arr;
|
|
660
|
+
var arr = Array.from(nodeList);
|
|
661
|
+
return (_arr = arr[arr.length - 1]) !== null && _arr !== void 0 ? _arr : null;
|
|
534
662
|
},
|
|
535
663
|
/**
|
|
536
664
|
* @param {string} html
|
|
@@ -543,32 +671,42 @@ export default {
|
|
|
543
671
|
return (_tpl$content$firstEle = tpl.content.firstElementChild) !== null && _tpl$content$firstEle !== void 0 ? _tpl$content$firstEle : null;
|
|
544
672
|
},
|
|
545
673
|
/**
|
|
546
|
-
* @param {NodeList} nodeList
|
|
674
|
+
* @param {NodeList|Array<Element>} nodeList
|
|
547
675
|
* @param {number} [index=0]
|
|
548
676
|
* @returns {Element|null}
|
|
549
677
|
*/
|
|
550
678
|
eq: function eq(nodeList) {
|
|
679
|
+
var _nodeList$index;
|
|
551
680
|
var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
681
|
+
nodeList = Array.from(nodeList);
|
|
552
682
|
if (Math.abs(index) >= nodeList.length) return null;
|
|
553
683
|
if (index < 0) {
|
|
554
684
|
index = nodeList.length + index;
|
|
555
685
|
}
|
|
556
|
-
return
|
|
686
|
+
return (_nodeList$index = nodeList[index]) !== null && _nodeList$index !== void 0 ? _nodeList$index : null;
|
|
557
687
|
},
|
|
558
688
|
/**
|
|
559
689
|
* @param {Element} el
|
|
560
|
-
* @param {Element} newEl
|
|
561
|
-
* @returns {Element}
|
|
690
|
+
* @param {Element|string} newEl
|
|
691
|
+
* @returns {Element|null}
|
|
562
692
|
*/
|
|
563
693
|
after: function after(el, newEl) {
|
|
694
|
+
if (!el.parentElement) return null;
|
|
695
|
+
if (isString(newEl)) {
|
|
696
|
+
newEl = this.create(newEl);
|
|
697
|
+
}
|
|
564
698
|
return el.parentElement.insertBefore(newEl, el.nextElementSibling);
|
|
565
699
|
},
|
|
566
700
|
/**
|
|
567
701
|
* @param {Element} el
|
|
568
|
-
* @param {Element} newEl
|
|
569
|
-
* @returns {Element}
|
|
702
|
+
* @param {Element|string} newEl
|
|
703
|
+
* @returns {Element|null}
|
|
570
704
|
*/
|
|
571
705
|
before: function before(el, newEl) {
|
|
706
|
+
if (!el.parentElement) return null;
|
|
707
|
+
if (isString(newEl)) {
|
|
708
|
+
newEl = this.create(newEl);
|
|
709
|
+
}
|
|
572
710
|
return el.parentElement.insertBefore(newEl, el);
|
|
573
711
|
},
|
|
574
712
|
/**
|
|
@@ -594,6 +732,23 @@ export default {
|
|
|
594
732
|
return selectorIsString ? !e.matches(selector) : e !== selector;
|
|
595
733
|
});
|
|
596
734
|
},
|
|
735
|
+
/**
|
|
736
|
+
* @param {Element} elem1
|
|
737
|
+
* @param {Element} elem2
|
|
738
|
+
* @returns {boolean}
|
|
739
|
+
*/
|
|
740
|
+
collide: function collide(elem1, elem2) {
|
|
741
|
+
var rect1 = elem1.getBoundingClientRect();
|
|
742
|
+
var rect2 = elem2.getBoundingClientRect();
|
|
743
|
+
return rect1.x < rect2.x + rect2.width && rect1.x + rect1.width > rect2.x && rect1.y < rect2.y + rect2.height && rect1.y + rect1.height > rect2.y;
|
|
744
|
+
},
|
|
745
|
+
/**
|
|
746
|
+
* @param {Element} el
|
|
747
|
+
* @param {string|Element} selector
|
|
748
|
+
*/
|
|
749
|
+
matches: function matches(el, selector) {
|
|
750
|
+
return selector instanceof Element ? selector === el : el.matches(selector);
|
|
751
|
+
},
|
|
597
752
|
/**
|
|
598
753
|
* @param {Element} el
|
|
599
754
|
* @param {Element} child
|
|
@@ -613,5 +768,28 @@ export default {
|
|
|
613
768
|
}
|
|
614
769
|
el.replaceChildren.apply(el, children);
|
|
615
770
|
return el;
|
|
771
|
+
},
|
|
772
|
+
/**
|
|
773
|
+
* @param {Element|Document|Window} el
|
|
774
|
+
* @returns {{top: number, left: number}}
|
|
775
|
+
*/
|
|
776
|
+
offset: function offset(el) {
|
|
777
|
+
if (isWindow(el)) {
|
|
778
|
+
return {
|
|
779
|
+
top: el.scrollY,
|
|
780
|
+
left: el.scrollX
|
|
781
|
+
};
|
|
782
|
+
} else if (isDocument(el)) {
|
|
783
|
+
return {
|
|
784
|
+
top: el.documentElement.scrollTop,
|
|
785
|
+
left: el.documentElement.scrollLeft
|
|
786
|
+
};
|
|
787
|
+
}
|
|
788
|
+
var rect = el.getBoundingClientRect();
|
|
789
|
+
var wOffset = this.offset(window);
|
|
790
|
+
return {
|
|
791
|
+
top: rect.top + wOffset.top,
|
|
792
|
+
left: rect.left + wOffset.left
|
|
793
|
+
};
|
|
616
794
|
}
|
|
617
795
|
};
|
package/dist/cjs/index.js
CHANGED
|
@@ -7,19 +7,22 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
7
7
|
import * as stringFunctions from './string.js';
|
|
8
8
|
import './stringPrototype.js';
|
|
9
9
|
import * as arrayFunctions from './array.js';
|
|
10
|
+
import * as is from './is.js';
|
|
11
|
+
import * as random from './random.js';
|
|
10
12
|
import * as traversal from './traversal.js';
|
|
11
|
-
import dom, { getStyle, isDomElement, isWindow } from './dom.js';
|
|
13
|
+
import dom, { getStyle, isDomElement, isWindow, isDocument } from './dom.js';
|
|
12
14
|
import * as math from './math.js';
|
|
13
15
|
import * as utils from './utils.js';
|
|
14
16
|
import * as i18n from './i18n.js';
|
|
15
17
|
import eventDispatcher from './eventDispatcher.js';
|
|
16
|
-
var webf = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, stringFunctions), arrayFunctions), traversal), {}, {
|
|
18
|
+
var webf = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, stringFunctions), arrayFunctions), traversal), is), random), {}, {
|
|
17
19
|
dom: dom,
|
|
18
20
|
isWindow: isWindow,
|
|
21
|
+
isDocument: isDocument,
|
|
19
22
|
isDomElement: isDomElement,
|
|
20
23
|
getStyle: getStyle
|
|
21
24
|
}, math), utils), i18n), {}, {
|
|
22
25
|
eventDispatcher: eventDispatcher
|
|
23
26
|
});
|
|
24
27
|
export default webf;
|
|
25
|
-
export { stringFunctions, arrayFunctions, traversal, getStyle, dom, math, utils, eventDispatcher };
|
|
28
|
+
export { stringFunctions, arrayFunctions, traversal, is, random, getStyle, dom, math, utils, eventDispatcher };
|
package/dist/cjs/random.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
export var uniqid = function uniqid() {
|
|
2
|
-
return randAlpha(10);
|
|
3
|
-
};
|
|
4
1
|
export var randAlpha = function randAlpha(n) {
|
|
5
|
-
return rand("
|
|
2
|
+
return rand("abcdefghijklmnopqrstuvwxyz".split(''), n);
|
|
6
3
|
};
|
|
7
4
|
export var randAlphaCs = function randAlphaCs(n) {
|
|
8
|
-
return rand("
|
|
5
|
+
return rand("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(''), n);
|
|
9
6
|
};
|
|
10
7
|
export var randAlphaNum = function randAlphaNum(n) {
|
|
11
|
-
return rand("
|
|
8
|
+
return rand("0123456789abcdefghijklmnopqrstuvwxyz".split(''), n);
|
|
12
9
|
};
|
|
13
10
|
export var randAlphaNumCs = function randAlphaNumCs(n) {
|
|
14
|
-
return rand("
|
|
11
|
+
return rand("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(''), n);
|
|
15
12
|
};
|
|
16
13
|
export var randNum = function randNum(n) {
|
|
17
|
-
return rand("
|
|
14
|
+
return rand("0123456789".split(''), n);
|
|
18
15
|
};
|
|
19
16
|
export var rand = function rand(range, n) {
|
|
20
17
|
var rand = "";
|
|
@@ -22,4 +19,12 @@ export var rand = function rand(range, n) {
|
|
|
22
19
|
rand += range[Math.floor(Math.random() * 1000) % range.length];
|
|
23
20
|
}
|
|
24
21
|
return rand;
|
|
25
|
-
};
|
|
22
|
+
};
|
|
23
|
+
export var uniqid = function () {
|
|
24
|
+
var uid = 0;
|
|
25
|
+
return function () {
|
|
26
|
+
var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
27
|
+
uid++;
|
|
28
|
+
return "".concat(prefix).concat(Date.now().toString(36), "_").concat(uid.toString(36), "_").concat(randAlphaNum(5));
|
|
29
|
+
};
|
|
30
|
+
}();
|
package/dist/cjs/string.js
CHANGED
|
@@ -318,13 +318,41 @@ export var escapeRegex = function escapeRegex(str) {
|
|
|
318
318
|
return str.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&").replace(/[\n\t]/g, " ");
|
|
319
319
|
};
|
|
320
320
|
export var camelCase = function camelCase(str) {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
321
|
+
if (!str) return '';
|
|
322
|
+
var prev = '';
|
|
323
|
+
var prevReplaced = false;
|
|
324
|
+
var prevIsSeparator = false;
|
|
325
|
+
var prevIsUpperCase = false;
|
|
326
|
+
str = trim(str);
|
|
327
|
+
str = trim(str, '_');
|
|
328
|
+
str = trim(str, '-');
|
|
329
|
+
var isUpperCase = function isUpperCase(c) {
|
|
330
|
+
return c === c.toUpperCase() && c !== c.toLowerCase();
|
|
331
|
+
};
|
|
332
|
+
var isSeparator = function isSeparator(c) {
|
|
333
|
+
return c === '-' || c === '_' || c === ' ';
|
|
334
|
+
};
|
|
335
|
+
return map(str, function (i, c) {
|
|
336
|
+
prevIsSeparator = isSeparator(prev);
|
|
337
|
+
prevIsUpperCase = isUpperCase(prev);
|
|
338
|
+
prev = c;
|
|
339
|
+
if (isSeparator(c)) {
|
|
340
|
+
return null;
|
|
341
|
+
} else if (prevIsSeparator) {
|
|
342
|
+
c = c.toUpperCase();
|
|
343
|
+
prevReplaced = true;
|
|
344
|
+
} else if (isUpperCase(c)) {
|
|
345
|
+
if (i === 0) {
|
|
346
|
+
c = c.toLowerCase();
|
|
347
|
+
} else if (prevIsUpperCase && !prevReplaced) {
|
|
348
|
+
c = c.toLowerCase();
|
|
349
|
+
}
|
|
350
|
+
prevReplaced = false;
|
|
351
|
+
} else {
|
|
352
|
+
prevReplaced = false;
|
|
353
|
+
}
|
|
354
|
+
return c;
|
|
355
|
+
}).join('');
|
|
328
356
|
};
|
|
329
357
|
export var format = function format(str) {
|
|
330
358
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
package/dist/cjs/traversal.js
CHANGED
|
@@ -36,7 +36,7 @@ export var each = function each(o, callback, context) {
|
|
|
36
36
|
var arr = o.split('');
|
|
37
37
|
for (var _i = 0; _i < arr.length; _i++) if (false === callback.call(context !== null && context !== void 0 ? context : arr[_i], _i, arr[_i], o, _i)) return;
|
|
38
38
|
return o;
|
|
39
|
-
} else if (o instanceof Map) {
|
|
39
|
+
} else if (o instanceof Map || o instanceof WeakMap) {
|
|
40
40
|
var _index = 0;
|
|
41
41
|
var _iterator = _createForOfIteratorHelper(o.entries()),
|
|
42
42
|
_step;
|
|
@@ -105,7 +105,7 @@ export var foreach = function foreach(o, callback, context) {
|
|
|
105
105
|
* @param {Collection<T>} o
|
|
106
106
|
* @param {(key: number|string, value: T, o: Collection<T>, index: number) => (R|null|false)} callback
|
|
107
107
|
* @param {any} [context] Optional "this" binding for the callback
|
|
108
|
-
* @returns {Array} Returns the resulted array
|
|
108
|
+
* @returns {Array<R>} Returns the resulted array
|
|
109
109
|
*/
|
|
110
110
|
export var map = function map(o, callback, context) {
|
|
111
111
|
var results = [];
|