UNPKG

@glimmer/compiler

Version:
49 lines (43 loc) 5.18 kB
import * as mir from '../../../2-encoding/mir'; import { convertPathToCallIfKeyword, VISIT_EXPRS } from '../expressions'; import { VISIT_STMTS } from '../statements'; export var ClassifiedComponent = /*#__PURE__*/function () { function ClassifiedComponent(tag, element) { this.tag = tag; this.element = element; this.dynamicFeatures = true; } var _proto = ClassifiedComponent.prototype; _proto.arg = function arg(attr, _ref) { var state = _ref.state; var name = attr.name; return VISIT_EXPRS.visit(convertPathToCallIfKeyword(attr.value), state).mapOk(function (value) { return new mir.NamedArgument({ loc: attr.loc, key: name, value: value }); }); }; _proto.toStatement = function toStatement(component, _ref2) { var _this = this; var args = _ref2.args, params = _ref2.params; var element = component.element, state = component.state; return this.blocks(state).mapOk(function (blocks) { return new mir.Component({ loc: element.loc, tag: _this.tag, params: params, args: args, blocks: blocks }); }); }; _proto.blocks = function blocks(state) { return VISIT_STMTS.NamedBlocks(this.element.blocks, state); }; return ClassifiedComponent; }(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL3Zpc2l0b3JzL2VsZW1lbnQvY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBUCxHQUFBLE1BQUEseUJBQUE7QUFFQSxTQUFBLDBCQUFBLEVBQUEsV0FBQSxRQUFBLGdCQUFBO0FBQ0EsU0FBQSxXQUFBLFFBQUEsZUFBQTtBQUdBLFdBQU0sbUJBQU47QUFHRSwrQkFBQSxHQUFBLEVBQUEsT0FBQSxFQUFtRjtBQUEvRCxTQUFBLEdBQUEsR0FBQSxHQUFBO0FBQWlDLFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFGNUMsU0FBQSxlQUFBLEdBQUEsSUFBQTtBQUU4RTs7QUFIekY7O0FBQUEsU0FLRSxHQUxGLEdBS0UsYUFBRyxJQUFILFFBQTBEO0FBQUEsUUFBMUIsS0FBMEIsUUFBMUIsS0FBMEI7QUFDeEQsUUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFmLElBQUE7QUFFQSxXQUFPLFdBQVcsQ0FBWCxLQUFBLENBQWtCLDBCQUEwQixDQUFDLElBQUksQ0FBakQsS0FBNEMsQ0FBNUMsRUFBQSxLQUFBLEVBQUEsS0FBQSxDQUNKLFVBQUEsS0FBRDtBQUFBLGFBQ0UsSUFBSSxHQUFHLENBQVAsYUFBQSxDQUFzQjtBQUNwQixRQUFBLEdBQUcsRUFBRSxJQUFJLENBRFcsR0FBQTtBQUVwQixRQUFBLEdBQUcsRUFGaUIsSUFBQTtBQUdwQixRQUFBLEtBQUEsRUFBQTtBQUhvQixPQUF0QixDQURGO0FBQUEsS0FESyxDQUFQO0FBUUQsR0FoQkg7O0FBQUEsU0FrQkUsV0FsQkYsR0FrQkUscUJBQVcsU0FBWCxTQUF3RTtBQUFBOztBQUFBLFFBQTlCLElBQThCLFNBQTlCLElBQThCO0FBQUEsUUFBdEIsTUFBc0IsU0FBdEIsTUFBc0I7QUFBQSxRQUNsRSxPQURrRSxHQUN0RSxTQURzRSxDQUNsRSxPQURrRTtBQUFBLFFBQ3ZELEtBRHVELEdBQ3RFLFNBRHNFLENBQ3ZELEtBRHVEO0FBR3RFLFdBQU8sS0FBQSxNQUFBLENBQUEsS0FBQSxFQUFBLEtBQUEsQ0FDSixVQUFBLE1BQUQ7QUFBQSxhQUNFLElBQUksR0FBRyxDQUFQLFNBQUEsQ0FBa0I7QUFDaEIsUUFBQSxHQUFHLEVBQUUsT0FBTyxDQURJLEdBQUE7QUFFaEIsUUFBQSxHQUFHLEVBQUUsS0FBQSxDQUZXLEdBQUE7QUFHaEIsUUFBQSxNQUhnQixFQUdoQixNQUhnQjtBQUloQixRQUFBLElBSmdCLEVBSWhCLElBSmdCO0FBS2hCLFFBQUEsTUFBQSxFQUFBO0FBTGdCLE9BQWxCLENBREY7QUFBQSxLQURLLENBQVA7QUFVRCxHQS9CSDs7QUFBQSxTQWlDVSxNQWpDVixHQWlDVSxnQkFBTSxLQUFOLEVBQWdDO0FBQ3RDLFdBQU8sV0FBVyxDQUFYLFdBQUEsQ0FBd0IsS0FBQSxPQUFBLENBQXhCLE1BQUEsRUFBUCxLQUFPLENBQVA7QUFDRCxHQW5DSDs7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVNUdjIgfSBmcm9tICdAZ2xpbW1lci9zeW50YXgnO1xuXG5pbXBvcnQgeyBSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcmVzdWx0JztcbmltcG9ydCAqIGFzIG1pciBmcm9tICcuLi8uLi8uLi8yLWVuY29kaW5nL21pcic7XG5pbXBvcnQgeyBOb3JtYWxpemF0aW9uU3RhdGUgfSBmcm9tICcuLi8uLi9jb250ZXh0JztcbmltcG9ydCB7IGNvbnZlcnRQYXRoVG9DYWxsSWZLZXl3b3JkLCBWSVNJVF9FWFBSUyB9IGZyb20gJy4uL2V4cHJlc3Npb25zJztcbmltcG9ydCB7IFZJU0lUX1NUTVRTIH0gZnJvbSAnLi4vc3RhdGVtZW50cyc7XG5pbXBvcnQgeyBDbGFzc2lmaWVkLCBDbGFzc2lmaWVkRWxlbWVudCwgUHJlcGFyZWRBcmdzIH0gZnJvbSAnLi9jbGFzc2lmaWVkJztcblxuZXhwb3J0IGNsYXNzIENsYXNzaWZpZWRDb21wb25lbnQgaW1wbGVtZW50cyBDbGFzc2lmaWVkIHtcbiAgcmVhZG9ubHkgZHluYW1pY0ZlYXR1cmVzID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRhZzogbWlyLkV4cHJlc3Npb25Ob2RlLCBwcml2YXRlIGVsZW1lbnQ6IEFTVHYyLkludm9rZUNvbXBvbmVudCkge31cblxuICBhcmcoYXR0cjogQVNUdjIuQ29tcG9uZW50QXJnLCB7IHN0YXRlIH06IENsYXNzaWZpZWRFbGVtZW50KTogUmVzdWx0PG1pci5OYW1lZEFyZ3VtZW50PiB7XG4gICAgbGV0IG5hbWUgPSBhdHRyLm5hbWU7XG5cbiAgICByZXR1cm4gVklTSVRfRVhQUlMudmlzaXQoY29udmVydFBhdGhUb0NhbGxJZktleXdvcmQoYXR0ci52YWx1ZSksIHN0YXRlKS5tYXBPayhcbiAgICAgICh2YWx1ZSkgPT5cbiAgICAgICAgbmV3IG1pci5OYW1lZEFyZ3VtZW50KHtcbiAgICAgICAgICBsb2M6IGF0dHIubG9jLFxuICAgICAgICAgIGtleTogbmFtZSxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdG9TdGF0ZW1lbnQoY29tcG9uZW50OiBDbGFzc2lmaWVkRWxlbWVudCwgeyBhcmdzLCBwYXJhbXMgfTogUHJlcGFyZWRBcmdzKTogUmVzdWx0PG1pci5TdGF0ZW1lbnQ+IHtcbiAgICBsZXQgeyBlbGVtZW50LCBzdGF0ZSB9ID0gY29tcG9uZW50O1xuXG4gICAgcmV0dXJuIHRoaXMuYmxvY2tzKHN0YXRlKS5tYXBPayhcbiAgICAgIChibG9ja3MpID0+XG4gICAgICAgIG5ldyBtaXIuQ29tcG9uZW50KHtcbiAgICAgICAgICBsb2M6IGVsZW1lbnQubG9jLFxuICAgICAgICAgIHRhZzogdGhpcy50YWcsXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgYmxvY2tzLFxuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJsb2NrcyhzdGF0ZTogTm9ybWFsaXphdGlvblN0YXRlKTogUmVzdWx0PG1pci5OYW1lZEJsb2Nrcz4ge1xuICAgIHJldHVybiBWSVNJVF9TVE1UUy5OYW1lZEJsb2Nrcyh0aGlzLmVsZW1lbnQuYmxvY2tzLCBzdGF0ZSk7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=