@bbn/bbn 1.0.436 → 1.0.438
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 +26 -0
- package/dist/date.js +190 -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 -12
- 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
package/dist/fn/browser/error.js
CHANGED
|
@@ -13,8 +13,8 @@ import log from './log.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export default function error(errorMsg) {
|
|
15
15
|
if (arguments.length > 1) {
|
|
16
|
-
|
|
17
|
-
for (
|
|
16
|
+
const args = [];
|
|
17
|
+
for (let i = 1; i < arguments.length; i++) {
|
|
18
18
|
args.push(arguments[i]);
|
|
19
19
|
}
|
|
20
20
|
args.unshift({
|
|
@@ -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
|
import yieldToBrowser from './yieldToBrowser.js';
|
|
38
11
|
/**
|
|
39
12
|
* Executes a function on each element of an array slowly, yielding to the browser in between.
|
|
@@ -42,34 +15,17 @@ import yieldToBrowser from './yieldToBrowser.js';
|
|
|
42
15
|
* @returns A promise that resolves to true if the iteration completed, or false if it was stopped early.
|
|
43
16
|
*/
|
|
44
17
|
export default function executeSlowly(arr, fn) {
|
|
45
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return [4 /*yield*/, yieldToBrowser()];
|
|
55
|
-
case 2:
|
|
56
|
-
_a.sent();
|
|
57
|
-
res = fn(arr[i], i);
|
|
58
|
-
if (!(res instanceof Promise)) return [3 /*break*/, 4];
|
|
59
|
-
return [4 /*yield*/, res];
|
|
60
|
-
case 3:
|
|
61
|
-
res = _a.sent();
|
|
62
|
-
_a.label = 4;
|
|
63
|
-
case 4:
|
|
64
|
-
if (res === false) {
|
|
65
|
-
return [2 /*return*/, false];
|
|
66
|
-
}
|
|
67
|
-
_a.label = 5;
|
|
68
|
-
case 5:
|
|
69
|
-
i++;
|
|
70
|
-
return [3 /*break*/, 1];
|
|
71
|
-
case 6: return [2 /*return*/, true];
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
for (let i = 0; i < arr.length; i++) {
|
|
20
|
+
yield yieldToBrowser();
|
|
21
|
+
let res = fn(arr[i], i);
|
|
22
|
+
if (res instanceof Promise) {
|
|
23
|
+
res = yield res;
|
|
24
|
+
}
|
|
25
|
+
if (res === false) {
|
|
26
|
+
return false;
|
|
72
27
|
}
|
|
73
|
-
}
|
|
28
|
+
}
|
|
29
|
+
return true;
|
|
74
30
|
});
|
|
75
31
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @returns {String}
|
|
7
7
|
*/
|
|
8
8
|
export default function getBrowserName() {
|
|
9
|
-
|
|
9
|
+
const userAgent = navigator.userAgent.toLowerCase();
|
|
10
10
|
switch (true) {
|
|
11
11
|
case userAgent.includes('edge'):
|
|
12
12
|
case userAgent.includes('edg/'):
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* @returns {String}
|
|
7
7
|
*/
|
|
8
8
|
export default function getBrowserVersion() {
|
|
9
|
-
|
|
9
|
+
const userAgent = navigator.userAgent.toLowerCase();
|
|
10
10
|
switch (true) {
|
|
11
11
|
case userAgent.includes('edge/'):
|
|
12
12
|
return userAgent.split('edge/')[1].split(' ')[0];
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
15
|
export default function getCookie(name) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
for (
|
|
19
|
-
|
|
16
|
+
let nameEqual = name + '=';
|
|
17
|
+
let ca = document.cookie.split(';');
|
|
18
|
+
for (let i = 0; i < ca.length; i++) {
|
|
19
|
+
let c = ca[i];
|
|
20
20
|
while (c.charAt(0) == ' ') {
|
|
21
21
|
c = c.substring(1, c.length);
|
|
22
22
|
}
|
|
23
23
|
if (c.indexOf(nameEqual) == 0) {
|
|
24
|
-
|
|
24
|
+
let st = c.substring(nameEqual.length, c.length);
|
|
25
25
|
if (st) {
|
|
26
26
|
return JSON.parse(unescape(st)).value;
|
|
27
27
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @returns {String}
|
|
12
12
|
*/
|
|
13
13
|
export default function getDeviceType() {
|
|
14
|
-
|
|
14
|
+
const userAgent = navigator.userAgent.toLowerCase();
|
|
15
15
|
if (/iPhone|Android/i.test(navigator.userAgent)) {
|
|
16
16
|
return 'mobile';
|
|
17
17
|
}
|
|
@@ -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
|
}
|