Files
pezkuwi-api/packages/bizinikiwi-bindings/dist/esm/codecs/scale/Variant.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
5.2 KiB
Plaintext

{"version":3,"file":"Variant.mjs","sources":["../../../../src/codecs/scale/Variant.ts"],"sourcesContent":["import {\n Codec,\n CodecType,\n Decoder,\n DecoderType,\n Encoder,\n EncoderType,\n Enum as OEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@pezkuwi/papi-utils\"\nimport { Enum } from \"@/types/enum\"\nimport { withInner } from \"./with-inner\"\n\ntype Tuple<T, N extends number> = readonly [T, ...T[]] & { length: N }\n\ntype Push<T extends any[], V> = [...T, V]\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I,\n) => void\n ? I\n : never\n\ntype LastOf<T> =\n UnionToIntersection<T extends any ? () => T : never> extends () => infer R\n ? R\n : never\n\ntype TuplifyUnion<\n T,\n L = LastOf<T>,\n N = [T] extends [never] ? true : false,\n> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>\n\ntype RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple<\n T,\n TuplifyUnion<keyof O> extends Tuple<any, infer V> ? V : 0\n>\n\nconst VariantEnc: <O extends StringRecord<Encoder<any>>>(\n inner: O,\n x?: RestrictedLenTuple<number, O> | undefined,\n) => Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\n }>\n> & { inner: O } = (...args) => {\n const enc = OEnum.enc(...(args as [any, any]))\n return withInner((v: any) => enc({ tag: v.type, value: v.value }), args[0])\n}\n\nconst VariantDec: <O extends StringRecord<Decoder<any>>>(\n inner: O,\n x?: RestrictedLenTuple<number, O> | undefined,\n) => Decoder<\n Enum<{\n [K in keyof O]: DecoderType<O[K]>\n }>\n> & { inner: O } = (...args) => {\n const dec = OEnum.dec(...(args as [any]))\n return withInner((v: any) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }, args[0])\n}\n\nexport const Variant: {\n <O extends StringRecord<Codec<any>>>(\n inner: O,\n indexes?: RestrictedLenTuple<number, O> | undefined,\n ): Codec<\n Enum<{\n [K in keyof O]: CodecType<O[K]>\n }>\n > & { inner: O }\n enc: <O_1 extends StringRecord<Encoder<any>>>(\n inner: O_1,\n x?: RestrictedLenTuple<number, O_1> | undefined,\n ) => Encoder<\n Enum<{\n [K in keyof O_1]: EncoderType<O_1[K]>\n }>\n > & { inner: O_1 }\n dec: <O_2 extends StringRecord<Decoder<any>>>(\n inner: O_2,\n x?: RestrictedLenTuple<number, O_2> | undefined,\n ) => Decoder<\n Enum<{\n [K in keyof O_2]: DecoderType<O_2[K]>\n }>\n > & { inner: O_2 }\n} = (inner, ...args) =>\n withInner(\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as any,\n ...(args as any[]),\n ),\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as any,\n ...(args as any[]),\n ) as any,\n ),\n inner,\n ) as any\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n\nexport const ScaleEnum: {\n <O extends StringRecord<Codec<any>>>(\n inner: O,\n indexes?: RestrictedLenTuple<number, O> | undefined,\n ): Codec<\n {\n [K in keyof O]: {\n tag: K\n value: CodecType<O[K]>\n }\n }[keyof O]\n > & { inner: O }\n enc: <O_1 extends StringRecord<Encoder<any>>>(\n inner: O_1,\n x?: RestrictedLenTuple<number, O_1> | undefined,\n ) => Encoder<\n {\n [K_1 in keyof O_1]: {\n tag: K_1\n value: EncoderType<O_1[K_1]>\n }\n }[keyof O_1]\n > & { inner: O_1 }\n dec: <O_2 extends StringRecord<Decoder<any>>>(\n inner: O_2,\n x?: RestrictedLenTuple<number, O_2> | undefined,\n ) => Decoder<\n {\n [K_2 in keyof O_2]: {\n tag: K_2\n value: DecoderType<O_2[K_2]>\n }\n }[keyof O_2]\n > & { inner: O_2 }\n} = (inner, ...args) => withInner(OEnum(inner, ...(args as any[])), inner)\nScaleEnum.enc = (inner, ...rest) =>\n withInner(OEnum.enc(inner, ...(rest as any[])), inner)\nScaleEnum.dec = (inner, ...rest) =>\n withInner(OEnum.dec(inner, ...(rest as any[])), inner)\n"],"names":["OEnum","Enum"],"mappings":";;;;;AAyCA,MAAM,UAAA,GAOa,IAAI,IAAA,KAAS;AAC9B,EAAA,MAAM,GAAA,GAAMA,IAAA,CAAM,GAAA,CAAI,GAAI,IAAmB,CAAA;AAC7C,EAAA,OAAO,SAAA,CAAU,CAAC,CAAA,KAAW,GAAA,CAAI,EAAE,GAAA,EAAK,CAAA,CAAE,IAAA,EAAM,KAAA,EAAO,EAAE,KAAA,EAAO,CAAA,EAAG,IAAA,CAAK,CAAC,CAAC,CAAA;AAC5E,CAAA;AAEA,MAAM,UAAA,GAOa,IAAI,IAAA,KAAS;AAC9B,EAAA,MAAM,GAAA,GAAMA,IAAA,CAAM,GAAA,CAAI,GAAI,IAAc,CAAA;AACxC,EAAA,OAAO,SAAA,CAAU,CAAC,CAAA,KAAW;AAC3B,IAAA,MAAM,EAAE,GAAA,EAAK,KAAA,EAAM,GAAI,IAAI,CAAC,CAAA;AAC5B,IAAA,OAAOC,MAAA,CAAK,KAAY,KAAY,CAAA;AAAA,EACtC,CAAA,EAAG,IAAA,CAAK,CAAC,CAAC,CAAA;AACZ,CAAA;AAEO,MAAM,OAAA,GAyBT,CAAC,KAAA,EAAA,GAAU,IAAA,KACb,SAAA;AAAA,EACE,WAAA;AAAA,IACE,UAAA;AAAA,MACE,UAAU,KAAA,EAAO,CAAC,CAAC,OAAO,MAAM,OAAO,CAAA;AAAA,MACvC,GAAI;AAAA,KACN;AAAA,IACA,UAAA;AAAA,MACE,UAAU,KAAA,EAAO,CAAC,GAAG,OAAO,MAAM,OAAO,CAAA;AAAA,MACzC,GAAI;AAAA;AACN,GACF;AAAA,EACA;AACF;AACF,OAAA,CAAQ,GAAA,GAAM,UAAA;AACd,OAAA,CAAQ,GAAA,GAAM,UAAA;AAEP,MAAM,SAAA,GAkCT,CAAC,KAAA,EAAA,GAAU,IAAA,KAAS,SAAA,CAAUD,KAAM,KAAA,EAAO,GAAI,IAAc,CAAA,EAAG,KAAK;AACzE,SAAA,CAAU,GAAA,GAAM,CAAC,KAAA,EAAA,GAAU,IAAA,KACzB,SAAA,CAAUA,IAAA,CAAM,GAAA,CAAI,KAAA,EAAO,GAAI,IAAc,CAAA,EAAG,KAAK,CAAA;AACvD,SAAA,CAAU,GAAA,GAAM,CAAC,KAAA,EAAA,GAAU,IAAA,KACzB,SAAA,CAAUA,IAAA,CAAM,GAAA,CAAI,KAAA,EAAO,GAAI,IAAc,CAAA,EAAG,KAAK,CAAA;;;;"}