Skip to main content

JS_RUNTIME

Constant JS_RUNTIME 

Source
pub const JS_RUNTIME: &str = r#"// OxiLean JS Runtime
const _OL = {
  natAdd: (a, b) => a + b,
  natMul: (a, b) => a * b,
  natSub: (a, b) => a >= b ? a - b : 0n,
  natDiv: (a, b) => b === 0n ? 0n : a / b,
  natMod: (a, b) => b === 0n ? 0n : a % b,
  natLt: (a, b) => a < b,
  natLe: (a, b) => a <= b,
  natEq: (a, b) => a === b,
  strAppend: (a, b) => a + b,
  strLength: (s) => BigInt(s.length),
  ctor: (tag, ...fields) => ({ tag, fields }),
  proj: (obj, i) => obj.fields[i],
  panic: (msg) => { throw new Error(msg); },
};"#;
Expand description

The minimal OxiLean JavaScript runtime, prepended to every module.