@glimmer/syntax
Version:
31 lines (27 loc) • 5.14 kB
JavaScript
import { assign } from '@glimmer/util';
export function node(name) {
if (name !== undefined) {
const type = name;
return {
fields() {
return class {
constructor(fields) {
this.type = type;
assign(this, fields);
}
};
}
};
} else {
return {
fields() {
return class {
constructor(fields) {
assign(this, fields);
}
};
}
};
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjItYS9vYmplY3RzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxNQUFULFFBQXVCLGVBQXZCO0FBNENBLE9BQU0sU0FBVSxJQUFWLENBQ0osSUFESSxFQUNJO0FBUVIsTUFBSSxJQUFJLEtBQUssU0FBYixFQUF3QjtBQUN0QixVQUFNLElBQUksR0FBRyxJQUFiO0FBQ0EsV0FBTztBQUNMLE1BQUEsTUFBTSxHQUFBO0FBQ0osZUFBTyxNQUFBO0FBS0wsVUFBQSxXQUFBLENBQVksTUFBWixFQUEyQztBQUN6QyxpQkFBSyxJQUFMLEdBQVksSUFBWjtBQUNBLFlBQUEsTUFBTSxDQUFDLElBQUQsRUFBTyxNQUFQLENBQU47QUFDRDs7QUFSSSxTQUFQO0FBVUQ7O0FBWkksS0FBUDtBQWNELEdBaEJELE1BZ0JPO0FBQ0wsV0FBTztBQUNMLE1BQUEsTUFBTSxHQUFBO0FBQ0osZUFBTyxNQUFBO0FBSUwsVUFBQSxXQUFBLENBQVksTUFBWixFQUEyQztBQUN6QyxZQUFBLE1BQU0sQ0FBQyxJQUFELEVBQU8sTUFBUCxDQUFOO0FBQ0Q7O0FBTkksU0FBUDtBQVFEOztBQVZJLEtBQVA7QUFZRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzaWduIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmltcG9ydCB7IFNvdXJjZVNwYW4gfSBmcm9tICcuLi8uLi9zb3VyY2Uvc3Bhbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZU5vZGVGaWVsZHMge1xuICBsb2M6IFNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogVGhpcyBpcyBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyBBU1R2MiBub2Rlcywgd2l0aCBhbiBvcHRpb25hbCBuYW1lIGFuZCB0aGUgbm9kZSdzXG4gKiBvcHRpb25zLlxuICpcbiAqIGBgYHRzXG4gKiBleHBvcnQgY2xhc3MgSHRtbFRleHQgZXh0ZW5kcyBub2RlKCdIdG1sVGV4dCcpLmZpZWxkczx7IGNoYXJzOiBzdHJpbmcgfT4oKSB7fVxuICogYGBgXG4gKlxuICogVGhpcyBjcmVhdGVzIGEgbmV3IEFTVHYyIG5vZGUgd2l0aCB0aGUgbmFtZSBgJ0h0bWxUZXh0J2AgYW5kIG9uZSBmaWVsZCBgY2hhcnM6IHN0cmluZ2AgKGluXG4gKiBhZGRpdGlvbiB0byBhIGBsb2M6IFNvdXJjZU9mZnNldHNgIGZpZWxkLCB3aGljaCBhbGwgbm9kZXMgaGF2ZSkuXG4gKlxuICogYGBgdHNcbiAqIGV4cG9ydCBjbGFzcyBBcmdzIGV4dGVuZHMgbm9kZSgpLmZpZWxkczx7XG4gKiAgcG9zaXRpb25hbDogUG9zaXRpb25hbEFyZ3VtZW50cztcbiAqICBuYW1lZDogTmFtZWRBcmd1bWVudHNcbiAqIH0+KCkge31cbiAqIGBgYFxuICpcbiAqIFRoaXMgY3JlYXRlcyBhIG5ldyB1bi1uYW1lZCBBU1R2MiBub2RlIHdpdGggdHdvIGZpZWxkcyAoYHBvc2l0aW9uYWw6IFBvc2l0aW9uYWxgIGFuZCBgbmFtZWQ6XG4gKiBOYW1lZGAsIGluIGFkZGl0aW9uIHRvIHRoZSBnZW5lcmljIGBsb2M6IFNvdXJjZU9mZnNldHNgIGZpZWxkKS5cbiAqXG4gKiBPbmNlIHlvdSBjcmVhdGUgYSBub2RlIHVzaW5nIGBub2RlYCwgaXQgaXMgaW5zdGFudGlhdGVkIHdpdGggYWxsIG9mIGl0cyBmaWVsZHMgKGluY2x1ZGluZyBgbG9jYCk6XG4gKlxuICogYGBgdHNcbiAqIG5ldyBIdG1sVGV4dCh7IGxvYzogb2Zmc2V0cywgY2hhcnM6IHNvbWVTdHJpbmcgfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vZGUoKToge1xuICBmaWVsZHM8RmllbGRzIGV4dGVuZHMgb2JqZWN0PigpOiBOb2RlQ29uc3RydWN0b3I8RmllbGRzICYgQmFzZU5vZGVGaWVsZHM+O1xufTtcbmV4cG9ydCBmdW5jdGlvbiBub2RlPFQgZXh0ZW5kcyBzdHJpbmc+KFxuICBuYW1lOiBUXG4pOiB7XG4gIGZpZWxkczxGaWVsZHMgZXh0ZW5kcyBvYmplY3Q+KCk6IFR5cGVkTm9kZUNvbnN0cnVjdG9yPFQsIEZpZWxkcyAmIEJhc2VOb2RlRmllbGRzPjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlPFQgZXh0ZW5kcyBzdHJpbmc+KFxuICBuYW1lPzogVFxuKTpcbiAgfCB7XG4gICAgICBmaWVsZHM8RmllbGRzIGV4dGVuZHMgb2JqZWN0PigpOiBUeXBlZE5vZGVDb25zdHJ1Y3RvcjxULCBGaWVsZHMgJiBCYXNlTm9kZUZpZWxkcz47XG4gICAgfVxuICB8IHtcbiAgICAgIGZpZWxkczxGaWVsZHMgZXh0ZW5kcyBvYmplY3Q+KCk6IE5vZGVDb25zdHJ1Y3RvcjxGaWVsZHMgJiBCYXNlTm9kZUZpZWxkcz47XG4gICAgfSB7XG4gIGlmIChuYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZTtcbiAgICByZXR1cm4ge1xuICAgICAgZmllbGRzPEZpZWxkcyBleHRlbmRzIG9iamVjdD4oKTogVHlwZWROb2RlQ29uc3RydWN0b3I8VCwgQmFzZU5vZGVGaWVsZHMgJiBGaWVsZHM+IHtcbiAgICAgICAgcmV0dXJuIGNsYXNzIHtcbiAgICAgICAgICAvLyBTQUZFVFk6IGluaXRpYWxpemVkIHZpYSBgYXNzaWduYCBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICAgICAgZGVjbGFyZSByZWFkb25seSBsb2M6IFNvdXJjZVNwYW47XG4gICAgICAgICAgcmVhZG9ubHkgdHlwZTogVDtcblxuICAgICAgICAgIGNvbnN0cnVjdG9yKGZpZWxkczogQmFzZU5vZGVGaWVsZHMgJiBGaWVsZHMpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgICAgICBhc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gYXMgVHlwZWROb2RlQ29uc3RydWN0b3I8VCwgQmFzZU5vZGVGaWVsZHMgJiBGaWVsZHM+O1xuICAgICAgfSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBmaWVsZHM8RmllbGRzPigpOiBOb2RlQ29uc3RydWN0b3I8RmllbGRzICYgQmFzZU5vZGVGaWVsZHM+IHtcbiAgICAgICAgcmV0dXJuIGNsYXNzIHtcbiAgICAgICAgICAvLyBTQUZFVFk6IGluaXRpYWxpemVkIHZpYSBgYXNzaWduYCBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAgICAgICAgZGVjbGFyZSByZWFkb25seSBsb2M6IFNvdXJjZVNwYW47XG5cbiAgICAgICAgICBjb25zdHJ1Y3RvcihmaWVsZHM6IEJhc2VOb2RlRmllbGRzICYgRmllbGRzKSB7XG4gICAgICAgICAgICBhc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gYXMgTm9kZUNvbnN0cnVjdG9yPEJhc2VOb2RlRmllbGRzICYgRmllbGRzPjtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVDb25zdHJ1Y3RvcjxGaWVsZHM+IHtcbiAgbmV3IChmaWVsZHM6IEZpZWxkcyk6IFJlYWRvbmx5PEZpZWxkcz47XG59XG5cbnR5cGUgVHlwZWROb2RlPFQgZXh0ZW5kcyBzdHJpbmcsIEZpZWxkcz4gPSB7IHR5cGU6IFQgfSAmIFJlYWRvbmx5PEZpZWxkcz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZWROb2RlQ29uc3RydWN0b3I8VCBleHRlbmRzIHN0cmluZywgRmllbGRzPiB7XG4gIG5ldyAob3B0aW9uczogRmllbGRzKTogVHlwZWROb2RlPFQsIEZpZWxkcz47XG59XG4iXSwic291cmNlUm9vdCI6IiJ9