@archivist-gg/dnd5e 0.3.10 → 0.3.13
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/LICENSES/SRD.md +38 -3
- package/dist/armor/armor.codec.js +3 -3
- package/dist/armor/armor.parser.js +2 -2
- package/dist/armor/armor.schema.d.ts +1 -0
- package/dist/armor/armor.schema.js +1 -1
- package/dist/armor/armor.types.d.ts +2 -0
- package/dist/background/background.codec.js +5 -5
- package/dist/background/background.parser.js +4 -4
- package/dist/background/background.schema.js +3 -3
- package/dist/chunk-2LULMQTF.js +14 -0
- package/dist/{chunk-CBEKVAX4.js → chunk-4BZ47YJ4.js} +10 -3
- package/dist/{chunk-22MOUU2G.js → chunk-4SLOJXJ4.js} +1 -1
- package/dist/{chunk-2DFENQIJ.js → chunk-5GKJAUMX.js} +2 -0
- package/dist/{chunk-J77CKYV3.js → chunk-5KGV6TF7.js} +1 -1
- package/dist/{chunk-3UNP3G4D.js → chunk-6ZY3U6BQ.js} +1 -1
- package/dist/{chunk-DNAJRMNN.js → chunk-A54HHCWW.js} +6 -7
- package/dist/{chunk-2M34FLAY.js → chunk-BRGLDWUP.js} +3 -1
- package/dist/chunk-CM5CWO4K.js +735 -0
- package/dist/{chunk-MI7P3NX3.js → chunk-DPM6V7YX.js} +2 -2
- package/dist/chunk-EJP263OP.js +186 -0
- package/dist/{chunk-G247QXWW.js → chunk-EL6QPF6I.js} +1 -1
- package/dist/{chunk-SMLXZUBH.js → chunk-EYX4JMAU.js} +4 -1
- package/dist/{chunk-AW3EHF3L.js → chunk-FC4IGH5Y.js} +1 -1
- package/dist/{chunk-PI4LLJG4.js → chunk-FPGXFD2M.js} +2 -2
- package/dist/{chunk-23LZLBJK.js → chunk-G6MHJDVT.js} +6 -2
- package/dist/{chunk-NWDF5HG3.js → chunk-G7ED5H2G.js} +1 -1
- package/dist/chunk-H5PTKYXL.js +101 -0
- package/dist/{chunk-LWFTHJIE.js → chunk-HHBD4SQ6.js} +1 -1
- package/dist/{chunk-PP2UHLBA.js → chunk-HJQNK3J5.js} +8 -0
- package/dist/{chunk-JC5UNIVM.js → chunk-HS6FIOLP.js} +2 -0
- package/dist/chunk-IHE6KVC3.js +13 -0
- package/dist/{chunk-BLRW2UU6.js → chunk-J53ERF6K.js} +2 -2
- package/dist/{chunk-MQ747UCR.js → chunk-JNNNBEUH.js} +65 -2
- package/dist/{chunk-LDDCNPHD.js → chunk-K5NJBTE2.js} +1 -1
- package/dist/{chunk-4ISR76DH.js → chunk-KSTV7J2U.js} +9 -3
- package/dist/chunk-LBEXLN6I.js +91 -0
- package/dist/{chunk-UBBKSYBY.js → chunk-LHZXYFBU.js} +30 -1
- package/dist/{chunk-OYUEUKKF.js → chunk-LVX6TQ3R.js} +12 -8
- package/dist/{chunk-R747YKS7.js → chunk-M2OWVAZG.js} +1 -1
- package/dist/{chunk-7YU4NPKR.js → chunk-MC5YJ4PB.js} +1 -1
- package/dist/{chunk-JCEV7KYN.js → chunk-MUIU7RZ3.js} +1 -1
- package/dist/{chunk-JSZ4H6AQ.js → chunk-MWCCGPG3.js} +1 -1
- package/dist/{chunk-R2ZV233X.js → chunk-MYY2C5MB.js} +3 -3
- package/dist/{chunk-S56D6B6C.js → chunk-PLOSP4XQ.js} +3 -3
- package/dist/{chunk-JANNRGJC.js → chunk-PX25R3DK.js} +1 -1
- package/dist/{chunk-V373TRJE.js → chunk-Q5XTEYHD.js} +191 -125
- package/dist/{chunk-MAH6DCRI.js → chunk-Q6UOHCCT.js} +1 -1
- package/dist/{chunk-HLQAFZKQ.js → chunk-QEO7LYTG.js} +216 -95
- package/dist/{chunk-PJMG5XV3.js → chunk-QSBJ6NEM.js} +1 -1
- package/dist/{chunk-BL3VELKP.js → chunk-R2V5LN3I.js} +1 -1
- package/dist/{chunk-4DOMDEBZ.js → chunk-RQNJXADQ.js} +1 -1
- package/dist/{chunk-GFZ7PITJ.js → chunk-S3YUXDSC.js} +6 -1
- package/dist/chunk-T5GZBKIQ.js +927 -0
- package/dist/{chunk-PZCE7DJM.js → chunk-UE6LKRXQ.js} +15 -1
- package/dist/{chunk-5N2GW72F.js → chunk-UZXG6QSY.js} +2 -1
- package/dist/{chunk-QHMWA3SZ.js → chunk-VDPRBUU5.js} +1 -1
- package/dist/{chunk-4XTNPNQB.js → chunk-VPYBK2MG.js} +1 -1
- package/dist/{chunk-V6LJFP4R.js → chunk-X7VZY4ON.js} +2 -2
- package/dist/{chunk-HZA7OE7N.js → chunk-XCFC7LGF.js} +2 -1
- package/dist/{chunk-BIA32MQ5.js → chunk-XJRNEQPD.js} +1 -1
- package/dist/{chunk-OZP6JFGT.js → chunk-XY6X2APM.js} +3 -1
- package/dist/{chunk-UIRMA5KM.js → chunk-YDGMBMYI.js} +1 -1
- package/dist/{chunk-6X4KUDMU.js → chunk-ZCTUYGNV.js} +7 -2
- package/dist/{chunk-VQAXTIBW.js → chunk-ZDAEGJH4.js} +2 -0
- package/dist/{chunk-XTRDCSJB.js → chunk-ZMJQUZQH.js} +4 -1
- package/dist/chunk-ZUQW5VBZ.js +89 -0
- package/dist/class/class.codec.js +7 -7
- package/dist/class/class.parser.js +6 -6
- package/dist/class/class.schema.d.ts +10 -0
- package/dist/class/class.schema.js +5 -5
- package/dist/entities/base-item-resolver.js +2 -2
- package/dist/entities/slug.d.ts +18 -8
- package/dist/entities/slug.js +3 -1
- package/dist/feat/feat.codec.js +5 -5
- package/dist/feat/feat.parser.js +4 -4
- package/dist/feat/feat.schema.d.ts +16 -3
- package/dist/feat/feat.schema.js +3 -3
- package/dist/index.js +5277 -2017
- package/dist/item/item.actions-map.d.ts +40 -5
- package/dist/item/item.actions-map.js +5 -84
- package/dist/item/item.attunement.js +3 -9
- package/dist/item/item.bonuses.js +5 -2
- package/dist/item/item.codec.js +3 -3
- package/dist/item/item.conditions.js +4 -1
- package/dist/item/item.conditions.types.d.ts +4 -0
- package/dist/item/item.cost.d.ts +3 -0
- package/dist/item/item.cost.js +29 -0
- package/dist/item/item.icon.d.ts +15 -0
- package/dist/item/item.icon.js +211 -0
- package/dist/item/item.parser.js +2 -2
- package/dist/item/item.schema.d.ts +16 -1
- package/dist/item/item.schema.js +3 -1
- package/dist/item/item.types.d.ts +9 -2
- package/dist/monster/monster.parser.js +5 -5
- package/dist/monster/monster.schema.js +4 -4
- package/dist/optional-feature/optional-feature.codec.js +4 -4
- package/dist/optional-feature/optional-feature.parser.js +3 -3
- package/dist/optional-feature/optional-feature.schema.d.ts +229 -3
- package/dist/optional-feature/optional-feature.schema.js +6 -2
- package/dist/pc/pc.additional-spells.js +4 -4
- package/dist/pc/pc.asi-flatten.d.ts +62 -1
- package/dist/pc/pc.asi-flatten.js +16 -0
- package/dist/pc/pc.conditions.js +1 -1
- package/dist/pc/pc.containment.d.ts +45 -0
- package/dist/pc/pc.containment.js +24 -0
- package/dist/pc/pc.decision-engine.d.ts +21 -3
- package/dist/pc/pc.decision-engine.js +23 -14
- package/dist/pc/pc.entry-overrides.d.ts +79 -0
- package/dist/pc/pc.entry-overrides.js +40 -0
- package/dist/pc/pc.equipment.d.ts +2 -2
- package/dist/pc/pc.equipment.js +18 -7
- package/dist/pc/pc.feature-effects.js +2 -2
- package/dist/pc/pc.infusions.d.ts +220 -0
- package/dist/pc/pc.infusions.js +64 -0
- package/dist/pc/pc.parser.js +18 -1
- package/dist/pc/pc.pools.d.ts +1 -1
- package/dist/pc/pc.pools.js +11 -3
- package/dist/pc/pc.proficiencies.js +21 -14
- package/dist/pc/pc.recalc.d.ts +39 -36
- package/dist/pc/pc.recalc.js +60 -32
- package/dist/pc/pc.resolver.js +21 -14
- package/dist/pc/pc.resource-seed.js +1 -1
- package/dist/pc/pc.resources.d.ts +6 -1
- package/dist/pc/pc.resources.js +3 -1
- package/dist/pc/pc.rest.d.ts +21 -1
- package/dist/pc/pc.rest.js +52 -19
- package/dist/pc/pc.schema.d.ts +14 -0
- package/dist/pc/pc.schema.js +1 -1
- package/dist/pc/pc.slotting.d.ts +36 -3
- package/dist/pc/pc.slotting.js +13 -5
- package/dist/pc/pc.tool-picks.d.ts +51 -0
- package/dist/pc/pc.tool-picks.js +18 -0
- package/dist/pc/pc.types.d.ts +70 -12
- package/dist/pc/pool-layout.d.ts +14 -0
- package/dist/pc/pool-layout.js +7 -3
- package/dist/race/race.codec.js +6 -6
- package/dist/race/race.parser.js +5 -5
- package/dist/race/race.schema.js +4 -4
- package/dist/schemas/attack-schema.d.ts +1 -1
- package/dist/schemas/choice-schema.js +2 -2
- package/dist/schemas/feature-effect-schema.d.ts +16 -3
- package/dist/schemas/feature-effect-schema.js +1 -1
- package/dist/schemas/feature-schema.js +3 -3
- package/dist/schemas/selection-pool-schema.d.ts +10 -0
- package/dist/schemas/selection-pool-schema.js +1 -1
- package/dist/spell/spell.codec.js +3 -3
- package/dist/spell/spell.parser.js +2 -2
- package/dist/spell/spell.scaling.d.ts +34 -10
- package/dist/spell/spell.scaling.js +36 -4
- package/dist/spell/spell.schema.d.ts +1 -0
- package/dist/spell/spell.schema.js +1 -1
- package/dist/spell/spell.types.d.ts +4 -0
- package/dist/srd/retired-items.d.ts +14 -0
- package/dist/srd/retired-items.js +11 -0
- package/dist/subclass/subclass.codec.js +7 -7
- package/dist/subclass/subclass.parser.js +6 -6
- package/dist/subclass/subclass.schema.d.ts +10 -0
- package/dist/subclass/subclass.schema.js +5 -5
- package/dist/types/choice.d.ts +8 -0
- package/dist/types/equipment-grant.d.ts +18 -1
- package/dist/types/equipment-grant.js +12 -0
- package/dist/types/feature-effect.d.ts +6 -1
- package/dist/types/optional-feature.types.d.ts +79 -1
- package/dist/types/selection-pool.d.ts +16 -1
- package/dist/weapon/weapon.classify.d.ts +10 -8
- package/dist/weapon/weapon.classify.js +2 -2
- package/dist/weapon/weapon.codec.js +3 -3
- package/dist/weapon/weapon.parser.js +2 -2
- package/dist/weapon/weapon.schema.d.ts +1 -0
- package/dist/weapon/weapon.schema.js +1 -1
- package/dist/weapon/weapon.types.d.ts +2 -0
- package/package.json +1 -1
- package/dist/chunk-O4SRD3J5.js +0 -165
- package/dist/chunk-WXWPK3LI.js +0 -55
package/dist/chunk-O4SRD3J5.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
derivePoolLayout
|
|
3
|
-
} from "./chunk-PP2UHLBA.js";
|
|
4
|
-
import {
|
|
5
|
-
readTableColumn
|
|
6
|
-
} from "./chunk-IUAAXXNO.js";
|
|
7
|
-
import {
|
|
8
|
-
warnOnce
|
|
9
|
-
} from "./chunk-LVQLWRCU.js";
|
|
10
|
-
import {
|
|
11
|
-
bareEntitySlug,
|
|
12
|
-
wikilinkTailSlug
|
|
13
|
-
} from "./chunk-6X4KUDMU.js";
|
|
14
|
-
|
|
15
|
-
// src/pc/pc.pools.ts
|
|
16
|
-
function levelPrereqMax(d) {
|
|
17
|
-
var _a;
|
|
18
|
-
return ((_a = d.prerequisites) != null ? _a : []).filter((p) => p.kind === "level").reduce((m, p) => Math.max(m, p.min), 0);
|
|
19
|
-
}
|
|
20
|
-
function resolvePool(rc, classIndex, pool, registry, index) {
|
|
21
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
22
|
-
const entity = rc.entity;
|
|
23
|
-
const level = rc.level;
|
|
24
|
-
const ownerBare = bareEntitySlug(entity.slug);
|
|
25
|
-
const ownerPrefix = entity.slug.split("_")[0];
|
|
26
|
-
const col = pool.count.column;
|
|
27
|
-
const count = (_a = readTableColumn(entity.table, level, [col])) != null ? _a : 0;
|
|
28
|
-
let anchorLevel = 1;
|
|
29
|
-
let columnSeen = false;
|
|
30
|
-
for (let l = 1; l <= 20; l++) {
|
|
31
|
-
const c = readTableColumn(entity.table, l, [col]);
|
|
32
|
-
if (c != null) columnSeen = true;
|
|
33
|
-
if (c != null && c >= 1) {
|
|
34
|
-
anchorLevel = l;
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (!columnSeen) {
|
|
39
|
-
warnOnce(
|
|
40
|
-
`pool-column:${pool.id}`,
|
|
41
|
-
`Archivist: pool "${pool.id}" declares count column "${col}", which "${entity.slug}"'s class table carries at no level; the pool resolves count 0 at anchor level 1`
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
const ft = pool.source.where.feature_type;
|
|
45
|
-
const all = registry.search("", "optional-feature", Number.POSITIVE_INFINITY).slice().sort((a, b) => a.name.localeCompare(b.name) || a.slug.localeCompare(b.slug));
|
|
46
|
-
const byBare = /* @__PURE__ */ new Map();
|
|
47
|
-
const candidates = /* @__PURE__ */ new Map();
|
|
48
|
-
for (const e of all) {
|
|
49
|
-
const d = e.data;
|
|
50
|
-
const entry = { slug: e.slug, entity: d, ...e.compendium ? { compendium: e.compendium } : {} };
|
|
51
|
-
const bare = bareEntitySlug(e.slug);
|
|
52
|
-
byBare.set(bare, entry);
|
|
53
|
-
if (d.feature_type !== ft) continue;
|
|
54
|
-
if (!((_b = d.available_to) != null ? _b : []).some((l) => wikilinkTailSlug(l) === ownerBare)) continue;
|
|
55
|
-
if (levelPrereqMax(d) > level) continue;
|
|
56
|
-
const group = candidates.get(bare);
|
|
57
|
-
if (group) group.push(entry);
|
|
58
|
-
else candidates.set(bare, [entry]);
|
|
59
|
-
}
|
|
60
|
-
const available = [];
|
|
61
|
-
for (const [bare, group] of candidates) {
|
|
62
|
-
if (group.length === 1) {
|
|
63
|
-
available.push(group[0]);
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
const owned = group.find((e) => e.slug.split("_")[0] === ownerPrefix);
|
|
67
|
-
if (!owned) {
|
|
68
|
-
warnOnce(
|
|
69
|
-
`pool-collapse:${bare}`,
|
|
70
|
-
`Archivist: pool "${pool.id}" holds ${group.length} cross-edition entries for "${bare}" and none shares the owner's compendium prefix "${ownerPrefix}"; keeping "${group[0].slug}"`
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
available.push(owned != null ? owned : group[0]);
|
|
74
|
-
}
|
|
75
|
-
const grantDecls = [
|
|
76
|
-
...(_d = (_c = rc.entity) == null ? void 0 : _c.pool_grants) != null ? _d : [],
|
|
77
|
-
...(_f = (_e = rc.subclass) == null ? void 0 : _e.pool_grants) != null ? _f : []
|
|
78
|
-
];
|
|
79
|
-
const grantsRaw = grantDecls.filter((g) => g.pool === pool.id).flatMap((g) => g.grants).filter((g) => g.at_level <= level).map((g) => byBare.get(wikilinkTailSlug(g.feature))).filter((e) => e != null);
|
|
80
|
-
const grantedBare = /* @__PURE__ */ new Set();
|
|
81
|
-
const grants = grantsRaw.filter((e) => {
|
|
82
|
-
const key = bareEntitySlug(e.slug);
|
|
83
|
-
if (grantedBare.has(key)) return false;
|
|
84
|
-
grantedBare.add(key);
|
|
85
|
-
return true;
|
|
86
|
-
});
|
|
87
|
-
const bySlugAvailable = new Map(available.map((e) => [e.slug, e]));
|
|
88
|
-
const byBareAvailable = new Map(available.map((e) => [bareEntitySlug(e.slug), e]));
|
|
89
|
-
const resolveStored = (s) => {
|
|
90
|
-
const exact = bySlugAvailable.get(s);
|
|
91
|
-
if (exact) return exact;
|
|
92
|
-
const survivor = byBareAvailable.get(bareEntitySlug(s));
|
|
93
|
-
if (survivor) return survivor;
|
|
94
|
-
const full = registry.getByTypeAndSlug("optional-feature", s);
|
|
95
|
-
if (full) {
|
|
96
|
-
const d = full.data;
|
|
97
|
-
return { slug: full.slug, entity: d, ...full.compendium ? { compendium: full.compendium } : {} };
|
|
98
|
-
}
|
|
99
|
-
return byBare.get(bareEntitySlug(s));
|
|
100
|
-
};
|
|
101
|
-
const raw = (_g = rc.choices[anchorLevel]) == null ? void 0 : _g[pool.id];
|
|
102
|
-
const selectedSlugs = Array.isArray(raw) ? raw : typeof raw === "string" ? [raw] : [];
|
|
103
|
-
const selected = [];
|
|
104
|
-
const seenBare = /* @__PURE__ */ new Set();
|
|
105
|
-
for (const s of selectedSlugs) {
|
|
106
|
-
const entry = resolveStored(s);
|
|
107
|
-
if (!entry) continue;
|
|
108
|
-
const bare = bareEntitySlug(entry.slug);
|
|
109
|
-
if (grantedBare.has(bare) || seenBare.has(bare)) continue;
|
|
110
|
-
seenBare.add(bare);
|
|
111
|
-
selected.push(entry);
|
|
112
|
-
}
|
|
113
|
-
const members = [...available, ...grants];
|
|
114
|
-
const layout = derivePoolLayout(members);
|
|
115
|
-
const votes = /* @__PURE__ */ new Map();
|
|
116
|
-
for (const e of members) {
|
|
117
|
-
const id = (_h = e.entity.consumes) == null ? void 0 : _h.resource;
|
|
118
|
-
if (!id || !index.has(id)) continue;
|
|
119
|
-
votes.set(id, ((_i = votes.get(id)) != null ? _i : 0) + 1);
|
|
120
|
-
}
|
|
121
|
-
let resource;
|
|
122
|
-
let bestN = 0;
|
|
123
|
-
for (const [id, n] of votes) if (n > bestN) {
|
|
124
|
-
resource = id;
|
|
125
|
-
bestN = n;
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
id: pool.id,
|
|
129
|
-
label: pool.label,
|
|
130
|
-
classIndex,
|
|
131
|
-
count,
|
|
132
|
-
anchorLevel,
|
|
133
|
-
selected,
|
|
134
|
-
available,
|
|
135
|
-
grants,
|
|
136
|
-
...layout ? { layout } : {},
|
|
137
|
-
...resource ? { resource } : {}
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
function resolveAllPools(resolved, registry, index) {
|
|
141
|
-
const out = [];
|
|
142
|
-
resolved.classes.forEach((rc, classIndex) => {
|
|
143
|
-
var _a, _b, _c;
|
|
144
|
-
if (!rc.entity) return;
|
|
145
|
-
const decls = [...(_a = rc.entity.selection_pools) != null ? _a : [], ...(_c = (_b = rc.subclass) == null ? void 0 : _b.selection_pools) != null ? _c : []];
|
|
146
|
-
const seen = /* @__PURE__ */ new Set();
|
|
147
|
-
for (const pool of decls) {
|
|
148
|
-
if (seen.has(pool.id)) continue;
|
|
149
|
-
seen.add(pool.id);
|
|
150
|
-
out.push(resolvePool(rc, classIndex, pool, registry, index));
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
return out;
|
|
154
|
-
}
|
|
155
|
-
function strandedPicks(pool) {
|
|
156
|
-
const inAvailable = new Set(pool.available.map((e) => e.slug));
|
|
157
|
-
return pool.selected.filter((e) => !inAvailable.has(e.slug));
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export {
|
|
161
|
-
levelPrereqMax,
|
|
162
|
-
resolvePool,
|
|
163
|
-
resolveAllPools,
|
|
164
|
-
strandedPicks
|
|
165
|
-
};
|
package/dist/chunk-WXWPK3LI.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
slugify
|
|
3
|
-
} from "./chunk-6X4KUDMU.js";
|
|
4
|
-
|
|
5
|
-
// src/entities/base-item-resolver.ts
|
|
6
|
-
function unwrapWikilink(input) {
|
|
7
|
-
const m = /^\[\[([^\]]+)\]\]$/.exec(input.trim());
|
|
8
|
-
if (!m) return null;
|
|
9
|
-
const inner = m[1];
|
|
10
|
-
const pipe = inner.indexOf("|");
|
|
11
|
-
return pipe === -1 ? inner : inner.slice(0, pipe);
|
|
12
|
-
}
|
|
13
|
-
var FOLDER_TO_TYPE = {
|
|
14
|
-
Weapons: "weapon",
|
|
15
|
-
Armor: "armor",
|
|
16
|
-
"Magic Items": "item"
|
|
17
|
-
};
|
|
18
|
-
function vaultPathToSlug(target) {
|
|
19
|
-
const segments = target.split("/").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
20
|
-
if (segments.length === 0) return "";
|
|
21
|
-
if (segments.length === 1) {
|
|
22
|
-
return slugify(segments[0]);
|
|
23
|
-
}
|
|
24
|
-
const compendiumName = segments[0];
|
|
25
|
-
const typeFolder = segments[segments.length - 2];
|
|
26
|
-
const basename = segments[segments.length - 1];
|
|
27
|
-
const prefix = slugify(compendiumName);
|
|
28
|
-
const nameSlug = slugify(basename);
|
|
29
|
-
if (!prefix || !nameSlug) return nameSlug;
|
|
30
|
-
const type = FOLDER_TO_TYPE[typeFolder];
|
|
31
|
-
return type ? `${prefix}_${type}_${nameSlug}` : `${prefix}_${nameSlug}`;
|
|
32
|
-
}
|
|
33
|
-
function resolveBaseItem(baseItem, registry) {
|
|
34
|
-
var _a, _b;
|
|
35
|
-
if (typeof baseItem !== "string" || baseItem.length === 0) return null;
|
|
36
|
-
const target = (_a = unwrapWikilink(baseItem)) != null ? _a : baseItem.trim();
|
|
37
|
-
if (target.length === 0) return null;
|
|
38
|
-
if (!target.includes("/")) {
|
|
39
|
-
const direct = registry.getBySlug(target);
|
|
40
|
-
if (direct) return direct;
|
|
41
|
-
}
|
|
42
|
-
const slug = vaultPathToSlug(target);
|
|
43
|
-
if (!slug) return null;
|
|
44
|
-
return (_b = registry.getBySlug(slug)) != null ? _b : null;
|
|
45
|
-
}
|
|
46
|
-
function resolveBaseItemOfType(baseItem, entityType, registry) {
|
|
47
|
-
const found = resolveBaseItem(baseItem, registry);
|
|
48
|
-
return found && found.entityType === entityType ? found : null;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
vaultPathToSlug,
|
|
53
|
-
resolveBaseItem,
|
|
54
|
-
resolveBaseItemOfType
|
|
55
|
-
};
|