@wener/common 2.0.2 → 2.0.5

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 (410) hide show
  1. package/lib/ai/qwen3vl/index.js +2 -0
  2. package/lib/ai/qwen3vl/index.js.map +1 -0
  3. package/lib/ai/qwen3vl/utils.js +31 -0
  4. package/lib/ai/qwen3vl/utils.js.map +1 -0
  5. package/lib/ai/vision/DocLayoutElementTypeSchema.js +28 -0
  6. package/lib/ai/vision/DocLayoutElementTypeSchema.js.map +1 -0
  7. package/lib/ai/vision/ImageAnnotationSchema.js +50 -0
  8. package/lib/ai/vision/ImageAnnotationSchema.js.map +1 -0
  9. package/lib/ai/vision/index.js +3 -0
  10. package/lib/ai/vision/index.js.map +1 -0
  11. package/lib/ai/vision/resolveImageAnnotation.js +105 -0
  12. package/lib/ai/vision/resolveImageAnnotation.js.map +1 -0
  13. package/lib/cn/ChineseResidentIdNo.js +22 -15
  14. package/lib/cn/ChineseResidentIdNo.js.map +1 -0
  15. package/lib/cn/ChineseResidentIdNo.test.js +1 -1
  16. package/lib/cn/DivisionCode.js +30 -25
  17. package/lib/cn/DivisionCode.js.map +1 -0
  18. package/lib/cn/DivisionCode.test.js +1 -1
  19. package/lib/cn/Mod11.js +38 -81
  20. package/lib/cn/Mod11.js.map +1 -0
  21. package/lib/cn/Mod31.js +41 -90
  22. package/lib/cn/Mod31.js.map +1 -0
  23. package/lib/cn/UnifiedSocialCreditCode.js +43 -34
  24. package/lib/cn/UnifiedSocialCreditCode.js.map +1 -0
  25. package/lib/cn/UnifiedSocialCreditCode.test.js +1 -1
  26. package/lib/cn/formatChineseAmount.js +77 -0
  27. package/lib/cn/formatChineseAmount.js.map +1 -0
  28. package/lib/cn/index.js +7 -1
  29. package/lib/cn/index.js.map +1 -0
  30. package/lib/cn/parseChineseNumber.js +94 -0
  31. package/lib/cn/parseChineseNumber.js.map +1 -0
  32. package/lib/cn/parseChineseNumber.test.js +278 -0
  33. package/lib/cn/pinyin/cartesianProduct.js +22 -0
  34. package/lib/cn/pinyin/cartesianProduct.js.map +1 -0
  35. package/lib/cn/pinyin/cartesianProduct.test.js +179 -0
  36. package/lib/cn/pinyin/data.json +23573 -0
  37. package/lib/cn/pinyin/loader.js +14 -0
  38. package/lib/cn/pinyin/loader.js.map +1 -0
  39. package/lib/cn/pinyin/preload.js +3 -0
  40. package/lib/cn/pinyin/preload.js.map +1 -0
  41. package/lib/cn/pinyin/toPinyin.test.js +167 -0
  42. package/lib/cn/pinyin/toPinyinPure.js +33 -0
  43. package/lib/cn/pinyin/toPinyinPure.js.map +1 -0
  44. package/lib/cn/pinyin/transform.js +14 -0
  45. package/lib/cn/pinyin/transform.js.map +1 -0
  46. package/lib/cn/types.d.js +2 -0
  47. package/lib/cn/types.d.js.map +1 -0
  48. package/lib/consola/createStandardConsolaReporter.js +6 -6
  49. package/lib/consola/createStandardConsolaReporter.js.map +1 -0
  50. package/lib/consola/formatLogObject.js +66 -146
  51. package/lib/consola/formatLogObject.js.map +1 -0
  52. package/lib/consola/formatLogObject.test.js +184 -0
  53. package/lib/consola/index.js +1 -0
  54. package/lib/consola/index.js.map +1 -0
  55. package/lib/data/formatSort.js +6 -5
  56. package/lib/data/formatSort.js.map +1 -0
  57. package/lib/data/index.js +1 -0
  58. package/lib/data/index.js.map +1 -0
  59. package/lib/data/maybeNumber.js +6 -8
  60. package/lib/data/maybeNumber.js.map +1 -0
  61. package/lib/data/parseSort.js +22 -28
  62. package/lib/data/parseSort.js.map +1 -0
  63. package/lib/data/resolvePagination.js +13 -17
  64. package/lib/data/resolvePagination.js.map +1 -0
  65. package/lib/data/types.d.js +2 -0
  66. package/lib/data/types.d.js.map +1 -0
  67. package/lib/dayjs/dayjs.js +21 -19
  68. package/lib/dayjs/dayjs.js.map +1 -0
  69. package/lib/dayjs/formatDuration.js +15 -14
  70. package/lib/dayjs/formatDuration.js.map +1 -0
  71. package/lib/dayjs/index.js +2 -0
  72. package/lib/dayjs/index.js.map +1 -0
  73. package/lib/dayjs/parseDuration.js +5 -8
  74. package/lib/dayjs/parseDuration.js.map +1 -0
  75. package/lib/dayjs/parseRelativeTime.js +90 -0
  76. package/lib/dayjs/parseRelativeTime.js.map +1 -0
  77. package/lib/dayjs/parseRelativeTime.test.js +247 -0
  78. package/lib/dayjs/resolveRelativeTime.js +87 -0
  79. package/lib/dayjs/resolveRelativeTime.js.map +1 -0
  80. package/lib/dayjs/resolveRelativeTime.test.js +310 -0
  81. package/lib/decimal/index.js +1 -0
  82. package/lib/decimal/index.js.map +1 -0
  83. package/lib/decimal/parseDecimal.js +3 -1
  84. package/lib/decimal/parseDecimal.js.map +1 -0
  85. package/lib/drain3/Drain.js +356 -0
  86. package/lib/drain3/Drain.js.map +1 -0
  87. package/lib/drain3/LogCluster.js +38 -0
  88. package/lib/drain3/LogCluster.js.map +1 -0
  89. package/lib/drain3/Node.js +39 -0
  90. package/lib/drain3/Node.js.map +1 -0
  91. package/lib/drain3/TemplateMiner.js +204 -0
  92. package/lib/drain3/TemplateMiner.js.map +1 -0
  93. package/lib/drain3/index.js +31 -0
  94. package/lib/drain3/index.js.map +1 -0
  95. package/lib/drain3/persistence/FilePersistence.js +24 -0
  96. package/lib/drain3/persistence/FilePersistence.js.map +1 -0
  97. package/lib/drain3/persistence/MemoryPersistence.js +18 -0
  98. package/lib/drain3/persistence/MemoryPersistence.js.map +1 -0
  99. package/lib/drain3/persistence/PersistenceHandler.js +5 -0
  100. package/lib/drain3/persistence/PersistenceHandler.js.map +1 -0
  101. package/lib/drain3/types.js +7 -0
  102. package/lib/drain3/types.js.map +1 -0
  103. package/lib/emittery/emitter.js +10 -0
  104. package/lib/emittery/emitter.js.map +1 -0
  105. package/lib/emittery/index.js +2 -0
  106. package/lib/emittery/index.js.map +1 -0
  107. package/lib/foundation/schema/SexType.js +5 -3
  108. package/lib/foundation/schema/SexType.js.map +1 -0
  109. package/lib/foundation/schema/index.js +1 -0
  110. package/lib/foundation/schema/index.js.map +1 -0
  111. package/lib/foundation/schema/parseSexType.js +1 -0
  112. package/lib/foundation/schema/parseSexType.js.map +1 -0
  113. package/lib/foundation/schema/types.js +4 -2
  114. package/lib/foundation/schema/types.js.map +1 -0
  115. package/lib/fs/FileSystemError.js +23 -0
  116. package/lib/fs/FileSystemError.js.map +1 -0
  117. package/lib/fs/IFileSystem.d.js +3 -0
  118. package/lib/fs/IFileSystem.d.js.map +1 -0
  119. package/lib/fs/MemoryFileSystem.test.js +188 -0
  120. package/lib/fs/createBrowserFileSystem.js +250 -0
  121. package/lib/fs/createBrowserFileSystem.js.map +1 -0
  122. package/lib/fs/createMemoryFileSystem.js +517 -0
  123. package/lib/fs/createMemoryFileSystem.js.map +1 -0
  124. package/lib/fs/createSandboxFileSystem.js +108 -0
  125. package/lib/fs/createSandboxFileSystem.js.map +1 -0
  126. package/lib/fs/createWebDavFileSystem.js +154 -0
  127. package/lib/fs/createWebDavFileSystem.js.map +1 -0
  128. package/lib/fs/createWebFileSystem.js +225 -0
  129. package/lib/fs/createWebFileSystem.js.map +1 -0
  130. package/lib/fs/findMimeType.js +17 -0
  131. package/lib/fs/findMimeType.js.map +1 -0
  132. package/lib/fs/index.js +8 -0
  133. package/lib/fs/index.js.map +1 -0
  134. package/lib/fs/minio/createMinioFileSystem.js +974 -0
  135. package/lib/fs/minio/createMinioFileSystem.js.map +1 -0
  136. package/lib/fs/minio/index.js +2 -0
  137. package/lib/fs/minio/index.js.map +1 -0
  138. package/lib/fs/orpc/FileSystemContract.js +93 -0
  139. package/lib/fs/orpc/FileSystemContract.js.map +1 -0
  140. package/lib/fs/orpc/createContractClientFileSystem.js +93 -0
  141. package/lib/fs/orpc/createContractClientFileSystem.js.map +1 -0
  142. package/lib/fs/orpc/index.js +3 -0
  143. package/lib/fs/orpc/index.js.map +1 -0
  144. package/lib/fs/orpc/server/createFileSystemContractImpl.js +63 -0
  145. package/lib/fs/orpc/server/createFileSystemContractImpl.js.map +1 -0
  146. package/lib/fs/orpc/server/index.js +2 -0
  147. package/lib/fs/orpc/server/index.js.map +1 -0
  148. package/lib/fs/s3/createS3MiniFileSystem.js +753 -0
  149. package/lib/fs/s3/createS3MiniFileSystem.js.map +1 -0
  150. package/lib/fs/s3/index.js +2 -0
  151. package/lib/fs/s3/index.js.map +1 -0
  152. package/lib/fs/s3/s3mini.test.js +584 -0
  153. package/lib/fs/scandir.js +59 -0
  154. package/lib/fs/scandir.js.map +1 -0
  155. package/lib/fs/server/createDatabaseFileSystem.js +750 -0
  156. package/lib/fs/server/createDatabaseFileSystem.js.map +1 -0
  157. package/lib/fs/server/createNodeFileSystem.js +426 -0
  158. package/lib/fs/server/createNodeFileSystem.js.map +1 -0
  159. package/lib/fs/server/dbfs.test.js +221 -0
  160. package/lib/fs/server/index.js +2 -0
  161. package/lib/fs/server/index.js.map +1 -0
  162. package/lib/fs/server/loadTestDatabase.js +127 -0
  163. package/lib/fs/server/loadTestDatabase.js.map +1 -0
  164. package/lib/fs/tests/runFileSystemTest.js +319 -0
  165. package/lib/fs/tests/runFileSystemTest.js.map +1 -0
  166. package/lib/fs/types.js +27 -0
  167. package/lib/fs/types.js.map +1 -0
  168. package/lib/fs/utils/getFileUrl.js +35 -0
  169. package/lib/fs/utils/getFileUrl.js.map +1 -0
  170. package/lib/fs/utils.js +22 -0
  171. package/lib/fs/utils.js.map +1 -0
  172. package/lib/fs/webdav/index.js +2 -0
  173. package/lib/fs/webdav/index.js.map +1 -0
  174. package/lib/index.js +1 -0
  175. package/lib/index.js.map +1 -0
  176. package/lib/jsonschema/JsonSchema.js +146 -172
  177. package/lib/jsonschema/JsonSchema.js.map +1 -0
  178. package/lib/jsonschema/forEachJsonSchema.js +44 -0
  179. package/lib/jsonschema/forEachJsonSchema.js.map +1 -0
  180. package/lib/jsonschema/index.js +2 -0
  181. package/lib/jsonschema/index.js.map +1 -0
  182. package/lib/jsonschema/types.d.js +2 -0
  183. package/lib/jsonschema/types.d.js.map +1 -0
  184. package/lib/meta/defineFileType.js +20 -103
  185. package/lib/meta/defineFileType.js.map +1 -0
  186. package/lib/meta/defineInit.js +31 -250
  187. package/lib/meta/defineInit.js.map +1 -0
  188. package/lib/meta/defineMetadata.js +24 -140
  189. package/lib/meta/defineMetadata.js.map +1 -0
  190. package/lib/meta/index.js +1 -0
  191. package/lib/meta/index.js.map +1 -0
  192. package/lib/orpc/createOpenApiContractClient.js +27 -0
  193. package/lib/orpc/createOpenApiContractClient.js.map +1 -0
  194. package/lib/orpc/createRpcContractClient.js +34 -0
  195. package/lib/orpc/createRpcContractClient.js.map +1 -0
  196. package/lib/orpc/index.js +3 -0
  197. package/lib/orpc/index.js.map +1 -0
  198. package/lib/orpc/resolveLinkPlugins.js +28 -0
  199. package/lib/orpc/resolveLinkPlugins.js.map +1 -0
  200. package/lib/password/PHC.js +63 -87
  201. package/lib/password/PHC.js.map +1 -0
  202. package/lib/password/PHC.test.js +11 -3
  203. package/lib/password/Password.js +29 -294
  204. package/lib/password/Password.js.map +1 -0
  205. package/lib/password/Password.test.js +35 -22
  206. package/lib/password/createArgon2PasswordAlgorithm.js +35 -191
  207. package/lib/password/createArgon2PasswordAlgorithm.js.map +1 -0
  208. package/lib/password/createBase64PasswordAlgorithm.js +8 -141
  209. package/lib/password/createBase64PasswordAlgorithm.js.map +1 -0
  210. package/lib/password/createBcryptPasswordAlgorithm.js +13 -168
  211. package/lib/password/createBcryptPasswordAlgorithm.js.map +1 -0
  212. package/lib/password/createPBKDF2PasswordAlgorithm.js +46 -228
  213. package/lib/password/createPBKDF2PasswordAlgorithm.js.map +1 -0
  214. package/lib/password/createScryptPasswordAlgorithm.js +55 -211
  215. package/lib/password/createScryptPasswordAlgorithm.js.map +1 -0
  216. package/lib/password/index.js +1 -0
  217. package/lib/password/index.js.map +1 -0
  218. package/lib/password/server/index.js +1 -0
  219. package/lib/password/server/index.js.map +1 -0
  220. package/lib/resource/Identifiable.js +2 -0
  221. package/lib/resource/Identifiable.js.map +1 -0
  222. package/lib/resource/ListQuery.js +21 -93
  223. package/lib/resource/ListQuery.js.map +1 -0
  224. package/lib/resource/getTitleOfResource.js +3 -5
  225. package/lib/resource/getTitleOfResource.js.map +1 -0
  226. package/lib/resource/index.js +1 -0
  227. package/lib/resource/index.js.map +1 -0
  228. package/lib/resource/schema/AnyResourceSchema.js +2 -1
  229. package/lib/resource/schema/AnyResourceSchema.js.map +1 -0
  230. package/lib/resource/schema/BaseResourceSchema.js +2 -1
  231. package/lib/resource/schema/BaseResourceSchema.js.map +1 -0
  232. package/lib/resource/schema/ResourceActionType.js +6 -4
  233. package/lib/resource/schema/ResourceActionType.js.map +1 -0
  234. package/lib/resource/schema/ResourceStatus.js +5 -3
  235. package/lib/resource/schema/ResourceStatus.js.map +1 -0
  236. package/lib/resource/schema/ResourceType.js +5 -3
  237. package/lib/resource/schema/ResourceType.js.map +1 -0
  238. package/lib/resource/schema/index.js +1 -0
  239. package/lib/resource/schema/index.js.map +1 -0
  240. package/lib/resource/schema/types.js +16 -20
  241. package/lib/resource/schema/types.js.map +1 -0
  242. package/lib/s3/formatS3Url.js +65 -0
  243. package/lib/s3/formatS3Url.js.map +1 -0
  244. package/lib/s3/formatS3Url.test.js +262 -0
  245. package/lib/s3/index.js +3 -0
  246. package/lib/s3/index.js.map +1 -0
  247. package/lib/s3/parseS3Url.js +65 -0
  248. package/lib/s3/parseS3Url.js.map +1 -0
  249. package/lib/s3/parseS3Url.test.js +270 -0
  250. package/lib/schema/SchemaRegistry.js +38 -38
  251. package/lib/schema/SchemaRegistry.js.map +1 -0
  252. package/lib/schema/TypeSchema.d.js +2 -0
  253. package/lib/schema/TypeSchema.d.js.map +1 -0
  254. package/lib/schema/createSchemaData.js +26 -125
  255. package/lib/schema/createSchemaData.js.map +1 -0
  256. package/lib/schema/findJsonSchemaByPath.js +13 -36
  257. package/lib/schema/findJsonSchemaByPath.js.map +1 -0
  258. package/lib/schema/formatZodError.js +138 -0
  259. package/lib/schema/formatZodError.js.map +1 -0
  260. package/lib/schema/formatZodError.test.js +196 -0
  261. package/lib/schema/getSchemaCache.js +5 -5
  262. package/lib/schema/getSchemaCache.js.map +1 -0
  263. package/lib/schema/getSchemaOptions.js +8 -11
  264. package/lib/schema/getSchemaOptions.js.map +1 -0
  265. package/lib/schema/index.js +2 -1
  266. package/lib/schema/index.js.map +1 -0
  267. package/lib/schema/toJsonSchema.js +50 -293
  268. package/lib/schema/toJsonSchema.js.map +1 -0
  269. package/lib/schema/validate.js +34 -46
  270. package/lib/schema/validate.js.map +1 -0
  271. package/lib/tools/generateSchema.js +39 -197
  272. package/lib/tools/generateSchema.js.map +1 -0
  273. package/lib/tools/renderJsonSchemaToMarkdownDoc.js +55 -143
  274. package/lib/tools/renderJsonSchemaToMarkdownDoc.js.map +1 -0
  275. package/lib/utils/buildBaseUrl.js +13 -0
  276. package/lib/utils/buildBaseUrl.js.map +1 -0
  277. package/lib/utils/buildRedactorFormSchema.js +59 -0
  278. package/lib/utils/buildRedactorFormSchema.js.map +1 -0
  279. package/lib/utils/getEstimateProcessTime.js +12 -11
  280. package/lib/utils/getEstimateProcessTime.js.map +1 -0
  281. package/lib/utils/index.js +3 -0
  282. package/lib/utils/index.js.map +1 -0
  283. package/lib/utils/resolveFeatureOptions.js +12 -0
  284. package/lib/utils/resolveFeatureOptions.js.map +1 -0
  285. package/package.json +80 -13
  286. package/src/ai/qwen3vl/index.ts +1 -0
  287. package/src/ai/qwen3vl/utils.ts +36 -0
  288. package/src/ai/vision/DocLayoutElementTypeSchema.ts +30 -0
  289. package/src/ai/vision/ImageAnnotationSchema.ts +60 -0
  290. package/src/ai/vision/index.ts +2 -0
  291. package/src/ai/vision/resolveImageAnnotation.ts +135 -0
  292. package/src/cn/ChineseResidentIdNo.test.ts +1 -1
  293. package/src/cn/ChineseResidentIdNo.ts +9 -1
  294. package/src/cn/DivisionCode.test.ts +1 -1
  295. package/src/cn/DivisionCode.ts +8 -0
  296. package/src/cn/Mod11.ts +1 -1
  297. package/src/cn/UnifiedSocialCreditCode.test.ts +1 -1
  298. package/src/cn/UnifiedSocialCreditCode.ts +15 -0
  299. package/src/cn/__snapshots__/ChineseResidentIdNo.test.ts.snap +1 -1
  300. package/src/cn/formatChineseAmount.ts +61 -0
  301. package/src/cn/index.ts +7 -1
  302. package/src/cn/parseChineseNumber.test.ts +159 -0
  303. package/src/cn/parseChineseNumber.ts +97 -0
  304. package/src/cn/pinyin/cartesianProduct.test.ts +64 -0
  305. package/src/cn/pinyin/cartesianProduct.ts +24 -0
  306. package/src/cn/pinyin/data.json +23573 -0
  307. package/src/cn/pinyin/loader.ts +12 -0
  308. package/src/cn/pinyin/preload.ts +3 -0
  309. package/src/cn/pinyin/toPinyin.test.ts +12 -0
  310. package/src/cn/pinyin/toPinyinPure.ts +43 -0
  311. package/src/cn/pinyin/transform.ts +12 -0
  312. package/src/consola/formatLogObject.test.ts +27 -0
  313. package/src/consola/formatLogObject.ts +40 -12
  314. package/src/data/maybeNumber.ts +1 -1
  315. package/src/data/parseSort.test.ts +0 -1
  316. package/src/data/types.d.ts +2 -2
  317. package/src/dayjs/dayjs.ts +18 -18
  318. package/src/dayjs/formatDuration.ts +2 -2
  319. package/src/dayjs/index.ts +3 -1
  320. package/src/dayjs/parseRelativeTime.test.ts +185 -0
  321. package/src/dayjs/parseRelativeTime.ts +115 -0
  322. package/src/dayjs/resolveRelativeTime.test.ts +357 -0
  323. package/src/dayjs/resolveRelativeTime.ts +164 -0
  324. package/src/drain3/Drain.test.ts +378 -0
  325. package/src/drain3/Drain.ts +394 -0
  326. package/src/drain3/LogCluster.ts +46 -0
  327. package/src/drain3/Node.ts +53 -0
  328. package/src/drain3/TemplateMiner.ts +246 -0
  329. package/src/drain3/index.ts +36 -0
  330. package/src/drain3/persistence/FilePersistence.ts +24 -0
  331. package/src/drain3/persistence/MemoryPersistence.ts +23 -0
  332. package/src/drain3/persistence/PersistenceHandler.ts +19 -0
  333. package/src/drain3/types.ts +75 -0
  334. package/src/emittery/emitter.ts +9 -0
  335. package/src/emittery/index.ts +1 -0
  336. package/src/fs/FileSystemError.ts +26 -0
  337. package/src/fs/IFileSystem.d.ts +101 -0
  338. package/src/fs/MemoryFileSystem.test.ts +37 -0
  339. package/src/fs/createBrowserFileSystem.ts +293 -0
  340. package/src/fs/createMemoryFileSystem.ts +600 -0
  341. package/src/fs/createSandboxFileSystem.ts +136 -0
  342. package/src/fs/createWebDavFileSystem.ts +190 -0
  343. package/src/fs/createWebFileSystem.ts +242 -0
  344. package/src/fs/findMimeType.ts +20 -0
  345. package/src/fs/index.ts +8 -0
  346. package/src/fs/minio/createMinioFileSystem.ts +1148 -0
  347. package/src/fs/minio/index.ts +1 -0
  348. package/src/fs/orpc/FileSystemContract.ts +92 -0
  349. package/src/fs/orpc/createContractClientFileSystem.ts +115 -0
  350. package/src/fs/orpc/index.ts +2 -0
  351. package/src/fs/orpc/server/createFileSystemContractImpl.ts +64 -0
  352. package/src/fs/orpc/server/index.ts +1 -0
  353. package/src/fs/s3/createS3MiniFileSystem.ts +871 -0
  354. package/src/fs/s3/index.ts +1 -0
  355. package/src/fs/s3/s3fs.test.ts +441 -0
  356. package/src/fs/s3/s3mini.test.ts +264 -0
  357. package/src/fs/scandir.ts +75 -0
  358. package/src/fs/server/createDatabaseFileSystem.ts +668 -0
  359. package/src/fs/server/createNodeFileSystem.ts +518 -0
  360. package/src/fs/server/dbfs.test.ts +48 -0
  361. package/src/fs/server/index.ts +1 -0
  362. package/src/fs/server/loadTestDatabase.ts +131 -0
  363. package/src/fs/tests/runFileSystemTest.ts +289 -0
  364. package/src/fs/types.ts +29 -0
  365. package/src/fs/utils/getFileUrl.ts +44 -0
  366. package/src/fs/utils.ts +23 -0
  367. package/src/fs/webdav/index.ts +1 -0
  368. package/src/jsonschema/JsonSchema.ts +118 -110
  369. package/src/jsonschema/forEachJsonSchema.ts +50 -0
  370. package/src/jsonschema/index.ts +1 -0
  371. package/src/jsonschema/types.d.ts +1 -1
  372. package/src/meta/defineMetadata.ts +1 -1
  373. package/src/orpc/createOpenApiContractClient.ts +52 -0
  374. package/src/orpc/createRpcContractClient.ts +50 -0
  375. package/src/orpc/index.ts +2 -0
  376. package/src/orpc/resolveLinkPlugins.ts +29 -0
  377. package/src/password/PHC.ts +6 -6
  378. package/src/password/Password.test.ts +1 -1
  379. package/src/password/createArgon2PasswordAlgorithm.ts +1 -1
  380. package/src/password/createBase64PasswordAlgorithm.ts +2 -2
  381. package/src/password/createBcryptPasswordAlgorithm.ts +4 -2
  382. package/src/password/createPBKDF2PasswordAlgorithm.ts +4 -4
  383. package/src/password/createScryptPasswordAlgorithm.ts +4 -4
  384. package/src/resource/ListQuery.ts +4 -1
  385. package/src/resource/index.ts +2 -2
  386. package/src/resource/schema/AnyResourceSchema.ts +16 -2
  387. package/src/s3/formatS3Url.test.ts +254 -0
  388. package/src/s3/formatS3Url.ts +84 -0
  389. package/src/s3/index.ts +2 -0
  390. package/src/s3/parseS3Url.test.ts +258 -0
  391. package/src/s3/parseS3Url.ts +88 -0
  392. package/src/schema/SchemaRegistry.ts +35 -33
  393. package/src/schema/TypeSchema.d.ts +6 -6
  394. package/src/schema/createSchemaData.ts +4 -4
  395. package/src/schema/findJsonSchemaByPath.ts +4 -4
  396. package/src/schema/formatZodError.test.ts +197 -0
  397. package/src/schema/formatZodError.ts +139 -0
  398. package/src/schema/getSchemaOptions.ts +2 -2
  399. package/src/schema/index.ts +1 -1
  400. package/src/schema/toJsonSchema.ts +6 -6
  401. package/src/schema/validate.ts +1 -1
  402. package/src/utils/buildBaseUrl.ts +12 -0
  403. package/src/utils/buildRedactorFormSchema.ts +85 -0
  404. package/src/utils/index.ts +4 -0
  405. package/src/utils/resolveFeatureOptions.ts +14 -0
  406. package/src/cn/ChineseResidentIdNo.mod.ts +0 -7
  407. package/src/cn/DivisionCode.mod.ts +0 -7
  408. package/src/cn/UnifiedSocialCreditCode.mod.ts +0 -7
  409. package/src/cn/mod.ts +0 -3
  410. package/src/schema/SchemaRegistry.mod.ts +0 -1
@@ -0,0 +1,310 @@
1
+ import dayjs from "dayjs";
2
+ import quarterOfYear from "dayjs/plugin/quarterOfYear";
3
+ import weekOfYear from "dayjs/plugin/weekOfYear";
4
+ import { describe, expect, it } from "vitest";
5
+ import { resolveRelativeTime } from "./resolveRelativeTime.js";
6
+ dayjs.extend(quarterOfYear);
7
+ dayjs.extend(weekOfYear);
8
+ describe("resolveRelativeTime", function () {
9
+ var fixedDate = new Date("2024-03-15T14:30:45.123Z");
10
+ describe("basic cases", function () {
11
+ it("should handle \"now\"", function () {
12
+ var result = resolveRelativeTime("now", fixedDate);
13
+ expect(result).toEqual(fixedDate);
14
+ });
15
+ it("should handle \"now\" without reference date", function () {
16
+ var result = resolveRelativeTime("now", undefined);
17
+ expect(result).toBeInstanceOf(Date);
18
+ });
19
+ });
20
+ describe("subtraction operations", function () {
21
+ it("should subtract seconds", function () {
22
+ var result = resolveRelativeTime("now-30s", fixedDate);
23
+ var expected = dayjs(fixedDate).subtract(30, "second").toDate();
24
+ expect(result).toEqual(expected);
25
+ });
26
+ it("should subtract minutes", function () {
27
+ var result = resolveRelativeTime("now-15m", fixedDate);
28
+ var expected = dayjs(fixedDate).subtract(15, "minute").toDate();
29
+ expect(result).toEqual(expected);
30
+ });
31
+ it("should subtract hours", function () {
32
+ var result = resolveRelativeTime("now-2h", fixedDate);
33
+ var expected = dayjs(fixedDate).subtract(2, "hour").toDate();
34
+ expect(result).toEqual(expected);
35
+ });
36
+ it("should subtract days", function () {
37
+ var result = resolveRelativeTime("now-7d", fixedDate);
38
+ var expected = dayjs(fixedDate).subtract(7, "day").toDate();
39
+ expect(result).toEqual(expected);
40
+ });
41
+ it("should subtract weeks", function () {
42
+ var result = resolveRelativeTime("now-2w", fixedDate);
43
+ var expected = dayjs(fixedDate).subtract(2, "week").toDate();
44
+ expect(result).toEqual(expected);
45
+ });
46
+ it("should subtract months", function () {
47
+ var result = resolveRelativeTime("now-1M", fixedDate);
48
+ var expected = dayjs(fixedDate).subtract(1, "month").toDate();
49
+ expect(result).toEqual(expected);
50
+ });
51
+ it("should subtract quarters", function () {
52
+ var result = resolveRelativeTime("now-1Q", fixedDate);
53
+ var expected = dayjs(fixedDate).subtract(1, "quarter").toDate();
54
+ expect(result).toEqual(expected);
55
+ });
56
+ it("should subtract years", function () {
57
+ var result = resolveRelativeTime("now-1y", fixedDate);
58
+ var expected = dayjs(fixedDate).subtract(1, "year").toDate();
59
+ expect(result).toEqual(expected);
60
+ });
61
+ });
62
+ describe("addition operations", function () {
63
+ it("should add seconds", function () {
64
+ var result = resolveRelativeTime("now+30s", fixedDate);
65
+ var expected = dayjs(fixedDate).add(30, "second").toDate();
66
+ expect(result).toEqual(expected);
67
+ });
68
+ it("should add minutes", function () {
69
+ var result = resolveRelativeTime("now+15m", fixedDate);
70
+ var expected = dayjs(fixedDate).add(15, "minute").toDate();
71
+ expect(result).toEqual(expected);
72
+ });
73
+ it("should add hours", function () {
74
+ var result = resolveRelativeTime("now+3h", fixedDate);
75
+ var expected = dayjs(fixedDate).add(3, "hour").toDate();
76
+ expect(result).toEqual(expected);
77
+ });
78
+ it("should add days", function () {
79
+ var result = resolveRelativeTime("now+5d", fixedDate);
80
+ var expected = dayjs(fixedDate).add(5, "day").toDate();
81
+ expect(result).toEqual(expected);
82
+ });
83
+ it("should add weeks", function () {
84
+ var result = resolveRelativeTime("now+2w", fixedDate);
85
+ var expected = dayjs(fixedDate).add(2, "week").toDate();
86
+ expect(result).toEqual(expected);
87
+ });
88
+ it("should add months", function () {
89
+ var result = resolveRelativeTime("now+2M", fixedDate);
90
+ var expected = dayjs(fixedDate).add(2, "month").toDate();
91
+ expect(result).toEqual(expected);
92
+ });
93
+ it("should add quarters", function () {
94
+ var result = resolveRelativeTime("now+1Q", fixedDate);
95
+ var expected = dayjs(fixedDate).add(1, "quarter").toDate();
96
+ expect(result).toEqual(expected);
97
+ });
98
+ it("should add years", function () {
99
+ var result = resolveRelativeTime("now+1y", fixedDate);
100
+ var expected = dayjs(fixedDate).add(1, "year").toDate();
101
+ expect(result).toEqual(expected);
102
+ });
103
+ });
104
+ describe("truncation operations", function () {
105
+ it("should truncate to start of second", function () {
106
+ var result = resolveRelativeTime("now/s", fixedDate);
107
+ var expected = dayjs(fixedDate).startOf("second").toDate();
108
+ expect(result).toEqual(expected);
109
+ });
110
+ it("should truncate to start of minute", function () {
111
+ var result = resolveRelativeTime("now/m", fixedDate);
112
+ var expected = dayjs(fixedDate).startOf("minute").toDate();
113
+ expect(result).toEqual(expected);
114
+ });
115
+ it("should truncate to start of hour", function () {
116
+ var result = resolveRelativeTime("now/h", fixedDate);
117
+ var expected = dayjs(fixedDate).startOf("hour").toDate();
118
+ expect(result).toEqual(expected);
119
+ });
120
+ it("should truncate to start of day", function () {
121
+ var result = resolveRelativeTime("now/d", fixedDate);
122
+ var expected = dayjs(fixedDate).startOf("day").toDate();
123
+ expect(result).toEqual(expected);
124
+ });
125
+ it("should truncate to start of week", function () {
126
+ var result = resolveRelativeTime("now/w", fixedDate);
127
+ var expected = dayjs(fixedDate).startOf("week").toDate();
128
+ expect(result).toEqual(expected);
129
+ });
130
+ it("should truncate to start of month", function () {
131
+ var result = resolveRelativeTime("now/M", fixedDate);
132
+ var expected = dayjs(fixedDate).startOf("month").toDate();
133
+ expect(result).toEqual(expected);
134
+ });
135
+ it("should truncate to start of quarter", function () {
136
+ var result = resolveRelativeTime("now/Q", fixedDate);
137
+ var expected = dayjs(fixedDate).startOf("quarter").toDate();
138
+ expect(result).toEqual(expected);
139
+ });
140
+ it("should truncate to start of year", function () {
141
+ var result = resolveRelativeTime("now/y", fixedDate);
142
+ var expected = dayjs(fixedDate).startOf("year").toDate();
143
+ expect(result).toEqual(expected);
144
+ });
145
+ });
146
+ describe("endOf truncation operations (backslash)", function () {
147
+ it("should truncate to end of second", function () {
148
+ var result = resolveRelativeTime("now\\s", fixedDate);
149
+ var expected = dayjs(fixedDate).endOf("second").toDate();
150
+ expect(result).toEqual(expected);
151
+ });
152
+ it("should truncate to end of minute", function () {
153
+ var result = resolveRelativeTime("now\\m", fixedDate);
154
+ var expected = dayjs(fixedDate).endOf("minute").toDate();
155
+ expect(result).toEqual(expected);
156
+ });
157
+ it("should truncate to end of hour", function () {
158
+ var result = resolveRelativeTime("now\\h", fixedDate);
159
+ var expected = dayjs(fixedDate).endOf("hour").toDate();
160
+ expect(result).toEqual(expected);
161
+ });
162
+ it("should truncate to end of day", function () {
163
+ var result = resolveRelativeTime("now\\d", fixedDate);
164
+ var expected = dayjs(fixedDate).endOf("day").toDate();
165
+ expect(result).toEqual(expected);
166
+ });
167
+ it("should truncate to end of week", function () {
168
+ var result = resolveRelativeTime("now\\w", fixedDate);
169
+ var expected = dayjs(fixedDate).endOf("week").toDate();
170
+ expect(result).toEqual(expected);
171
+ });
172
+ it("should truncate to end of month", function () {
173
+ var result = resolveRelativeTime("now\\M", fixedDate);
174
+ var expected = dayjs(fixedDate).endOf("month").toDate();
175
+ expect(result).toEqual(expected);
176
+ });
177
+ it("should truncate to end of quarter", function () {
178
+ var result = resolveRelativeTime("now\\Q", fixedDate);
179
+ var expected = dayjs(fixedDate).endOf("quarter").toDate();
180
+ expect(result).toEqual(expected);
181
+ });
182
+ it("should truncate to end of year", function () {
183
+ var result = resolveRelativeTime("now\\y", fixedDate);
184
+ var expected = dayjs(fixedDate).endOf("year").toDate();
185
+ expect(result).toEqual(expected);
186
+ });
187
+ });
188
+ describe("complex combinations", function () {
189
+ it("should handle \"now-1M/M\" (start of previous month)", function () {
190
+ var result = resolveRelativeTime("now-1M/M", fixedDate);
191
+ var expected = dayjs(fixedDate).subtract(1, "month").startOf("month").toDate();
192
+ expect(result).toEqual(expected);
193
+ });
194
+ it("should handle \"now/d+1d-1s\" (end of current day)", function () {
195
+ var result = resolveRelativeTime("now/d+1d-1s", fixedDate);
196
+ var expected = dayjs(fixedDate).startOf("day").add(1, "day").subtract(1, "second").toDate();
197
+ expect(result).toEqual(expected);
198
+ });
199
+ it("should handle multiple operations \"now-1w+2d-3h\"", function () {
200
+ var result = resolveRelativeTime("now-1w+2d-3h", fixedDate);
201
+ var expected = dayjs(fixedDate).subtract(1, "week").add(2, "day").subtract(3, "hour").toDate();
202
+ expect(result).toEqual(expected);
203
+ });
204
+ it("should handle \"now-1M\\M\" (end of previous month)", function () {
205
+ var result = resolveRelativeTime("now-1M\\M", fixedDate);
206
+ var expected = dayjs(fixedDate).subtract(1, "month").endOf("month").toDate();
207
+ expect(result).toEqual(expected);
208
+ });
209
+ it("should handle \"now\\d\" vs \"now/d+1d-1s\" (both end of current day)", function () {
210
+ var resultBackslash = resolveRelativeTime("now\\d", fixedDate);
211
+ var resultAlternative = resolveRelativeTime("now/d+1d-1s", fixedDate);
212
+ var expectedBackslash = dayjs(fixedDate).endOf("day").toDate();
213
+ var expectedAlternative = dayjs(fixedDate).startOf("day").add(1, "day").subtract(1, "second").toDate();
214
+ expect(resultBackslash).toEqual(expectedBackslash);
215
+ expect(resultAlternative).toEqual(expectedAlternative);
216
+ // Note: endOf gives millisecond precision (.999), while alternative gives second precision (.000)
217
+ // Both represent end of day, but endOf is more precise
218
+ expect(resultBackslash.getTime()).toBeGreaterThan(resultAlternative.getTime());
219
+ });
220
+ it("should handle \"now-1y\\y\" (end of previous year)", function () {
221
+ var result = resolveRelativeTime("now-1y\\y", fixedDate);
222
+ var expected = dayjs(fixedDate).subtract(1, "year").endOf("year").toDate();
223
+ expect(result).toEqual(expected);
224
+ });
225
+ it("should handle \"now/y+6M\" (middle of current year)", function () {
226
+ var result = resolveRelativeTime("now/y+6M", fixedDate);
227
+ var expected = dayjs(fixedDate).startOf("year").add(6, "month").toDate();
228
+ expect(result).toEqual(expected);
229
+ });
230
+ });
231
+ describe("error cases", function () {
232
+ it("should throw error for invalid format", function () {
233
+ expect(function () {
234
+ return resolveRelativeTime("invalid", fixedDate);
235
+ }).toThrow("Invalid");
236
+ });
237
+ it("should throw error for non-now start", function () {
238
+ expect(function () {
239
+ return resolveRelativeTime("then-1h", fixedDate);
240
+ }).toThrow("Invalid");
241
+ });
242
+ it("should throw error for invalid time unit", function () {
243
+ expect(function () {
244
+ return resolveRelativeTime("now-1x", fixedDate);
245
+ }).toThrow("Invalid time operand");
246
+ });
247
+ it("should throw error for invalid operator", function () {
248
+ expect(function () {
249
+ return resolveRelativeTime("now*1h", fixedDate);
250
+ }).toThrow("Invalid relative time format");
251
+ });
252
+ it("should throw error for invalid truncation unit", function () {
253
+ expect(function () {
254
+ return resolveRelativeTime("now/z", fixedDate);
255
+ }).toThrow();
256
+ });
257
+ it("should throw error for incomplete operation", function () {
258
+ expect(function () {
259
+ return resolveRelativeTime("now-", fixedDate);
260
+ }).toThrow("Invalid relative time format");
261
+ });
262
+ });
263
+ describe("Grafana examples from comments", function () {
264
+ it("should handle \"now-24h\" (last 24 hours)", function () {
265
+ var result = resolveRelativeTime("now-24h", fixedDate);
266
+ var expected = dayjs(fixedDate).subtract(24, "hour").toDate();
267
+ expect(result).toEqual(expected);
268
+ });
269
+ it("should handle \"now/M\" (start of current month)", function () {
270
+ var result = resolveRelativeTime("now/M", fixedDate);
271
+ var expected = dayjs(fixedDate).startOf("month").toDate();
272
+ expect(result).toEqual(expected);
273
+ });
274
+ it("should handle \"now-7d\" (last 7 days)", function () {
275
+ var result = resolveRelativeTime("now-7d", fixedDate);
276
+ var expected = dayjs(fixedDate).subtract(7, "day").toDate();
277
+ expect(result).toEqual(expected);
278
+ });
279
+ it("should handle \"now/y\" (start of current year)", function () {
280
+ var result = resolveRelativeTime("now/y", fixedDate);
281
+ var expected = dayjs(fixedDate).startOf("year").toDate();
282
+ expect(result).toEqual(expected);
283
+ });
284
+ it("should handle \"now/w\" (start of current week)", function () {
285
+ var result = resolveRelativeTime("now/w", fixedDate);
286
+ var expected = dayjs(fixedDate).startOf("week").toDate();
287
+ expect(result).toEqual(expected);
288
+ });
289
+ it("should handle \"now\\d\" (end of current day)", function () {
290
+ var result = resolveRelativeTime("now\\d", fixedDate);
291
+ var expected = dayjs(fixedDate).endOf("day").toDate();
292
+ expect(result).toEqual(expected);
293
+ });
294
+ it("should handle \"now\\M\" (end of current month)", function () {
295
+ var result = resolveRelativeTime("now\\M", fixedDate);
296
+ var expected = dayjs(fixedDate).endOf("month").toDate();
297
+ expect(result).toEqual(expected);
298
+ });
299
+ it("should handle \"now\\w\" (end of current week)", function () {
300
+ var result = resolveRelativeTime("now\\w", fixedDate);
301
+ var expected = dayjs(fixedDate).endOf("week").toDate();
302
+ expect(result).toEqual(expected);
303
+ });
304
+ it("should handle \"now\\y\" (end of current year)", function () {
305
+ var result = resolveRelativeTime("now\\y", fixedDate);
306
+ var expected = dayjs(fixedDate).endOf("year").toDate();
307
+ expect(result).toEqual(expected);
308
+ });
309
+ });
310
+ });
@@ -1 +1,2 @@
1
1
  export { parseDecimal } from "./parseDecimal.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decimal/index.ts"],"sourcesContent":["export { parseDecimal } from './parseDecimal';\n"],"names":["parseDecimal"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB"}
@@ -1,4 +1,4 @@
1
- import Decimal from 'decimal.js';
1
+ import Decimal from "decimal.js";
2
2
  export function parseDecimal(v) {
3
3
  switch(v){
4
4
  case '':
@@ -11,3 +11,5 @@ export function parseDecimal(v) {
11
11
  }
12
12
  return new Decimal(v);
13
13
  }
14
+
15
+ //# sourceMappingURL=parseDecimal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/decimal/parseDecimal.ts"],"sourcesContent":["import Decimal from 'decimal.js';\n\nexport function parseDecimal(v: string | number | Decimal): Decimal;\nexport function parseDecimal(v: string | number | Decimal | undefined | null): Decimal | undefined;\nexport function parseDecimal(v: string | number | Decimal | undefined | null): Decimal | undefined {\n\tswitch (v) {\n\t\tcase '':\n\t\tcase undefined:\n\t\tcase null:\n\t\t\treturn undefined;\n\t}\n\tif (Decimal.isDecimal(v)) {\n\t\treturn v;\n\t}\n\treturn new Decimal(v);\n}\n"],"names":["Decimal","parseDecimal","v","undefined","isDecimal"],"mappings":"AAAA,OAAOA,aAAa,aAAa;AAIjC,OAAO,SAASC,aAAaC,CAA+C;IAC3E,OAAQA;QACP,KAAK;QACL,KAAKC;QACL,KAAK;YACJ,OAAOA;IACT;IACA,IAAIH,QAAQI,SAAS,CAACF,IAAI;QACzB,OAAOA;IACR;IACA,OAAO,IAAIF,QAAQE;AACpB"}