PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@near-js/utils/lib/commonjs

Просмотр файла: format.cjs

"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/format.ts
var format_exports = {};
__export(format_exports, {
  NEAR_NOMINATION: () => NEAR_NOMINATION,
  NEAR_NOMINATION_EXP: () => NEAR_NOMINATION_EXP,
  baseDecode: () => baseDecode,
  baseEncode: () => baseEncode,
  formatNearAmount: () => formatNearAmount,
  parseNearAmount: () => parseNearAmount
});
module.exports = __toCommonJS(format_exports);
var import_base = require("@scure/base");
var NEAR_NOMINATION_EXP = 24;
var NEAR_NOMINATION = 10n ** BigInt(NEAR_NOMINATION_EXP);
var ROUNDING_OFFSETS = [];
var BN10 = 10n;
for (let i = 0, offset = 5n; i < NEAR_NOMINATION_EXP; i++, offset = offset * BN10) {
  ROUNDING_OFFSETS[i] = offset;
}
function formatNearAmount(balance, fracDigits = NEAR_NOMINATION_EXP) {
  let balanceBN = BigInt(balance);
  if (fracDigits !== NEAR_NOMINATION_EXP) {
    const roundingExp = NEAR_NOMINATION_EXP - fracDigits - 1;
    if (roundingExp > 0) {
      balanceBN += ROUNDING_OFFSETS[roundingExp];
    }
  }
  balance = balanceBN.toString();
  const wholeStr = balance.substring(0, balance.length - NEAR_NOMINATION_EXP) || "0";
  const fractionStr = balance.substring(balance.length - NEAR_NOMINATION_EXP).padStart(NEAR_NOMINATION_EXP, "0").substring(0, fracDigits);
  return trimTrailingZeroes(`${formatWithCommas(wholeStr)}.${fractionStr}`);
}
function parseNearAmount(amt) {
  if (!amt) {
    return null;
  }
  amt = cleanupAmount(amt);
  const split = amt.split(".");
  const wholePart = split[0];
  const fracPart = split[1] || "";
  if (split.length > 2 || fracPart.length > NEAR_NOMINATION_EXP) {
    throw new Error(`Cannot parse '${amt}' as NEAR amount`);
  }
  return trimLeadingZeroes(
    wholePart + fracPart.padEnd(NEAR_NOMINATION_EXP, "0")
  );
}
function cleanupAmount(amount) {
  return amount.replace(/,/g, "").trim();
}
function trimTrailingZeroes(value) {
  return value.replace(/\.?0*$/, "");
}
function trimLeadingZeroes(value) {
  value = value.replace(/^0+/, "");
  if (value === "") {
    return "0";
  }
  return value;
}
function formatWithCommas(value) {
  const pattern = /(-?\d+)(\d{3})/;
  while (pattern.test(value)) {
    value = value.replace(pattern, "$1,$2");
  }
  return value;
}
function baseEncode(value) {
  if (typeof value === "string") {
    const bytes = [];
    for (let c = 0; c < value.length; c++) {
      bytes.push(value.charCodeAt(c));
    }
    value = new Uint8Array(bytes);
  }
  return import_base.base58.encode(value);
}
function baseDecode(value) {
  return import_base.base58.decode(value);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  NEAR_NOMINATION,
  NEAR_NOMINATION_EXP,
  baseDecode,
  baseEncode,
  formatNearAmount,
  parseNearAmount
});

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


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