@glimmer/syntax
Version:
34 lines (33 loc) • 5.44 kB
JavaScript
import { tuple } from '@glimmer/util'; // ensure stays in sync with typing
// ParentNode and ChildKey types are derived from VisitorKeysMap
const visitorKeys = {
Program: tuple('body'),
Template: tuple('body'),
Block: tuple('body'),
MustacheStatement: tuple('path', 'params', 'hash'),
BlockStatement: tuple('path', 'params', 'hash', 'program', 'inverse'),
ElementModifierStatement: tuple('path', 'params', 'hash'),
PartialStatement: tuple('name', 'params', 'hash'),
CommentStatement: tuple(),
MustacheCommentStatement: tuple(),
ElementNode: tuple('attributes', 'modifiers', 'children', 'comments'),
AttrNode: tuple('value'),
TextNode: tuple(),
ConcatStatement: tuple('parts'),
SubExpression: tuple('path', 'params', 'hash'),
PathExpression: tuple(),
PathHead: tuple(),
StringLiteral: tuple(),
BooleanLiteral: tuple(),
NumberLiteral: tuple(),
NullLiteral: tuple(),
UndefinedLiteral: tuple(),
Hash: tuple('pairs'),
HashPair: tuple('value'),
// v2 new nodes
NamedBlock: tuple('attributes', 'modifiers', 'children', 'comments'),
SimpleElement: tuple('attributes', 'modifiers', 'children', 'comments'),
Component: tuple('head', 'attributes', 'modifiers', 'children', 'comments')
};
export default visitorKeys;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvdjEvdmlzaXRvci1rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsS0FBVCxRQUFzQixlQUF0QixDLENBSUE7QUFDQTs7QUFDQSxNQUFNLFdBQVcsR0FBRztBQUNsQixFQUFBLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBRCxDQURJO0FBRWxCLEVBQUEsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFELENBRkc7QUFHbEIsRUFBQSxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQUQsQ0FITTtBQUtsQixFQUFBLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxNQUFELEVBQVMsUUFBVCxFQUFtQixNQUFuQixDQUxOO0FBTWxCLEVBQUEsY0FBYyxFQUFFLEtBQUssQ0FBQyxNQUFELEVBQVMsUUFBVCxFQUFtQixNQUFuQixFQUEyQixTQUEzQixFQUFzQyxTQUF0QyxDQU5IO0FBT2xCLEVBQUEsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLE1BQUQsRUFBUyxRQUFULEVBQW1CLE1BQW5CLENBUGI7QUFRbEIsRUFBQSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBRCxFQUFTLFFBQVQsRUFBbUIsTUFBbkIsQ0FSTDtBQVNsQixFQUFBLGdCQUFnQixFQUFFLEtBQUssRUFUTDtBQVVsQixFQUFBLHdCQUF3QixFQUFFLEtBQUssRUFWYjtBQVdsQixFQUFBLFdBQVcsRUFBRSxLQUFLLENBQUMsWUFBRCxFQUFlLFdBQWYsRUFBNEIsVUFBNUIsRUFBd0MsVUFBeEMsQ0FYQTtBQVlsQixFQUFBLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBRCxDQVpHO0FBYWxCLEVBQUEsUUFBUSxFQUFFLEtBQUssRUFiRztBQWVsQixFQUFBLGVBQWUsRUFBRSxLQUFLLENBQUMsT0FBRCxDQWZKO0FBZ0JsQixFQUFBLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBRCxFQUFTLFFBQVQsRUFBbUIsTUFBbkIsQ0FoQkY7QUFpQmxCLEVBQUEsY0FBYyxFQUFFLEtBQUssRUFqQkg7QUFrQmxCLEVBQUEsUUFBUSxFQUFFLEtBQUssRUFsQkc7QUFvQmxCLEVBQUEsYUFBYSxFQUFFLEtBQUssRUFwQkY7QUFxQmxCLEVBQUEsY0FBYyxFQUFFLEtBQUssRUFyQkg7QUFzQmxCLEVBQUEsYUFBYSxFQUFFLEtBQUssRUF0QkY7QUF1QmxCLEVBQUEsV0FBVyxFQUFFLEtBQUssRUF2QkE7QUF3QmxCLEVBQUEsZ0JBQWdCLEVBQUUsS0FBSyxFQXhCTDtBQTBCbEIsRUFBQSxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQUQsQ0ExQk87QUEyQmxCLEVBQUEsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFELENBM0JHO0FBNkJsQjtBQUNBLEVBQUEsVUFBVSxFQUFFLEtBQUssQ0FBQyxZQUFELEVBQWUsV0FBZixFQUE0QixVQUE1QixFQUF3QyxVQUF4QyxDQTlCQztBQStCbEIsRUFBQSxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQUQsRUFBZSxXQUFmLEVBQTRCLFVBQTVCLEVBQXdDLFVBQXhDLENBL0JGO0FBZ0NsQixFQUFBLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBRCxFQUFTLFlBQVQsRUFBdUIsV0FBdkIsRUFBb0MsVUFBcEMsRUFBZ0QsVUFBaEQ7QUFoQ0UsQ0FBcEI7QUF3Q0EsZUFBZSxXQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHVwbGUgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuaW1wb3J0ICogYXMgQVNUdjEgZnJvbSAnLi9hcGknO1xuXG4vLyBlbnN1cmUgc3RheXMgaW4gc3luYyB3aXRoIHR5cGluZ1xuLy8gUGFyZW50Tm9kZSBhbmQgQ2hpbGRLZXkgdHlwZXMgYXJlIGRlcml2ZWQgZnJvbSBWaXNpdG9yS2V5c01hcFxuY29uc3QgdmlzaXRvcktleXMgPSB7XG4gIFByb2dyYW06IHR1cGxlKCdib2R5JyksXG4gIFRlbXBsYXRlOiB0dXBsZSgnYm9keScpLFxuICBCbG9jazogdHVwbGUoJ2JvZHknKSxcblxuICBNdXN0YWNoZVN0YXRlbWVudDogdHVwbGUoJ3BhdGgnLCAncGFyYW1zJywgJ2hhc2gnKSxcbiAgQmxvY2tTdGF0ZW1lbnQ6IHR1cGxlKCdwYXRoJywgJ3BhcmFtcycsICdoYXNoJywgJ3Byb2dyYW0nLCAnaW52ZXJzZScpLFxuICBFbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnQ6IHR1cGxlKCdwYXRoJywgJ3BhcmFtcycsICdoYXNoJyksXG4gIFBhcnRpYWxTdGF0ZW1lbnQ6IHR1cGxlKCduYW1lJywgJ3BhcmFtcycsICdoYXNoJyksXG4gIENvbW1lbnRTdGF0ZW1lbnQ6IHR1cGxlKCksXG4gIE11c3RhY2hlQ29tbWVudFN0YXRlbWVudDogdHVwbGUoKSxcbiAgRWxlbWVudE5vZGU6IHR1cGxlKCdhdHRyaWJ1dGVzJywgJ21vZGlmaWVycycsICdjaGlsZHJlbicsICdjb21tZW50cycpLFxuICBBdHRyTm9kZTogdHVwbGUoJ3ZhbHVlJyksXG4gIFRleHROb2RlOiB0dXBsZSgpLFxuXG4gIENvbmNhdFN0YXRlbWVudDogdHVwbGUoJ3BhcnRzJyksXG4gIFN1YkV4cHJlc3Npb246IHR1cGxlKCdwYXRoJywgJ3BhcmFtcycsICdoYXNoJyksXG4gIFBhdGhFeHByZXNzaW9uOiB0dXBsZSgpLFxuICBQYXRoSGVhZDogdHVwbGUoKSxcblxuICBTdHJpbmdMaXRlcmFsOiB0dXBsZSgpLFxuICBCb29sZWFuTGl0ZXJhbDogdHVwbGUoKSxcbiAgTnVtYmVyTGl0ZXJhbDogdHVwbGUoKSxcbiAgTnVsbExpdGVyYWw6IHR1cGxlKCksXG4gIFVuZGVmaW5lZExpdGVyYWw6IHR1cGxlKCksXG5cbiAgSGFzaDogdHVwbGUoJ3BhaXJzJyksXG4gIEhhc2hQYWlyOiB0dXBsZSgndmFsdWUnKSxcblxuICAvLyB2MiBuZXcgbm9kZXNcbiAgTmFtZWRCbG9jazogdHVwbGUoJ2F0dHJpYnV0ZXMnLCAnbW9kaWZpZXJzJywgJ2NoaWxkcmVuJywgJ2NvbW1lbnRzJyksXG4gIFNpbXBsZUVsZW1lbnQ6IHR1cGxlKCdhdHRyaWJ1dGVzJywgJ21vZGlmaWVycycsICdjaGlsZHJlbicsICdjb21tZW50cycpLFxuICBDb21wb25lbnQ6IHR1cGxlKCdoZWFkJywgJ2F0dHJpYnV0ZXMnLCAnbW9kaWZpZXJzJywgJ2NoaWxkcmVuJywgJ2NvbW1lbnRzJyksXG59O1xuXG50eXBlIFZpc2l0b3JLZXlzTWFwID0gdHlwZW9mIHZpc2l0b3JLZXlzO1xuXG5leHBvcnQgdHlwZSBWaXNpdG9yS2V5cyA9IHsgW1AgaW4ga2V5b2YgVmlzaXRvcktleXNNYXBdOiBWaXNpdG9yS2V5c01hcFtQXVtudW1iZXJdIH07XG5leHBvcnQgdHlwZSBWaXNpdG9yS2V5PE4gZXh0ZW5kcyBBU1R2MS5Ob2RlPiA9IFZpc2l0b3JLZXlzW05bJ3R5cGUnXV0gJiBrZXlvZiBOO1xuXG5leHBvcnQgZGVmYXVsdCB2aXNpdG9yS2V5cztcbiJdLCJzb3VyY2VSb290IjoiIn0=