@bbn/bbn 1.0.437 → 1.0.439
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/_.js +7 -11
- package/dist/bbn.js +1 -1
- package/dist/bbn.js.map +1 -1
- package/dist/date.d.ts +39 -0
- package/dist/date.js +339 -0
- package/dist/db.js +107 -124
- package/dist/fn/ajax/_addLoader.js +6 -6
- package/dist/fn/ajax/_deleteLoader.js +11 -13
- package/dist/fn/ajax/abort.js +1 -1
- package/dist/fn/ajax/abortURL.js +1 -1
- package/dist/fn/ajax/ajax.js +25 -30
- package/dist/fn/ajax/callback.js +10 -14
- package/dist/fn/ajax/download.js +7 -9
- package/dist/fn/ajax/downloadContent.js +5 -6
- package/dist/fn/ajax/getLoader.js +1 -1
- package/dist/fn/ajax/getRequestId.js +2 -2
- package/dist/fn/ajax/link.js +9 -13
- package/dist/fn/ajax/post.js +3 -7
- package/dist/fn/ajax/postOut.js +2 -4
- package/dist/fn/ajax/setNavigationVars.js +5 -7
- package/dist/fn/ajax/stream.js +21 -22
- package/dist/fn/ajax/treatAjaxArguments.js +3 -3
- package/dist/fn/ajax/upload.js +6 -9
- package/dist/fn/browser/copy.js +9 -12
- package/dist/fn/browser/error.js +2 -2
- package/dist/fn/browser/executeSlowly.js +11 -55
- package/dist/fn/browser/getBrowserName.js +1 -1
- package/dist/fn/browser/getBrowserVersion.js +1 -1
- package/dist/fn/browser/getCookie.js +5 -5
- package/dist/fn/browser/getDeviceType.js +1 -1
- package/dist/fn/browser/getEventData.js +30 -30
- package/dist/fn/browser/happy.js +1 -5
- package/dist/fn/browser/info.js +1 -5
- package/dist/fn/browser/isActiveInterface.js +2 -3
- package/dist/fn/browser/isFocused.js +1 -2
- package/dist/fn/browser/log.js +8 -12
- package/dist/fn/browser/replaceSelection.js +5 -5
- package/dist/fn/browser/selectElementText.js +4 -5
- package/dist/fn/browser/setCookie.js +3 -3
- package/dist/fn/browser/warning.js +2 -2
- package/dist/fn/browser/yieldToBrowser.js +7 -43
- package/dist/fn/convert/arrayBuffer2String.js +1 -1
- package/dist/fn/convert/canvasToImage.js +1 -1
- package/dist/fn/convert/colorToHex.js +1 -1
- package/dist/fn/convert/fromXml.js +7 -13
- package/dist/fn/convert/hex2rgb.js +1 -1
- package/dist/fn/convert/imageToCanvas.js +1 -1
- package/dist/fn/convert/imgToBase64.js +2 -3
- package/dist/fn/convert/toCSV.js +7 -10
- package/dist/fn/datetime/calendar.js +4 -5
- package/dist/fn/datetime/date.js +1 -1
- package/dist/fn/datetime/dateSQL.js +1 -1
- package/dist/fn/datetime/daysInMonth.js +1 -1
- package/dist/fn/datetime/fdate.js +2 -3
- package/dist/fn/datetime/fdatetime.js +2 -3
- package/dist/fn/datetime/ftime.js +1 -1
- package/dist/fn/datetime/getChrono.js +2 -3
- package/dist/fn/datetime/getDay.js +3 -3
- package/dist/fn/datetime/startChrono.js +1 -1
- package/dist/fn/datetime/stopChrono.js +2 -2
- package/dist/fn/datetime/timestamp.js +2 -3
- package/dist/fn/default/defaultAjaxAbortFunction.js +1 -2
- package/dist/fn/default/defaultAjaxErrorFunction.js +1 -3
- package/dist/fn/default/defaultAlertFunction.js +1 -2
- package/dist/fn/default/defaultConfirmFunction.js +2 -3
- package/dist/fn/default/defaultEndLoadingFunction.js +1 -3
- package/dist/fn/default/defaultPostLinkFunction.js +1 -2
- package/dist/fn/default/defaultPreLinkFunction.js +1 -3
- package/dist/fn/form/addInputs.js +10 -12
- package/dist/fn/form/fieldValue.js +1 -1
- package/dist/fn/form/formdata.js +24 -24
- package/dist/fn/form/objectToFormData.js +5 -8
- package/dist/fn/form/submit.js +4 -4
- package/dist/fn/html/adjustHeight.js +1 -1
- package/dist/fn/html/adjustSize.js +5 -5
- package/dist/fn/html/adjustWidth.js +1 -1
- package/dist/fn/html/getAllTags.js +1 -1
- package/dist/fn/html/getAncestors.js +2 -3
- package/dist/fn/html/getAttributes.js +2 -2
- package/dist/fn/html/getHTMLOfSelection.js +4 -4
- package/dist/fn/html/getHtml.js +2 -3
- package/dist/fn/html/getIndex.js +3 -4
- package/dist/fn/html/getPath.js +12 -17
- package/dist/fn/html/html2text.js +1 -1
- package/dist/fn/html/isInViewport.js +4 -5
- package/dist/fn/html/isInside.js +5 -5
- package/dist/fn/html/makeReactive.js +22 -26
- package/dist/fn/init.js +18 -18
- package/dist/fn/loop/each.js +2 -2
- package/dist/fn/loop/fori.js +3 -5
- package/dist/fn/loop/forir.js +3 -5
- package/dist/fn/loop/iterate.js +3 -6
- package/dist/fn/loop/riterate.js +1 -2
- package/dist/fn/misc/analyzeFunction.js +36 -36
- package/dist/fn/misc/money.js +4 -4
- package/dist/fn/misc/translate.js +2 -2
- package/dist/fn/object/_compareValues.js +2 -3
- package/dist/fn/object/_filter.js +7 -10
- package/dist/fn/object/arrayFromProp.js +2 -2
- package/dist/fn/object/checkProps.js +1 -2
- package/dist/fn/object/checkPropsDetails.js +8 -9
- package/dist/fn/object/checkPropsOrDie.js +2 -3
- package/dist/fn/object/circularReplacer.js +2 -2
- package/dist/fn/object/clone.js +2 -2
- package/dist/fn/object/compareConditions.js +6 -6
- package/dist/fn/object/count.js +1 -3
- package/dist/fn/object/createObject.js +3 -16
- package/dist/fn/object/deepPath.js +6 -7
- package/dist/fn/object/diffObj.js +11 -13
- package/dist/fn/object/extend.js +10 -14
- package/dist/fn/object/extendOut.js +4 -9
- package/dist/fn/object/filter.js +6 -8
- package/dist/fn/object/filterToConditions.js +6 -7
- package/dist/fn/object/findAll.js +4 -5
- package/dist/fn/object/getField.js +2 -8
- package/dist/fn/object/getFieldValues.js +2 -2
- package/dist/fn/object/getProperty.js +5 -9
- package/dist/fn/object/getRow.js +2 -7
- package/dist/fn/object/getSortingMoves.js +28 -28
- package/dist/fn/object/isWritable.js +1 -1
- package/dist/fn/object/map.js +2 -3
- package/dist/fn/object/move.js +1 -1
- package/dist/fn/object/multiorder.js +5 -6
- package/dist/fn/object/mutateArray.js +8 -9
- package/dist/fn/object/mutateObject.js +3 -3
- package/dist/fn/object/order.js +1 -2
- package/dist/fn/object/removeEmpty.js +2 -2
- package/dist/fn/object/removePrivateProp.js +2 -3
- package/dist/fn/object/search.js +13 -17
- package/dist/fn/object/setProp.js +1 -3
- package/dist/fn/object/setProperty.js +8 -8
- package/dist/fn/object/shortenObj.js +3 -4
- package/dist/fn/object/shuffle.js +2 -3
- package/dist/fn/object/sum.js +3 -3
- package/dist/fn/object/unique.js +1 -1
- package/dist/fn/phone/fphone.js +22 -22
- package/dist/fn/string/baseName.js +3 -3
- package/dist/fn/string/correctCase.js +1 -1
- package/dist/fn/string/crc32.js +7 -7
- package/dist/fn/string/data2Html.js +4 -5
- package/dist/fn/string/dirName.js +1 -1
- package/dist/fn/string/escapeUrl.js +6 -6
- package/dist/fn/string/fileExt.js +1 -1
- package/dist/fn/string/firstVarElement.js +2 -2
- package/dist/fn/string/format.js +4 -4
- package/dist/fn/string/formatBytes.js +2 -3
- package/dist/fn/string/hash.js +4 -8
- package/dist/fn/string/randomString.js +5 -5
- package/dist/fn/string/replaceAll.js +1 -2
- package/dist/fn/string/sanitize.js +6 -7
- package/dist/fn/string/simpleHash.js +2 -2
- package/dist/fn/string/simpleHash1.js +3 -3
- package/dist/fn/string/simpleHash2.js +3 -3
- package/dist/fn/string/treatForHash.js +6 -10
- package/dist/fn/string/trim.js +1 -2
- package/dist/fn/string/uniqString.js +7 -14
- package/dist/fn/style/addColors.js +14 -14
- package/dist/fn/style/addStyle.js +1 -1
- package/dist/fn/style/animateCss.js +1 -1
- package/dist/fn/style/center.js +1 -1
- package/dist/fn/style/cssExists.js +5 -5
- package/dist/fn/style/getCssVar.js +1 -1
- package/dist/fn/style/getScrollBarSize.js +5 -5
- package/dist/fn/style/lightenDarkenHex.js +2 -2
- package/dist/fn/style/outerHeight.js +2 -2
- package/dist/fn/style/outerWidth.js +2 -2
- package/dist/fn/style/resize.js +14 -14
- package/dist/fn/type/checkType.js +5 -9
- package/dist/fn/type/isArray.js +2 -7
- package/dist/fn/type/isBlob.js +2 -7
- package/dist/fn/type/isBoolean.js +2 -7
- package/dist/fn/type/isCanvas.js +2 -7
- package/dist/fn/type/isColor.js +2 -7
- package/dist/fn/type/isComment.js +2 -7
- package/dist/fn/type/isCp.js +3 -8
- package/dist/fn/type/isDataURL.js +2 -7
- package/dist/fn/type/isDate.js +2 -7
- package/dist/fn/type/isDimension.js +2 -7
- package/dist/fn/type/isDom.js +2 -7
- package/dist/fn/type/isEmail.js +3 -8
- package/dist/fn/type/isEvent.js +2 -7
- package/dist/fn/type/isFunction.js +2 -7
- package/dist/fn/type/isHostname.js +2 -7
- package/dist/fn/type/isIP.js +2 -7
- package/dist/fn/type/isInt.js +2 -7
- package/dist/fn/type/isIterable.js +2 -7
- package/dist/fn/type/isNotObject.js +2 -7
- package/dist/fn/type/isNull.js +2 -7
- package/dist/fn/type/isNumber.js +2 -7
- package/dist/fn/type/isObject.js +2 -7
- package/dist/fn/type/isPercent.js +2 -7
- package/dist/fn/type/isPrimitive.js +2 -7
- package/dist/fn/type/isPromise.js +2 -7
- package/dist/fn/type/isPropSize.js +2 -2
- package/dist/fn/type/isSQLDate.js +2 -7
- package/dist/fn/type/isSame.js +12 -12
- package/dist/fn/type/isString.js +2 -7
- package/dist/fn/type/isSymbol.js +2 -7
- package/dist/fn/type/isURL.js +2 -7
- package/dist/fn/type/isUid.js +2 -7
- package/dist/fn/type/isValidDimension.js +2 -2
- package/dist/fn/type/isValidName.js +2 -7
- package/dist/fn/type/isVue.js +4 -11
- package/dist/fn.js +247 -247
- package/dist/index.js +9 -7
- package/package.json +1 -1
|
@@ -15,15 +15,15 @@ import each from '../loop/each.js';
|
|
|
15
15
|
* @returns {Promise}
|
|
16
16
|
*/
|
|
17
17
|
export default function getEventData(e) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
let dt = e.dataTransfer || e.clipboardData;
|
|
19
|
+
let t = dt.getData('Text');
|
|
20
|
+
let res = { raw: t, files: [], str: [] };
|
|
21
|
+
let p = new Promise((ok, err) => {
|
|
22
|
+
let done = !(dt instanceof DataTransfer);
|
|
23
23
|
if (!t && e.type === 'copy') {
|
|
24
|
-
|
|
24
|
+
let sel = window.getSelection();
|
|
25
25
|
res.raw = sel.toString();
|
|
26
|
-
|
|
26
|
+
let html = getHTMLOfSelection();
|
|
27
27
|
res.str.push({
|
|
28
28
|
type: 'text/plain',
|
|
29
29
|
data: res.raw,
|
|
@@ -46,57 +46,57 @@ export default function getEventData(e) {
|
|
|
46
46
|
ok(res);
|
|
47
47
|
}
|
|
48
48
|
if (!done) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
each(dt.items,
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
let strings = [];
|
|
50
|
+
let num = dt.items.length;
|
|
51
|
+
each(dt.items, (item, idx) => {
|
|
52
|
+
let kind = item.kind;
|
|
53
|
+
let type = item.type;
|
|
54
54
|
if (kind === 'file') {
|
|
55
|
-
|
|
55
|
+
let cp = dt.files[idx];
|
|
56
56
|
if (!type && cp.name) {
|
|
57
|
-
|
|
57
|
+
let bits = cp.name.split('.');
|
|
58
58
|
type = bits[bits.length - 1];
|
|
59
59
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
let name = cp ? cp.name : bbn._('untitled');
|
|
61
|
+
let size = cp ? cp.size : null;
|
|
62
|
+
let lastModified = cp ? cp.lastModified : null;
|
|
63
|
+
let blob = item.getAsFile();
|
|
64
64
|
if (blob) {
|
|
65
65
|
done = true;
|
|
66
|
-
|
|
66
|
+
num--;
|
|
67
67
|
res.files.push({
|
|
68
68
|
type: type,
|
|
69
69
|
data: blob,
|
|
70
|
-
name:
|
|
70
|
+
name: name,
|
|
71
71
|
size: size,
|
|
72
72
|
mdate: lastModified,
|
|
73
73
|
});
|
|
74
|
-
|
|
75
|
-
if (!
|
|
74
|
+
strings.push(name);
|
|
75
|
+
if (!num) {
|
|
76
76
|
if (!res.raw) {
|
|
77
|
-
res.raw =
|
|
77
|
+
res.raw = strings.join(', ');
|
|
78
78
|
}
|
|
79
79
|
ok(res);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
|
-
bbn.fn.defaultErrorFunction(bbn._('Impossible to read the file') + ' ' +
|
|
83
|
+
bbn.fn.defaultErrorFunction(bbn._('Impossible to read the file') + ' ' + name);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
87
|
done = true;
|
|
88
|
-
item.getAsString(
|
|
89
|
-
|
|
88
|
+
item.getAsString((data) => {
|
|
89
|
+
num--;
|
|
90
90
|
res.str.push({
|
|
91
91
|
type: type,
|
|
92
92
|
data: data,
|
|
93
93
|
});
|
|
94
94
|
if (type === 'text/plain') {
|
|
95
|
-
|
|
95
|
+
strings.push(name);
|
|
96
96
|
}
|
|
97
|
-
if (!
|
|
97
|
+
if (!num) {
|
|
98
98
|
if (!res.raw) {
|
|
99
|
-
res.raw =
|
|
99
|
+
res.raw = strings.join(', ');
|
|
100
100
|
}
|
|
101
101
|
ok(res);
|
|
102
102
|
}
|
|
@@ -105,7 +105,7 @@ export default function getEventData(e) {
|
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
if (!done) {
|
|
108
|
-
setTimeout(
|
|
108
|
+
setTimeout(() => {
|
|
109
109
|
ok(res);
|
|
110
110
|
});
|
|
111
111
|
}
|
package/dist/fn/browser/happy.js
CHANGED
|
@@ -11,11 +11,7 @@ import log from './log.js';
|
|
|
11
11
|
* @param {...any} args
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
|
-
export default function happy() {
|
|
15
|
-
var args = [];
|
|
16
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
17
|
-
args[_i] = arguments[_i];
|
|
18
|
-
}
|
|
14
|
+
export default function happy(...args) {
|
|
19
15
|
args.unshift({
|
|
20
16
|
_bbn_console_level: 3,
|
|
21
17
|
_bbn_console_style: 'color: white; background: green; font-size: 18px;',
|
package/dist/fn/browser/info.js
CHANGED
|
@@ -7,11 +7,7 @@ import log from './log.js';
|
|
|
7
7
|
* @param {...any} args
|
|
8
8
|
* @returns {*}
|
|
9
9
|
*/
|
|
10
|
-
export default function info() {
|
|
11
|
-
var args = [];
|
|
12
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
13
|
-
args[_i] = arguments[_i];
|
|
14
|
-
}
|
|
10
|
+
export default function info(...args) {
|
|
15
11
|
args.unshift({
|
|
16
12
|
//_bbn_console_mode: "info",
|
|
17
13
|
_bbn_console_level: 4,
|
|
@@ -10,12 +10,11 @@
|
|
|
10
10
|
* @memberof bbn.fn
|
|
11
11
|
* @returns {Boolean}
|
|
12
12
|
*/
|
|
13
|
-
export default function isActiveInterface(secs) {
|
|
14
|
-
if (secs === void 0) { secs = 600; }
|
|
13
|
+
export default function isActiveInterface(secs = 600) {
|
|
15
14
|
if (!bbn.env.last_focus) {
|
|
16
15
|
return false;
|
|
17
16
|
}
|
|
18
|
-
|
|
17
|
+
let t = new Date().getTime();
|
|
19
18
|
return t - bbn.env.last_focus < secs * 1000;
|
|
20
19
|
}
|
|
21
20
|
;
|
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @returns {Boolean} True if focused
|
|
19
19
|
*/
|
|
20
|
-
export default function isFocused(ele, contain) {
|
|
21
|
-
if (contain === void 0) { contain = false; }
|
|
20
|
+
export default function isFocused(ele, contain = false) {
|
|
22
21
|
return ele === document.activeElement || (contain && ele.contains && ele.contains(document.activeElement));
|
|
23
22
|
}
|
|
24
23
|
;
|
package/dist/fn/browser/log.js
CHANGED
|
@@ -12,16 +12,12 @@ import isFunction from '../type/isFunction.js';
|
|
|
12
12
|
* @param {...any} args
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
|
-
export default function log() {
|
|
15
|
+
export default function log(...args) {
|
|
16
16
|
var _a, _b, _c;
|
|
17
|
-
var args = [];
|
|
18
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
19
|
-
args[_i] = arguments[_i];
|
|
20
|
-
}
|
|
21
17
|
if (((_a = bbn.env) === null || _a === void 0 ? void 0 : _a.isDev) && ((window === null || window === void 0 ? void 0 : window.console) !== undefined)) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
let cfg;
|
|
19
|
+
let level = 5;
|
|
20
|
+
let fn = 'log';
|
|
25
21
|
if (args[0] && typeof args[0] === 'object' && args[0]._bbn_console_style) {
|
|
26
22
|
if (args[0]._bbn_console_mode && isFunction(console[args[0]._bbn_console_mode])) {
|
|
27
23
|
fn = args[0]._bbn_console_mode;
|
|
@@ -32,12 +28,12 @@ export default function log() {
|
|
|
32
28
|
}
|
|
33
29
|
args.shift();
|
|
34
30
|
}
|
|
35
|
-
|
|
31
|
+
const exec = window.console[fn];
|
|
36
32
|
if (((_c = (_b = window['bbn']) === null || _b === void 0 ? void 0 : _b.env) === null || _c === void 0 ? void 0 : _c.loggingLevel) >= level) {
|
|
37
|
-
|
|
33
|
+
let i = 0;
|
|
38
34
|
while (i < args.length) {
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
let t = typeof args[i];
|
|
36
|
+
let consoleArguments = [args[i]];
|
|
41
37
|
if (t === 'string' || t === 'number') {
|
|
42
38
|
consoleArguments.unshift('%c %s ', cfg);
|
|
43
39
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default function replaceSelection(html, selectInserted) {
|
|
2
|
-
|
|
2
|
+
let sel, range, fragment;
|
|
3
3
|
sel = window.getSelection();
|
|
4
4
|
// Test that the Selection object contains at least one Range
|
|
5
5
|
if (sel.getRangeAt && sel.rangeCount) {
|
|
@@ -14,16 +14,16 @@ export default function replaceSelection(html, selectInserted) {
|
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
16
|
// In IE 9 we need to use innerHTML of a temporary element
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const div = document.createElement('div');
|
|
18
|
+
let child;
|
|
19
19
|
div.innerHTML = html;
|
|
20
20
|
fragment = document.createDocumentFragment();
|
|
21
21
|
while ((child = div.firstChild)) {
|
|
22
22
|
fragment.appendChild(child);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const firstInsertedNode = fragment.firstChild;
|
|
26
|
+
const lastInsertedNode = fragment.lastChild;
|
|
27
27
|
range.insertNode(fragment);
|
|
28
28
|
sel.removeAllRanges();
|
|
29
29
|
if (selectInserted) {
|
|
@@ -17,16 +17,15 @@
|
|
|
17
17
|
*
|
|
18
18
|
* @returns {Boolean} True if focused
|
|
19
19
|
*/
|
|
20
|
-
export default function selectElementText(ele, win) {
|
|
21
|
-
if (win === void 0) { win = null; }
|
|
20
|
+
export default function selectElementText(ele, win = null) {
|
|
22
21
|
win = win || window;
|
|
23
22
|
if (ele instanceof HTMLInputElement) {
|
|
24
23
|
ele.select();
|
|
25
24
|
return;
|
|
26
25
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
let doc = win.document;
|
|
27
|
+
let sel;
|
|
28
|
+
let range;
|
|
30
29
|
if (win.getSelection && doc.createRange) {
|
|
31
30
|
sel = win.getSelection();
|
|
32
31
|
range = doc.createRange();
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
15
|
export default function setCookie(name, value, days) {
|
|
16
|
-
|
|
16
|
+
let expires = '';
|
|
17
17
|
if (days) {
|
|
18
|
-
|
|
18
|
+
let date = new Date();
|
|
19
19
|
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
|
|
20
20
|
expires = '; expires=' + date.toUTCString();
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
let st = escape(JSON.stringify({ value: value }));
|
|
23
23
|
document.cookie = name + '=' + st + expires + '; path=/';
|
|
24
24
|
}
|
|
25
25
|
;
|
|
@@ -12,8 +12,8 @@ import log from './log.js';
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
export default function warning(message) {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const args = ['BBN: ' + message];
|
|
16
|
+
const obj = {
|
|
17
17
|
_bbn_console_mode: 'warn',
|
|
18
18
|
_bbn_console_level: 2,
|
|
19
19
|
_bbn_console_style: 'color: #E64141; background: #F7E195; font-size: 14px',
|
|
@@ -7,33 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
10
|
/**
|
|
38
11
|
* Yields execution to the browser to allow it to process pending UI updates.
|
|
39
12
|
* Uses `window.scheduler.yield()` if available, otherwise falls back to `requestAnimationFrame`.
|
|
@@ -47,23 +20,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
47
20
|
* @returns {Promise}
|
|
48
21
|
*/
|
|
49
22
|
export default function yieldToBrowser() {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
24
|
var _a;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
_b.sent(); // cooperative yield
|
|
59
|
-
return [3 /*break*/, 4];
|
|
60
|
-
case 2: return [4 /*yield*/, new Promise(requestAnimationFrame)];
|
|
61
|
-
case 3:
|
|
62
|
-
_b.sent();
|
|
63
|
-
_b.label = 4;
|
|
64
|
-
case 4: return [2 /*return*/];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
25
|
+
if ((_a = window.scheduler) === null || _a === void 0 ? void 0 : _a.yield) {
|
|
26
|
+
yield window.scheduler.yield(); // cooperative yield
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
yield new Promise(requestAnimationFrame);
|
|
30
|
+
}
|
|
67
31
|
});
|
|
68
32
|
}
|
|
69
33
|
;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* @returns {String}
|
|
18
18
|
*/
|
|
19
19
|
export default function colorToHex(color) {
|
|
20
|
-
|
|
20
|
+
let canvas = document.createElement("canvas").getContext("2d");
|
|
21
21
|
canvas.fillStyle = color;
|
|
22
22
|
return canvas.fillStyle;
|
|
23
23
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @returns {Object}
|
|
10
10
|
*/
|
|
11
11
|
export default function fromXml(xml, arrayTags) {
|
|
12
|
-
|
|
12
|
+
let dom = null;
|
|
13
13
|
if (window.DOMParser)
|
|
14
14
|
dom = new DOMParser().parseFromString(xml, "text/xml");
|
|
15
15
|
else if (window["ActiveXObject"]) {
|
|
@@ -22,12 +22,12 @@ export default function fromXml(xml, arrayTags) {
|
|
|
22
22
|
throw new Error("cannot parse xml string!");
|
|
23
23
|
function parseNode(xmlNode, result) {
|
|
24
24
|
if (xmlNode.nodeName == "#text") {
|
|
25
|
-
|
|
25
|
+
let v = xmlNode.nodeValue;
|
|
26
26
|
if (v.trim())
|
|
27
27
|
result["#text"] = v;
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
let jsonNode = {}, existing = result[xmlNode.nodeName];
|
|
31
31
|
if (existing) {
|
|
32
32
|
if (!Array.isArray(existing))
|
|
33
33
|
result[xmlNode.nodeName] = [existing, jsonNode];
|
|
@@ -41,20 +41,14 @@ export default function fromXml(xml, arrayTags) {
|
|
|
41
41
|
result[xmlNode.nodeName] = jsonNode;
|
|
42
42
|
}
|
|
43
43
|
if (xmlNode.attributes)
|
|
44
|
-
for (
|
|
45
|
-
var attribute = _a[_i];
|
|
44
|
+
for (let attribute of xmlNode.attributes)
|
|
46
45
|
jsonNode[attribute.nodeName] = attribute.nodeValue;
|
|
47
|
-
|
|
48
|
-
for (var _b = 0, _c = xmlNode.childNodes; _b < _c.length; _b++) {
|
|
49
|
-
var node = _c[_b];
|
|
46
|
+
for (let node of xmlNode.childNodes)
|
|
50
47
|
parseNode(node, jsonNode);
|
|
51
|
-
}
|
|
52
48
|
}
|
|
53
|
-
|
|
54
|
-
for (
|
|
55
|
-
var node = _a[_i];
|
|
49
|
+
let result = {};
|
|
50
|
+
for (let node of dom.childNodes)
|
|
56
51
|
parseNode(node, result);
|
|
57
|
-
}
|
|
58
52
|
return result;
|
|
59
53
|
}
|
|
60
54
|
;
|
|
@@ -23,7 +23,7 @@ export default function hex2rgb(hex) {
|
|
|
23
23
|
if (hex.length === 4) {
|
|
24
24
|
hex = "#" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
27
27
|
return result ? {
|
|
28
28
|
r: parseInt(result[1], 16),
|
|
29
29
|
g: parseInt(result[2], 16),
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @returns {HTMLCanvasElement}
|
|
13
13
|
*/
|
|
14
14
|
export default function imageToCanvas(img) {
|
|
15
|
-
|
|
15
|
+
let canvas = document.createElement('canvas');
|
|
16
16
|
canvas.width = img.width;
|
|
17
17
|
canvas.height = img.height;
|
|
18
18
|
canvas.getContext('2d').drawImage(img, 0, 0);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import imageToCanvas from './imageToCanvas.js';
|
|
2
|
-
export default function imgToBase64(img, type) {
|
|
3
|
-
|
|
4
|
-
var canvas = imageToCanvas(img);
|
|
2
|
+
export default function imgToBase64(img, type = 'image/png') {
|
|
3
|
+
let canvas = imageToCanvas(img);
|
|
5
4
|
return canvas.toDataURL(type);
|
|
6
5
|
}
|
|
7
6
|
;
|
package/dist/fn/convert/toCSV.js
CHANGED
|
@@ -25,22 +25,19 @@ import replaceAll from '../string/replaceAll.js';
|
|
|
25
25
|
* @param {String} [valEsc="] The string escaper character
|
|
26
26
|
* @returns {String} A CSV string
|
|
27
27
|
*/
|
|
28
|
-
export default function toCSV(arr, valSep, rowSep, valEsc) {
|
|
29
|
-
if (valSep === void 0) { valSep = ","; }
|
|
30
|
-
if (rowSep === void 0) { rowSep = ""; }
|
|
31
|
-
if (valEsc === void 0) { valEsc = '"'; }
|
|
28
|
+
export default function toCSV(arr, valSep = ",", rowSep = "", valEsc = '"') {
|
|
32
29
|
if (!valSep) {
|
|
33
30
|
valSep = ",";
|
|
34
31
|
}
|
|
35
32
|
if (!valEsc) {
|
|
36
33
|
valEsc = '"';
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
each(arr,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
each(a,
|
|
35
|
+
let csvContent = "";
|
|
36
|
+
let total = arr.length;
|
|
37
|
+
each(arr, (a, i) => {
|
|
38
|
+
let num = isArray(a) ? a.length : Object.values(a).length;
|
|
39
|
+
let j = 0;
|
|
40
|
+
each(a, (b) => {
|
|
44
41
|
if (typeof b === "string") {
|
|
45
42
|
csvContent += valEsc + replaceAll(valEsc, "\\" + valEsc, b) + valEsc;
|
|
46
43
|
}
|
|
@@ -5,8 +5,8 @@ import fdate from './fdate.js';
|
|
|
5
5
|
import date from './date.js';
|
|
6
6
|
import isDate from '../type/isDate.js';
|
|
7
7
|
import isString from '../type/isString.js';
|
|
8
|
-
|
|
9
|
-
_:
|
|
8
|
+
const bbn = {
|
|
9
|
+
_: st => st
|
|
10
10
|
};
|
|
11
11
|
dayjs.extend(dayjs_plugin_calendar);
|
|
12
12
|
dayjs.extend(isLeapYear);
|
|
@@ -28,12 +28,11 @@ dayjs.extend(isLeapYear);
|
|
|
28
28
|
* @param {String | Boolean} wrong_result Whether or not include the time in the date
|
|
29
29
|
* @returns {String}
|
|
30
30
|
*/
|
|
31
|
-
export default function calendar(d, wrong_result) {
|
|
32
|
-
if (wrong_result === void 0) { wrong_result = false; }
|
|
31
|
+
export default function calendar(d, wrong_result = false) {
|
|
33
32
|
if (undefined === dayjs) {
|
|
34
33
|
return fdate(d, wrong_result);
|
|
35
34
|
}
|
|
36
|
-
|
|
35
|
+
let r = date(d);
|
|
37
36
|
if (!isDate(r)) {
|
|
38
37
|
return wrong_result && isString(wrong_result) ? wrong_result : '';
|
|
39
38
|
}
|
package/dist/fn/datetime/date.js
CHANGED
|
@@ -11,13 +11,12 @@ import isString from '../type/isString.js';
|
|
|
11
11
|
* @param {String} wrong_result
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
|
-
export default function fdate(d, wrong_result) {
|
|
15
|
-
if (wrong_result === void 0) { wrong_result = false; }
|
|
14
|
+
export default function fdate(d, wrong_result = false) {
|
|
16
15
|
// Retro compatibility
|
|
17
16
|
if (wrong_result === true) {
|
|
18
17
|
return fdatetime(d);
|
|
19
18
|
}
|
|
20
|
-
|
|
19
|
+
let r = date(d);
|
|
21
20
|
if (!isDate(r)) {
|
|
22
21
|
return wrong_result && isString(wrong_result) ? wrong_result : '';
|
|
23
22
|
}
|
|
@@ -8,9 +8,8 @@ import isString from '../type/isString.js';
|
|
|
8
8
|
* @memberof bbn.fn
|
|
9
9
|
* @returns {*}
|
|
10
10
|
*/
|
|
11
|
-
export default function fdatetime(d, wrong_result) {
|
|
12
|
-
|
|
13
|
-
var r = date(d);
|
|
11
|
+
export default function fdatetime(d, wrong_result = false) {
|
|
12
|
+
let r = date(d);
|
|
14
13
|
if (!isDate(r)) {
|
|
15
14
|
return wrong_result && isString(wrong_result) ? wrong_result : '';
|
|
16
15
|
}
|
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @returns {Number} The elapsed time in milliseconds since the timer was started
|
|
11
11
|
*/
|
|
12
|
-
export default function getChrono(name) {
|
|
13
|
-
|
|
14
|
-
var now = bbn.fn.microtimestamp();
|
|
12
|
+
export default function getChrono(name = 'default') {
|
|
13
|
+
let now = bbn.fn.microtimestamp();
|
|
15
14
|
return now - this.constructor.chronos[name];
|
|
16
15
|
}
|
|
17
16
|
;
|
|
@@ -9,10 +9,10 @@ import date from './date.js';
|
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
11
|
export default function getDay(v) {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const biss = 1972;
|
|
13
|
+
let d = date(v);
|
|
14
14
|
if (d) {
|
|
15
|
-
|
|
15
|
+
let t = d.getTime(), y = d.getYear(), m = d.getMonth(), days = (y - 1970) * 365;
|
|
16
16
|
if (m < 2) {
|
|
17
17
|
y--;
|
|
18
18
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
11
|
export default function startChrono(name) {
|
|
12
|
-
|
|
12
|
+
let now = bbn.fn.microtimestamp();
|
|
13
13
|
if (!this.constructor.chronos) {
|
|
14
14
|
Object.defineProperty(this.constructor, 'chronos', {
|
|
15
15
|
value: Object.create(null),
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
export default function stopChrono(name, secs) {
|
|
15
15
|
if (this.constructor.chronos[name || 'default']) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
let now = bbn.fn.microtimestamp();
|
|
17
|
+
let diff = now - this.constructor.chronos[name || 'default'];
|
|
18
18
|
delete this.constructor.chronos[name || 'default'];
|
|
19
19
|
if (secs) {
|
|
20
20
|
diff = Math.round(diff) / 1000;
|
|
@@ -11,9 +11,8 @@
|
|
|
11
11
|
* @param {Boolean} seconds
|
|
12
12
|
* @returns {Number}
|
|
13
13
|
*/
|
|
14
|
-
export default function timestamp(seconds) {
|
|
15
|
-
|
|
16
|
-
var r = new Date().getTime();
|
|
14
|
+
export default function timestamp(seconds = false) {
|
|
15
|
+
let r = new Date().getTime();
|
|
17
16
|
return seconds ? Math.round(r / 1000) : r;
|
|
18
17
|
}
|
|
19
18
|
;
|