@yuneta/gobj-js 7.26.15 → 7.26.16
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/gobj-js.cjs.js +38 -10
- package/dist/gobj-js.cjs.js.map +1 -1
- package/dist/gobj-js.cjs.min.js +884 -870
- package/dist/gobj-js.cjs.min.js.map +1 -1
- package/dist/gobj-js.es.js +38 -10
- package/dist/gobj-js.es.js.map +1 -1
- package/dist/gobj-js.es.min.js +925 -911
- package/dist/gobj-js.es.min.js.map +1 -1
- package/dist/gobj-js.iife.js +38 -10
- package/dist/gobj-js.iife.js.map +1 -1
- package/dist/gobj-js.iife.min.js +884 -870
- package/dist/gobj-js.iife.min.js.map +1 -1
- package/dist/gobj-js.umd.js +38 -10
- package/dist/gobj-js.umd.js.map +1 -1
- package/dist/gobj-js.umd.min.js +884 -870
- package/dist/gobj-js.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/gobj-js.umd.js
CHANGED
|
@@ -3300,6 +3300,20 @@
|
|
|
3300
3300
|
}
|
|
3301
3301
|
}
|
|
3302
3302
|
}
|
|
3303
|
+
function log_string(v) {
|
|
3304
|
+
try {
|
|
3305
|
+
return String(v);
|
|
3306
|
+
} catch (e) {
|
|
3307
|
+
return log_stringify(v);
|
|
3308
|
+
}
|
|
3309
|
+
}
|
|
3310
|
+
function log_number(parse, v) {
|
|
3311
|
+
try {
|
|
3312
|
+
return parse(v);
|
|
3313
|
+
} catch (e) {
|
|
3314
|
+
return log_string(v);
|
|
3315
|
+
}
|
|
3316
|
+
}
|
|
3303
3317
|
function format_log(format) {
|
|
3304
3318
|
const args = Array.prototype.slice.call(arguments);
|
|
3305
3319
|
let output = "";
|
|
@@ -3309,18 +3323,18 @@
|
|
|
3309
3323
|
output = format.replace(/%[sdifoO]/g, (match) => {
|
|
3310
3324
|
const val = args[i++];
|
|
3311
3325
|
switch (match) {
|
|
3312
|
-
case "%s": return
|
|
3326
|
+
case "%s": return log_string(val);
|
|
3313
3327
|
case "%d":
|
|
3314
|
-
case "%i": return parseInt
|
|
3315
|
-
case "%f": return parseFloat
|
|
3328
|
+
case "%i": return log_number(parseInt, val);
|
|
3329
|
+
case "%f": return log_number(parseFloat, val);
|
|
3316
3330
|
case "%o":
|
|
3317
|
-
case "%O": return typeof val === "object" ? log_stringify(val) :
|
|
3331
|
+
case "%O": return typeof val === "object" ? log_stringify(val) : log_string(val);
|
|
3318
3332
|
default: return match;
|
|
3319
3333
|
}
|
|
3320
3334
|
});
|
|
3321
|
-
const rest = args.slice(i).map((arg) => typeof arg === "object" ? log_stringify(arg) :
|
|
3335
|
+
const rest = args.slice(i).map((arg) => typeof arg === "object" ? log_stringify(arg) : log_string(arg));
|
|
3322
3336
|
if (rest.length > 0) output += " " + rest.join(" ");
|
|
3323
|
-
} else output = args.map((arg) => typeof arg === "object" ? log_stringify(arg) :
|
|
3337
|
+
} else output = args.map((arg) => typeof arg === "object" ? log_stringify(arg) : log_string(arg)).join(" ");
|
|
3324
3338
|
return output;
|
|
3325
3339
|
}
|
|
3326
3340
|
function log_error(format, ...args) {
|
|
@@ -4375,6 +4389,13 @@
|
|
|
4375
4389
|
kw_set_dict_value(gobj, kw, path, default_value);
|
|
4376
4390
|
return default_value;
|
|
4377
4391
|
}
|
|
4392
|
+
if (create && v === null) {
|
|
4393
|
+
if (required) {
|
|
4394
|
+
log_error(`path not found: '${path}'`);
|
|
4395
|
+
trace_json_masked(kw);
|
|
4396
|
+
}
|
|
4397
|
+
return default_value;
|
|
4398
|
+
}
|
|
4378
4399
|
if (required || create) {
|
|
4379
4400
|
log_error(`${gobj ? gobj_short_name(gobj) + ": " : ""}path MUST BE a json dict: '${path}'` + (create ? ", cannot create" : ""));
|
|
4380
4401
|
trace_json_masked(kw);
|
|
@@ -4439,6 +4460,13 @@
|
|
|
4439
4460
|
kw_set_dict_value(gobj, kw, path, default_value);
|
|
4440
4461
|
return default_value;
|
|
4441
4462
|
}
|
|
4463
|
+
if (create && v === null) {
|
|
4464
|
+
if (required) {
|
|
4465
|
+
log_error(`path not found: '${path}'`);
|
|
4466
|
+
trace_json_masked(kw);
|
|
4467
|
+
}
|
|
4468
|
+
return default_value;
|
|
4469
|
+
}
|
|
4442
4470
|
if (required || create) {
|
|
4443
4471
|
log_error(`${gobj ? gobj_short_name(gobj) + ": " : ""}path MUST BE a json list: '${path}'` + (create ? ", cannot create" : ""));
|
|
4444
4472
|
trace_json_masked(kw);
|
|
@@ -4652,8 +4680,8 @@
|
|
|
4652
4680
|
["$key1", "$key2", ...]
|
|
4653
4681
|
{"$key1":*, "$key2":*, ...}
|
|
4654
4682
|
|
|
4655
|
-
It's not a deep copy,
|
|
4656
|
-
If
|
|
4683
|
+
It's not a deep copy. A key is a KEY, not a path (as C, SDK 7.26.9).
|
|
4684
|
+
If keys are empty return kw
|
|
4657
4685
|
*************************************************************/
|
|
4658
4686
|
function kw_clone_by_keys(gobj, kw, keys, verbose) {
|
|
4659
4687
|
if (gobj && !is_gobj(gobj)) log_error(`GObj bad instanceof`);
|
|
@@ -4680,8 +4708,8 @@
|
|
|
4680
4708
|
["$key1", "$key2", ...]
|
|
4681
4709
|
{"$key1":*, "$key2":*, ...}
|
|
4682
4710
|
|
|
4683
|
-
It's not a deep copy,
|
|
4684
|
-
If
|
|
4711
|
+
It's not a deep copy. A key is a KEY, not a path (as C, SDK 7.26.9).
|
|
4712
|
+
If keys are empty return empty
|
|
4685
4713
|
***************************************************************************/
|
|
4686
4714
|
function kw_clone_by_not_keys(gobj, kw, keys, verbose) {
|
|
4687
4715
|
let kw_clone = {};
|