hclang
Version:
Homoiconic C: Programming without a Language
24 lines • 1.7 kB
JavaScript
import { Frame } from '../frames/frame.js';
import { FrameCurry } from './frame-curry.js';
export class FrameOps extends Frame {
constructor(OpsDict) {
super();
this.OpsDict = OpsDict;
}
get(key, origin) {
const func = this.OpsDict[key];
if (func != null) {
return this.curry(func, origin, key);
}
// return FrameNote.key(key, origin);
return Frame.missing;
}
toString() {
return this.OpsDict.toString();
}
curry(func, origin, key) {
const expr = new FrameCurry(func, origin, key);
return expr;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29wcy9mcmFtZS1vcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sa0JBQWtCLENBQUE7QUFJN0QsTUFBTSxPQUFPLFFBQVMsU0FBUSxLQUFLO0lBQ2pDLFlBQXVCLE9BQWlCO1FBQ3RDLEtBQUssRUFBRSxDQUFBO1FBRGMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtJQUV4QyxDQUFDO0lBRU0sR0FBRyxDQUFFLEdBQVcsRUFBRSxNQUFhO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDOUIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1NBQ3JDO1FBQ0QscUNBQXFDO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUN0QixDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRVMsS0FBSyxDQUFFLElBQW9CLEVBQUUsTUFBYSxFQUFFLEdBQVc7UUFDL0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUM5QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiJ9