PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/ox/core/internal

Просмотр файла: base58.ts

import * as Bytes from '../Bytes.js'
import type * as Errors from '../Errors.js'
import * as Hex from '../Hex.js'

/** @internal */
export const integerToAlphabet =
  '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'

/** @internal */
export const alphabetToInteger = /* __PURE__ */ Object.freeze<
  Record<string, bigint>
>({
  1: 0n,
  2: 1n,
  3: 2n,
  4: 3n,
  5: 4n,
  6: 5n,
  7: 6n,
  8: 7n,
  9: 8n,
  A: 9n,
  B: 10n,
  C: 11n,
  D: 12n,
  E: 13n,
  F: 14n,
  G: 15n,
  H: 16n,
  J: 17n,
  K: 18n,
  L: 19n,
  M: 20n,
  N: 21n,
  P: 22n,
  Q: 23n,
  R: 24n,
  S: 25n,
  T: 26n,
  U: 27n,
  V: 28n,
  W: 29n,
  X: 30n,
  Y: 31n,
  Z: 32n,
  a: 33n,
  b: 34n,
  c: 35n,
  d: 36n,
  e: 37n,
  f: 38n,
  g: 39n,
  h: 40n,
  i: 41n,
  j: 42n,
  k: 43n,
  m: 44n,
  n: 45n,
  o: 46n,
  p: 47n,
  q: 48n,
  r: 49n,
  s: 50n,
  t: 51n,
  u: 52n,
  v: 53n,
  w: 54n,
  x: 55n,
  y: 56n,
  z: 57n,
})

/** @internal */
export function from(value: Hex.Hex | Bytes.Bytes) {
  let bytes = Bytes.from(value)

  let integer = (() => {
    let hex = value
    if (value instanceof Uint8Array) hex = Hex.fromBytes(bytes)
    return BigInt(hex as string)
  })()

  let result = ''
  while (integer > 0n) {
    const remainder = Number(integer % 58n)
    integer = integer / 58n
    result = integerToAlphabet[remainder] + result
  }

  while (bytes.length > 1 && bytes[0] === 0) {
    result = '1' + result
    bytes = bytes.slice(1)
  }

  return result
}

/** @internal */
export declare namespace from {
  type ErrorType = Errors.GlobalErrorType
}

/** @internal */

Выполнить команду


Для локальной разработки. Не используйте в интернете!