UNPKG

hyperformula

Version:

HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

25 lines (24 loc) 2.72 kB
"use strict"; exports.__esModule = true; exports.UNQUOTED_SHEET_NAME_PATTERN = exports.UNICODE_LETTER_PATTERN = exports.SHEET_NAME_PATTERN = exports.ROW_REFERENCE_PATTERN = exports.RANGE_OPERATOR = exports.R1C1_CELL_REFERENCE_PATTERN = exports.QUOTED_SHEET_NAME_PATTERN = exports.ODFF_WHITESPACE_PATTERN = exports.NON_RESERVED_CHARACTER_PATTERN = exports.NAMED_EXPRESSION_PATTERN = exports.COLUMN_REFERENCE_PATTERN = exports.CELL_REFERENCE_WITH_NEXT_CHARACTER_PATTERN = exports.CELL_REFERENCE_PATTERN = exports.ALL_WHITESPACE_PATTERN = exports.ALL_UNICODE_LETTERS_ARRAY = exports.ALL_DIGITS_ARRAY = exports.ABSOLUTE_OPERATOR = void 0; /** * @license * Copyright (c) 2025 Handsoncode. All rights reserved. */ const RANGE_OPERATOR = exports.RANGE_OPERATOR = ':'; const ABSOLUTE_OPERATOR = exports.ABSOLUTE_OPERATOR = '$'; const ALL_WHITESPACE_PATTERN = exports.ALL_WHITESPACE_PATTERN = '\\s+'; const ODFF_WHITESPACE_PATTERN = exports.ODFF_WHITESPACE_PATTERN = '[ \\t\\n\\r]+'; const UNICODE_LETTER_PATTERN = exports.UNICODE_LETTER_PATTERN = 'A-Za-z\u00C0-\u02AF'; const NON_RESERVED_CHARACTER_PATTERN = exports.NON_RESERVED_CHARACTER_PATTERN = `${UNICODE_LETTER_PATTERN}0-9_.`; const UNQUOTED_SHEET_NAME_PATTERN = exports.UNQUOTED_SHEET_NAME_PATTERN = `[${UNICODE_LETTER_PATTERN}0-9_]+`; const QUOTED_SHEET_NAME_PATTERN = exports.QUOTED_SHEET_NAME_PATTERN = "'(((?!').|'')*)'"; const SHEET_NAME_PATTERN = exports.SHEET_NAME_PATTERN = `(${UNQUOTED_SHEET_NAME_PATTERN}|${QUOTED_SHEET_NAME_PATTERN})!`; const CELL_REFERENCE_PATTERN = exports.CELL_REFERENCE_PATTERN = `(${SHEET_NAME_PATTERN})?\\${ABSOLUTE_OPERATOR}?[A-Za-z]+\\${ABSOLUTE_OPERATOR}?[0-9]+`; const COLUMN_REFERENCE_PATTERN = exports.COLUMN_REFERENCE_PATTERN = `(${SHEET_NAME_PATTERN})?\\${ABSOLUTE_OPERATOR}?[A-Za-z]+`; const ROW_REFERENCE_PATTERN = exports.ROW_REFERENCE_PATTERN = `(${SHEET_NAME_PATTERN})?\\${ABSOLUTE_OPERATOR}?[0-9]+`; const R1C1_CELL_REFERENCE_PATTERN = exports.R1C1_CELL_REFERENCE_PATTERN = '[rR][0-9]*[cC][0-9]*'; const CELL_REFERENCE_WITH_NEXT_CHARACTER_PATTERN = exports.CELL_REFERENCE_WITH_NEXT_CHARACTER_PATTERN = `(${CELL_REFERENCE_PATTERN})[^${NON_RESERVED_CHARACTER_PATTERN}]`; const NAMED_EXPRESSION_PATTERN = exports.NAMED_EXPRESSION_PATTERN = `[${UNICODE_LETTER_PATTERN}_][${NON_RESERVED_CHARACTER_PATTERN}]*`; const ALL_DIGITS_ARRAY = exports.ALL_DIGITS_ARRAY = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; const ALL_UNICODE_LETTERS_ARRAY = exports.ALL_UNICODE_LETTERS_ARRAY = [...Array.from(Array(26)).map((_, i) => i + 'A'.charCodeAt(0)), ...Array.from(Array(26)).map((_, i) => i + 'a'.charCodeAt(0)), ...Array.from(Array(0x02AF - 0x00C0 + 1)).map((_, i) => i + 0x00C0)].map(code => String.fromCharCode(code));