@xyo-network/module-model 2.94.40 → 2.95.0
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/browser/ModuleIdentifier.d.cts +2 -1
- package/dist/browser/ModuleIdentifier.d.cts.map +1 -1
- package/dist/browser/ModuleIdentifier.d.mts +2 -1
- package/dist/browser/ModuleIdentifier.d.mts.map +1 -1
- package/dist/browser/ModuleIdentifier.d.ts +2 -1
- package/dist/browser/ModuleIdentifier.d.ts.map +1 -1
- package/dist/browser/ModuleIdentifierTransformer.d.cts +1 -1
- package/dist/browser/ModuleIdentifierTransformer.d.cts.map +1 -1
- package/dist/browser/ModuleIdentifierTransformer.d.mts +1 -1
- package/dist/browser/ModuleIdentifierTransformer.d.mts.map +1 -1
- package/dist/browser/ModuleIdentifierTransformer.d.ts +1 -1
- package/dist/browser/ModuleIdentifierTransformer.d.ts.map +1 -1
- package/dist/browser/{ResolveHelper.d.cts → ResolveHelper/ResolveHelper.d.cts} +5 -5
- package/dist/browser/ResolveHelper/ResolveHelper.d.cts.map +1 -0
- package/dist/{node → browser/ResolveHelper}/ResolveHelper.d.mts +5 -5
- package/dist/browser/ResolveHelper/ResolveHelper.d.mts.map +1 -0
- package/dist/{node → browser/ResolveHelper}/ResolveHelper.d.ts +5 -5
- package/dist/browser/ResolveHelper/ResolveHelper.d.ts.map +1 -0
- package/dist/browser/ResolveHelper/index.d.cts +5 -0
- package/dist/browser/ResolveHelper/index.d.cts.map +1 -0
- package/dist/browser/ResolveHelper/index.d.mts +5 -0
- package/dist/browser/ResolveHelper/index.d.mts.map +1 -0
- package/dist/browser/ResolveHelper/index.d.ts +5 -0
- package/dist/browser/ResolveHelper/index.d.ts.map +1 -0
- package/dist/browser/ResolveHelper/resolveAddressToInstance.d.cts +7 -0
- package/dist/browser/ResolveHelper/resolveAddressToInstance.d.cts.map +1 -0
- package/dist/browser/ResolveHelper/resolveAddressToInstance.d.mts +7 -0
- package/dist/browser/ResolveHelper/resolveAddressToInstance.d.mts.map +1 -0
- package/dist/browser/ResolveHelper/resolveAddressToInstance.d.ts +7 -0
- package/dist/browser/ResolveHelper/resolveAddressToInstance.d.ts.map +1 -0
- package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.cts +7 -0
- package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.cts.map +1 -0
- package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.mts +7 -0
- package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.mts.map +1 -0
- package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.ts +7 -0
- package/dist/browser/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -0
- package/dist/browser/ResolveHelper/resolvePathToAddress.d.cts +5 -0
- package/dist/browser/ResolveHelper/resolvePathToAddress.d.cts.map +1 -0
- package/dist/browser/ResolveHelper/resolvePathToAddress.d.mts +5 -0
- package/dist/browser/ResolveHelper/resolvePathToAddress.d.mts.map +1 -0
- package/dist/browser/ResolveHelper/resolvePathToAddress.d.ts +5 -0
- package/dist/browser/ResolveHelper/resolvePathToAddress.d.ts.map +1 -0
- package/dist/browser/ResolveHelper/traceModuleIdentifier.d.cts +5 -0
- package/dist/browser/ResolveHelper/traceModuleIdentifier.d.cts.map +1 -0
- package/dist/browser/ResolveHelper/traceModuleIdentifier.d.mts +5 -0
- package/dist/browser/ResolveHelper/traceModuleIdentifier.d.mts.map +1 -0
- package/dist/browser/ResolveHelper/traceModuleIdentifier.d.ts +5 -0
- package/dist/browser/ResolveHelper/traceModuleIdentifier.d.ts.map +1 -0
- package/dist/browser/ResolveHelper/transformModuleIdentifier.d.cts +4 -0
- package/dist/browser/ResolveHelper/transformModuleIdentifier.d.cts.map +1 -0
- package/dist/browser/ResolveHelper/transformModuleIdentifier.d.mts +4 -0
- package/dist/browser/ResolveHelper/transformModuleIdentifier.d.mts.map +1 -0
- package/dist/browser/ResolveHelper/transformModuleIdentifier.d.ts +4 -0
- package/dist/browser/ResolveHelper/transformModuleIdentifier.d.ts.map +1 -0
- package/dist/browser/index.cjs +153 -42
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +153 -42
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/instance/Instance.d.cts +17 -2
- package/dist/browser/instance/Instance.d.cts.map +1 -1
- package/dist/browser/instance/Instance.d.mts +17 -2
- package/dist/browser/instance/Instance.d.mts.map +1 -1
- package/dist/browser/instance/Instance.d.ts +17 -2
- package/dist/browser/instance/Instance.d.ts.map +1 -1
- package/dist/node/ModuleIdentifier.d.cts +2 -1
- package/dist/node/ModuleIdentifier.d.cts.map +1 -1
- package/dist/node/ModuleIdentifier.d.mts +2 -1
- package/dist/node/ModuleIdentifier.d.mts.map +1 -1
- package/dist/node/ModuleIdentifier.d.ts +2 -1
- package/dist/node/ModuleIdentifier.d.ts.map +1 -1
- package/dist/node/ModuleIdentifierTransformer.d.cts +1 -1
- package/dist/node/ModuleIdentifierTransformer.d.cts.map +1 -1
- package/dist/node/ModuleIdentifierTransformer.d.mts +1 -1
- package/dist/node/ModuleIdentifierTransformer.d.mts.map +1 -1
- package/dist/node/ModuleIdentifierTransformer.d.ts +1 -1
- package/dist/node/ModuleIdentifierTransformer.d.ts.map +1 -1
- package/dist/node/{ResolveHelper.d.cts → ResolveHelper/ResolveHelper.d.cts} +5 -5
- package/dist/node/ResolveHelper/ResolveHelper.d.cts.map +1 -0
- package/dist/{browser → node/ResolveHelper}/ResolveHelper.d.mts +5 -5
- package/dist/node/ResolveHelper/ResolveHelper.d.mts.map +1 -0
- package/dist/{browser → node/ResolveHelper}/ResolveHelper.d.ts +5 -5
- package/dist/node/ResolveHelper/ResolveHelper.d.ts.map +1 -0
- package/dist/node/ResolveHelper/index.d.cts +5 -0
- package/dist/node/ResolveHelper/index.d.cts.map +1 -0
- package/dist/node/ResolveHelper/index.d.mts +5 -0
- package/dist/node/ResolveHelper/index.d.mts.map +1 -0
- package/dist/node/ResolveHelper/index.d.ts +5 -0
- package/dist/node/ResolveHelper/index.d.ts.map +1 -0
- package/dist/node/ResolveHelper/resolveAddressToInstance.d.cts +7 -0
- package/dist/node/ResolveHelper/resolveAddressToInstance.d.cts.map +1 -0
- package/dist/node/ResolveHelper/resolveAddressToInstance.d.mts +7 -0
- package/dist/node/ResolveHelper/resolveAddressToInstance.d.mts.map +1 -0
- package/dist/node/ResolveHelper/resolveAddressToInstance.d.ts +7 -0
- package/dist/node/ResolveHelper/resolveAddressToInstance.d.ts.map +1 -0
- package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.cts +7 -0
- package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.cts.map +1 -0
- package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.mts +7 -0
- package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.mts.map +1 -0
- package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.ts +7 -0
- package/dist/node/ResolveHelper/resolveLocalNameToAddress.d.ts.map +1 -0
- package/dist/node/ResolveHelper/resolvePathToAddress.d.cts +5 -0
- package/dist/node/ResolveHelper/resolvePathToAddress.d.cts.map +1 -0
- package/dist/node/ResolveHelper/resolvePathToAddress.d.mts +5 -0
- package/dist/node/ResolveHelper/resolvePathToAddress.d.mts.map +1 -0
- package/dist/node/ResolveHelper/resolvePathToAddress.d.ts +5 -0
- package/dist/node/ResolveHelper/resolvePathToAddress.d.ts.map +1 -0
- package/dist/node/ResolveHelper/traceModuleIdentifier.d.cts +5 -0
- package/dist/node/ResolveHelper/traceModuleIdentifier.d.cts.map +1 -0
- package/dist/node/ResolveHelper/traceModuleIdentifier.d.mts +5 -0
- package/dist/node/ResolveHelper/traceModuleIdentifier.d.mts.map +1 -0
- package/dist/node/ResolveHelper/traceModuleIdentifier.d.ts +5 -0
- package/dist/node/ResolveHelper/traceModuleIdentifier.d.ts.map +1 -0
- package/dist/node/ResolveHelper/transformModuleIdentifier.d.cts +4 -0
- package/dist/node/ResolveHelper/transformModuleIdentifier.d.cts.map +1 -0
- package/dist/node/ResolveHelper/transformModuleIdentifier.d.mts +4 -0
- package/dist/node/ResolveHelper/transformModuleIdentifier.d.mts.map +1 -0
- package/dist/node/ResolveHelper/transformModuleIdentifier.d.ts +4 -0
- package/dist/node/ResolveHelper/transformModuleIdentifier.d.ts.map +1 -0
- package/dist/node/index.cjs +168 -42
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +159 -42
- package/dist/node/index.js.map +1 -1
- package/dist/node/instance/Instance.d.cts +17 -2
- package/dist/node/instance/Instance.d.cts.map +1 -1
- package/dist/node/instance/Instance.d.mts +17 -2
- package/dist/node/instance/Instance.d.mts.map +1 -1
- package/dist/node/instance/Instance.d.ts +17 -2
- package/dist/node/instance/Instance.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/ModuleIdentifier.ts +2 -0
- package/src/ModuleIdentifierTransformer.ts +1 -1
- package/src/{ResolveHelper.ts → ResolveHelper/ResolveHelper.ts} +22 -34
- package/src/ResolveHelper/index.ts +4 -0
- package/src/ResolveHelper/resolveAddressToInstance.ts +73 -0
- package/src/ResolveHelper/resolveLocalNameToAddress.ts +29 -0
- package/src/ResolveHelper/resolvePathToAddress.ts +36 -0
- package/src/ResolveHelper/traceModuleIdentifier.ts +18 -0
- package/src/ResolveHelper/transformModuleIdentifier.ts +13 -0
- package/src/instance/Instance.ts +20 -2
- package/dist/browser/ResolveHelper.d.cts.map +0 -1
- package/dist/browser/ResolveHelper.d.mts.map +0 -1
- package/dist/browser/ResolveHelper.d.ts.map +0 -1
- package/dist/node/ResolveHelper.d.cts.map +0 -1
- package/dist/node/ResolveHelper.d.mts.map +0 -1
- package/dist/node/ResolveHelper.d.ts.map +0 -1
package/dist/node/index.cjs
CHANGED
|
@@ -32,6 +32,7 @@ __export(src_exports, {
|
|
|
32
32
|
IsAttachableModuleInstanceFactory: () => IsAttachableModuleInstanceFactory,
|
|
33
33
|
IsInstanceFactory: () => IsInstanceFactory,
|
|
34
34
|
IsModuleFactory: () => IsModuleFactory,
|
|
35
|
+
MODULE_PATH_SEPARATOR: () => MODULE_PATH_SEPARATOR,
|
|
35
36
|
ModuleAddressQuerySchema: () => ModuleAddressQuerySchema,
|
|
36
37
|
ModuleConfigSchema: () => ModuleConfigSchema,
|
|
37
38
|
ModuleDescriptionSchema: () => ModuleDescriptionSchema,
|
|
@@ -75,6 +76,14 @@ __export(src_exports, {
|
|
|
75
76
|
requiredModuleInstanceFunctions: () => requiredModuleInstanceFunctions,
|
|
76
77
|
requiredModuleQueries: () => requiredModuleQueries,
|
|
77
78
|
requiredModuleShape: () => requiredModuleShape,
|
|
79
|
+
resolveAddressToInstance: () => resolveAddressToInstance,
|
|
80
|
+
resolveAddressToInstanceDown: () => resolveAddressToInstanceDown,
|
|
81
|
+
resolveAddressToInstanceSiblings: () => resolveAddressToInstanceSiblings,
|
|
82
|
+
resolveAddressToInstanceUp: () => resolveAddressToInstanceUp,
|
|
83
|
+
resolveLocalNameToAddress: () => resolveLocalNameToAddress,
|
|
84
|
+
resolveLocalNameToAddressDown: () => resolveLocalNameToAddressDown,
|
|
85
|
+
resolveLocalNameToAddressUp: () => resolveLocalNameToAddressUp,
|
|
86
|
+
resolvePathToAddress: () => resolvePathToAddress,
|
|
78
87
|
serializable: () => serializable,
|
|
79
88
|
serializableField: () => serializableField,
|
|
80
89
|
toCreatableModuleRegistry: () => toCreatableModuleRegistry,
|
|
@@ -457,6 +466,7 @@ var serializableField = /* @__PURE__ */ __name((field) => {
|
|
|
457
466
|
|
|
458
467
|
// src/ModuleIdentifier.ts
|
|
459
468
|
var import_hex = require("@xylabs/hex");
|
|
469
|
+
var MODULE_PATH_SEPARATOR = ":";
|
|
460
470
|
var DisallowedModuleIdentifierCharacters = {
|
|
461
471
|
" ": true,
|
|
462
472
|
"!": true,
|
|
@@ -518,12 +528,95 @@ var isModuleStateWithMeta = /* @__PURE__ */ __name((payload) => {
|
|
|
518
528
|
return (0, import_payload_model.isPayloadOfSchemaType)(ModuleStateSchema)(payload);
|
|
519
529
|
}, "isModuleStateWithMeta");
|
|
520
530
|
|
|
521
|
-
// src/ResolveHelper.ts
|
|
522
|
-
var
|
|
531
|
+
// src/ResolveHelper/resolveAddressToInstance.ts
|
|
532
|
+
var resolveAddressToInstanceDown = /* @__PURE__ */ __name(async (root, address, includePrivate = false, ignore = []) => {
|
|
533
|
+
var _a, _b, _c;
|
|
534
|
+
if (root.address === address) {
|
|
535
|
+
return root;
|
|
536
|
+
}
|
|
537
|
+
const cache = (_a = root.addressCache) == null ? void 0 : _a.call(root, "up", includePrivate);
|
|
538
|
+
const privateChildren = (includePrivate ? await ((_b = root.privateChildren) == null ? void 0 : _b.call(root)) : []) ?? [];
|
|
539
|
+
const publicChildren = await ((_c = root.publicChildren) == null ? void 0 : _c.call(root)) ?? [];
|
|
540
|
+
const children = [
|
|
541
|
+
...privateChildren,
|
|
542
|
+
...publicChildren
|
|
543
|
+
];
|
|
544
|
+
for (const child of children) {
|
|
545
|
+
const found = await resolveAddressToInstanceDown(child, address, includePrivate, ignore);
|
|
546
|
+
if (found) {
|
|
547
|
+
cache == null ? void 0 : cache.set(address, new WeakRef(found));
|
|
548
|
+
return found;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
cache == null ? void 0 : cache.set(address, null);
|
|
552
|
+
}, "resolveAddressToInstanceDown");
|
|
553
|
+
var resolveAddressToInstanceSiblings = /* @__PURE__ */ __name(async (root, address, includePrivate = false, ignore = []) => {
|
|
554
|
+
var _a;
|
|
555
|
+
const siblings = await ((_a = root.siblings) == null ? void 0 : _a.call(root)) ?? [];
|
|
556
|
+
for (const sibling of siblings) {
|
|
557
|
+
const found = await resolveAddressToInstanceDown(sibling, address, includePrivate, ignore);
|
|
558
|
+
if (found) {
|
|
559
|
+
return found;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}, "resolveAddressToInstanceSiblings");
|
|
563
|
+
var resolveAddressToInstanceUp = /* @__PURE__ */ __name(async (root, address, includePrivate = false, ignore = []) => {
|
|
564
|
+
var _a, _b;
|
|
565
|
+
const cache = (_a = root.addressCache) == null ? void 0 : _a.call(root, "up", includePrivate);
|
|
566
|
+
const parents = await ((_b = root.parents) == null ? void 0 : _b.call(root)) ?? [];
|
|
567
|
+
for (const parent of parents) {
|
|
568
|
+
const found = await resolveAddressToInstance(parent, address, includePrivate, ignore);
|
|
569
|
+
if (found) {
|
|
570
|
+
cache == null ? void 0 : cache.set(address, new WeakRef(found));
|
|
571
|
+
return found;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
cache == null ? void 0 : cache.set(address, null);
|
|
575
|
+
}, "resolveAddressToInstanceUp");
|
|
576
|
+
var resolveAddressToInstance = /* @__PURE__ */ __name(async (root, address, includePrivate = false, ignore = []) => {
|
|
577
|
+
var _a;
|
|
578
|
+
const cache = (_a = root.addressCache) == null ? void 0 : _a.call(root, "all", includePrivate);
|
|
579
|
+
const result = await resolveAddressToInstanceDown(root, address, includePrivate, ignore) ?? await resolveAddressToInstanceUp(root, address, includePrivate, ignore);
|
|
580
|
+
cache == null ? void 0 : cache.set(address, result ? new WeakRef(result) : null);
|
|
581
|
+
return result;
|
|
582
|
+
}, "resolveAddressToInstance");
|
|
583
|
+
|
|
584
|
+
// src/ResolveHelper/ResolveHelper.ts
|
|
585
|
+
var import_assert4 = require("@xylabs/assert");
|
|
523
586
|
var import_exists = require("@xylabs/exists");
|
|
524
587
|
var import_hex2 = require("@xylabs/hex");
|
|
525
588
|
var import_logger = require("@xylabs/logger");
|
|
526
589
|
var import_object10 = require("@xylabs/object");
|
|
590
|
+
|
|
591
|
+
// src/ResolveHelper/traceModuleIdentifier.ts
|
|
592
|
+
var import_assert3 = require("@xylabs/assert");
|
|
593
|
+
var traceModuleIdentifier = /* @__PURE__ */ __name(async (resolver, path) => {
|
|
594
|
+
const parts = path.split(":");
|
|
595
|
+
const first = parts.shift();
|
|
596
|
+
const firstModule = asModuleInstance((0, import_assert3.assertEx)(await resolver.resolve(first, {
|
|
597
|
+
maxDepth: 1
|
|
598
|
+
}), () => `Failed to resolve [${first}]`), () => `Resolved invalid module instance [${first}]`);
|
|
599
|
+
if (firstModule) {
|
|
600
|
+
return parts.length > 0 ? [
|
|
601
|
+
firstModule.address,
|
|
602
|
+
...await traceModuleIdentifier(firstModule, parts.join(":"))
|
|
603
|
+
] : [
|
|
604
|
+
firstModule.address
|
|
605
|
+
];
|
|
606
|
+
}
|
|
607
|
+
return [];
|
|
608
|
+
}, "traceModuleIdentifier");
|
|
609
|
+
|
|
610
|
+
// src/ResolveHelper/transformModuleIdentifier.ts
|
|
611
|
+
var transformModuleIdentifier = /* @__PURE__ */ __name(async (id, transformers) => {
|
|
612
|
+
let result = id;
|
|
613
|
+
for (const transformer of transformers) {
|
|
614
|
+
result = await transformer.transform(id);
|
|
615
|
+
}
|
|
616
|
+
return result;
|
|
617
|
+
}, "transformModuleIdentifier");
|
|
618
|
+
|
|
619
|
+
// src/ResolveHelper/ResolveHelper.ts
|
|
527
620
|
var _ResolveHelper = class _ResolveHelper {
|
|
528
621
|
static async resolve(config, idOrFilter = "*", { maxDepth = 3, required = "log", ...options } = {}) {
|
|
529
622
|
const { transformers, module: module2, logger = this.defaultLogger, dead = false, upResolver, downResolver, privateResolver } = config;
|
|
@@ -576,24 +669,26 @@ var _ResolveHelper = class _ResolveHelper {
|
|
|
576
669
|
return void 0;
|
|
577
670
|
}
|
|
578
671
|
const id = await this.transformModuleIdentifier(idOrFilter, transformers);
|
|
579
|
-
|
|
580
|
-
[
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
const
|
|
595
|
-
|
|
596
|
-
|
|
672
|
+
if (id) {
|
|
673
|
+
const resolvers = [
|
|
674
|
+
[
|
|
675
|
+
downResolver,
|
|
676
|
+
downLocalOptions
|
|
677
|
+
],
|
|
678
|
+
[
|
|
679
|
+
up ? upResolver : void 0,
|
|
680
|
+
upLocalOptions
|
|
681
|
+
],
|
|
682
|
+
[
|
|
683
|
+
up ? privateResolver : void 0,
|
|
684
|
+
upLocalOptions
|
|
685
|
+
]
|
|
686
|
+
].filter(([resolver]) => (0, import_exists.exists)(resolver));
|
|
687
|
+
for (const resolver of resolvers) {
|
|
688
|
+
const [resolverInstance] = resolver;
|
|
689
|
+
if (!result) {
|
|
690
|
+
result = await this.resolveModuleIdentifier(resolverInstance, id);
|
|
691
|
+
}
|
|
597
692
|
}
|
|
598
693
|
}
|
|
599
694
|
break;
|
|
@@ -624,35 +719,18 @@ var _ResolveHelper = class _ResolveHelper {
|
|
|
624
719
|
}) ?? (first ? await resolver.resolvePrivate(first, {
|
|
625
720
|
maxDepth: firstIsAddress ? 10 : 1
|
|
626
721
|
}) : void 0);
|
|
627
|
-
const finalModule = required ? (0,
|
|
722
|
+
const finalModule = required ? (0, import_assert4.assertEx)(resolvedModule, () => `Failed to resolve [${first}] [${firstIsAddress}]`) : resolvedModule;
|
|
628
723
|
const firstModule = asModuleInstance(finalModule, () => `Resolved invalid module instance [${first}]`);
|
|
629
724
|
if (firstModule) {
|
|
630
725
|
return parts.length > 0 ? await this.resolveModuleIdentifier(firstModule, parts.join(":")) : firstModule;
|
|
631
726
|
}
|
|
632
727
|
}
|
|
633
728
|
//translates a complex module path to addresses
|
|
634
|
-
static
|
|
635
|
-
|
|
636
|
-
const first = parts.shift();
|
|
637
|
-
const firstModule = asModuleInstance((0, import_assert3.assertEx)(await resolver.resolve(first, {
|
|
638
|
-
maxDepth: 1
|
|
639
|
-
}), () => `Failed to resolve [${first}]`), () => `Resolved invalid module instance [${first}]`);
|
|
640
|
-
if (firstModule) {
|
|
641
|
-
return parts.length > 0 ? [
|
|
642
|
-
firstModule.address,
|
|
643
|
-
...await this.traceModuleIdentifier(firstModule, parts.join(":"))
|
|
644
|
-
] : [
|
|
645
|
-
firstModule.address
|
|
646
|
-
];
|
|
647
|
-
}
|
|
648
|
-
return [];
|
|
729
|
+
static traceModuleIdentifier(resolver, path) {
|
|
730
|
+
return traceModuleIdentifier(resolver, path);
|
|
649
731
|
}
|
|
650
|
-
static
|
|
651
|
-
|
|
652
|
-
for (const transformer of transformers) {
|
|
653
|
-
id = await transformer.transform(id);
|
|
654
|
-
}
|
|
655
|
-
return id;
|
|
732
|
+
static transformModuleIdentifier(identifier, transformers = _ResolveHelper.transformers) {
|
|
733
|
+
return transformModuleIdentifier(identifier, transformers);
|
|
656
734
|
}
|
|
657
735
|
static validateRequiredResolve(required, result, idOrFilter, logger = this.defaultLogger) {
|
|
658
736
|
const log = logger ? new import_logger.IdLogger(logger, () => `validateRequiredResolve [${idOrFilter}][${result}]`) : void 0;
|
|
@@ -678,6 +756,45 @@ __publicField(_ResolveHelper, "defaultLogger");
|
|
|
678
756
|
__publicField(_ResolveHelper, "transformers", []);
|
|
679
757
|
var ResolveHelper = _ResolveHelper;
|
|
680
758
|
|
|
759
|
+
// src/ResolveHelper/resolveLocalNameToAddress.ts
|
|
760
|
+
var resolveLocalNameToAddressUp = /* @__PURE__ */ __name(async (root, localName) => {
|
|
761
|
+
var _a, _b;
|
|
762
|
+
const parents = await ((_a = root.parents) == null ? void 0 : _a.call(root)) ?? [];
|
|
763
|
+
return (_b = parents.find((parent) => parent.localName === localName)) == null ? void 0 : _b.address;
|
|
764
|
+
}, "resolveLocalNameToAddressUp");
|
|
765
|
+
var resolveLocalNameToAddressDown = /* @__PURE__ */ __name(async (root, localName, includePrivate = false) => {
|
|
766
|
+
var _a, _b, _c;
|
|
767
|
+
const privateChildren = (includePrivate ? await ((_a = root.privateChildren) == null ? void 0 : _a.call(root)) : []) ?? [];
|
|
768
|
+
const publicChildren = await ((_b = root.publicChildren) == null ? void 0 : _b.call(root)) ?? [];
|
|
769
|
+
const children = [
|
|
770
|
+
...privateChildren,
|
|
771
|
+
...publicChildren
|
|
772
|
+
];
|
|
773
|
+
return (_c = children.find((child) => child.localName === localName)) == null ? void 0 : _c.address;
|
|
774
|
+
}, "resolveLocalNameToAddressDown");
|
|
775
|
+
var resolveLocalNameToAddress = /* @__PURE__ */ __name(async (root, localName, includePrivate = false) => {
|
|
776
|
+
return await resolveLocalNameToAddressDown(root, localName, includePrivate) ?? await resolveLocalNameToAddressUp(root, localName);
|
|
777
|
+
}, "resolveLocalNameToAddress");
|
|
778
|
+
|
|
779
|
+
// src/ResolveHelper/resolvePathToAddress.ts
|
|
780
|
+
var import_assert5 = require("@xylabs/assert");
|
|
781
|
+
var import_hex3 = require("@xylabs/hex");
|
|
782
|
+
var resolvePathToAddress = /* @__PURE__ */ __name(async (root, path, includePrivate = false, transformers = []) => {
|
|
783
|
+
const parts = path.split(MODULE_PATH_SEPARATOR);
|
|
784
|
+
const first = await transformModuleIdentifier((0, import_assert5.assertEx)(parts.shift(), () => `First part is invalid [${path}]`), transformers);
|
|
785
|
+
if (!first) {
|
|
786
|
+
return void 0;
|
|
787
|
+
}
|
|
788
|
+
const firstAddress = (0, import_hex3.asAddress)(first) ?? await resolveLocalNameToAddress(root, first, includePrivate);
|
|
789
|
+
if (firstAddress) {
|
|
790
|
+
const firstModule = await resolveAddressToInstance(root, firstAddress, includePrivate);
|
|
791
|
+
if (firstModule && parts.length > 0) {
|
|
792
|
+
return resolvePathToAddress(firstModule, parts.join(MODULE_PATH_SEPARATOR));
|
|
793
|
+
}
|
|
794
|
+
return firstAddress;
|
|
795
|
+
}
|
|
796
|
+
}, "resolvePathToAddress");
|
|
797
|
+
|
|
681
798
|
// src/withModule.ts
|
|
682
799
|
var WithFactory = {
|
|
683
800
|
create: (typeCheck) => {
|
|
@@ -696,6 +813,7 @@ var withModuleInstance = WithFactory.create(isModuleInstance);
|
|
|
696
813
|
IsAttachableModuleInstanceFactory,
|
|
697
814
|
IsInstanceFactory,
|
|
698
815
|
IsModuleFactory,
|
|
816
|
+
MODULE_PATH_SEPARATOR,
|
|
699
817
|
ModuleAddressQuerySchema,
|
|
700
818
|
ModuleConfigSchema,
|
|
701
819
|
ModuleDescriptionSchema,
|
|
@@ -739,6 +857,14 @@ var withModuleInstance = WithFactory.create(isModuleInstance);
|
|
|
739
857
|
requiredModuleInstanceFunctions,
|
|
740
858
|
requiredModuleQueries,
|
|
741
859
|
requiredModuleShape,
|
|
860
|
+
resolveAddressToInstance,
|
|
861
|
+
resolveAddressToInstanceDown,
|
|
862
|
+
resolveAddressToInstanceSiblings,
|
|
863
|
+
resolveAddressToInstanceUp,
|
|
864
|
+
resolveLocalNameToAddress,
|
|
865
|
+
resolveLocalNameToAddressDown,
|
|
866
|
+
resolveLocalNameToAddressUp,
|
|
867
|
+
resolvePathToAddress,
|
|
742
868
|
serializable,
|
|
743
869
|
serializableField,
|
|
744
870
|
toCreatableModuleRegistry,
|