var _require = require("../../errors"), RuntimeError = _require.RuntimeError; var i32 = require("./values/i32"); var i64 = require("./values/i64"); var f32 = require("./values/f32"); var f64 = require("./values/f64"); export function castIntoStackLocalOfType(type, v) { var nan = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var inf = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var castFn = { i32: i32.createValueFromAST, i64: i64.createValueFromAST, f32: f32.createValueFromAST, f64: f64.createValueFromAST }; if (nan === true) { castFn.f32 = f32.createNanFromAST; castFn.f64 = f64.createNanFromAST; } if (inf === true) { castFn.f32 = f32.createInfFromAST; castFn.f64 = f64.createInfFromAST; } if (typeof castFn[type] === "undefined") { throw new RuntimeError("Cannot cast: unsupported type " + JSON.stringify(type)); } return castFn[type](v); }