calcium-js
Version:
Calcium runtime on JavaScript
21 lines • 669 B
JavaScript
import { Address } from './address';
import { Behavior } from './behavior';
import { Namespace } from './namespace';
export class Environment {
constructor(params) {
this.context = new Namespace();
this.previousBehavior = Behavior.Stop;
this.address = new Address(1, 0);
this.code = params.code;
}
evaluate(value) {
if (value !== null && typeof value === 'object' && 'evaluate' in value) {
return value.evaluate(this);
}
if (Array.isArray(value)) {
return value.map((elem) => this.evaluate(elem));
}
return value;
}
}
//# sourceMappingURL=environment.js.map