Files
pezkuwi-api/packages/merkleize-metadata/dist/esm/decode-and-collect.mjs.map
T
pezkuwichain 31467f90d4 feat: add PAPI rebrand packages
- @pezkuwi/papi-utils (rebrand of @polkadot-api/utils)
- @pezkuwi/bizinikiwi-bindings (rebrand of @polkadot-api/substrate-bindings)
- @pezkuwi/metadata-builders (rebrand of @polkadot-api/metadata-builders)
- @pezkuwi/merkleize-metadata (rebrand of @polkadot-api/merkleize-metadata)

All @polkadot-api references replaced with @pezkuwi equivalents.
2026-01-22 15:40:12 +03:00

1 line
6.1 KiB
Plaintext

{"version":3,"file":"decode-and-collect.mjs","sources":["../../src/decode-and-collect.ts"],"sourcesContent":["import {\n HexString,\n _void,\n compact,\n createDecoder,\n i128,\n i16,\n i256,\n i32,\n i64,\n i8,\n str,\n u128,\n u16,\n u256,\n u32,\n u64,\n u8,\n} from \"@pezkuwi/bizinikiwi-bindings\"\nimport { Lookup, TypeDef, TypeRef } from \"./codecs\"\n\nconst typeRefDecoders = {\n bool: u8,\n char: u8,\n str,\n u8,\n u16,\n u32,\n u64,\n u128,\n u256,\n i8,\n i16,\n i32,\n i64,\n i128,\n i256,\n void: _void,\n compactU8: compact,\n compactU16: compact,\n compactU32: compact,\n compactU64: compact,\n compactU128: compact,\n compactU256: compact,\n}\n\nconst innerDecodeAndCollect = (\n input: Uint8Array,\n typeRef: TypeRef,\n idToLookups: Map<number, Array<number>>,\n lookup: Lookup,\n collected: Set<number>,\n) => {\n if (typeRef.tag !== \"perId\") {\n typeRefDecoders[typeRef.tag][1](input)\n return\n }\n\n const handleTypeRef = (typeRef: TypeRef) => {\n innerDecodeAndCollect(input, typeRef, idToLookups, lookup, collected)\n }\n\n const lookupIdxs = idToLookups.get(typeRef.value)!\n const [currentIdx] = lookupIdxs\n const current = lookup[currentIdx]\n\n if (lookupIdxs.length === 1) collected.add(currentIdx)\n\n switch (current.typeDef.tag) {\n case \"enumeration\": {\n const selectedIdx = u8.dec(input)\n const [selected, collectedIdx] = lookupIdxs\n .map(\n (lookupIdx) =>\n [lookup[lookupIdx].typeDef, lookupIdx] as [\n TypeDef & { tag: \"enumeration\" },\n number,\n ],\n )\n .find(([x]) => x.value.index === selectedIdx)!\n collected.add(collectedIdx)\n selected.value.fields.forEach(({ ty }) => {\n handleTypeRef(ty)\n })\n break\n }\n case \"sequence\": {\n const len = compact.dec(input)\n for (let i = 0; i < len; i++) handleTypeRef(current.typeDef.value)\n break\n }\n case \"array\": {\n for (let i = 0; i < current.typeDef.value.len; i++)\n handleTypeRef(current.typeDef.value.typeParam)\n break\n }\n case \"composite\": {\n current.typeDef.value.forEach((x) => {\n handleTypeRef(x.ty)\n })\n break\n }\n case \"tuple\": {\n current.typeDef.value.forEach(handleTypeRef)\n break\n }\n case \"bitSequence\":\n throw new Error(\"bitSequence is not supported\")\n }\n}\n\nexport const decodeAndCollectKnownLeafs = (\n data: Uint8Array | HexString,\n typeRefs: Array<TypeRef>,\n lookup: Lookup,\n): Array<number> => {\n let input: Uint8Array<ArrayBufferLike> = new Uint8Array()\n createDecoder((_input) => {\n input = _input\n })(data)\n\n const idToLookups = new Map<number, number[]>()\n lookup.forEach((lookup, idx) => {\n const arr = idToLookups.get(lookup.typeId)\n if (arr) arr.push(idx)\n else idToLookups.set(lookup.typeId, [idx])\n })\n\n const result = new Set<number>()\n typeRefs.forEach((typeRef) => {\n innerDecodeAndCollect(input, typeRef, idToLookups, lookup, result)\n })\n\n return [...result].sort((a, b) => a - b)\n}\n"],"names":["typeRef","lookup"],"mappings":"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"}