Chore: typing, formatting

This commit is contained in:
Pieter Vander Vennet 2025-01-18 02:30:24 +01:00
parent 244c976af6
commit add464f58f

View file

@ -59,10 +59,11 @@ export class ExpandTagRendering extends Conversion<
} }
public convert( public convert(
spec: string | any, spec: string | { "builtin": string | string[] } | (TagRenderingConfigJson),
ctx: ConversionContext ctx: ConversionContext
): QuestionableTagRenderingConfigJson[] { ): QuestionableTagRenderingConfigJson[] {
const trs = this.convertOnce(spec, ctx)?.map((tr) =>
const trs = this.convertOnce(<any>spec, ctx)?.map((tr) =>
this.pruneMappings<TagRenderingConfigJson & { id: string }>(tr, ctx) this.pruneMappings<TagRenderingConfigJson & { id: string }>(tr, ctx)
) )
if (!Array.isArray(trs)) { if (!Array.isArray(trs)) {
@ -123,7 +124,7 @@ export class ExpandTagRendering extends Conversion<
} }
return { return {
...mapping, ...mapping,
if: newIf.asJson(), if: newIf.asJson()
} }
}) })
const after = newMappings?.length ?? 0 const after = newMappings?.length ?? 0
@ -136,7 +137,7 @@ export class ExpandTagRendering extends Conversion<
} }
const tr = { const tr = {
...tagRendering, ...tagRendering,
mappings: newMappings, mappings: newMappings
} }
delete tr["strict"] delete tr["strict"]
return tr return tr
@ -155,17 +156,17 @@ export class ExpandTagRendering extends Conversion<
for (const tagRenderingConfigJson of direct) { for (const tagRenderingConfigJson of direct) {
const nm: string | string[] | undefined = tagRenderingConfigJson["builtin"] const nm: string | string[] | undefined = tagRenderingConfigJson["builtin"]
if (nm !== undefined) { if (nm !== undefined) {
let indirect: TagRenderingConfigJson[] let indirect: (TagRenderingConfigJson & { id: string })[]
if (typeof nm === "string") { if (typeof nm === "string") {
indirect = this.lookup(nm, ctx) indirect = this.lookup(nm, ctx)
} else { } else {
indirect = [].concat(...nm.map((n) => this.lookup(n, ctx))) indirect = [].concat(...nm.map((n) => this.lookup(n, ctx)))
} }
for (let foundTr of indirect) { for (let foundTr of indirect) {
foundTr = Utils.Clone<any>(foundTr) foundTr = Utils.Clone(foundTr)
ctx.MergeObjectsForOverride(tagRenderingConfigJson["override"] ?? {}, foundTr) ctx.MergeObjectsForOverride(tagRenderingConfigJson["override"] ?? {}, foundTr)
foundTr["id"] = tagRenderingConfigJson["id"] ?? foundTr["id"] foundTr["id"] = tagRenderingConfigJson["id"] ?? foundTr["id"]
result.push(<any>foundTr) result.push(foundTr)
} }
} else { } else {
result.push(tagRenderingConfigJson) result.push(tagRenderingConfigJson)
@ -248,11 +249,15 @@ export class ExpandTagRendering extends Conversion<
} }
private convertOnce( private convertOnce(
tr: string | any, tr: string | { "builtin": string } | TagRenderingConfigJson,
ctx: ConversionContext ctx: ConversionContext
): (TagRenderingConfigJson & { id: string })[] { ): TagRenderingConfigJson[] {
const state = this._state const state = this._state
if (tr === undefined) {
return []
}
if (typeof tr === "string") { if (typeof tr === "string") {
if (this._state.tagRenderings !== null) { if (this._state.tagRenderings !== null) {
const lookup = this.lookup(tr, ctx) const lookup = this.lookup(tr, ctx)
@ -283,10 +288,10 @@ export class ExpandTagRendering extends Conversion<
} }
return [ return [
<any>{ <TagRenderingConfigJson & { id: string }>{
render: tr, render: tr,
id: tr.replace(/[^a-zA-Z0-9]/g, ""), id: tr.replace(/[^a-zA-Z0-9]/g, "")
}, }
] ]
} }
@ -372,7 +377,7 @@ export class ExpandTagRendering extends Conversion<
continue continue
} }
for (let foundTr of lookup) { for (let foundTr of lookup) {
foundTr = Utils.Clone<any>(foundTr) foundTr = Utils.Clone(foundTr)
ctx.MergeObjectsForOverride(tr["override"] ?? {}, foundTr) ctx.MergeObjectsForOverride(tr["override"] ?? {}, foundTr)
if (names.length == 1) { if (names.length == 1) {
foundTr["id"] = tr["id"] ?? foundTr["id"] foundTr["id"] = tr["id"] ?? foundTr["id"]
@ -383,6 +388,6 @@ export class ExpandTagRendering extends Conversion<
return trs return trs
} }
return [tr] return [<TagRenderingConfigJson & { id: string }>tr]
} }
} }