@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
@@ -0,0 +1,151 @@
1
+ import { ZodError } from 'zod/v4';
2
+ import { findJsonSchemaByPath } from './findJsonSchemaByPath';
3
+ import type { TypeSchema } from './TypeSchema';
4
+
5
+ export function formatZodError(error: ZodError, schema?: TypeSchema): string {
6
+ if (!error.issues || error.issues.length === 0) {
7
+ return error.message || '验证失败';
8
+ }
9
+
10
+ const messages: string[] = [];
11
+
12
+ // Iterate through issues and format each one
13
+ // We use manual iteration instead of error.format() to have better control
14
+ // over field name formatting with schema descriptions
15
+ for (const issue of error.issues) {
16
+ const formatted = formatIssueMessage(issue, schema);
17
+ if (formatted) {
18
+ const path = issue.path.map((p) => (typeof p === 'symbol' ? String(p) : p)) as (string | number)[];
19
+ let fieldName = formatPath(path);
20
+
21
+ // Try to get field description from schema
22
+ if (schema && path.length > 0) {
23
+ const fieldPath = path.map(String).join('.');
24
+ const fieldSchema = findJsonSchemaByPath(schema, fieldPath);
25
+ if (fieldSchema?.description) {
26
+ fieldName = fieldSchema.description;
27
+ }
28
+ }
29
+
30
+ messages.push(`${fieldName}: ${formatted}`);
31
+ }
32
+ }
33
+
34
+ return messages.join(';');
35
+ }
36
+
37
+ function formatIssueMessage(issue: ZodError['issues'][number], schema?: TypeSchema): string {
38
+ let message = issue.message;
39
+
40
+ // 处理常见的错误类型,生成更友好的消息
41
+ // Use string comparison to avoid TypeScript narrowing issues with Zod v4
42
+ const code = issue.code as string;
43
+ switch (code) {
44
+ case 'invalid_type': {
45
+ const invalidTypeIssue = issue as typeof issue & {
46
+ expected: string;
47
+ received: string;
48
+ };
49
+ if (invalidTypeIssue.received === 'undefined') {
50
+ message = '必填';
51
+ } else if (invalidTypeIssue.received === 'null') {
52
+ message = '不能为空';
53
+ } else {
54
+ message = issue.message || `期望类型 ${invalidTypeIssue.expected},但收到 ${invalidTypeIssue.received}`;
55
+ }
56
+ break;
57
+ }
58
+ case 'invalid_string': {
59
+ const invalidStringIssue = issue as typeof issue & {
60
+ validation?: string;
61
+ };
62
+ if (invalidStringIssue.validation === 'email') {
63
+ message = '请输入有效的邮箱地址';
64
+ } else if (invalidStringIssue.validation === 'url') {
65
+ message = '请输入有效的 URL';
66
+ } else if (invalidStringIssue.validation === 'uuid') {
67
+ message = '请输入有效的 UUID';
68
+ } else if (invalidStringIssue.validation === 'date') {
69
+ message = '请输入有效的日期';
70
+ }
71
+ break;
72
+ }
73
+ case 'too_small': {
74
+ const tooSmallIssue = issue as typeof issue & {
75
+ type: string;
76
+ minimum: number;
77
+ };
78
+ if (tooSmallIssue.type === 'string' && tooSmallIssue.minimum === 1) {
79
+ message = '不能为空';
80
+ } else if (tooSmallIssue.type === 'number') {
81
+ message = `至少需要 ${tooSmallIssue.minimum}`;
82
+ } else if (tooSmallIssue.type === 'array') {
83
+ message = `至少需要 ${tooSmallIssue.minimum} 项`;
84
+ }
85
+ break;
86
+ }
87
+ case 'too_big': {
88
+ const tooBigIssue = issue as typeof issue & {
89
+ type: string;
90
+ maximum: number;
91
+ };
92
+ if (tooBigIssue.type === 'string') {
93
+ message = `最多 ${tooBigIssue.maximum} 个字符`;
94
+ } else if (tooBigIssue.type === 'number') {
95
+ message = `最多 ${tooBigIssue.maximum}`;
96
+ } else if (tooBigIssue.type === 'array') {
97
+ message = `最多 ${tooBigIssue.maximum} 项`;
98
+ }
99
+ break;
100
+ }
101
+ case 'invalid_enum_value': {
102
+ const enumIssue = issue as typeof issue & {
103
+ options: readonly unknown[];
104
+ };
105
+ message = `必须是以下值之一: ${enumIssue.options?.map(String).join(', ') || '未知选项'}`;
106
+ break;
107
+ }
108
+ case 'unrecognized_keys': {
109
+ const unrecognizedIssue = issue as typeof issue & {
110
+ keys: readonly string[];
111
+ };
112
+ message = `不支持的字段: ${unrecognizedIssue.keys?.join(', ') || '未知字段'}`;
113
+ break;
114
+ }
115
+ case 'invalid_union': {
116
+ message = '不符合任何允许的类型';
117
+ break;
118
+ }
119
+ case 'invalid_union_discriminator': {
120
+ const discriminatorIssue = issue as typeof issue & {
121
+ options: readonly unknown[];
122
+ };
123
+ message = `必须是以下值之一: ${discriminatorIssue.options?.map(String).join(', ') || '未知选项'}`;
124
+ break;
125
+ }
126
+ case 'invalid_literal': {
127
+ const literalIssue = issue as typeof issue & {
128
+ expected: unknown;
129
+ };
130
+ message = `必须是 ${String(literalIssue.expected)}`;
131
+ break;
132
+ }
133
+ case 'custom': {
134
+ // 保留自定义错误消息
135
+ message = issue.message;
136
+ break;
137
+ }
138
+ default:
139
+ // 保留原始消息
140
+ message = issue.message;
141
+ }
142
+
143
+ return message;
144
+ }
145
+
146
+ function formatPath(path: (string | number)[]): string {
147
+ if (path.length === 0) {
148
+ return '表单';
149
+ }
150
+ return path.map(String).join('.');
151
+ }
@@ -1,13 +1,13 @@
1
1
  import { deepFreeze } from '@wener/utils';
2
2
  import { getSchemaCache } from './getSchemaCache';
3
- import { toJsonSchema } from './toJsonSchema';
3
+ import { SchemaRegistry } from './SchemaRegistry';
4
4
  import type { TypeSchema } from './TypeSchema';
5
5
 
6
6
  export function getSchemaOptions(s: TypeSchema): Array<{ value: string; label: string }> {
7
- let js = toJsonSchema(s);
7
+ let js = SchemaRegistry.get(s);
8
8
  return getSchemaCache(s, 'options', () => {
9
9
  let out =
10
- (js.anyOf || js.oneOf)?.map((v) => {
10
+ (js.anyOf || js.oneOf)?.map((v: any) => {
11
11
  let value = v.const;
12
12
  return {
13
13
  label: String(v.description || v.title || value),
@@ -4,3 +4,4 @@ export { getSchemaOptions, getSchemaOptionLabel } from './getSchemaOptions';
4
4
  export { toJsonSchema } from './toJsonSchema';
5
5
  export { findJsonSchemaByPath } from './findJsonSchemaByPath';
6
6
  export { createSchemaData } from './createSchemaData';
7
+ export { SchemaRegistry } from './SchemaRegistry';
@@ -0,0 +1,12 @@
1
+ function joinUrl(baseUrl: string, maybeUrl: string): string {
2
+ const sanitizedBase = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
3
+ const sanitizedEndpoint = maybeUrl.startsWith('/') ? maybeUrl.slice(1) : maybeUrl;
4
+ return `${sanitizedBase}/${sanitizedEndpoint}`;
5
+ }
6
+
7
+ export function buildBaseUrl(url: string, baseUrl: string | undefined | null): string {
8
+ if (!baseUrl || /^https?:/.test(url)) {
9
+ return url;
10
+ }
11
+ return joinUrl(baseUrl, url);
12
+ }
@@ -0,0 +1,85 @@
1
+ import { forEachJsonSchema, type JsonSchemaDef } from '../jsonschema';
2
+ import { toJsonSchema, type TypeSchema } from '../schema';
3
+
4
+ export const RedactedText = '[redacted]';
5
+
6
+ export function buildRedactorFormSchema(
7
+ ts: TypeSchema,
8
+ {
9
+ shouldRedact = (schema) => schema['x-sensitive'] === true,
10
+ replacer = () => RedactedText,
11
+ }: {
12
+ shouldRedact?: (schema: JsonSchemaDef) => boolean;
13
+ replacer?: (key: string, value: any) => any;
14
+ },
15
+ ) {
16
+ let js = toJsonSchema(ts);
17
+
18
+ let paths: string[][] = [];
19
+
20
+ forEachJsonSchema(js, (js, { path }) => {
21
+ if (shouldRedact(js)) {
22
+ paths.push(path);
23
+ }
24
+ });
25
+ const vis = (root: any, path: string[]) => {
26
+ switch (root) {
27
+ case null:
28
+ case undefined:
29
+ return;
30
+ }
31
+
32
+ let c = root;
33
+ for (let i = 0; i < path.length; i++) {
34
+ let k = path[i];
35
+ if (c && typeof c === 'object' && k in c) {
36
+ let v = c[k];
37
+ if (path.length === 1) {
38
+ c[k] = replacer(k, v);
39
+ } else if (Array.isArray(v)) {
40
+ for (let vv of v) {
41
+ vis(vv, path.slice(i + 1));
42
+ }
43
+ } else {
44
+ vis(v, path.slice(i + 1));
45
+ }
46
+ }
47
+ }
48
+ };
49
+
50
+ return (root: any) => {
51
+ if (!paths.length) {
52
+ return root;
53
+ }
54
+
55
+ paths.forEach((path) => {
56
+ vis(root, path);
57
+ });
58
+
59
+ return root;
60
+ };
61
+ }
62
+
63
+ function buildReversibleRedactText({
64
+ id,
65
+ type,
66
+ key,
67
+ timestamp,
68
+ }: {
69
+ id?: string | number;
70
+ type?: string;
71
+ key?: string;
72
+ timestamp?: number | boolean;
73
+ } = {}) {
74
+ if (!id) {
75
+ return RedactedText;
76
+ }
77
+ if (timestamp === true) {
78
+ timestamp = Date.now();
79
+ }
80
+ return `[redacted ${id}]`;
81
+ }
82
+
83
+ export function isRedactedText(v: any) {
84
+ return v === RedactedText || (typeof v === 'string' && v.startsWith('[redacted ') && v.endsWith(']'));
85
+ }
@@ -0,0 +1,36 @@
1
+ type EstimateProcessTimeResult = {
2
+ eta: number; // estimated time of arrival in seconds
3
+ elapsed: number; // in seconds
4
+ endTime: Date; // estimated end time
5
+ rate: number; // rate of processing in items per second
6
+ };
7
+
8
+ export function getEstimateProcessTime({
9
+ total,
10
+ processed,
11
+ startTime,
12
+ elapsed = startTime ? (Date.now() - startTime.getTime()) / 1000 : undefined,
13
+ }: {
14
+ total?: number;
15
+ processed?: number;
16
+ startTime?: Date;
17
+ elapsed?: number; // in seconds
18
+ }): EstimateProcessTimeResult | undefined {
19
+ if (typeof total !== 'number' || typeof processed !== 'number' || !elapsed || processed === 0 || processed >= total) {
20
+ return undefined;
21
+ }
22
+ const now = new Date();
23
+ const rate = processed / elapsed;
24
+ if (rate === 0) {
25
+ return undefined;
26
+ }
27
+ const remaining = total - processed;
28
+ const eta = Math.round(remaining / rate);
29
+ const endTime = new Date(now.getTime() + eta * 1000);
30
+ return {
31
+ eta,
32
+ elapsed,
33
+ endTime,
34
+ rate,
35
+ };
36
+ }
@@ -0,0 +1,5 @@
1
+ export { getEstimateProcessTime } from './getEstimateProcessTime';
2
+
3
+ export { buildRedactorFormSchema } from './buildRedactorFormSchema';
4
+
5
+ export { buildBaseUrl } from './buildBaseUrl';
@@ -0,0 +1,14 @@
1
+ import { maybeFunction, type MaybeFunction } from '@wener/utils';
2
+
3
+ export function resolveFeatureOptions<T>(
4
+ value: boolean | T | undefined | null,
5
+ defaultValue: MaybeFunction<T>,
6
+ ): T | undefined {
7
+ if (value === false) {
8
+ return undefined;
9
+ }
10
+ if (value === true || value === undefined || value === null) {
11
+ return maybeFunction(defaultValue);
12
+ }
13
+ return value;
14
+ }
@@ -1,85 +0,0 @@
1
- /**
2
- * ISO 7064:1983, MOD 11-2.
3
- */ function _class_call_check(instance, Constructor) {
4
- if (!(instance instanceof Constructor)) {
5
- throw new TypeError("Cannot call a class as a function");
6
- }
7
- }
8
- function _defineProperties(target, props) {
9
- for(var i = 0; i < props.length; i++){
10
- var descriptor = props[i];
11
- descriptor.enumerable = descriptor.enumerable || false;
12
- descriptor.configurable = true;
13
- if ("value" in descriptor) descriptor.writable = true;
14
- Object.defineProperty(target, descriptor.key, descriptor);
15
- }
16
- }
17
- function _create_class(Constructor, protoProps, staticProps) {
18
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
19
- if (staticProps) _defineProperties(Constructor, staticProps);
20
- return Constructor;
21
- }
22
- function _define_property(obj, key, value) {
23
- if (key in obj) {
24
- Object.defineProperty(obj, key, {
25
- value: value,
26
- enumerable: true,
27
- configurable: true,
28
- writable: true
29
- });
30
- } else {
31
- obj[key] = value;
32
- }
33
- return obj;
34
- }
35
- export var Mod11Checksum = /*#__PURE__*/ function() {
36
- "use strict";
37
- function Mod11Checksum() {
38
- _class_call_check(this, Mod11Checksum);
39
- _define_property(this, "weights", [
40
- 7,
41
- 9,
42
- 10,
43
- 5,
44
- 8,
45
- 4,
46
- 2,
47
- 1,
48
- 6,
49
- 3,
50
- 7,
51
- 9,
52
- 10,
53
- 5,
54
- 8,
55
- 4,
56
- 2,
57
- 1
58
- ]);
59
- }
60
- _create_class(Mod11Checksum, [
61
- {
62
- key: "validate",
63
- value: function validate(s) {
64
- return s.at(-1) === this.compute(s.slice(0, s.length - 1));
65
- }
66
- },
67
- {
68
- key: "compute",
69
- value: function compute(s) {
70
- var weights = this.weights;
71
- var sum = 0;
72
- for(var i = 0; i < s.length; i++){
73
- sum += parseInt(s[i]) * weights[i];
74
- }
75
- var num = (12 - sum % 11) % 11;
76
- if (num < 10) {
77
- return num.toString();
78
- } else {
79
- return 'X';
80
- }
81
- }
82
- }
83
- ]);
84
- return Mod11Checksum;
85
- }();
@@ -1,97 +0,0 @@
1
- /**
2
- * GB/T 17710(采ISO 7064)的模31校验码
3
- *
4
- * Mod31-3
5
- */ function _class_call_check(instance, Constructor) {
6
- if (!(instance instanceof Constructor)) {
7
- throw new TypeError("Cannot call a class as a function");
8
- }
9
- }
10
- function _defineProperties(target, props) {
11
- for(var i = 0; i < props.length; i++){
12
- var descriptor = props[i];
13
- descriptor.enumerable = descriptor.enumerable || false;
14
- descriptor.configurable = true;
15
- if ("value" in descriptor) descriptor.writable = true;
16
- Object.defineProperty(target, descriptor.key, descriptor);
17
- }
18
- }
19
- function _create_class(Constructor, protoProps, staticProps) {
20
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
21
- if (staticProps) _defineProperties(Constructor, staticProps);
22
- return Constructor;
23
- }
24
- function _define_property(obj, key, value) {
25
- if (key in obj) {
26
- Object.defineProperty(obj, key, {
27
- value: value,
28
- enumerable: true,
29
- configurable: true,
30
- writable: true
31
- });
32
- } else {
33
- obj[key] = value;
34
- }
35
- return obj;
36
- }
37
- export var Mod31Checksum = /*#__PURE__*/ function() {
38
- "use strict";
39
- function Mod31Checksum() {
40
- _class_call_check(this, Mod31Checksum);
41
- _define_property(this, "weights", [
42
- 1,
43
- 3,
44
- 9,
45
- 27,
46
- 19,
47
- 26,
48
- 16,
49
- 17,
50
- 20,
51
- 29,
52
- 25,
53
- 13,
54
- 8,
55
- 24,
56
- 10,
57
- 30,
58
- 28
59
- ]);
60
- _define_property(this, "chars", '0123456789ABCDEFGHJKLMNPQRTUWXY');
61
- _define_property(this, "numbers", this.chars.split('').reduce(function(acc, cur, i) {
62
- acc[cur] = i;
63
- return acc;
64
- }, {}));
65
- }
66
- _create_class(Mod31Checksum, [
67
- {
68
- key: "toChar",
69
- value: function toChar(n) {
70
- return this.chars[n];
71
- }
72
- },
73
- {
74
- key: "toNumber",
75
- value: function toNumber(c) {
76
- return this.numbers[c];
77
- }
78
- },
79
- {
80
- key: "validate",
81
- value: function validate(s) {
82
- return s.at(-1) === this.compute(s.slice(0, s.length - 1));
83
- }
84
- },
85
- {
86
- key: "compute",
87
- value: function compute(s) {
88
- var sum = 0;
89
- for(var i = 0; i < s.length; i++){
90
- sum += this.numbers[s[i]] * this.weights[i];
91
- }
92
- return this.toChar(31 - sum % 31);
93
- }
94
- }
95
- ]);
96
- return Mod31Checksum;
97
- }();
@@ -1,50 +0,0 @@
1
- import { formatDate } from "./formatDate.js";
2
- import { Mod11Checksum } from "./Mod11Checksum.js";
3
- (function (ResidentIdentityCardNumber) {
4
- ResidentIdentityCardNumber.Checksum = new Mod11Checksum();
5
- function parse(s) {
6
- var division = s.slice(0, 6);
7
- var birthDate = s.slice(6, 14);
8
- var sequence = parseInt(s.slice(14, 17), 10);
9
- var checksum = s.slice(17, 18);
10
- var valid = ResidentIdentityCardNumber.Checksum.validate(s);
11
- var sex = sequence % 2 === 1 ? "Male" : "Female";
12
- return {
13
- division: division,
14
- birthDate: birthDate,
15
- sequence: sequence,
16
- checksum: checksum,
17
- valid: valid,
18
- sex: sex,
19
- male: sex === "Male",
20
- female: sex === "Female",
21
- age: new Date().getFullYear() - parseInt(birthDate.slice(0, 4), 10)
22
- };
23
- }
24
- /*
25
- export const length = 18;
26
- export const pattern = /^\d{6}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[0-9Xx]$/;
27
- */ ResidentIdentityCardNumber.parse = parse;
28
- function format(param) {
29
- var division = param.division, birthDate = param.birthDate, sequence = param.sequence, checksum = param.checksum;
30
- if (typeof birthDate !== "string") {
31
- birthDate = formatDate(birthDate, "yyyyMMDD");
32
- }
33
- if (birthDate.includes("-")) {
34
- birthDate = birthDate.replace(/-/g, "");
35
- }
36
- typeof sequence === "number" && (sequence = sequence.toString());
37
- sequence = sequence.padStart(3, "0");
38
- var base = [
39
- division,
40
- birthDate,
41
- sequence
42
- ].join("");
43
- if (base.length !== 17)
44
- throw new Error("Invalid params");
45
- checksum || (checksum = ResidentIdentityCardNumber.Checksum.compute(base));
46
- return base + checksum;
47
- }
48
- ResidentIdentityCardNumber.format = format;
49
- })(ResidentIdentityCardNumber || (ResidentIdentityCardNumber = {}));
50
- export var ResidentIdentityCardNumber;
@@ -1,13 +0,0 @@
1
- export function formatDate(date, format) {
2
- switch(format){
3
- case 'yyyyMMDD':
4
- {
5
- var year = date.getFullYear();
6
- var month = (date.getMonth() + 1).toString().padStart(2, '0');
7
- var day = date.getDate().toString().padStart(2, '0');
8
- return "".concat(year).concat(month).concat(day);
9
- }
10
- default:
11
- throw new Error("Invalid format");
12
- }
13
- }
@@ -1,20 +0,0 @@
1
- export function parseSex(s) {
2
- if (!s) return undefined;
3
- switch(s.toLowerCase()){
4
- case '男':
5
- case 'male':
6
- return {
7
- sex: 'Male',
8
- male: true,
9
- female: false
10
- };
11
- case '女':
12
- case 'female':
13
- return {
14
- sex: 'Female',
15
- male: false,
16
- female: true
17
- };
18
- }
19
- return undefined;
20
- }
@@ -1,38 +0,0 @@
1
- import { getGlobalStates } from "@wener/utils";
2
- import { toJsonSchema } from "../../schema/index.js";
3
- var types = getGlobalStates("@wener/common/resource/schema/SchemaRegistry", function () {
4
- return new Map();
5
- });
6
- export function get(needle) {
7
- var key = getKey(needle);
8
- var found = types.get(key);
9
- if (found) {
10
- return found;
11
- }
12
- else {
13
- if (typeof needle !== "string") {
14
- return toJsonSchema(needle);
15
- }
16
- }
17
- throw new Error("Schema not found: ".concat(key));
18
- }
19
- function getKey(s) {
20
- var key;
21
- if (typeof s === "string") {
22
- key = s;
23
- }
24
- else {
25
- var js = toJsonSchema(s);
26
- key = js.$id || js.title;
27
- }
28
- if (!key) {
29
- throw new Error("Schema must have $id or title");
30
- }
31
- return key;
32
- }
33
- export function add(def) {
34
- types.set(getKey(def), toJsonSchema(def));
35
- }
36
- export function set(key, def) {
37
- types.set(getKey(key), toJsonSchema(def));
38
- }
@@ -1,10 +0,0 @@
1
- import { z } from 'zod/v4';
2
- export var SexType = Object.freeze({
3
- __proto__: null,
4
- Male: 'Male',
5
- Female: 'Female'
6
- });
7
- export var SexTypeSchema = z.union([
8
- z.literal(SexType.Male).describe('男'),
9
- z.literal(SexType.Female).describe('女')
10
- ]).describe('性别');
@@ -1,9 +0,0 @@
1
- import { formatAdvanceSearch } from "./formatAdvanceSearch.js";
2
- import { optimizeAdvanceSearch } from "./optimizeAdvanceSearch.js";
3
- import { parseAdvanceSearch } from "./parseAdvanceSearch.js";
4
- (function (AdvanceSearch) {
5
- AdvanceSearch.parse = parseAdvanceSearch;
6
- AdvanceSearch.format = formatAdvanceSearch;
7
- AdvanceSearch.optimize = optimizeAdvanceSearch;
8
- })(AdvanceSearch || (AdvanceSearch = {}));
9
- export var AdvanceSearch;