import { augmentTokenTypes as e, tokenStructuredMatcher as t } from "./tokens.js";
import { Lexer as n } from "./lexer_public.js";
//#region ../../node_modules/chevrotain/lib/src/scan/tokens_public.js
function r(e) {
	return i(e) ? e.LABEL : e.name;
}
function i(e) {
	return typeof e.LABEL == "string" && e.LABEL !== "";
}
var a = "parent", o = "categories", s = "label", c = "group", l = "push_mode", u = "pop_mode", d = "longer_alt", f = "line_breaks", p = "start_chars_hint";
function m(e) {
	return h(e);
}
function h(t) {
	let n = t.pattern, r = {};
	if (r.name = t.name, n !== void 0 && (r.PATTERN = n), Object.hasOwn(t, a)) throw "The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";
	return Object.hasOwn(t, o) && (r.CATEGORIES = t[o]), e([r]), Object.hasOwn(t, s) && (r.LABEL = t[s]), Object.hasOwn(t, c) && (r.GROUP = t[c]), Object.hasOwn(t, u) && (r.POP_MODE = t[u]), Object.hasOwn(t, l) && (r.PUSH_MODE = t[l]), Object.hasOwn(t, d) && (r.LONGER_ALT = t[d]), Object.hasOwn(t, f) && (r.LINE_BREAKS = t[f]), Object.hasOwn(t, p) && (r.START_CHARS_HINT = t[p]), r;
}
var g = m({
	name: "EOF",
	pattern: n.NA
});
e([g]);
function _(e, t, n, r, i, a, o, s) {
	return {
		image: t,
		startOffset: n,
		endOffset: r,
		startLine: i,
		endLine: a,
		startColumn: o,
		endColumn: s,
		tokenTypeIdx: e.tokenTypeIdx,
		tokenType: e
	};
}
function v(e, n) {
	return t(e, n);
}
//#endregion
export { g as EOF, m as createToken, _ as createTokenInstance, i as hasTokenLabel, r as tokenLabel, v as tokenMatcher };
