{"version":3,"file":"index.cjs","sources":["../../../../../src/mods/convert/index.ts"],"sourcesContent":["import { Base16 } from \"@hazae41/base16\"\nimport { Bytes, Uint8Array } from \"@hazae41/bytes\"\nimport { RawHexString, ZeroHexString } from \"@hazae41/hexane\"\nimport { BigInts } from \"libs/bigint/bigint.js\"\nimport { Copiable, Copied } from \"libs/copiable/index.js\"\nimport { Numbers } from \"libs/number/number.js\"\n\n/**\n * Decode an utf-8 string-like to a zero-hex string\n */\nexport namespace ZeroHexAsUtf8 {\n\n  export type From =\n    | string\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): ZeroHexString {\n    return value\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): ZeroHexString {\n    return `0x${Base16.get().getOrThrow().encodeOrThrow(value)}` as ZeroHexString\n  }\n\n  export function fromStringOrThrow(value: string): ZeroHexString {\n    return `0x${Base16.get().getOrThrow().encodeOrThrow(Bytes.fromUtf8(value))}` as ZeroHexString\n  }\n\n  export function fromOrThrow(value: From): ZeroHexString {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n}\n\n/**\n * Decode an utf-8 string-like to a raw-hex string\n */\nexport namespace RawHexAsUtf8 {\n\n  export type From =\n    | string\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): RawHexString {\n    return value.slice(2) as RawHexString\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): RawHexString {\n    return Base16.get().getOrThrow().encodeOrThrow(value) as RawHexString\n  }\n\n  export function fromStringOrThrow(value: string): RawHexString {\n    return Base16.get().getOrThrow().encodeOrThrow(Bytes.fromUtf8(value)) as RawHexString\n  }\n\n  export function fromOrThrow(value: From): RawHexString {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n}\n\n/**\n * Decode an utf-8 string-like to bytes\n */\nexport namespace BytesAsUtf8 {\n\n  export type From =\n    | string\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromBytesOrThrow(value: Uint8Array): Uint8Array {\n    return value\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): Uint8Array {\n    return Copiable.copyAndDispose(Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.slice(2)))\n  }\n\n  export function fromStringOrThrow(value: string): Uint8Array {\n    return Bytes.fromUtf8(value)\n  }\n\n  export function fromOrThrow(value: From): Uint8Array {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n}\n\n/**\n * Decode an utf-8 string-like to a string\n */\nexport namespace StringAsUtf8 {\n\n  export type From =\n    | string\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromStringOrThrow(value: string): string {\n    return value\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): string {\n    return Bytes.toUtf8(value)\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): string {\n    using copiable = Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.slice(2))\n\n    return Bytes.toUtf8(copiable.bytes)\n  }\n\n  export function fromOrThrow(from: From): string {\n    if (from instanceof Uint8Array)\n      return fromBytesOrThrow(from)\n    if (ZeroHexString.is(from))\n      return fromZeroHexOrThrow(from)\n    return fromStringOrThrow(from)\n  }\n\n}\n\n/**\n * Convert an integer-like to a bigint\n */\nexport namespace BigIntAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromBigIntOrThrow(value: bigint): bigint {\n    return value\n  }\n\n  export function fromNumberOrThrow(value: number): bigint {\n    return BigInt(value)\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): bigint {\n    return BigInts.decodeZeroHex(value)\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): bigint {\n    return BigInts.decodeRawHex(Base16.get().getOrThrow().encodeOrThrow(value))\n  }\n\n  export function fromStringOrThrow(value: string): bigint {\n    return BigInts.decodeDecimal(value)\n  }\n\n  export function fromOrThrow(value: From): bigint {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n}\n\n/**\n * Convert an integer-like to a number\n */\nexport namespace NumberAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromNumberOrThrow(value: number): number {\n    return value\n  }\n\n  export function fromBigIntOrThrow(value: bigint): number {\n    return Number(value)\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): number {\n    return Numbers.decodeZeroHex(value)\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): number {\n    return Numbers.decodeRawHex(Base16.get().getOrThrow().encodeOrThrow(value))\n  }\n\n  export function fromStringOrThrow(value: string): number {\n    return Numbers.decodeDecimal(value)\n  }\n\n  export function fromOrThrow(value: From): number {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n}\n\n/**\n * Convert an integer-like to a zero-hex string\n */\nexport namespace ZeroHexAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): ZeroHexString {\n    return value\n  }\n\n  export function fromBigIntOrThrow(value: bigint): ZeroHexString {\n    return `0x${value.toString(16)}` as ZeroHexString\n  }\n\n  export function fromNumberOrThrow(value: number): ZeroHexString {\n    return `0x${value.toString(16)}` as ZeroHexString\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): ZeroHexString {\n    return `0x${Base16.get().getOrThrow().encodeOrThrow(value)}` as ZeroHexString\n  }\n\n  export function fromStringOrThrow(value: string): ZeroHexString {\n    return `0x${BigInts.decodeDecimal(value).toString(16)}` as ZeroHexString\n  }\n\n  export function fromOrThrow(value: From): ZeroHexString {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n  export namespace Length {\n\n    export function fromOrThrow<N extends number>(value: ZeroHexAsInteger.From, byteLength: N): ZeroHexString<N> {\n      return ZeroHexString.Length.asOrThrow(ZeroHexAsInteger.fromOrThrow(value), byteLength)\n    }\n\n  }\n\n}\n\n/**\n * Convert an integer-like to a raw-hex string\n */\nexport namespace RawHexAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): RawHexString {\n    return value.slice(2) as RawHexString\n  }\n\n  export function fromBigIntOrThrow(value: bigint): RawHexString {\n    return value.toString(16) as RawHexString\n  }\n\n  export function fromNumberOrThrow(value: number): RawHexString {\n    return value.toString(16) as RawHexString\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): RawHexString {\n    return Base16.get().getOrThrow().encodeOrThrow(value) as RawHexString\n  }\n\n  export function fromStringOrThrow(value: string): RawHexString {\n    return BigInts.decodeDecimal(value).toString(16) as RawHexString\n  }\n\n  export function fromOrThrow(value: From): RawHexString {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n  export namespace Length {\n\n    export function fromOrThrow<N extends number>(value: RawHexAsInteger.From, byteLength: N): RawHexString<N> {\n      return RawHexString.Length.asOrThrow(RawHexAsInteger.fromOrThrow(value), byteLength)\n    }\n\n  }\n\n}\n\n/**\n * Convert an integer-like to bytes\n */\nexport namespace BytesAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromBigIntOrThrow(value: bigint): Uint8Array {\n    return Copiable.copyAndDispose(Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.toString(16)))\n  }\n\n  export function fromNumberOrThrow(value: number): Uint8Array {\n    return Copiable.copyAndDispose(Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.toString(16)))\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): Uint8Array {\n    return Copiable.copyAndDispose(Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.slice(2)))\n  }\n\n  export function fromStringOrThrow(value: string): Uint8Array {\n    return Copiable.copyAndDispose(Base16.get().getOrThrow().padStartAndDecodeOrThrow(BigInts.decodeDecimal(value).toString(16)))\n  }\n\n  export function fromOrThrow(value: From): Uint8Array {\n    if (value instanceof Uint8Array)\n      return value\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n  export namespace Length {\n\n    export function fromOrThrow<N extends number>(value: BytesAsInteger.From, byteLength: N): Uint8Array<N> {\n      return Bytes.castOrThrow(BytesAsInteger.fromOrThrow(value), byteLength)\n    }\n\n  }\n\n}\n\nexport namespace CopiableBytesAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromBytesOrThrow(value: Uint8Array): Copiable<Uint8Array> {\n    return new Copied(value)\n  }\n\n  export function fromBigIntOrThrow(value: bigint): Copiable<Uint8Array> {\n    return Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.toString(16))\n  }\n\n  export function fromNumberOrThrow(value: number): Copiable<Uint8Array> {\n    return Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.toString(16))\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): Copiable<Uint8Array> {\n    return Base16.get().getOrThrow().padStartAndDecodeOrThrow(value.slice(2))\n  }\n\n  export function fromStringOrThrow(value: string): Copiable<Uint8Array> {\n    return Base16.get().getOrThrow().padStartAndDecodeOrThrow(BigInts.decodeDecimal(value).toString(16))\n  }\n\n  export function fromOrThrow(value: From): Copiable<Uint8Array> {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return fromStringOrThrow(value)\n  }\n\n  export namespace Length {\n\n    export function fromOrThrow<N extends number>(value: CopiableBytesAsInteger.From, byteLength: N): Copiable<Uint8Array<N>> {\n      const copiable = CopiableBytesAsInteger.fromOrThrow(value)\n\n      Bytes.castOrThrow(copiable.bytes, byteLength)\n\n      return copiable as Copiable<Uint8Array<N>>\n    }\n\n  }\n\n}\n\n/**\n * Convert an integer-like to a string\n */\nexport namespace StringAsInteger {\n\n  export type From =\n    | string\n    | bigint\n    | number\n    | Uint8Array\n    | ZeroHexString\n\n  export function fromBigIntOrThrow(value: bigint): string {\n    return value.toString()\n  }\n\n  export function fromNumberOrThrow(value: number): string {\n    return value.toString()\n  }\n\n  export function fromZeroHexOrThrow(value: ZeroHexString): string {\n    return BigInts.decodeZeroHex(value).toString()\n  }\n\n  export function fromBytesOrThrow(value: Uint8Array): string {\n    return BigInts.decodeRawHex(Base16.get().getOrThrow().encodeOrThrow(value)).toString()\n  }\n\n  export function fromOrThrow(value: From): string {\n    if (value instanceof Uint8Array)\n      return fromBytesOrThrow(value)\n    if (typeof value === \"bigint\")\n      return fromBigIntOrThrow(value)\n    if (typeof value === \"number\")\n      return fromNumberOrThrow(value)\n    if (ZeroHexString.is(value))\n      return fromZeroHexOrThrow(value)\n    return value\n  }\n\n}"],"names":["ZeroHexAsUtf8","Base16","Bytes","ZeroHexString","RawHexAsUtf8","BytesAsUtf8","Copiable","StringAsUtf8","BigIntAsInteger","BigInts","NumberAsInteger","Numbers","ZeroHexAsInteger","RawHexAsInteger","RawHexString","BytesAsInteger","CopiableBytesAsInteger","Copied","StringAsInteger"],"mappings":"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"}