@glimmer/compiler
Version:
39 lines (34 loc) • 4.8 kB
JavaScript
import { generateSyntaxError } from '@glimmer/syntax';
import { Err } from '../../../../shared/result';
import * as mir from '../../../2-encoding/mir';
import { VISIT_STMTS } from '../statements';
export var ClassifiedSimpleElement = /*#__PURE__*/function () {
function ClassifiedSimpleElement(tag, element, dynamicFeatures) {
this.tag = tag;
this.element = element;
this.dynamicFeatures = dynamicFeatures;
this.isComponent = false;
}
var _proto = ClassifiedSimpleElement.prototype;
_proto.arg = function arg(attr) {
return Err(generateSyntaxError(attr.name.chars + " is not a valid attribute name. @arguments are only allowed on components, but the tag for this element (`" + this.tag.chars + "`) is a regular, non-component HTML element.", attr.loc));
};
_proto.toStatement = function toStatement(classified, _ref) {
var _this = this;
var params = _ref.params;
var state = classified.state,
element = classified.element;
var body = VISIT_STMTS.visitList(this.element.body, state);
return body.mapOk(function (body) {
return new mir.SimpleElement({
loc: element.loc,
tag: _this.tag,
params: params,
body: body.toArray(),
dynamicFeatures: _this.dynamicFeatures
});
});
};
return ClassifiedSimpleElement;
}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL3Zpc2l0b3JzL2VsZW1lbnQvc2ltcGxlLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBQSxtQkFBQSxRQUFBLGlCQUFBO0FBRUEsU0FBQSxHQUFBLFFBQUEsMkJBQUE7QUFDQSxPQUFPLEtBQVAsR0FBQSxNQUFBLHlCQUFBO0FBQ0EsU0FBQSxXQUFBLFFBQUEsZUFBQTtBQUdBLFdBQU0sdUJBQU47QUFDRSxtQ0FBQSxHQUFBLEVBQUEsT0FBQSxFQUFBLGVBQUEsRUFHbUM7QUFGekIsU0FBQSxHQUFBLEdBQUEsR0FBQTtBQUNBLFNBQUEsT0FBQSxHQUFBLE9BQUE7QUFDQyxTQUFBLGVBQUEsR0FBQSxlQUFBO0FBR0YsU0FBQSxXQUFBLEdBQUEsS0FBQTtBQUZMOztBQUxOOztBQUFBLFNBU0UsR0FURixHQVNFLGFBQUcsSUFBSCxFQUE0QjtBQUMxQixXQUFPLEdBQUcsQ0FDUixtQkFBbUIsQ0FDZCxJQUFJLENBQUosSUFBQSxDQUFVLEtBREksa0hBQytHLEtBQUEsR0FBQSxDQUQvRyxLQUFBLG1EQUVqQixJQUFJLENBSFIsR0FDcUIsQ0FEWCxDQUFWO0FBTUQsR0FoQkg7O0FBQUEsU0FrQkUsV0FsQkYsR0FrQkUscUJBQVcsVUFBWCxRQUFtRTtBQUFBOztBQUFBLFFBQXRCLE1BQXNCLFFBQXRCLE1BQXNCO0FBQUEsUUFDN0QsS0FENkQsR0FDakUsVUFEaUUsQ0FDN0QsS0FENkQ7QUFBQSxRQUNwRCxPQURvRCxHQUNqRSxVQURpRSxDQUNwRCxPQURvRDtBQUdqRSxRQUFJLElBQUksR0FBRyxXQUFXLENBQVgsU0FBQSxDQUFzQixLQUFBLE9BQUEsQ0FBdEIsSUFBQSxFQUFYLEtBQVcsQ0FBWDtBQUVBLFdBQU8sSUFBSSxDQUFKLEtBQUEsQ0FDSixVQUFBLElBQUQ7QUFBQSxhQUNFLElBQUksR0FBRyxDQUFQLGFBQUEsQ0FBc0I7QUFDcEIsUUFBQSxHQUFHLEVBQUUsT0FBTyxDQURRLEdBQUE7QUFFcEIsUUFBQSxHQUFHLEVBQUUsS0FBQSxDQUZlLEdBQUE7QUFHcEIsUUFBQSxNQUhvQixFQUdwQixNQUhvQjtBQUlwQixRQUFBLElBQUksRUFBRSxJQUFJLENBSlUsT0FJZCxFQUpjO0FBS3BCLFFBQUEsZUFBZSxFQUFFLEtBQUEsQ0FBSztBQUxGLE9BQXRCLENBREY7QUFBQSxLQURLLENBQVA7QUFVRCxHQWpDSDs7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVNUdjIsIGdlbmVyYXRlU3ludGF4RXJyb3IsIFNvdXJjZVNsaWNlIH0gZnJvbSAnQGdsaW1tZXIvc3ludGF4JztcblxuaW1wb3J0IHsgRXJyLCBSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcmVzdWx0JztcbmltcG9ydCAqIGFzIG1pciBmcm9tICcuLi8uLi8uLi8yLWVuY29kaW5nL21pcic7XG5pbXBvcnQgeyBWSVNJVF9TVE1UUyB9IGZyb20gJy4uL3N0YXRlbWVudHMnO1xuaW1wb3J0IHsgQ2xhc3NpZmllZCwgQ2xhc3NpZmllZEVsZW1lbnQsIFByZXBhcmVkQXJncyB9IGZyb20gJy4vY2xhc3NpZmllZCc7XG5cbmV4cG9ydCBjbGFzcyBDbGFzc2lmaWVkU2ltcGxlRWxlbWVudCBpbXBsZW1lbnRzIENsYXNzaWZpZWQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRhZzogU291cmNlU2xpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBBU1R2Mi5TaW1wbGVFbGVtZW50LFxuICAgIHJlYWRvbmx5IGR5bmFtaWNGZWF0dXJlczogYm9vbGVhblxuICApIHt9XG5cbiAgcmVhZG9ubHkgaXNDb21wb25lbnQgPSBmYWxzZTtcblxuICBhcmcoYXR0cjogQVNUdjIuQ29tcG9uZW50QXJnKTogUmVzdWx0PG1pci5OYW1lZEFyZ3VtZW50PiB7XG4gICAgcmV0dXJuIEVycihcbiAgICAgIGdlbmVyYXRlU3ludGF4RXJyb3IoXG4gICAgICAgIGAke2F0dHIubmFtZS5jaGFyc30gaXMgbm90IGEgdmFsaWQgYXR0cmlidXRlIG5hbWUuIEBhcmd1bWVudHMgYXJlIG9ubHkgYWxsb3dlZCBvbiBjb21wb25lbnRzLCBidXQgdGhlIHRhZyBmb3IgdGhpcyBlbGVtZW50IChcXGAke3RoaXMudGFnLmNoYXJzfVxcYCkgaXMgYSByZWd1bGFyLCBub24tY29tcG9uZW50IEhUTUwgZWxlbWVudC5gLFxuICAgICAgICBhdHRyLmxvY1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICB0b1N0YXRlbWVudChjbGFzc2lmaWVkOiBDbGFzc2lmaWVkRWxlbWVudCwgeyBwYXJhbXMgfTogUHJlcGFyZWRBcmdzKTogUmVzdWx0PG1pci5TdGF0ZW1lbnQ+IHtcbiAgICBsZXQgeyBzdGF0ZSwgZWxlbWVudCB9ID0gY2xhc3NpZmllZDtcblxuICAgIGxldCBib2R5ID0gVklTSVRfU1RNVFMudmlzaXRMaXN0KHRoaXMuZWxlbWVudC5ib2R5LCBzdGF0ZSk7XG5cbiAgICByZXR1cm4gYm9keS5tYXBPayhcbiAgICAgIChib2R5KSA9PlxuICAgICAgICBuZXcgbWlyLlNpbXBsZUVsZW1lbnQoe1xuICAgICAgICAgIGxvYzogZWxlbWVudC5sb2MsXG4gICAgICAgICAgdGFnOiB0aGlzLnRhZyxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgYm9keTogYm9keS50b0FycmF5KCksXG4gICAgICAgICAgZHluYW1pY0ZlYXR1cmVzOiB0aGlzLmR5bmFtaWNGZWF0dXJlcyxcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9