@leyyo/common 1.2.6 → 1.3.1
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/README.md +395 -3
- package/dist/class/index.d.ts +2 -0
- package/dist/{opt → class}/index.js +2 -1
- package/dist/class/index.js.map +1 -0
- package/dist/class/list.d.ts +13 -0
- package/dist/class/list.js +37 -0
- package/dist/class/list.js.map +1 -0
- package/dist/{log → class}/logger.instance.d.ts +10 -12
- package/dist/class/logger.instance.js +150 -0
- package/dist/class/logger.instance.js.map +1 -0
- package/dist/common/array.fn.d.ts +46 -0
- package/dist/common/array.fn.js +123 -0
- package/dist/common/array.fn.js.map +1 -0
- package/dist/common/deploy.fn.d.ts +18 -0
- package/dist/common/deploy.fn.js +73 -0
- package/dist/common/deploy.fn.js.map +1 -0
- package/dist/common/enum.fn.d.ts +63 -0
- package/dist/common/enum.fn.js +191 -0
- package/dist/common/enum.fn.js.map +1 -0
- package/dist/common/error.fn.d.ts +91 -0
- package/dist/common/error.fn.js +400 -0
- package/dist/common/error.fn.js.map +1 -0
- package/dist/common/event.fn.d.ts +45 -0
- package/dist/common/event.fn.js +160 -0
- package/dist/common/event.fn.js.map +1 -0
- package/dist/common/exporter.fn.d.ts +7 -0
- package/dist/common/exporter.fn.js +49 -0
- package/dist/common/exporter.fn.js.map +1 -0
- package/dist/common/fqn.fn.d.ts +27 -0
- package/dist/common/fqn.fn.js +104 -0
- package/dist/common/fqn.fn.js.map +1 -0
- package/dist/common/index.d.ts +14 -0
- package/dist/{hub → common}/index.js +14 -1
- package/dist/common/index.js.map +1 -0
- package/dist/common/lifecycle.fn.d.ts +24 -0
- package/dist/common/lifecycle.fn.js +135 -0
- package/dist/common/lifecycle.fn.js.map +1 -0
- package/dist/common/list.fn.d.ts +47 -0
- package/dist/common/list.fn.js +122 -0
- package/dist/common/list.fn.js.map +1 -0
- package/dist/common/loader.fn.d.ts +15 -0
- package/dist/common/loader.fn.js +38 -0
- package/dist/common/loader.fn.js.map +1 -0
- package/dist/common/log.fn.d.ts +21 -0
- package/dist/common/log.fn.js +321 -0
- package/dist/common/log.fn.js.map +1 -0
- package/dist/common/map.fn.d.ts +46 -0
- package/dist/common/map.fn.js +123 -0
- package/dist/common/map.fn.js.map +1 -0
- package/dist/common/opt.fn.d.ts +48 -0
- package/dist/common/opt.fn.js +137 -0
- package/dist/common/opt.fn.js.map +1 -0
- package/dist/common/set.fn.d.ts +46 -0
- package/dist/common/set.fn.js +123 -0
- package/dist/common/set.fn.js.map +1 -0
- package/dist/common/test.fn.d.ts +26 -0
- package/dist/common/test.fn.js +81 -0
- package/dist/common/test.fn.js.map +1 -0
- package/dist/const/index.d.ts +23 -0
- package/dist/const/index.js +28 -0
- package/dist/const/index.js.map +1 -0
- package/dist/enum/index.d.ts +1 -0
- package/dist/{deploy → enum}/index.js +1 -1
- package/dist/enum/index.js.map +1 -0
- package/dist/{log → enum}/log-level.js +2 -2
- package/dist/enum/log-level.js.map +1 -0
- package/dist/error/caused.error.d.ts +15 -0
- package/dist/error/caused.error.js +24 -0
- package/dist/error/caused.error.js.map +1 -0
- package/dist/error/developer.error.d.ts +24 -0
- package/dist/error/developer.error.js +69 -0
- package/dist/error/developer.error.js.map +1 -0
- package/dist/error/{items/http.error.d.ts → http.error.d.ts} +1 -1
- package/dist/error/http.error.js +31 -0
- package/dist/error/http.error.js.map +1 -0
- package/dist/error/index.d.ts +6 -3
- package/dist/error/index.js +6 -3
- package/dist/error/index.js.map +1 -1
- package/dist/error/{items/invalid-value.error.js → invalid-value.error.js} +6 -2
- package/dist/error/invalid-value.error.js.map +1 -0
- package/dist/error/leyyo.error.d.ts +87 -0
- package/dist/error/leyyo.error.js +259 -0
- package/dist/error/leyyo.error.js.map +1 -0
- package/dist/error/{items/multiple.error.d.ts → multiple.error.d.ts} +1 -1
- package/dist/error/{items/multiple.error.js → multiple.error.js} +5 -4
- package/dist/error/multiple.error.js.map +1 -0
- package/dist/{util → function}/delay.js +1 -0
- package/dist/function/delay.js.map +1 -0
- package/dist/function/empty.fn.d.ts +8 -0
- package/dist/{util → function}/empty.fn.js +3 -2
- package/dist/function/empty.fn.js.map +1 -0
- package/dist/function/error-obj.d.ts +8 -0
- package/dist/function/error-obj.js +25 -0
- package/dist/function/error-obj.js.map +1 -0
- package/dist/function/error-text.d.ts +7 -0
- package/dist/function/error-text.js +18 -0
- package/dist/function/error-text.js.map +1 -0
- package/dist/function/extended-type.d.ts +8 -0
- package/dist/function/extended-type.js +56 -0
- package/dist/function/extended-type.js.map +1 -0
- package/dist/{util → function}/index.d.ts +4 -4
- package/dist/{util → function}/index.js +4 -4
- package/dist/function/index.js.map +1 -0
- package/dist/{util → function}/is.d.ts +12 -13
- package/dist/function/is.js +89 -0
- package/dist/function/is.js.map +1 -0
- package/dist/{util → function}/jitter-interval.js +1 -0
- package/dist/function/jitter-interval.js.map +1 -0
- package/dist/{util → function}/one-or-more.d.ts +1 -1
- package/dist/{util → function}/one-or-more.js +1 -0
- package/dist/function/one-or-more.js.map +1 -0
- package/dist/{util → function}/secure-clone.d.ts +1 -1
- package/dist/function/secure-clone.js.map +1 -0
- package/dist/function/secure-json.js.map +1 -0
- package/dist/index.d.ts +7 -19
- package/dist/index.js +7 -21
- package/dist/index.js.map +1 -1
- package/dist/index.types.d.ts +510 -0
- package/dist/{shared/index.types.js → index.types.js} +1 -1
- package/dist/index.types.js.map +1 -0
- package/dist/loader.d.ts +2 -0
- package/dist/loader.js +98 -0
- package/dist/loader.js.map +1 -0
- package/package.json +5 -3
- package/dist/$$leyyo-loader.d.ts +0 -1
- package/dist/$$leyyo-loader.js +0 -40
- package/dist/$$leyyo-loader.js.map +0 -1
- package/dist/deploy/deploy.common.d.ts +0 -34
- package/dist/deploy/deploy.common.js +0 -125
- package/dist/deploy/deploy.common.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -1
- package/dist/deploy/index.js.map +0 -1
- package/dist/deploy/index.types.d.ts +0 -29
- package/dist/deploy/index.types.js +0 -3
- package/dist/deploy/index.types.js.map +0 -1
- package/dist/error/error.common.d.ts +0 -34
- package/dist/error/error.common.js +0 -220
- package/dist/error/error.common.js.map +0 -1
- package/dist/error/index.const.d.ts +0 -4
- package/dist/error/index.const.js +0 -8
- package/dist/error/index.const.js.map +0 -1
- package/dist/error/index.types.d.ts +0 -109
- package/dist/error/index.types.js +0 -3
- package/dist/error/index.types.js.map +0 -1
- package/dist/error/items/caused.error.d.ts +0 -6
- package/dist/error/items/caused.error.js +0 -11
- package/dist/error/items/caused.error.js.map +0 -1
- package/dist/error/items/developer.error.d.ts +0 -4
- package/dist/error/items/developer.error.js +0 -11
- package/dist/error/items/developer.error.js.map +0 -1
- package/dist/error/items/http.error.js +0 -37
- package/dist/error/items/http.error.js.map +0 -1
- package/dist/error/items/index.d.ts +0 -6
- package/dist/error/items/index.js +0 -23
- package/dist/error/items/index.js.map +0 -1
- package/dist/error/items/invalid-value.error.js.map +0 -1
- package/dist/error/items/leyyo.error.d.ts +0 -60
- package/dist/error/items/leyyo.error.js +0 -144
- package/dist/error/items/leyyo.error.js.map +0 -1
- package/dist/error/items/multiple.error.js.map +0 -1
- package/dist/event/event.common.d.ts +0 -80
- package/dist/event/event.common.js +0 -308
- package/dist/event/event.common.js.map +0 -1
- package/dist/event/event.error.d.ts +0 -3
- package/dist/event/event.error.js +0 -9
- package/dist/event/event.error.js.map +0 -1
- package/dist/event/index.d.ts +0 -2
- package/dist/event/index.js +0 -19
- package/dist/event/index.js.map +0 -1
- package/dist/event/index.types.d.ts +0 -265
- package/dist/event/index.types.js +0 -3
- package/dist/event/index.types.js.map +0 -1
- package/dist/hub/hub.channel.d.ts +0 -27
- package/dist/hub/hub.channel.js +0 -83
- package/dist/hub/hub.channel.js.map +0 -1
- package/dist/hub/hub.common.d.ts +0 -27
- package/dist/hub/hub.common.js +0 -92
- package/dist/hub/hub.common.js.map +0 -1
- package/dist/hub/index.d.ts +0 -1
- package/dist/hub/index.js.map +0 -1
- package/dist/hub/index.types.d.ts +0 -105
- package/dist/hub/index.types.js +0 -3
- package/dist/hub/index.types.js.map +0 -1
- package/dist/leyyo/index.d.ts +0 -1
- package/dist/leyyo/index.js +0 -18
- package/dist/leyyo/index.js.map +0 -1
- package/dist/leyyo/index.types.d.ts +0 -21
- package/dist/leyyo/index.types.js +0 -3
- package/dist/leyyo/index.types.js.map +0 -1
- package/dist/leyyo/leyyo.d.ts +0 -25
- package/dist/leyyo/leyyo.js +0 -62
- package/dist/leyyo/leyyo.js.map +0 -1
- package/dist/log/index.d.ts +0 -4
- package/dist/log/index.js +0 -21
- package/dist/log/index.js.map +0 -1
- package/dist/log/index.types.d.ts +0 -47
- package/dist/log/index.types.js +0 -3
- package/dist/log/index.types.js.map +0 -1
- package/dist/log/log-level.js.map +0 -1
- package/dist/log/log.common.d.ts +0 -15
- package/dist/log/log.common.js +0 -135
- package/dist/log/log.common.js.map +0 -1
- package/dist/log/logger.error.d.ts +0 -3
- package/dist/log/logger.error.js +0 -9
- package/dist/log/logger.error.js.map +0 -1
- package/dist/log/logger.instance.js +0 -139
- package/dist/log/logger.instance.js.map +0 -1
- package/dist/name/index.d.ts +0 -2
- package/dist/name/index.js +0 -19
- package/dist/name/index.js.map +0 -1
- package/dist/name/index.types.d.ts +0 -21
- package/dist/name/index.types.js +0 -3
- package/dist/name/index.types.js.map +0 -1
- package/dist/name/name.common.d.ts +0 -16
- package/dist/name/name.common.js +0 -109
- package/dist/name/name.common.js.map +0 -1
- package/dist/name/name.error.d.ts +0 -3
- package/dist/name/name.error.js +0 -9
- package/dist/name/name.error.js.map +0 -1
- package/dist/opt/index.d.ts +0 -1
- package/dist/opt/index.js.map +0 -1
- package/dist/opt/index.types.d.ts +0 -33
- package/dist/opt/index.types.js +0 -3
- package/dist/opt/index.types.js.map +0 -1
- package/dist/opt/opt.common.d.ts +0 -15
- package/dist/opt/opt.common.js +0 -93
- package/dist/opt/opt.common.js.map +0 -1
- package/dist/repo/index.d.ts +0 -1
- package/dist/repo/index.js +0 -18
- package/dist/repo/index.js.map +0 -1
- package/dist/repo/index.types.d.ts +0 -104
- package/dist/repo/index.types.js +0 -3
- package/dist/repo/index.types.js.map +0 -1
- package/dist/repo/repo.common.d.ts +0 -41
- package/dist/repo/repo.common.js +0 -146
- package/dist/repo/repo.common.js.map +0 -1
- package/dist/server.d.ts +0 -1
- package/dist/server.js +0 -5
- package/dist/server.js.map +0 -1
- package/dist/shared/index.d.ts +0 -5
- package/dist/shared/index.enum.d.ts +0 -7
- package/dist/shared/index.enum.js +0 -3
- package/dist/shared/index.enum.js.map +0 -1
- package/dist/shared/index.fqn.d.ts +0 -3
- package/dist/shared/index.fqn.js +0 -3
- package/dist/shared/index.fqn.js.map +0 -1
- package/dist/shared/index.js +0 -22
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/index.json.d.ts +0 -33
- package/dist/shared/index.json.js +0 -3
- package/dist/shared/index.json.js.map +0 -1
- package/dist/shared/index.loader.d.ts +0 -5
- package/dist/shared/index.loader.js +0 -3
- package/dist/shared/index.loader.js.map +0 -1
- package/dist/shared/index.types.d.ts +0 -168
- package/dist/shared/index.types.js.map +0 -1
- package/dist/util/$define-error.d.ts +0 -9
- package/dist/util/$define-error.js +0 -25
- package/dist/util/$define-error.js.map +0 -1
- package/dist/util/$enum-name.d.ts +0 -16
- package/dist/util/$enum-name.js +0 -18
- package/dist/util/$enum-name.js.map +0 -1
- package/dist/util/$loader.d.ts +0 -18
- package/dist/util/$loader.js +0 -40
- package/dist/util/$loader.js.map +0 -1
- package/dist/util/delay.js.map +0 -1
- package/dist/util/empty.fn.d.ts +0 -8
- package/dist/util/empty.fn.js.map +0 -1
- package/dist/util/index.js.map +0 -1
- package/dist/util/is.js +0 -68
- package/dist/util/is.js.map +0 -1
- package/dist/util/jitter-interval.js.map +0 -1
- package/dist/util/one-or-more.js.map +0 -1
- package/dist/util/secure-clone.js.map +0 -1
- package/dist/util/secure-json.js.map +0 -1
- /package/dist/{log → enum}/log-level.d.ts +0 -0
- /package/dist/error/{items/invalid-value.error.d.ts → invalid-value.error.d.ts} +0 -0
- /package/dist/{util → function}/delay.d.ts +0 -0
- /package/dist/{util → function}/jitter-interval.d.ts +0 -0
- /package/dist/{util → function}/secure-clone.js +0 -0
- /package/dist/{util → function}/secure-json.d.ts +0 -0
- /package/dist/{util → function}/secure-json.js +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setLogFormatter = setLogFormatter;
|
|
4
|
+
exports.setLogDeploymentStylerLog = setLogDeploymentStylerLog;
|
|
5
|
+
exports.setLogLocalStylerLog = setLogLocalStylerLog;
|
|
6
|
+
exports.emitLog = emitLog;
|
|
7
|
+
const event_fn_1 = require("./event.fn");
|
|
8
|
+
const error_1 = require("../error");
|
|
9
|
+
const internal_1 = require("../internal");
|
|
10
|
+
const test_fn_1 = require("./test.fn");
|
|
11
|
+
const function_1 = require("../function");
|
|
12
|
+
const const_1 = require("../const");
|
|
13
|
+
const error_fn_1 = require("./error.fn");
|
|
14
|
+
// region properties
|
|
15
|
+
const where = `${internal_1.FQN}.LogFn`;
|
|
16
|
+
let logFormatter;
|
|
17
|
+
let logDeploymentStyler;
|
|
18
|
+
let logLocalStyler;
|
|
19
|
+
let logStyler;
|
|
20
|
+
const emptyWhere = ''.padStart(20);
|
|
21
|
+
let contextFinder;
|
|
22
|
+
// endregion properties
|
|
23
|
+
/**
|
|
24
|
+
* Local console colors
|
|
25
|
+
*
|
|
26
|
+
* @type {LocalColorLike}
|
|
27
|
+
* */
|
|
28
|
+
const localColor = {
|
|
29
|
+
bold: '\x1b[1m',
|
|
30
|
+
normal: '\x1b[21m',
|
|
31
|
+
end: '\x1b[0m',
|
|
32
|
+
param: '\x1b[90m',
|
|
33
|
+
levels: {
|
|
34
|
+
fatal: [true, '\x1b[31m', '\x1b[91m'], // bold red
|
|
35
|
+
error: [false, '\x1b[31m', '\x1b[91m'], // red
|
|
36
|
+
warn: [false, '\x1b[35m', '\x1b[95m'], // magenta
|
|
37
|
+
info: [false, '\x1b[32m', '\x1b[92m'], // green
|
|
38
|
+
debug: [false, '\x1b[33m', '\x1b[93m'], // yellow
|
|
39
|
+
trace: [false, '\x1b[36m', '\x1b[96m'], // yellow
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
// region setters
|
|
43
|
+
// noinspection JSUnusedGlobalSymbols
|
|
44
|
+
/**
|
|
45
|
+
* Set formatter
|
|
46
|
+
*
|
|
47
|
+
* @param {function} fn - lambda for formatter
|
|
48
|
+
* */
|
|
49
|
+
function setLogFormatter(fn) {
|
|
50
|
+
if (typeof fn !== 'function') {
|
|
51
|
+
throw new error_1.DeveloperError('Invalid log formatter', (0, test_fn_1.testCase)(internal_1.FQN, 161), where);
|
|
52
|
+
}
|
|
53
|
+
logFormatter = fn;
|
|
54
|
+
}
|
|
55
|
+
// noinspection JSUnusedGlobalSymbols
|
|
56
|
+
/**
|
|
57
|
+
* Set deployment styler
|
|
58
|
+
*
|
|
59
|
+
* @param {function} fn - lambda for styler
|
|
60
|
+
* */
|
|
61
|
+
function setLogDeploymentStylerLog(fn) {
|
|
62
|
+
if (typeof fn !== 'function') {
|
|
63
|
+
throw new error_1.DeveloperError('Invalid log styler', (0, test_fn_1.testCase)(internal_1.FQN, 162), where);
|
|
64
|
+
}
|
|
65
|
+
logDeploymentStyler = fn;
|
|
66
|
+
if (process.env['NODE_ENV'] !== 'local') {
|
|
67
|
+
logStyler = logDeploymentStyler;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// noinspection JSUnusedGlobalSymbols
|
|
71
|
+
/**
|
|
72
|
+
* Set local style
|
|
73
|
+
*
|
|
74
|
+
* @param {function} fn - lambda for styler
|
|
75
|
+
* */
|
|
76
|
+
function setLogLocalStylerLog(fn) {
|
|
77
|
+
if (typeof fn !== 'function') {
|
|
78
|
+
throw new error_1.DeveloperError('Invalid log local styler', (0, test_fn_1.testCase)(internal_1.FQN, 162), where);
|
|
79
|
+
}
|
|
80
|
+
logLocalStyler = fn;
|
|
81
|
+
if (process.env['NODE_ENV'] === 'local') {
|
|
82
|
+
logStyler = logLocalStyler;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// endregion setters
|
|
86
|
+
// region local-functions
|
|
87
|
+
/**
|
|
88
|
+
* Build short style of logger name
|
|
89
|
+
*
|
|
90
|
+
* @param {string} where - original logger name
|
|
91
|
+
* @param {string} - short style
|
|
92
|
+
* */
|
|
93
|
+
function shortenWhere(where) {
|
|
94
|
+
if (!where) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
if (!where.includes('.')) {
|
|
98
|
+
return where;
|
|
99
|
+
}
|
|
100
|
+
const parts = where.split('.');
|
|
101
|
+
where = parts.pop();
|
|
102
|
+
if (parts.length > 0) {
|
|
103
|
+
where = parts.map(w => w.slice(0, 1)).join('.') + '.' + where;
|
|
104
|
+
}
|
|
105
|
+
return where;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Log consumer
|
|
109
|
+
*
|
|
110
|
+
* @param {LogItem} item
|
|
111
|
+
* */
|
|
112
|
+
function consumeLog(item) {
|
|
113
|
+
if (!(0, function_1.isObj)(item)) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
item.where = shortenWhere(item.where);
|
|
117
|
+
try {
|
|
118
|
+
logFormatter(item);
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
}
|
|
122
|
+
let message;
|
|
123
|
+
try {
|
|
124
|
+
message = logStyler(item);
|
|
125
|
+
}
|
|
126
|
+
catch (e) {
|
|
127
|
+
}
|
|
128
|
+
if (typeof message !== 'string') {
|
|
129
|
+
message = `${item === null || item === void 0 ? void 0 : item.now} - ${typeof item.message === 'string' ? item.message : (0, function_1.secureJson)(item.message)}`;
|
|
130
|
+
if (item.params) {
|
|
131
|
+
message += ` ~^~ ${(0, function_1.secureJson)(item.params)}`;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
console[item.level](message);
|
|
135
|
+
}
|
|
136
|
+
// endregion local-functions
|
|
137
|
+
// region defaults
|
|
138
|
+
/**
|
|
139
|
+
* Default log formatter
|
|
140
|
+
*
|
|
141
|
+
* @param {LogItem} item
|
|
142
|
+
* */
|
|
143
|
+
logFormatter = (item) => {
|
|
144
|
+
var _a, _b;
|
|
145
|
+
if (item === null || item === void 0 ? void 0 : item.ctx) {
|
|
146
|
+
const ctx = item.ctx;
|
|
147
|
+
item.ctx = {
|
|
148
|
+
tid: ctx === null || ctx === void 0 ? void 0 : ctx.id,
|
|
149
|
+
cid: ((_a = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _a === void 0 ? void 0 : _a.headers) ? (_b = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _b === void 0 ? void 0 : _b.headers["correlation-id"] : undefined,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
item.paramStr = item.params ? (0, function_1.secureJson)(item.params) : undefined;
|
|
153
|
+
delete item.params;
|
|
154
|
+
if (item.paramStr && ['{}', '[]'].includes(item.paramStr)) {
|
|
155
|
+
delete item.paramStr;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Default log deployment styler (on server)
|
|
160
|
+
*
|
|
161
|
+
* @param {LogItem} item
|
|
162
|
+
* @return {string}
|
|
163
|
+
* */
|
|
164
|
+
logDeploymentStyler = (item) => {
|
|
165
|
+
let message = item.now;
|
|
166
|
+
if (item === null || item === void 0 ? void 0 : item.ctx) {
|
|
167
|
+
if (item.ctx['pid']) {
|
|
168
|
+
message += ` [p:${item.ctx['pid']}]`;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
message += ` [p:]`;
|
|
172
|
+
}
|
|
173
|
+
if (item.ctx['tid']) {
|
|
174
|
+
message += ` [t:${item.ctx['tid']}]`;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
message += ` [t:]`;
|
|
178
|
+
}
|
|
179
|
+
if (item.ctx['cid']) {
|
|
180
|
+
message += ` [c:${item.ctx['cid']}]`;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
message += ` [c:]`;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (item.where) {
|
|
187
|
+
message += ` [w:${item.where}]`;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
message += ` [w:]`;
|
|
191
|
+
}
|
|
192
|
+
message += ' ' + item.message;
|
|
193
|
+
return message + (item.paramStr ? ' ~^~ ' + item.paramStr : '');
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Default log locale styler (on local computer)
|
|
197
|
+
*
|
|
198
|
+
* @param {LogItem} item
|
|
199
|
+
* @return {string}
|
|
200
|
+
* */
|
|
201
|
+
logLocalStyler = (item) => {
|
|
202
|
+
var _a;
|
|
203
|
+
const { bold, end, param } = localColor;
|
|
204
|
+
const [isBold, regular, light] = (_a = localColor.levels[item.level]) !== null && _a !== void 0 ? _a : localColor.levels.debug;
|
|
205
|
+
let message = item.now.substring(10, 11) + ` ${param}[p:${process.pid}]${end}`;
|
|
206
|
+
if (item === null || item === void 0 ? void 0 : item.ctx) {
|
|
207
|
+
if (item.ctx['tid']) {
|
|
208
|
+
message += ` ${regular}[t:${item.ctx['tid']}]`;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
message += ` ${param}[t:]`;
|
|
212
|
+
}
|
|
213
|
+
if (item.ctx['cid']) {
|
|
214
|
+
message += ` ${light}[c:${item.ctx['cid']}]`;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
message += ` ${param}[c:]`;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (item.where) {
|
|
221
|
+
message += ` ${regular}[${item.where}]`;
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
message += ` ${param}[${emptyWhere}]`;
|
|
225
|
+
}
|
|
226
|
+
message += ` ${isBold ? bold : ''}${light}${item.message}${end}`;
|
|
227
|
+
return message + (item.paramStr ? ` ~^~ ${param}${item.paramStr}${end}` : '');
|
|
228
|
+
};
|
|
229
|
+
/**
|
|
230
|
+
* Set current styler by environment
|
|
231
|
+
* */
|
|
232
|
+
if (process.env['NODE_ENV'] === 'local') {
|
|
233
|
+
logStyler = logLocalStyler;
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
logStyler = logDeploymentStyler;
|
|
237
|
+
}
|
|
238
|
+
// endregion defaults
|
|
239
|
+
function emitLog(level, where, message, params) {
|
|
240
|
+
var _a;
|
|
241
|
+
const item = {
|
|
242
|
+
level,
|
|
243
|
+
where,
|
|
244
|
+
now: new Date().toISOString(),
|
|
245
|
+
message: undefined,
|
|
246
|
+
params: undefined,
|
|
247
|
+
};
|
|
248
|
+
if (message instanceof Error) {
|
|
249
|
+
const err = message;
|
|
250
|
+
try {
|
|
251
|
+
if (err[const_1.LY_LOG_ALREADY]) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
err[const_1.LY_LOG_ALREADY] = true;
|
|
255
|
+
}
|
|
256
|
+
catch (e) {
|
|
257
|
+
}
|
|
258
|
+
item.message = (0, function_1.errorText)(message);
|
|
259
|
+
item.params = (0, error_fn_1.toErrorJsonBasic)(message, params);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
if (typeof message !== 'string') {
|
|
263
|
+
if ((0, function_1.isEmpty)(message)) {
|
|
264
|
+
message = '??';
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
if (typeof message === 'object') {
|
|
268
|
+
try {
|
|
269
|
+
if (message[const_1.LY_LOG_ALREADY]) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
message[const_1.LY_LOG_ALREADY] = true;
|
|
273
|
+
}
|
|
274
|
+
catch (e) {
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
message = (0, function_1.secureJson)(message);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
item.message = message;
|
|
281
|
+
item.params = (0, function_1.isFilledObj)(params) ? params : {};
|
|
282
|
+
}
|
|
283
|
+
if (!item.where && (params === null || params === void 0 ? void 0 : params.where)) {
|
|
284
|
+
try {
|
|
285
|
+
if (typeof params.where === 'string') {
|
|
286
|
+
item.where = params.where;
|
|
287
|
+
delete params.where;
|
|
288
|
+
}
|
|
289
|
+
else if (params.where instanceof Set) {
|
|
290
|
+
const whereList = Array.from(params.where.values());
|
|
291
|
+
item.where = whereList[0];
|
|
292
|
+
params.where.delete(item.where);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
catch (e) {
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
if (contextFinder) {
|
|
299
|
+
try {
|
|
300
|
+
item.ctx = contextFinder((_a = item.params) === null || _a === void 0 ? void 0 : _a.req);
|
|
301
|
+
}
|
|
302
|
+
catch (e) {
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
(0, event_fn_1.emitEvent)('log', item);
|
|
306
|
+
}
|
|
307
|
+
// region binding
|
|
308
|
+
(0, event_fn_1.listenEvent)('context:finder', (v) => {
|
|
309
|
+
if (typeof v === 'function') {
|
|
310
|
+
contextFinder = v;
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
new error_1.DeveloperError('Invalid context finder lambda', (0, test_fn_1.testCase)(internal_1.FQN, '150'), where).log();
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
// bind to event emitter
|
|
317
|
+
(0, event_fn_1.listenEvent)('log', consumeLog);
|
|
318
|
+
// bind to developer error
|
|
319
|
+
error_1.DeveloperError.boundLog(consumeLog);
|
|
320
|
+
// endregion binding
|
|
321
|
+
//# sourceMappingURL=log.fn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.fn.js","sourceRoot":"","sources":["../../src/common/log.fn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create new map
|
|
3
|
+
*
|
|
4
|
+
* @param {string} name - name of collection
|
|
5
|
+
* @param {boolean} volatile - if yes: it will be removed after lifecycle run
|
|
6
|
+
* @return {Map<any, any>}
|
|
7
|
+
* */
|
|
8
|
+
export declare function newRepoMap<K, V>(name: string, volatile?: boolean): Map<K, V>;
|
|
9
|
+
/**
|
|
10
|
+
* Remove map by given key
|
|
11
|
+
*
|
|
12
|
+
* @param {symbol} key - key of collection
|
|
13
|
+
* @return {number}
|
|
14
|
+
*
|
|
15
|
+
* Return possibilities:
|
|
16
|
+
* - `-2`: key is not valid symbol
|
|
17
|
+
* - `-1`: key does not exist
|
|
18
|
+
* - `>= 0`: length of removed items in collection
|
|
19
|
+
* */
|
|
20
|
+
export declare function removeRepoMap(key: symbol): number;
|
|
21
|
+
/**
|
|
22
|
+
* Clear map by given key
|
|
23
|
+
*
|
|
24
|
+
* @param {symbol} key - key of collection
|
|
25
|
+
* @return {number}
|
|
26
|
+
*
|
|
27
|
+
* Return possibilities:
|
|
28
|
+
* - `-2`: key is not valid symbol
|
|
29
|
+
* - `-1`: key does not exist
|
|
30
|
+
* - `>= 0`: length of cleared items in collection
|
|
31
|
+
* */
|
|
32
|
+
export declare function clearRepoMap(key: symbol): number;
|
|
33
|
+
/**
|
|
34
|
+
* List all map keys
|
|
35
|
+
*
|
|
36
|
+
* @return {Array<symbol>}
|
|
37
|
+
* */
|
|
38
|
+
export declare function listRepoMaps(): Array<symbol>;
|
|
39
|
+
/**
|
|
40
|
+
* Print all maps
|
|
41
|
+
*
|
|
42
|
+
* @return {Record} - as {key: length of collection}
|
|
43
|
+
*
|
|
44
|
+
* Note: if stringified symbol is duplicated, add index postfix with `#` symbol
|
|
45
|
+
* */
|
|
46
|
+
export declare function printMaps(): Record<string, number>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newRepoMap = newRepoMap;
|
|
4
|
+
exports.removeRepoMap = removeRepoMap;
|
|
5
|
+
exports.clearRepoMap = clearRepoMap;
|
|
6
|
+
exports.listRepoMaps = listRepoMaps;
|
|
7
|
+
exports.printMaps = printMaps;
|
|
8
|
+
const function_1 = require("../function");
|
|
9
|
+
const error_1 = require("../error");
|
|
10
|
+
const internal_1 = require("../internal");
|
|
11
|
+
// region properties
|
|
12
|
+
/**
|
|
13
|
+
* Internal items which stores collections
|
|
14
|
+
* */
|
|
15
|
+
const items = new Map();
|
|
16
|
+
/**
|
|
17
|
+
* Internal volatiles repo which could be cleared after lifecycle run
|
|
18
|
+
* */
|
|
19
|
+
const volatiles = new Set();
|
|
20
|
+
/**
|
|
21
|
+
* Identifier of file
|
|
22
|
+
* */
|
|
23
|
+
const where = `${internal_1.FQN}.MapFn`;
|
|
24
|
+
// endregion properties
|
|
25
|
+
// noinspection JSUnusedGlobalSymbols
|
|
26
|
+
/**
|
|
27
|
+
* Create new map
|
|
28
|
+
*
|
|
29
|
+
* @param {string} name - name of collection
|
|
30
|
+
* @param {boolean} volatile - if yes: it will be removed after lifecycle run
|
|
31
|
+
* @return {Map<any, any>}
|
|
32
|
+
* */
|
|
33
|
+
function newRepoMap(name, volatile) {
|
|
34
|
+
if (!(0, function_1.isText)(name)) {
|
|
35
|
+
throw new error_1.DeveloperError('Invalid new map name', 'newMap#01', where);
|
|
36
|
+
}
|
|
37
|
+
const item = new Map();
|
|
38
|
+
const code = Symbol.for(name.split('#').join(''));
|
|
39
|
+
items.set(code, item);
|
|
40
|
+
if (volatile) {
|
|
41
|
+
volatiles.add(code);
|
|
42
|
+
}
|
|
43
|
+
return item;
|
|
44
|
+
}
|
|
45
|
+
// noinspection JSUnusedGlobalSymbols
|
|
46
|
+
/**
|
|
47
|
+
* Remove map by given key
|
|
48
|
+
*
|
|
49
|
+
* @param {symbol} key - key of collection
|
|
50
|
+
* @return {number}
|
|
51
|
+
*
|
|
52
|
+
* Return possibilities:
|
|
53
|
+
* - `-2`: key is not valid symbol
|
|
54
|
+
* - `-1`: key does not exist
|
|
55
|
+
* - `>= 0`: length of removed items in collection
|
|
56
|
+
* */
|
|
57
|
+
function removeRepoMap(key) {
|
|
58
|
+
const cleared = clearRepoMap(key);
|
|
59
|
+
if (cleared >= 0) {
|
|
60
|
+
items.delete(key);
|
|
61
|
+
if (volatiles.has(key)) {
|
|
62
|
+
volatiles.delete(key);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return cleared;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Clear map by given key
|
|
69
|
+
*
|
|
70
|
+
* @param {symbol} key - key of collection
|
|
71
|
+
* @return {number}
|
|
72
|
+
*
|
|
73
|
+
* Return possibilities:
|
|
74
|
+
* - `-2`: key is not valid symbol
|
|
75
|
+
* - `-1`: key does not exist
|
|
76
|
+
* - `>= 0`: length of cleared items in collection
|
|
77
|
+
* */
|
|
78
|
+
function clearRepoMap(key) {
|
|
79
|
+
if (typeof key !== 'symbol') {
|
|
80
|
+
return -2;
|
|
81
|
+
}
|
|
82
|
+
if (!items.has(key)) {
|
|
83
|
+
return -1;
|
|
84
|
+
}
|
|
85
|
+
const item = items.get(key);
|
|
86
|
+
const length = item.size;
|
|
87
|
+
item.clear();
|
|
88
|
+
return length;
|
|
89
|
+
}
|
|
90
|
+
// noinspection JSUnusedGlobalSymbols
|
|
91
|
+
/**
|
|
92
|
+
* List all map keys
|
|
93
|
+
*
|
|
94
|
+
* @return {Array<symbol>}
|
|
95
|
+
* */
|
|
96
|
+
function listRepoMaps() {
|
|
97
|
+
return Array.from(items.keys());
|
|
98
|
+
}
|
|
99
|
+
// noinspection JSUnusedGlobalSymbols
|
|
100
|
+
/**
|
|
101
|
+
* Print all maps
|
|
102
|
+
*
|
|
103
|
+
* @return {Record} - as {key: length of collection}
|
|
104
|
+
*
|
|
105
|
+
* Note: if stringified symbol is duplicated, add index postfix with `#` symbol
|
|
106
|
+
* */
|
|
107
|
+
function printMaps() {
|
|
108
|
+
const result = {};
|
|
109
|
+
let index = 0;
|
|
110
|
+
for (const [sym, item] of items.entries()) {
|
|
111
|
+
const key = sym.description;
|
|
112
|
+
if (result[key] === undefined) {
|
|
113
|
+
result[key] = item.size;
|
|
114
|
+
index = 0;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
index++;
|
|
118
|
+
result[`${key}#${index}`] = item.size;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return result;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=map.fn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.fn.js","sourceRoot":"","sources":["../../src/common/map.fn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { KeyValue, Opt, OptFn } from "../index.types";
|
|
2
|
+
/**
|
|
3
|
+
* It's used to easy arrow function usage for lazy evaluation of options
|
|
4
|
+
*
|
|
5
|
+
* @param {Opt} options - options
|
|
6
|
+
* @return {Opt} - options
|
|
7
|
+
* */
|
|
8
|
+
export declare function optFn<O extends Opt = Opt>(options: O | Opt): O;
|
|
9
|
+
/**
|
|
10
|
+
* Check option, if it's invalid, create empty options
|
|
11
|
+
*
|
|
12
|
+
* @param {(Opt|OptFn)} options - options or options callback
|
|
13
|
+
* @return {Opt} - checked options
|
|
14
|
+
* */
|
|
15
|
+
export declare function optCheck<O extends Opt = Opt>(options: O | OptFn<O> | Opt): O;
|
|
16
|
+
/**
|
|
17
|
+
* Clone existing option
|
|
18
|
+
*
|
|
19
|
+
* @param {Opt} options - source options
|
|
20
|
+
* @return {Opt} - cloned options
|
|
21
|
+
* */
|
|
22
|
+
export declare function optClone<O extends Opt = Opt>(options: O | Opt): O;
|
|
23
|
+
/**
|
|
24
|
+
* Merge two options
|
|
25
|
+
*
|
|
26
|
+
* @param {Opt} options - source options
|
|
27
|
+
* @param {Opt} appended - appended options
|
|
28
|
+
* @return {Opt} - merged options
|
|
29
|
+
* */
|
|
30
|
+
export declare function optAppend<O extends Opt = Opt>(options: O | Opt, appended: O | Opt): O;
|
|
31
|
+
/**
|
|
32
|
+
* Add key=value into options
|
|
33
|
+
*
|
|
34
|
+
* @param {Opt} options - source options
|
|
35
|
+
* @param {string} key - key
|
|
36
|
+
* @param {any} value - value
|
|
37
|
+
* @return {Opt} - added options
|
|
38
|
+
* */
|
|
39
|
+
export declare function optAdd<O extends Opt = Opt>(options: O | OptFn<O> | Opt, key: keyof O | string, value: unknown): O;
|
|
40
|
+
/**
|
|
41
|
+
* Add field into options
|
|
42
|
+
* Note: field could not be multiple in option
|
|
43
|
+
*
|
|
44
|
+
* @param {Opt} options - source options
|
|
45
|
+
* @param {KeyValue} field - value
|
|
46
|
+
* @return {Opt} - added options
|
|
47
|
+
* */
|
|
48
|
+
export declare function optField<O extends Opt = Opt>(options: O | OptFn<O> | Opt, field: KeyValue): O;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optFn = optFn;
|
|
4
|
+
exports.optCheck = optCheck;
|
|
5
|
+
exports.optClone = optClone;
|
|
6
|
+
exports.optAppend = optAppend;
|
|
7
|
+
exports.optAdd = optAdd;
|
|
8
|
+
exports.optField = optField;
|
|
9
|
+
const function_1 = require("../function");
|
|
10
|
+
const error_1 = require("../error");
|
|
11
|
+
const internal_1 = require("../internal");
|
|
12
|
+
// region properties
|
|
13
|
+
const where = `${internal_1.FQN}.OptFn`;
|
|
14
|
+
// endregion properties
|
|
15
|
+
// noinspection JSUnusedGlobalSymbols
|
|
16
|
+
/**
|
|
17
|
+
* It's used to easy arrow function usage for lazy evaluation of options
|
|
18
|
+
*
|
|
19
|
+
* @param {Opt} options - options
|
|
20
|
+
* @return {Opt} - options
|
|
21
|
+
* */
|
|
22
|
+
function optFn(options) {
|
|
23
|
+
return ((0, function_1.isObj)(options) ? options : {});
|
|
24
|
+
}
|
|
25
|
+
// noinspection JSUnusedGlobalSymbols
|
|
26
|
+
/**
|
|
27
|
+
* Check option, if it's invalid, create empty options
|
|
28
|
+
*
|
|
29
|
+
* @param {(Opt|OptFn)} options - options or options callback
|
|
30
|
+
* @return {Opt} - checked options
|
|
31
|
+
* */
|
|
32
|
+
function optCheck(options) {
|
|
33
|
+
let o = options;
|
|
34
|
+
if (typeof options === 'function') {
|
|
35
|
+
try {
|
|
36
|
+
o = options();
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
o = {};
|
|
40
|
+
new error_1.DeveloperError('Raised callback run', 'optCheck#01', where).log(e);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else if (!(0, function_1.isObj)(options)) {
|
|
44
|
+
o = {};
|
|
45
|
+
}
|
|
46
|
+
return o;
|
|
47
|
+
}
|
|
48
|
+
// noinspection JSUnusedGlobalSymbols
|
|
49
|
+
/**
|
|
50
|
+
* Clone existing option
|
|
51
|
+
*
|
|
52
|
+
* @param {Opt} options - source options
|
|
53
|
+
* @return {Opt} - cloned options
|
|
54
|
+
* */
|
|
55
|
+
function optClone(options) {
|
|
56
|
+
return (0, function_1.secureClone)((0, function_1.isObj)(options) ? options : {});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Merge two options
|
|
60
|
+
*
|
|
61
|
+
* @param {Opt} options - source options
|
|
62
|
+
* @param {Opt} appended - appended options
|
|
63
|
+
* @return {Opt} - merged options
|
|
64
|
+
* */
|
|
65
|
+
function optAppend(options, appended) {
|
|
66
|
+
const o = ((0, function_1.isObj)(options) ? options : {});
|
|
67
|
+
if (!(0, function_1.isObj)(appended)) {
|
|
68
|
+
return o;
|
|
69
|
+
}
|
|
70
|
+
for (const [k, v] of Object.entries(appended)) {
|
|
71
|
+
if (o[k] === undefined) {
|
|
72
|
+
o[k] = v;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
optAdd(o, k, v);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return o;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Add key=value into options
|
|
82
|
+
*
|
|
83
|
+
* @param {Opt} options - source options
|
|
84
|
+
* @param {string} key - key
|
|
85
|
+
* @param {any} value - value
|
|
86
|
+
* @return {Opt} - added options
|
|
87
|
+
* */
|
|
88
|
+
function optAdd(options, key, value) {
|
|
89
|
+
const o = ((0, function_1.isObj)(options) ? options : {});
|
|
90
|
+
if (value === undefined || typeof key !== 'string') {
|
|
91
|
+
return o;
|
|
92
|
+
}
|
|
93
|
+
if (key === 'field') {
|
|
94
|
+
return optField(o, value);
|
|
95
|
+
}
|
|
96
|
+
if (o[key] === undefined) {
|
|
97
|
+
o[key] = value;
|
|
98
|
+
}
|
|
99
|
+
else if (o[key] instanceof Set) {
|
|
100
|
+
o[key].add(value);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
o[key] = new Set([o[key], value]);
|
|
104
|
+
}
|
|
105
|
+
return o;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Add field into options
|
|
109
|
+
* Note: field could not be multiple in option
|
|
110
|
+
*
|
|
111
|
+
* @param {Opt} options - source options
|
|
112
|
+
* @param {KeyValue} field - value
|
|
113
|
+
* @return {Opt} - added options
|
|
114
|
+
* */
|
|
115
|
+
function optField(options, field) {
|
|
116
|
+
const o = ((0, function_1.isObj)(options) ? options : {});
|
|
117
|
+
const t = typeof field;
|
|
118
|
+
if (!['string', 'number'].includes(t)) {
|
|
119
|
+
return o;
|
|
120
|
+
}
|
|
121
|
+
if (o.field !== undefined) {
|
|
122
|
+
if (typeof o.field !== 'string') {
|
|
123
|
+
o.field = '';
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
o.field = '';
|
|
128
|
+
}
|
|
129
|
+
if (o.field === '') {
|
|
130
|
+
o.field = (t === 'string') ? field : `$.[${field}]`;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
o.field += (t === 'string') ? `.${field}` : `[${field}]`;
|
|
134
|
+
}
|
|
135
|
+
return o;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=opt.fn.js.map
|