@_linked/translation 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/esm/archive.js.map +1 -1
  2. package/lib/esm/authorization.js.map +1 -1
  3. package/lib/esm/backend.js.map +1 -1
  4. package/lib/esm/cdn-loader.js.map +1 -1
  5. package/lib/esm/checks.js.map +1 -1
  6. package/lib/esm/compile.js.map +1 -1
  7. package/lib/esm/core/messages.js.map +1 -1
  8. package/lib/esm/discovery.js.map +1 -1
  9. package/lib/esm/exchange.js.map +1 -1
  10. package/lib/esm/export.js.map +1 -1
  11. package/lib/esm/formats/csv.js.map +1 -1
  12. package/lib/esm/formats/json.js.map +1 -1
  13. package/lib/esm/formats/xliff.js.map +1 -1
  14. package/lib/esm/import.js.map +1 -1
  15. package/lib/esm/index.d.ts +1 -7
  16. package/lib/esm/index.js +1 -7
  17. package/lib/esm/index.js.map +1 -1
  18. package/lib/esm/key-sync-node.js.map +1 -1
  19. package/lib/esm/key-sync.js.map +1 -1
  20. package/lib/esm/key-version.js.map +1 -1
  21. package/lib/esm/languages.js.map +1 -1
  22. package/lib/esm/linked-discovery.js.map +1 -1
  23. package/lib/esm/message-format.js.map +1 -1
  24. package/lib/esm/mt.js.map +1 -1
  25. package/lib/esm/ontologies/translation.js.map +1 -1
  26. package/lib/esm/ontologies/translation.register.js.map +1 -1
  27. package/lib/esm/package.js.map +1 -1
  28. package/lib/esm/react.js.map +1 -1
  29. package/lib/esm/records.js.map +1 -1
  30. package/lib/esm/release.js.map +1 -1
  31. package/lib/esm/shape-catalog.js.map +1 -1
  32. package/lib/esm/shapes/GlossaryTerm.js.map +1 -1
  33. package/lib/esm/shapes/TranslationInventoryOrigin.js.map +1 -1
  34. package/lib/esm/shapes/TranslationKey.js.map +1 -1
  35. package/lib/esm/shapes/TranslationKeyVersion.js.map +1 -1
  36. package/lib/esm/shapes/TranslationLanguage.js.map +1 -1
  37. package/lib/esm/shapes/TranslationProvider.js.map +1 -1
  38. package/lib/esm/shapes/TranslationRelease.js.map +1 -1
  39. package/lib/esm/shapes/TranslationRevision.js.map +1 -1
  40. package/lib/esm/shapes/TranslationUnit.js.map +1 -1
  41. package/lib/esm/shapes/index.d.ts +9 -0
  42. package/lib/esm/shapes/index.js +13 -0
  43. package/lib/esm/shapes/index.js.map +1 -0
  44. package/package.json +1 -1
  45. package/src/index.ts +1 -7
  46. package/src/shapes/index.ts +13 -0
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,GAGpC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AA8BzE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAA0C,EAC1C,OAAiC;IAEjC,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS;QACtC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU;QACxC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,MAAM,aAAa,GAA+B,EAAE,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpD,GAAG,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAChD,GAAG,KAAK,CAAC,SAAS,SAAS,KAAK,CAAC,GAAG,EAAE,CACvC,CACF,EAAE,CAAC;QACF,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,SAAS;QACvE,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,8DAA8D;aACxE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,2CAA2C;aACrD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAA6C,EAAE,CAAC;QAClE,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAChE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC/C,EAAE,CAAC;YACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,cAAc;gBAAE,SAAS;YAC1C,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC9D,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC1D,YAAY,CAAC,QAAQ,CAAC,GAAG;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;QACJ,CAAC;QACD,aAAa,CAAC,IAAI,CAAC;YACjB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EACF,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW;gBACpD,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,IAAI;YACV,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,EAAE;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG;QACtB,GAAG,IAAI,GAAG,CACR,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAClE;KACF,CAAC,IAAI,EAAE,CAAC;IACT,MAAM,QAAQ,GAAG,mCAAmC,CAAC;QACnD,aAAa,EAAE,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc;QACd,eAAe;QACf,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,eAAe,EAAE,MAAM,0BAA0B,CAC/C,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAA6B,CAC3E;QACD,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IACH,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,MAAM,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtD,QAAQ;KACT,CAAC;AACJ,CAAC","sourcesContent":["import {\n validateTranslationExchangeDocument,\n type TranslationExchangeDocument,\n type TranslationExchangeEntry,\n} from './exchange.js';\nimport { canonicalLanguageTag, sha256Hex } from './key-version.js';\nimport { canonicalJson, translationContractSetHash } from './release.js';\nimport type {\n TranslationEntryRecord,\n TranslationState,\n} from './records.js';\n\nexport interface TranslationExportOptions {\n appId?: string;\n branchId?: string;\n sourceLanguage: string;\n revisionWatermark: string;\n exportedAt?: string;\n languages?: readonly string[];\n namespaces?: readonly string[];\n keys?: readonly string[];\n states?: readonly TranslationState[];\n}\n\nexport interface TranslationExportFinding {\n key: string;\n code: 'content-key-unsupported' | 'missing-current-version';\n message: string;\n}\n\nexport interface TranslationExportResult {\n document: TranslationExchangeDocument;\n documentHash: string;\n findings: TranslationExportFinding[];\n}\n\n/**\n * Build one deterministic, version-evidenced exchange snapshot. Content keys\n * and versionless keys are reported rather than silently losing metadata.\n */\nexport async function createTranslationExchangeDocument(\n entries: readonly TranslationEntryRecord[],\n options: TranslationExportOptions,\n): Promise<TranslationExportResult> {\n const sourceLanguage = canonicalLanguageTag(options.sourceLanguage);\n const languageFilter = options.languages\n ? new Set(options.languages.map(canonicalLanguageTag))\n : undefined;\n const namespaceFilter = options.namespaces\n ? new Set(options.namespaces)\n : undefined;\n const keyFilter = options.keys ? new Set(options.keys) : undefined;\n const stateFilter = options.states ? new Set(options.states) : undefined;\n const findings: TranslationExportFinding[] = [];\n const exportEntries: TranslationExchangeEntry[] = [];\n\n for (const entry of [...entries].sort((left, right) =>\n `${left.namespace}\\u0000${left.key}`.localeCompare(\n `${right.namespace}\\u0000${right.key}`,\n ),\n )) {\n if (namespaceFilter && !namespaceFilter.has(entry.namespace)) continue;\n if (keyFilter && !keyFilter.has(entry.key)) continue;\n if (entry.kind === 'content') {\n findings.push({\n key: entry.key,\n code: 'content-key-unsupported',\n message: 'Content translations are not part of the UI exchange format.',\n });\n continue;\n }\n const version = entry.currentVersion;\n if (!version) {\n findings.push({\n key: entry.key,\n code: 'missing-current-version',\n message: 'The key has no current immutable version.',\n });\n continue;\n }\n const translations: TranslationExchangeEntry['translations'] = {};\n for (const [rawLanguage, unit] of Object.entries(entry.units).sort(\n ([left], [right]) => left.localeCompare(right),\n )) {\n const language = canonicalLanguageTag(rawLanguage);\n if (language === sourceLanguage) continue;\n if (languageFilter && !languageFilter.has(language)) continue;\n if (stateFilter && !stateFilter.has(unit.state)) continue;\n translations[language] = {\n text: unit.text,\n state: unit.state,\n };\n }\n exportEntries.push({\n key: entry.key,\n namespace: entry.namespace,\n kind:\n entry.ofShape || entry.ofProperty || entry.fromPackage\n ? 'semantic'\n : 'ui',\n sourceText: version.sourceText,\n keyVersionId: version.id,\n sourceHash: version.sourceHash,\n contractHash: version.contractHash,\n argumentSignature: version.argumentSignature,\n description: entry.description,\n format: version.format,\n translations,\n });\n }\n\n const targetLanguages = [\n ...new Set(\n exportEntries.flatMap((entry) => Object.keys(entry.translations)),\n ),\n ].sort();\n const document = validateTranslationExchangeDocument({\n schemaVersion: 1,\n appId: options.appId,\n branchId: options.branchId,\n sourceLanguage,\n targetLanguages,\n exportedAt: options.exportedAt,\n revisionWatermark: options.revisionWatermark,\n contractSetHash: await translationContractSetHash(\n entries.filter((entry) => entry.kind === 'ui') as TranslationEntryRecord[],\n ),\n entries: exportEntries,\n });\n return {\n document,\n documentHash: await sha256Hex(canonicalJson(document)),\n findings,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../src/formats/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0CAA0C,EAC1C,mCAAmC,GAOpC,MAAM,gBAAgB,CAAC;AAExB,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,eAAe;IACf,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,KAAK;IACL,WAAW;IACX,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,MAAM;IACN,aAAa;IACb,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,UAAU;CACF,CAAC;AAEX,0DAA0D;AAC1D,MAAM,kBAAkB,GAAwC;IAC9D,iBAAiB,EAAE,UAAU;CAC9B,CAAC;AAKF,MAAM,gBAAgB,GAAG;IACvB,gBAAgB;IAChB,gBAAgB;IAChB,KAAK;IACL,YAAY;CACJ,CAAC;AAEX,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;CACT,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,MAAM;IACN,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,cAAc;IACd,mBAAmB;CACX,CAAC;AAEX,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAa,EACb,QAA4B,EAC5B,MAAc;;IAEd,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC;IAC9D,IACE,OAAO,KAAK,gBAAgB;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACrB,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtC,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;QACrC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG;QAC5C,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAa,EAAE,CAAC;IACvB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC5B,KAAK,IAAI,GAAG,CAAC;oBACb,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,SAAS,CAAC;YACrB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,GAAG,GAAG,EAAE,CAAC;YACT,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,KAAK,IAAI,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACzE,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC7C,MAAM,CAAC,KAAK,CAAC;aACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAyB;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,eAAe,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/E,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,eAAe,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IACxB,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAChC,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,MAAA,kBAAkB,CAAC,MAAM,CAAC,mCAAI,MAAM,CAAA,EAAA,CACjD,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,uBAAuB,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,QAAQ,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAAE,SAAS;QACpD,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,uBAAuB,QAAQ,GAAG,CAAC,mCAAmC,CACvE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;YACxC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAA,MAAM,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAa,EACb,MAAc,EACd,QAA4B,EAC5B,MAA0B;IAE1B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,aAAa,MAAM,oBAAoB,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAoB;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;IAC1B,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,IACE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS;YAC5C,MAAM,CAAC,aAAa,KAAK,GAAG,EAC5B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,gBAAgB,CACd,mBAAmB,EACnB,MAAM,EACN,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACvB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC9E,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CACH,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAMrB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAE,CAAC;QACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,SAAS,GAAG,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,gBAAgB,CACd,QAAQ,GAAG,GAAG,EACd,MAAM,EACN,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,QAAQ,cAAc,GAAG,CACjE,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAmC;YAC5C,GAAG;YACH,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;gBACjC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC/B,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC/B,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACpC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC9B,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;gBACrC,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,EAAE;gBACZ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC;aAC3C;SACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,0CAA0C,CAAC;QAChD,aAAa,EAAE,CAAC;QAChB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,cAAc;QACd,eAAe;QACf,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACnC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;YACjC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;aAC3B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;aACzB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;YACpB,OAAA,WAAW,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;SAAA,CACjC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAiB;;IACzC,OAAO;QACL,IAAI,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE;QAC7B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAA0C,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAiB;IAC9C,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CACnD,CAAC,MAAM,EAAE,EAAE;;QACT,OAAA,MAAM,KAAK,UAAU;YACrB,sBAAsB,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC,CAAA;KAAA,CAC/C,CAAC;IACF,OAAO,GAAG,gBAAgB,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,QAAqC;;IAC1D,MAAM,UAAU,GAAG,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;YAC5B,GAAG,UAAU,CAAC,eAAe;YAC7B,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC1E,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;QAC3D,OAAA,WAAW,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;KAAA,CACjC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,MAAM,cAAc,IAAI,SAAS,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,MAAM,GAAc;gBACxB,aAAa,EAAE,GAAG;gBAClB,KAAK,EAAE,MAAA,UAAU,CAAC,KAAK,mCAAI,EAAE;gBAC7B,QAAQ,EAAE,MAAA,UAAU,CAAC,QAAQ,mCAAI,EAAE;gBACnC,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,cAAc;gBACd,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,EAAE;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,mCAAI,EAAE;gBACnC,KAAK,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,mCAAI,EAAE;gBAC/B,IAAI,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,mCAAI,EAAE;gBAC7B,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,EAAE;gBACpC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,UAAU,EAAE,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE;gBACvC,iBAAiB,EAAE,MAAA,UAAU,CAAC,iBAAiB,mCAAI,EAAE;gBACrD,eAAe,EAAE,MAAA,UAAU,CAAC,eAAe,mCAAI,EAAE;aAClD,CAAC;YACF,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO;QACL,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,uBAAuB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,WACrC,OAAA,aAAa,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CACpC,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ;KACF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,MAAM,EAAE,KAAK;IAEb,KAAK,CAAC,KAAK,EAAE,QAAQ;;QACnB,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAA,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;YACxD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAK;QACf,OAAO,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAQ;QACtB,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE,wBAAwB;YACnC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../../src/formats/csv.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n normalizeParsedTranslationExchangeDocument,\n validateTranslationExchangeDocument,\n type ParsedTranslationExchangeDocument,\n type ParsedTranslationExchangeEntry,\n type SerializedTranslationDocument,\n type TranslationExchangeDocument,\n type TranslationExchangeValue,\n type TranslationFormatAdapter,\n} from '../exchange.js';\n\nconst ESCAPING_VERSION = 'apostrophe-v1';\n\n/**\n * One row represents one key/language pair. Document and key-version metadata\n * are repeated deliberately so a CSV remains useful after spreadsheet tools\n * reorder or filter its rows.\n */\nexport const TRANSLATION_CSV_COLUMNS = [\n 'schemaVersion',\n 'appId',\n 'branchId',\n 'sourceLanguage',\n 'targetLanguage',\n 'key',\n 'namespace',\n 'kind',\n 'sourceText',\n 'targetText',\n 'state',\n 'note',\n 'description',\n 'format',\n 'keyVersionId',\n 'sourceHash',\n 'contractHash',\n 'argumentSignature',\n 'exportedAt',\n 'revisionWatermark',\n 'contractSetHash',\n 'escaping',\n] as const;\n\n/** Pre-0.3.0 spelling of a column, accepted on import. */\nconst LEGACY_CSV_COLUMNS: Readonly<Record<string, CsvColumn>> = {\n createNowEscaping: 'escaping',\n};\n\ntype CsvColumn = (typeof TRANSLATION_CSV_COLUMNS)[number];\ntype CsvRecord = Partial<Record<CsvColumn, string>>;\n\nconst REQUIRED_COLUMNS = [\n 'sourceLanguage',\n 'targetLanguage',\n 'key',\n 'targetText',\n] as const;\n\nconst DOCUMENT_COLUMNS = [\n 'appId',\n 'branchId',\n 'sourceLanguage',\n 'exportedAt',\n 'revisionWatermark',\n 'contractSetHash',\n] as const;\n\nconst ENTRY_COLUMNS = [\n 'kind',\n 'sourceText',\n 'description',\n 'format',\n 'keyVersionId',\n 'sourceHash',\n 'contractHash',\n 'argumentSignature',\n] as const;\n\nfunction compareText(left: string, right: string): number {\n return left < right ? -1 : left > right ? 1 : 0;\n}\n\nfunction isSpreadsheetDangerous(value: string): boolean {\n return /^[=+\\-@\\t\\r]/u.test(value);\n}\n\nfunction protectSpreadsheetCell(value: string): string {\n return isSpreadsheetDangerous(value) ? `'${value}` : value;\n}\n\nfunction restoreSpreadsheetCell(\n value: string,\n escaping: string | undefined,\n column: string,\n): string {\n const [version, columns = ''] = escaping?.split(':', 2) ?? [];\n if (\n version === ESCAPING_VERSION &&\n columns.split('|').includes(column) &&\n value.startsWith(\"'\") &&\n isSpreadsheetDangerous(value.slice(1))\n ) {\n return value.slice(1);\n }\n return value;\n}\n\nfunction encodeCsvCell(value: string): string {\n const protectedValue = protectSpreadsheetCell(value);\n return /[\",\\r\\n]/u.test(protectedValue)\n ? `\"${protectedValue.replace(/\"/gu, '\"\"')}\"`\n : protectedValue;\n}\n\nfunction parseCsvRows(text: string): string[][] {\n const rows: string[][] = [];\n let row: string[] = [];\n let field = '';\n let quoted = false;\n\n for (let index = 0; index < text.length; index += 1) {\n const character = text[index]!;\n if (quoted) {\n if (character === '\"') {\n if (text[index + 1] === '\"') {\n field += '\"';\n index += 1;\n } else {\n quoted = false;\n }\n } else {\n field += character;\n }\n continue;\n }\n\n if (character === '\"') {\n if (field.length > 0) {\n throw new Error('Malformed CSV: quote must begin an empty field.');\n }\n quoted = true;\n } else if (character === ',') {\n row.push(field);\n field = '';\n } else if (character === '\\n' || character === '\\r') {\n row.push(field);\n rows.push(row);\n row = [];\n field = '';\n if (character === '\\r' && text[index + 1] === '\\n') index += 1;\n } else {\n field += character;\n }\n }\n\n if (quoted) throw new Error('Malformed CSV: unterminated quoted field.');\n if (row.length > 0 || field.length > 0) {\n row.push(field);\n rows.push(row);\n }\n return rows;\n}\n\nfunction decodeUtf8(input: Uint8Array): string {\n try {\n return new TextDecoder('utf-8', { fatal: true })\n .decode(input)\n .replace(/^\\uFEFF/u, '');\n } catch {\n throw new Error('Translation CSV must be valid UTF-8.');\n }\n}\n\nfunction optional(value: string | undefined): string | undefined {\n return value === undefined || value === '' ? undefined : value;\n}\n\nfunction entryKind(value: string | undefined): 'ui' | 'semantic' {\n if (value === undefined || value === '' || value === 'ui') return 'ui';\n if (value === 'semantic') return 'semantic';\n throw new Error(`Translation CSV kind \"${value}\" is invalid.`);\n}\n\nfunction entryFormat(value: string | undefined): 'simple' | 'icu' {\n if (value === undefined || value === '' || value === 'simple') return 'simple';\n if (value === 'icu') return 'icu';\n throw new Error(`Translation CSV format \"${value}\" is invalid.`);\n}\n\nfunction rowsToRecords(rows: string[][]): CsvRecord[] {\n if (rows.length === 0) throw new Error('Translation CSV is empty.');\n const header = rows[0]!;\n const canonicalHeader = header.map(\n (column) => LEGACY_CSV_COLUMNS[column] ?? column,\n );\n const knownColumns = new Set<string>(TRANSLATION_CSV_COLUMNS);\n const seen = new Set<string>();\n for (const column of canonicalHeader) {\n if (seen.has(column)) {\n throw new Error(`Translation CSV has duplicate column \"${column}\".`);\n }\n seen.add(column);\n }\n for (const required of REQUIRED_COLUMNS) {\n if (!seen.has(required)) {\n throw new Error(`Translation CSV is missing required column \"${required}\".`);\n }\n }\n\n const records: CsvRecord[] = [];\n for (let rowIndex = 1; rowIndex < rows.length; rowIndex += 1) {\n const values = rows[rowIndex]!;\n if (values.every((value) => value === '')) continue;\n if (values.length > header.length) {\n throw new Error(\n `Translation CSV row ${rowIndex + 1} has more values than its header.`,\n );\n }\n const raw: Record<string, string> = {};\n canonicalHeader.forEach((column, index) => {\n if (knownColumns.has(column)) raw[column] = values[index] ?? '';\n });\n const escaping = raw.escaping;\n const record: CsvRecord = {};\n for (const column of TRANSLATION_CSV_COLUMNS) {\n if (raw[column] !== undefined) {\n record[column] = restoreSpreadsheetCell(raw[column]!, escaping, column);\n }\n }\n records.push(record);\n }\n if (records.length === 0) {\n throw new Error('Translation CSV does not contain any translation rows.');\n }\n return records;\n}\n\nfunction assertConsistent(\n label: string,\n column: string,\n expected: string | undefined,\n actual: string | undefined,\n): void {\n if (expected !== actual) {\n throw new Error(\n `Translation CSV conflict for ${label}: column \"${column}\" is inconsistent.`,\n );\n }\n}\n\nfunction parseDocument(records: CsvRecord[]): ParsedTranslationExchangeDocument {\n const first = records[0]!;\n if (optional(first.schemaVersion) !== undefined && first.schemaVersion !== '1') {\n throw new Error('Translation CSV schemaVersion must be 1.');\n }\n const sourceLanguage = optional(first.sourceLanguage);\n if (!sourceLanguage) {\n throw new Error('Translation CSV sourceLanguage is required.');\n }\n\n for (const record of records.slice(1)) {\n if (\n optional(record.schemaVersion) !== undefined &&\n record.schemaVersion !== '1'\n ) {\n throw new Error('Translation CSV schemaVersion must be 1.');\n }\n for (const column of DOCUMENT_COLUMNS) {\n assertConsistent(\n 'document metadata',\n column,\n optional(first[column]),\n optional(record[column]),\n );\n }\n }\n\n const targetLanguages = [...new Set(\n records.map((record) => {\n const language = optional(record.targetLanguage);\n if (!language) throw new Error('Translation CSV targetLanguage is required.');\n return language;\n }),\n )].sort(compareText);\n\n type EntryAccumulator = {\n entry: ParsedTranslationExchangeEntry;\n evidence: CsvRecord;\n };\n const grouped = new Map<string, EntryAccumulator>();\n\n records.forEach((record, index) => {\n const key = optional(record.key);\n if (!key) throw new Error(`Translation CSV row ${index + 2} key is required.`);\n const targetLanguage = optional(record.targetLanguage)!;\n const namespace = optional(record.namespace);\n const identity = `${namespace ?? ''}\\u0000${key}`;\n const existing = grouped.get(identity);\n\n if (existing) {\n for (const column of ENTRY_COLUMNS) {\n assertConsistent(\n `key \"${key}\"`,\n column,\n optional(existing.evidence[column]),\n optional(record[column]),\n );\n }\n if (existing.entry.translations[targetLanguage]) {\n throw new Error(\n `Duplicate translation entry for \"${key}\" in ${targetLanguage}.`,\n );\n }\n existing.entry.translations[targetLanguage] = translationValue(record);\n return;\n }\n\n const entry: ParsedTranslationExchangeEntry = {\n key,\n ...(namespace ? { namespace } : {}),\n kind: entryKind(record.kind),\n format: entryFormat(record.format),\n ...(record.sourceText === undefined\n ? {}\n : { sourceText: record.sourceText }),\n ...(optional(record.keyVersionId)\n ? { keyVersionId: record.keyVersionId }\n : {}),\n ...(optional(record.sourceHash) ? { sourceHash: record.sourceHash } : {}),\n ...(optional(record.contractHash)\n ? { contractHash: record.contractHash }\n : {}),\n ...(optional(record.argumentSignature)\n ? { argumentSignature: record.argumentSignature }\n : {}),\n ...(optional(record.description)\n ? { description: record.description }\n : {}),\n translations: {\n [targetLanguage]: translationValue(record),\n },\n };\n grouped.set(identity, { entry, evidence: record });\n });\n\n return normalizeParsedTranslationExchangeDocument({\n schemaVersion: 1,\n ...(optional(first.appId) ? { appId: first.appId } : {}),\n ...(optional(first.branchId) ? { branchId: first.branchId } : {}),\n sourceLanguage,\n targetLanguages,\n ...(optional(first.exportedAt) ? { exportedAt: first.exportedAt } : {}),\n ...(optional(first.revisionWatermark)\n ? { revisionWatermark: first.revisionWatermark }\n : {}),\n ...(optional(first.contractSetHash)\n ? { contractSetHash: first.contractSetHash }\n : {}),\n entries: [...grouped.values()]\n .map(({ entry }) => entry)\n .sort((left, right) =>\n compareText(left.namespace ?? '', right.namespace ?? '') ||\n compareText(left.key, right.key),\n ),\n });\n}\n\nfunction translationValue(record: CsvRecord): TranslationExchangeValue {\n return {\n text: record.targetText ?? '',\n ...(optional(record.state)\n ? { state: record.state as TranslationExchangeValue['state'] }\n : {}),\n ...(optional(record.note) ? { note: record.note } : {}),\n };\n}\n\nfunction formulaEscapingMarker(record: CsvRecord): string {\n const escapedColumns = TRANSLATION_CSV_COLUMNS.filter(\n (column) =>\n column !== 'escaping' &&\n isSpreadsheetDangerous(record[column] ?? ''),\n );\n return `${ESCAPING_VERSION}:${escapedColumns.join('|')}`;\n}\n\nfunction serializeRows(document: TranslationExchangeDocument): string {\n const normalized = validateTranslationExchangeDocument(document);\n const languages = [...new Set([\n ...normalized.targetLanguages,\n ...normalized.entries.flatMap((entry) => Object.keys(entry.translations)),\n ])].sort(compareText);\n if (languages.length === 0 && normalized.entries.length > 0) {\n throw new Error('Translation CSV export requires a target language.');\n }\n\n const records: CsvRecord[] = [];\n const entries = [...normalized.entries].sort((left, right) =>\n compareText(left.namespace ?? '', right.namespace ?? '') ||\n compareText(left.key, right.key),\n );\n for (const entry of entries) {\n for (const targetLanguage of languages) {\n const translation = entry.translations[targetLanguage];\n const record: CsvRecord = {\n schemaVersion: '1',\n appId: normalized.appId ?? '',\n branchId: normalized.branchId ?? '',\n sourceLanguage: normalized.sourceLanguage,\n targetLanguage,\n key: entry.key,\n namespace: entry.namespace ?? '',\n kind: entry.kind,\n sourceText: entry.sourceText,\n targetText: translation?.text ?? '',\n state: translation?.state ?? '',\n note: translation?.note ?? '',\n description: entry.description ?? '',\n format: entry.format,\n keyVersionId: entry.keyVersionId,\n sourceHash: entry.sourceHash,\n contractHash: entry.contractHash,\n argumentSignature: entry.argumentSignature,\n exportedAt: normalized.exportedAt ?? '',\n revisionWatermark: normalized.revisionWatermark ?? '',\n contractSetHash: normalized.contractSetHash ?? '',\n };\n record.escaping = formulaEscapingMarker(record);\n records.push(record);\n }\n }\n\n return [\n TRANSLATION_CSV_COLUMNS.join(','),\n ...records.map((record) =>\n TRANSLATION_CSV_COLUMNS.map((column) =>\n encodeCsvCell(record[column] ?? ''),\n ).join(','),\n ),\n ].join('\\r\\n');\n}\n\nexport const translationCsvAdapter: TranslationFormatAdapter = {\n format: 'csv',\n\n sniff(input, fileName) {\n if (fileName?.toLowerCase().endsWith('.csv')) return true;\n try {\n const header = parseCsvRows(decodeUtf8(input))[0] ?? [];\n return REQUIRED_COLUMNS.every((column) => header.includes(column));\n } catch {\n return false;\n }\n },\n\n async parse(input) {\n return parseDocument(rowsToRecords(parseCsvRows(decodeUtf8(input))));\n },\n\n async serialize(document): Promise<SerializedTranslationDocument> {\n return {\n fileName: 'translations.csv',\n mediaType: 'text/csv;charset=utf-8',\n body: new TextEncoder().encode(serializeRows(document)),\n };\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/formats/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/formats/json.ts"],"names":[],"mappings":"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","sourcesContent":["import { unzipSync, zipSync, type Zippable } from 'fflate';\n\nimport {\n normalizeParsedTranslationExchangeDocument,\n validateTranslationExchangeDocument,\n type ParsedTranslationExchangeDocument,\n type SerializedTranslationDocument,\n type TranslationExchangeDocument,\n type TranslationExchangeEntry,\n type TranslationFormatAdapter,\n} from '../exchange.js';\nimport { canonicalLanguageTag } from '../key-version.js';\n\nconst textDecoder = new TextDecoder('utf-8', { fatal: true });\nconst textEncoder = new TextEncoder();\nconst SIDECAR_PATH = 'linked.exchange.json';\n/** Pre-0.3.0 sidecar path and format id — read, never written. */\nconst LEGACY_SIDECAR_PATH = 'create-now.exchange.json';\nconst SIDECAR_FORMAT = 'linked-i18next-zip';\nconst LEGACY_SIDECAR_FORMAT = 'create-now-i18next-zip';\nconst ZIP_LOCAL_FILE_SIGNATURE = 0x04034b50;\nconst ZIP_EMPTY_SIGNATURE = 0x06054b50;\nconst ZIP_SPANNED_SIGNATURE = 0x08074b50;\n\nexport type I18nextJsonLayout = 'flat' | 'nested';\n\nexport interface TranslationJsonArchiveLimits {\n maxEntries: number;\n maxArchiveBytes: number;\n maxEntryCompressedBytes: number;\n maxEntryUncompressedBytes: number;\n maxTotalUncompressedBytes: number;\n maxCompressionRatio: number;\n}\n\nexport const DEFAULT_TRANSLATION_JSON_ARCHIVE_LIMITS:\n TranslationJsonArchiveLimits = Object.freeze({\n maxEntries: 256,\n maxArchiveBytes: 16 * 1024 * 1024,\n maxEntryCompressedBytes: 8 * 1024 * 1024,\n maxEntryUncompressedBytes: 16 * 1024 * 1024,\n maxTotalUncompressedBytes: 64 * 1024 * 1024,\n maxCompressionRatio: 100,\n });\n\nexport interface TranslationJsonParseOptions {\n /** Required when a standalone filename does not begin with a BCP-47 tag. */\n language?: string;\n /** Standalone JSON has no source evidence, so this defaults to `und`. */\n sourceLanguage?: string;\n /** Tolgee's default namespace is exposed as unprefixed runtime keys. */\n defaultNamespace?: string;\n fileName?: string;\n limits?: Partial<TranslationJsonArchiveLimits>;\n}\n\nexport interface TranslationJsonSerializeOptions {\n layout?: I18nextJsonLayout;\n limits?: Partial<TranslationJsonArchiveLimits>;\n}\n\ninterface TranslationJsonSidecar {\n schemaVersion: 1;\n format: typeof SIDECAR_FORMAT | typeof LEGACY_SIDECAR_FORMAT;\n exchange: TranslationExchangeDocument;\n files: Record<string, string>;\n}\n\ninterface JsonObject {\n [key: string]: JsonValue;\n}\ntype JsonValue = string | JsonObject;\n\nfunction decodeUtf8(input: Uint8Array, label: string): string {\n try {\n return textDecoder.decode(input);\n } catch {\n throw new Error(`${label} is not valid UTF-8.`);\n }\n}\n\nfunction parseJsonObject(input: Uint8Array, label: string): JsonObject {\n let value: unknown;\n try {\n value = JSON.parse(decodeUtf8(input, label));\n } catch (error) {\n if (error instanceof Error && error.message.endsWith('is not valid UTF-8.')) {\n throw error;\n }\n throw new Error(`${label} is not valid JSON.`);\n }\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error(`${label} must contain a JSON object.`);\n }\n return value as JsonObject;\n}\n\nfunction flattenJsonObject(\n input: JsonObject,\n prefix = '',\n output: Record<string, string> = Object.create(null),\n): Record<string, string> {\n for (const key of Object.keys(input).sort()) {\n if (!key) throw new Error('i18next JSON keys must not be empty.');\n const value = input[key] as unknown;\n const path = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'string') {\n if (Object.hasOwn(output, path)) {\n throw new Error(`Duplicate i18next key \"${path}\".`);\n }\n output[path] = value;\n continue;\n }\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error(\n `i18next JSON value for \"${path}\" must be a string or object.`,\n );\n }\n flattenJsonObject(value as JsonObject, path, output);\n }\n return output;\n}\n\nfunction nestedJsonObject(values: Record<string, string>): JsonObject {\n const root: JsonObject = Object.create(null);\n for (const key of Object.keys(values).sort()) {\n const segments = key.split('.');\n if (segments.some((segment) => !segment)) {\n throw new Error(`Cannot nest i18next key \"${key}\" with an empty segment.`);\n }\n let cursor = root;\n for (let index = 0; index < segments.length; index += 1) {\n const segment = segments[index];\n const path = segments.slice(0, index + 1).join('.');\n const last = index === segments.length - 1;\n const existing = cursor[segment];\n if (last) {\n if (existing !== undefined) {\n throw new Error(\n `Cannot nest i18next keys because \"${path}\" is both a value and a namespace.`,\n );\n }\n cursor[segment] = values[key];\n } else {\n if (typeof existing === 'string') {\n throw new Error(\n `Cannot nest i18next keys because \"${path}\" is both a value and a namespace.`,\n );\n }\n if (!existing) cursor[segment] = Object.create(null) as JsonObject;\n cursor = cursor[segment] as JsonObject;\n }\n }\n }\n return root;\n}\n\nfunction orderedFlatJsonObject(values: Record<string, string>): JsonObject {\n const output: JsonObject = Object.create(null);\n for (const key of Object.keys(values).sort()) output[key] = values[key];\n return output;\n}\n\nfunction stableJson(value: unknown): string {\n const normalize = (item: unknown): unknown => {\n if (Array.isArray(item)) return item.map(normalize);\n if (item && typeof item === 'object') {\n const result: Record<string, unknown> = {};\n for (const key of Object.keys(item as Record<string, unknown>).sort()) {\n result[key] = normalize((item as Record<string, unknown>)[key]);\n }\n return result;\n }\n return item;\n };\n return `${JSON.stringify(normalize(value), null, 2)}\\n`;\n}\n\nfunction storageKey(entry: Pick<TranslationExchangeEntry, 'key' | 'namespace'>):\n string {\n return entry.namespace ? `${entry.namespace}:${entry.key}` : entry.key;\n}\n\nfunction languageValues(\n document: TranslationExchangeDocument,\n language: string,\n): Record<string, string> {\n const values: Record<string, string> = Object.create(null);\n for (const entry of document.entries) {\n const key = storageKey(entry);\n if (Object.hasOwn(values, key)) {\n throw new Error(\n `i18next JSON key \"${key}\" is ambiguous after namespace mapping.`,\n );\n }\n if (language === document.sourceLanguage) {\n values[key] = entry.sourceText;\n } else {\n const translation = entry.translations[language];\n if (translation) values[key] = translation.text;\n }\n }\n return values;\n}\n\nfunction serializeLanguage(\n document: TranslationExchangeDocument,\n language: string,\n layout: I18nextJsonLayout,\n): Uint8Array {\n const values = languageValues(document, language);\n const json =\n layout === 'nested'\n ? nestedJsonObject(values)\n : orderedFlatJsonObject(values);\n return textEncoder.encode(stableJson(json));\n}\n\nfunction isZip(input: Uint8Array): boolean {\n if (input.byteLength < 4) return false;\n const signature = new DataView(\n input.buffer,\n input.byteOffset,\n input.byteLength,\n ).getUint32(0, true);\n return (\n signature === ZIP_LOCAL_FILE_SIGNATURE ||\n signature === ZIP_EMPTY_SIGNATURE ||\n signature === ZIP_SPANNED_SIGNATURE\n );\n}\n\nexport function translationZipLimits(\n overrides?: Partial<TranslationJsonArchiveLimits>,\n): TranslationJsonArchiveLimits {\n const limits = {\n ...DEFAULT_TRANSLATION_JSON_ARCHIVE_LIMITS,\n ...overrides,\n };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isFinite(value) || value <= 0) {\n throw new Error(`ZIP limit \"${name}\" must be a positive number.`);\n }\n }\n return limits;\n}\n\nfunction assertSafeArchivePath(path: string): void {\n if (\n !path ||\n path.includes('\\0') ||\n path.startsWith('/') ||\n path.startsWith('\\\\') ||\n /^[A-Za-z]:/.test(path)\n ) {\n throw new Error(`Unsafe ZIP entry path \"${path}\".`);\n }\n const segments = path.replaceAll('\\\\', '/').split('/');\n if (segments.some((segment) => segment === '..' || segment === '.')) {\n throw new Error(`Unsafe ZIP entry path \"${path}\".`);\n }\n}\n\nexport function safeUnzipTranslationZip(\n input: Uint8Array,\n overrides?: Partial<TranslationJsonArchiveLimits>,\n): Record<string, Uint8Array> {\n const limits = translationZipLimits(overrides);\n if (input.byteLength > limits.maxArchiveBytes) {\n throw new Error('ZIP archive exceeds the compressed size limit.');\n }\n const names = new Set<string>();\n let entryCount = 0;\n let totalUncompressed = 0;\n try {\n // fflate calls the filter before inflating each entry. A validation-only\n // pass that rejects every entry therefore inspects the complete central\n // directory before a second pass allocates or decompresses file bodies.\n unzipSync(input, {\n filter: (entry) => {\n assertSafeArchivePath(entry.name);\n if (names.has(entry.name)) {\n throw new Error(`ZIP archive contains duplicate entry \"${entry.name}\".`);\n }\n names.add(entry.name);\n entryCount += 1;\n if (entryCount > limits.maxEntries) {\n throw new Error('ZIP archive exceeds the entry-count limit.');\n }\n if (entry.size > limits.maxEntryCompressedBytes) {\n throw new Error(\n `ZIP entry \"${entry.name}\" exceeds the compressed size limit.`,\n );\n }\n if (entry.originalSize > limits.maxEntryUncompressedBytes) {\n throw new Error(\n `ZIP entry \"${entry.name}\" exceeds the uncompressed size limit.`,\n );\n }\n totalUncompressed += entry.originalSize;\n if (totalUncompressed > limits.maxTotalUncompressedBytes) {\n throw new Error('ZIP archive exceeds the total uncompressed size limit.');\n }\n const ratio = entry.originalSize / Math.max(1, entry.size);\n if (ratio > limits.maxCompressionRatio) {\n throw new Error(\n `ZIP entry \"${entry.name}\" exceeds the compression-ratio limit.`,\n );\n }\n return false;\n },\n });\n return unzipSync(input, {\n filter: (entry) => !entry.name.endsWith('/'),\n });\n } catch (error) {\n if (error instanceof Error && error.message.startsWith('ZIP ')) throw error;\n throw new Error(\n `Invalid or unsupported ZIP archive: ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n }\n}\n\nfunction languageFromFileName(fileName?: string): string | undefined {\n if (!fileName) return undefined;\n const name = fileName.replaceAll('\\\\', '/').split('/').pop() ?? '';\n const candidate = name.replace(/\\.json$/i, '');\n try {\n return canonicalLanguageTag(candidate);\n } catch {\n return undefined;\n }\n}\n\nfunction parseStandalone(\n input: Uint8Array,\n options: TranslationJsonParseOptions,\n): ParsedTranslationExchangeDocument {\n const language = canonicalLanguageTag(\n options.language ?? languageFromFileName(options.fileName) ?? 'und',\n );\n const sourceLanguage = canonicalLanguageTag(options.sourceLanguage ?? 'und');\n const values = flattenJsonObject(\n parseJsonObject(input, options.fileName ?? 'Standalone i18next JSON'),\n );\n return normalizeParsedTranslationExchangeDocument({\n schemaVersion: 1,\n sourceLanguage,\n targetLanguages: [language],\n entries: Object.keys(values)\n .sort()\n .map((key) => ({\n key,\n kind: 'ui',\n format: 'simple',\n translations: { [language]: { text: values[key] } },\n })),\n });\n}\n\nfunction sidecarFromBytes(\n input: Uint8Array,\n path: string,\n): TranslationJsonSidecar {\n const value = parseJsonObject(input, path) as unknown as Partial<\n TranslationJsonSidecar\n >;\n if (\n value.schemaVersion !== 1 ||\n (value.format !== SIDECAR_FORMAT && value.format !== LEGACY_SIDECAR_FORMAT) ||\n !value.exchange ||\n !value.files ||\n typeof value.files !== 'object' ||\n Array.isArray(value.files)\n ) {\n throw new Error('Translation JSON ZIP sidecar is invalid.');\n }\n return value as TranslationJsonSidecar;\n}\n\nfunction assertMapsEqual(\n actual: Record<string, string>,\n expected: Record<string, string>,\n label: string,\n): void {\n const actualKeys = Object.keys(actual).sort();\n const expectedKeys = Object.keys(expected).sort();\n if (\n actualKeys.length !== expectedKeys.length ||\n actualKeys.some((key, index) => key !== expectedKeys[index])\n ) {\n throw new Error(`${label} keys do not match the exchange sidecar.`);\n }\n for (const key of expectedKeys) {\n if (actual[key] !== expected[key]) {\n throw new Error(\n `${label} value for \"${key}\" does not match the exchange sidecar.`,\n );\n }\n }\n}\n\nfunction parseArchive(\n input: Uint8Array,\n options: TranslationJsonParseOptions,\n): ParsedTranslationExchangeDocument {\n const files = safeUnzipTranslationZip(input, options.limits);\n const sidecarPath =\n files[SIDECAR_PATH] !== undefined ? SIDECAR_PATH : LEGACY_SIDECAR_PATH;\n const sidecarBytes = files[sidecarPath];\n if (!sidecarBytes) {\n return parseTolgeeArchive(files, options);\n }\n const sidecar = sidecarFromBytes(sidecarBytes, sidecarPath);\n const exchange = validateTranslationExchangeDocument(sidecar.exchange);\n const expectedLanguages = [\n exchange.sourceLanguage,\n ...exchange.targetLanguages,\n ];\n const fileLanguages = Object.keys(sidecar.files).sort();\n if (\n fileLanguages.length !== expectedLanguages.length ||\n expectedLanguages\n .slice()\n .sort()\n .some((language, index) => language !== fileLanguages[index])\n ) {\n throw new Error('Translation JSON ZIP language manifest is incomplete.');\n }\n const usedPaths = new Set<string>();\n for (const language of expectedLanguages) {\n const path = sidecar.files[language];\n if (typeof path !== 'string') {\n throw new Error(`Translation JSON ZIP has no file for ${language}.`);\n }\n assertSafeArchivePath(path);\n if (usedPaths.has(path)) {\n throw new Error(`Translation JSON ZIP reuses language file \"${path}\".`);\n }\n usedPaths.add(path);\n const bytes = files[path];\n if (!bytes) {\n throw new Error(`Translation JSON ZIP is missing language file \"${path}\".`);\n }\n const actual = flattenJsonObject(parseJsonObject(bytes, path));\n const expected = languageValues(exchange, language);\n assertMapsEqual(actual, expected, path);\n }\n return normalizeParsedTranslationExchangeDocument(exchange);\n}\n\n/** Tolgee JSON exports carry source text, but no immutable key-version evidence.\n * Parsing never writes or invents version IDs; a manager must approve the import.\n * The same bounded ZIP reader runs before either archive format is considered.\n */\nfunction parseTolgeeArchive(\n files: Record<string, Uint8Array>,\n options: TranslationJsonParseOptions,\n): ParsedTranslationExchangeDocument {\n const sourceLanguage = canonicalLanguageTag(options.sourceLanguage ?? 'en');\n const defaultNamespace = options.defaultNamespace ?? 'common';\n const namespaces = new Map<string, Map<string, Record<string, string>>>();\n for (const [path, bytes] of Object.entries(files)) {\n const match = /^(?:([^/\\\\]+)\\/)?([^/\\\\]+)\\.json$/.exec(path);\n if (!match) {\n throw new Error(`Tolgee ZIP entry \"${path}\" must use namespace/language.json or language.json.`);\n }\n const [, namespace = '', languageName] = match;\n const language = canonicalLanguageTag(languageName);\n if (language === 'und') throw new Error(`Tolgee ZIP entry \"${path}\" needs a language tag.`);\n let languages = namespaces.get(namespace);\n if (!languages) namespaces.set(namespace, (languages = new Map()));\n if (languages.has(language)) {\n throw new Error(`Tolgee ZIP contains duplicate language ${language} in ${namespace}.`);\n }\n languages.set(language, flattenJsonObject(parseJsonObject(bytes, path)));\n }\n if (!namespaces.size) throw new Error('Tolgee ZIP contains no language files.');\n const targetLanguages = new Set<string>();\n const entries: ParsedTranslationExchangeDocument['entries'] = [];\n for (const [namespace, languages] of namespaces) {\n const sources = languages.get(sourceLanguage);\n if (!sources) {\n throw new Error(`Tolgee ZIP is missing ${namespace}/${sourceLanguage}.json source text.`);\n }\n for (const [language, values] of languages) {\n if (language === sourceLanguage) continue;\n targetLanguages.add(language);\n for (const key of Object.keys(values)) {\n if (!Object.hasOwn(sources, key)) {\n throw new Error(`Tolgee key \"${namespace}:${key}\" in ${language} has no source text.`);\n }\n }\n }\n for (const key of Object.keys(sources).sort()) {\n const translations: TranslationExchangeEntry['translations'] = Object.create(null);\n for (const [language, values] of languages) {\n if (language !== sourceLanguage && Object.hasOwn(values, key) && values[key] !== '') {\n translations[language] = { text: values[key] };\n }\n }\n entries.push({\n key,\n ...(!namespace || namespace === defaultNamespace ? {} : { namespace }),\n kind: 'ui',\n format: 'simple',\n sourceText: sources[key],\n translations,\n });\n }\n }\n return normalizeParsedTranslationExchangeDocument({\n schemaVersion: 1,\n sourceLanguage,\n targetLanguages: [...targetLanguages].sort(),\n entries,\n });\n}\n\nexport function parseI18nextJson(\n input: Uint8Array,\n options: TranslationJsonParseOptions = {},\n): ParsedTranslationExchangeDocument {\n return isZip(input)\n ? parseArchive(input, options)\n : parseStandalone(input, options);\n}\n\nexport function serializeI18nextJsonZip(\n document: TranslationExchangeDocument,\n options: TranslationJsonSerializeOptions = {},\n): SerializedTranslationDocument {\n const exchange = validateTranslationExchangeDocument(document);\n const limits = translationZipLimits(options.limits);\n const layout = options.layout ?? 'flat';\n const files: Zippable = Object.create(null);\n const languageFiles: Record<string, string> = Object.create(null);\n const languages = [exchange.sourceLanguage, ...exchange.targetLanguages];\n for (const language of languages) {\n const path = `locales/${language}.json`;\n languageFiles[language] = path;\n files[path] = serializeLanguage(exchange, language, layout);\n }\n const sidecar: TranslationJsonSidecar = {\n schemaVersion: 1,\n format: SIDECAR_FORMAT,\n exchange,\n files: languageFiles,\n };\n files[SIDECAR_PATH] = textEncoder.encode(stableJson(sidecar));\n if (Object.keys(files).length > limits.maxEntries) {\n throw new Error('ZIP archive exceeds the entry-count limit.');\n }\n for (const [path, body] of Object.entries(files)) {\n const bytes = Array.isArray(body) ? body[0] : body;\n if (bytes instanceof Uint8Array && bytes.byteLength > limits.maxEntryUncompressedBytes) {\n throw new Error(`ZIP entry \"${path}\" exceeds the uncompressed size limit.`);\n }\n }\n const body = zipSync(files, {\n level: 6,\n mtime: new Date('1980-01-01T00:00:00.000Z'),\n });\n if (body.byteLength > limits.maxArchiveBytes) {\n throw new Error('ZIP archive exceeds the compressed size limit.');\n }\n // Guarantee that an archive produced with custom limits is accepted by the\n // same guarded import path (including total-size and ratio checks).\n safeUnzipTranslationZip(body, limits);\n return {\n fileName: 'translations.i18next.zip',\n mediaType: 'application/zip',\n body,\n };\n}\n\nexport const i18nextJsonFormatAdapter: TranslationFormatAdapter = {\n format: 'json',\n sniff(input, fileName) {\n if (isZip(input)) return true;\n if (fileName?.toLowerCase().endsWith('.json')) return true;\n const first = decodeUtf8(input.slice(0, 64), 'JSON input').trimStart()[0];\n return first === '{';\n },\n async parse(input, options) {\n return parseI18nextJson(input, options as TranslationJsonParseOptions);\n },\n async serialize(document, options) {\n return serializeI18nextJsonZip(\n document,\n options as TranslationJsonSerializeOptions,\n );\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"xliff.js","sourceRoot":"","sources":["../../../src/formats/xliff.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0CAA0C,GAO3C,MAAM,gBAAgB,CAAC;AAGxB,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAC/B;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;AACzE,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,0EAA0E;AAC1E,MAAM,UAAU,GAAG;IACjB,WAAW,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IAC7D,MAAM,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEX,SAAS,UAAU,CACjB,KAAyB,EACzB,IAA6B;IAE7B,OAAO,KAAK,KAAK,SAAS,IAAK,UAAU,CAAC,IAAI,CAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxF,CAAC;AACD,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AACnE,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AACnE,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAE/C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,GAAG;CACJ,CAAC,CAAC;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAyBvE,SAAS,IAAI,CAAC,KAAiB;IAC7B,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,UAAU,CAAC,KAAK,CAAC;SACrB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,iDAAiD,EACjD,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QACvB,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,GAAG,CAAC;QAC/B,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;QAC9B,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC;QAC9B,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QAChC,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CACF,CAAC;IACF,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,KAAa;IAC5C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,SAAS,KAAK,KAAK;gBAAE,KAAK,GAAG,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAClD,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC;aAAM,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;;IAKpC,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,WAAW;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,IAAI,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;IACvE,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAC;QAClE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,GAAY;QACpB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,QAAQ;gBAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,MAAM;QACR,CAAC;QACD,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9D,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,OAAO,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC7E,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,KAAK,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,YAAY,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC3C,CAAC,KAAK,EAAoB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACvD,CAAC;IACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CACzB,CAAC,KAAK,EAAoB,EAAE,CAC1B,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa,EAAE,IAAY;IAC9C,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CAAC,IAAa,EAAE,IAAY;IACxC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,IAAY;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAC/C,CAAC;IACF,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;SAC9D,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,IAAI,CAAC;IACtE,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,IAAI,IAAI,CAAC,QAAQ;SAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CACrE;SACA,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;AAC/B,CAAC;AAED,SAAS,QAAQ,CACf,IAAyB,EACzB,eAA4B,EAC5B,OAA0B,EAC1B,MAAe;IAEf,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,KAAK,GAAG,CAAC,MAAe,EAAQ,EAAE;;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAA,OAAO,CAAC,SAAS,wDAAG;oBAClB,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,qCAAqC,KAAK,CAAC,IAAI,kBAAkB;oBAC1E,OAAO,EAAE,KAAK,CAAC,IAAI;oBACnB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,QAAQ;SACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CACzD;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,IAAI,CAAC,QAAQ;SACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;SAC5E,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAa,EAAE,IAAY;;IAC3C,OAAO,CACL,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,mCACpC,IAAI,CAAC,UAAU,CAAC,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC,mCAC3C,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IACE,KAAK,KAAK,cAAc;QACxB,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,UAAU;QACpB,KAAK,KAAK,OAAO,EACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QACxE,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,KAAK,KAAK,0BAA0B;QAAE,OAAO,OAAO,CAAC;IACzD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IAClE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IAInC,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;YAC7B,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;YAC/B,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;YACtC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;YACrC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;YAC1D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,OAAwC,EACxC,IAAa,EACb,UAA8B,EAC9B,UAA8B,EAC9B,cAAkC,EAClC,WAAyC,EACzC,UAA8B,EAC9B,WAA+B;;IAE/B,MAAM,GAAG,GAAG,MAAA,MAAA,MAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,mCAAI,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,mCAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,mCAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpH,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,SAAS,GAAG,EAAE,CAAC;IAClD,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG;YACN,GAAG;YACH,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YAC/D,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC7D,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAClC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;gBAC/B,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;gBACjC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBACtC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,cAAc,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAG,QAAQ,cAAc,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG;YACnC,IAAI,EAAE,UAAU;YAChB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,IAAa,EACb,OAA0B;;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,IAAI,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7C,cAAc,aAAd,cAAc,cAAd,cAAc,IAAd,cAAc,GAAK,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAC;QACtD,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAC1D,IAAI,cAAc;YAAE,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YACnD,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,MAAM,QAAQ,GACZ,MAAA,SAAS,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,EAAE,MAAM,CAAC,mCAAI,cAAc,CAAC;YACtD,IAAI,QAAQ;gBAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,SAAS,CAC3B,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CACzE,CAAC;YACF,MAAM,UAAU,GAAG,SAAS,CAC1B,KAAK,CAAC,IAAI,CACR,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;gBAC7C,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,CAClF,CACF,CAAC;YACF,SAAS,CACP,OAAO,EACP,IAAI,EACJ,UAAU,EACV,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,EACxC,QAAQ,EACR,eAAe,CAAC,MAAA,QAAQ,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,EAAE,OAAO,CAAC,mCAAI,SAAS,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,EAAE,OAAO,CAAC,CAAC,EACxF,UAAU,EACV,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC9E,OAAO,0CAA0C,CAAC;QAChD,GAAG,cAAc,CAAC,IAAI,CAAC;QACvB,cAAc;QACd,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;QACrC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CACd,IAAa,EACb,OAA0B;;IAE1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACtD,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,kBAAkB;QAAE,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,kBAAkB,GACtB,MAAA,MAAA,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,mCAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC,mCACjC,kBAAkB,CAAC;QACrB,IAAI,kBAAkB;YAAE,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChE,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,mCAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,EAAE,MAAM,CAAC,mCAAI,kBAAkB,CAAC;YACzE,IAAI,QAAQ;gBAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,WAAW,GAAG,SAAS,CAC3B,KAAK,CAAC,IAAI,CACR,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CACjE,CACF,CAAC;YACF,MAAM,UAAU,GAAG,SAAS,CAC1B,KAAK,CAAC,IAAI,CACR,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC;gBACjD,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,CAClF,CACF,CAAC;YACF,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,SAAS,CACP,OAAO,EACP,IAAI,EACJ,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,EAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,EACxC,QAAQ,EACR,eAAe,CAAC,MAAA,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,mCAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAC1E,UAAU,EACV,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,0CAA0C,CAAC;QAChD,GAAG,cAAc,CAAC,IAAI,CAAC;QACvB,cAAc;QACd,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;QACrC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CACjB,KAAiB,EACjB,eAA8B,EAC9B,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,kBAAkB,eAAe,cAAc,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,oBAAoB,GAAG,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,eAAe,CAAC,KAA+B,EAAE,KAAa;;IACrE,MAAM,QAAQ,GAAG,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,SAAS,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;IAChE,OAAO,IAAI,KAAK,GAAG,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,KAAmC;IAClD,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,0BAA0B,CAAC;IACzD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC7C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,KAAmC;IAClD,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA+B;IACzD,OAAO;QACL,CAAC,GAAG,MAAM,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC;QAC5B,CAAC,GAAG,MAAM,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;QACxC,CAAC,GAAG,MAAM,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QAC9B,CAAC,GAAG,MAAM,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC,GAAG,MAAM,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC;QAChD,CAAC,GAAG,MAAM,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC;QAC3C,CAAC,GAAG,MAAM,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC;QAC/C,CAAC,GAAG,MAAM,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC;KAC1D;SACE,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;SAC9D,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,QAAqC;IACzD,OAAO;QACL,CAAC,GAAG,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC,GAAG,MAAM,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC;QACpC,CAAC,GAAG,MAAM,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC1C,CAAC,GAAG,MAAM,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC9C,CAAC,GAAG,MAAM,qBAAqB,EAAE,QAAQ,CAAC,iBAAiB,CAAC;QAC5D,CAAC,GAAG,MAAM,oBAAoB,EAAE,QAAQ,CAAC,eAAe,CAAC;KAC1D;SACE,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;SAC9D,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,MAAmB;IAC/D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,KAAK,eAAe,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CACnC,CAAC,KAAK,EAAoB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACvD,CAAC;QACF,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EACvD,CAAC;YACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ;aACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CACrE;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,QAAqC;IACpD,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,QAAQ,CAAC,eAAe;QAC1B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,QAAqC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;SAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;aAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG;gBACZ,KAAK,CAAC,WAAW;oBACf,CAAC,CAAC,eAAe,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS;oBACrF,CAAC,CAAC,EAAE;gBACN,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;oBACV,CAAC,CAAC,eAAe,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,eAAe,CAAC,QAAS,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;oBACnH,CAAC,CAAC,EAAE;aACP,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,OAAO,mBAAmB,eAAe,CAAC,EAAE,CAAC,cAAc,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,YAAY,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,YAC9K,QAAQ,IAAI,MAAM;gBAChB,CAAC,CAAC,qBAAqB,eAAe,CAAC,QAAQ,CAAC,YAAY,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,KAAK,MAAM,WAAW,eAAe,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,cAAc,CAAC,KAAK,qBAAqB,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,EAAE,EAAE,SAAS,CAAC,WAAW;gBAC5N,CAAC,CAAC,EACN,GAAG,KAAK,eAAe,CAAC;QAC1B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,cAAc,SAAS,GAAG,CAAC,6DAA6D,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,IACrI,QAAQ,CAAC,CAAC,CAAC,qBAAqB,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EACjE,UAAU,KAAK,gBAAgB,CAAC;IAClC,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,yDAAyD,kBAAkB,WAAW,MAAM,KAAK,kBAAkB,kBAAkB,YAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC;AAC1L,CAAC;AAED,SAAS,WAAW,CAAC,QAAqC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;SAC5B,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;aAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,KAAK,GACT,KAAK,CAAC,WAAW,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA;gBAC/B,CAAC,CAAC,UACE,KAAK,CAAC,WAAW;oBACf,CAAC,CAAC,mBAAmB,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS;oBACzF,CAAC,CAAC,EACN,GACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;oBACV,CAAC,CAAC,mBAAmB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,eAAe,CAAC,QAAS,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;oBACvH,CAAC,CAAC,EACN,UAAU;gBACZ,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,aAAa,eAAe,CAAC,EAAE,CAAC,WAAW,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,2BAA2B,OAAO,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,KAAK,MAAM,WAAW,eAAe,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,cAAc,CAAC,aAAa,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,YACtS,QAAQ,IAAI,MAAM;gBAChB,CAAC,CAAC,qBAAqB,eAAe,CAAC,QAAQ,CAAC,KAAK,qBAAqB,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,EAAE,EAAE,SAAS,CAAC,WAAW;gBACpH,CAAC,CAAC,EACN,mBAAmB,CAAC;QACtB,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,cAAc,SAAS,GAAG,CAAC,IAChC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,qBAAqB,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAC3E,IAAI,KAAK,SAAS,CAAC;IACrB,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,YAAY,GAChB,QAAQ,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QACnC,CAAC,CAAC,aAAa,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG;QAC9D,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,yDAAyD,kBAAkB,WAAW,MAAM,KAAK,kBAAkB,4BAA4B,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC;AAC/P,CAAC;AAED,SAAS,YAAY,CACnB,KAAiB,EACjB,eAA8B,EAC9B,QAAiB;IAEjB,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,CACL,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC;QACzC,IAAI,MAAM,CAAC,0BAA0B,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAChE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAsB,CAAC;IAChE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,kBAAkB;QAC5B,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KACzC,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAChE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC9B,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAsB,CAAC;IAChE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,kBAAkB;QAC5B,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KACzC,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"xliff.js","sourceRoot":"","sources":["../../../src/formats/xliff.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n normalizeParsedTranslationExchangeDocument,\n type ParsedTranslationExchangeDocument,\n type ParsedTranslationExchangeEntry,\n type TranslationExchangeDocument,\n type TranslationExchangeEntry,\n type TranslationExchangeValue,\n type TranslationFormatAdapter,\n} from '../exchange.js';\nimport type { TranslationState } from '../records.js';\n\nconst UTF8 = new TextEncoder();\n/**\n * Our own metadata namespace, a sibling of the translation vocabulary\n * (`https://id.linked.cm/translation/vocab#`). Files exported before 0.3.0\n * used a Create Now URI and a `cn:` prefix; the reader below still accepts\n * both, so those files keep importing.\n */\nconst EXCHANGE_NAMESPACE = 'https://id.linked.cm/translation/exchange/1';\nconst PREFIX = 'lt';\nconst LEGACY_PREFIX = 'cn';\n/** `from`/`category` on a `<note>`, in current and pre-0.3.0 spelling. */\nconst NOTE_ROLES = {\n description: ['linked-description', 'create-now-description'],\n target: ['linked-target', 'create-now-target'],\n} as const;\n\nfunction isNoteRole(\n value: string | undefined,\n role: keyof typeof NOTE_ROLES,\n): boolean {\n return value !== undefined && (NOTE_ROLES[role] as readonly string[]).includes(value);\n}\nconst XLIFF_12_NAMESPACE = 'urn:oasis:names:tc:xliff:document:1.2';\nconst XLIFF_20_NAMESPACE = 'urn:oasis:names:tc:xliff:document:2.0';\nconst XML_MEDIA_TYPE = 'application/xliff+xml';\n\nconst INLINE_12 = new Set([\n 'bpt',\n 'bx',\n 'ept',\n 'ex',\n 'g',\n 'it',\n 'mrk',\n 'ph',\n 'sub',\n 'x',\n]);\nconst INLINE_20 = new Set(['ec', 'em', 'mrk', 'pc', 'ph', 'sc', 'sm']);\n\ntype XmlChild = XmlNode | string;\n\ninterface XmlNode {\n name: string;\n attributes: Record<string, string>;\n children: XmlChild[];\n}\n\nexport interface XliffFinding {\n code: 'unsupported-inline';\n message: string;\n element: string;\n unitId?: string;\n}\n\nexport interface XliffParseOptions {\n onFinding?: (finding: XliffFinding) => void;\n}\n\ninterface MutableParsedEntry extends ParsedTranslationExchangeEntry {\n translations: Record<string, TranslationExchangeValue>;\n}\n\nfunction text(input: Uint8Array): string {\n return new TextDecoder('utf-8', { fatal: true }).decode(input);\n}\n\nfunction localName(name: string): string {\n const separator = name.indexOf(':');\n return separator === -1 ? name : name.slice(separator + 1);\n}\n\nfunction escapeText(value: string): string {\n return value\n .replaceAll('&', '&amp;')\n .replaceAll('<', '&lt;')\n .replaceAll('>', '&gt;');\n}\n\nfunction escapeAttribute(value: string): string {\n return escapeText(value)\n .replaceAll('\"', '&quot;')\n .replaceAll(\"'\", '&apos;');\n}\n\nfunction decodeEntities(value: string): string {\n const decoded = value.replace(\n /&(#x[0-9a-fA-F]+|#[0-9]+|amp|lt|gt|quot|apos);/g,\n (entity, body: string) => {\n if (body === 'amp') return '&';\n if (body === 'lt') return '<';\n if (body === 'gt') return '>';\n if (body === 'quot') return '\"';\n if (body === 'apos') return \"'\";\n const point = Number.parseInt(body.slice(body[1] === 'x' ? 2 : 1), body[1] === 'x' ? 16 : 10);\n if (!Number.isFinite(point) || point > 0x10ffff) {\n throw new Error(`Invalid XML character reference \"&${body};\".`);\n }\n return String.fromCodePoint(point);\n },\n );\n const unresolved = /&([A-Za-z_:][\\w.:-]*);/.exec(decoded);\n if (unresolved) {\n throw new Error(`Unsupported XML entity reference \"&${unresolved[1]};\".`);\n }\n return decoded;\n}\n\nfunction readTagEnd(xml: string, start: number): number {\n let quote = '';\n for (let index = start; index < xml.length; index += 1) {\n const character = xml[index];\n if (quote) {\n if (character === quote) quote = '';\n } else if (character === '\"' || character === \"'\") {\n quote = character;\n } else if (character === '>') {\n return index;\n }\n }\n throw new Error('Malformed XML: unterminated tag.');\n}\n\nfunction parseAttributes(input: string): {\n name: string;\n attributes: Record<string, string>;\n selfClosing: boolean;\n} {\n let content = input.trim();\n const selfClosing = content.endsWith('/');\n if (selfClosing) content = content.slice(0, -1).trimEnd();\n const nameMatch = /^([^\\s/>]+)/.exec(content);\n if (!nameMatch) throw new Error('Malformed XML: element name is missing.');\n const name = nameMatch[1];\n const attributes: Record<string, string> = {};\n let remainder = content.slice(name.length);\n const attributePattern = /^\\s+([^\\s=/>]+)\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/;\n while (remainder.trim()) {\n const match = attributePattern.exec(remainder);\n if (!match) {\n throw new Error(`Malformed XML attributes on <${name}>.`);\n }\n if (attributes[match[1]] !== undefined) {\n throw new Error(`Duplicate XML attribute \"${match[1]}\".`);\n }\n attributes[match[1]] = decodeEntities(match[3] ?? match[4] ?? '');\n remainder = remainder.slice(match[0].length);\n }\n return { name, attributes, selfClosing };\n}\n\n/**\n * Small, non-validating XML parser for the deliberately narrow XLIFF surface.\n * DTDs and entity declarations are rejected before tokenization, so parsing\n * never performs filesystem or network resolution.\n */\nfunction parseXml(xml: string): XmlNode {\n if (/<!DOCTYPE\\b/i.test(xml) || /<!ENTITY\\b/i.test(xml)) {\n throw new Error('XLIFF containing a DTD or entity declaration is not allowed.');\n }\n const root: XmlNode = {\n name: '#document',\n attributes: {},\n children: [],\n };\n const stack = [root];\n let cursor = 0;\n while (cursor < xml.length) {\n const opening = xml.indexOf('<', cursor);\n if (opening === -1) {\n const trailing = xml.slice(cursor);\n if (trailing) stack.at(-1)!.children.push(decodeEntities(trailing));\n break;\n }\n if (opening > cursor) {\n stack.at(-1)!.children.push(decodeEntities(xml.slice(cursor, opening)));\n }\n if (xml.startsWith('<!--', opening)) {\n const closing = xml.indexOf('-->', opening + 4);\n if (closing === -1) throw new Error('Malformed XML comment.');\n cursor = closing + 3;\n continue;\n }\n if (xml.startsWith('<?', opening)) {\n const closing = xml.indexOf('?>', opening + 2);\n if (closing === -1) throw new Error('Malformed XML processing instruction.');\n cursor = closing + 2;\n continue;\n }\n if (xml.startsWith('<![CDATA[', opening)) {\n const closing = xml.indexOf(']]>', opening + 9);\n if (closing === -1) throw new Error('Malformed XML CDATA section.');\n stack.at(-1)!.children.push(xml.slice(opening + 9, closing));\n cursor = closing + 3;\n continue;\n }\n if (xml.startsWith('</', opening)) {\n const closing = readTagEnd(xml, opening + 2);\n const name = xml.slice(opening + 2, closing).trim();\n const current = stack.pop();\n if (!current || current === root || current.name !== name) {\n throw new Error(`Malformed XML closing tag </${name}>.`);\n }\n cursor = closing + 1;\n continue;\n }\n if (xml.startsWith('<!', opening)) {\n throw new Error('Unsupported XML declaration.');\n }\n const closing = readTagEnd(xml, opening + 1);\n const parsed = parseAttributes(xml.slice(opening + 1, closing));\n const node: XmlNode = {\n name: parsed.name,\n attributes: parsed.attributes,\n children: [],\n };\n stack.at(-1)!.children.push(node);\n if (!parsed.selfClosing) stack.push(node);\n cursor = closing + 1;\n }\n if (stack.length !== 1) {\n throw new Error(`Malformed XML: unclosed <${stack.at(-1)!.name}> element.`);\n }\n const documentElements = root.children.filter(\n (child): child is XmlNode => typeof child !== 'string',\n );\n if (documentElements.length !== 1) {\n throw new Error('XLIFF must contain exactly one document element.');\n }\n return documentElements[0];\n}\n\nfunction children(node: XmlNode, name: string): XmlNode[] {\n return node.children.filter(\n (child): child is XmlNode =>\n typeof child !== 'string' && localName(child.name) === name,\n );\n}\n\nfunction descendants(node: XmlNode, name: string): XmlNode[] {\n const found: XmlNode[] = [];\n for (const child of node.children) {\n if (typeof child === 'string') continue;\n if (localName(child.name) === name) found.push(child);\n found.push(...descendants(child, name));\n }\n return found;\n}\n\nfunction first(node: XmlNode, name: string): XmlNode | undefined {\n return children(node, name)[0];\n}\n\nfunction attribute(node: XmlNode, name: string): string | undefined {\n const direct = node.attributes[name];\n if (direct !== undefined) return direct;\n const entry = Object.entries(node.attributes).find(\n ([qualified]) => localName(qualified) === name,\n );\n return entry?.[1];\n}\n\nfunction serializeNode(node: XmlNode): string {\n const attributes = Object.entries(node.attributes)\n .map(([name, value]) => ` ${name}=\"${escapeAttribute(value)}\"`)\n .join('');\n if (node.children.length === 0) return `<${node.name}${attributes}/>`;\n return `<${node.name}${attributes}>${node.children\n .map((child) =>\n typeof child === 'string' ? escapeText(child) : serializeNode(child),\n )\n .join('')}</${node.name}>`;\n}\n\nfunction innerXml(\n node: XmlNode | undefined,\n supportedInline: Set<string>,\n options: XliffParseOptions,\n unitId?: string,\n): string | undefined {\n if (!node) return undefined;\n const visit = (parent: XmlNode): void => {\n for (const child of parent.children) {\n if (typeof child === 'string') continue;\n const name = localName(child.name);\n if (!supportedInline.has(name)) {\n options.onFinding?.({\n code: 'unsupported-inline',\n message: `Unsupported inline XLIFF element <${child.name}> was preserved.`,\n element: child.name,\n unitId,\n });\n }\n visit(child);\n }\n };\n visit(node);\n return node.children\n .map((child) =>\n typeof child === 'string' ? child : serializeNode(child),\n )\n .join('');\n}\n\nfunction plainText(node: XmlNode | undefined): string | undefined {\n if (!node) return undefined;\n return node.children\n .map((child) => (typeof child === 'string' ? child : plainText(child) ?? ''))\n .join('');\n}\n\nfunction metadata(node: XmlNode, name: string): string | undefined {\n return (\n node.attributes[`${PREFIX}:${name}`] ??\n node.attributes[`${LEGACY_PREFIX}:${name}`] ??\n attribute(node, name)\n );\n}\n\nfunction recognizedState(value: string | undefined): TranslationState | undefined {\n if (\n value === 'untranslated' ||\n value === 'machine' ||\n value === 'reviewed' ||\n value === 'stale'\n ) {\n return value;\n }\n if (value === 'final' || value === 'reviewed' || value === 'signed-off') {\n return 'reviewed';\n }\n if (value === 'translated') return 'machine';\n if (value === 'needs-review-translation') return 'stale';\n if (value === 'new' || value === 'initial') return 'untranslated';\n return undefined;\n}\n\nfunction commonDocument(root: XmlNode): Omit<\n ParsedTranslationExchangeDocument,\n 'sourceLanguage' | 'targetLanguages' | 'entries'\n> {\n return {\n schemaVersion: 1,\n ...(metadata(root, 'app-id') ? { appId: metadata(root, 'app-id') } : {}),\n ...(metadata(root, 'branch-id')\n ? { branchId: metadata(root, 'branch-id') }\n : {}),\n ...(metadata(root, 'exported-at')\n ? { exportedAt: metadata(root, 'exported-at') }\n : {}),\n ...(metadata(root, 'revision-watermark')\n ? { revisionWatermark: metadata(root, 'revision-watermark') }\n : {}),\n ...(metadata(root, 'contract-set-hash')\n ? { contractSetHash: metadata(root, 'contract-set-hash') }\n : {}),\n };\n}\n\nfunction mergeUnit(\n entries: Map<string, MutableParsedEntry>,\n unit: XmlNode,\n sourceText: string | undefined,\n targetText: string | undefined,\n targetLanguage: string | undefined,\n targetState: TranslationState | undefined,\n targetNote: string | undefined,\n description: string | undefined,\n): void {\n const key = metadata(unit, 'key') ?? attribute(unit, 'resname') ?? attribute(unit, 'name') ?? attribute(unit, 'id');\n if (!key) throw new Error('XLIFF unit is missing an id/key.');\n const namespace = metadata(unit, 'namespace');\n const identity = `${namespace ?? ''}\\u0000${key}`;\n let entry = entries.get(identity);\n if (!entry) {\n entry = {\n key,\n ...(namespace ? { namespace } : {}),\n kind: metadata(unit, 'kind') === 'semantic' ? 'semantic' : 'ui',\n format: metadata(unit, 'format') === 'icu' ? 'icu' : 'simple',\n ...(sourceText !== undefined ? { sourceText } : {}),\n ...(metadata(unit, 'key-version-id')\n ? { keyVersionId: metadata(unit, 'key-version-id') }\n : {}),\n ...(metadata(unit, 'source-hash')\n ? { sourceHash: metadata(unit, 'source-hash') }\n : {}),\n ...(metadata(unit, 'contract-hash')\n ? { contractHash: metadata(unit, 'contract-hash') }\n : {}),\n ...(metadata(unit, 'argument-signature')\n ? { argumentSignature: metadata(unit, 'argument-signature') }\n : {}),\n ...(description ? { description } : {}),\n translations: {},\n };\n entries.set(identity, entry);\n } else if (sourceText !== undefined && entry.sourceText !== sourceText) {\n throw new Error(`XLIFF source text conflicts for key \"${key}\".`);\n }\n if (targetLanguage && targetText !== undefined) {\n if (entry.translations[targetLanguage]) {\n throw new Error(\n `Duplicate XLIFF target for key \"${key}\" in ${targetLanguage}.`,\n );\n }\n entry.translations[targetLanguage] = {\n text: targetText,\n ...(targetState ? { state: targetState } : {}),\n ...(targetNote ? { note: targetNote } : {}),\n };\n }\n}\n\nfunction parse12(\n root: XmlNode,\n options: XliffParseOptions,\n): ParsedTranslationExchangeDocument {\n const entries = new Map<string, MutableParsedEntry>();\n let sourceLanguage = attribute(root, 'source-language');\n const targetLanguages = new Set<string>();\n for (const file of descendants(root, 'file')) {\n sourceLanguage ??= attribute(file, 'source-language');\n const targetLanguage = attribute(file, 'target-language');\n if (targetLanguage) targetLanguages.add(targetLanguage);\n for (const unit of descendants(file, 'trans-unit')) {\n const id = attribute(unit, 'id');\n const sourceText = innerXml(first(unit, 'source'), INLINE_12, options, id);\n const target = first(unit, 'target');\n const language =\n attribute(target ?? unit, 'lang') ?? targetLanguage;\n if (language) targetLanguages.add(language);\n const notes = children(unit, 'note');\n const description = plainText(\n notes.find((note) => isNoteRole(attribute(note, 'from'), 'description')),\n );\n const targetNote = plainText(\n notes.find(\n (note) =>\n isNoteRole(attribute(note, 'from'), 'target') &&\n (!language || !attribute(note, 'lang') || attribute(note, 'lang') === language),\n ),\n );\n mergeUnit(\n entries,\n unit,\n sourceText,\n innerXml(target, INLINE_12, options, id),\n language,\n recognizedState(metadata(target ?? unit, 'state') ?? attribute(target ?? unit, 'state')),\n targetNote,\n description ?? plainText(notes[0]),\n );\n }\n }\n if (!sourceLanguage) throw new Error('XLIFF 1.2 source language is missing.');\n return normalizeParsedTranslationExchangeDocument({\n ...commonDocument(root),\n sourceLanguage,\n targetLanguages: [...targetLanguages],\n entries: [...entries.values()],\n });\n}\n\nfunction parse20(\n root: XmlNode,\n options: XliffParseOptions,\n): ParsedTranslationExchangeDocument {\n const entries = new Map<string, MutableParsedEntry>();\n const sourceLanguage = attribute(root, 'srcLang');\n if (!sourceLanguage) throw new Error('XLIFF 2.0 srcLang is missing.');\n const targetLanguages = new Set<string>();\n const rootTargetLanguage = attribute(root, 'trgLang');\n if (rootTargetLanguage) targetLanguages.add(rootTargetLanguage);\n for (const file of descendants(root, 'file')) {\n const fileTargetLanguage =\n attribute(file, 'trgLang') ??\n metadata(file, 'target-language') ??\n rootTargetLanguage;\n if (fileTargetLanguage) targetLanguages.add(fileTargetLanguage);\n for (const unit of descendants(file, 'unit')) {\n const segment = first(unit, 'segment') ?? descendants(unit, 'segment')[0];\n if (!segment) continue;\n const target = first(segment, 'target');\n const language = attribute(target ?? unit, 'lang') ?? fileTargetLanguage;\n if (language) targetLanguages.add(language);\n const notesContainer = first(unit, 'notes');\n const notes = notesContainer ? children(notesContainer, 'note') : [];\n const description = plainText(\n notes.find(\n (note) => isNoteRole(attribute(note, 'category'), 'description'),\n ),\n );\n const targetNote = plainText(\n notes.find(\n (note) =>\n isNoteRole(attribute(note, 'category'), 'target') &&\n (!language || !attribute(note, 'lang') || attribute(note, 'lang') === language),\n ),\n );\n const id = attribute(unit, 'id');\n mergeUnit(\n entries,\n unit,\n innerXml(first(segment, 'source'), INLINE_20, options, id),\n innerXml(target, INLINE_20, options, id),\n language,\n recognizedState(metadata(segment, 'state') ?? attribute(segment, 'state')),\n targetNote,\n description ?? plainText(notes[0]),\n );\n }\n }\n return normalizeParsedTranslationExchangeDocument({\n ...commonDocument(root),\n sourceLanguage,\n targetLanguages: [...targetLanguages],\n entries: [...entries.values()],\n });\n}\n\nfunction parseXliff(\n input: Uint8Array,\n expectedVersion: '1.2' | '2.0',\n options: XliffParseOptions = {},\n): ParsedTranslationExchangeDocument {\n const root = parseXml(text(input));\n if (localName(root.name) !== 'xliff') {\n throw new Error('Document is not XLIFF.');\n }\n const version = attribute(root, 'version');\n if (version !== expectedVersion) {\n throw new Error(\n `Expected XLIFF ${expectedVersion}, received ${version ?? 'an unknown version'}.`,\n );\n }\n return version === '1.2' ? parse12(root, options) : parse20(root, options);\n}\n\nfunction deterministicId(entry: TranslationExchangeEntry, index: number): string {\n const identity = `${entry.namespace ?? 'default'}:${entry.key}`;\n return `u${index + 1}-${encodeURIComponent(identity).replaceAll('%', '_')}`;\n}\n\nfunction state12(state: TranslationState | undefined): string {\n if (state === 'reviewed') return 'final';\n if (state === 'stale') return 'needs-review-translation';\n if (state === 'machine') return 'translated';\n return 'new';\n}\n\nfunction state20(state: TranslationState | undefined): string {\n if (state === 'reviewed') return 'final';\n if (state === 'stale') return 'translated';\n if (state === 'machine') return 'translated';\n return 'initial';\n}\n\nfunction metadataAttributes(entry: TranslationExchangeEntry): string {\n return [\n [`${PREFIX}:key`, entry.key],\n [`${PREFIX}:namespace`, entry.namespace],\n [`${PREFIX}:kind`, entry.kind],\n [`${PREFIX}:format`, entry.format],\n [`${PREFIX}:key-version-id`, entry.keyVersionId],\n [`${PREFIX}:source-hash`, entry.sourceHash],\n [`${PREFIX}:contract-hash`, entry.contractHash],\n [`${PREFIX}:argument-signature`, entry.argumentSignature],\n ]\n .filter((pair): pair is [string, string] => pair[1] !== undefined)\n .map(([name, value]) => ` ${name}=\"${escapeAttribute(value)}\"`)\n .join('');\n}\n\nfunction rootMetadata(document: TranslationExchangeDocument): string {\n return [\n [`${PREFIX}:schema-version`, String(document.schemaVersion)],\n [`${PREFIX}:app-id`, document.appId],\n [`${PREFIX}:branch-id`, document.branchId],\n [`${PREFIX}:exported-at`, document.exportedAt],\n [`${PREFIX}:revision-watermark`, document.revisionWatermark],\n [`${PREFIX}:contract-set-hash`, document.contractSetHash],\n ]\n .filter((pair): pair is [string, string] => pair[1] !== undefined)\n .map(([name, value]) => ` ${name}=\"${escapeAttribute(value)}\"`)\n .join('');\n}\n\nfunction validatedMixedContent(value: string, inline: Set<string>): string {\n if (!value.includes('<')) return escapeText(value);\n try {\n const wrapper = parseXml(`<cn-wrapper>${value}</cn-wrapper>`);\n const nodes = wrapper.children.filter(\n (child): child is XmlNode => typeof child !== 'string',\n );\n if (\n nodes.length === 0 ||\n nodes.some((node) => !inline.has(localName(node.name)))\n ) {\n return escapeText(value);\n }\n return wrapper.children\n .map((child) =>\n typeof child === 'string' ? escapeText(child) : serializeNode(child),\n )\n .join('');\n } catch {\n return escapeText(value);\n }\n}\n\nfunction targets(document: TranslationExchangeDocument): Array<string | undefined> {\n return document.targetLanguages.length > 0\n ? document.targetLanguages\n : [undefined];\n}\n\nfunction serialize12(document: TranslationExchangeDocument): string {\n const files = targets(document)\n .map((language, fileIndex) => {\n const units = document.entries\n .map((entry, index) => {\n const target = language ? entry.translations[language] : undefined;\n const id = deterministicId(entry, index);\n const notes = [\n entry.description\n ? `<note from=\"${NOTE_ROLES.description[0]}\">${escapeText(entry.description)}</note>`\n : '',\n target?.note\n ? `<note from=\"${NOTE_ROLES.target[0]}\" xml:lang=\"${escapeAttribute(language!)}\">${escapeText(target.note)}</note>`\n : '',\n ].join('');\n return `<trans-unit id=\"${escapeAttribute(id)}\" resname=\"${escapeAttribute(entry.key)}\"${metadataAttributes(entry)}><source>${validatedMixedContent(entry.sourceText, INLINE_12)}</source>${\n language && target\n ? `<target xml:lang=\"${escapeAttribute(language)}\" state=\"${state12(target?.state)}\" ${PREFIX}:state=\"${escapeAttribute(target?.state ?? 'untranslated')}\">${validatedMixedContent(target?.text ?? '', INLINE_12)}</target>`\n : ''\n }${notes}</trans-unit>`;\n })\n .join('');\n return `<file id=\"f${fileIndex + 1}\" original=\"linked\" datatype=\"plaintext\" source-language=\"${escapeAttribute(document.sourceLanguage)}\"${\n language ? ` target-language=\"${escapeAttribute(language)}\"` : ''\n }><body>${units}</body></file>`;\n })\n .join('');\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n<xliff xmlns=\"${XLIFF_12_NAMESPACE}\" xmlns:${PREFIX}=\"${EXCHANGE_NAMESPACE}\" version=\"1.2\"${rootMetadata(document)}>${files}</xliff>\\n`;\n}\n\nfunction serialize20(document: TranslationExchangeDocument): string {\n const files = targets(document)\n .map((language, fileIndex) => {\n const units = document.entries\n .map((entry, index) => {\n const target = language ? entry.translations[language] : undefined;\n const id = deterministicId(entry, index);\n const notes =\n entry.description || target?.note\n ? `<notes>${\n entry.description\n ? `<note category=\"${NOTE_ROLES.description[0]}\">${escapeText(entry.description)}</note>`\n : ''\n }${\n target?.note\n ? `<note category=\"${NOTE_ROLES.target[0]}\" xml:lang=\"${escapeAttribute(language!)}\">${escapeText(target.note)}</note>`\n : ''\n }</notes>`\n : '';\n return `<unit id=\"${escapeAttribute(id)}\" name=\"${escapeAttribute(entry.key)}\"${metadataAttributes(entry)}>${notes}<segment id=\"s1\" state=\"${state20(target?.state)}\" ${PREFIX}:state=\"${escapeAttribute(target?.state ?? 'untranslated')}\"><source>${validatedMixedContent(entry.sourceText, INLINE_20)}</source>${\n language && target\n ? `<target xml:lang=\"${escapeAttribute(language)}\">${validatedMixedContent(target?.text ?? '', INLINE_20)}</target>`\n : ''\n }</segment></unit>`;\n })\n .join('');\n return `<file id=\"f${fileIndex + 1}\"${\n language ? ` ${PREFIX}:target-language=\"${escapeAttribute(language)}\"` : ''\n }>${units}</file>`;\n })\n .join('');\n const singleTarget =\n document.targetLanguages.length === 1\n ? ` trgLang=\"${escapeAttribute(document.targetLanguages[0])}\"`\n : '';\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n<xliff xmlns=\"${XLIFF_20_NAMESPACE}\" xmlns:${PREFIX}=\"${EXCHANGE_NAMESPACE}\" version=\"2.0\" srcLang=\"${escapeAttribute(document.sourceLanguage)}\"${singleTarget}${rootMetadata(document)}>${files}</xliff>\\n`;\n}\n\nfunction sniffVersion(\n input: Uint8Array,\n expectedVersion: '1.2' | '2.0',\n fileName?: string,\n): boolean {\n if (fileName && !/\\.xlf(f)?$/i.test(fileName)) return false;\n const prefix = text(input.slice(0, Math.min(input.length, 4096)));\n return (\n /<(?:(?:[\\w.-]+):)?xliff\\b/i.test(prefix) &&\n new RegExp(`\\\\bversion\\\\s*=\\\\s*[\"']${expectedVersion.replace('.', '\\\\.')}[\"']`).test(prefix)\n );\n}\n\nexport const xliff12Adapter: TranslationFormatAdapter = {\n format: 'xliff-1.2',\n sniff: (input, fileName) => sniffVersion(input, '1.2', fileName),\n parse: async (input, options) =>\n parseXliff(input, '1.2', (options ?? {}) as XliffParseOptions),\n serialize: async (document) => ({\n fileName: 'translations.xlf',\n mediaType: XML_MEDIA_TYPE,\n body: UTF8.encode(serialize12(document)),\n }),\n};\n\nexport const xliff20Adapter: TranslationFormatAdapter = {\n format: 'xliff-2.0',\n sniff: (input, fileName) => sniffVersion(input, '2.0', fileName),\n parse: async (input, options) =>\n parseXliff(input, '2.0', (options ?? {}) as XliffParseOptions),\n serialize: async (document) => ({\n fileName: 'translations.xlf',\n mediaType: XML_MEDIA_TYPE,\n body: UTF8.encode(serialize20(document)),\n }),\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/import.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Translation import framework (Plan 014 AD-M / Plan 016 P2.1) — the minimal,\n * pluggable core that migrates existing translations INTO the graph. A\n * `TranslationImportSource` yields `(language, key, text)` triples; the shared\n * `runImport` pipeline maps them onto existing `TranslationKey`s and writes\n * `TranslationUnit`s via an injected target — no I/O of its own, so it is pure\n * and unit-testable, and P3 can add XLIFF/CSV/JSON sources behind the same\n * `TranslationImportSource` interface. The Tolgee CDN adapter is v1 (Plan 016\n * D3, Option A: pull the public per-language files, no auth).\n *\n * Design mirrors `key-sync.ts`: transport is injected, the sync is a pure diff.\n */\nimport {\n normalizeParsedTranslationExchangeDocument,\n type ParsedTranslationExchangeDocument,\n type ParsedTranslationExchangeEntry,\n type TranslationImportDisposition,\n} from './exchange.js';\nimport { canonicalLanguageTag, sha256Hex } from './key-version.js';\nimport { canonicalJson } from './release.js';\nimport type {\n TranslationEntryRecord,\n TranslationState,\n TranslationUnitRecord,\n} from './records.js';\n\n/** How an incoming unit resolves against an existing app unit. */\nexport type ImportMergePolicy = 'skip-existing' | 'overwrite' | 'import-as-stale';\n\n/** One incoming translation from a source, pre-mapping. */\nexport interface ParsedUnit {\n language: string;\n key: string;\n text: string;\n}\n\n/** A migration source (Tolgee CDN now; XLIFF/CSV/JSON later — AD-M). */\nexport interface TranslationImportSource {\n readonly name: string;\n /** Fetch + parse every `(language, key, text)` the source carries. */\n load(): Promise<ParsedUnit[]>;\n}\n\nexport interface ImportOptions {\n /** Default `skip-existing` — never clobber an app-authored unit (Plan 016 D4). */\n mergePolicy?: ImportMergePolicy;\n /** The source/canonical language, NOT imported as units (it is `sourceText`). Default `en`. */\n sourceLanguage?: string;\n /** State written for imported units. Default `reviewed` (Plan 016 D3, Option A). */\n importState?: TranslationState;\n /** Report only; write nothing. */\n dryRun?: boolean;\n}\n\n/** Injected persistence — the pipeline stays free of any store/RPC (AD-G). */\nexport interface ImportTarget {\n /** Existing keys (with source text + format) this app owns. */\n listKeys(): Promise<Array<{ key: string; sourceText: string; format?: string }>>;\n /** Existing `(key, language)` units, for the merge policy. */\n listUnits(): Promise<Array<{ key: string; language: string }>>;\n /** Create/replace one unit. Not called on a dry run. */\n upsertUnit(data: {\n key: string;\n language: string;\n text: string;\n state: TranslationState;\n }): Promise<void>;\n}\n\nexport interface ImportReport {\n source: string;\n dryRun: boolean;\n languages: string[];\n /** Units created (new). */\n created: number;\n /** Units overwritten (merge policy `overwrite`/`import-as-stale`). */\n updated: number;\n /** Units left alone under `skip-existing`. */\n skippedExisting: number;\n /** Source keys with no matching `TranslationKey` (reported, never created). */\n orphanKeys: string[];\n /** App keys the source has no translation for in any language (→ English fallback). */\n uncoveredKeys: string[];\n /** Source-language values that differ from the app's `sourceText` (drift). */\n sourceMismatches: Array<{ key: string; appSource: string; importSource: string }>;\n /** Simple-format keys whose imported text contains ICU plural/select syntax (AD-J/R8). */\n icuFlags: string[];\n perLanguage: Record<\n string,\n { created: number; updated: number; skippedExisting: number }\n >;\n}\n\n/** Detect ICU plural/select syntax that a `format:'simple'` key would render literally. */\nexport function hasIcuSyntax(text: string): boolean {\n return /\\{[^{}]*,\\s*(plural|select|selectordinal)\\s*,/.test(text);\n}\n\n/**\n * Run a source through the shared pipeline: map → merge policy → state → lint →\n * report (and commit unless `dryRun`). Source-language values are compared to\n * `sourceText` (drift report) but never written as units — English is the\n * canonical inline default (AD-J/R7).\n */\nexport async function runImport(\n target: ImportTarget,\n source: TranslationImportSource,\n options: ImportOptions = {},\n): Promise<ImportReport> {\n const mergePolicy = options.mergePolicy ?? 'skip-existing';\n const sourceLanguage = options.sourceLanguage ?? 'en';\n const importState = options.importState ?? 'reviewed';\n const dryRun = options.dryRun ?? false;\n\n const [parsed, keyRows, unitRows] = await Promise.all([\n source.load(),\n target.listKeys(),\n target.listUnits(),\n ]);\n\n const sourceText = new Map(keyRows.map((k) => [k.key, k.sourceText]));\n const formatOf = new Map(keyRows.map((k) => [k.key, k.format ?? 'simple']));\n const existingUnit = new Set(unitRows.map((u) => `${u.key}\\u0000${u.language}`));\n\n const report: ImportReport = {\n source: source.name,\n dryRun,\n languages: [],\n created: 0,\n updated: 0,\n skippedExisting: 0,\n orphanKeys: [],\n uncoveredKeys: [],\n sourceMismatches: [],\n icuFlags: [],\n perLanguage: {},\n };\n\n const languages = new Set<string>();\n const orphans = new Set<string>();\n const icuFlags = new Set<string>();\n const coveredAppKeys = new Set<string>();\n const per = (lang: string) =>\n (report.perLanguage[lang] ??= { created: 0, updated: 0, skippedExisting: 0 });\n\n for (const unit of parsed) {\n if (!unit?.key || !unit.language) continue;\n languages.add(unit.language);\n\n // Source language: drift-check against sourceText, but never import as units.\n if (unit.language === sourceLanguage) {\n if (sourceText.has(unit.key)) {\n coveredAppKeys.add(unit.key);\n const app = sourceText.get(unit.key)!;\n if (app !== unit.text) {\n report.sourceMismatches.push({\n key: unit.key,\n appSource: app,\n importSource: unit.text,\n });\n }\n }\n continue;\n }\n\n if (!sourceText.has(unit.key)) {\n orphans.add(unit.key);\n continue;\n }\n coveredAppKeys.add(unit.key);\n if (formatOf.get(unit.key) === 'simple' && hasIcuSyntax(unit.text)) {\n icuFlags.add(unit.key);\n }\n\n const exists = existingUnit.has(`${unit.key}\\u0000${unit.language}`);\n if (exists && mergePolicy === 'skip-existing') {\n report.skippedExisting++;\n per(unit.language).skippedExisting++;\n continue;\n }\n const state: TranslationState =\n mergePolicy === 'import-as-stale' ? 'stale' : importState;\n if (!dryRun) {\n await target.upsertUnit({\n key: unit.key,\n language: unit.language,\n text: unit.text,\n state,\n });\n }\n if (exists) {\n report.updated++;\n per(unit.language).updated++;\n } else {\n report.created++;\n per(unit.language).created++;\n }\n }\n\n report.languages = [...languages].sort();\n report.orphanKeys = [...orphans].sort();\n report.icuFlags = [...icuFlags].sort();\n report.uncoveredKeys = keyRows\n .map((k) => k.key)\n .filter((k) => !coveredAppKeys.has(k))\n .sort();\n return report;\n}\n\n/** Flatten nested JSON (Tolgee's CDN shape) into dot-joined leaf keys. */\nexport function flattenMessages(\n obj: unknown,\n prefix = '',\n out: Record<string, string> = {},\n): Record<string, string> {\n if (!obj || typeof obj !== 'object') return out;\n for (const [k, v] of Object.entries(obj as Record<string, unknown>)) {\n const key = prefix ? `${prefix}.${k}` : k;\n if (v && typeof v === 'object' && !Array.isArray(v)) {\n flattenMessages(v, key, out);\n } else if (typeof v === 'string') {\n out[key] = v;\n } else if (v != null) {\n out[key] = String(v);\n }\n }\n return out;\n}\n\n/**\n * Tolgee CDN import source (Plan 016 D3, Option A). Pulls the public per-language\n * JSON files (no auth) and flattens Tolgee's nested structure to dot-keys that\n * match serve's `t('a.b.c')` keys. A language whose file is missing/unfetchable\n * is skipped (it simply contributes no units). `fetchImpl` is injectable for tests.\n */\nexport function tolgeeCdnSource(config: {\n baseUrl: string;\n languages: string[];\n fetchImpl?: typeof fetch;\n}): TranslationImportSource {\n const base = config.baseUrl.replace(/\\/+$/, '');\n const doFetch = config.fetchImpl ?? fetch;\n return {\n name: `tolgee-cdn(${base})`,\n async load() {\n const units: ParsedUnit[] = [];\n for (const language of config.languages) {\n let json: unknown;\n try {\n const res = await doFetch(`${base}/${language}.json`);\n if (!res.ok) continue;\n json = await res.json();\n } catch {\n continue;\n }\n for (const [key, text] of Object.entries(flattenMessages(json))) {\n units.push({ language, key, text });\n }\n }\n return units;\n },\n };\n}\n\n/**\n * Immutable, version-aware decision produced before any persistence is\n * attempted. Hosts may render these directly in an import dry-run.\n */\nexport interface VersionedImportDecision {\n readonly key: string;\n readonly importedKey: string;\n readonly language: string;\n readonly text: string;\n readonly state: TranslationState;\n readonly disposition: TranslationImportDisposition;\n readonly reason:\n | 'exact-current-version'\n | 'compatible-source-change'\n | 'incompatible-contract'\n | 'missing-version-evidence'\n | 'manager-bound-unverified'\n | 'orphan-key'\n | 'source-language'\n | 'existing-unit';\n readonly expectedKeyVersionId?: string;\n readonly expectedUnitContentHash?: string;\n readonly basedOnText?: string;\n readonly note?: string;\n readonly importedContentHash: string;\n readonly idempotencyKey: string;\n}\n\nexport interface VersionedImportPlan {\n readonly sessionId: string;\n readonly documentHash: string;\n readonly revisionWatermark: string;\n readonly decisions: readonly VersionedImportDecision[];\n}\n\nexport interface VersionedImportPlanOptions {\n sessionId: string;\n revisionWatermark: string;\n mergePolicy?: ImportMergePolicy;\n importState?: TranslationState;\n /**\n * Explicit manager-approved foreign-key mapping. A mapped value remains a\n * suggestion because the foreign file carries no trustworthy version proof.\n */\n managerBindings?: Readonly<Record<string, string>>;\n}\n\nexport interface VersionedImportCurrentState {\n key: string;\n language: string;\n keyVersionId?: string;\n unitContentHash?: string;\n}\n\nexport interface VersionedImportTarget {\n readCurrentState(\n requested: ReadonlyArray<{ key: string; language: string }>,\n ): Promise<VersionedImportCurrentState[]>;\n upsertUnit(data: {\n key: string;\n language: string;\n text: string;\n state: TranslationState;\n keyVersionId: string;\n source: 'import';\n idempotencyKey: string;\n }): Promise<void>;\n createSuggestion(data: {\n key: string;\n language: string;\n text: string;\n keyVersionId: string;\n basedOnText: string;\n source: 'import' | 'carry-forward';\n note?: string;\n idempotencyKey: string;\n }): Promise<void>;\n}\n\nexport interface VersionedImportCommitReport {\n status: 'committed' | 'requires-redry-run';\n imported: number;\n suggested: number;\n skipped: number;\n completedIdempotencyKeys: string[];\n}\n\n/** Stable compare-and-set value for a current translation unit. */\nexport async function translationUnitContentHash(\n unit: Pick<TranslationUnitRecord, 'keyVersionId' | 'language' | 'text' | 'state'>,\n): Promise<string> {\n return sha256Hex(\n canonicalJson([\n unit.keyVersionId ?? null,\n canonicalLanguageTag(unit.language),\n unit.text,\n unit.state,\n ]),\n );\n}\n\nfunction entryIdentity(entry: Pick<TranslationEntryRecord, 'namespace' | 'key'>): string {\n return `${entry.namespace ?? ''}\\u0000${entry.key}`;\n}\n\nfunction parsedIdentity(entry: Pick<ParsedTranslationExchangeEntry, 'namespace' | 'key'>): string {\n return `${entry.namespace ?? ''}\\u0000${entry.key}`;\n}\n\nasync function makeVersionedDecision(input: {\n importedEntry: ParsedTranslationExchangeEntry;\n importedKey: string;\n language: string;\n text: string;\n state: TranslationState;\n note?: string;\n current?: TranslationEntryRecord;\n sessionId: string;\n mergePolicy: ImportMergePolicy;\n managerBound: boolean;\n}): Promise<VersionedImportDecision> {\n const {\n importedEntry,\n importedKey,\n language,\n text,\n state,\n note,\n current,\n sessionId,\n mergePolicy,\n managerBound,\n } = input;\n const version = current?.currentVersion;\n const existing = current?.units[language];\n const expectedUnitContentHash = existing\n ? await translationUnitContentHash(existing)\n : undefined;\n const importedContentHash = await sha256Hex(\n canonicalJson([importedEntry.keyVersionId ?? null, language, text, state]),\n );\n const key = current?.key ?? importedKey;\n const idempotencyKey = await sha256Hex(\n canonicalJson([\n sessionId,\n version?.id ?? 'unverified',\n language,\n importedContentHash,\n ]),\n );\n const base = {\n key,\n importedKey,\n language,\n text,\n state,\n expectedKeyVersionId: version?.id,\n expectedUnitContentHash,\n note,\n importedContentHash,\n idempotencyKey,\n } as const;\n\n if (!current || !version) {\n return { ...base, disposition: 'conflict', reason: 'orphan-key' };\n }\n\n const hasEvidence = Boolean(\n importedEntry.keyVersionId &&\n importedEntry.sourceHash &&\n importedEntry.contractHash &&\n importedEntry.argumentSignature !== undefined &&\n importedEntry.sourceText !== undefined,\n );\n if (!hasEvidence) {\n if (managerBound) {\n return {\n ...base,\n disposition: 'unverified-source',\n reason: 'manager-bound-unverified',\n basedOnText: version.sourceText,\n };\n }\n return {\n ...base,\n disposition: 'unverified-source',\n reason: 'missing-version-evidence',\n };\n }\n\n if (\n importedEntry.contractHash !== version.contractHash ||\n importedEntry.argumentSignature !== version.argumentSignature ||\n importedEntry.format !== version.format\n ) {\n return {\n ...base,\n disposition: 'conflict',\n reason: 'incompatible-contract',\n };\n }\n\n const exactVersion =\n importedEntry.keyVersionId === version.id &&\n importedEntry.sourceHash === version.sourceHash &&\n importedEntry.sourceText === version.sourceText;\n if (!exactVersion) {\n return {\n ...base,\n disposition: 'carry-forward',\n reason: 'compatible-source-change',\n basedOnText: version.sourceText,\n };\n }\n\n if (existing && mergePolicy === 'skip-existing') {\n return { ...base, disposition: 'skip', reason: 'existing-unit' };\n }\n return { ...base, disposition: 'import', reason: 'exact-current-version' };\n}\n\n/**\n * Normalize and classify the complete document before any import write. Merge\n * policy is intentionally applied only after version compatibility succeeds.\n */\nexport async function planVersionedImport(\n value: unknown,\n currentEntries: readonly TranslationEntryRecord[],\n options: VersionedImportPlanOptions,\n): Promise<VersionedImportPlan> {\n const document = normalizeParsedTranslationExchangeDocument(value);\n const mergePolicy = options.mergePolicy ?? 'skip-existing';\n const defaultState = options.importState ?? 'reviewed';\n const byIdentity = new Map(\n currentEntries.map((entry) => [entryIdentity(entry), entry]),\n );\n const byKey = new Map(currentEntries.map((entry) => [entry.key, entry]));\n const decisions: VersionedImportDecision[] = [];\n\n for (const importedEntry of [...document.entries].sort((left, right) =>\n parsedIdentity(left).localeCompare(parsedIdentity(right)),\n )) {\n const boundKey = options.managerBindings?.[importedEntry.key];\n const current =\n (boundKey ? byKey.get(boundKey) : undefined) ??\n byIdentity.get(parsedIdentity(importedEntry));\n for (const [rawLanguage, value] of Object.entries(\n importedEntry.translations,\n ).sort(([left], [right]) => left.localeCompare(right))) {\n const language = canonicalLanguageTag(rawLanguage);\n if (language === document.sourceLanguage) {\n const importedContentHash = await sha256Hex(\n canonicalJson([importedEntry.keyVersionId ?? null, language, value.text]),\n );\n decisions.push({\n key: current?.key ?? importedEntry.key,\n importedKey: importedEntry.key,\n language,\n text: value.text,\n state: value.state ?? defaultState,\n disposition: 'skip',\n reason: 'source-language',\n expectedKeyVersionId: current?.currentVersion?.id,\n importedContentHash,\n idempotencyKey: await sha256Hex(\n canonicalJson([options.sessionId, 'source-language', language, importedContentHash]),\n ),\n });\n continue;\n }\n const state =\n mergePolicy === 'import-as-stale'\n ? 'stale'\n : (value.state ?? defaultState);\n decisions.push(\n await makeVersionedDecision({\n importedEntry,\n importedKey: importedEntry.key,\n language,\n text: value.text,\n state,\n note: value.note,\n current,\n sessionId: options.sessionId,\n mergePolicy,\n managerBound: Boolean(boundKey),\n }),\n );\n }\n }\n\n return Object.freeze({\n sessionId: options.sessionId,\n documentHash: await sha256Hex(canonicalJson(document)),\n revisionWatermark: options.revisionWatermark,\n decisions: Object.freeze(decisions.map((decision) => Object.freeze(decision))),\n });\n}\n\n/**\n * Compare-and-set commit. The entire requested batch is re-read and validated\n * before its first write, so stale dry-runs cannot partially mutate the batch.\n */\nexport async function commitVersionedImport(\n plan: VersionedImportPlan,\n target: VersionedImportTarget,\n options: { completedIdempotencyKeys?: ReadonlySet<string> } = {},\n): Promise<VersionedImportCommitReport> {\n const completed = options.completedIdempotencyKeys ?? new Set<string>();\n const actionable = plan.decisions.filter(\n (decision) =>\n !completed.has(decision.idempotencyKey) &&\n (decision.disposition === 'import' ||\n decision.disposition === 'carry-forward' ||\n (decision.disposition === 'unverified-source' &&\n decision.reason === 'manager-bound-unverified')),\n );\n const current = await target.readCurrentState(\n actionable.map(({ key, language }) => ({ key, language })),\n );\n const currentByIdentity = new Map(\n current.map((item) => [`${item.key}\\u0000${item.language}`, item]),\n );\n const drifted = actionable.some((decision) => {\n const actual = currentByIdentity.get(\n `${decision.key}\\u0000${decision.language}`,\n );\n return (\n actual?.keyVersionId !== decision.expectedKeyVersionId ||\n actual?.unitContentHash !== decision.expectedUnitContentHash\n );\n });\n if (drifted) {\n return {\n status: 'requires-redry-run',\n imported: 0,\n suggested: 0,\n skipped: plan.decisions.length,\n completedIdempotencyKeys: [...completed],\n };\n }\n\n let imported = 0;\n let suggested = 0;\n const completedKeys = [...completed];\n for (const decision of actionable) {\n if (!decision.expectedKeyVersionId) continue;\n if (decision.disposition === 'import') {\n await target.upsertUnit({\n key: decision.key,\n language: decision.language,\n text: decision.text,\n state: decision.state,\n keyVersionId: decision.expectedKeyVersionId,\n source: 'import',\n idempotencyKey: decision.idempotencyKey,\n });\n imported++;\n } else {\n await target.createSuggestion({\n key: decision.key,\n language: decision.language,\n text: decision.text,\n keyVersionId: decision.expectedKeyVersionId,\n basedOnText: decision.basedOnText ?? '',\n source:\n decision.disposition === 'carry-forward'\n ? 'carry-forward'\n : 'import',\n note: decision.note,\n idempotencyKey: decision.idempotencyKey,\n });\n suggested++;\n }\n completedKeys.push(decision.idempotencyKey);\n }\n return {\n status: 'committed',\n imported,\n suggested,\n skipped: plan.decisions.length - actionable.length,\n completedIdempotencyKeys: completedKeys,\n };\n}\n"]}