import "../../_dnt.polyfills.js"; import * as $ from "../../deps/scale.js" import { Ty } from "../raw/Ty.js" import { ChainError } from "./ChainError.js" import { $era } from "./Era.js" const isResult = new $.CodecVisitor() .add($.result, () => true) .fallback(() => false) const isOption = new $.CodecVisitor() .add($.option, () => true) .fallback(() => false) export const overrides: Record $.AnyCodec) => $.AnyCodec> = { Option: (ty, visit) => { let $some = visit(ty.params[0]!.ty!) if (isOption.visit($some)) { $some = $.tuple($some) } return $.option($some) }, Result: (ty, visit) => { let $ok = visit(ty.params[0]!.ty!) if (isResult.visit($ok)) { $ok = $.tuple($ok) } return $.result( $ok, $.instance( ChainError, $.tuple(visit(ty.params[1]!.ty!)), ChainError.toArgs, ), ) }, BTreeMap: (ty, visit) => { return $.map(visit(ty.params[0]!.ty!) as any, visit(ty.params[1]!.ty!)) }, BTreeSet: (ty, visit) => { return $.set(visit(ty.params[0]!.ty!) as any) }, "frame_support::traits::misc::WrapperOpaque": (ty, visit) => { return $.lenPrefixed(visit(ty.params[0]!.ty!)) }, "frame_support::traits::misc::WrapperKeepOpaque": (ty, visit) => { return $.lenPrefixed(visit(ty.params[0]!.ty!)) }, "sp_runtime::generic::era::Era": () => { return $era }, }