@wener/common 2.0.1 → 2.0.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 (405) 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 +48 -0
  14. package/lib/cn/ChineseResidentIdNo.js.map +1 -0
  15. package/lib/cn/ChineseResidentIdNo.mod.js +1 -0
  16. package/lib/cn/{ResidentIdentityCardNumber.test.js → ChineseResidentIdNo.test.js} +7 -6
  17. package/lib/cn/DivisionCode.js +217 -301
  18. package/lib/cn/DivisionCode.js.map +1 -0
  19. package/lib/cn/DivisionCode.mod.js +1 -0
  20. package/lib/cn/DivisionCode.test.js +9 -15
  21. package/lib/cn/Mod11.js +43 -0
  22. package/lib/cn/Mod11.js.map +1 -0
  23. package/lib/cn/Mod31.js +49 -0
  24. package/lib/cn/Mod31.js.map +1 -0
  25. package/lib/cn/UnifiedSocialCreditCode.js +137 -113
  26. package/lib/cn/UnifiedSocialCreditCode.js.map +1 -0
  27. package/lib/cn/UnifiedSocialCreditCode.mod.js +1 -0
  28. package/lib/cn/UnifiedSocialCreditCode.test.js +1 -1
  29. package/lib/cn/formatChineseAmount.js +77 -0
  30. package/lib/cn/formatChineseAmount.js.map +1 -0
  31. package/lib/cn/index.js +6 -2
  32. package/lib/cn/index.js.map +1 -0
  33. package/lib/cn/mod.js +6 -0
  34. package/lib/cn/parseChineseNumber.js +94 -0
  35. package/lib/cn/parseChineseNumber.js.map +1 -0
  36. package/lib/cn/parseChineseNumber.test.js +278 -0
  37. package/lib/cn/pinyin/cartesianProduct.js +22 -0
  38. package/lib/cn/pinyin/cartesianProduct.js.map +1 -0
  39. package/lib/cn/pinyin/cartesianProduct.test.js +179 -0
  40. package/lib/cn/pinyin/data.json +23573 -0
  41. package/lib/cn/pinyin/loader.js +14 -0
  42. package/lib/cn/pinyin/loader.js.map +1 -0
  43. package/lib/cn/pinyin/preload.js +3 -0
  44. package/lib/cn/pinyin/preload.js.map +1 -0
  45. package/lib/cn/pinyin/toPinyin.test.js +167 -0
  46. package/lib/cn/pinyin/toPinyinPure.js +33 -0
  47. package/lib/cn/pinyin/toPinyinPure.js.map +1 -0
  48. package/lib/cn/pinyin/transform.js +14 -0
  49. package/lib/cn/pinyin/transform.js.map +1 -0
  50. package/lib/cn/types.d.js +2 -0
  51. package/lib/cn/types.d.js.map +1 -0
  52. package/lib/consola/createStandardConsolaReporter.js +6 -6
  53. package/lib/consola/createStandardConsolaReporter.js.map +1 -0
  54. package/lib/consola/formatLogObject.js +67 -135
  55. package/lib/consola/formatLogObject.js.map +1 -0
  56. package/lib/consola/formatLogObject.test.js +184 -0
  57. package/lib/consola/index.js +1 -0
  58. package/lib/consola/index.js.map +1 -0
  59. package/lib/data/formatSort.js +6 -5
  60. package/lib/data/formatSort.js.map +1 -0
  61. package/lib/data/index.js +1 -0
  62. package/lib/data/index.js.map +1 -0
  63. package/lib/data/maybeNumber.js +5 -7
  64. package/lib/data/maybeNumber.js.map +1 -0
  65. package/lib/data/parseSort.js +22 -28
  66. package/lib/data/parseSort.js.map +1 -0
  67. package/lib/data/resolvePagination.js +13 -17
  68. package/lib/data/resolvePagination.js.map +1 -0
  69. package/lib/data/types.d.js +2 -0
  70. package/lib/data/types.d.js.map +1 -0
  71. package/lib/dayjs/dayjs.js +40 -0
  72. package/lib/dayjs/dayjs.js.map +1 -0
  73. package/lib/dayjs/formatDuration.js +59 -0
  74. package/lib/dayjs/formatDuration.js.map +1 -0
  75. package/lib/dayjs/formatDuration.test.js +90 -0
  76. package/lib/dayjs/index.js +5 -0
  77. package/lib/dayjs/index.js.map +1 -0
  78. package/lib/dayjs/parseDuration.js +29 -0
  79. package/lib/dayjs/parseDuration.js.map +1 -0
  80. package/lib/dayjs/parseRelativeTime.js +90 -0
  81. package/lib/dayjs/parseRelativeTime.js.map +1 -0
  82. package/lib/dayjs/parseRelativeTime.test.js +247 -0
  83. package/lib/dayjs/resolveRelativeTime.js +158 -0
  84. package/lib/dayjs/resolveRelativeTime.js.map +1 -0
  85. package/lib/dayjs/resolveRelativeTime.test.js +310 -0
  86. package/lib/decimal/index.js +2 -0
  87. package/lib/decimal/index.js.map +1 -0
  88. package/lib/decimal/parseDecimal.js +15 -0
  89. package/lib/decimal/parseDecimal.js.map +1 -0
  90. package/lib/emittery/emitter.js +10 -0
  91. package/lib/emittery/emitter.js.map +1 -0
  92. package/lib/emittery/index.js +2 -0
  93. package/lib/emittery/index.js.map +1 -0
  94. package/lib/foundation/schema/SexType.js +16 -0
  95. package/lib/foundation/schema/SexType.js.map +1 -0
  96. package/lib/foundation/schema/index.js +2 -0
  97. package/lib/foundation/schema/index.js.map +1 -0
  98. package/lib/foundation/schema/parseSexType.js +19 -0
  99. package/lib/foundation/schema/parseSexType.js.map +1 -0
  100. package/lib/foundation/schema/types.js +7 -0
  101. package/lib/foundation/schema/types.js.map +1 -0
  102. package/lib/fs/FileSystemError.js +23 -0
  103. package/lib/fs/FileSystemError.js.map +1 -0
  104. package/lib/fs/IFileSystem.d.js +3 -0
  105. package/lib/fs/IFileSystem.d.js.map +1 -0
  106. package/lib/fs/MemoryFileSystem.test.js +188 -0
  107. package/lib/fs/createBrowserFileSystem.js +248 -0
  108. package/lib/fs/createBrowserFileSystem.js.map +1 -0
  109. package/lib/fs/createMemoryFileSystem.js +516 -0
  110. package/lib/fs/createMemoryFileSystem.js.map +1 -0
  111. package/lib/fs/createSandboxFileSystem.js +108 -0
  112. package/lib/fs/createSandboxFileSystem.js.map +1 -0
  113. package/lib/fs/createWebDavFileSystem.js +137 -0
  114. package/lib/fs/createWebDavFileSystem.js.map +1 -0
  115. package/lib/fs/findMimeType.js +17 -0
  116. package/lib/fs/findMimeType.js.map +1 -0
  117. package/lib/fs/index.js +8 -0
  118. package/lib/fs/index.js.map +1 -0
  119. package/lib/fs/orpc/FileSystemContract.js +93 -0
  120. package/lib/fs/orpc/FileSystemContract.js.map +1 -0
  121. package/lib/fs/orpc/createContractClientFileSystem.js +93 -0
  122. package/lib/fs/orpc/createContractClientFileSystem.js.map +1 -0
  123. package/lib/fs/orpc/index.js +3 -0
  124. package/lib/fs/orpc/index.js.map +1 -0
  125. package/lib/fs/orpc/server/createFileSystemContractImpl.js +63 -0
  126. package/lib/fs/orpc/server/createFileSystemContractImpl.js.map +1 -0
  127. package/lib/fs/orpc/server/index.js +2 -0
  128. package/lib/fs/orpc/server/index.js.map +1 -0
  129. package/lib/fs/s3/createS3MiniFileSystem.js +705 -0
  130. package/lib/fs/s3/createS3MiniFileSystem.js.map +1 -0
  131. package/lib/fs/s3/index.js +2 -0
  132. package/lib/fs/s3/index.js.map +1 -0
  133. package/lib/fs/s3/s3mini.test.js +584 -0
  134. package/lib/fs/scandir.js +59 -0
  135. package/lib/fs/scandir.js.map +1 -0
  136. package/lib/fs/server/createDatabaseFileSystem.js +750 -0
  137. package/lib/fs/server/createDatabaseFileSystem.js.map +1 -0
  138. package/lib/fs/server/createNodeFileSystem.js +401 -0
  139. package/lib/fs/server/createNodeFileSystem.js.map +1 -0
  140. package/lib/fs/server/dbfs.test.js +221 -0
  141. package/lib/fs/server/index.js +2 -0
  142. package/lib/fs/server/index.js.map +1 -0
  143. package/lib/fs/server/loadTestDatabase.js +127 -0
  144. package/lib/fs/server/loadTestDatabase.js.map +1 -0
  145. package/lib/fs/tests/runFileSystemTest.js +318 -0
  146. package/lib/fs/tests/runFileSystemTest.js.map +1 -0
  147. package/lib/fs/types.js +27 -0
  148. package/lib/fs/types.js.map +1 -0
  149. package/lib/fs/utils/getFileUrl.js +35 -0
  150. package/lib/fs/utils/getFileUrl.js.map +1 -0
  151. package/lib/fs/utils.js +22 -0
  152. package/lib/fs/utils.js.map +1 -0
  153. package/lib/index.js +1 -0
  154. package/lib/index.js.map +1 -0
  155. package/lib/jsonschema/JsonSchema.js +146 -172
  156. package/lib/jsonschema/JsonSchema.js.map +1 -0
  157. package/lib/jsonschema/forEachJsonSchema.js +44 -0
  158. package/lib/jsonschema/forEachJsonSchema.js.map +1 -0
  159. package/lib/jsonschema/index.js +2 -0
  160. package/lib/jsonschema/index.js.map +1 -0
  161. package/lib/jsonschema/types.d.js +2 -0
  162. package/lib/jsonschema/types.d.js.map +1 -0
  163. package/lib/meta/defineFileType.js +20 -103
  164. package/lib/meta/defineFileType.js.map +1 -0
  165. package/lib/meta/defineInit.js +31 -250
  166. package/lib/meta/defineInit.js.map +1 -0
  167. package/lib/meta/defineMetadata.js +24 -140
  168. package/lib/meta/defineMetadata.js.map +1 -0
  169. package/lib/meta/index.js +1 -0
  170. package/lib/meta/index.js.map +1 -0
  171. package/lib/orpc/createOpenApiContractClient.js +27 -0
  172. package/lib/orpc/createOpenApiContractClient.js.map +1 -0
  173. package/lib/orpc/createRpcContractClient.js +34 -0
  174. package/lib/orpc/createRpcContractClient.js.map +1 -0
  175. package/lib/orpc/index.js +3 -0
  176. package/lib/orpc/index.js.map +1 -0
  177. package/lib/orpc/resolveLinkPlugins.js +28 -0
  178. package/lib/orpc/resolveLinkPlugins.js.map +1 -0
  179. package/lib/password/PHC.js +63 -87
  180. package/lib/password/PHC.js.map +1 -0
  181. package/lib/password/PHC.test.js +11 -3
  182. package/lib/password/Password.js +30 -292
  183. package/lib/password/Password.js.map +1 -0
  184. package/lib/password/Password.test.js +35 -22
  185. package/lib/password/createArgon2PasswordAlgorithm.js +35 -191
  186. package/lib/password/createArgon2PasswordAlgorithm.js.map +1 -0
  187. package/lib/password/createBase64PasswordAlgorithm.js +8 -141
  188. package/lib/password/createBase64PasswordAlgorithm.js.map +1 -0
  189. package/lib/password/createBcryptPasswordAlgorithm.js +13 -168
  190. package/lib/password/createBcryptPasswordAlgorithm.js.map +1 -0
  191. package/lib/password/createPBKDF2PasswordAlgorithm.js +46 -228
  192. package/lib/password/createPBKDF2PasswordAlgorithm.js.map +1 -0
  193. package/lib/password/createScryptPasswordAlgorithm.js +55 -211
  194. package/lib/password/createScryptPasswordAlgorithm.js.map +1 -0
  195. package/lib/password/index.js +1 -0
  196. package/lib/password/index.js.map +1 -0
  197. package/lib/password/server/index.js +1 -0
  198. package/lib/password/server/index.js.map +1 -0
  199. package/lib/resource/Identifiable.js +2 -0
  200. package/lib/resource/Identifiable.js.map +1 -0
  201. package/lib/resource/ListQuery.js +47 -0
  202. package/lib/resource/ListQuery.js.map +1 -0
  203. package/lib/resource/getTitleOfResource.js +3 -5
  204. package/lib/resource/getTitleOfResource.js.map +1 -0
  205. package/lib/resource/index.js +2 -0
  206. package/lib/resource/index.js.map +1 -0
  207. package/lib/resource/schema/AnyResourceSchema.js +3 -2
  208. package/lib/resource/schema/AnyResourceSchema.js.map +1 -0
  209. package/lib/resource/schema/BaseResourceSchema.js +2 -1
  210. package/lib/resource/schema/BaseResourceSchema.js.map +1 -0
  211. package/lib/resource/schema/ResourceActionType.js +6 -4
  212. package/lib/resource/schema/ResourceActionType.js.map +1 -0
  213. package/lib/resource/schema/ResourceStatus.js +5 -3
  214. package/lib/resource/schema/ResourceStatus.js.map +1 -0
  215. package/lib/resource/schema/ResourceType.js +5 -3
  216. package/lib/resource/schema/ResourceType.js.map +1 -0
  217. package/lib/resource/schema/index.js +6 -0
  218. package/lib/resource/schema/index.js.map +1 -0
  219. package/lib/resource/schema/types.js +16 -20
  220. package/lib/resource/schema/types.js.map +1 -0
  221. package/lib/s3/formatS3Url.js +65 -0
  222. package/lib/s3/formatS3Url.js.map +1 -0
  223. package/lib/s3/formatS3Url.test.js +262 -0
  224. package/lib/s3/index.js +3 -0
  225. package/lib/s3/index.js.map +1 -0
  226. package/lib/s3/parseS3Url.js +65 -0
  227. package/lib/s3/parseS3Url.js.map +1 -0
  228. package/lib/s3/parseS3Url.test.js +270 -0
  229. package/lib/schema/SchemaRegistry.js +45 -0
  230. package/lib/schema/SchemaRegistry.js.map +1 -0
  231. package/lib/schema/SchemaRegistry.mod.js +2 -0
  232. package/lib/schema/TypeSchema.d.js +2 -0
  233. package/lib/schema/TypeSchema.d.js.map +1 -0
  234. package/lib/schema/createSchemaData.js +26 -125
  235. package/lib/schema/createSchemaData.js.map +1 -0
  236. package/lib/schema/findJsonSchemaByPath.js +13 -36
  237. package/lib/schema/findJsonSchemaByPath.js.map +1 -0
  238. package/lib/schema/formatZodError.js +140 -0
  239. package/lib/schema/formatZodError.js.map +1 -0
  240. package/lib/schema/formatZodError.test.js +196 -0
  241. package/lib/schema/getSchemaCache.js +5 -5
  242. package/lib/schema/getSchemaCache.js.map +1 -0
  243. package/lib/schema/getSchemaOptions.js +8 -11
  244. package/lib/schema/getSchemaOptions.js.map +1 -0
  245. package/lib/schema/index.js +2 -0
  246. package/lib/schema/index.js.map +1 -0
  247. package/lib/schema/toJsonSchema.js +47 -290
  248. package/lib/schema/toJsonSchema.js.map +1 -0
  249. package/lib/schema/validate.js +33 -45
  250. package/lib/schema/validate.js.map +1 -0
  251. package/lib/tools/generateSchema.js +39 -197
  252. package/lib/tools/generateSchema.js.map +1 -0
  253. package/lib/tools/renderJsonSchemaToMarkdownDoc.js +55 -143
  254. package/lib/tools/renderJsonSchemaToMarkdownDoc.js.map +1 -0
  255. package/lib/utils/buildBaseUrl.js +13 -0
  256. package/lib/utils/buildBaseUrl.js.map +1 -0
  257. package/lib/utils/buildRedactorFormSchema.js +59 -0
  258. package/lib/utils/buildRedactorFormSchema.js.map +1 -0
  259. package/lib/utils/getEstimateProcessTime.js +21 -0
  260. package/lib/utils/getEstimateProcessTime.js.map +1 -0
  261. package/lib/utils/index.js +4 -0
  262. package/lib/utils/index.js.map +1 -0
  263. package/lib/utils/resolveFeatureOptions.js +12 -0
  264. package/lib/utils/resolveFeatureOptions.js.map +1 -0
  265. package/package.json +77 -20
  266. package/src/ai/qwen3vl/index.ts +1 -0
  267. package/src/ai/qwen3vl/utils.ts +36 -0
  268. package/src/ai/vision/DocLayoutElementTypeSchema.ts +30 -0
  269. package/src/ai/vision/ImageAnnotationSchema.ts +60 -0
  270. package/src/ai/vision/index.ts +2 -0
  271. package/src/ai/vision/resolveImageAnnotation.ts +135 -0
  272. package/src/cn/ChineseResidentIdNo.test.ts +18 -0
  273. package/src/cn/ChineseResidentIdNo.ts +74 -0
  274. package/src/cn/DivisionCode.test.ts +3 -13
  275. package/src/cn/DivisionCode.ts +138 -193
  276. package/src/cn/{Mod11Checksum.ts → Mod11.ts} +3 -1
  277. package/src/cn/{Mod31Checksum.ts → Mod31.ts} +2 -0
  278. package/src/cn/UnifiedSocialCreditCode.test.ts +2 -2
  279. package/src/cn/UnifiedSocialCreditCode.ts +119 -124
  280. package/src/cn/__snapshots__/ChineseResidentIdNo.test.ts.snap +14 -0
  281. package/src/cn/__snapshots__/UnifiedSocialCreditCode.test.ts.snap +41 -12
  282. package/src/cn/formatChineseAmount.ts +61 -0
  283. package/src/cn/index.ts +6 -2
  284. package/src/cn/parseChineseNumber.test.ts +159 -0
  285. package/src/cn/parseChineseNumber.ts +97 -0
  286. package/src/cn/pinyin/cartesianProduct.test.ts +64 -0
  287. package/src/cn/pinyin/cartesianProduct.ts +24 -0
  288. package/src/cn/pinyin/data.json +23573 -0
  289. package/src/cn/pinyin/loader.ts +12 -0
  290. package/src/cn/pinyin/preload.ts +3 -0
  291. package/src/cn/pinyin/toPinyin.test.ts +12 -0
  292. package/src/cn/pinyin/toPinyinPure.ts +43 -0
  293. package/src/cn/pinyin/transform.ts +12 -0
  294. package/src/consola/formatLogObject.test.ts +27 -0
  295. package/src/consola/formatLogObject.ts +46 -10
  296. package/src/dayjs/dayjs.ts +40 -0
  297. package/src/dayjs/formatDuration.test.ts +14 -0
  298. package/src/dayjs/formatDuration.ts +86 -0
  299. package/src/dayjs/index.ts +5 -0
  300. package/src/dayjs/parseDuration.ts +40 -0
  301. package/src/dayjs/parseRelativeTime.test.ts +185 -0
  302. package/src/dayjs/parseRelativeTime.ts +115 -0
  303. package/src/dayjs/resolveRelativeTime.test.ts +357 -0
  304. package/src/dayjs/resolveRelativeTime.ts +167 -0
  305. package/src/decimal/index.ts +1 -0
  306. package/src/decimal/parseDecimal.ts +16 -0
  307. package/src/emittery/emitter.ts +9 -0
  308. package/src/emittery/index.ts +1 -0
  309. package/src/foundation/schema/SexType.ts +21 -0
  310. package/src/foundation/schema/index.ts +1 -0
  311. package/src/foundation/schema/parseSexType.ts +19 -0
  312. package/src/foundation/schema/types.ts +8 -0
  313. package/src/fs/FileSystemError.ts +26 -0
  314. package/src/fs/IFileSystem.d.ts +102 -0
  315. package/src/fs/MemoryFileSystem.test.ts +37 -0
  316. package/src/fs/createBrowserFileSystem.ts +291 -0
  317. package/src/fs/createMemoryFileSystem.ts +604 -0
  318. package/src/fs/createSandboxFileSystem.ts +136 -0
  319. package/src/fs/createWebDavFileSystem.ts +172 -0
  320. package/src/fs/findMimeType.ts +23 -0
  321. package/src/fs/index.ts +8 -0
  322. package/src/fs/orpc/FileSystemContract.ts +92 -0
  323. package/src/fs/orpc/createContractClientFileSystem.ts +115 -0
  324. package/src/fs/orpc/index.ts +2 -0
  325. package/src/fs/orpc/server/createFileSystemContractImpl.ts +64 -0
  326. package/src/fs/orpc/server/index.ts +1 -0
  327. package/src/fs/s3/createS3MiniFileSystem.ts +830 -0
  328. package/src/fs/s3/index.ts +1 -0
  329. package/src/fs/s3/s3mini.test.ts +264 -0
  330. package/src/fs/scandir.ts +75 -0
  331. package/src/fs/server/createDatabaseFileSystem.ts +668 -0
  332. package/src/fs/server/createNodeFileSystem.ts +499 -0
  333. package/src/fs/server/dbfs.test.ts +47 -0
  334. package/src/fs/server/index.ts +1 -0
  335. package/src/fs/server/loadTestDatabase.ts +131 -0
  336. package/src/fs/tests/runFileSystemTest.ts +288 -0
  337. package/src/fs/types.ts +29 -0
  338. package/src/fs/utils/getFileUrl.ts +44 -0
  339. package/src/fs/utils.ts +23 -0
  340. package/src/jsonschema/JsonSchema.ts +118 -110
  341. package/src/jsonschema/forEachJsonSchema.ts +50 -0
  342. package/src/jsonschema/index.ts +1 -0
  343. package/src/orpc/createOpenApiContractClient.ts +52 -0
  344. package/src/orpc/createRpcContractClient.ts +50 -0
  345. package/src/orpc/index.ts +2 -0
  346. package/src/orpc/resolveLinkPlugins.ts +29 -0
  347. package/src/password/PHC.ts +3 -3
  348. package/src/password/Password.test.ts +1 -1
  349. package/src/password/Password.ts +2 -2
  350. package/src/password/createPBKDF2PasswordAlgorithm.ts +2 -2
  351. package/src/resource/ListQuery.ts +53 -0
  352. package/src/resource/index.ts +1 -0
  353. package/src/resource/schema/AnyResourceSchema.ts +17 -3
  354. package/src/resource/schema/index.ts +5 -0
  355. package/src/s3/formatS3Url.test.ts +254 -0
  356. package/src/s3/formatS3Url.ts +84 -0
  357. package/src/s3/index.ts +2 -0
  358. package/src/s3/parseS3Url.test.ts +258 -0
  359. package/src/s3/parseS3Url.ts +88 -0
  360. package/src/schema/SchemaRegistry.ts +48 -0
  361. package/src/schema/createSchemaData.ts +1 -1
  362. package/src/schema/formatZodError.test.ts +196 -0
  363. package/src/schema/formatZodError.ts +151 -0
  364. package/src/schema/getSchemaOptions.ts +3 -3
  365. package/src/schema/index.ts +1 -0
  366. package/src/utils/buildBaseUrl.ts +12 -0
  367. package/src/utils/buildRedactorFormSchema.ts +85 -0
  368. package/src/utils/getEstimateProcessTime.ts +36 -0
  369. package/src/utils/index.ts +5 -0
  370. package/src/utils/resolveFeatureOptions.ts +14 -0
  371. package/lib/cn/Mod11Checksum.js +0 -85
  372. package/lib/cn/Mod31Checksum.js +0 -97
  373. package/lib/cn/ResidentIdentityCardNumber.js +0 -50
  374. package/lib/cn/formatDate.js +0 -13
  375. package/lib/cn/parseSex.js +0 -20
  376. package/lib/resource/schema/SchemaRegistry.js +0 -38
  377. package/lib/resource/schema/SexType.js +0 -10
  378. package/lib/search/AdvanceSearch.js +0 -9
  379. package/lib/search/AdvanceSearch.test.js +0 -435
  380. package/lib/search/formatAdvanceSearch.js +0 -78
  381. package/lib/search/index.js +0 -1
  382. package/lib/search/optimizeAdvanceSearch.js +0 -143
  383. package/lib/search/parseAdvanceSearch.js +0 -20
  384. package/lib/search/parser.d.js +0 -1
  385. package/lib/search/parser.js +0 -3088
  386. package/lib/search/types.d.js +0 -1
  387. package/src/cn/ResidentIdentityCardNumber.test.ts +0 -17
  388. package/src/cn/ResidentIdentityCardNumber.ts +0 -96
  389. package/src/cn/__snapshots__/ResidentIdentityCardNumber.test.ts.snap +0 -15
  390. package/src/cn/formatDate.ts +0 -12
  391. package/src/cn/parseSex.ts +0 -13
  392. package/src/resource/schema/SchemaRegistry.ts +0 -42
  393. package/src/resource/schema/SexType.ts +0 -13
  394. package/src/search/AdvanceSearch.test.ts +0 -149
  395. package/src/search/AdvanceSearch.ts +0 -14
  396. package/src/search/Makefile +0 -2
  397. package/src/search/__snapshots__/AdvanceSearch.test.ts.snap +0 -675
  398. package/src/search/formatAdvanceSearch.ts +0 -52
  399. package/src/search/index.ts +0 -1
  400. package/src/search/optimizeAdvanceSearch.ts +0 -77
  401. package/src/search/parseAdvanceSearch.ts +0 -23
  402. package/src/search/parser.d.ts +0 -8
  403. package/src/search/parser.js +0 -2794
  404. package/src/search/parser.peggy +0 -237
  405. package/src/search/types.d.ts +0 -45
@@ -1,675 +0,0 @@
1
- // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
-
3
- exports[`AdvanceSearch > should parse 1`] = `"-a"`;
4
-
5
- exports[`AdvanceSearch > should parse 2`] = `"-a"`;
6
-
7
- exports[`AdvanceSearch > should parse 3`] = `
8
- [
9
- {
10
- "negative": true,
11
- "type": "keyword",
12
- "value": "a",
13
- },
14
- ]
15
- `;
16
-
17
- exports[`AdvanceSearch > should parse 4`] = `"a"`;
18
-
19
- exports[`AdvanceSearch > should parse 5`] = `"a"`;
20
-
21
- exports[`AdvanceSearch > should parse 6`] = `
22
- [
23
- {
24
- "type": "keyword",
25
- "value": "a",
26
- },
27
- ]
28
- `;
29
-
30
- exports[`AdvanceSearch > should parse 7`] = `"a b"`;
31
-
32
- exports[`AdvanceSearch > should parse 8`] = `"a b"`;
33
-
34
- exports[`AdvanceSearch > should parse 9`] = `
35
- [
36
- {
37
- "type": "keyword",
38
- "value": "a",
39
- },
40
- {
41
- "type": "keyword",
42
- "value": "b",
43
- },
44
- ]
45
- `;
46
-
47
- exports[`AdvanceSearch > should parse 10`] = `"a -b"`;
48
-
49
- exports[`AdvanceSearch > should parse 11`] = `"a -b"`;
50
-
51
- exports[`AdvanceSearch > should parse 12`] = `
52
- [
53
- {
54
- "negative": false,
55
- "type": "keyword",
56
- "value": "a",
57
- },
58
- {
59
- "negative": true,
60
- "type": "keyword",
61
- "value": "b",
62
- },
63
- ]
64
- `;
65
-
66
- exports[`AdvanceSearch > should parse 13`] = `"a-b"`;
67
-
68
- exports[`AdvanceSearch > should parse 14`] = `"a-b"`;
69
-
70
- exports[`AdvanceSearch > should parse 15`] = `
71
- [
72
- {
73
- "negative": false,
74
- "type": "keyword",
75
- "value": "a-b",
76
- },
77
- ]
78
- `;
79
-
80
- exports[`AdvanceSearch > should parse 16`] = `"a"b"`;
81
-
82
- exports[`AdvanceSearch > should parse 17`] = `"a"b"`;
83
-
84
- exports[`AdvanceSearch > should parse 18`] = `
85
- [
86
- {
87
- "negative": false,
88
- "type": "keyword",
89
- "value": "a"b",
90
- },
91
- ]
92
- `;
93
-
94
- exports[`AdvanceSearch > should parse 19`] = `"a&b"`;
95
-
96
- exports[`AdvanceSearch > should parse 20`] = `"a&b"`;
97
-
98
- exports[`AdvanceSearch > should parse 21`] = `
99
- [
100
- {
101
- "type": "keyword",
102
- "value": "a&b",
103
- },
104
- ]
105
- `;
106
-
107
- exports[`AdvanceSearch > should parse 22`] = `"NOT a"`;
108
-
109
- exports[`AdvanceSearch > should parse 23`] = `"-a"`;
110
-
111
- exports[`AdvanceSearch > should parse 24`] = `
112
- [
113
- {
114
- "type": "not",
115
- "value": {
116
- "negative": false,
117
- "type": "keyword",
118
- "value": "a",
119
- },
120
- },
121
- ]
122
- `;
123
-
124
- exports[`AdvanceSearch > should parse 25`] = `"NOT -a"`;
125
-
126
- exports[`AdvanceSearch > should parse 26`] = `"a"`;
127
-
128
- exports[`AdvanceSearch > should parse 27`] = `
129
- [
130
- {
131
- "type": "not",
132
- "value": {
133
- "negative": true,
134
- "type": "keyword",
135
- "value": "a",
136
- },
137
- },
138
- ]
139
- `;
140
-
141
- exports[`AdvanceSearch > should parse 28`] = `"HELLO -WORLD"`;
142
-
143
- exports[`AdvanceSearch > should parse 29`] = `"HELLO -WORLD"`;
144
-
145
- exports[`AdvanceSearch > should parse 30`] = `
146
- [
147
- {
148
- "negative": false,
149
- "type": "keyword",
150
- "value": "HELLO",
151
- },
152
- {
153
- "negative": true,
154
- "type": "keyword",
155
- "value": "WORLD",
156
- },
157
- ]
158
- `;
159
-
160
- exports[`AdvanceSearch > should parse 31`] = `"(a)"`;
161
-
162
- exports[`AdvanceSearch > should parse 32`] = `"a"`;
163
-
164
- exports[`AdvanceSearch > should parse 33`] = `
165
- [
166
- {
167
- "type": "parentheses",
168
- "value": [
169
- {
170
- "negative": false,
171
- "type": "keyword",
172
- "value": "a",
173
- },
174
- ],
175
- },
176
- ]
177
- `;
178
-
179
- exports[`AdvanceSearch > should parse 34`] = `"(a OR B)"`;
180
-
181
- exports[`AdvanceSearch > should parse 35`] = `"a OR B"`;
182
-
183
- exports[`AdvanceSearch > should parse 36`] = `
184
- [
185
- {
186
- "type": "parentheses",
187
- "value": [
188
- {
189
- "operator": "or",
190
- "type": "logical",
191
- "value": [
192
- {
193
- "negative": false,
194
- "type": "keyword",
195
- "value": "a",
196
- },
197
- {
198
- "negative": false,
199
- "type": "keyword",
200
- "value": "B",
201
- },
202
- ],
203
- },
204
- ],
205
- },
206
- ]
207
- `;
208
-
209
- exports[`AdvanceSearch > should parse 37`] = `"A OR B"`;
210
-
211
- exports[`AdvanceSearch > should parse 38`] = `"A OR B"`;
212
-
213
- exports[`AdvanceSearch > should parse 39`] = `
214
- [
215
- {
216
- "operator": "or",
217
- "type": "logical",
218
- "value": [
219
- {
220
- "negative": false,
221
- "type": "keyword",
222
- "value": "A",
223
- },
224
- {
225
- "negative": false,
226
- "type": "keyword",
227
- "value": "B",
228
- },
229
- ],
230
- },
231
- ]
232
- `;
233
-
234
- exports[`AdvanceSearch > should parse 40`] = `"a:[1,2]"`;
235
-
236
- exports[`AdvanceSearch > should parse 41`] = `"a:[1,2]"`;
237
-
238
- exports[`AdvanceSearch > should parse 42`] = `
239
- [
240
- {
241
- "field": "a",
242
- "operator": "range",
243
- "type": "compare",
244
- "value": {
245
- "maximum": {
246
- "type": "literal",
247
- "value": 2,
248
- },
249
- "maximumExclusive": false,
250
- "minimum": {
251
- "type": "literal",
252
- "value": 1,
253
- },
254
- "minimumExclusive": false,
255
- "type": "range",
256
- },
257
- },
258
- ]
259
- `;
260
-
261
- exports[`AdvanceSearch > should parse 43`] = `"a:*..1"`;
262
-
263
- exports[`AdvanceSearch > should parse 44`] = `"a:*..1"`;
264
-
265
- exports[`AdvanceSearch > should parse 45`] = `
266
- [
267
- {
268
- "field": "a",
269
- "operator": "range",
270
- "type": "compare",
271
- "value": {
272
- "maximum": {
273
- "type": "literal",
274
- "value": 1,
275
- },
276
- "minimum": undefined,
277
- "type": "range",
278
- },
279
- },
280
- ]
281
- `;
282
-
283
- exports[`AdvanceSearch > should parse 46`] = `"a:ok a:=1 a:>1 a:<1 a:>=1 a:<=1 a:!=1 a:1..2 a:*..1 a:1..* a:[1,2] a:(1,2) a:[1,2) a:(1,2]"`;
284
-
285
- exports[`AdvanceSearch > should parse 47`] = `"a:ok a:=1 a:>1 a:<1 a:>=1 a:<=1 a:!=1 a:1..2 a:*..1 a:1..* a:[1,2] a:(1,2) a:[1,2) a:(1,2]"`;
286
-
287
- exports[`AdvanceSearch > should parse 48`] = `
288
- [
289
- {
290
- "field": "a",
291
- "operator": "match",
292
- "type": "compare",
293
- "value": {
294
- "type": "literal",
295
- "value": "ok",
296
- },
297
- },
298
- {
299
- "field": "a",
300
- "operator": "eq",
301
- "type": "compare",
302
- "value": {
303
- "type": "literal",
304
- "value": 1,
305
- },
306
- },
307
- {
308
- "field": "a",
309
- "operator": "gt",
310
- "type": "compare",
311
- "value": {
312
- "type": "literal",
313
- "value": 1,
314
- },
315
- },
316
- {
317
- "field": "a",
318
- "operator": "lt",
319
- "type": "compare",
320
- "value": {
321
- "type": "literal",
322
- "value": 1,
323
- },
324
- },
325
- {
326
- "negative": false,
327
- "type": "keyword",
328
- "value": "a:>=1",
329
- },
330
- {
331
- "negative": false,
332
- "type": "keyword",
333
- "value": "a:<=1",
334
- },
335
- {
336
- "field": "a",
337
- "operator": "ne",
338
- "type": "compare",
339
- "value": {
340
- "type": "literal",
341
- "value": 1,
342
- },
343
- },
344
- {
345
- "field": "a",
346
- "operator": "range",
347
- "type": "compare",
348
- "value": {
349
- "maximum": {
350
- "type": "literal",
351
- "value": 2,
352
- },
353
- "minimum": {
354
- "type": "literal",
355
- "value": 1,
356
- },
357
- "type": "range",
358
- },
359
- },
360
- {
361
- "field": "a",
362
- "operator": "range",
363
- "type": "compare",
364
- "value": {
365
- "maximum": {
366
- "type": "literal",
367
- "value": 1,
368
- },
369
- "minimum": undefined,
370
- "type": "range",
371
- },
372
- },
373
- {
374
- "field": "a",
375
- "operator": "range",
376
- "type": "compare",
377
- "value": {
378
- "maximum": undefined,
379
- "minimum": {
380
- "type": "literal",
381
- "value": 1,
382
- },
383
- "type": "range",
384
- },
385
- },
386
- {
387
- "field": "a",
388
- "operator": "range",
389
- "type": "compare",
390
- "value": {
391
- "maximum": {
392
- "type": "literal",
393
- "value": 2,
394
- },
395
- "maximumExclusive": false,
396
- "minimum": {
397
- "type": "literal",
398
- "value": 1,
399
- },
400
- "minimumExclusive": false,
401
- "type": "range",
402
- },
403
- },
404
- {
405
- "field": "a",
406
- "operator": "range",
407
- "type": "compare",
408
- "value": {
409
- "maximum": {
410
- "type": "literal",
411
- "value": 2,
412
- },
413
- "maximumExclusive": true,
414
- "minimum": {
415
- "type": "literal",
416
- "value": 1,
417
- },
418
- "minimumExclusive": true,
419
- "type": "range",
420
- },
421
- },
422
- {
423
- "field": "a",
424
- "operator": "range",
425
- "type": "compare",
426
- "value": {
427
- "maximum": {
428
- "type": "literal",
429
- "value": 2,
430
- },
431
- "maximumExclusive": true,
432
- "minimum": {
433
- "type": "literal",
434
- "value": 1,
435
- },
436
- "minimumExclusive": false,
437
- "type": "range",
438
- },
439
- },
440
- {
441
- "field": "a",
442
- "operator": "range",
443
- "type": "compare",
444
- "value": {
445
- "maximum": {
446
- "type": "literal",
447
- "value": 2,
448
- },
449
- "maximumExclusive": false,
450
- "minimum": {
451
- "type": "literal",
452
- "value": 1,
453
- },
454
- "minimumExclusive": true,
455
- "type": "range",
456
- },
457
- },
458
- ]
459
- `;
460
-
461
- exports[`AdvanceSearch > should parse 49`] = `"NOT (A B) AND (a:ok AND size:>1)"`;
462
-
463
- exports[`AdvanceSearch > should parse 50`] = `"NOT (A B) AND (a:ok AND size:>1)"`;
464
-
465
- exports[`AdvanceSearch > should parse 51`] = `
466
- [
467
- {
468
- "operator": "and",
469
- "type": "logical",
470
- "value": [
471
- {
472
- "type": "not",
473
- "value": {
474
- "type": "parentheses",
475
- "value": [
476
- {
477
- "negative": false,
478
- "type": "keyword",
479
- "value": "A",
480
- },
481
- {
482
- "negative": false,
483
- "type": "keyword",
484
- "value": "B",
485
- },
486
- ],
487
- },
488
- },
489
- {
490
- "type": "parentheses",
491
- "value": [
492
- {
493
- "operator": "and",
494
- "type": "logical",
495
- "value": [
496
- {
497
- "field": "a",
498
- "operator": "match",
499
- "type": "compare",
500
- "value": {
501
- "type": "literal",
502
- "value": "ok",
503
- },
504
- },
505
- {
506
- "field": "size",
507
- "operator": "gt",
508
- "type": "compare",
509
- "value": {
510
- "type": "literal",
511
- "value": 1,
512
- },
513
- },
514
- ],
515
- },
516
- ],
517
- },
518
- ],
519
- },
520
- ]
521
- `;
522
-
523
- exports[`AdvanceSearch > should parse 52`] = `"NOT -a"`;
524
-
525
- exports[`AdvanceSearch > should parse 53`] = `"a"`;
526
-
527
- exports[`AdvanceSearch > should parse 54`] = `
528
- [
529
- {
530
- "type": "not",
531
- "value": {
532
- "negative": true,
533
- "type": "keyword",
534
- "value": "a",
535
- },
536
- },
537
- ]
538
- `;
539
-
540
- exports[`AdvanceSearch > should parse 55`] = `"NOT (NOT -a)"`;
541
-
542
- exports[`AdvanceSearch > should parse 56`] = `"-a"`;
543
-
544
- exports[`AdvanceSearch > should parse 57`] = `
545
- [
546
- {
547
- "type": "not",
548
- "value": {
549
- "type": "parentheses",
550
- "value": [
551
- {
552
- "type": "not",
553
- "value": {
554
- "negative": true,
555
- "type": "keyword",
556
- "value": "a",
557
- },
558
- },
559
- ],
560
- },
561
- },
562
- ]
563
- `;
564
-
565
- exports[`AdvanceSearch > should parse 58`] = `"owner:=@me owner:=@me owner:!=@me"`;
566
-
567
- exports[`AdvanceSearch > should parse 59`] = `"owner:=@me owner:=@me owner:!=@me"`;
568
-
569
- exports[`AdvanceSearch > should parse 60`] = `
570
- [
571
- {
572
- "field": "owner",
573
- "operator": "eq",
574
- "type": "compare",
575
- "value": {
576
- "format": "mention",
577
- "value": "me",
578
- },
579
- },
580
- {
581
- "field": "owner",
582
- "operator": "eq",
583
- "type": "compare",
584
- "value": {
585
- "format": "mention",
586
- "value": "me",
587
- },
588
- },
589
- {
590
- "field": "owner",
591
- "operator": "ne",
592
- "type": "compare",
593
- "value": {
594
- "format": "mention",
595
- "value": "me",
596
- },
597
- },
598
- ]
599
- `;
600
-
601
- exports[`AdvanceSearch > should parse 61`] = `"@AI:"Where is my car""`;
602
-
603
- exports[`AdvanceSearch > should parse 62`] = `"@AI:"Where is my car""`;
604
-
605
- exports[`AdvanceSearch > should parse 63`] = `
606
- [
607
- {
608
- "field": "AI",
609
- "mention": true,
610
- "operator": "match",
611
- "type": "compare",
612
- "value": {
613
- "value": "Where is my car",
614
- },
615
- },
616
- ]
617
- `;
618
-
619
- exports[`AdvanceSearch > should parse 64`] = `"/* */ a"`;
620
-
621
- exports[`AdvanceSearch > should parse 65`] = `"a"`;
622
-
623
- exports[`AdvanceSearch > should parse 66`] = `
624
- [
625
- {
626
- "type": "comment",
627
- "value": "",
628
- },
629
- {
630
- "negative": false,
631
- "type": "keyword",
632
- "value": "a",
633
- },
634
- ]
635
- `;
636
-
637
- exports[`AdvanceSearch > should parse 67`] = `"/* Hint */ a"`;
638
-
639
- exports[`AdvanceSearch > should parse 68`] = `"/* Hint */ a"`;
640
-
641
- exports[`AdvanceSearch > should parse 69`] = `
642
- [
643
- {
644
- "type": "comment",
645
- "value": "Hint",
646
- },
647
- {
648
- "negative": false,
649
- "type": "keyword",
650
- "value": "a",
651
- },
652
- ]
653
- `;
654
-
655
- exports[`AdvanceSearch > should parse 70`] = `"/* a */ a /* b */"`;
656
-
657
- exports[`AdvanceSearch > should parse 71`] = `"/* a */ a /* b */"`;
658
-
659
- exports[`AdvanceSearch > should parse 72`] = `
660
- [
661
- {
662
- "type": "comment",
663
- "value": "a",
664
- },
665
- {
666
- "negative": false,
667
- "type": "keyword",
668
- "value": "a",
669
- },
670
- {
671
- "type": "comment",
672
- "value": "b",
673
- },
674
- ]
675
- `;
@@ -1,52 +0,0 @@
1
- import { match } from 'ts-pattern';
2
- import { AdvanceSearch } from './AdvanceSearch';
3
-
4
- export function formatAdvanceSearch(input: AdvanceSearch.Expr[]) {
5
- const OP = { match: ':', eq: ':=', ne: ':!=', gt: ':>', lt: ':<', gte: ':>=', lte: ':<=', range: ':' } as const;
6
-
7
- const _exprs = (s: AdvanceSearch.Expr[]): string => {
8
- return s.map(_expr).join(' ');
9
- };
10
- const _expr = (s: AdvanceSearch.Expr): string => {
11
- return match(s)
12
- .with({ type: 'keyword' }, ({ value, exact, negative }) => {
13
- return `${negative ? '-' : ''}${exact ? `"${value}"` : value}`;
14
- })
15
- .with({ type: 'logical' }, ({ operator, value }) => value.map(_expr).join(` ${operator.toLocaleUpperCase()} `))
16
- .with({ type: 'not' }, ({ value }) => `NOT ${_expr(value)}`)
17
- .with({ type: 'compare' }, ({ field, operator, value, negative, mention }) => {
18
- return `${negative ? '-' : ''}${mention ? '@' : ''}${field}${OP[operator]}${_value(value)}`;
19
- })
20
- .with({ type: 'comment' }, ({ value }) => `/* ${value} */`)
21
- .with({ type: 'parentheses' }, ({ value }) => `(${_exprs(value)})`)
22
- .exhaustive();
23
- };
24
-
25
- const _literal = (s: string | null | number) => {
26
- if (typeof s === 'string') {
27
- return s.includes(' ') ? `"${s}"` : s;
28
- }
29
- return JSON.stringify(s);
30
- };
31
- const _value = (v: AdvanceSearch.Value): string => {
32
- return match(v)
33
- .with({ type: 'range' }, ({ minimum, maximum, minimumExclusive, maximumExclusive }) => {
34
- if (minimumExclusive === undefined && maximumExclusive === undefined) {
35
- let min = minimum === undefined ? '*' : _value(minimum);
36
- let max = maximum === undefined ? '*' : _value(maximum);
37
- return `${min}..${max}`;
38
- }
39
- let min = minimum === undefined ? '' : _value(minimum);
40
- let max = maximum === undefined ? '' : _value(maximum);
41
- return `${minimumExclusive ? '(' : '['}${min},${max}${maximumExclusive ? ')' : ']'}`;
42
- })
43
- .with({ format: 'mention' }, ({ value }) => {
44
- return `@${value}`;
45
- })
46
- .otherwise((value) => {
47
- return _literal(value.value);
48
- });
49
- };
50
-
51
- return _exprs(input);
52
- }
@@ -1 +0,0 @@
1
- export { AdvanceSearch } from './AdvanceSearch';