ts-fusion-parser
Version:
Parser for Neos Fusion Files
117 lines (116 loc) • 3.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AnyCharacterToken = exports.WhitespaceToken = exports.ScriptEndToken = exports.EscapedCharacterToken = exports.CharacterToken = exports.WordToken = exports.CommentToken = exports.AttributeEelEndToken = exports.AttributeEelBeginToken = exports.AttributeStringValueToken = exports.AttributeValueAssignToken = exports.AttributeNameToken = exports.TagSelfCloseToken = exports.TagCloseToken = exports.TagEndToken = exports.TagBeginToken = void 0;
const Token_1 = require("../Token");
class TagBeginToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(<[a-zA-Z0-9.:-]+)/;
}
}
exports.TagBeginToken = TagBeginToken;
class TagEndToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(<\/[a-zA-Z0-9.:-]+>)/;
}
}
exports.TagEndToken = TagEndToken;
class TagCloseToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(>)/;
}
}
exports.TagCloseToken = TagCloseToken;
class TagSelfCloseToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(\/>)/;
}
}
exports.TagSelfCloseToken = TagSelfCloseToken;
class AttributeNameToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^((?:[a-zA-Z0-9@.:_-]+)|(?:'[a-zA-Z0-9@.:_-]+')|(?:"[a-zA-Z0-9@.:_-]+"))/;
}
}
exports.AttributeNameToken = AttributeNameToken;
class AttributeValueAssignToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(=)/;
}
}
exports.AttributeValueAssignToken = AttributeValueAssignToken;
class AttributeStringValueToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^((?:"[^"]*")|(?:'[^']*'))/;
}
}
exports.AttributeStringValueToken = AttributeStringValueToken;
class AttributeEelBeginToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^({)/;
}
}
exports.AttributeEelBeginToken = AttributeEelBeginToken;
class AttributeEelEndToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(})/;
}
}
exports.AttributeEelEndToken = AttributeEelEndToken;
class CommentToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(<!-- ?[\S\s]*? ?-->)/;
}
}
exports.CommentToken = CommentToken;
class WordToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(\w+)/;
}
}
exports.WordToken = WordToken;
class CharacterToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^([^<])/;
}
}
exports.CharacterToken = CharacterToken;
class EscapedCharacterToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(&\w+;)/;
}
}
exports.EscapedCharacterToken = EscapedCharacterToken;
class ScriptEndToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(<\/script>)/;
}
}
exports.ScriptEndToken = ScriptEndToken;
class WhitespaceToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^(\s+)/;
}
}
exports.WhitespaceToken = WhitespaceToken;
class AnyCharacterToken extends Token_1.Token {
constructor() {
super(...arguments);
this.regex = /^([\s\S])/;
}
}
exports.AnyCharacterToken = AnyCharacterToken;