import { markdownLineEnding, markdownSpace } from "../micromark-util-character/index.js";
function factoryLabel(n, r, i, a, o, s) {
	let c = this, l = 0, u;
	return d;
	function d(e) {
		return n.enter(a), n.enter(o), n.consume(e), n.exit(o), n.enter(s), f;
	}
	function f(t) {
		return l > 999 || t === null || t === 91 || t === 93 && !u || t === 94 && !l && "_hiddenFootnoteSupport" in c.parser.constructs ? i(t) : t === 93 ? (n.exit(s), n.enter(o), n.consume(t), n.exit(o), n.exit(a), r) : markdownLineEnding(t) ? (n.enter("lineEnding"), n.consume(t), n.exit("lineEnding"), f) : (n.enter("chunkString", { contentType: "string" }), p(t));
	}
	function p(r) {
		return r === null || r === 91 || r === 93 || markdownLineEnding(r) || l++ > 999 ? (n.exit("chunkString"), f(r)) : (n.consume(r), u ||= !markdownSpace(r), r === 92 ? m : p);
	}
	function m(e) {
		return e === 91 || e === 92 || e === 93 ? (n.consume(e), l++, p) : p(e);
	}
}
export { factoryLabel };
