"use strict"; exports.__esModule = true; exports.default = void 0; var _apgLite = require("../../../apg-lite.cjs"); var _grammar = _interopRequireDefault(require("../../../grammar.cjs")); var _utils = require("../../../utils.cjs"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const parser = new _apgLite.Parser(); const grammar = new _grammar.default(); const cookieValueLenientEncoder = cookieValue => { const value = String(cookieValue); // detect if the value is quoted const isQuoted = value.length >= 2 && value.startsWith('"') && value.endsWith('"'); // remove quotes if present for processing const valueToEncode = isQuoted ? value.slice(1, -1) : value; const startRule = isQuoted ? 'lenient-quoted-char' : 'lenient-cookie-octet'; let result = ''; for (const char of valueToEncode) { result += parser.parse(grammar, startRule, char).success ? char : (0, _utils.percentEncodeChar)(char); } return isQuoted ? `"${result}"` : result; }; var _default = exports.default = cookieValueLenientEncoder;