@webalternatif/js-core 1.0.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/.babelrc +12 -0
- package/.idea/inspectionProfiles/Project_Default.xml +12 -0
- package/.idea/js-core.iml +8 -0
- package/.idea/modules.xml +8 -0
- package/.idea/php.xml +20 -0
- package/.idea/vcs.xml +6 -0
- package/LICENSE +21 -0
- package/README.md +7 -0
- package/dist/cjs/array.js +116 -0
- package/dist/cjs/dom.js +466 -0
- package/dist/cjs/eventDispatcher.js +96 -0
- package/dist/cjs/i18n.js +50 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/is.js +85 -0
- package/dist/cjs/math.js +92 -0
- package/dist/cjs/random.js +38 -0
- package/dist/cjs/string.js +474 -0
- package/dist/cjs/stringPrototype.js +16 -0
- package/dist/cjs/traversal.js +110 -0
- package/dist/cjs/utils.js +118 -0
- package/dist/esm/array.js +116 -0
- package/dist/esm/dom.js +466 -0
- package/dist/esm/eventDispatcher.js +96 -0
- package/dist/esm/i18n.js +50 -0
- package/dist/esm/index.js +55 -0
- package/dist/esm/is.js +85 -0
- package/dist/esm/math.js +92 -0
- package/dist/esm/random.js +38 -0
- package/dist/esm/string.js +474 -0
- package/dist/esm/stringPrototype.js +16 -0
- package/dist/esm/traversal.js +110 -0
- package/dist/esm/utils.js +118 -0
- package/i18n/agenda/en.js +73 -0
- package/i18n/agenda/fr.js +73 -0
- package/i18n/agenda/index.js +2 -0
- package/i18n/ajaxform/en.js +5 -0
- package/i18n/ajaxform/fr.js +5 -0
- package/i18n/ajaxform/index.js +2 -0
- package/i18n/ajaxupload/en.js +12 -0
- package/i18n/ajaxupload/fr.js +12 -0
- package/i18n/ajaxupload/index.js +2 -0
- package/i18n/autocomplete/en.js +3 -0
- package/i18n/autocomplete/fr.js +3 -0
- package/i18n/autocomplete/index.js +2 -0
- package/i18n/confirm/en.js +5 -0
- package/i18n/confirm/fr.js +5 -0
- package/i18n/confirm/index.js +2 -0
- package/i18n/core/en.js +4 -0
- package/i18n/core/fr.js +4 -0
- package/i18n/core/index.js +2 -0
- package/i18n/datagrid/en.js +8 -0
- package/i18n/datagrid/fr.js +8 -0
- package/i18n/datagrid/index.js +2 -0
- package/i18n/date/en.js +51 -0
- package/i18n/date/fr.js +51 -0
- package/i18n/date/index.js +2 -0
- package/i18n/datetimepicker/en.js +30 -0
- package/i18n/datetimepicker/fr.js +30 -0
- package/i18n/datetimepicker/index.js +2 -0
- package/i18n/dialog/en.js +3 -0
- package/i18n/dialog/fr.js +3 -0
- package/i18n/dialog/index.js +2 -0
- package/i18n/fulldayeventagenda/en.js +73 -0
- package/i18n/fulldayeventagenda/fr.js +73 -0
- package/i18n/fulldayeventagenda/index.js +2 -0
- package/i18n/index.d.ts +4 -0
- package/i18n/index.js +15 -0
- package/i18n/richtexteditor/en.js +58 -0
- package/i18n/richtexteditor/fr.js +58 -0
- package/i18n/richtexteditor/index.js +2 -0
- package/i18n/select/en.js +3 -0
- package/i18n/select/fr.js +3 -0
- package/i18n/select/index.js +2 -0
- package/i18n/timepicker/en.js +3 -0
- package/i18n/timepicker/fr.js +3 -0
- package/i18n/timepicker/index.js +2 -0
- package/i18n/useragenda/en.js +74 -0
- package/i18n/useragenda/fr.js +73 -0
- package/i18n/useragenda/index.js +2 -0
- package/jest.config.js +14 -0
- package/package.json +33 -0
- package/src/array.js +124 -0
- package/src/dom.js +569 -0
- package/src/eventDispatcher.js +118 -0
- package/src/i18n.js +55 -0
- package/src/index.js +33 -0
- package/src/is.js +89 -0
- package/src/math.js +109 -0
- package/src/random.js +40 -0
- package/src/string.js +576 -0
- package/src/stringPrototype.js +15 -0
- package/src/traversal.js +134 -0
- package/src/utils.js +130 -0
- package/tests/array.test.js +326 -0
- package/tests/dom.test.js +239 -0
- package/tests/eventdispatcher.test.js +177 -0
- package/tests/i18n.test.js +132 -0
- package/tests/index.test.js +29 -0
- package/tests/is.test.js +354 -0
- package/tests/math.test.js +221 -0
- package/tests/random.test.js +72 -0
- package/tests/string.test.js +1106 -0
- package/tests/traversal.test.js +517 -0
- package/tests/utils.test.js +371 -0
- package/tsconfig.json +16 -0
- package/types/array.d.ts +8 -0
- package/types/dom.d.ts +241 -0
- package/types/eventDispatcher.d.ts +12 -0
- package/types/i18n.d.ts +4 -0
- package/types/index.d.ts +139 -0
- package/types/is.d.ts +16 -0
- package/types/math.d.ts +7 -0
- package/types/random.d.ts +7 -0
- package/types/string.d.ts +37 -0
- package/types/stringPrototype.d.ts +1 -0
- package/types/traversal.d.ts +7 -0
- package/types/utils.d.ts +7 -0
- package/webpack.config.cjs +31 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _is = require("./is.js");
|
|
8
|
+
var _traversal = require("./traversal.js");
|
|
9
|
+
class EventDispatcher {
|
|
10
|
+
#listeners = {};
|
|
11
|
+
addListener(eventsName, callback, context, ...args) {
|
|
12
|
+
if (!(0, _is.isFunction)(callback)) {
|
|
13
|
+
throw new Error('Callback must be a function.');
|
|
14
|
+
}
|
|
15
|
+
if (!(0, _is.isString)(eventsName)) {
|
|
16
|
+
throw new Error('Events name must be a string separated by comma.');
|
|
17
|
+
}
|
|
18
|
+
const listener = {
|
|
19
|
+
callback,
|
|
20
|
+
context,
|
|
21
|
+
args
|
|
22
|
+
};
|
|
23
|
+
(0, _traversal.each)(eventsName.split(','), (i, eventName) => {
|
|
24
|
+
if (!eventName) return true; // continue
|
|
25
|
+
|
|
26
|
+
eventName = eventName.trim();
|
|
27
|
+
if (this.hasListener(eventName)) {
|
|
28
|
+
this.#listeners[eventName].push(listener);
|
|
29
|
+
} else {
|
|
30
|
+
this.#listeners[eventName] = [listener];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
addListenerOnce(eventsName, callback, context, ...listenerArgs) {
|
|
36
|
+
(0, _traversal.each)(eventsName.split(','), (i, eventName) => {
|
|
37
|
+
eventName = eventName.trim();
|
|
38
|
+
if (!eventName) return true; // continue
|
|
39
|
+
|
|
40
|
+
const handler = (...args) => {
|
|
41
|
+
callback.apply(context, [eventName].concat(listenerArgs).concat(args.slice(1)));
|
|
42
|
+
this.removeListener(eventName, handler);
|
|
43
|
+
};
|
|
44
|
+
this.addListener(eventName, handler, context);
|
|
45
|
+
});
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
dispatch(eventsName, ...args) {
|
|
49
|
+
if (!(0, _is.isString)(eventsName)) {
|
|
50
|
+
throw new Error('Events name must be a string seperated by comma.');
|
|
51
|
+
}
|
|
52
|
+
(0, _traversal.each)(eventsName.split(','), (i, eventName) => {
|
|
53
|
+
eventName = eventName.trim();
|
|
54
|
+
if (!eventName) return true; // continue
|
|
55
|
+
|
|
56
|
+
if (!this.hasListener(eventName)) {
|
|
57
|
+
console.warn(`No listeners found for event: ${eventName}`);
|
|
58
|
+
return true; // continue
|
|
59
|
+
}
|
|
60
|
+
(0, _traversal.each)(this.#listeners[eventName], (i, listener) => {
|
|
61
|
+
listener.callback.apply(listener.context, [eventName].concat(listener.args).concat(args));
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
hasListener(eventName, callback, context) {
|
|
67
|
+
if ((0, _is.isUndefined)(callback)) {
|
|
68
|
+
return !(0, _is.isUndefined)(this.#listeners[eventName]);
|
|
69
|
+
}
|
|
70
|
+
return !!(0, _traversal.map)(this.#listeners[eventName], (i, listener) => {
|
|
71
|
+
return listener.callback === callback && listener.context === context ? true : null;
|
|
72
|
+
}).length;
|
|
73
|
+
}
|
|
74
|
+
removeListener(eventName, callback, context) {
|
|
75
|
+
if (this.hasListener(eventName, callback, context)) {
|
|
76
|
+
if ((0, _is.isUndefined)(callback)) {
|
|
77
|
+
this.#listeners[eventName].splice(0);
|
|
78
|
+
} else {
|
|
79
|
+
(0, _traversal.each)(this.#listeners[eventName], i => {
|
|
80
|
+
this.#listeners[eventName].splice(i, 1);
|
|
81
|
+
delete this.#listeners[eventName];
|
|
82
|
+
return false; // break
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
getListeners(eventName) {
|
|
89
|
+
return eventName ? this.#listeners[eventName] || [] : this.#listeners;
|
|
90
|
+
}
|
|
91
|
+
reset() {
|
|
92
|
+
this.#listeners = {};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const eventDispatcher = new EventDispatcher();
|
|
96
|
+
var _default = exports.default = eventDispatcher;
|
package/dist/esm/i18n.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.translate = exports.setLang = exports.getLang = exports._ = void 0;
|
|
7
|
+
var i18n = _interopRequireWildcard(require("../i18n/index.js"));
|
|
8
|
+
var _is = require("./is.js");
|
|
9
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
|
+
const translate = function (lang, ns, label) {
|
|
11
|
+
let language = lang;
|
|
12
|
+
if ((0, _is.isUndefined)(label)) {
|
|
13
|
+
if ((0, _is.isUndefined)(ns)) {
|
|
14
|
+
label = lang;
|
|
15
|
+
ns = 'core';
|
|
16
|
+
} else {
|
|
17
|
+
label = ns;
|
|
18
|
+
ns = lang;
|
|
19
|
+
}
|
|
20
|
+
language = getLang();
|
|
21
|
+
}
|
|
22
|
+
const translationExists = !(0, _is.isUndefined)(i18n[ns]) && !(0, _is.isUndefined)(i18n[ns][language]) && !(0, _is.isUndefined)(i18n[ns][language][label]);
|
|
23
|
+
if (translationExists) {
|
|
24
|
+
const tr = i18n[ns][language][label];
|
|
25
|
+
return (0, _is.isFunction)(tr) ? tr() : tr;
|
|
26
|
+
}
|
|
27
|
+
if (lang !== 'en') {
|
|
28
|
+
return translate('en', ns, label);
|
|
29
|
+
}
|
|
30
|
+
return label;
|
|
31
|
+
};
|
|
32
|
+
exports.translate = translate;
|
|
33
|
+
const _ = exports._ = translate;
|
|
34
|
+
let _lang;
|
|
35
|
+
const getLang = () => {
|
|
36
|
+
if (!_lang) setLang();
|
|
37
|
+
return _lang;
|
|
38
|
+
};
|
|
39
|
+
exports.getLang = getLang;
|
|
40
|
+
const setLang = lang => {
|
|
41
|
+
if (!lang) {
|
|
42
|
+
if (typeof navigator !== 'undefined' && navigator.language) {
|
|
43
|
+
lang = navigator.language;
|
|
44
|
+
} else if (typeof process !== 'undefined' && process.env) {
|
|
45
|
+
lang = process.env.LANG || process.env.LC_ALL || process.env.LC_MESSAGES;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
_lang = (lang || 'en').trim().toLowerCase().slice(0, 2);
|
|
49
|
+
};
|
|
50
|
+
exports.setLang = setLang;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.arrayFunctions = void 0;
|
|
7
|
+
Object.defineProperty(exports, "dom", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _dom.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "eventDispatcher", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _eventDispatcher.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "getStyle", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _dom.getStyle;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
exports.utils = exports.traversal = exports.stringFunctions = exports.math = void 0;
|
|
26
|
+
var stringFunctions = _interopRequireWildcard(require("./string.js"));
|
|
27
|
+
exports.stringFunctions = stringFunctions;
|
|
28
|
+
require("./stringPrototype.js");
|
|
29
|
+
var arrayFunctions = _interopRequireWildcard(require("./array.js"));
|
|
30
|
+
exports.arrayFunctions = arrayFunctions;
|
|
31
|
+
var traversal = _interopRequireWildcard(require("./traversal.js"));
|
|
32
|
+
exports.traversal = traversal;
|
|
33
|
+
var _dom = _interopRequireWildcard(require("./dom.js"));
|
|
34
|
+
var math = _interopRequireWildcard(require("./math.js"));
|
|
35
|
+
exports.math = math;
|
|
36
|
+
var utils = _interopRequireWildcard(require("./utils.js"));
|
|
37
|
+
exports.utils = utils;
|
|
38
|
+
var i18n = _interopRequireWildcard(require("./i18n.js"));
|
|
39
|
+
var _eventDispatcher = _interopRequireDefault(require("./eventDispatcher.js"));
|
|
40
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
41
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
42
|
+
const webf = {
|
|
43
|
+
...stringFunctions,
|
|
44
|
+
...arrayFunctions,
|
|
45
|
+
...traversal,
|
|
46
|
+
dom: _dom.default,
|
|
47
|
+
isWindow: _dom.isWindow,
|
|
48
|
+
isDomElement: _dom.isDomElement,
|
|
49
|
+
getStyle: _dom.getStyle,
|
|
50
|
+
...math,
|
|
51
|
+
...utils,
|
|
52
|
+
...i18n,
|
|
53
|
+
eventDispatcher: _eventDispatcher.default
|
|
54
|
+
};
|
|
55
|
+
var _default = exports.default = webf;
|
package/dist/esm/is.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isUndefined = exports.isTouchDevice = exports.isString = exports.isScalar = exports.isPlainObject = exports.isObject = exports.isInteger = exports.isInt = exports.isFunction = exports.isFloat = exports.isEventSupported = exports.isEvent = exports.isDate = exports.isBoolean = exports.isBool = exports.isArray = void 0;
|
|
7
|
+
var _array = require("./array.js");
|
|
8
|
+
const isString = function (str) {
|
|
9
|
+
return typeof str == 'string' || Object.prototype.toString.call(str) === '[object String]';
|
|
10
|
+
};
|
|
11
|
+
exports.isString = isString;
|
|
12
|
+
const isObject = function (o) {
|
|
13
|
+
return !!o && !isArray(o) && typeof o === 'object';
|
|
14
|
+
};
|
|
15
|
+
exports.isObject = isObject;
|
|
16
|
+
const isFunction = function (f) {
|
|
17
|
+
return !!f && typeof f === 'function';
|
|
18
|
+
};
|
|
19
|
+
exports.isFunction = isFunction;
|
|
20
|
+
const isPlainObject = function (o) {
|
|
21
|
+
if (false === isObject(o)) return false;
|
|
22
|
+
if (undefined === o.constructor) return true;
|
|
23
|
+
if (false === isObject(o.constructor.prototype)) return false;
|
|
24
|
+
if (o.constructor.prototype.hasOwnProperty('isPrototypeOf') === false) return false;
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
27
|
+
exports.isPlainObject = isPlainObject;
|
|
28
|
+
const isBoolean = function (b) {
|
|
29
|
+
return b === true || b === false;
|
|
30
|
+
};
|
|
31
|
+
exports.isBoolean = isBoolean;
|
|
32
|
+
const isBool = exports.isBool = isBoolean;
|
|
33
|
+
const isUndefined = function (v) {
|
|
34
|
+
return typeof v === 'undefined';
|
|
35
|
+
};
|
|
36
|
+
exports.isUndefined = isUndefined;
|
|
37
|
+
const isArray = function (a) {
|
|
38
|
+
return Array.isArray(a);
|
|
39
|
+
};
|
|
40
|
+
exports.isArray = isArray;
|
|
41
|
+
const isDate = function (o) {
|
|
42
|
+
return !!o && Object.prototype.toString.call(o) === '[object Date]';
|
|
43
|
+
};
|
|
44
|
+
exports.isDate = isDate;
|
|
45
|
+
const isEvent = function (o) {
|
|
46
|
+
return isObject(o) && (!!o.preventDefault || /\[object Event\]/.test(o.constructor.toString()));
|
|
47
|
+
};
|
|
48
|
+
exports.isEvent = isEvent;
|
|
49
|
+
const isInteger = function (n) {
|
|
50
|
+
return /^[\-]?\d+$/.test(n + '');
|
|
51
|
+
};
|
|
52
|
+
exports.isInteger = isInteger;
|
|
53
|
+
const isInt = exports.isInt = isInteger;
|
|
54
|
+
const isFloat = function (n) {
|
|
55
|
+
return /^[\-]?\d+(\.\d+)?$/.test(n + '');
|
|
56
|
+
};
|
|
57
|
+
exports.isFloat = isFloat;
|
|
58
|
+
const isScalar = value => {
|
|
59
|
+
const type = typeof value;
|
|
60
|
+
return value === null || (0, _array.inArray)(type, ['string', 'number', 'bigint', 'symbol', 'boolean']);
|
|
61
|
+
};
|
|
62
|
+
exports.isScalar = isScalar;
|
|
63
|
+
const isEventSupported = exports.isEventSupported = function () {
|
|
64
|
+
const TAGNAMES = {
|
|
65
|
+
select: 'input',
|
|
66
|
+
change: 'input',
|
|
67
|
+
submit: 'form',
|
|
68
|
+
reset: 'form',
|
|
69
|
+
error: 'img',
|
|
70
|
+
load: 'img',
|
|
71
|
+
abort: 'img'
|
|
72
|
+
};
|
|
73
|
+
function isEventSupported(eventName) {
|
|
74
|
+
let el = document.createElement(TAGNAMES[eventName] || 'div');
|
|
75
|
+
eventName = 'on' + eventName;
|
|
76
|
+
const isSupported = eventName in el;
|
|
77
|
+
el = null;
|
|
78
|
+
return isSupported;
|
|
79
|
+
}
|
|
80
|
+
return isEventSupported;
|
|
81
|
+
}();
|
|
82
|
+
const isTouchDevice = function () {
|
|
83
|
+
return isEventSupported('touchstart');
|
|
84
|
+
};
|
|
85
|
+
exports.isTouchDevice = isTouchDevice;
|
package/dist/esm/math.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.round = exports.plancher = exports.min = exports.max = exports.hex2dec = exports.floorTo = exports.dec2hex = void 0;
|
|
7
|
+
var _traversal = require("./traversal.js");
|
|
8
|
+
var _is = require("./is.js");
|
|
9
|
+
var _string = require("./string.js");
|
|
10
|
+
const round = function (val, precision = 0) {
|
|
11
|
+
return Math.round(val * Math.pow(10, precision)) / Math.pow(10, precision);
|
|
12
|
+
};
|
|
13
|
+
exports.round = round;
|
|
14
|
+
const floorTo = function (n, precision) {
|
|
15
|
+
if (precision <= 0) throw new Error('Precision must be greater than 0');
|
|
16
|
+
return round(Math.floor(n / precision) * precision, 6);
|
|
17
|
+
};
|
|
18
|
+
exports.floorTo = floorTo;
|
|
19
|
+
const plancher = exports.plancher = floorTo;
|
|
20
|
+
const min = function (list, cmp_func) {
|
|
21
|
+
if ((0, _is.isArray)(list)) {
|
|
22
|
+
return Math.min.apply(null, list);
|
|
23
|
+
}
|
|
24
|
+
let min;
|
|
25
|
+
cmp_func = (0, _is.isFunction)(cmp_func) ? cmp_func : function (a, b) {
|
|
26
|
+
return a < b ? -1 : 1;
|
|
27
|
+
};
|
|
28
|
+
if ((0, _is.isObject)(list)) {
|
|
29
|
+
(0, _traversal.each)(list, function (key, val, obj, index) {
|
|
30
|
+
if (index === 0) {
|
|
31
|
+
min = val;
|
|
32
|
+
} else {
|
|
33
|
+
min = cmp_func.call(null, min, val) > 0 ? val : min;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return min;
|
|
38
|
+
};
|
|
39
|
+
exports.min = min;
|
|
40
|
+
const max = function (list, cmp_func) {
|
|
41
|
+
if ((0, _is.isArray)(list)) {
|
|
42
|
+
return Math.max.apply(null, list);
|
|
43
|
+
}
|
|
44
|
+
let max;
|
|
45
|
+
cmp_func = (0, _is.isFunction)(cmp_func) ? cmp_func : function (a, b) {
|
|
46
|
+
return b - a;
|
|
47
|
+
};
|
|
48
|
+
if ((0, _is.isObject)(list)) {
|
|
49
|
+
(0, _traversal.each)(list, function (key, val, obj, index) {
|
|
50
|
+
if (index === 0) {
|
|
51
|
+
max = val;
|
|
52
|
+
} else {
|
|
53
|
+
max = cmp_func.call(null, max, val) > 0 ? val : max;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return max;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Converts a decimal number into hexadecimal
|
|
62
|
+
*
|
|
63
|
+
* @param {number} n
|
|
64
|
+
* @returns {string}
|
|
65
|
+
*/
|
|
66
|
+
exports.max = max;
|
|
67
|
+
const dec2hex = function (n) {
|
|
68
|
+
return n.toString(16);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Converts a hexadecimal into a decimal number
|
|
73
|
+
*
|
|
74
|
+
* @param {string} hex
|
|
75
|
+
* @returns {number}
|
|
76
|
+
*/
|
|
77
|
+
exports.dec2hex = dec2hex;
|
|
78
|
+
const hex2dec = function (hex) {
|
|
79
|
+
hex = (0, _string.reverse)(hex + '').toUpperCase();
|
|
80
|
+
const c = '0123456789ABCDEF';
|
|
81
|
+
let value = 0;
|
|
82
|
+
(0, _traversal.each)(hex, (i, char) => {
|
|
83
|
+
const index = c.indexOf(char);
|
|
84
|
+
if (index === -1) {
|
|
85
|
+
value = 0;
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
value += index * Math.pow(2, 4 * i);
|
|
89
|
+
});
|
|
90
|
+
return value;
|
|
91
|
+
};
|
|
92
|
+
exports.hex2dec = hex2dec;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.uniqid = exports.randNum = exports.randAlphaNumCs = exports.randAlphaNum = exports.randAlphaCs = exports.randAlpha = exports.rand = void 0;
|
|
7
|
+
const uniqid = function () {
|
|
8
|
+
return randAlpha(10);
|
|
9
|
+
};
|
|
10
|
+
exports.uniqid = uniqid;
|
|
11
|
+
const randAlpha = function (n) {
|
|
12
|
+
return rand("a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(','), n);
|
|
13
|
+
};
|
|
14
|
+
exports.randAlpha = randAlpha;
|
|
15
|
+
const randAlphaCs = function (n) {
|
|
16
|
+
return rand("a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(','), n);
|
|
17
|
+
};
|
|
18
|
+
exports.randAlphaCs = randAlphaCs;
|
|
19
|
+
const randAlphaNum = function (n) {
|
|
20
|
+
return rand("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(','), n);
|
|
21
|
+
};
|
|
22
|
+
exports.randAlphaNum = randAlphaNum;
|
|
23
|
+
const randAlphaNumCs = function (n) {
|
|
24
|
+
return rand("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z".split(','), n);
|
|
25
|
+
};
|
|
26
|
+
exports.randAlphaNumCs = randAlphaNumCs;
|
|
27
|
+
const randNum = function (n) {
|
|
28
|
+
return rand("0,1,2,3,4,5,6,7,8,9".split(','), n);
|
|
29
|
+
};
|
|
30
|
+
exports.randNum = randNum;
|
|
31
|
+
const rand = function (range, n) {
|
|
32
|
+
let rand = "";
|
|
33
|
+
for (let i = 0; i < n; i++) {
|
|
34
|
+
rand += range[Math.floor(Math.random() * 1000) % range.length];
|
|
35
|
+
}
|
|
36
|
+
return rand;
|
|
37
|
+
};
|
|
38
|
+
exports.rand = rand;
|