diff --git a/dist/tokenize.cjs b/dist/tokenize.cjs index dace48c..439a1c6 100644 --- a/dist/tokenize.cjs +++ b/dist/tokenize.cjs @@ -5,6 +5,7 @@ * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt * @see https://unicode.org/charts/nameslist/n_0000.html */ /** */ + /** ␉ */ const CHARACTER_TABULATION = 0x0009; /** ␊ */ diff --git a/dist/tokenize.cjs.map b/dist/tokenize.cjs.map index 0745ead..1fa4a27 100644 --- a/dist/tokenize.cjs.map +++ b/dist/tokenize.cjs.map @@ -1 +1 @@ -{"version":3,"file":"tokenize.cjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.ts","../src/lib/consume.ts","../src/tokenize.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: state.codeAt0 === cp.PERCENT_SIGN\n\t\t? consumeAnyValue(state)\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","PERCENT_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tokenize.cjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.ts","../src/lib/consume.ts","../src/tokenize.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: state.codeAt0 === cp.PERCENT_SIGN\n\t\t? consumeAnyValue(state)\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","PERCENT_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tokenize.mjs b/dist/tokenize.mjs index b831d67..5a7a24a 100644 --- a/dist/tokenize.mjs +++ b/dist/tokenize.mjs @@ -3,6 +3,7 @@ * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt * @see https://unicode.org/charts/nameslist/n_0000.html */ /** */ + /** ␉ */ const CHARACTER_TABULATION = 0x0009; /** ␊ */ diff --git a/dist/tokenize.mjs.map b/dist/tokenize.mjs.map index 71a733f..b1881de 100644 --- a/dist/tokenize.mjs.map +++ b/dist/tokenize.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tokenize.mjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.ts","../src/lib/consume.ts","../src/tokenize.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: state.codeAt0 === cp.PERCENT_SIGN\n\t\t? consumeAnyValue(state)\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","PERCENT_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tokenize.mjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.ts","../src/lib/consume.ts","../src/tokenize.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: state.codeAt0 === cp.PERCENT_SIGN\n\t\t? consumeAnyValue(state)\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","PERCENT_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tokenizeSCSS.cjs b/dist/tokenizeSCSS.cjs index c2f4169..a6a84ec 100644 --- a/dist/tokenizeSCSS.cjs +++ b/dist/tokenizeSCSS.cjs @@ -5,6 +5,7 @@ * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt * @see https://unicode.org/charts/nameslist/n_0000.html */ /** */ + /** ␉ */ const CHARACTER_TABULATION = 0x0009; /** ␊ */ diff --git a/dist/tokenizeSCSS.cjs.map b/dist/tokenizeSCSS.cjs.map index 323195a..0bd4f44 100644 --- a/dist/tokenizeSCSS.cjs.map +++ b/dist/tokenizeSCSS.cjs.map @@ -1 +1 @@ -{"version":3,"file":"tokenizeSCSS.cjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.scss.ts","../src/lib/consume.scss.ts","../src/tokenize.scss.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n\n/** [``](https://sass-lang.com/documentation/variables) */\nexport const VARIABLE = 0x0010\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.scss.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* \n\t\t/* https://sass-lang.com/documentation/variables */\n\t\tcase state.codeAt0 === cp.DOLLAR_SIGN:\n\t\t\t// $W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// $\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.scss.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","DOLLAR_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","VARIABLE","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tokenizeSCSS.cjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.scss.ts","../src/lib/consume.scss.ts","../src/tokenize.scss.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n\n/** [``](https://sass-lang.com/documentation/variables) */\nexport const VARIABLE = 0x0010\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.scss.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* \n\t\t/* https://sass-lang.com/documentation/variables */\n\t\tcase state.codeAt0 === cp.DOLLAR_SIGN:\n\t\t\t// $W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// $\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.scss.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","DOLLAR_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","VARIABLE","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/dist/tokenizeSCSS.mjs b/dist/tokenizeSCSS.mjs index 00d6882..9b6be34 100644 --- a/dist/tokenizeSCSS.mjs +++ b/dist/tokenizeSCSS.mjs @@ -3,6 +3,7 @@ * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt * @see https://unicode.org/charts/nameslist/n_0000.html */ /** */ + /** ␉ */ const CHARACTER_TABULATION = 0x0009; /** ␊ */ diff --git a/dist/tokenizeSCSS.mjs.map b/dist/tokenizeSCSS.mjs.map index bda8f55..9297057 100644 --- a/dist/tokenizeSCSS.mjs.map +++ b/dist/tokenizeSCSS.mjs.map @@ -1 +1 @@ -{"version":3,"file":"tokenizeSCSS.mjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.scss.ts","../src/lib/consume.scss.ts","../src/tokenize.scss.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n\n/** [``](https://sass-lang.com/documentation/variables) */\nexport const VARIABLE = 0x0010\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.scss.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* \n\t\t/* https://sass-lang.com/documentation/variables */\n\t\tcase state.codeAt0 === cp.DOLLAR_SIGN:\n\t\t\t// $W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// $\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.scss.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","DOLLAR_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","VARIABLE","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tokenizeSCSS.mjs","sources":["../src/lib/code-points.ts","../src/lib/is.ts","../src/lib/token-types.scss.ts","../src/lib/consume.scss.ts","../src/tokenize.scss.ts"],"sourcesContent":["/**\n * Unicode Character Codes (0x0000 - 0x0080)\n * @see https://www.unicode.org/Public/UCD/latest/ucd/NamesList.txt\n * @see https://unicode.org/charts/nameslist/n_0000.html\n *//** */\n\n/**\n * C0 controls\n * ===================================================================== *//***/\n\n/** ␀ */ export const NULL = 0x0000\n/** ␁ */ export const START_OF_HEADING = 0x0001\n/** ␂ */ export const START_OF_TEXT = 0x0002\n/** ␃ */ export const END_OF_TEXT = 0x0003\n/** ␄ */ export const END_OF_TRANSMISSION = 0x0004\n/** ␅ */ export const ENQUIRY = 0x0005\n/** ␆ */ export const ACKNOWLEDGE = 0x0006\n/** ␇ */ export const BELL = 0x0007\n/** ␈ */ export const BACKSPACE = 0x0008\n/** ␉ */ export const CHARACTER_TABULATION = 0x0009\n/** ␊ */ export const LINE_FEED = 0x000A\n/** ␋ */ export const LINE_TABULATION = 0x000B\n/** ␌ */ export const FORM_FEED = 0x000C\n/** ␍ */ export const CARRIAGE_RETURN = 0x000D\n/** ␎ */ export const SHIFT_OUT = 0x000E\n/** ␏ */ export const SHIFT_IN = 0x000F\n/** ␐ */ export const DATA_LINK_ESCAPE = 0x0010\n/** ␑ */ export const DEVICE_CONTROL_ONE = 0x0011\n/** ␒ */ export const DEVICE_CONTROL_TWO = 0x0012\n/** ␓ */ export const DEVICE_CONTROL_THREE = 0x0013\n/** ␔ */ export const DEVICE_CONTROL_FOUR = 0x0014\n/** ␕ */ export const NEGATIVE_ACKNOWLEDGE = 0x0015\n/** ␖ */ export const SYNCHRONOUS_IDLE = 0x0016\n/** ␗ */ export const END_OF_TRANSMISSION_BLOCK = 0x0017\n/** ␘ */ export const CANCEL = 0x0018\n/** ␙ */ export const END_OF_MEDIUM = 0x0019\n/** ␚ */ export const SUBSTITUTE = 0x001A\n/** ␛ */ export const ESCAPE = 0x001B\n/** ␜ */ export const INFORMATION_SEPARATOR_FOUR = 0x001C\n/** ␝ */ export const INFORMATION_SEPARATOR_THREE = 0x001D\n/** ␞ */ export const INFORMATION_SEPARATOR_TWO = 0x001E\n/** ␟ */ export const INFORMATION_SEPARATOR_ONE = 0x001F\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** ␠ */ export const SPACE = 0x0020\n/** ! */ export const EXCLAMATION_MARK = 0x0021\n/** \" */ export const QUOTATION_MARK = 0x0022\n/** # */ export const NUMBER_SIGN = 0x0023\n/** $ */ export const DOLLAR_SIGN = 0x0024\n/** % */ export const PERCENT_SIGN = 0x0025\n/** & */ export const AMPERSAND = 0x0026\n/** ' */ export const APOSTROPHE = 0x0027\n/** ( */ export const LEFT_PARENTHESIS = 0x0028\n/** ) */ export const RIGHT_PARENTHESIS = 0x0029\n/** * */ export const ASTERISK = 0x002A\n/** + */ export const PLUS_SIGN = 0x002B\n/** , */ export const COMMA = 0x002C\n/** - */ export const HYPHEN_MINUS = 0x002D\n/** . */ export const FULL_STOP = 0x002E\n/** / */ export const SOLIDUS = 0x002F\n\n/*\n * ASCII digits\n * ========================================================================== */\n\n/** 0 */ export const DIGIT_ZERO = 0x0030\n/** 1 */ export const DIGIT_ONE = 0x0031\n/** 2 */ export const DIGIT_TWO = 0x0032\n/** 3 */ export const DIGIT_THREE = 0x0033\n/** 4 */ export const DIGIT_FOUR = 0x0034\n/** 5 */ export const DIGIT_FIVE = 0x0035\n/** 6 */ export const DIGIT_SIX = 0x0036\n/** 7 */ export const DIGIT_SEVEN = 0x0037\n/** 8 */ export const DIGIT_EIGHT = 0x0038\n/** 9 */ export const DIGIT_NINE = 0x0039\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** : */ export const COLON = 0x003A\n/** ; */ export const SEMICOLON = 0x003B\n/** < */ export const LESS_THAN_SIGN = 0x003C\n/** = */ export const EQUALS_SIGN = 0x003D\n/** > */ export const GREATER_THAN_SIGN = 0x003E\n/** ? */ export const QUESTION_MARK = 0x003F\n/** @ */ export const COMMERCIAL_AT = 0x0040\n\n/**\n * Uppercase Latin alphabet\n * ===================================================================== *//***/\n\n/** A */ export const LATIN_CAPITAL_LETTER_A = 0x0041\n/** B */ export const LATIN_CAPITAL_LETTER_B = 0x0042\n/** C */ export const LATIN_CAPITAL_LETTER_C = 0x0043\n/** D */ export const LATIN_CAPITAL_LETTER_D = 0x0044\n/** E */ export const LATIN_CAPITAL_LETTER_E = 0x0045\n/** F */ export const LATIN_CAPITAL_LETTER_F = 0x0046\n/** G */ export const LATIN_CAPITAL_LETTER_G = 0x0047\n/** H */ export const LATIN_CAPITAL_LETTER_H = 0x0048\n/** I */ export const LATIN_CAPITAL_LETTER_I = 0x0049\n/** J */ export const LATIN_CAPITAL_LETTER_J = 0x004A\n/** K */ export const LATIN_CAPITAL_LETTER_K = 0x004B\n/** L */ export const LATIN_CAPITAL_LETTER_L = 0x004C\n/** M */ export const LATIN_CAPITAL_LETTER_M = 0x004D\n/** N */ export const LATIN_CAPITAL_LETTER_N = 0x004E\n/** O */ export const LATIN_CAPITAL_LETTER_O = 0x004F\n/** P */ export const LATIN_CAPITAL_LETTER_P = 0x0050\n/** Q */ export const LATIN_CAPITAL_LETTER_Q = 0x0051\n/** R */ export const LATIN_CAPITAL_LETTER_R = 0x0052\n/** S */ export const LATIN_CAPITAL_LETTER_S = 0x0053\n/** T */ export const LATIN_CAPITAL_LETTER_T = 0x0054\n/** U */ export const LATIN_CAPITAL_LETTER_U = 0x0055\n/** V */ export const LATIN_CAPITAL_LETTER_V = 0x0056\n/** W */ export const LATIN_CAPITAL_LETTER_W = 0x0057\n/** X */ export const LATIN_CAPITAL_LETTER_X = 0x0058\n/** Y */ export const LATIN_CAPITAL_LETTER_Y = 0x0059\n/** Z */ export const LATIN_CAPITAL_LETTER_Z = 0x005A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** [ */ export const LEFT_SQUARE_BRACKET = 0x005B\n/** \\ */ export const REVERSE_SOLIDUS = 0x005C\n/** ] */ export const RIGHT_SQUARE_BRACKET = 0x005D\n/** ^ */ export const CIRCUMFLEX_ACCENT = 0x005E\n/** _ */ export const LOW_LINE = 0x005F\n/** ` */ export const GRAVE_ACCENT = 0x0060\n\n/*\n * Lowercase Latin alphabet\n * ========================================================================== */\n\n/** a */ export const LATIN_SMALL_LETTER_A = 0x0061\n/** b */ export const LATIN_SMALL_LETTER_B = 0x0062\n/** c */ export const LATIN_SMALL_LETTER_C = 0x0063\n/** d */ export const LATIN_SMALL_LETTER_D = 0x0064\n/** e */ export const LATIN_SMALL_LETTER_E = 0x0065\n/** f */ export const LATIN_SMALL_LETTER_F = 0x0066\n/** g */ export const LATIN_SMALL_LETTER_G = 0x0067\n/** h */ export const LATIN_SMALL_LETTER_H = 0x0068\n/** i */ export const LATIN_SMALL_LETTER_I = 0x0069\n/** j */ export const LATIN_SMALL_LETTER_J = 0x006A\n/** k */ export const LATIN_SMALL_LETTER_K = 0x006B\n/** l */ export const LATIN_SMALL_LETTER_L = 0x006C\n/** m */ export const LATIN_SMALL_LETTER_M = 0x006D\n/** n */ export const LATIN_SMALL_LETTER_N = 0x006E\n/** o */ export const LATIN_SMALL_LETTER_O = 0x006F\n/** p */ export const LATIN_SMALL_LETTER_P = 0x0070\n/** q */ export const LATIN_SMALL_LETTER_Q = 0x0071\n/** r */ export const LATIN_SMALL_LETTER_R = 0x0072\n/** s */ export const LATIN_SMALL_LETTER_S = 0x0073\n/** t */ export const LATIN_SMALL_LETTER_T = 0x0074\n/** u */ export const LATIN_SMALL_LETTER_U = 0x0075\n/** v */ export const LATIN_SMALL_LETTER_V = 0x0076\n/** w */ export const LATIN_SMALL_LETTER_W = 0x0077\n/** x */ export const LATIN_SMALL_LETTER_X = 0x0078\n/** y */ export const LATIN_SMALL_LETTER_Y = 0x0079\n/** z */ export const LATIN_SMALL_LETTER_Z = 0x007A\n\n/**\n * ASCII punctuation and symbols\n * ===================================================================== *//***/\n\n/** { */ export const LEFT_CURLY_BRACKET = 0x007B\n/** | */ export const VERTICAL_LINE = 0x007C\n/** } */ export const RIGHT_CURLY_BRACKET = 0x007D\n/** ~ */ export const TILDE = 0x007E\n\n/**\n * Control character\n * ===================================================================== *//***/\n\n/** ␡ */ export const DELETE = 0x007F\n\n/**\n * Non-ASCII\n * ===================================================================== *//***/\n\n/** � */ export const NON_ASCII = 0x0080\n\n/**\n * EOF\n * ===================================================================== *//***/\n\n/** ⏏ */ export const EOF = -0x0001\n","import * as cp from './code-points.js'\n\n/** Returns whether the unicode value is a digit. [↗](https://drafts.csswg.org/css-syntax/#digit) */\nexport const digit = (code: number) => code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE\n\n/** Returns whether the unicode value is an identifier. [↗](https://drafts.csswg.org/css-syntax/#identifier-code-point) */\nexport const identifier = (code: number) => (\n\tidentifierStart(code) ||\n\t(code >= cp.DIGIT_ZERO && code <= cp.DIGIT_NINE) ||\n\t(code === cp.HYPHEN_MINUS)\n)\n\n/** Returns whether the unicode value is an identifier-start. [↗](https://drafts.csswg.org/css-syntax/#identifier-start-code-point) */\nexport const identifierStart = (code: number) => (\n\t(code === cp.LOW_LINE) ||\n\t(code >= cp.NON_ASCII) ||\n\t(code >= cp.LATIN_CAPITAL_LETTER_A && code <= cp.LATIN_CAPITAL_LETTER_Z) ||\n\t(code >= cp.LATIN_SMALL_LETTER_A && code <= cp.LATIN_SMALL_LETTER_Z)\n)\n\n/** Returns whether the unicode value is a space. [↗](https://drafts.csswg.org/css-syntax/#whitespace) */\nexport const space = (code: number) => (\n\tcode === cp.CHARACTER_TABULATION\n\t|| code === cp.LINE_FEED\n\t|| code === cp.FORM_FEED\n\t|| code === cp.CARRIAGE_RETURN\n\t|| code === cp.SPACE\n)\n\n/** Returns whether the unicode values are a valid escape. [↗](https://drafts.csswg.org/css-syntax/#starts-with-a-valid-escape) */\nexport const validEscape = (code1of2: number, code2of2: number) => (\n\tcode1of2 === cp.REVERSE_SOLIDUS\n\t&& !space(code2of2)\n)\n","/** [``](https://drafts.csswg.org/css-syntax/#typedef-delim-token) */\nexport const SYMBOL = 0x0001\n\n/** [``](https://drafts.csswg.org/css-syntax/#comment-diagram) */\nexport const COMMENT = 0x0002\n\n/** [``](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nexport const SPACE = 0x0003\n\n/** [``](https://drafts.csswg.org/css-syntax/#ident-token-diagram) */\nexport const WORD = 0x0004\n\n/** [``](https://drafts.csswg.org/css-syntax/#function-token-diagram) */\nexport const FUNCTION = 0x0005\n\n/** [``](https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram) */\nexport const ATWORD = 0x0006\n\n/** [``](https://drafts.csswg.org/css-syntax/#hash-token-diagram) */\nexport const HASH = 0x0007\n\n/** [``](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nexport const STRING = 0x0008\n\n/** [``](https://drafts.csswg.org/css-syntax/#consume-numeric-token) */\nexport const NUMBER = 0x0009\n\n/** [``](https://sass-lang.com/documentation/variables) */\nexport const VARIABLE = 0x0010\n","import { CSSState, CSSToken } from '../types/global/global.js'\n\nimport * as cp from './code-points.js'\nimport * as is from './is.js'\nimport * as tt from './token-types.scss.js'\n\nconst { fromCharCode } = String\n\n/** Consumes and returns a token. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nexport const consume = (\n\t/** Condition of the current tokenizer. */\n\tstate: CSSState\n) => {\n\tswitch (true) {\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#consume-comment */\n\t\tcase state.codeAt0 === cp.SOLIDUS:\n\t\t\tif (state.codeAt1 === cp.ASTERISK) return consumeCommentToken(state)\n\t\t\tbreak\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#whitespace-token-diagram */\n\t\tcase is.space(state.codeAt0):\n\t\t\treturn consumeSpaceToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#string-token-diagram */\n\t\tcase state.codeAt0 === cp.QUOTATION_MARK:\n\t\tcase state.codeAt0 === cp.APOSTROPHE:\n\t\t\t// \"\" || ''\n\t\t\treturn consumeStringToken(state)\n\t\t/* \n\t\t/* https://drafts.csswg.org/css-syntax/#hash-token-diagram */\n\t\tcase state.codeAt0 === cp.NUMBER_SIGN:\n\t\t\t// #W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// #\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.HASH,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* \n\t\t/* https://sass-lang.com/documentation/variables */\n\t\tcase state.codeAt0 === cp.DOLLAR_SIGN:\n\t\t\t// $W\n\t\t\tif (is.identifier(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// $\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.VARIABLE,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#ident-token-diagram */\n\t\tcase state.codeAt0 === cp.REVERSE_SOLIDUS:\n\t\t\tif (is.validEscape(state.codeAt0, state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\tbreak\n\t\tcase is.identifierStart(state.codeAt0):\n\t\t\t// W\n\t\t\treturn consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\tcase state.codeAt0 === cp.HYPHEN_MINUS:\n\t\t\t// -W\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS || is.identifierStart(state.codeAt1)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t\t// -\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return consumeIdentifierLikeToken(state, {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.WORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t})\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#number-token-diagram */\n\t\t\t// -8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// -.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\tcase state.codeAt0 === cp.FULL_STOP:\n\t\t\t// .8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase state.codeAt0 === cp.PLUS_SIGN:\n\t\t\t// +8\n\t\t\tif (is.digit(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\t// +.8\n\t\t\tif (state.codeAt1 === cp.FULL_STOP && is.digit(state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeNumberSansDecimalValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t\tcase is.digit(state.codeAt0):\n\t\t\t// 8\n\t\t\treturn {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.NUMBER,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: '',\n\t\t\t\tdata: consumeAnyValue(state) + consumeNumberSansAdditiveValue(state),\n\t\t\t\ttail: consumeNumericUnitValue(state),\n\t\t\t} as CSSToken\n\t\t/* */\n\t\t/* https://drafts.csswg.org/css-syntax/#at-keyword-token-diagram */\n\t\tcase state.codeAt0 === cp.COMMERCIAL_AT:\n\t\t\tif (state.codeAt1 === cp.HYPHEN_MINUS) {\n\t\t\t\t// @--\n\t\t\t\tif (state.codeAt2 === cp.HYPHEN_MINUS) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-W\n\t\t\t\tif (is.identifierStart(state.codeAt2)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t\t// @-\\:\n\t\t\t\tif (is.validEscape(state.codeAt2, state.codeAt3)) return {\n\t\t\t\t\ttick: state.tick,\n\t\t\t\t\ttype: tt.ATWORD,\n\t\t\t\t\tcode: -1,\n\t\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\t\ttail: '',\n\t\t\t\t} as CSSToken\n\t\t\t}\n\t\t\t// @W\n\t\t\tif (is.identifierStart(state.codeAt1)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\t// @\\:\n\t\t\tif (is.validEscape(state.codeAt1, state.codeAt2)) return {\n\t\t\t\ttick: state.tick,\n\t\t\t\ttype: tt.ATWORD,\n\t\t\t\tcode: -1,\n\t\t\t\tlead: consumeAnyValue(state),\n\t\t\t\tdata: consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state),\n\t\t\t\ttail: '',\n\t\t\t} as CSSToken\n\t\t\tbreak\n\t}\n\t/* */\n\t/* https://drafts.csswg.org/css-syntax/#typedef-delim-token */\n\treturn {\n\t\ttick: state.tick,\n\t\ttype: tt.SYMBOL,\n\t\tcode: state.codeAt0,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t} as CSSToken\n}\n\n/** Consume and return a value. [↗](https://drafts.csswg.org/css-syntax/#consume-token) */\nconst consumeAnyValue = (state: CSSState) => {\n\tconst result = fromCharCode(state.codeAt0)\n\tstate.next()\n\treturn result\n}\n\n/** Consume and return an identifier value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (true) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\tcase is.identifier(state.codeAt0):\n\t\t\t\tresult += fromCharCode(state.codeAt0)\n\t\t\t\tstate.next()\n\t\t\t\tcontinue\n\t\t}\n\t\tbreak\n\t}\n\treturn result\n}\n\n/** Consume and return an identifier or function token. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeIdentifierLikeToken = (state: CSSState, token: CSSToken) => {\n\tif (state.codeAt0 === cp.LEFT_PARENTHESIS) {\n\t\ttoken.code = 40\n\t\ttoken.type = tt.FUNCTION\n\t\ttoken.lead = token.data\n\t\ttoken.data = '('\n\t\tstate.next()\n\t}\n\treturn token\n}\n\n/** Consume and return a comment token. [↗](https://drafts.csswg.org/css-syntax/#consume-comment) */\nconst consumeCommentToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.COMMENT,\n\t\tcode: -1,\n\t\tlead: '/*',\n\t\tdata: '',\n\t\ttail: '',\n\t}\n\tstate.next()\n\tstate.next()\n\twhile (state.tick < state.size) {\n\t\t// @ts-ignore\n\t\tif (state.codeAt0 === cp.ASTERISK && state.codeAt1 === cp.SOLIDUS) {\n\t\t\ttoken.tail = '*/'\n\t\t\tstate.next()\n\t\t\tstate.next()\n\t\t\tbreak\n\t\t}\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a space token. [↗](https://drafts.csswg.org/css-syntax/#whitespace-token-diagram) */\nconst consumeSpaceToken = (state: CSSState) => {\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.SPACE,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tif (!is.space(state.codeAt0)) break\n\t\ttoken.data += consumeAnyValue(state)\n\t}\n\treturn token\n}\n\n/** Consumes and returns a string token. [↗](https://drafts.csswg.org/css-syntax/#string-token-diagram) */\nconst consumeStringToken = (state: CSSState) => {\n\tconst { codeAt0 } = state\n\tconst token: CSSToken = {\n\t\ttick: state.tick,\n\t\ttype: tt.STRING,\n\t\tcode: -1,\n\t\tlead: '',\n\t\tdata: consumeAnyValue(state),\n\t\ttail: '',\n\t}\n\twhile (state.tick < state.size) {\n\t\tswitch (true) {\n\t\t\tcase is.validEscape(state.codeAt0, state.codeAt1):\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\tdefault:\n\t\t\t\ttoken.data += consumeAnyValue(state)\n\t\t\t\tcontinue\n\t\t\tcase state.codeAt0 === codeAt0:\n\t\t\t\ttoken.tail = consumeAnyValue(state)\n\t\t}\n\t\tbreak\n\t}\n\treturn token\n}\n\n/** Consumes and returns a number value after an additive symbol. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nexport const consumeNumberSansAdditiveValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.FULL_STOP && is.digit(state.codeAt1)) result += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\treturn result + consumeNumberSansDecimalValue(state)\n}\n\n/** Consumes and returns a number value after a decimal place. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeNumberSansDecimalValue = (state: CSSState) => {\n\tlet result = ''\n\tresult += consumeDigitValue(state)\n\tif (state.codeAt0 === cp.LATIN_CAPITAL_LETTER_E || state.codeAt0 === cp.LATIN_SMALL_LETTER_E) {\n\t\tswitch (true) {\n\t\t\tcase (state.codeAt1 === cp.PLUS_SIGN || state.codeAt1 === cp.HYPHEN_MINUS):\n\t\t\t\tif (!is.digit(state.codeAt2)) break\n\t\t\t\tresult += consumeAnyValue(state)\n\t\t\tcase is.digit(state.codeAt1):\n\t\t\t\tresult += consumeAnyValue(state) + consumeAnyValue(state) + consumeDigitValue(state)\n\t\t}\n\t}\n\treturn result\n}\n\n/** Consumes and returns a digit value. [↗](https://drafts.csswg.org/css-syntax/#consume-a-number) */\nconst consumeDigitValue = (state: CSSState) => {\n\tlet result = ''\n\twhile (state.tick < state.size) {\n\t\tif (!is.digit(state.codeAt0)) break\n\t\tresult += consumeAnyValue(state)\n\t}\n\treturn result\n}\n\n/** Consumes and returns a numeric unit value. [↗](https://drafts.csswg.org/css-syntax/#consume-an-identifier) */\nconst consumeNumericUnitValue = (state: CSSState) => (\n\tstate.codeAt0 === cp.HYPHEN_MINUS\n\t\t? state.codeAt1 === cp.HYPHEN_MINUS\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.identifierStart(state.codeAt1)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: is.validEscape(state.codeAt1, state.codeAt2)\n\t\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t\t: ''\n\t: is.identifierStart(state.codeAt0)\n\t\t? consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: is.validEscape(state.codeAt0, state.codeAt1)\n\t\t? consumeAnyValue(state) + consumeAnyValue(state) + consumeIdentifierValue(state)\n\t: ''\n)\n","import { CSSState, CSSIterator, CSSIteration } from './types/global/global.js'\nimport { consume } from './lib/consume.scss.js'\n\n/** Returns a CSS iterator to yield tokens from the given CSS data. */\nexport const tokenize = (/** CSS data. */ data: string) => {\n\tlet size = data.length\n\tlet tick = 0\n\n\t/** Condition of the current tokenizer. */\n\tlet state: CSSState = {\n\t\tdata,\n\t\tsize,\n\t\ttick,\n\t\tcodeAt0: tick + 0 < size ? data.charCodeAt(tick + 0) : -1,\n\t\tcodeAt1: tick + 1 < size ? data.charCodeAt(tick + 1) : -1,\n\t\tcodeAt2: tick + 2 < size ? data.charCodeAt(tick + 2) : -1,\n\t\tcodeAt3: tick + 3 < size ? data.charCodeAt(tick + 3) : -1,\n\t\t/** Advances the unicode characters being read from the CSS data by one position. */\n\t\tnext() {\n\t\t\tstate.tick = ++tick\n\t\t\tstate.codeAt0 = state.codeAt1\n\t\t\tstate.codeAt1 = state.codeAt2\n\t\t\tstate.codeAt2 = state.codeAt3\n\t\t\tstate.codeAt3 = tick + 3 < size ? data.charCodeAt(tick + 3) : -1\n\t\t\treturn tick >= size\n\t\t}\n\t}\n\n\t/** Returns the most recent state and token yielded from the CSS iterator. */\n\tconst iterator: CSSIterator = ((): CSSIteration => (\n\t\tstate.tick >= state.size\n\t\t\t? {\n\t\t\t\tdone: true,\n\t\t\t\tvalue: { tick: state.tick, type: 0, code: -2, lead: '', data: '', tail: '' }\n\t\t\t}\n\t\t: {\n\t\t\tdone: false,\n\t\t\tvalue: consume(state),\n\t\t}\n\t)) as CSSIterator\n\n\titerator[Symbol.iterator] = () => ({ next: iterator })\n\n\treturn iterator\n}\n"],"names":["CHARACTER_TABULATION","LINE_FEED","FORM_FEED","CARRIAGE_RETURN","SPACE","QUOTATION_MARK","NUMBER_SIGN","DOLLAR_SIGN","APOSTROPHE","LEFT_PARENTHESIS","ASTERISK","PLUS_SIGN","HYPHEN_MINUS","FULL_STOP","SOLIDUS","DIGIT_ZERO","DIGIT_NINE","COMMERCIAL_AT","LATIN_CAPITAL_LETTER_A","LATIN_CAPITAL_LETTER_E","LATIN_CAPITAL_LETTER_Z","REVERSE_SOLIDUS","LOW_LINE","LATIN_SMALL_LETTER_A","LATIN_SMALL_LETTER_E","LATIN_SMALL_LETTER_Z","NON_ASCII","digit","code","cp","identifier","identifierStart","space","validEscape","code1of2","code2of2","SYMBOL","COMMENT","WORD","FUNCTION","ATWORD","HASH","STRING","NUMBER","VARIABLE","fromCharCode","String","consume","state","codeAt0","codeAt1","consumeCommentToken","is","consumeSpaceToken","consumeStringToken","tick","type","tt","lead","consumeAnyValue","data","consumeIdentifierValue","tail","codeAt2","consumeIdentifierLikeToken","consumeNumberSansAdditiveValue","consumeNumericUnitValue","consumeNumberSansDecimalValue","codeAt3","result","next","token","size","consumeDigitValue","tokenize","length","charCodeAt","iterator","done","value","Symbol"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index af06f4b..f6f87a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,25 +12,24 @@ "@babel/core": "^7.15.0", "@babel/preset-env": "^7.15.0", "@babel/preset-typescript": "^7.15.0", - "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-babel": "^6.0.0", + "@rollup/plugin-terser": "^0.4.4", "@types/benchmark": "^2.1.1", - "@types/jest": "^27.0.1", - "@types/node": "^16.7.4", + "@types/jest": "^29.0.0", + "@types/node": "^22.0.0", "benchmark": "^2.1.4", "bootstrap": "^5.1.0", "codecov": "^3.8.3", "css-tree1": "npm:css-tree@^1.1.3", "css-tree2": "npm:css-tree@^2.0.1", - "jest": "^27.1.0", - "magic-string": "^0.25.7", + "jest": "^29.0.0", + "magic-string": "^0.30.11", "postcss": "^8.4.31", - "rollup": "^2.56.3", - "rollup-plugin-bundle-size": "^1.0.3", - "rollup-plugin-terser": "^7.0.2", + "rollup": "^4.0.0", "tailwindcss": "^2.2.8", - "tsc-watch": "^4.5.0", + "tsc-watch": "^6.0.0", "tslib": "^2.3.1", - "typescript": "^4.4.2" + "typescript": "^5.0.0" }, "engines": { "node": ">= 12" @@ -1933,21 +1932,21 @@ } }, "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/ansi-styles": { @@ -2027,43 +2026,43 @@ } }, "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", "micromatch": "^4.0.4", - "rimraf": "^3.0.0", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2151,89 +2150,116 @@ } }, "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^27.5.1" + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", - "glob": "^7.1.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-instrument": "^6.0.0", "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "slash": "^3.0.0", - "source-map": "^0.6.0", "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2320,78 +2346,91 @@ "node": ">=8" } }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "license": "MIT", "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "graceful-fs": "^4.2.9" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^27.5.1", + "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "write-file-atomic": "^4.0.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform/node_modules/ansi-styles": { @@ -2447,13 +2486,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2478,20 +2510,21 @@ } }, "node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, "license": "MIT", "dependencies": { + "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", + "@types/yargs": "^17.0.8", "chalk": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/types/node_modules/ansi-styles": { @@ -2685,51 +2718,313 @@ } }, "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.4.tgz", + "integrity": "sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0", "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "@types/babel__core": { "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true } } }, "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.2.tgz", + "integrity": "sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", + "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", + "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", + "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", + "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", + "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", + "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", + "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", + "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", + "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", + "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", + "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", + "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", + "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", + "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", + "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", + "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2737,13 +3032,13 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^3.0.0" } }, "node_modules/@tootallnate/once": { @@ -2809,9 +3104,9 @@ "license": "MIT" }, "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, "license": "MIT" }, @@ -2853,22 +3148,25 @@ } }, "node_modules/@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "version": "29.5.13", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", + "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", "dev": true, "license": "MIT", "dependencies": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, "node_modules/@types/node": { - "version": "16.18.109", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.109.tgz", - "integrity": "sha512-PxPCTJDDwBrigapKYIRHegNOMfKTeQUkZMJt+mkEwHf2rskRylueIqaHyAHfcpmFIFi7wq7f/X8Se/5hIVREvg==", + "version": "22.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.1.tgz", + "integrity": "sha512-adOMRLVmleuWs/5V/w5/l7o0chDK/az+5ncCsIapTKogsu/3MVWvSgP58qVTXi5IwpfGt8pMobNq9rOWtJyu5Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } }, "node_modules/@types/parse-json": { "version": "4.0.2", @@ -2877,13 +3175,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", @@ -2892,9 +3183,9 @@ "license": "MIT" }, "node_modules/@types/yargs": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", - "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dev": true, "license": "MIT", "dependencies": { @@ -2908,39 +3199,7 @@ "dev": true, "license": "MIT" }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", @@ -2965,19 +3224,6 @@ "xtend": "^4.0.2" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -3081,13 +3327,6 @@ "node": ">=0.6.10" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "license": "MIT" - }, "node_modules/autoprefixer": { "version": "10.4.20", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", @@ -3128,23 +3367,22 @@ } }, "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", + "babel-preset-jest": "^29.6.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -3243,20 +3481,37 @@ "node": ">=8" } }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", + "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -3329,17 +3584,17 @@ } }, "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", + "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -3420,13 +3675,6 @@ "node": ">=8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/browserslist": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", @@ -3625,15 +3873,18 @@ "license": "MIT" }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/co": { @@ -3737,19 +3988,6 @@ "dev": true, "license": "MIT" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -3805,35 +4043,133 @@ "node": ">=10" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": "*" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/css-tree1": { - "name": "css-tree", - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/create-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/css-tree1": { + "name": "css-tree", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "license": "MIT", @@ -3887,48 +4223,6 @@ "node": ">=4" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true, - "license": "MIT" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -3947,19 +4241,20 @@ } } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true, - "license": "MIT" - }, "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } }, "node_modules/deepmerge": { "version": "4.3.1", @@ -3981,16 +4276,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -4027,13 +4312,13 @@ "license": "Apache-2.0" }, "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/dlv": { @@ -4043,30 +4328,6 @@ "dev": true, "license": "MIT" }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "license": "MIT", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=8" - } - }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -4082,13 +4343,13 @@ "license": "ISC" }, "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sindresorhus/emittery?sponsor=1" @@ -4131,28 +4392,6 @@ "node": ">=0.8.0" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -4167,20 +4406,10 @@ "node": ">=4" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true, "license": "MIT" }, @@ -4244,19 +4473,20 @@ } }, "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/fast-glob": { @@ -4306,13 +4536,6 @@ "punycode": "^1.3.2" } }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true, - "license": "MIT" - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -4333,20 +4556,6 @@ "bser": "2.1.1" } }, - "node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -4374,21 +4583,6 @@ "node": ">=8" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", @@ -4553,42 +4747,6 @@ "dev": true, "license": "ISC" }, - "node_modules/gzip-size": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", - "integrity": "sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.1" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -4633,19 +4791,6 @@ "dev": true, "license": "MIT" }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -4705,19 +4850,6 @@ "node": ">=10.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ignore-walk": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", @@ -4908,13 +5040,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -4928,13 +5053,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4953,20 +5071,33 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "semver": "^7.5.4" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/istanbul-lib-report": { @@ -5037,21 +5168,22 @@ } }, "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^27.5.1", + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", "import-local": "^3.0.2", - "jest-cli": "^27.5.1" + "jest-cli": "^29.7.0" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -5063,49 +5195,50 @@ } }, "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", "execa": "^5.0.0", - "throat": "^6.0.1" + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", + "dedent": "^1.0.0", "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "stack-utils": "^2.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/ansi-styles": { @@ -5185,30 +5318,29 @@ } }, "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "chalk": "^4.0.0", + "create-jest": "^29.7.0", "exit": "^0.1.2", - "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -5296,44 +5428,46 @@ } }, "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", - "glob": "^7.1.1", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { + "@types/node": "*", "ts-node": ">=9.0.0" }, "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, "ts-node": { "optional": true } @@ -5416,19 +5550,19 @@ } }, "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-diff/node_modules/ansi-styles": { @@ -5508,33 +5642,33 @@ } }, "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.6.3", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/ansi-styles": { @@ -5613,213 +5747,88 @@ "node": ">=8" } }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", - "walker": "^1.0.7" + "walker": "^1.0.8" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "license": "MIT", "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { @@ -5899,24 +5908,24 @@ } }, "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", + "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util/node_modules/ansi-styles": { @@ -5996,17 +6005,18 @@ } }, "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -6028,50 +6038,48 @@ } }, "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, "license": "MIT", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", + "jest-haste-map": "^29.7.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", + "resolve.exports": "^2.0.0", "slash": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/ansi-styles": { @@ -6151,36 +6159,36 @@ } }, "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.8.1", + "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/ansi-styles": { @@ -6260,37 +6268,37 @@ } }, "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/ansi-styles": { @@ -6369,52 +6377,36 @@ "node": ">=8" } }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.7.2", + "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^27.5.1", + "expect": "^29.7.0", "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/ansi-styles": { @@ -6507,13 +6499,13 @@ } }, "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -6521,7 +6513,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util/node_modules/ansi-styles": { @@ -6601,21 +6593,21 @@ } }, "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", + "jest-get-type": "^29.6.3", "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "pretty-format": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/ansi-styles": { @@ -6708,22 +6700,23 @@ } }, "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^27.5.1", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", "string-length": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-watcher/node_modules/ansi-styles": { @@ -6803,18 +6796,19 @@ } }, "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", + "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker/node_modules/has-flag": { @@ -6852,63 +6846,16 @@ }, "node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/jsesc": { @@ -7039,13 +6986,13 @@ } }, "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -7093,82 +7040,6 @@ "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", "dev": true }, - "node_modules/maxmin": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", - "integrity": "sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.0.0", - "figures": "^1.0.1", - "gzip-size": "^3.0.0", - "pretty-bytes": "^3.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/maxmin/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maxmin/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maxmin/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maxmin/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maxmin/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -7207,29 +7078,6 @@ "node": ">=8.6" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", @@ -7347,31 +7195,6 @@ } } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -7420,33 +7243,6 @@ "node": ">=8" } }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-hash": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", @@ -7484,16 +7280,16 @@ } }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7512,6 +7308,22 @@ "node": ">=8" } }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -7554,13 +7366,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true, - "license": "MIT" - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -7789,32 +7594,19 @@ "dev": true, "license": "MIT" }, - "node_modules/pretty-bytes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "integrity": "sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "react-is": "^18.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -7870,22 +7662,29 @@ "node": ">= 0.10" } }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true, "license": "MIT" }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" }, "node_modules/purgecss": { "version": "4.1.3", @@ -7903,13 +7702,6 @@ "purgecss": "bin/purgecss.js" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true, - "license": "MIT" - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7955,9 +7747,9 @@ } }, "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, @@ -8079,13 +7871,6 @@ "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -8128,9 +7913,9 @@ } }, "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, "license": "MIT", "engines": { @@ -8153,173 +7938,57 @@ "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==", "dev": true, - "license": "MIT" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-bundle-size": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz", - "integrity": "sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "maxmin": "^2.1.0" - } - }, - "node_modules/rollup-plugin-bundle-size/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup-plugin-bundle-size/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup-plugin-bundle-size/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup-plugin-bundle-size/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup-plugin-bundle-size/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/rollup": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", + "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">= 10.13.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.4", + "@rollup/rollup-android-arm64": "4.22.4", + "@rollup/rollup-darwin-arm64": "4.22.4", + "@rollup/rollup-darwin-x64": "4.22.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", + "@rollup/rollup-linux-arm-musleabihf": "4.22.4", + "@rollup/rollup-linux-arm64-gnu": "4.22.4", + "@rollup/rollup-linux-arm64-musl": "4.22.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", + "@rollup/rollup-linux-riscv64-gnu": "4.22.4", + "@rollup/rollup-linux-s390x-gnu": "4.22.4", + "@rollup/rollup-linux-x64-gnu": "4.22.4", + "@rollup/rollup-linux-x64-musl": "4.22.4", + "@rollup/rollup-win32-arm64-msvc": "4.22.4", + "@rollup/rollup-win32-ia32-msvc": "4.22.4", + "@rollup/rollup-win32-x64-msvc": "4.22.4", + "fsevents": "~2.3.2" } }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -8366,26 +8035,6 @@ ], "license": "MIT" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -8397,9 +8046,9 @@ } }, "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8470,6 +8119,13 @@ "node": ">=8" } }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true, + "license": "MIT" + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -8491,9 +8147,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "license": "MIT", "dependencies": { @@ -8501,14 +8157,6 @@ "source-map": "^0.6.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true, - "license": "MIT" - }, "node_modules/split": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", @@ -8573,9 +8221,9 @@ } }, "node_modules/string-argv": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", - "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, "license": "MIT", "engines": { @@ -8677,43 +8325,6 @@ "node": ">=4" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -8727,13 +8338,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true, - "license": "MIT" - }, "node_modules/tailwindcss": { "version": "2.2.19", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz", @@ -8879,23 +8483,6 @@ "node": ">=10" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser": { "version": "5.33.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", @@ -8915,6 +8502,19 @@ "node": ">=10" } }, + "node_modules/terser/node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -8922,6 +8522,17 @@ "dev": true, "license": "MIT" }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -8937,13 +8548,6 @@ "node": ">=8" } }, - "node_modules/throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", - "dev": true, - "license": "MIT" - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -8991,63 +8595,30 @@ "node": ">=8.0" } }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/tsc-watch": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.6.2.tgz", - "integrity": "sha512-eHWzZGkPmzXVGQKbqQgf3BFpGiZZw1jQ29ZOJeaSe8JfyUvphbd221NfXmmsJUGGPGA/nnaSS01tXipUcyxAxg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-6.2.0.tgz", + "integrity": "sha512-2LBhf9kjKXnz7KQ/puLHlozMzzUNHAdYBNMkg3eksQJ9GBAgMg8czznM83T5PmsoUvDnXzfIeQn2lNcIYDr8LA==", "dev": true, "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "node-cleanup": "^2.1.2", "ps-tree": "^1.2.0", - "string-argv": "^0.1.1", - "strip-ansi": "^6.0.0" + "string-argv": "^0.3.1" }, "bin": { - "tsc-watch": "index.js" + "tsc-watch": "dist/lib/tsc-watch.js" }, "engines": { - "node": ">=8.17.0" + "node": ">=12.12.0" }, "peerDependencies": { "typescript": "*" @@ -9083,20 +8654,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -9104,9 +8665,16 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", @@ -9192,17 +8760,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "node_modules/urlgrey": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-1.0.0.tgz", @@ -9231,61 +8788,20 @@ } }, "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "license": "ISC", "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dev": true, - "license": "MIT", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -9297,45 +8813,21 @@ } }, "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/which": { @@ -9416,54 +8908,19 @@ "license": "ISC" }, "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "signal-exit": "^3.0.7" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true, - "license": "MIT" - }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -9502,32 +8959,45 @@ } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } } } diff --git a/package.json b/package.json index 626559f..a109b1c 100644 --- a/package.json +++ b/package.json @@ -49,24 +49,23 @@ "@babel/core": "^7.15.0", "@babel/preset-env": "^7.15.0", "@babel/preset-typescript": "^7.15.0", - "@rollup/plugin-babel": "^5.3.0", + "@rollup/plugin-babel": "^6.0.0", "@types/benchmark": "^2.1.1", - "@types/jest": "^27.0.1", - "@types/node": "^16.7.4", + "@types/jest": "^29.0.0", + "@types/node": "^22.0.0", "benchmark": "^2.1.4", "bootstrap": "^5.1.0", "codecov": "^3.8.3", "css-tree1": "npm:css-tree@^1.1.3", "css-tree2": "npm:css-tree@^2.0.1", - "jest": "^27.1.0", - "magic-string": "^0.25.7", + "jest": "^29.0.0", + "magic-string": "^0.30.11", "postcss": "^8.4.31", - "rollup": "^2.56.3", - "rollup-plugin-bundle-size": "^1.0.3", - "rollup-plugin-terser": "^7.0.2", + "rollup": "^4.0.0", + "@rollup/plugin-terser": "^0.4.4", "tailwindcss": "^2.2.8", - "tsc-watch": "^4.5.0", + "tsc-watch": "^6.0.0", "tslib": "^2.3.1", - "typescript": "^4.4.2" + "typescript": "^5.0.0" } } diff --git a/rollup.config.js b/rollup.config.mjs similarity index 88% rename from rollup.config.js rename to rollup.config.mjs index 5e0003f..a98cea2 100644 --- a/rollup.config.js +++ b/rollup.config.mjs @@ -1,9 +1,6 @@ -import * as cp from './src/lib/code-points.ts' -import * as tt from './src/lib/token-types.ts' import * as path from 'path' -import { terser } from 'rollup-plugin-terser' +import terser from '@rollup/plugin-terser' import babel from '@rollup/plugin-babel' -import bundleSize from 'rollup-plugin-bundle-size' import MagicString from 'magic-string' const babelOptions = { @@ -13,12 +10,7 @@ const babelOptions = { const terserOptions = { ecma: 2020, - compress: { - global_defs: { - ...cp, - ...tt, - }, - }, + compress: {}, } const resolveJsTsExtension = { @@ -55,7 +47,6 @@ const config = /** @type {import('rollup').NormalizedInputOptions[]} */ ([ plugins: [ resolveJsTsExtension, babel({ ...babelOptions }), - bundleSize() ], }, { @@ -71,7 +62,6 @@ const config = /** @type {import('rollup').NormalizedInputOptions[]} */ ([ plugins: [ resolveJsTsExtension, babel({ ...babelOptions }), - bundleSize() ], }, { @@ -90,7 +80,6 @@ const config = /** @type {import('rollup').NormalizedInputOptions[]} */ ([ babel({ ...babelOptions }), terser({ ...terserOptions }), reduceImpact, - bundleSize(), ] }, { @@ -106,7 +95,6 @@ const config = /** @type {import('rollup').NormalizedInputOptions[]} */ ([ plugins: [ resolveJsTsExtension, babel({ ...babelOptions }), - bundleSize() ], }, { @@ -122,7 +110,6 @@ const config = /** @type {import('rollup').NormalizedInputOptions[]} */ ([ plugins: [ resolveJsTsExtension, babel({ ...babelOptions }), - bundleSize() ], }, { @@ -141,7 +128,6 @@ const config = /** @type {import('rollup').NormalizedInputOptions[]} */ ([ babel({ ...babelOptions }), terser({ ...terserOptions }), reduceImpact, - bundleSize(), ] }, ]) diff --git a/src/tokenize.benchmark.ts b/src/tokenize.benchmark.ts index 3231b6d..0f23018 100644 --- a/src/tokenize.benchmark.ts +++ b/src/tokenize.benchmark.ts @@ -1,6 +1,7 @@ import * as fs from 'fs' import Benchmark from 'benchmark' import csstree1 from 'css-tree1' +// @ts-expect-error no types import * as csstree2 from 'css-tree2/tokenizer' import postcss from 'postcss/lib/tokenize'