import { markdownLineEnding } from "../micromark-util-character/index.js";
import { factorySpace } from "../micromark-factory-space/index.js";
function factoryTitle(n, r, i, a, o, s) {
	let c;
	return l;
	function l(e) {
		return e === 34 || e === 39 || e === 40 ? (n.enter(a), n.enter(o), n.consume(e), n.exit(o), c = e === 40 ? 41 : e, u) : i(e);
	}
	function u(e) {
		return e === c ? (n.enter(o), n.consume(e), n.exit(o), n.exit(a), r) : (n.enter(s), d(e));
	}
	function d(r) {
		return r === c ? (n.exit(s), u(c)) : r === null ? i(r) : markdownLineEnding(r) ? (n.enter("lineEnding"), n.consume(r), n.exit("lineEnding"), factorySpace(n, d, "linePrefix")) : (n.enter("chunkString", { contentType: "string" }), f(r));
	}
	function f(t) {
		return t === c || t === null || markdownLineEnding(t) ? (n.exit("chunkString"), d(t)) : (n.consume(t), t === 92 ? p : f);
	}
	function p(e) {
		return e === c || e === 92 ? (n.consume(e), f) : f(e);
	}
}
export { factoryTitle };
