@ryuzaki13/react-foundation-lib 2.31.0 → 2.31.3

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 (497) hide show
  1. package/README.md +17 -5
  2. package/dist/analytical-table/definition/analyticalDefinitionConstants.d.ts +17 -0
  3. package/dist/analytical-table/definition/analyticalDefinitionConstants.d.ts.map +1 -0
  4. package/dist/analytical-table/definition/compileAnalyticalTableDefinition.d.ts.map +1 -1
  5. package/dist/analytical-table/definition/types.d.ts +6 -5
  6. package/dist/analytical-table/definition/types.d.ts.map +1 -1
  7. package/dist/analytical-table/dynamic-columns/analyticalDateColumnConstants.d.ts +7 -0
  8. package/dist/analytical-table/dynamic-columns/analyticalDateColumnConstants.d.ts.map +1 -0
  9. package/dist/analytical-table/dynamic-columns/dateColumns.d.ts.map +1 -1
  10. package/dist/analytical-table/dynamic-columns/types.d.ts +2 -1
  11. package/dist/analytical-table/dynamic-columns/types.d.ts.map +1 -1
  12. package/dist/analytical-table/index.js +124 -113
  13. package/dist/analytical-table/index.js.map +1 -1
  14. package/dist/analytical-table/projections/analyticalExportConstants.d.ts +7 -0
  15. package/dist/analytical-table/projections/analyticalExportConstants.d.ts.map +1 -0
  16. package/dist/analytical-table/projections/expansion.d.ts +2 -1
  17. package/dist/analytical-table/projections/expansion.d.ts.map +1 -1
  18. package/dist/analytical-table/projections/exportProjection.d.ts.map +1 -1
  19. package/dist/analytical-table/projections/types.d.ts +3 -2
  20. package/dist/analytical-table/projections/types.d.ts.map +1 -1
  21. package/dist/analytical-table/runtime/aggregation.d.ts.map +1 -1
  22. package/dist/analytical-table/runtime/analyticalRowConstants.d.ts +4 -0
  23. package/dist/analytical-table/runtime/analyticalRowConstants.d.ts.map +1 -0
  24. package/dist/analytical-table/runtime/analyticalViewConstants.d.ts +16 -0
  25. package/dist/analytical-table/runtime/analyticalViewConstants.d.ts.map +1 -0
  26. package/dist/analytical-table/runtime/buildGroupedModel.d.ts.map +1 -1
  27. package/dist/analytical-table/runtime/filtering.d.ts.map +1 -1
  28. package/dist/analytical-table/runtime/grouping.d.ts.map +1 -1
  29. package/dist/analytical-table/runtime/hierarchy.d.ts +2 -1
  30. package/dist/analytical-table/runtime/hierarchy.d.ts.map +1 -1
  31. package/dist/analytical-table/runtime/totals.d.ts +2 -2
  32. package/dist/analytical-table/runtime/totals.d.ts.map +1 -1
  33. package/dist/analytical-table/runtime/types.d.ts +5 -3
  34. package/dist/analytical-table/runtime/types.d.ts.map +1 -1
  35. package/dist/analytical-table/runtime/valueComparison.d.ts.map +1 -1
  36. package/dist/array/index.js +1 -1
  37. package/dist/array/reorder.d.ts +6 -1
  38. package/dist/array/reorder.d.ts.map +1 -1
  39. package/dist/async-task-runner/createCoalescingTaskRunner.d.ts.map +1 -1
  40. package/dist/async-task-runner/createDeadlineTimer.d.ts.map +1 -1
  41. package/dist/async-task-runner/index.js +39 -36
  42. package/dist/async-task-runner/index.js.map +1 -1
  43. package/dist/async-task-runner/nativeTimerConstants.d.ts +3 -0
  44. package/dist/async-task-runner/nativeTimerConstants.d.ts.map +1 -0
  45. package/dist/binary/base64Constants.d.ts +6 -0
  46. package/dist/binary/base64Constants.d.ts.map +1 -0
  47. package/dist/binary/binaryToBlob.d.ts.map +1 -1
  48. package/dist/binary/getBase64DecodedSize.d.ts.map +1 -1
  49. package/dist/binary/index.js +95 -70
  50. package/dist/binary/index.js.map +1 -1
  51. package/dist/browser-notifications/browserNotificationConstants.d.ts +3 -0
  52. package/dist/browser-notifications/browserNotificationConstants.d.ts.map +1 -0
  53. package/dist/browser-notifications/browserNotificationTypes.d.ts +2 -1
  54. package/dist/browser-notifications/browserNotificationTypes.d.ts.map +1 -1
  55. package/dist/browser-notifications/createBrowserNotificationPresenter.d.ts.map +1 -1
  56. package/dist/browser-notifications/index.js +38 -37
  57. package/dist/browser-notifications/index.js.map +1 -1
  58. package/dist/chunks/{array-D-_yMMUK.js → array-bd7LYFto.js} +1 -3
  59. package/dist/chunks/{array-D-_yMMUK.js.map → array-bd7LYFto.js.map} +1 -1
  60. package/dist/chunks/{dom-BK22UmgF.js → dom-ZSeWZ0Gg.js} +103 -98
  61. package/dist/chunks/dom-ZSeWZ0Gg.js.map +1 -0
  62. package/dist/chunks/formatDate-CNPcfNte.js +133 -0
  63. package/dist/chunks/formatDate-CNPcfNte.js.map +1 -0
  64. package/dist/chunks/{formatters-CZnnbdud.js → formatters-CO40zvVB.js} +496 -496
  65. package/dist/chunks/formatters-CO40zvVB.js.map +1 -0
  66. package/dist/chunks/{formulas-BXT_XBWI.js → formulas-Y0HOcFhe.js} +90 -86
  67. package/dist/chunks/formulas-Y0HOcFhe.js.map +1 -0
  68. package/dist/chunks/hasSignatureBytes-D2wO_Myl.js +11 -0
  69. package/dist/chunks/hasSignatureBytes-D2wO_Myl.js.map +1 -0
  70. package/dist/chunks/keyboardConstants-BZKskWsm.js +6 -0
  71. package/dist/chunks/keyboardConstants-BZKskWsm.js.map +1 -0
  72. package/dist/chunks/media-imBOXWwa.js +192 -0
  73. package/dist/chunks/media-imBOXWwa.js.map +1 -0
  74. package/dist/chunks/mimeTypeConstants-BzONV-b1.js +6 -0
  75. package/dist/chunks/mimeTypeConstants-BzONV-b1.js.map +1 -0
  76. package/dist/chunks/{query-client-CVRfrYZM.js → query-client-D0HQZ84w.js} +142 -142
  77. package/dist/chunks/query-client-D0HQZ84w.js.map +1 -0
  78. package/dist/chunks/scalarTypeClassification-D4YcGxtQ.js +766 -0
  79. package/dist/chunks/scalarTypeClassification-D4YcGxtQ.js.map +1 -0
  80. package/dist/chunks/scalarTypeConstants-CnSsjpGO.js +6 -0
  81. package/dist/chunks/scalarTypeConstants-CnSsjpGO.js.map +1 -0
  82. package/dist/chunks/utils-DW0Yso1Q.js +210 -0
  83. package/dist/chunks/utils-DW0Yso1Q.js.map +1 -0
  84. package/dist/chunks/{uuid-CUJPAbRY.js → uuid-izDzLv18.js} +1 -2
  85. package/dist/chunks/uuid-izDzLv18.js.map +1 -0
  86. package/dist/chunks/validate-8URYKKly.js +613 -0
  87. package/dist/chunks/validate-8URYKKly.js.map +1 -0
  88. package/dist/copy/index.js +5 -5
  89. package/dist/copy/index.js.map +1 -1
  90. package/dist/copy/useCopyFeedback.d.ts.map +1 -1
  91. package/dist/crypto/hashString.d.ts.map +1 -1
  92. package/dist/crypto/hexadecimalConstants.d.ts +3 -0
  93. package/dist/crypto/hexadecimalConstants.d.ts.map +1 -0
  94. package/dist/crypto/index.js +25 -24
  95. package/dist/crypto/index.js.map +1 -1
  96. package/dist/crypto/uuid.d.ts.map +1 -1
  97. package/dist/date-segments/index.js +81 -81
  98. package/dist/date-segments/index.js.map +1 -1
  99. package/dist/date-segments/mask.d.ts +13 -3
  100. package/dist/date-segments/mask.d.ts.map +1 -1
  101. package/dist/decimal/decimalConstants.d.ts +3 -0
  102. package/dist/decimal/decimalConstants.d.ts.map +1 -0
  103. package/dist/decimal/index.js +0 -2
  104. package/dist/decimal/index.js.map +1 -1
  105. package/dist/decimal/normalizeDecimal.d.ts.map +1 -1
  106. package/dist/decimal/normalizeDecimalLiteral.d.ts.map +1 -1
  107. package/dist/decimal/resolveDecimalMaxLength.d.ts.map +1 -1
  108. package/dist/decimal/sumDecimals.d.ts.map +1 -1
  109. package/dist/decimal/writeDecimalParts.d.ts.map +1 -1
  110. package/dist/dom/document-scroll/acquireDocumentScrollLock.d.ts.map +1 -1
  111. package/dist/dom/document-scroll/attachDocumentTouchScrollGuard.d.ts.map +1 -1
  112. package/dist/dom/document-scroll/canConsumeVerticalTouchScroll.d.ts.map +1 -1
  113. package/dist/dom/domEventConstants.d.ts +4 -0
  114. package/dist/dom/domEventConstants.d.ts.map +1 -0
  115. package/dist/dom/domScrollConstants.d.ts +3 -0
  116. package/dist/dom/domScrollConstants.d.ts.map +1 -0
  117. package/dist/dom/index.js +1 -1
  118. package/dist/dom/installFaviconOverride.d.ts.map +1 -1
  119. package/dist/dom/overlayFocusConstants.d.ts +4 -0
  120. package/dist/dom/overlayFocusConstants.d.ts.map +1 -0
  121. package/dist/dom/scroll-anchor/captureScrollAnchor.d.ts.map +1 -1
  122. package/dist/dom/useClickOutside.d.ts +1 -1
  123. package/dist/dom/useClickOutside.d.ts.map +1 -1
  124. package/dist/dom/useEscapeDismiss.d.ts +1 -1
  125. package/dist/dom/useEscapeDismiss.d.ts.map +1 -1
  126. package/dist/dom/useFocusTrap.d.ts.map +1 -1
  127. package/dist/dom/useIsTouchDevice.d.ts.map +1 -1
  128. package/dist/dom/useOverlayFocus.d.ts +3 -2
  129. package/dist/dom/useOverlayFocus.d.ts.map +1 -1
  130. package/dist/dom/visual-viewport/attachVisualViewportFrame.d.ts.map +1 -1
  131. package/dist/error-report/breadcrumbs.d.ts.map +1 -1
  132. package/dist/error-report/capture.d.ts.map +1 -1
  133. package/dist/error-report/captureOptions.d.ts +3 -2
  134. package/dist/error-report/captureOptions.d.ts.map +1 -1
  135. package/dist/error-report/capturePolicyConstants.d.ts +4 -0
  136. package/dist/error-report/capturePolicyConstants.d.ts.map +1 -0
  137. package/dist/error-report/dataPreview.d.ts.map +1 -1
  138. package/dist/error-report/diagnostics.d.ts.map +1 -1
  139. package/dist/error-report/drafts.d.ts.map +1 -1
  140. package/dist/error-report/environment.d.ts.map +1 -1
  141. package/dist/error-report/errorInfo.d.ts.map +1 -1
  142. package/dist/error-report/errorReportCaptureLimits.d.ts +26 -0
  143. package/dist/error-report/errorReportCaptureLimits.d.ts.map +1 -0
  144. package/dist/error-report/errorReportContractConstants.d.ts +32 -0
  145. package/dist/error-report/errorReportContractConstants.d.ts.map +1 -0
  146. package/dist/error-report/index.js +586 -587
  147. package/dist/error-report/index.js.map +1 -1
  148. package/dist/error-report/payload.d.ts.map +1 -1
  149. package/dist/error-report/queue.d.ts.map +1 -1
  150. package/dist/error-report/queueContract.d.ts +7 -6
  151. package/dist/error-report/queueContract.d.ts.map +1 -1
  152. package/dist/error-report/queueRecord.d.ts.map +1 -1
  153. package/dist/error-report/queueResultConstants.d.ts +14 -0
  154. package/dist/error-report/queueResultConstants.d.ts.map +1 -0
  155. package/dist/error-report/runtimeDeduplication.d.ts +2 -1
  156. package/dist/error-report/runtimeDeduplication.d.ts.map +1 -1
  157. package/dist/error-report/safeValue.d.ts.map +1 -1
  158. package/dist/error-report/safeValueMarkerConstants.d.ts +16 -0
  159. package/dist/error-report/safeValueMarkerConstants.d.ts.map +1 -0
  160. package/dist/error-report/schema.d.ts.map +1 -1
  161. package/dist/error-report/types.d.ts +10 -8
  162. package/dist/error-report/types.d.ts.map +1 -1
  163. package/dist/error-report-source-maps/archive.d.ts.map +1 -1
  164. package/dist/error-report-source-maps/artifact.d.ts.map +1 -1
  165. package/dist/error-report-source-maps/index.js +238 -238
  166. package/dist/error-report-source-maps/index.js.map +1 -1
  167. package/dist/error-report-source-maps/manifest.d.ts.map +1 -1
  168. package/dist/error-report-source-maps/package.d.ts.map +1 -1
  169. package/dist/error-report-source-maps/sourceMapArtifactConstants.d.ts +11 -0
  170. package/dist/error-report-source-maps/sourceMapArtifactConstants.d.ts.map +1 -0
  171. package/dist/error-report-source-maps/symbolicate.d.ts.map +1 -1
  172. package/dist/error-report-source-maps/symbolicationResultConstants.d.ts +6 -0
  173. package/dist/error-report-source-maps/symbolicationResultConstants.d.ts.map +1 -0
  174. package/dist/error-report-source-maps/types.d.ts +4 -2
  175. package/dist/error-report-source-maps/types.d.ts.map +1 -1
  176. package/dist/excel/excel.d.ts.map +1 -1
  177. package/dist/excel/excelWorkbookConstants.d.ts +6 -0
  178. package/dist/excel/excelWorkbookConstants.d.ts.map +1 -0
  179. package/dist/excel/index.js +121 -120
  180. package/dist/excel/index.js.map +1 -1
  181. package/dist/excel/matrixWorkbook.d.ts +6 -1
  182. package/dist/excel/matrixWorkbook.d.ts.map +1 -1
  183. package/dist/excel/tableExport.d.ts +2 -2
  184. package/dist/excel/tableExport.d.ts.map +1 -1
  185. package/dist/file/checkFileSignature.d.ts.map +1 -1
  186. package/dist/file/contentDisposition.d.ts.map +1 -1
  187. package/dist/file/fileSignatureConstants.d.ts +14 -18
  188. package/dist/file/fileSignatureConstants.d.ts.map +1 -1
  189. package/dist/file/fileSignatureTypes.d.ts +3 -3
  190. package/dist/file/fileSignatureTypes.d.ts.map +1 -1
  191. package/dist/file/image/imageReadConstants.d.ts +3 -0
  192. package/dist/file/image/imageReadConstants.d.ts.map +1 -0
  193. package/dist/file/image/readImageFile.d.ts +3 -2
  194. package/dist/file/image/readImageFile.d.ts.map +1 -1
  195. package/dist/file/image/types.d.ts +5 -3
  196. package/dist/file/image/types.d.ts.map +1 -1
  197. package/dist/file/index.js +139 -165
  198. package/dist/file/index.js.map +1 -1
  199. package/dist/file/mimeType.d.ts.map +1 -1
  200. package/dist/file/mimeTypeConstants.d.ts +18 -0
  201. package/dist/file/mimeTypeConstants.d.ts.map +1 -0
  202. package/dist/file/read-file/assert.d.ts.map +1 -1
  203. package/dist/file/read-file/readFile.d.ts +3 -11
  204. package/dist/file/read-file/readFile.d.ts.map +1 -1
  205. package/dist/file/read-file/readFileConstants.d.ts +13 -0
  206. package/dist/file/read-file/readFileConstants.d.ts.map +1 -0
  207. package/dist/file/read-file/types.d.ts +7 -6
  208. package/dist/file/read-file/types.d.ts.map +1 -1
  209. package/dist/file/signature/checkArchiveSignature.d.ts.map +1 -1
  210. package/dist/file-system/fileSystemConstants.d.ts +5 -0
  211. package/dist/file-system/fileSystemConstants.d.ts.map +1 -0
  212. package/dist/file-system/fileSystemTypes.d.ts +2 -1
  213. package/dist/file-system/fileSystemTypes.d.ts.map +1 -1
  214. package/dist/file-system/index.js +11 -10
  215. package/dist/file-system/index.js.map +1 -1
  216. package/dist/file-system/resolvePathInsideRoot.d.ts.map +1 -1
  217. package/dist/formatters/boolean/parseAbapBoolean.d.ts.map +1 -1
  218. package/dist/formatters/boolean/toAbapBoolean.d.ts.map +1 -1
  219. package/dist/formatters/date/calendarDate.d.ts.map +1 -1
  220. package/dist/formatters/date/calendarDateConstants.d.ts +13 -0
  221. package/dist/formatters/date/calendarDateConstants.d.ts.map +1 -0
  222. package/dist/formatters/date/calendarPeriod.d.ts +11 -2
  223. package/dist/formatters/date/calendarPeriod.d.ts.map +1 -1
  224. package/dist/formatters/date/dateFormatConstants.d.ts +17 -0
  225. package/dist/formatters/date/dateFormatConstants.d.ts.map +1 -0
  226. package/dist/formatters/date/datePatternConstants.d.ts +16 -0
  227. package/dist/formatters/date/datePatternConstants.d.ts.map +1 -0
  228. package/dist/formatters/date/datePresetNameConstants.d.ts +27 -0
  229. package/dist/formatters/date/datePresetNameConstants.d.ts.map +1 -0
  230. package/dist/formatters/date/dateRange.d.ts +3 -1
  231. package/dist/formatters/date/dateRange.d.ts.map +1 -1
  232. package/dist/formatters/date/dateValueConstants.d.ts +15 -0
  233. package/dist/formatters/date/dateValueConstants.d.ts.map +1 -0
  234. package/dist/formatters/date/educationDate.d.ts.map +1 -1
  235. package/dist/formatters/date/formatDate.d.ts.map +1 -1
  236. package/dist/formatters/date/formatInstantDateTime.d.ts.map +1 -1
  237. package/dist/formatters/date/parseDate.d.ts.map +1 -1
  238. package/dist/formatters/date/pattern.d.ts.map +1 -1
  239. package/dist/formatters/date/presets.d.ts.map +1 -1
  240. package/dist/formatters/date/types.d.ts +8 -6
  241. package/dist/formatters/date/types.d.ts.map +1 -1
  242. package/dist/formatters/formatDurationMinutes.d.ts.map +1 -1
  243. package/dist/formatters/formatFileSize.d.ts.map +1 -1
  244. package/dist/formatters/formatPhone.d.ts.map +1 -1
  245. package/dist/formatters/index.js +6 -5
  246. package/dist/formatters/normalizeLeadingZeros.d.ts.map +1 -1
  247. package/dist/formatters/number/compact.d.ts.map +1 -1
  248. package/dist/formatters/number/formatCompactNumber.d.ts.map +1 -1
  249. package/dist/formatters/number/formatNumber.d.ts.map +1 -1
  250. package/dist/formatters/number/numberFormatConstants.d.ts +11 -0
  251. package/dist/formatters/number/numberFormatConstants.d.ts.map +1 -0
  252. package/dist/formatters/number/numberPresetNameConstants.d.ts +16 -0
  253. package/dist/formatters/number/numberPresetNameConstants.d.ts.map +1 -0
  254. package/dist/formatters/number/parseNumber.d.ts.map +1 -1
  255. package/dist/formatters/number/presets.d.ts.map +1 -1
  256. package/dist/formatters/number/types.d.ts +2 -1
  257. package/dist/formatters/number/types.d.ts.map +1 -1
  258. package/dist/formatters/pipeline/clone.d.ts.map +1 -1
  259. package/dist/formatters/pipeline/definitions.d.ts.map +1 -1
  260. package/dist/formatters/pipeline/dependencies.d.ts.map +1 -1
  261. package/dist/formatters/pipeline/execute.d.ts +4 -1
  262. package/dist/formatters/pipeline/execute.d.ts.map +1 -1
  263. package/dist/formatters/pipeline/formattersPipelineConstants.d.ts +19 -0
  264. package/dist/formatters/pipeline/formattersPipelineConstants.d.ts.map +1 -0
  265. package/dist/formatters/pipeline/normalize.d.ts.map +1 -1
  266. package/dist/formatters/pipeline/pipelineValidationConstants.d.ts +40 -0
  267. package/dist/formatters/pipeline/pipelineValidationConstants.d.ts.map +1 -0
  268. package/dist/formatters/pipeline/registry.d.ts +1 -1
  269. package/dist/formatters/pipeline/registry.d.ts.map +1 -1
  270. package/dist/formatters/pipeline/rekey.d.ts.map +1 -1
  271. package/dist/formatters/pipeline/runtime.d.ts.map +1 -1
  272. package/dist/formatters/pipeline/types.d.ts +28 -25
  273. package/dist/formatters/pipeline/types.d.ts.map +1 -1
  274. package/dist/formatters/pipeline/validate.d.ts +2 -1
  275. package/dist/formatters/pipeline/validate.d.ts.map +1 -1
  276. package/dist/formatters/strings/spaceCharacterConstants.d.ts +5 -0
  277. package/dist/formatters/strings/spaceCharacterConstants.d.ts.map +1 -0
  278. package/dist/formatters/strings/stripInnerSpaces.d.ts.map +1 -1
  279. package/dist/formatters/strings/stripLeadingZeros.d.ts.map +1 -1
  280. package/dist/formatters/valueState/fixedValueStateResolver.d.ts.map +1 -1
  281. package/dist/formatters/valueState/presentation.d.ts.map +1 -1
  282. package/dist/formatters/valueState/resolveValueStateClassName.d.ts.map +1 -1
  283. package/dist/formatters/valueState/thresholdValueStateResolver.d.ts.map +1 -1
  284. package/dist/formatters/valueState/types.d.ts +2 -1
  285. package/dist/formatters/valueState/types.d.ts.map +1 -1
  286. package/dist/formatters/valueState/valueStateRegistry.d.ts.map +1 -1
  287. package/dist/formatters/valueState/valueStateResolverConstants.d.ts +6 -0
  288. package/dist/formatters/valueState/valueStateResolverConstants.d.ts.map +1 -0
  289. package/dist/formulas/execute.d.ts +3 -2
  290. package/dist/formulas/execute.d.ts.map +1 -1
  291. package/dist/formulas/index.js +1 -1
  292. package/dist/formulas/isTableFormulaDependency.d.ts.map +1 -1
  293. package/dist/formulas/tableFormulaConstants.d.ts +12 -0
  294. package/dist/formulas/tableFormulaConstants.d.ts.map +1 -0
  295. package/dist/formulas/types.d.ts +2 -1
  296. package/dist/formulas/types.d.ts.map +1 -1
  297. package/dist/formulas/validate.d.ts +2 -1
  298. package/dist/formulas/validate.d.ts.map +1 -1
  299. package/dist/hooks/index.js +110 -107
  300. package/dist/hooks/index.js.map +1 -1
  301. package/dist/hooks/useBlockBrowserZoom.d.ts.map +1 -1
  302. package/dist/hooks/useDndSortableSensors.d.ts.map +1 -1
  303. package/dist/hooks/useFloatingListbox.d.ts +15 -33
  304. package/dist/hooks/useFloatingListbox.d.ts.map +1 -1
  305. package/dist/http/index.js +8 -7
  306. package/dist/http/index.js.map +1 -1
  307. package/dist/http/textResponse.d.ts.map +1 -1
  308. package/dist/indexed-records/createIndexedRecordsSchema.d.ts.map +1 -1
  309. package/dist/indexed-records/schema.js +24 -23
  310. package/dist/indexed-records/schema.js.map +1 -1
  311. package/dist/media/breakpointConstants.d.ts +5 -0
  312. package/dist/media/breakpointConstants.d.ts.map +1 -0
  313. package/dist/media/breakpoints.d.ts +2 -1
  314. package/dist/media/breakpoints.d.ts.map +1 -1
  315. package/dist/media/createNotificationTonePlayer.d.ts.map +1 -1
  316. package/dist/media/getCurrentFontSize.d.ts.map +1 -1
  317. package/dist/media/index.js +1 -1
  318. package/dist/media/mediaQueryConstants.d.ts +3 -0
  319. package/dist/media/mediaQueryConstants.d.ts.map +1 -0
  320. package/dist/media/responsive.d.ts +1 -1
  321. package/dist/media/responsive.d.ts.map +1 -1
  322. package/dist/media/useMatchMedia.d.ts.map +1 -1
  323. package/dist/media/useMediaQuery.d.ts.map +1 -1
  324. package/dist/metadata/baseMetaTypes.d.ts +7 -0
  325. package/dist/metadata/baseMetaTypes.d.ts.map +1 -0
  326. package/dist/metadata/metadataTypes.d.ts +17 -0
  327. package/dist/metadata/metadataTypes.d.ts.map +1 -0
  328. package/dist/metadata/scalarTypeClassification.d.ts +8 -0
  329. package/dist/metadata/scalarTypeClassification.d.ts.map +1 -0
  330. package/dist/metadata/scalarTypeConstants.d.ts +21 -0
  331. package/dist/metadata/scalarTypeConstants.d.ts.map +1 -0
  332. package/dist/notifications/index.js +62 -62
  333. package/dist/notifications/index.js.map +1 -1
  334. package/dist/notifications/notificationTypeConstants.d.ts +6 -0
  335. package/dist/notifications/notificationTypeConstants.d.ts.map +1 -0
  336. package/dist/notifications/notify.d.ts.map +1 -1
  337. package/dist/notifications/store.d.ts.map +1 -1
  338. package/dist/notifications/types.d.ts +2 -1
  339. package/dist/notifications/types.d.ts.map +1 -1
  340. package/dist/number-scale/index.js +47 -46
  341. package/dist/number-scale/index.js.map +1 -1
  342. package/dist/number-scale/marksPositionConstants.d.ts +4 -0
  343. package/dist/number-scale/marksPositionConstants.d.ts.map +1 -0
  344. package/dist/number-scale/numberScale.d.ts +1 -1
  345. package/dist/number-scale/numberScale.d.ts.map +1 -1
  346. package/dist/number-scale/types.d.ts +2 -1
  347. package/dist/number-scale/types.d.ts.map +1 -1
  348. package/dist/odata-service/baseTypes.d.ts +1 -5
  349. package/dist/odata-service/baseTypes.d.ts.map +1 -1
  350. package/dist/odata-service/builder.d.ts.map +1 -1
  351. package/dist/odata-service/columns.d.ts.map +1 -1
  352. package/dist/odata-service/entityOperationConstants.d.ts +4 -0
  353. package/dist/odata-service/entityOperationConstants.d.ts.map +1 -0
  354. package/dist/odata-service/filterDefinitionConstants.d.ts +24 -0
  355. package/dist/odata-service/filterDefinitionConstants.d.ts.map +1 -0
  356. package/dist/odata-service/filterDefinitions.d.ts +19 -17
  357. package/dist/odata-service/filterDefinitions.d.ts.map +1 -1
  358. package/dist/odata-service/filterOperationConstants.d.ts +14 -0
  359. package/dist/odata-service/filterOperationConstants.d.ts.map +1 -0
  360. package/dist/odata-service/filters.d.ts.map +1 -1
  361. package/dist/odata-service/formatters.d.ts +1 -2
  362. package/dist/odata-service/formatters.d.ts.map +1 -1
  363. package/dist/odata-service/index.js +1317 -2
  364. package/dist/odata-service/index.js.map +1 -0
  365. package/dist/odata-service/odataMetadataConstants.d.ts +8 -0
  366. package/dist/odata-service/odataMetadataConstants.d.ts.map +1 -0
  367. package/dist/odata-service/parser.d.ts +1 -3
  368. package/dist/odata-service/parser.d.ts.map +1 -1
  369. package/dist/odata-service/schema.d.ts.map +1 -1
  370. package/dist/odata-service/sorts.d.ts.map +1 -1
  371. package/dist/odata-service/sqlFilters.d.ts +10 -5
  372. package/dist/odata-service/sqlFilters.d.ts.map +1 -1
  373. package/dist/odata-service/types.d.ts +13 -14
  374. package/dist/odata-service/types.d.ts.map +1 -1
  375. package/dist/odata-service/typesValidation.d.ts +1 -5
  376. package/dist/odata-service/typesValidation.d.ts.map +1 -1
  377. package/dist/pwa/index.js +72 -71
  378. package/dist/pwa/index.js.map +1 -1
  379. package/dist/pwa/sw-cache-policy.js +47 -47
  380. package/dist/pwa/sw-cache-policy.js.map +1 -1
  381. package/dist/pwa/swCachePolicy.d.ts +5 -1
  382. package/dist/pwa/swCachePolicy.d.ts.map +1 -1
  383. package/dist/pwa/useBrowserOnlineStatus.d.ts.map +1 -1
  384. package/dist/query-client/broadcast.d.ts +4 -3
  385. package/dist/query-client/broadcast.d.ts.map +1 -1
  386. package/dist/query-client/createQueryRestoreSchedulerGuard.d.ts.map +1 -1
  387. package/dist/query-client/createQueryRestoreStorage.d.ts.map +1 -1
  388. package/dist/query-client/index.js +1 -1
  389. package/dist/query-client/invalidationBroadcast.d.ts +2 -1
  390. package/dist/query-client/invalidationBroadcast.d.ts.map +1 -1
  391. package/dist/query-client/persistence.d.ts +9 -6
  392. package/dist/query-client/persistence.d.ts.map +1 -1
  393. package/dist/query-client/queryCacheEventConstants.d.ts +11 -0
  394. package/dist/query-client/queryCacheEventConstants.d.ts.map +1 -0
  395. package/dist/query-client/queryClient.d.ts +2 -1
  396. package/dist/query-client/queryClient.d.ts.map +1 -1
  397. package/dist/query-client/queryMeta.d.ts.map +1 -1
  398. package/dist/query-client/sessionPersistenceConstants.d.ts +5 -0
  399. package/dist/query-client/sessionPersistenceConstants.d.ts.map +1 -0
  400. package/dist/query-client/sessionScoped.d.ts.map +1 -1
  401. package/dist/query-client/sessionScopedResetConstants.d.ts +4 -0
  402. package/dist/query-client/sessionScopedResetConstants.d.ts.map +1 -0
  403. package/dist/query-client/sessionScopedResetLifecycleTypes.d.ts +2 -1
  404. package/dist/query-client/sessionScopedResetLifecycleTypes.d.ts.map +1 -1
  405. package/dist/seo/index.js +0 -1
  406. package/dist/seo/index.js.map +1 -1
  407. package/dist/seo/seo.d.ts +3 -2
  408. package/dist/seo/seo.d.ts.map +1 -1
  409. package/dist/seo/seoContentTypeConstants.d.ts +6 -0
  410. package/dist/seo/seoContentTypeConstants.d.ts.map +1 -0
  411. package/dist/seo/types.d.ts +2 -1
  412. package/dist/seo/types.d.ts.map +1 -1
  413. package/dist/session-storage/index.js +1 -1
  414. package/dist/table/cellSelection.d.ts.map +1 -1
  415. package/dist/table/index.js +83 -79
  416. package/dist/table/index.js.map +1 -1
  417. package/dist/table/odataAdapter.d.ts +3 -3
  418. package/dist/table/odataAdapter.d.ts.map +1 -1
  419. package/dist/table/selection.d.ts +2 -2
  420. package/dist/table/selection.d.ts.map +1 -1
  421. package/dist/table/tableColumnConstants.d.ts +5 -0
  422. package/dist/table/tableColumnConstants.d.ts.map +1 -0
  423. package/dist/table/tableSelectionConstants.d.ts +8 -0
  424. package/dist/table/tableSelectionConstants.d.ts.map +1 -0
  425. package/dist/table/tanStackFeatures.d.ts +8 -8
  426. package/dist/table/types.d.ts +5 -3
  427. package/dist/table/types.d.ts.map +1 -1
  428. package/dist/table/useTableRowSelection.d.ts +2 -2
  429. package/dist/table/useTableRowSelection.d.ts.map +1 -1
  430. package/dist/table-document/index.js +88 -87
  431. package/dist/table-document/index.js.map +1 -1
  432. package/dist/table-document/insertTableDocumentAxis.d.ts +2 -1
  433. package/dist/table-document/insertTableDocumentAxis.d.ts.map +1 -1
  434. package/dist/table-document/tableDocument.d.ts +2 -1
  435. package/dist/table-document/tableDocument.d.ts.map +1 -1
  436. package/dist/table-document/tableDocumentAxisGroups.d.ts +4 -3
  437. package/dist/table-document/tableDocumentAxisGroups.d.ts.map +1 -1
  438. package/dist/table-document/tableDocumentConstants.d.ts +8 -0
  439. package/dist/table-document/tableDocumentConstants.d.ts.map +1 -0
  440. package/dist/table-document/tableDocumentGeometry.d.ts.map +1 -1
  441. package/dist/three-scene/index.js +32 -32
  442. package/dist/three-scene/index.js.map +1 -1
  443. package/dist/three-scene/threeSceneAvailability.d.ts +4 -3
  444. package/dist/three-scene/threeSceneAvailability.d.ts.map +1 -1
  445. package/dist/three-scene/threeSceneConstants.d.ts +14 -0
  446. package/dist/three-scene/threeSceneConstants.d.ts.map +1 -0
  447. package/dist/three-scene/useThreeSceneAvailability.d.ts.map +1 -1
  448. package/dist/tree-table/index.js +1 -1
  449. package/dist/types/abapBooleanConstants.d.ts +4 -0
  450. package/dist/types/abapBooleanConstants.d.ts.map +1 -0
  451. package/dist/types/index.js.map +1 -1
  452. package/dist/types/types.d.ts +4 -2
  453. package/dist/types/types.d.ts.map +1 -1
  454. package/dist/types/valueStateConstants.d.ts +8 -0
  455. package/dist/types/valueStateConstants.d.ts.map +1 -0
  456. package/dist/utils/cloneFunctionStrategyConstants.d.ts +4 -0
  457. package/dist/utils/cloneFunctionStrategyConstants.d.ts.map +1 -0
  458. package/dist/utils/createLazyComponent.d.ts.map +1 -1
  459. package/dist/utils/deepCloneWithoutFunctions.d.ts +2 -1
  460. package/dist/utils/deepCloneWithoutFunctions.d.ts.map +1 -1
  461. package/dist/utils/deepCopyWithoutFunctions.d.ts +2 -1
  462. package/dist/utils/deepCopyWithoutFunctions.d.ts.map +1 -1
  463. package/dist/utils/index.js +2 -209
  464. package/dist/utils/keyboard.d.ts +2 -1
  465. package/dist/utils/keyboard.d.ts.map +1 -1
  466. package/dist/utils/keyboardConstants.d.ts +16 -0
  467. package/dist/utils/keyboardConstants.d.ts.map +1 -0
  468. package/dist/validators/index.js +3 -3
  469. package/dist/validators/index.js.map +1 -1
  470. package/dist/validators/validateUrl.d.ts.map +1 -1
  471. package/dist/value-transformers/execute.d.ts.map +1 -1
  472. package/dist/value-transformers/index.js +9 -6
  473. package/dist/value-transformers/index.js.map +1 -1
  474. package/dist/value-transformers/types.d.ts +3 -2
  475. package/dist/value-transformers/types.d.ts.map +1 -1
  476. package/dist/value-transformers/valueTransformerConstants.d.ts +4 -0
  477. package/dist/value-transformers/valueTransformerConstants.d.ts.map +1 -0
  478. package/package.json +6 -5
  479. package/src/binary/README.mdx +1 -1
  480. package/src/dom/README.mdx +1 -1
  481. package/src/formatters/README.mdx +5 -0
  482. package/src/foundationLib.mdx +8 -0
  483. package/src/metadata/README.md +35 -0
  484. package/src/odata-service/README.mdx +36 -1
  485. package/src/query-client/README.mdx +4 -4
  486. package/dist/chunks/dom-BK22UmgF.js.map +0 -1
  487. package/dist/chunks/formatters-CZnnbdud.js.map +0 -1
  488. package/dist/chunks/formulas-BXT_XBWI.js.map +0 -1
  489. package/dist/chunks/media-WK38KtMl.js +0 -191
  490. package/dist/chunks/media-WK38KtMl.js.map +0 -1
  491. package/dist/chunks/odata-service-tp2U5yIr.js +0 -2211
  492. package/dist/chunks/odata-service-tp2U5yIr.js.map +0 -1
  493. package/dist/chunks/query-client-CVRfrYZM.js.map +0 -1
  494. package/dist/chunks/uuid-CUJPAbRY.js.map +0 -1
  495. package/dist/chunks/validate-CEQHqevt.js +0 -608
  496. package/dist/chunks/validate-CEQHqevt.js.map +0 -1
  497. package/dist/utils/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/date-segments/mask.ts"],"sourcesContent":["/**\n * Нейтральные идентификаторы редактируемых сегментов даты и времени.\n */\nexport type DateSegmentId = \"year\" | \"month\" | \"day\" | \"hours\" | \"minutes\" | \"seconds\";\n\n/**\n * Редактируемый сегмент маски даты/времени.\n */\nexport interface EditableDateSegment {\n\tkind: \"editable\";\n\tid: DateSegmentId;\n\ttoken: string;\n\tlength: number;\n\tmin: number;\n\tmax: number;\n\tplaceholder: string;\n\tariaLabel: string;\n}\n\n/**\n * Литеральный сегмент маски даты/времени.\n */\nexport interface LiteralDateSegment {\n\tkind: \"literal\";\n\ttext: string;\n}\n\n/**\n * Унифицированный сегмент маски даты/времени.\n */\nexport type DateMaskSegment = EditableDateSegment | LiteralDateSegment;\n\ntype EditableTokenConfig = Omit<EditableDateSegment, \"kind\" | \"token\">;\n\nconst TOKEN_MAP: Record<string, EditableTokenConfig> = {\n\tYYYY: { id: \"year\", length: 4, min: 1, max: 9999, placeholder: \"ГГГГ\", ariaLabel: \"Год\" },\n\tyyyy: { id: \"year\", length: 4, min: 1, max: 9999, placeholder: \"гггг\", ariaLabel: \"Год\" },\n\tyy: { id: \"year\", length: 2, min: 0, max: 99, placeholder: \"гг\", ariaLabel: \"Год\" },\n\tMM: { id: \"month\", length: 2, min: 1, max: 12, placeholder: \"мм\", ariaLabel: \"Месяц\" },\n\tDD: { id: \"day\", length: 2, min: 1, max: 31, placeholder: \"ДД\", ariaLabel: \"День\" },\n\tdd: { id: \"day\", length: 2, min: 1, max: 31, placeholder: \"дд\", ariaLabel: \"День\" },\n\thh: { id: \"hours\", length: 2, min: 0, max: 23, placeholder: \"чч\", ariaLabel: \"Часы\" },\n\tHH: { id: \"hours\", length: 2, min: 0, max: 23, placeholder: \"чч\", ariaLabel: \"Часы\" },\n\tmm: { id: \"minutes\", length: 2, min: 0, max: 59, placeholder: \"мм\", ariaLabel: \"Минуты\" },\n\tss: { id: \"seconds\", length: 2, min: 0, max: 59, placeholder: \"сс\", ariaLabel: \"Секунды\" }\n};\n\nconst TOKENS_SORTED = Object.keys(TOKEN_MAP).sort((left, right) => right.length - left.length);\n\n/**\n * Разворачивает строковую маску в последовательность литер и редактируемых сегментов.\n */\nexport function parseDateSegmentMask(mask: string): DateMaskSegment[] {\n\tconst segments: DateMaskSegment[] = [];\n\tlet position = 0;\n\tlet literalBuffer = \"\";\n\n\tconst flushLiteral = () => {\n\t\tif (!literalBuffer) return;\n\n\t\tsegments.push({ kind: \"literal\", text: literalBuffer });\n\t\tliteralBuffer = \"\";\n\t};\n\n\twhile (position < mask.length) {\n\t\tlet matchedToken: string | null = null;\n\n\t\tfor (const token of TOKENS_SORTED) {\n\t\t\tif (mask.slice(position, position + token.length) === token) {\n\t\t\t\tmatchedToken = token;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!matchedToken) {\n\t\t\tliteralBuffer += mask[position];\n\t\t\tposition += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tflushLiteral();\n\t\tsegments.push({ kind: \"editable\", token: matchedToken, ...TOKEN_MAP[matchedToken] });\n\t\tposition += matchedToken.length;\n\t}\n\n\tflushLiteral();\n\n\treturn segments;\n}\n\n/**\n * Возвращает `true`, если сегмент редактируемый.\n */\nexport function isEditableDateSegment(segment: DateMaskSegment): segment is EditableDateSegment {\n\treturn segment.kind === \"editable\";\n}\n\n/**\n * Преобразует Date в индексированную карту значений сегментов.\n */\nexport function dateToIndexedSegmentValues(date: Date | null | undefined, segments: DateMaskSegment[]): Map<number, string> {\n\tconst values = new Map<number, string>();\n\n\tsegments.forEach((segment, index) => {\n\t\tif (!isEditableDateSegment(segment)) return;\n\n\t\tif (!(date instanceof Date) || Number.isNaN(date.getTime())) {\n\t\t\tvalues.set(index, \"\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst rawValue = resolveSegmentValue(date, segment);\n\t\tvalues.set(index, rawValue);\n\t});\n\n\treturn values;\n}\n\n/**\n * Возвращает `true`, если все редактируемые сегменты пусты.\n */\nexport function areAllDateSegmentsEmpty(segments: DateMaskSegment[], values: Map<number, string>): boolean {\n\treturn segments.every((segment, index) => !isEditableDateSegment(segment) || !(values.get(index) ?? \"\"));\n}\n\n/**\n * Собирает строгий Date из индексированной карты сегментов.\n *\n * Отсутствующие части берутся из `defaultDate`, что сохраняет обратную\n * совместимость со сценариями ввода только даты или только времени.\n */\nexport function indexedSegmentsToDate(\n\tsegments: DateMaskSegment[],\n\tvalues: Map<number, string>,\n\toptions?: { defaultDate?: Date }\n): Date | null {\n\tconst editableSegments = segments\n\t\t.map((segment, index) => ({ segment, index }))\n\t\t.filter((entry): entry is { segment: EditableDateSegment; index: number } => isEditableDateSegment(entry.segment));\n\n\tfor (const { segment, index } of editableSegments) {\n\t\tconst value = values.get(index) ?? \"\";\n\t\tif (value.length < segment.length) return null;\n\t}\n\n\tconst fallbackDate = options?.defaultDate ?? new Date(1970, 0, 1, 0, 0, 0, 0);\n\tconst year = resolveSegmentNumber(editableSegments, values, \"year\") ?? fallbackDate.getFullYear();\n\tconst month = resolveSegmentNumber(editableSegments, values, \"month\") ?? fallbackDate.getMonth() + 1;\n\tconst day = resolveSegmentNumber(editableSegments, values, \"day\") ?? fallbackDate.getDate();\n\tconst hours = resolveSegmentNumber(editableSegments, values, \"hours\") ?? fallbackDate.getHours();\n\tconst minutes = resolveSegmentNumber(editableSegments, values, \"minutes\") ?? fallbackDate.getMinutes();\n\tconst seconds = resolveSegmentNumber(editableSegments, values, \"seconds\") ?? fallbackDate.getSeconds();\n\n\tif (month < 1 || month > 12) return null;\n\tif (day < 1 || day > 31) return null;\n\tif (hours < 0 || hours > 23) return null;\n\tif (minutes < 0 || minutes > 59) return null;\n\tif (seconds < 0 || seconds > 59) return null;\n\n\tconst result = new Date(year, month - 1, day, hours, minutes, seconds, 0);\n\tconst isValid =\n\t\tresult.getFullYear() === year &&\n\t\tresult.getMonth() === month - 1 &&\n\t\tresult.getDate() === day &&\n\t\tresult.getHours() === hours &&\n\t\tresult.getMinutes() === minutes &&\n\t\tresult.getSeconds() === seconds;\n\n\treturn isValid ? result : null;\n}\n\n/**\n * Возвращает строковое значение конкретного сегмента для переданного Date.\n */\nfunction resolveSegmentValue(date: Date, segment: EditableDateSegment): string {\n\tconst fullYear = String(date.getFullYear());\n\n\tswitch (segment.id) {\n\t\tcase \"year\":\n\t\t\treturn segment.length === 2 ? fullYear.slice(-2) : fullYear.padStart(segment.length, \"0\");\n\t\tcase \"month\":\n\t\t\treturn String(date.getMonth() + 1).padStart(segment.length, \"0\");\n\t\tcase \"day\":\n\t\t\treturn String(date.getDate()).padStart(segment.length, \"0\");\n\t\tcase \"hours\":\n\t\t\treturn String(date.getHours()).padStart(segment.length, \"0\");\n\t\tcase \"minutes\":\n\t\t\treturn String(date.getMinutes()).padStart(segment.length, \"0\");\n\t\tcase \"seconds\":\n\t\t\treturn String(date.getSeconds()).padStart(segment.length, \"0\");\n\t}\n}\n\n/**\n * Извлекает числовое значение сегмента нужного типа.\n */\nfunction resolveSegmentNumber(\n\teditableSegments: Array<{ segment: EditableDateSegment; index: number }>,\n\tvalues: Map<number, string>,\n\ttargetId: DateSegmentId\n): number | null {\n\tconst match = editableSegments.find(({ segment }) => segment.id === targetId);\n\tif (!match) return null;\n\n\tconst rawValue = values.get(match.index);\n\tif (!rawValue) return null;\n\n\tconst numericValue = Number.parseInt(rawValue, 10);\n\tif (!Number.isFinite(numericValue)) return null;\n\n\tif (targetId === \"year\" && match.segment.length === 2) {\n\t\treturn numericValue < 70 ? 2000 + numericValue : 1900 + numericValue;\n\t}\n\n\treturn numericValue;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/date-segments/mask.ts"],"sourcesContent":["/** Виды и идентификаторы связывают маску, сборку даты и литеральные типы сегментов. */\nconst DATE_SEGMENT_ID_YEAR = \"year\";\nconst DATE_SEGMENT_ID_MONTH = \"month\";\nconst DATE_SEGMENT_ID_DAY = \"day\";\nconst DATE_SEGMENT_ID_HOURS = \"hours\";\nconst DATE_SEGMENT_ID_MINUTES = \"minutes\";\nconst DATE_SEGMENT_ID_SECONDS = \"seconds\";\nconst DATE_SEGMENT_KIND_EDITABLE = \"editable\";\nconst DATE_SEGMENT_KIND_LITERAL = \"literal\";\nconst DATE_SEGMENT_YEAR_LABEL = \"Год\";\nconst DATE_SEGMENT_DAY_LABEL = \"День\";\nconst DATE_SEGMENT_HOURS_LABEL = \"Часы\";\nconst DATE_SEGMENT_HOURS_PLACEHOLDER = \"чч\";\n\nconst DATE_SEGMENT_MAX_YEAR = 9999;\nconst DATE_SEGMENT_MAX_TWO_DIGIT_YEAR = 99;\nconst DATE_SEGMENT_MAX_MONTH = 12;\nconst DATE_SEGMENT_MAX_DAY = 31;\nconst DATE_SEGMENT_MAX_HOURS = 23;\nconst DATE_SEGMENT_MAX_MINUTES = 59;\nconst DATE_SEGMENT_MAX_SECONDS = 59;\nconst DATE_SEGMENT_FALLBACK_YEAR = 1970;\nconst DATE_SEGMENT_TWO_DIGIT_YEAR_PIVOT = 70;\nconst DATE_SEGMENT_PREVIOUS_CENTURY = 1900;\nconst DATE_SEGMENT_CURRENT_CENTURY = 2000;\n/**\n * Нейтральные идентификаторы редактируемых сегментов даты и времени.\n */\nexport type DateSegmentId =\n\t| typeof DATE_SEGMENT_ID_YEAR\n\t| typeof DATE_SEGMENT_ID_MONTH\n\t| typeof DATE_SEGMENT_ID_DAY\n\t| typeof DATE_SEGMENT_ID_HOURS\n\t| typeof DATE_SEGMENT_ID_MINUTES\n\t| typeof DATE_SEGMENT_ID_SECONDS;\n\n/**\n * Редактируемый сегмент маски даты/времени.\n */\nexport interface EditableDateSegment {\n\tkind: typeof DATE_SEGMENT_KIND_EDITABLE;\n\tid: DateSegmentId;\n\ttoken: string;\n\tlength: number;\n\tmin: number;\n\tmax: number;\n\tplaceholder: string;\n\tariaLabel: string;\n}\n\n/**\n * Литеральный сегмент маски даты/времени.\n */\nexport interface LiteralDateSegment {\n\tkind: typeof DATE_SEGMENT_KIND_LITERAL;\n\ttext: string;\n}\n\n/**\n * Унифицированный сегмент маски даты/времени.\n */\nexport type DateMaskSegment = EditableDateSegment | LiteralDateSegment;\n\ntype EditableTokenConfig = Omit<EditableDateSegment, \"kind\" | \"token\">;\n\nconst TOKEN_MAP: Record<string, EditableTokenConfig> = {\n\tYYYY: {\n\t\tid: DATE_SEGMENT_ID_YEAR,\n\t\tlength: 4,\n\t\tmin: 1,\n\t\tmax: DATE_SEGMENT_MAX_YEAR,\n\t\tplaceholder: \"ГГГГ\",\n\t\tariaLabel: DATE_SEGMENT_YEAR_LABEL\n\t},\n\tyyyy: {\n\t\tid: DATE_SEGMENT_ID_YEAR,\n\t\tlength: 4,\n\t\tmin: 1,\n\t\tmax: DATE_SEGMENT_MAX_YEAR,\n\t\tplaceholder: \"гггг\",\n\t\tariaLabel: DATE_SEGMENT_YEAR_LABEL\n\t},\n\tyy: {\n\t\tid: DATE_SEGMENT_ID_YEAR,\n\t\tlength: 2,\n\t\tmin: 0,\n\t\tmax: DATE_SEGMENT_MAX_TWO_DIGIT_YEAR,\n\t\tplaceholder: \"гг\",\n\t\tariaLabel: DATE_SEGMENT_YEAR_LABEL\n\t},\n\tMM: { id: DATE_SEGMENT_ID_MONTH, length: 2, min: 1, max: DATE_SEGMENT_MAX_MONTH, placeholder: \"мм\", ariaLabel: \"Месяц\" },\n\tDD: { id: DATE_SEGMENT_ID_DAY, length: 2, min: 1, max: DATE_SEGMENT_MAX_DAY, placeholder: \"ДД\", ariaLabel: DATE_SEGMENT_DAY_LABEL },\n\tdd: { id: DATE_SEGMENT_ID_DAY, length: 2, min: 1, max: DATE_SEGMENT_MAX_DAY, placeholder: \"дд\", ariaLabel: DATE_SEGMENT_DAY_LABEL },\n\thh: {\n\t\tid: DATE_SEGMENT_ID_HOURS,\n\t\tlength: 2,\n\t\tmin: 0,\n\t\tmax: DATE_SEGMENT_MAX_HOURS,\n\t\tplaceholder: DATE_SEGMENT_HOURS_PLACEHOLDER,\n\t\tariaLabel: DATE_SEGMENT_HOURS_LABEL\n\t},\n\tHH: {\n\t\tid: DATE_SEGMENT_ID_HOURS,\n\t\tlength: 2,\n\t\tmin: 0,\n\t\tmax: DATE_SEGMENT_MAX_HOURS,\n\t\tplaceholder: DATE_SEGMENT_HOURS_PLACEHOLDER,\n\t\tariaLabel: DATE_SEGMENT_HOURS_LABEL\n\t},\n\tmm: { id: DATE_SEGMENT_ID_MINUTES, length: 2, min: 0, max: DATE_SEGMENT_MAX_MINUTES, placeholder: \"мм\", ariaLabel: \"Минуты\" },\n\tss: { id: DATE_SEGMENT_ID_SECONDS, length: 2, min: 0, max: DATE_SEGMENT_MAX_SECONDS, placeholder: \"сс\", ariaLabel: \"Секунды\" }\n};\n\nconst TOKENS_SORTED = Object.keys(TOKEN_MAP).sort((left, right) => right.length - left.length);\n\n/**\n * Разворачивает строковую маску в последовательность литер и редактируемых сегментов.\n */\nexport function parseDateSegmentMask(mask: string): DateMaskSegment[] {\n\tconst segments: DateMaskSegment[] = [];\n\tlet position = 0;\n\tlet literalBuffer = \"\";\n\n\tconst flushLiteral = () => {\n\t\tif (!literalBuffer) return;\n\n\t\tsegments.push({ kind: DATE_SEGMENT_KIND_LITERAL, text: literalBuffer });\n\t\tliteralBuffer = \"\";\n\t};\n\n\twhile (position < mask.length) {\n\t\tlet matchedToken: string | null = null;\n\n\t\tfor (const token of TOKENS_SORTED) {\n\t\t\tif (mask.slice(position, position + token.length) === token) {\n\t\t\t\tmatchedToken = token;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!matchedToken) {\n\t\t\tliteralBuffer += mask[position];\n\t\t\tposition += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tflushLiteral();\n\t\tsegments.push({ kind: DATE_SEGMENT_KIND_EDITABLE, token: matchedToken, ...TOKEN_MAP[matchedToken] });\n\t\tposition += matchedToken.length;\n\t}\n\n\tflushLiteral();\n\n\treturn segments;\n}\n\n/**\n * Возвращает `true`, если сегмент редактируемый.\n */\nexport function isEditableDateSegment(segment: DateMaskSegment): segment is EditableDateSegment {\n\treturn segment.kind === DATE_SEGMENT_KIND_EDITABLE;\n}\n\n/**\n * Преобразует Date в индексированную карту значений сегментов.\n */\nexport function dateToIndexedSegmentValues(date: Date | null | undefined, segments: DateMaskSegment[]): Map<number, string> {\n\tconst values = new Map<number, string>();\n\n\tsegments.forEach((segment, index) => {\n\t\tif (!isEditableDateSegment(segment)) return;\n\n\t\tif (!(date instanceof Date) || Number.isNaN(date.getTime())) {\n\t\t\tvalues.set(index, \"\");\n\t\t\treturn;\n\t\t}\n\n\t\tconst rawValue = resolveSegmentValue(date, segment);\n\t\tvalues.set(index, rawValue);\n\t});\n\n\treturn values;\n}\n\n/**\n * Возвращает `true`, если все редактируемые сегменты пусты.\n */\nexport function areAllDateSegmentsEmpty(segments: DateMaskSegment[], values: Map<number, string>): boolean {\n\treturn segments.every((segment, index) => !isEditableDateSegment(segment) || !(values.get(index) ?? \"\"));\n}\n\n/**\n * Собирает строгий Date из индексированной карты сегментов.\n *\n * Отсутствующие части берутся из `defaultDate`, что сохраняет обратную\n * совместимость со сценариями ввода только даты или только времени.\n */\nexport function indexedSegmentsToDate(\n\tsegments: DateMaskSegment[],\n\tvalues: Map<number, string>,\n\toptions?: { defaultDate?: Date }\n): Date | null {\n\tconst editableSegments = segments\n\t\t.map((segment, index) => ({ segment, index }))\n\t\t.filter((entry): entry is { segment: EditableDateSegment; index: number } => isEditableDateSegment(entry.segment));\n\n\tfor (const { segment, index } of editableSegments) {\n\t\tconst value = values.get(index) ?? \"\";\n\t\tif (value.length < segment.length) return null;\n\t}\n\n\tconst fallbackDate = options?.defaultDate ?? new Date(DATE_SEGMENT_FALLBACK_YEAR, 0, 1, 0, 0, 0, 0);\n\tconst year = resolveSegmentNumber(editableSegments, values, DATE_SEGMENT_ID_YEAR) ?? fallbackDate.getFullYear();\n\tconst month = resolveSegmentNumber(editableSegments, values, DATE_SEGMENT_ID_MONTH) ?? fallbackDate.getMonth() + 1;\n\tconst day = resolveSegmentNumber(editableSegments, values, DATE_SEGMENT_ID_DAY) ?? fallbackDate.getDate();\n\tconst hours = resolveSegmentNumber(editableSegments, values, DATE_SEGMENT_ID_HOURS) ?? fallbackDate.getHours();\n\tconst minutes = resolveSegmentNumber(editableSegments, values, DATE_SEGMENT_ID_MINUTES) ?? fallbackDate.getMinutes();\n\tconst seconds = resolveSegmentNumber(editableSegments, values, DATE_SEGMENT_ID_SECONDS) ?? fallbackDate.getSeconds();\n\n\tif (month < 1 || month > DATE_SEGMENT_MAX_MONTH) return null;\n\tif (day < 1 || day > DATE_SEGMENT_MAX_DAY) return null;\n\tif (hours < 0 || hours > DATE_SEGMENT_MAX_HOURS) return null;\n\tif (minutes < 0 || minutes > DATE_SEGMENT_MAX_MINUTES) return null;\n\tif (seconds < 0 || seconds > DATE_SEGMENT_MAX_SECONDS) return null;\n\n\tconst result = new Date(year, month - 1, day, hours, minutes, seconds, 0);\n\tconst isValid =\n\t\tresult.getFullYear() === year &&\n\t\tresult.getMonth() === month - 1 &&\n\t\tresult.getDate() === day &&\n\t\tresult.getHours() === hours &&\n\t\tresult.getMinutes() === minutes &&\n\t\tresult.getSeconds() === seconds;\n\n\treturn isValid ? result : null;\n}\n\n/**\n * Возвращает строковое значение конкретного сегмента для переданного Date.\n */\nfunction resolveSegmentValue(date: Date, segment: EditableDateSegment): string {\n\tconst fullYear = String(date.getFullYear());\n\n\tswitch (segment.id) {\n\t\tcase DATE_SEGMENT_ID_YEAR:\n\t\t\treturn segment.length === 2 ? fullYear.slice(-2) : fullYear.padStart(segment.length, \"0\");\n\t\tcase DATE_SEGMENT_ID_MONTH:\n\t\t\treturn String(date.getMonth() + 1).padStart(segment.length, \"0\");\n\t\tcase DATE_SEGMENT_ID_DAY:\n\t\t\treturn String(date.getDate()).padStart(segment.length, \"0\");\n\t\tcase DATE_SEGMENT_ID_HOURS:\n\t\t\treturn String(date.getHours()).padStart(segment.length, \"0\");\n\t\tcase DATE_SEGMENT_ID_MINUTES:\n\t\t\treturn String(date.getMinutes()).padStart(segment.length, \"0\");\n\t\tcase DATE_SEGMENT_ID_SECONDS:\n\t\t\treturn String(date.getSeconds()).padStart(segment.length, \"0\");\n\t}\n}\n\n/**\n * Извлекает числовое значение сегмента нужного типа.\n */\nfunction resolveSegmentNumber(\n\teditableSegments: Array<{ segment: EditableDateSegment; index: number }>,\n\tvalues: Map<number, string>,\n\ttargetId: DateSegmentId\n): number | null {\n\tconst match = editableSegments.find(({ segment }) => segment.id === targetId);\n\tif (!match) return null;\n\n\tconst rawValue = values.get(match.index);\n\tif (!rawValue) return null;\n\n\tconst numericValue = Number.parseInt(rawValue, 10);\n\tif (!Number.isFinite(numericValue)) return null;\n\n\tif (targetId === DATE_SEGMENT_ID_YEAR && match.segment.length === 2) {\n\t\treturn numericValue < DATE_SEGMENT_TWO_DIGIT_YEAR_PIVOT\n\t\t\t? DATE_SEGMENT_CURRENT_CENTURY + numericValue\n\t\t\t: DATE_SEGMENT_PREVIOUS_CENTURY + numericValue;\n\t}\n\n\treturn numericValue;\n}\n"],"mappings":"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"}
@@ -1,12 +1,21 @@
1
+ /** Виды и идентификаторы связывают маску, сборку даты и литеральные типы сегментов. */
2
+ declare const DATE_SEGMENT_ID_YEAR = "year";
3
+ declare const DATE_SEGMENT_ID_MONTH = "month";
4
+ declare const DATE_SEGMENT_ID_DAY = "day";
5
+ declare const DATE_SEGMENT_ID_HOURS = "hours";
6
+ declare const DATE_SEGMENT_ID_MINUTES = "minutes";
7
+ declare const DATE_SEGMENT_ID_SECONDS = "seconds";
8
+ declare const DATE_SEGMENT_KIND_EDITABLE = "editable";
9
+ declare const DATE_SEGMENT_KIND_LITERAL = "literal";
1
10
  /**
2
11
  * Нейтральные идентификаторы редактируемых сегментов даты и времени.
3
12
  */
4
- export type DateSegmentId = "year" | "month" | "day" | "hours" | "minutes" | "seconds";
13
+ export type DateSegmentId = typeof DATE_SEGMENT_ID_YEAR | typeof DATE_SEGMENT_ID_MONTH | typeof DATE_SEGMENT_ID_DAY | typeof DATE_SEGMENT_ID_HOURS | typeof DATE_SEGMENT_ID_MINUTES | typeof DATE_SEGMENT_ID_SECONDS;
5
14
  /**
6
15
  * Редактируемый сегмент маски даты/времени.
7
16
  */
8
17
  export interface EditableDateSegment {
9
- kind: "editable";
18
+ kind: typeof DATE_SEGMENT_KIND_EDITABLE;
10
19
  id: DateSegmentId;
11
20
  token: string;
12
21
  length: number;
@@ -19,7 +28,7 @@ export interface EditableDateSegment {
19
28
  * Литеральный сегмент маски даты/времени.
20
29
  */
21
30
  export interface LiteralDateSegment {
22
- kind: "literal";
31
+ kind: typeof DATE_SEGMENT_KIND_LITERAL;
23
32
  text: string;
24
33
  }
25
34
  /**
@@ -51,4 +60,5 @@ export declare function areAllDateSegmentsEmpty(segments: DateMaskSegment[], val
51
60
  export declare function indexedSegmentsToDate(segments: DateMaskSegment[], values: Map<number, string>, options?: {
52
61
  defaultDate?: Date;
53
62
  }): Date | null;
63
+ export {};
54
64
  //# sourceMappingURL=mask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../../src/date-segments/mask.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAmBvE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAoCpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,IAAI,mBAAmB,CAE9F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB1H;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAEzG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,IAAI,CAAA;CAAE,GAC9B,IAAI,GAAG,IAAI,CAkCb"}
1
+ {"version":3,"file":"mask.d.ts","sourceRoot":"","sources":["../../src/date-segments/mask.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,QAAA,MAAM,oBAAoB,SAAS,CAAC;AACpC,QAAA,MAAM,qBAAqB,UAAU,CAAC;AACtC,QAAA,MAAM,mBAAmB,QAAQ,CAAC;AAClC,QAAA,MAAM,qBAAqB,UAAU,CAAC;AACtC,QAAA,MAAM,uBAAuB,YAAY,CAAC;AAC1C,QAAA,MAAM,uBAAuB,YAAY,CAAC;AAC1C,QAAA,MAAM,0BAA0B,aAAa,CAAC;AAC9C,QAAA,MAAM,yBAAyB,YAAY,CAAC;AAiB5C;;GAEG;AACH,MAAM,MAAM,aAAa,GACtB,OAAO,oBAAoB,GAC3B,OAAO,qBAAqB,GAC5B,OAAO,mBAAmB,GAC1B,OAAO,qBAAqB,GAC5B,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,OAAO,0BAA0B,CAAC;IACxC,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,OAAO,yBAAyB,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAsDvE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAoCpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,IAAI,mBAAmB,CAE9F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgB1H;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAEzG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,IAAI,CAAA;CAAE,GAC9B,IAAI,GAAG,IAAI,CAkCb"}
@@ -0,0 +1,3 @@
1
+ /** Канонический ноль сохраняется одинаковым в нормализации, накоплении и сериализации вычислений. */
2
+ export declare const CANONICAL_DECIMAL_ZERO = "0";
3
+ //# sourceMappingURL=decimalConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimalConstants.d.ts","sourceRoot":"","sources":["../../src/decimal/decimalConstants.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,MAAM,CAAC"}
@@ -7,8 +7,6 @@ function e(e, t) {
7
7
  scale: n
8
8
  };
9
9
  }
10
- //#endregion
11
- //#region src/decimal/resolveDecimalMaxLength.ts
12
10
  function t(e) {
13
11
  let t = e?.maxLength ?? 512;
14
12
  if (!Number.isSafeInteger(t) || t <= 0) throw RangeError("Предел длины десятичного значения должен быть положительным безопасным целым числом.");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/decimal/alignDecimalParts.ts","../../src/decimal/resolveDecimalMaxLength.ts","../../src/decimal/isCanonicalDecimal.ts","../../src/decimal/readDecimalParts.ts","../../src/decimal/writeDecimalParts.ts","../../src/decimal/addDecimals.ts","../../src/decimal/compareDecimalRatios.ts","../../src/decimal/compareDecimals.ts","../../src/decimal/multiplyDecimals.ts","../../src/decimal/normalizeDecimal.ts","../../src/decimal/normalizeDecimalLiteral.ts","../../src/decimal/subtractDecimals.ts","../../src/decimal/sumDecimals.ts"],"sourcesContent":["import type { DecimalParts } from \"./types\";\n\n/** Выравнивает только разрядность ограниченных операндов; глобального кеша степеней нет. */\nexport function alignDecimalParts(left: DecimalParts, right: DecimalParts): Readonly<{ left: bigint; right: bigint; scale: number }> {\n\tconst scale = Math.max(left.scale, right.scale);\n\n\treturn {\n\t\tleft: left.coefficient * 10n ** BigInt(scale - left.scale),\n\t\tright: right.coefficient * 10n ** BigInt(scale - right.scale),\n\t\tscale\n\t};\n}\n","import type { DecimalOptions } from \"./types\";\n\n/** Проверяет предел до разбора числа и выделения вычислительных буферов. */\nexport function resolveDecimalMaxLength(options?: DecimalOptions): number {\n\tconst maxLength = options?.maxLength ?? 512;\n\n\tif (!Number.isSafeInteger(maxLength) || maxLength <= 0) {\n\t\tthrow new RangeError(\"Предел длины десятичного значения должен быть положительным безопасным целым числом.\");\n\t}\n\n\treturn maxLength;\n}\n","import { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Runtime-проверка для внешних данных без преобразования значащих цифр в number. */\nexport function isCanonicalDecimal(value: unknown, options?: DecimalOptions): value is string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\n\treturn (\n\t\ttypeof value === \"string\" && value.length <= maxLength && /^(?:0|-?(?:[1-9]\\d*(?:\\.\\d*[1-9])?|0\\.\\d*[1-9]))(?![\\s\\S])/u.test(value)\n\t);\n}\n","import { isCanonicalDecimal } from \"./isCanonicalDecimal\";\n\nimport type { DecimalOptions, DecimalParts } from \"./types\";\n\n/** Арифметика принимает только канонические строки; нормализация принадлежит входной границе. */\nexport function readDecimalParts(value: string, options?: DecimalOptions): DecimalParts {\n\tif (!isCanonicalDecimal(value, options)) {\n\t\tthrow new TypeError(\"Ожидалась каноническая десятичная строка в пределах допустимой длины.\");\n\t}\n\n\tconst point = value.indexOf(\".\");\n\n\treturn {\n\t\tcoefficient: BigInt(value.replace(\".\", \"\")),\n\t\tscale: point === -1 ? 0 : value.length - point - 1\n\t};\n}\n","import { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions, DecimalParts } from \"./types\";\n\n/** Канонизирует результат после точного вычисления и отклоняет overflow вместо округления. */\nexport function writeDecimalParts(parts: DecimalParts, options?: DecimalOptions): string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\n\tif (parts.coefficient === 0n) {\n\t\treturn \"0\";\n\t}\n\n\tconst negative = parts.coefficient < 0n;\n\tconst magnitude = negative ? -parts.coefficient : parts.coefficient;\n\tconst digits = magnitude.toString().padStart(parts.scale + 1, \"0\");\n\tconst point = digits.length - parts.scale;\n\tconst unsigned = parts.scale === 0 ? digits : `${digits.slice(0, point)}.${digits.slice(point)}`.replace(/\\.?0+$/u, \"\");\n\tconst result = negative ? `-${unsigned}` : unsigned;\n\n\tif (result.length > maxLength) {\n\t\tthrow new RangeError(\"Результат десятичного вычисления превысил допустимую длину.\");\n\t}\n\n\treturn result;\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\nimport { writeDecimalParts } from \"./writeDecimalParts\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Складывает значения без IEEE 754 и возвращает каноническую строку. */\nexport function addDecimals(left: string, right: string, options?: DecimalOptions): string {\n\tconst aligned = alignDecimalParts(readDecimalParts(left, options), readDecimalParts(right, options));\n\n\treturn writeDecimalParts({ coefficient: aligned.left + aligned.right, scale: aligned.scale }, options);\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\n\nimport type { DecimalComparison, DecimalOptions, DecimalRatio } from \"./types\";\n\n/** Сравнивает отношения перекрёстным умножением. Периодическая дробь не делится и не округляется. */\nexport function compareDecimalRatios(left: DecimalRatio, right: DecimalRatio, options?: DecimalOptions): DecimalComparison {\n\tconst leftNumerator = readDecimalParts(left.numerator, options);\n\tconst leftDenominator = readDecimalParts(left.denominator, options);\n\tconst rightNumerator = readDecimalParts(right.numerator, options);\n\tconst rightDenominator = readDecimalParts(right.denominator, options);\n\n\tif (leftDenominator.coefficient <= 0n || rightDenominator.coefficient <= 0n) {\n\t\tthrow new RangeError(\"Знаменатель отношения должен быть строго положительным.\");\n\t}\n\n\t// Произведения приватные: их разрядность ограничена четырьмя проверенными операндами,\n\t// но может превышать длину сериализуемого числа. Проверять их как внешний результат нельзя.\n\tconst aligned = alignDecimalParts(\n\t\t{ coefficient: leftNumerator.coefficient * rightDenominator.coefficient, scale: leftNumerator.scale + rightDenominator.scale },\n\t\t{ coefficient: rightNumerator.coefficient * leftDenominator.coefficient, scale: rightNumerator.scale + leftDenominator.scale }\n\t);\n\n\treturn aligned.left < aligned.right ? -1 : aligned.left > aligned.right ? 1 : 0;\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\n\nimport type { DecimalComparison, DecimalOptions } from \"./types\";\n\n/** Сравнивает исходные значения, включая разрядность за пределами безопасного number. */\nexport function compareDecimals(left: string, right: string, options?: DecimalOptions): DecimalComparison {\n\tconst aligned = alignDecimalParts(readDecimalParts(left, options), readDecimalParts(right, options));\n\n\treturn aligned.left < aligned.right ? -1 : aligned.left > aligned.right ? 1 : 0;\n}\n","import { readDecimalParts } from \"./readDecimalParts\";\nimport { writeDecimalParts } from \"./writeDecimalParts\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Точное умножение не устанавливает фиксированную сетку дробности. */\nexport function multiplyDecimals(left: string, right: string, options?: DecimalOptions): string {\n\tconst first = readDecimalParts(left, options);\n\tconst second = readDecimalParts(right, options);\n\n\treturn writeDecimalParts({ coefficient: first.coefficient * second.coefficient, scale: first.scale + second.scale }, options);\n}\n","import { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Убирает лишние нули. Пробелы, запятую, плюс и экспоненту обрабатывает владелец внешнего формата. */\nexport function normalizeDecimal(value: string, options?: DecimalOptions): string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\n\tif (typeof value !== \"string\" || value.length > maxLength || !/^-?\\d+(?:\\.\\d+)?(?![\\s\\S])/u.test(value)) {\n\t\tthrow new TypeError(\"Ожидалась ограниченная конечная десятичная строка с точкой.\");\n\t}\n\n\tconst negative = value.startsWith(\"-\");\n\tconst unsigned = negative ? value.slice(1) : value;\n\tconst [integer, fraction = \"\"] = unsigned.split(\".\");\n\tconst whole = integer.replace(/^0+(?=\\d)/u, \"\");\n\tconst fractional = fraction.replace(/0+$/u, \"\");\n\tconst magnitude = fractional ? `${whole}.${fractional}` : whole;\n\n\treturn negative && magnitude !== \"0\" ? `-${magnitude}` : magnitude;\n}\n","import { normalizeDecimal } from \"./normalizeDecimal\";\nimport { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/**\n * Сохраняет все цифры внешнего числового литерала, включая научную запись JSON.\n * На вход передаётся исходная лексема parser, а не уже округлённый number.\n * Локализованные разделители и пробелы остаются ответственностью формы ввода.\n */\nexport function normalizeDecimalLiteral(value: string, options?: DecimalOptions): string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\tif (typeof value !== \"string\" || value.length > maxLength) {\n\t\tthrow new TypeError(\"Ожидался ограниченный десятичный числовой литерал.\");\n\t}\n\tconst match = /^(-?)(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?(?![\\s\\S])/u.exec(value);\n\tif (!match) throw new TypeError(\"Ожидался конечный десятичный числовой литерал.\");\n\tconst [, sign, integer, fraction = \"\", exponent] = match;\n\tif (exponent === undefined) return normalizeDecimal(value, options);\n\n\tconst digits = integer + fraction;\n\tconst significant = digits.replace(/^0+/u, \"\");\n\tif (!significant) return \"0\";\n\tconst coefficient = significant.replace(/0+$/u, \"\");\n\t// Number описывает только ограниченный сдвиг точки, никогда значение числа.\n\tconst shift = Number(exponent);\n\tif (!Number.isSafeInteger(shift)) throw new RangeError(\"Экспонента превышает допустимую длину результата.\");\n\tconst point = integer.length + shift - (digits.length - significant.length);\n\tconst length =\n\t\tsign.length +\n\t\t(point <= 0 ? 2 - point + coefficient.length : Math.max(point, coefficient.length + (point < coefficient.length ? 1 : 0)));\n\tif (length > maxLength) throw new RangeError(\"Десятичный результат превышает допустимую длину.\");\n\n\tif (point <= 0) return `${sign}0.${\"0\".repeat(-point)}${coefficient}`;\n\tif (point >= coefficient.length) return sign + coefficient + \"0\".repeat(point - coefficient.length);\n\treturn `${sign}${coefficient.slice(0, point)}.${coefficient.slice(point)}`;\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\nimport { writeDecimalParts } from \"./writeDecimalParts\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Сохраняет знак остатка; предметные ограничения отрицательных значений находятся у consumer. */\nexport function subtractDecimals(left: string, right: string, options?: DecimalOptions): string {\n\tconst aligned = alignDecimalParts(readDecimalParts(left, options), readDecimalParts(right, options));\n\n\treturn writeDecimalParts({ coefficient: aligned.left - aligned.right, scale: aligned.scale }, options);\n}\n","import { addDecimals } from \"./addDecimals\";\nimport { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Читает iterable один раз и проверяет каждый промежуточный итог; пустой набор даёт ноль. */\nexport function sumDecimals(values: Iterable<string>, options?: DecimalOptions): string {\n\tresolveDecimalMaxLength(options);\n\tlet total = \"0\";\n\n\tfor (const value of values) {\n\t\ttotal = addDecimals(total, value, options);\n\t}\n\n\treturn total;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/decimal/alignDecimalParts.ts","../../src/decimal/resolveDecimalMaxLength.ts","../../src/decimal/isCanonicalDecimal.ts","../../src/decimal/readDecimalParts.ts","../../src/decimal/writeDecimalParts.ts","../../src/decimal/addDecimals.ts","../../src/decimal/compareDecimalRatios.ts","../../src/decimal/compareDecimals.ts","../../src/decimal/multiplyDecimals.ts","../../src/decimal/normalizeDecimal.ts","../../src/decimal/normalizeDecimalLiteral.ts","../../src/decimal/subtractDecimals.ts","../../src/decimal/sumDecimals.ts"],"sourcesContent":["import type { DecimalParts } from \"./types\";\n\n/** Выравнивает только разрядность ограниченных операндов; глобального кеша степеней нет. */\nexport function alignDecimalParts(left: DecimalParts, right: DecimalParts): Readonly<{ left: bigint; right: bigint; scale: number }> {\n\tconst scale = Math.max(left.scale, right.scale);\n\n\treturn {\n\t\tleft: left.coefficient * 10n ** BigInt(scale - left.scale),\n\t\tright: right.coefficient * 10n ** BigInt(scale - right.scale),\n\t\tscale\n\t};\n}\n","import type { DecimalOptions } from \"./types\";\n\nconst DEFAULT_DECIMAL_MAX_LENGTH = 512;\n\n/** Проверяет предел до разбора числа и выделения вычислительных буферов. */\nexport function resolveDecimalMaxLength(options?: DecimalOptions): number {\n\tconst maxLength = options?.maxLength ?? DEFAULT_DECIMAL_MAX_LENGTH;\n\n\tif (!Number.isSafeInteger(maxLength) || maxLength <= 0) {\n\t\tthrow new RangeError(\"Предел длины десятичного значения должен быть положительным безопасным целым числом.\");\n\t}\n\n\treturn maxLength;\n}\n","import { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Runtime-проверка для внешних данных без преобразования значащих цифр в number. */\nexport function isCanonicalDecimal(value: unknown, options?: DecimalOptions): value is string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\n\treturn (\n\t\ttypeof value === \"string\" && value.length <= maxLength && /^(?:0|-?(?:[1-9]\\d*(?:\\.\\d*[1-9])?|0\\.\\d*[1-9]))(?![\\s\\S])/u.test(value)\n\t);\n}\n","import { isCanonicalDecimal } from \"./isCanonicalDecimal\";\n\nimport type { DecimalOptions, DecimalParts } from \"./types\";\n\n/** Арифметика принимает только канонические строки; нормализация принадлежит входной границе. */\nexport function readDecimalParts(value: string, options?: DecimalOptions): DecimalParts {\n\tif (!isCanonicalDecimal(value, options)) {\n\t\tthrow new TypeError(\"Ожидалась каноническая десятичная строка в пределах допустимой длины.\");\n\t}\n\n\tconst point = value.indexOf(\".\");\n\n\treturn {\n\t\tcoefficient: BigInt(value.replace(\".\", \"\")),\n\t\tscale: point === -1 ? 0 : value.length - point - 1\n\t};\n}\n","import { CANONICAL_DECIMAL_ZERO } from \"./decimalConstants\";\nimport { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions, DecimalParts } from \"./types\";\n\n/** Канонизирует результат после точного вычисления и отклоняет overflow вместо округления. */\nexport function writeDecimalParts(parts: DecimalParts, options?: DecimalOptions): string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\n\tif (parts.coefficient === 0n) {\n\t\treturn CANONICAL_DECIMAL_ZERO;\n\t}\n\n\tconst negative = parts.coefficient < 0n;\n\tconst magnitude = negative ? -parts.coefficient : parts.coefficient;\n\tconst digits = magnitude.toString().padStart(parts.scale + 1, \"0\");\n\tconst point = digits.length - parts.scale;\n\tconst unsigned = parts.scale === 0 ? digits : `${digits.slice(0, point)}.${digits.slice(point)}`.replace(/\\.?0+$/u, \"\");\n\tconst result = negative ? `-${unsigned}` : unsigned;\n\n\tif (result.length > maxLength) {\n\t\tthrow new RangeError(\"Результат десятичного вычисления превысил допустимую длину.\");\n\t}\n\n\treturn result;\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\nimport { writeDecimalParts } from \"./writeDecimalParts\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Складывает значения без IEEE 754 и возвращает каноническую строку. */\nexport function addDecimals(left: string, right: string, options?: DecimalOptions): string {\n\tconst aligned = alignDecimalParts(readDecimalParts(left, options), readDecimalParts(right, options));\n\n\treturn writeDecimalParts({ coefficient: aligned.left + aligned.right, scale: aligned.scale }, options);\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\n\nimport type { DecimalComparison, DecimalOptions, DecimalRatio } from \"./types\";\n\n/** Сравнивает отношения перекрёстным умножением. Периодическая дробь не делится и не округляется. */\nexport function compareDecimalRatios(left: DecimalRatio, right: DecimalRatio, options?: DecimalOptions): DecimalComparison {\n\tconst leftNumerator = readDecimalParts(left.numerator, options);\n\tconst leftDenominator = readDecimalParts(left.denominator, options);\n\tconst rightNumerator = readDecimalParts(right.numerator, options);\n\tconst rightDenominator = readDecimalParts(right.denominator, options);\n\n\tif (leftDenominator.coefficient <= 0n || rightDenominator.coefficient <= 0n) {\n\t\tthrow new RangeError(\"Знаменатель отношения должен быть строго положительным.\");\n\t}\n\n\t// Произведения приватные: их разрядность ограничена четырьмя проверенными операндами,\n\t// но может превышать длину сериализуемого числа. Проверять их как внешний результат нельзя.\n\tconst aligned = alignDecimalParts(\n\t\t{ coefficient: leftNumerator.coefficient * rightDenominator.coefficient, scale: leftNumerator.scale + rightDenominator.scale },\n\t\t{ coefficient: rightNumerator.coefficient * leftDenominator.coefficient, scale: rightNumerator.scale + leftDenominator.scale }\n\t);\n\n\treturn aligned.left < aligned.right ? -1 : aligned.left > aligned.right ? 1 : 0;\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\n\nimport type { DecimalComparison, DecimalOptions } from \"./types\";\n\n/** Сравнивает исходные значения, включая разрядность за пределами безопасного number. */\nexport function compareDecimals(left: string, right: string, options?: DecimalOptions): DecimalComparison {\n\tconst aligned = alignDecimalParts(readDecimalParts(left, options), readDecimalParts(right, options));\n\n\treturn aligned.left < aligned.right ? -1 : aligned.left > aligned.right ? 1 : 0;\n}\n","import { readDecimalParts } from \"./readDecimalParts\";\nimport { writeDecimalParts } from \"./writeDecimalParts\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Точное умножение не устанавливает фиксированную сетку дробности. */\nexport function multiplyDecimals(left: string, right: string, options?: DecimalOptions): string {\n\tconst first = readDecimalParts(left, options);\n\tconst second = readDecimalParts(right, options);\n\n\treturn writeDecimalParts({ coefficient: first.coefficient * second.coefficient, scale: first.scale + second.scale }, options);\n}\n","import { CANONICAL_DECIMAL_ZERO } from \"./decimalConstants\";\nimport { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Убирает лишние нули. Пробелы, запятую, плюс и экспоненту обрабатывает владелец внешнего формата. */\nexport function normalizeDecimal(value: string, options?: DecimalOptions): string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\n\tif (typeof value !== \"string\" || value.length > maxLength || !/^-?\\d+(?:\\.\\d+)?(?![\\s\\S])/u.test(value)) {\n\t\tthrow new TypeError(\"Ожидалась ограниченная конечная десятичная строка с точкой.\");\n\t}\n\n\tconst negative = value.startsWith(\"-\");\n\tconst unsigned = negative ? value.slice(1) : value;\n\tconst [integer, fraction = \"\"] = unsigned.split(\".\");\n\tconst whole = integer.replace(/^0+(?=\\d)/u, \"\");\n\tconst fractional = fraction.replace(/0+$/u, \"\");\n\tconst magnitude = fractional ? `${whole}.${fractional}` : whole;\n\n\treturn negative && magnitude !== CANONICAL_DECIMAL_ZERO ? `-${magnitude}` : magnitude;\n}\n","import { CANONICAL_DECIMAL_ZERO } from \"./decimalConstants\";\nimport { normalizeDecimal } from \"./normalizeDecimal\";\nimport { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/**\n * Сохраняет все цифры внешнего числового литерала, включая научную запись JSON.\n * На вход передаётся исходная лексема parser, а не уже округлённый number.\n * Локализованные разделители и пробелы остаются ответственностью формы ввода.\n */\nexport function normalizeDecimalLiteral(value: string, options?: DecimalOptions): string {\n\tconst maxLength = resolveDecimalMaxLength(options);\n\tif (typeof value !== \"string\" || value.length > maxLength) {\n\t\tthrow new TypeError(\"Ожидался ограниченный десятичный числовой литерал.\");\n\t}\n\tconst match = /^(-?)(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?(?![\\s\\S])/u.exec(value);\n\tif (!match) throw new TypeError(\"Ожидался конечный десятичный числовой литерал.\");\n\tconst [, sign, integer, fraction = \"\", exponent] = match;\n\tif (exponent === undefined) return normalizeDecimal(value, options);\n\n\tconst digits = integer + fraction;\n\tconst significant = digits.replace(/^0+/u, \"\");\n\tif (!significant) return CANONICAL_DECIMAL_ZERO;\n\tconst coefficient = significant.replace(/0+$/u, \"\");\n\t// Number описывает только ограниченный сдвиг точки, никогда значение числа.\n\tconst shift = Number(exponent);\n\tif (!Number.isSafeInteger(shift)) throw new RangeError(\"Экспонента превышает допустимую длину результата.\");\n\tconst point = integer.length + shift - (digits.length - significant.length);\n\tconst length =\n\t\tsign.length +\n\t\t(point <= 0 ? 2 - point + coefficient.length : Math.max(point, coefficient.length + (point < coefficient.length ? 1 : 0)));\n\tif (length > maxLength) throw new RangeError(\"Десятичный результат превышает допустимую длину.\");\n\n\tif (point <= 0) return `${sign}0.${\"0\".repeat(-point)}${coefficient}`;\n\tif (point >= coefficient.length) return sign + coefficient + \"0\".repeat(point - coefficient.length);\n\treturn `${sign}${coefficient.slice(0, point)}.${coefficient.slice(point)}`;\n}\n","import { alignDecimalParts } from \"./alignDecimalParts\";\nimport { readDecimalParts } from \"./readDecimalParts\";\nimport { writeDecimalParts } from \"./writeDecimalParts\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Сохраняет знак остатка; предметные ограничения отрицательных значений находятся у consumer. */\nexport function subtractDecimals(left: string, right: string, options?: DecimalOptions): string {\n\tconst aligned = alignDecimalParts(readDecimalParts(left, options), readDecimalParts(right, options));\n\n\treturn writeDecimalParts({ coefficient: aligned.left - aligned.right, scale: aligned.scale }, options);\n}\n","import { addDecimals } from \"./addDecimals\";\nimport { CANONICAL_DECIMAL_ZERO } from \"./decimalConstants\";\nimport { resolveDecimalMaxLength } from \"./resolveDecimalMaxLength\";\n\nimport type { DecimalOptions } from \"./types\";\n\n/** Читает iterable один раз и проверяет каждый промежуточный итог; пустой набор даёт ноль. */\nexport function sumDecimals(values: Iterable<string>, options?: DecimalOptions): string {\n\tresolveDecimalMaxLength(options);\n\tlet total = CANONICAL_DECIMAL_ZERO;\n\n\tfor (const value of values) {\n\t\ttotal = addDecimals(total, value, options);\n\t}\n\n\treturn total;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeDecimal.d.ts","sourceRoot":"","sources":["../../src/decimal/normalizeDecimal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAehF"}
1
+ {"version":3,"file":"normalizeDecimal.d.ts","sourceRoot":"","sources":["../../src/decimal/normalizeDecimal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAehF"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeDecimalLiteral.d.ts","sourceRoot":"","sources":["../../src/decimal/normalizeDecimalLiteral.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CA0BvF"}
1
+ {"version":3,"file":"normalizeDecimalLiteral.d.ts","sourceRoot":"","sources":["../../src/decimal/normalizeDecimalLiteral.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CA0BvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveDecimalMaxLength.d.ts","sourceRoot":"","sources":["../../src/decimal/resolveDecimalMaxLength.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAQxE"}
1
+ {"version":3,"file":"resolveDecimalMaxLength.d.ts","sourceRoot":"","sources":["../../src/decimal/resolveDecimalMaxLength.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAQxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"sumDecimals.d.ts","sourceRoot":"","sources":["../../src/decimal/sumDecimals.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAStF"}
1
+ {"version":3,"file":"sumDecimals.d.ts","sourceRoot":"","sources":["../../src/decimal/sumDecimals.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAStF"}
@@ -1 +1 @@
1
- {"version":3,"file":"writeDecimalParts.d.ts","sourceRoot":"","sources":["../../src/decimal/writeDecimalParts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5D,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAmBvF"}
1
+ {"version":3,"file":"writeDecimalParts.d.ts","sourceRoot":"","sources":["../../src/decimal/writeDecimalParts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5D,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAmBvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"acquireDocumentScrollLock.d.ts","sourceRoot":"","sources":["../../../src/dom/document-scroll/acquireDocumentScrollLock.ts"],"names":[],"mappings":"AA0BA,mGAAmG;AACnG,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,GAAG,MAAM,IAAI,CAkE5G"}
1
+ {"version":3,"file":"acquireDocumentScrollLock.d.ts","sourceRoot":"","sources":["../../../src/dom/document-scroll/acquireDocumentScrollLock.ts"],"names":[],"mappings":"AAwCA,mGAAmG;AACnG,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,OAAO,GAAG,MAAM,IAAI,CAkE5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachDocumentTouchScrollGuard.d.ts","sourceRoot":"","sources":["../../../src/dom/document-scroll/attachDocumentTouchScrollGuard.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,IAAI,CA6DnF"}
1
+ {"version":3,"file":"attachDocumentTouchScrollGuard.d.ts","sourceRoot":"","sources":["../../../src/dom/document-scroll/attachDocumentTouchScrollGuard.ts"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,IAAI,CA6DnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"canConsumeVerticalTouchScroll.d.ts","sourceRoot":"","sources":["../../../src/dom/document-scroll/canConsumeVerticalTouchScroll.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAoB7H"}
1
+ {"version":3,"file":"canConsumeVerticalTouchScroll.d.ts","sourceRoot":"","sources":["../../../src/dom/document-scroll/canConsumeVerticalTouchScroll.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAoB7H"}
@@ -0,0 +1,4 @@
1
+ /** Общие имена событий сохраняют симметрию подписки и её освобождения в DOM-модуле. */
2
+ export declare const DOM_KEYDOWN_EVENT = "keydown";
3
+ export declare const DOM_RESIZE_EVENT = "resize";
4
+ //# sourceMappingURL=domEventConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domEventConstants.d.ts","sourceRoot":"","sources":["../../src/dom/domEventConstants.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,gBAAgB,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Компенсация позиции не должна наследовать пользовательский CSS smooth scrolling. */
2
+ export declare const DOM_INSTANT_SCROLL_BEHAVIOR = "instant";
3
+ //# sourceMappingURL=domScrollConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domScrollConstants.d.ts","sourceRoot":"","sources":["../../src/dom/domScrollConstants.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,YAAY,CAAC"}
package/dist/dom/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../chunks/dom-BK22UmgF.js";
1
+ import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../chunks/dom-ZSeWZ0Gg.js";
2
2
  export { h as captureScrollAnchor, c as downloadFileFromBlob, a as downloadFileFromJson, i as downloadFileFromObjectURL, r as getOrCreatePortalRoot, d as installFaviconOverride, n as observeElementResize, s as useClickOutside, l as useDocumentScrollLock, t as useElementHeightObserver, p as useEscapeDismiss, e as useFocusTrap, o as useIntersectionObserver, f as useIsTouchDevice, u as useOverlayFocus, m as useVisualViewportFrame };
@@ -1 +1 @@
1
- {"version":3,"file":"installFaviconOverride.d.ts","sourceRoot":"","sources":["../../src/dom/installFaviconOverride.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,IAAI,CAuBnF"}
1
+ {"version":3,"file":"installFaviconOverride.d.ts","sourceRoot":"","sources":["../../src/dom/installFaviconOverride.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,IAAI,CAuBnF"}
@@ -0,0 +1,4 @@
1
+ /** Начальный фокус одинаково трактуется основным hook и обёрткой focus trap. */
2
+ export declare const OVERLAY_INITIAL_FOCUS_AUTO = "auto";
3
+ export declare const OVERLAY_INITIAL_FOCUS_CONTAINER = "container";
4
+ //# sourceMappingURL=overlayFocusConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlayFocusConstants.d.ts","sourceRoot":"","sources":["../../src/dom/overlayFocusConstants.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,SAAS,CAAC;AACjD,eAAO,MAAM,+BAA+B,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"captureScrollAnchor.d.ts","sourceRoot":"","sources":["../../../src/dom/scroll-anchor/captureScrollAnchor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAKhE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI,CA+CzH"}
1
+ {"version":3,"file":"captureScrollAnchor.d.ts","sourceRoot":"","sources":["../../../src/dom/scroll-anchor/captureScrollAnchor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAOhE;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI,CA+CzH"}
@@ -1,3 +1,3 @@
1
- import { RefObject } from "react";
1
+ import { type RefObject } from "react";
2
2
  export declare function useClickOutside(ref: RefObject<HTMLElement | null> | RefObject<HTMLElement | null>[], handler: () => void): void;
3
3
  //# sourceMappingURL=useClickOutside.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useClickOutside.d.ts","sourceRoot":"","sources":["../../src/dom/useClickOutside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAE7C,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,QAqBxH"}
1
+ {"version":3,"file":"useClickOutside.d.ts","sourceRoot":"","sources":["../../src/dom/useClickOutside.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AAIlD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,QAqBxH"}
@@ -1,4 +1,4 @@
1
- import { RefObject } from "react";
1
+ import { type RefObject } from "react";
2
2
  interface UseEscapeDismissOptions {
3
3
  active: boolean;
4
4
  onDismiss: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useEscapeDismiss.d.ts","sourceRoot":"","sources":["../../src/dom/useEscapeDismiss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6B,MAAM,OAAO,CAAC;AAE7D,UAAU,uBAAuB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAc,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,uBAAuB,QA+B5H"}
1
+ {"version":3,"file":"useEscapeDismiss.d.ts","sourceRoot":"","sources":["../../src/dom/useEscapeDismiss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,OAAO,CAAC;AAMlE,UAAU,uBAAuB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAc,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,uBAAuB,QA+B5H"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/dom/useFocusTrap.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,qDAE3C,CAAC"}
1
+ {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/dom/useFocusTrap.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,qDAO3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsTouchDevice.d.ts","sourceRoot":"","sources":["../../src/dom/useIsTouchDevice.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,eAoB5B,CAAC"}
1
+ {"version":3,"file":"useIsTouchDevice.d.ts","sourceRoot":"","sources":["../../src/dom/useIsTouchDevice.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,eAoB5B,CAAC"}
@@ -1,9 +1,10 @@
1
- import { RefObject } from "react";
1
+ import { type RefObject } from "react";
2
+ import { OVERLAY_INITIAL_FOCUS_AUTO, OVERLAY_INITIAL_FOCUS_CONTAINER } from "./overlayFocusConstants";
2
3
  export interface UseOverlayFocusOptions<T extends HTMLElement> {
3
4
  active: boolean;
4
5
  trapFocus?: boolean;
5
6
  restoreFocus?: boolean;
6
- initialFocus?: "auto" | "container" | ((container: T) => HTMLElement | null | undefined);
7
+ initialFocus?: typeof OVERLAY_INITIAL_FOCUS_AUTO | typeof OVERLAY_INITIAL_FOCUS_CONTAINER | ((container: T) => HTMLElement | null | undefined);
7
8
  restoreFocusTarget?: () => HTMLElement | null | undefined;
8
9
  containerRef?: RefObject<T | null>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useOverlayFocus.d.ts","sourceRoot":"","sources":["../../src/dom/useOverlayFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqC,MAAM,OAAO,CAAC;AAKrE,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,WAAW;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACzF,kBAAkB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,EACtD,MAAM,EACN,SAAiB,EACjB,YAAmB,EACnB,YAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC,uBAyH3B"}
1
+ {"version":3,"file":"useOverlayFocus.d.ts","sourceRoot":"","sources":["../../src/dom/useOverlayFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqC,MAAM,OAAO,CAAC;AAK1E,OAAO,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAKtG,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,WAAW;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EACZ,OAAO,0BAA0B,GAAG,OAAO,+BAA+B,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACjI,kBAAkB,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1D,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,EACtD,MAAM,EACN,SAAiB,EACjB,YAAmB,EACnB,YAAyC,EACzC,kBAAkB,EAClB,YAAY,EACZ,EAAE,sBAAsB,CAAC,CAAC,CAAC,uBAyH3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachVisualViewportFrame.d.ts","sourceRoot":"","sources":["../../../src/dom/visual-viewport/attachVisualViewportFrame.ts"],"names":[],"mappings":"AAqDA,iGAAiG;AACjG,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,CAa5E"}
1
+ {"version":3,"file":"attachVisualViewportFrame.d.ts","sourceRoot":"","sources":["../../../src/dom/visual-viewport/attachVisualViewportFrame.ts"],"names":[],"mappings":"AAyDA,iGAAiG;AACjG,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,IAAI,CAa5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../../src/error-report/breadcrumbs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAcrD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,QAuBzG;AAED,wBAAgB,yBAAyB,4BAExC;AAED,wBAAgB,2BAA2B,SAE1C;AAiID;;GAEG;AACH,wBAAgB,oCAAoC,eAyBnD"}
1
+ {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../../src/error-report/breadcrumbs.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAkBrD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,QAuBzG;AAED,wBAAgB,yBAAyB,4BAExC;AAED,wBAAgB,2BAA2B,SAE1C;AAiID;;GAEG;AACH,wBAAgB,oCAAoC,eA4BnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/error-report/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAepF,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE9G,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,uBAAuB,2DA8BjC;AAED,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,0BAA+B,2DAwBxC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,EAAE,WAAW,CAAC,EAAE,WAAW,2DAiD3H"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/error-report/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA0BpF,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE9G,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EACvC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,uBAAuB,2DA8BjC;AAED,wBAAsB,0BAA0B,CAC/C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EACtD,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,0BAA+B,2DA2BxC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,yBAA8B,EAAE,WAAW,CAAC,EAAE,WAAW,2DAiD3H"}
@@ -1,9 +1,10 @@
1
+ import { ERROR_REPORT_VALUE_POLICY_REDACTED, type ERROR_REPORT_VALUE_POLICY_VERBATIM } from "./capturePolicyConstants";
1
2
  /**
2
3
  * Политика сбора задаётся приложением на время жизни его error-report lifecycle.
3
4
  * По умолчанию прежняя очистка остаётся активной для существующих потребителей.
4
5
  */
5
6
  export type ErrorReportCaptureOptions = {
6
- valuePolicy?: "redacted" | "verbatim";
7
+ valuePolicy?: typeof ERROR_REPORT_VALUE_POLICY_REDACTED | typeof ERROR_REPORT_VALUE_POLICY_VERBATIM;
7
8
  dataPreviewBytes?: {
8
9
  query?: number;
9
10
  persistedQuery?: number;
@@ -11,7 +12,7 @@ export type ErrorReportCaptureOptions = {
11
12
  };
12
13
  };
13
14
  type ResolvedErrorReportCaptureOptions = {
14
- valuePolicy: "redacted" | "verbatim";
15
+ valuePolicy: typeof ERROR_REPORT_VALUE_POLICY_REDACTED | typeof ERROR_REPORT_VALUE_POLICY_VERBATIM;
15
16
  dataPreviewBytes: {
16
17
  query: number;
17
18
  persistedQuery: number;
@@ -1 +1 @@
1
- {"version":3,"file":"captureOptions.d.ts","sourceRoot":"","sources":["../../src/error-report/captureOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACvC,WAAW,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,gBAAgB,CAAC,EAAE;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACF,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACxC,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC;IACrC,gBAAgB,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAeF,yEAAyE;AACzE,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,QAW1F;AAED,mEAAmE;AACnE,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,iCAAiC,CAAC,CAE1F"}
1
+ {"version":3,"file":"captureOptions.d.ts","sourceRoot":"","sources":["../../src/error-report/captureOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,KAAK,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAEvH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACvC,WAAW,CAAC,EAAE,OAAO,kCAAkC,GAAG,OAAO,kCAAkC,CAAC;IACpG,gBAAgB,CAAC,EAAE;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACF,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACxC,WAAW,EAAE,OAAO,kCAAkC,GAAG,OAAO,kCAAkC,CAAC;IACnG,gBAAgB,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,CAAC;AAcF,yEAAyE;AACzE,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,QAW1F;AAED,mEAAmE;AACnE,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,iCAAiC,CAAC,CAE1F"}
@@ -0,0 +1,4 @@
1
+ /** Политика значения разделяется сбором, очисткой и повторной нормализацией payload. */
2
+ export declare const ERROR_REPORT_VALUE_POLICY_REDACTED = "redacted";
3
+ export declare const ERROR_REPORT_VALUE_POLICY_VERBATIM = "verbatim";
4
+ //# sourceMappingURL=capturePolicyConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capturePolicyConstants.d.ts","sourceRoot":"","sources":["../../src/error-report/capturePolicyConstants.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,kCAAkC,aAAa,CAAC;AAC7D,eAAO,MAAM,kCAAkC,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataPreview.d.ts","sourceRoot":"","sources":["../../src/error-report/dataPreview.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAwB,MAAM,SAAS,CAAC;AAmG5E;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAcrG"}
1
+ {"version":3,"file":"dataPreview.d.ts","sourceRoot":"","sources":["../../src/error-report/dataPreview.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAwB,MAAM,SAAS,CAAC;AAoG5E;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAcrG"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/error-report/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAW/H,OAAO,EACN,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EACzC,KAAK,2BAA2B,EAEhC,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,EAAE,MAAM,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAcF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,2BAA2B,CA0BjG;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,8BAA8B,CAkB7G;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW;;;;;EAarE;AA8BD;;;GAGG;AACH,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,oCAAoC,EAAE,CAAC,CAiBxG"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/error-report/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA2B/H,OAAO,EACN,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EACzC,KAAK,2BAA2B,EAEhC,MAAM,SAAS,CAAC;AAEjB,KAAK,qBAAqB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,EAAE,MAAM,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAUF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,2BAA2B,CAiCjG;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,8BAA8B,CAkB7G;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW;;;;;EAarE;AAkCD;;;GAGG;AACH,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,oCAAoC,EAAE,CAAC,CAiBxG"}
@@ -1 +1 @@
1
- {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/error-report/drafts.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,SAAS,CAAC;AAkCjB,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,gCAEnD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,gCAe7F;AAED,wBAAgB,oBAAoB,uBAEnC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC/C,gCAyCA"}
1
+ {"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/error-report/drafts.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,SAAS,CAAC;AAkCjB,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,gCAEnD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,8BAA8B,gCAoB7F;AAED,wBAAgB,oBAAoB,uBAEnC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC7C,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAChD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC/C,gCAyCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/error-report/environment.ts"],"names":[],"mappings":"AAAA,KAAK,6BAA6B,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,6BAAkC,WAIlF;AAED,wBAAgB,yBAAyB;;;EAOxC;AAED,wBAAgB,+BAA+B;;;;cAQ9C"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/error-report/environment.ts"],"names":[],"mappings":"AACA,KAAK,6BAA6B,GAAG;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,6BAAkC,WAIlF;AAED,wBAAgB,yBAAyB;;;EASxC;AAED,wBAAgB,+BAA+B;;;;cAQ9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorInfo.d.ts","sourceRoot":"","sources":["../../src/error-report/errorInfo.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA6CpD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CA+BpE"}
1
+ {"version":3,"file":"errorInfo.d.ts","sourceRoot":"","sources":["../../src/error-report/errorInfo.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA8CpD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAkCpE"}
@@ -0,0 +1,26 @@
1
+ /** Пределы capture-контракта общие для producers, повторной нормализации и runtime schema. */
2
+ export declare const ERROR_REPORT_SAFE_STRING_MAX_LENGTH = 8192;
3
+ export declare const ERROR_REPORT_SAFE_ARRAY_MAX_ITEMS = 20;
4
+ export declare const ERROR_REPORT_SAFE_OBJECT_MAX_KEYS = 40;
5
+ export declare const ERROR_REPORT_DATA_PREVIEW_MAX_BYTES = 16384;
6
+ export declare const ERROR_REPORT_ERROR_NAME_MAX_LENGTH = 256;
7
+ export declare const ERROR_REPORT_ERROR_CODE_MAX_LENGTH = 128;
8
+ export declare const ERROR_REPORT_UTC_MAX_LENGTH = 64;
9
+ export declare const ERROR_REPORT_BREADCRUMB_ROUTE_MAX_LENGTH = 512;
10
+ export declare const ERROR_REPORT_BREADCRUMB_APP_MAX_LENGTH = 128;
11
+ export declare const ERROR_REPORT_BREADCRUMB_VIEW_MAX_LENGTH = 128;
12
+ export declare const ERROR_REPORT_BREADCRUMB_TARGET_MAX_LENGTH = 2048;
13
+ export declare const ERROR_REPORT_QUERY_HASH_MAX_LENGTH = 512;
14
+ export declare const ERROR_REPORT_PERSISTENCE_BUSTER_MAX_LENGTH = 512;
15
+ export declare const ERROR_REPORT_APPLICATION_MAX_LENGTH = 128;
16
+ export declare const ERROR_REPORT_SOURCE_MAX_LENGTH = 256;
17
+ export declare const ERROR_REPORT_BUILD_ID_MAX_LENGTH = 128;
18
+ export declare const ERROR_REPORT_LANGUAGE_MAX_LENGTH = 128;
19
+ export declare const ERROR_REPORT_TIME_ZONE_MAX_LENGTH = 128;
20
+ export declare const ERROR_REPORT_LOCATION_MAX_LENGTH = 2048;
21
+ export declare const ERROR_REPORT_COMPONENT_STACK_MAX_BYTES = 32768;
22
+ export declare const ERROR_REPORT_QUERY_DIAGNOSTICS_MAX_ITEMS = 40;
23
+ export declare const ERROR_REPORT_MUTATION_DIAGNOSTICS_MAX_ITEMS = 40;
24
+ export declare const ERROR_REPORT_PERSISTED_DIAGNOSTICS_MAX_ITEMS = 40;
25
+ export declare const ERROR_REPORT_BREADCRUMBS_MAX_ITEMS = 80;
26
+ //# sourceMappingURL=errorReportCaptureLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorReportCaptureLimits.d.ts","sourceRoot":"","sources":["../../src/error-report/errorReportCaptureLimits.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,eAAO,MAAM,mCAAmC,OAAQ,CAAC;AACzD,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,mCAAmC,QAAS,CAAC;AAC1D,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAC5D,eAAO,MAAM,sCAAsC,MAAM,CAAC;AAC1D,eAAO,MAAM,uCAAuC,MAAM,CAAC;AAC3D,eAAO,MAAM,yCAAyC,OAAQ,CAAC;AAC/D,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,0CAA0C,MAAM,CAAC;AAC9D,eAAO,MAAM,mCAAmC,MAAM,CAAC;AACvD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AACrD,eAAO,MAAM,gCAAgC,OAAQ,CAAC;AACtD,eAAO,MAAM,sCAAsC,QAAS,CAAC;AAC7D,eAAO,MAAM,wCAAwC,KAAK,CAAC;AAC3D,eAAO,MAAM,2CAA2C,KAAK,CAAC;AAC9D,eAAO,MAAM,4CAA4C,KAAK,CAAC;AAC/D,eAAO,MAAM,kCAAkC,KAAK,CAAC"}
@@ -0,0 +1,32 @@
1
+ /** Значения capture-контракта общие для producers, runtime schema и публичных типов. */
2
+ export declare const ERROR_REPORT_CATEGORY_QUERY = "query";
3
+ export declare const ERROR_REPORT_CATEGORY_MUTATION = "mutation";
4
+ export declare const ERROR_REPORT_CATEGORY_RUNTIME = "runtime";
5
+ export declare const ERROR_REPORT_CATEGORY_REACT = "react";
6
+ /** Fallback source не связывается с категорией: caller может задавать их независимо. */
7
+ export declare const ERROR_REPORT_SOURCE_MUTATION = "mutation";
8
+ export declare const ERROR_REPORT_STATUS_PENDING = "pending";
9
+ export declare const ERROR_REPORT_STATUS_SENDING = "sending";
10
+ export declare const ERROR_REPORT_STATUS_SENT = "sent";
11
+ export declare const ERROR_REPORT_STATUS_FAILED = "failed";
12
+ export declare const ERROR_REPORT_BREADCRUMB_ROUTE = "route";
13
+ export declare const ERROR_REPORT_BREADCRUMB_CLICK = "click";
14
+ export declare const ERROR_REPORT_BREADCRUMB_VISIBILITY = "visibility";
15
+ export declare const ERROR_REPORT_BREADCRUMB_QUERY_ERROR = "query-error";
16
+ export declare const ERROR_REPORT_BREADCRUMB_MUTATION_ERROR = "mutation-error";
17
+ export declare const ERROR_REPORT_BREADCRUMB_RUNTIME_ERROR = "runtime-error";
18
+ export declare const ERROR_REPORT_MODE_DEVELOPMENT = "development";
19
+ export declare const ERROR_REPORT_MODE_PRODUCTION = "production";
20
+ export declare const ERROR_REPORT_SCOPE_BREADCRUMB_DETAIL = "breadcrumb-detail";
21
+ export declare const ERROR_REPORT_SCOPE_CONTEXT = "context";
22
+ export declare const ERROR_REPORT_SCOPE_DRAFT_FAILED_REASON = "draft-failed-reason";
23
+ export declare const ERROR_REPORT_SCOPE_ERROR_MESSAGE = "error-message";
24
+ export declare const ERROR_REPORT_SCOPE_MUTATION_KEY = "mutation-key";
25
+ export declare const ERROR_REPORT_SCOPE_MUTATION_META = "mutation-meta";
26
+ export declare const ERROR_REPORT_SCOPE_PERSISTED_QUERY_KEY = "persisted-query-key";
27
+ export declare const ERROR_REPORT_SCOPE_QUERY_DATA_SHAPE = "query-data-shape";
28
+ export declare const ERROR_REPORT_SCOPE_QUERY_KEY = "query-key";
29
+ export declare const ERROR_REPORT_SCOPE_QUERY_META = "query-meta";
30
+ export declare const ERROR_REPORT_SCOPE_STACK_TRACE = "stack-trace";
31
+ export declare const ERROR_REPORT_TRUNCATION_PAYLOAD_SIZE = "payload-size";
32
+ //# sourceMappingURL=errorReportContractConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorReportContractConstants.d.ts","sourceRoot":"","sources":["../../src/error-report/errorReportContractConstants.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,UAAU,CAAC;AACnD,eAAO,MAAM,8BAA8B,aAAa,CAAC;AACzD,eAAO,MAAM,6BAA6B,YAAY,CAAC;AACvD,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,wFAAwF;AACxF,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,0BAA0B,WAAW,CAAC;AAEnD,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,6BAA6B,UAAU,CAAC;AACrD,eAAO,MAAM,kCAAkC,eAAe,CAAC;AAC/D,eAAO,MAAM,mCAAmC,gBAAgB,CAAC;AACjE,eAAO,MAAM,sCAAsC,mBAAmB,CAAC;AACvE,eAAO,MAAM,qCAAqC,kBAAkB,CAAC;AAErE,eAAO,MAAM,6BAA6B,gBAAgB,CAAC;AAC3D,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AACxE,eAAO,MAAM,0BAA0B,YAAY,CAAC;AACpD,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAC5E,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;AAChE,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAC9D,eAAO,MAAM,gCAAgC,kBAAkB,CAAC;AAChE,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAC5E,eAAO,MAAM,mCAAmC,qBAAqB,CAAC;AACtE,eAAO,MAAM,4BAA4B,cAAc,CAAC;AACxD,eAAO,MAAM,6BAA6B,eAAe,CAAC;AAC1D,eAAO,MAAM,8BAA8B,gBAAgB,CAAC;AAE5D,eAAO,MAAM,oCAAoC,iBAAiB,CAAC"}