{"version":3,"sources":["jsdelivr-header.js","/npm/@bignum/template@0.3.2/lib/index.js"],"names":[],"mappings":"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","file":"/npm/@bignum/template@0.3.2/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@bignum/template@0.3.2/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// src/index.mts\nimport { compile } from \"@bignum/template-compiler\";\nimport { BigNum } from \"@bignum/core\";\nvar RE_VALID_INTEGER = /^[+-]?(?:[1-9]\\d*|0)$/u;\nfunction normalize(value) {\n  if (value instanceof BigNum || typeof value === \"bigint\")\n    return value;\n  if (typeof value === \"number\") {\n    if (Number.isSafeInteger(value))\n      return BigInt(value);\n  } else if (typeof value === \"string\") {\n    if (RE_VALID_INTEGER.test(value))\n      return BigInt(value);\n  }\n  return BigNum.valueOf(value);\n}\nfunction identity(a) {\n  return a;\n}\nfunction buildEvaluator(evaluateForD, evaluateForB) {\n  const forD = (a, b) => evaluateForD(BigNum.valueOf(a), b);\n  const forB = evaluateForB || forD;\n  return (a, b) => {\n    const na = normalize(a);\n    const nb = normalize(b);\n    return typeof na === \"bigint\" && typeof nb === \"bigint\" ? forB(na, nb) : forD(na, nb);\n  };\n}\nfunction buildCompare(compare) {\n  return (a, b) => {\n    const na = normalize(a);\n    const nb = normalize(b);\n    return BigInt(\n      typeof na === \"bigint\" && typeof nb === \"bigint\" ? compare(na, nb) : compare(BigNum.valueOf(na).compareTo(nb), 0)\n    );\n  };\n}\nfunction buildOperation(opForD, opForB) {\n  const forB = opForB || ((a, ...options) => opForD(BigNum.valueOf(a), ...options));\n  return (a, ...options) => {\n    const na = normalize(a);\n    return typeof na === \"bigint\" ? forB(na, ...options) : opForD(na, ...options);\n  };\n}\nvar defaultContext = {\n  binaryOperations: {\n    \"*\": buildEvaluator(\n      (a, b) => a.multiply(b),\n      (a, b) => a * b\n    ),\n    \"+\": buildEvaluator(\n      (a, b) => a.add(b),\n      (a, b) => a + b\n    ),\n    \"-\": buildEvaluator(\n      (a, b) => a.subtract(b),\n      (a, b) => a - b\n    ),\n    \"/\": buildEvaluator((a, b) => a.divide(b)),\n    \"%\": buildEvaluator(\n      (a, b) => a.modulo(b),\n      (a, b) => a % b\n    ),\n    \"**\": buildEvaluator(\n      (a, b) => a.pow(b),\n      (a, b) => a ** b\n    ),\n    \"==\": buildCompare((a, b) => a === b),\n    \"!=\": buildCompare((a, b) => a !== b),\n    \"<=\": buildCompare((a, b) => a <= b),\n    \"<\": buildCompare((a, b) => a < b),\n    \">=\": buildCompare((a, b) => a >= b),\n    \">\": buildCompare((a, b) => a > b)\n  },\n  unaryOperations: {\n    \"-\": buildOperation(\n      (a) => a.negate(),\n      (a) => -a\n    ),\n    \"+\": (a) => normalize(a)\n  },\n  normalizeResult: (value) => {\n    const str = String(normalize(value));\n    const num = Number(str);\n    return String(num) === str ? num : str;\n  },\n  variables: Object.fromEntries(\n    [\"E\", \"LN10\", \"LN2\", \"LOG2E\", \"LOG10E\", \"PI\", \"SQRT1_2\", \"SQRT2\"].map((k) => [k, Math[k]])\n  ),\n  functions: {\n    sqrt: buildOperation((a) => a.sqrt()),\n    abs: buildOperation(\n      (a) => a.abs(),\n      (a) => a < 0 ? -a : a\n    ),\n    trunc: buildOperation((a) => a.trunc(), identity),\n    round: buildOperation((a) => a.round(), identity),\n    floor: buildOperation((a) => a.floor(), identity),\n    ceil: buildOperation((a) => a.ceil(), identity)\n  }\n};\nfunction setupEngine(context) {\n  if (!context) {\n    return setupEngine(defaultContext);\n  }\n  return (template, ...substitutions) => {\n    const fn = compile(template);\n    const result = fn(substitutions, context);\n    return context.normalizeResult ? context.normalizeResult(result) : result;\n  };\n}\nexport {\n  setupEngine\n};\n"]}