UNPKG

tooner

Version:

Token-efficient serialization for LLMs - Convert JSON/YAML/TOML to TOON format

1 lines 99.4 kB
{"version":3,"sources":["../src/core/types.ts","../src/utils/string.ts","../src/core/encoder.ts","../src/core/decoder.ts","../src/toml.ts"],"names":["ToonError","message","line","column","ToonEncodeError","ToonDecodeError","needsQuoting","str","delimiter","needsQuotingInArray","needsQuotingAsKey","escapeString","unescapeString","lineIndex","result","i","next","quoteString","inArray","quoteKey","key","parseString","trimmed","content","parseKey","escaped","char","match","encode","value","options","indent","keyFolding","flattenDepth","encodeRootArray","encodeValue","encodePrimitive","getDelimiterInBracket","isPrimitiveArray","arr","item","isUniformObjectArray","firstKeys","keys","k","containsOnlyPrimitives","obj","val","tryFoldPath","currentKey","currentVal","segmentCount","nextKey","delimInBracket","items","objs","keyDelim","keyStr","lines","values","encoded","encodeListItem","encodeInlineArray","depth","indentStr","quotedKey","encodeTabular","keysStr","valueStr","encodeListArray","prefix","nested","first","fieldParts","encodeObjectField","firstLine","dedented","fieldLines","folded","foldedKey","finalVal","keySet","collisionKeys","useKeyFolding","fieldStr","validateIndentation","leadingWhitespace","indentLevel","shouldExpandKey","wasQuoted","part","expandPaths","metadata","parts","setNestedValue","existing","existingType","newType","rest","decode","toon","opts","nonEmptyLines","l","keyResult","parsePrimitive","parseRootArray","parseLines","num","getIndentLevel","detectDelimiter","bracketContent","parseInlineArray","bracketMatch","countStr","count","splitByDelimiter","parsed","v","current","inQuotes","parseTabular","header","startIndex","parseRow","j","_expectedCount","inlineMatch","tabularMatch","nextLine","arrayMatch","nextLineIndex","baseIndent","parseListFormat","itemContent","parseArray","colonMatch","nestedStart","nextContent","nextKeyResult","nextRest","nextColonMatch","nextValueStr","nextIndent","listResult","keyMetadata","toml","parse"],"mappings":"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","file":"toml.cjs","sourcesContent":["/**\n * TOON value types\n */\nexport type ToonPrimitive = string | number | boolean | null;\nexport type ToonValue = ToonPrimitive | ToonObject | ToonArray | ToonValue[];\n\nexport interface ToonObject {\n [key: string]: ToonValue;\n}\n\nexport type ToonArray = ToonValue[];\n\n/**\n * Encoder options\n */\nexport interface EncodeOptions {\n /**\n * Enable strict validation during encoding\n */\n strict?: boolean;\n /**\n * Indentation (default: 2)\n * - number: Number of spaces\n * - string: Custom indentation string\n */\n indent?: number | string;\n /**\n * Array delimiter (default: comma)\n * - ',' - Comma delimiter (default)\n * - '\\t' - Tab delimiter\n * - '|' - Pipe delimiter\n */\n delimiter?: ',' | '\\t' | '|';\n /**\n * Key folding mode (default: none)\n * - false/undefined: No key folding\n * - 'safe': Fold single-key chains into dotted paths\n */\n keyFolding?: false | 'safe';\n /**\n * Maximum depth for key folding (default: Infinity when keyFolding is 'safe')\n * - 0: No folding\n * - n: Fold up to n levels\n */\n flattenDepth?: number;\n}\n\n/**\n * Decoder options\n */\nexport interface DecodeOptions {\n /**\n * Enable strict validation during decoding\n */\n strict?: boolean;\n /**\n * Indentation size (default: 2)\n */\n indent?: number;\n /**\n * Path expansion mode (default: 'off')\n * - 'off': Keep dotted keys literal\n * - 'safe': Expand identifier-only dotted keys\n */\n expandPaths?: 'off' | 'safe';\n}\n\n/**\n * Errors\n */\nexport class ToonError extends Error {\n constructor(\n message: string,\n public line?: number,\n public column?: number\n ) {\n super(message);\n this.name = 'ToonError';\n }\n}\n\nexport class ToonEncodeError extends ToonError {\n constructor(message: string) {\n super(message);\n this.name = 'ToonEncodeError';\n }\n}\n\nexport class ToonDecodeError extends ToonError {\n constructor(message: string, line?: number, column?: number) {\n super(message, line, column);\n this.name = 'ToonDecodeError';\n }\n}\n","/**\n * Check if string needs quoting in TOON format\n * @param str String to check\n * @param delimiter Active delimiter (affects whether commas need quoting)\n */\nexport function needsQuoting(\n str: string,\n delimiter: ',' | '\\t' | '|' = ','\n): boolean {\n // Empty strings need quotes\n if (str.length === 0) return true;\n\n // Keywords need quotes\n if (str === 'true' || str === 'false' || str === 'null') return true;\n\n // Numbers need quotes (including scientific notation)\n if (/^-?\\d+(\\.\\d+)?(e[+-]?\\d+)?$/i.test(str)) return true;\n\n // Leading zeros (non-numeric) need quotes\n if (/^0\\d/.test(str)) return true;\n\n // TOON syntax characters need quotes\n if (/^[[\\]{}]/.test(str) || str.includes('[') || str.includes('{')) {\n return true;\n }\n\n // List item marker needs quotes\n if (str === '-' || /^-\\s/.test(str)) return true;\n\n // Control characters need quotes\n if (/[\\n\\r\\t\\\\\"]/.test(str)) return true;\n\n // Whitespace-only strings need quotes\n if (/^\\s+$/.test(str)) return true;\n\n // Leading or trailing whitespace needs quotes\n if (str !== str.trim()) return true;\n\n // Safe string pattern: letters, numbers, underscore, spaces, unicode\n // When delimiter is not comma, commas are also safe\n const safePattern =\n delimiter === ',' ? /^[\\w\\s\\u0080-\\uFFFF]+$/ : /^[\\w\\s,\\u0080-\\uFFFF]+$/;\n\n return !safePattern.test(str);\n}\n\n/**\n * Check if string needs quoting specifically in array context\n * (stricter rules based on active delimiter)\n */\nexport function needsQuotingInArray(\n str: string,\n delimiter: ',' | '\\t' | '|' = ','\n): boolean {\n if (needsQuoting(str, delimiter)) return true;\n\n // Strings containing the active delimiter need quotes\n if (str.includes(delimiter)) return true;\n\n // Colons always need quotes in arrays\n if (str.includes(':')) return true;\n\n return false;\n}\n\n/**\n * Check if string needs quoting as object key\n */\nexport function needsQuotingAsKey(str: string): boolean {\n // Empty string needs quotes\n if (str.length === 0) return true;\n\n // Numeric keys need quotes\n if (/^\\d+$/.test(str)) return true;\n\n // Keys starting with hyphen need quotes\n if (str.startsWith('-')) return true;\n\n // Keys containing hyphens need quotes (ambiguous with paths)\n if (str.includes('-')) return true;\n\n // Keys with special characters need quotes\n if (\n str.includes(':') ||\n str.includes(',') ||\n str.includes(' ') ||\n str.includes('[') ||\n str.includes(']') ||\n str.includes('{') ||\n str.includes('}') ||\n str.includes('\\n') ||\n str.includes('\\t') ||\n str.includes('\\r') ||\n str.includes('\"')\n ) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Escape special characters in string for TOON\n */\nexport function escapeString(str: string): string {\n return str\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/\\t/g, '\\\\t');\n}\n\n/**\n * Unescape TOON string with validation\n */\nexport function unescapeString(str: string, lineIndex?: number): string {\n let result = '';\n let i = 0;\n\n while (i < str.length) {\n if (str[i] === '\\\\' && i + 1 < str.length) {\n const next = str[i + 1];\n if (next === 'n') {\n result += '\\n';\n i += 2;\n } else if (next === 'r') {\n result += '\\r';\n i += 2;\n } else if (next === 't') {\n result += '\\t';\n i += 2;\n } else if (next === '\"') {\n result += '\"';\n i += 2;\n } else if (next === '\\\\') {\n result += '\\\\';\n i += 2;\n } else {\n // Invalid escape sequence\n if (lineIndex !== undefined) {\n throw new Error(\n `Invalid escape sequence: \\\\${next} at line ${lineIndex + 1}`\n );\n }\n // Fallback: keep as is\n result += str[i];\n i++;\n }\n } else {\n result += str[i];\n i++;\n }\n }\n\n return result;\n}\n\n/**\n * Quote string if needed for TOON\n */\nexport function quoteString(\n str: string,\n inArray = false,\n delimiter: ',' | '\\t' | '|' = ','\n): string {\n const needs = inArray\n ? needsQuotingInArray(str, delimiter)\n : needsQuoting(str, delimiter);\n if (needs) {\n return `\"${escapeString(str)}\"`;\n }\n return str;\n}\n\n/**\n * Quote key if needed\n */\nexport function quoteKey(key: string): string {\n if (needsQuotingAsKey(key)) {\n return `\"${escapeString(key)}\"`;\n }\n return key;\n}\n\n/**\n * Parse quoted or unquoted string from TOON\n */\nexport function parseString(str: string, lineIndex?: number): string {\n const trimmed = str.trim();\n\n // Check if quoted\n if (trimmed.startsWith('\"') && trimmed.endsWith('\"')) {\n const content = trimmed.slice(1, -1);\n return unescapeString(content, lineIndex);\n }\n\n return trimmed;\n}\n\n/**\n * Parse key (handles both quoted and unquoted keys)\n * Returns the key string, remaining text, and whether it was quoted\n */\nexport function parseKey(\n str: string\n): { key: string; rest: string; wasQuoted?: boolean } | null {\n const trimmed = str.trim();\n\n // Section: Handle quoted keys\n if (trimmed.startsWith('\"')) {\n let i = 1;\n let escaped = false;\n let key = '';\n\n while (i < trimmed.length) {\n const char = trimmed[i];\n\n if (escaped) {\n // Keep the backslash for unescapeString to process\n key += '\\\\' + char;\n escaped = false;\n i++;\n continue;\n }\n\n if (char === '\\\\') {\n escaped = true;\n i++;\n continue;\n }\n\n if (char === '\"') {\n // Found closing quote\n return {\n key: unescapeString(key, 0),\n rest: trimmed.slice(i + 1),\n wasQuoted: true,\n };\n }\n\n key += char;