pmcf 1.94.3 → 1.94.4
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/package.json +1 -1
- package/src/base.mjs +17 -8
- package/src/host.mjs +1 -1
package/package.json
CHANGED
package/src/base.mjs
CHANGED
|
@@ -482,7 +482,17 @@ export function extractFrom(
|
|
|
482
482
|
object,
|
|
483
483
|
typeDefinition = object?.constructor?.typeDefinition
|
|
484
484
|
) {
|
|
485
|
-
|
|
485
|
+
switch (typeof object) {
|
|
486
|
+
case "undefined":
|
|
487
|
+
case "string":
|
|
488
|
+
case "number":
|
|
489
|
+
case "boolean":
|
|
490
|
+
return object;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
if (typeof object[Symbol.iterator] === "function") {
|
|
494
|
+
object = [...object];
|
|
495
|
+
|
|
486
496
|
if (object.length === 0) {
|
|
487
497
|
return undefined;
|
|
488
498
|
}
|
|
@@ -498,11 +508,7 @@ export function extractFrom(
|
|
|
498
508
|
);
|
|
499
509
|
}
|
|
500
510
|
|
|
501
|
-
return object.
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
if (!typeDefinition || object === undefined) {
|
|
505
|
-
return object;
|
|
511
|
+
return object.length ? object : undefined;
|
|
506
512
|
}
|
|
507
513
|
|
|
508
514
|
const json = {};
|
|
@@ -533,8 +539,11 @@ export function extractFrom(
|
|
|
533
539
|
json[name].name = value.name;
|
|
534
540
|
}
|
|
535
541
|
} else {
|
|
536
|
-
if (
|
|
537
|
-
|
|
542
|
+
if (typeof value[Symbol.iterator] === "function") {
|
|
543
|
+
value = extractFrom(value);
|
|
544
|
+
if (value !== undefined) {
|
|
545
|
+
json[name] = value;
|
|
546
|
+
}
|
|
538
547
|
} else {
|
|
539
548
|
const resultObject = Object.fromEntries(
|
|
540
549
|
Object.entries(value).map(([k, v]) => [
|