@glimmer/compiler
Version:
58 lines (42 loc) • 6.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ClassifiedSimpleElement = void 0;
var _syntax = require("@glimmer/syntax");
var _result = require("../../../../shared/result");
var mir = _interopRequireWildcard(require("../../../2-encoding/mir"));
var _statements = require("../statements");
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 (0, _result.Err)((0, _syntax.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 = _statements.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;
}();
exports.ClassifiedSimpleElement = ClassifiedSimpleElement;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL2NvbXBpbGVyL2xpYi9wYXNzZXMvMS1ub3JtYWxpemF0aW9uL3Zpc2l0b3JzL2VsZW1lbnQvc2ltcGxlLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7QUFHQSxJQUFNLHVCQUFOLEdBQUEsYUFBQSxZQUFBO0FBQ0UsV0FBQSx1QkFBQSxDQUFBLEdBQUEsRUFBQSxPQUFBLEVBQUEsZUFBQSxFQUdtQztBQUZ6QixTQUFBLEdBQUEsR0FBQSxHQUFBO0FBQ0EsU0FBQSxPQUFBLEdBQUEsT0FBQTtBQUNDLFNBQUEsZUFBQSxHQUFBLGVBQUE7QUFHRixTQUFBLFdBQUEsR0FBQSxLQUFBO0FBRkw7O0FBTE4sTUFBQSxNQUFBLEdBQUEsdUJBQUEsQ0FBQSxTQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLEdBQUEsR0FTRSxTQUFBLEdBQUEsQ0FBQSxJQUFBLEVBQTRCO0FBQzFCLFdBQU8saUJBQ0wsaUNBQ0ssSUFBSSxDQUFKLElBQUEsQ0FEYyxLQUNkLEdBRGMsNEdBQ2QsR0FBNkgsS0FBQSxHQUFBLENBRC9HLEtBQ2QsR0FEYyw4Q0FBbkIsRUFFRSxJQUFJLENBSFIsR0FDRSxDQURLLENBQVA7QUFWSixHQUFBOztBQUFBLEVBQUEsTUFBQSxDQUFBLFdBQUEsR0FrQkUsU0FBQSxXQUFBLENBQUEsVUFBQSxFQUFBLElBQUEsRUFBbUU7QUFBQSxRQUFBLEtBQUEsR0FBQSxJQUFBOztBQUFBLFFBQXRCLE1BQXNCLEdBQUEsSUFBQSxDQUF0QixNQUFzQjtBQUFBLFFBQzdELEtBRDZELEdBQ2pFLFVBRGlFLENBQUEsS0FBQTtBQUFBLFFBQ3BELE9BRG9ELEdBQ2pFLFVBRGlFLENBQUEsT0FBQTs7QUFHakUsUUFBSSxJQUFJLEdBQUcsd0JBQUEsU0FBQSxDQUFzQixLQUFBLE9BQUEsQ0FBdEIsSUFBQSxFQUFYLEtBQVcsQ0FBWDs7QUFFQSxXQUFPLElBQUksQ0FBSixLQUFBLENBQ0osVUFBRCxJQUFDLEVBQUQ7QUFBQSxhQUNFLElBQUksR0FBRyxDQUFQLGFBQUEsQ0FBc0I7QUFDcEIsUUFBQSxHQUFHLEVBQUUsT0FBTyxDQURRLEdBQUE7QUFFcEIsUUFBQSxHQUFHLEVBQUUsS0FBQSxDQUZlLEdBQUE7QUFHcEIsUUFBQSxNQUhvQixFQUFBLE1BQUE7QUFJcEIsUUFBQSxJQUFJLEVBQUUsSUFBSSxDQUpVLE9BSWQsRUFKYztBQUtwQixRQUFBLGVBQWUsRUFBRSxLQUFBLENBQUs7QUFMRixPQUF0QixDQURGO0FBREYsS0FBTyxDQUFQO0FBdkJKLEdBQUE7O0FBQUEsU0FBQSx1QkFBQTtBQUFBLENBQUEsRUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFTVHYyLCBnZW5lcmF0ZVN5bnRheEVycm9yLCBTb3VyY2VTbGljZSB9IGZyb20gJ0BnbGltbWVyL3N5bnRheCc7XG5cbmltcG9ydCB7IEVyciwgUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3Jlc3VsdCc7XG5pbXBvcnQgKiBhcyBtaXIgZnJvbSAnLi4vLi4vLi4vMi1lbmNvZGluZy9taXInO1xuaW1wb3J0IHsgVklTSVRfU1RNVFMgfSBmcm9tICcuLi9zdGF0ZW1lbnRzJztcbmltcG9ydCB7IENsYXNzaWZpZWQsIENsYXNzaWZpZWRFbGVtZW50LCBQcmVwYXJlZEFyZ3MgfSBmcm9tICcuL2NsYXNzaWZpZWQnO1xuXG5leHBvcnQgY2xhc3MgQ2xhc3NpZmllZFNpbXBsZUVsZW1lbnQgaW1wbGVtZW50cyBDbGFzc2lmaWVkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0YWc6IFNvdXJjZVNsaWNlLFxuICAgIHByaXZhdGUgZWxlbWVudDogQVNUdjIuU2ltcGxlRWxlbWVudCxcbiAgICByZWFkb25seSBkeW5hbWljRmVhdHVyZXM6IGJvb2xlYW5cbiAgKSB7fVxuXG4gIHJlYWRvbmx5IGlzQ29tcG9uZW50ID0gZmFsc2U7XG5cbiAgYXJnKGF0dHI6IEFTVHYyLkNvbXBvbmVudEFyZyk6IFJlc3VsdDxtaXIuTmFtZWRBcmd1bWVudD4ge1xuICAgIHJldHVybiBFcnIoXG4gICAgICBnZW5lcmF0ZVN5bnRheEVycm9yKFxuICAgICAgICBgJHthdHRyLm5hbWUuY2hhcnN9IGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBuYW1lLiBAYXJndW1lbnRzIGFyZSBvbmx5IGFsbG93ZWQgb24gY29tcG9uZW50cywgYnV0IHRoZSB0YWcgZm9yIHRoaXMgZWxlbWVudCAoXFxgJHt0aGlzLnRhZy5jaGFyc31cXGApIGlzIGEgcmVndWxhciwgbm9uLWNvbXBvbmVudCBIVE1MIGVsZW1lbnQuYCxcbiAgICAgICAgYXR0ci5sb2NcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdG9TdGF0ZW1lbnQoY2xhc3NpZmllZDogQ2xhc3NpZmllZEVsZW1lbnQsIHsgcGFyYW1zIH06IFByZXBhcmVkQXJncyk6IFJlc3VsdDxtaXIuU3RhdGVtZW50PiB7XG4gICAgbGV0IHsgc3RhdGUsIGVsZW1lbnQgfSA9IGNsYXNzaWZpZWQ7XG5cbiAgICBsZXQgYm9keSA9IFZJU0lUX1NUTVRTLnZpc2l0TGlzdCh0aGlzLmVsZW1lbnQuYm9keSwgc3RhdGUpO1xuXG4gICAgcmV0dXJuIGJvZHkubWFwT2soXG4gICAgICAoYm9keSkgPT5cbiAgICAgICAgbmV3IG1pci5TaW1wbGVFbGVtZW50KHtcbiAgICAgICAgICBsb2M6IGVsZW1lbnQubG9jLFxuICAgICAgICAgIHRhZzogdGhpcy50YWcsXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIGJvZHk6IGJvZHkudG9BcnJheSgpLFxuICAgICAgICAgIGR5bmFtaWNGZWF0dXJlczogdGhpcy5keW5hbWljRmVhdHVyZXMsXG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==