calcium-lang
Version:
Calcium language interpreter
26 lines • 704 B
JavaScript
import { retrieveValue } from "../util";
import { createInt } from "../factory";
/**
* built-in `int()` function
* @param args accept an argument that is a number or a string
* @param env
* @returns an integer value
*/
const int = (args, env) => {
const target = retrieveValue(args[0], env);
if (typeof target === "string") {
const num = parseInt(target);
return createInt(num);
}
else if (typeof target === "number") {
if (Number.isInteger(target))
return createInt(target);
else
return createInt(Math.floor(target));
}
else {
throw new TypeError();
}
};
export default int;
//# sourceMappingURL=int.js.map