@wener/common 2.0.2 → 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 (351) 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 +21 -14
  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 +65 -145
  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 +5 -7
  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 +158 -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/emittery/emitter.js +10 -0
  86. package/lib/emittery/emitter.js.map +1 -0
  87. package/lib/emittery/index.js +2 -0
  88. package/lib/emittery/index.js.map +1 -0
  89. package/lib/foundation/schema/SexType.js +5 -3
  90. package/lib/foundation/schema/SexType.js.map +1 -0
  91. package/lib/foundation/schema/index.js +1 -0
  92. package/lib/foundation/schema/index.js.map +1 -0
  93. package/lib/foundation/schema/parseSexType.js +1 -0
  94. package/lib/foundation/schema/parseSexType.js.map +1 -0
  95. package/lib/foundation/schema/types.js +4 -2
  96. package/lib/foundation/schema/types.js.map +1 -0
  97. package/lib/fs/FileSystemError.js +23 -0
  98. package/lib/fs/FileSystemError.js.map +1 -0
  99. package/lib/fs/IFileSystem.d.js +3 -0
  100. package/lib/fs/IFileSystem.d.js.map +1 -0
  101. package/lib/fs/MemoryFileSystem.test.js +188 -0
  102. package/lib/fs/createBrowserFileSystem.js +248 -0
  103. package/lib/fs/createBrowserFileSystem.js.map +1 -0
  104. package/lib/fs/createMemoryFileSystem.js +516 -0
  105. package/lib/fs/createMemoryFileSystem.js.map +1 -0
  106. package/lib/fs/createSandboxFileSystem.js +108 -0
  107. package/lib/fs/createSandboxFileSystem.js.map +1 -0
  108. package/lib/fs/createWebDavFileSystem.js +137 -0
  109. package/lib/fs/createWebDavFileSystem.js.map +1 -0
  110. package/lib/fs/findMimeType.js +17 -0
  111. package/lib/fs/findMimeType.js.map +1 -0
  112. package/lib/fs/index.js +8 -0
  113. package/lib/fs/index.js.map +1 -0
  114. package/lib/fs/orpc/FileSystemContract.js +93 -0
  115. package/lib/fs/orpc/FileSystemContract.js.map +1 -0
  116. package/lib/fs/orpc/createContractClientFileSystem.js +93 -0
  117. package/lib/fs/orpc/createContractClientFileSystem.js.map +1 -0
  118. package/lib/fs/orpc/index.js +3 -0
  119. package/lib/fs/orpc/index.js.map +1 -0
  120. package/lib/fs/orpc/server/createFileSystemContractImpl.js +63 -0
  121. package/lib/fs/orpc/server/createFileSystemContractImpl.js.map +1 -0
  122. package/lib/fs/orpc/server/index.js +2 -0
  123. package/lib/fs/orpc/server/index.js.map +1 -0
  124. package/lib/fs/s3/createS3MiniFileSystem.js +705 -0
  125. package/lib/fs/s3/createS3MiniFileSystem.js.map +1 -0
  126. package/lib/fs/s3/index.js +2 -0
  127. package/lib/fs/s3/index.js.map +1 -0
  128. package/lib/fs/s3/s3mini.test.js +584 -0
  129. package/lib/fs/scandir.js +59 -0
  130. package/lib/fs/scandir.js.map +1 -0
  131. package/lib/fs/server/createDatabaseFileSystem.js +750 -0
  132. package/lib/fs/server/createDatabaseFileSystem.js.map +1 -0
  133. package/lib/fs/server/createNodeFileSystem.js +401 -0
  134. package/lib/fs/server/createNodeFileSystem.js.map +1 -0
  135. package/lib/fs/server/dbfs.test.js +221 -0
  136. package/lib/fs/server/index.js +2 -0
  137. package/lib/fs/server/index.js.map +1 -0
  138. package/lib/fs/server/loadTestDatabase.js +127 -0
  139. package/lib/fs/server/loadTestDatabase.js.map +1 -0
  140. package/lib/fs/tests/runFileSystemTest.js +318 -0
  141. package/lib/fs/tests/runFileSystemTest.js.map +1 -0
  142. package/lib/fs/types.js +27 -0
  143. package/lib/fs/types.js.map +1 -0
  144. package/lib/fs/utils/getFileUrl.js +35 -0
  145. package/lib/fs/utils/getFileUrl.js.map +1 -0
  146. package/lib/fs/utils.js +22 -0
  147. package/lib/fs/utils.js.map +1 -0
  148. package/lib/index.js +1 -0
  149. package/lib/index.js.map +1 -0
  150. package/lib/jsonschema/JsonSchema.js +146 -172
  151. package/lib/jsonschema/JsonSchema.js.map +1 -0
  152. package/lib/jsonschema/forEachJsonSchema.js +44 -0
  153. package/lib/jsonschema/forEachJsonSchema.js.map +1 -0
  154. package/lib/jsonschema/index.js +2 -0
  155. package/lib/jsonschema/index.js.map +1 -0
  156. package/lib/jsonschema/types.d.js +2 -0
  157. package/lib/jsonschema/types.d.js.map +1 -0
  158. package/lib/meta/defineFileType.js +20 -103
  159. package/lib/meta/defineFileType.js.map +1 -0
  160. package/lib/meta/defineInit.js +31 -250
  161. package/lib/meta/defineInit.js.map +1 -0
  162. package/lib/meta/defineMetadata.js +24 -140
  163. package/lib/meta/defineMetadata.js.map +1 -0
  164. package/lib/meta/index.js +1 -0
  165. package/lib/meta/index.js.map +1 -0
  166. package/lib/orpc/createOpenApiContractClient.js +27 -0
  167. package/lib/orpc/createOpenApiContractClient.js.map +1 -0
  168. package/lib/orpc/createRpcContractClient.js +34 -0
  169. package/lib/orpc/createRpcContractClient.js.map +1 -0
  170. package/lib/orpc/index.js +3 -0
  171. package/lib/orpc/index.js.map +1 -0
  172. package/lib/orpc/resolveLinkPlugins.js +28 -0
  173. package/lib/orpc/resolveLinkPlugins.js.map +1 -0
  174. package/lib/password/PHC.js +63 -87
  175. package/lib/password/PHC.js.map +1 -0
  176. package/lib/password/PHC.test.js +11 -3
  177. package/lib/password/Password.js +29 -294
  178. package/lib/password/Password.js.map +1 -0
  179. package/lib/password/Password.test.js +35 -22
  180. package/lib/password/createArgon2PasswordAlgorithm.js +35 -191
  181. package/lib/password/createArgon2PasswordAlgorithm.js.map +1 -0
  182. package/lib/password/createBase64PasswordAlgorithm.js +8 -141
  183. package/lib/password/createBase64PasswordAlgorithm.js.map +1 -0
  184. package/lib/password/createBcryptPasswordAlgorithm.js +13 -168
  185. package/lib/password/createBcryptPasswordAlgorithm.js.map +1 -0
  186. package/lib/password/createPBKDF2PasswordAlgorithm.js +46 -228
  187. package/lib/password/createPBKDF2PasswordAlgorithm.js.map +1 -0
  188. package/lib/password/createScryptPasswordAlgorithm.js +55 -211
  189. package/lib/password/createScryptPasswordAlgorithm.js.map +1 -0
  190. package/lib/password/index.js +1 -0
  191. package/lib/password/index.js.map +1 -0
  192. package/lib/password/server/index.js +1 -0
  193. package/lib/password/server/index.js.map +1 -0
  194. package/lib/resource/Identifiable.js +2 -0
  195. package/lib/resource/Identifiable.js.map +1 -0
  196. package/lib/resource/ListQuery.js +21 -93
  197. package/lib/resource/ListQuery.js.map +1 -0
  198. package/lib/resource/getTitleOfResource.js +3 -5
  199. package/lib/resource/getTitleOfResource.js.map +1 -0
  200. package/lib/resource/index.js +1 -0
  201. package/lib/resource/index.js.map +1 -0
  202. package/lib/resource/schema/AnyResourceSchema.js +2 -1
  203. package/lib/resource/schema/AnyResourceSchema.js.map +1 -0
  204. package/lib/resource/schema/BaseResourceSchema.js +2 -1
  205. package/lib/resource/schema/BaseResourceSchema.js.map +1 -0
  206. package/lib/resource/schema/ResourceActionType.js +6 -4
  207. package/lib/resource/schema/ResourceActionType.js.map +1 -0
  208. package/lib/resource/schema/ResourceStatus.js +5 -3
  209. package/lib/resource/schema/ResourceStatus.js.map +1 -0
  210. package/lib/resource/schema/ResourceType.js +5 -3
  211. package/lib/resource/schema/ResourceType.js.map +1 -0
  212. package/lib/resource/schema/index.js +1 -0
  213. package/lib/resource/schema/index.js.map +1 -0
  214. package/lib/resource/schema/types.js +16 -20
  215. package/lib/resource/schema/types.js.map +1 -0
  216. package/lib/s3/formatS3Url.js +65 -0
  217. package/lib/s3/formatS3Url.js.map +1 -0
  218. package/lib/s3/formatS3Url.test.js +262 -0
  219. package/lib/s3/index.js +3 -0
  220. package/lib/s3/index.js.map +1 -0
  221. package/lib/s3/parseS3Url.js +65 -0
  222. package/lib/s3/parseS3Url.js.map +1 -0
  223. package/lib/s3/parseS3Url.test.js +270 -0
  224. package/lib/schema/SchemaRegistry.js +38 -38
  225. package/lib/schema/SchemaRegistry.js.map +1 -0
  226. package/lib/schema/TypeSchema.d.js +2 -0
  227. package/lib/schema/TypeSchema.d.js.map +1 -0
  228. package/lib/schema/createSchemaData.js +26 -125
  229. package/lib/schema/createSchemaData.js.map +1 -0
  230. package/lib/schema/findJsonSchemaByPath.js +13 -36
  231. package/lib/schema/findJsonSchemaByPath.js.map +1 -0
  232. package/lib/schema/formatZodError.js +140 -0
  233. package/lib/schema/formatZodError.js.map +1 -0
  234. package/lib/schema/formatZodError.test.js +196 -0
  235. package/lib/schema/getSchemaCache.js +5 -5
  236. package/lib/schema/getSchemaCache.js.map +1 -0
  237. package/lib/schema/getSchemaOptions.js +8 -11
  238. package/lib/schema/getSchemaOptions.js.map +1 -0
  239. package/lib/schema/index.js +2 -1
  240. package/lib/schema/index.js.map +1 -0
  241. package/lib/schema/toJsonSchema.js +47 -290
  242. package/lib/schema/toJsonSchema.js.map +1 -0
  243. package/lib/schema/validate.js +33 -45
  244. package/lib/schema/validate.js.map +1 -0
  245. package/lib/tools/generateSchema.js +39 -197
  246. package/lib/tools/generateSchema.js.map +1 -0
  247. package/lib/tools/renderJsonSchemaToMarkdownDoc.js +55 -143
  248. package/lib/tools/renderJsonSchemaToMarkdownDoc.js.map +1 -0
  249. package/lib/utils/buildBaseUrl.js +13 -0
  250. package/lib/utils/buildBaseUrl.js.map +1 -0
  251. package/lib/utils/buildRedactorFormSchema.js +59 -0
  252. package/lib/utils/buildRedactorFormSchema.js.map +1 -0
  253. package/lib/utils/getEstimateProcessTime.js +12 -11
  254. package/lib/utils/getEstimateProcessTime.js.map +1 -0
  255. package/lib/utils/index.js +3 -0
  256. package/lib/utils/index.js.map +1 -0
  257. package/lib/utils/resolveFeatureOptions.js +12 -0
  258. package/lib/utils/resolveFeatureOptions.js.map +1 -0
  259. package/package.json +61 -13
  260. package/src/ai/qwen3vl/index.ts +1 -0
  261. package/src/ai/qwen3vl/utils.ts +36 -0
  262. package/src/ai/vision/DocLayoutElementTypeSchema.ts +30 -0
  263. package/src/ai/vision/ImageAnnotationSchema.ts +60 -0
  264. package/src/ai/vision/index.ts +2 -0
  265. package/src/ai/vision/resolveImageAnnotation.ts +135 -0
  266. package/src/cn/ChineseResidentIdNo.test.ts +1 -1
  267. package/src/cn/ChineseResidentIdNo.ts +8 -0
  268. package/src/cn/DivisionCode.test.ts +1 -1
  269. package/src/cn/DivisionCode.ts +8 -0
  270. package/src/cn/UnifiedSocialCreditCode.test.ts +1 -1
  271. package/src/cn/UnifiedSocialCreditCode.ts +15 -0
  272. package/src/cn/__snapshots__/UnifiedSocialCreditCode.test.ts.snap +23 -0
  273. package/src/cn/formatChineseAmount.ts +61 -0
  274. package/src/cn/index.ts +7 -1
  275. package/src/cn/parseChineseNumber.test.ts +159 -0
  276. package/src/cn/parseChineseNumber.ts +97 -0
  277. package/src/cn/pinyin/cartesianProduct.test.ts +64 -0
  278. package/src/cn/pinyin/cartesianProduct.ts +24 -0
  279. package/src/cn/pinyin/data.json +23573 -0
  280. package/src/cn/pinyin/loader.ts +12 -0
  281. package/src/cn/pinyin/preload.ts +3 -0
  282. package/src/cn/pinyin/toPinyin.test.ts +12 -0
  283. package/src/cn/pinyin/toPinyinPure.ts +43 -0
  284. package/src/cn/pinyin/transform.ts +12 -0
  285. package/src/consola/formatLogObject.test.ts +27 -0
  286. package/src/consola/formatLogObject.ts +34 -6
  287. package/src/dayjs/dayjs.ts +18 -18
  288. package/src/dayjs/index.ts +3 -1
  289. package/src/dayjs/parseRelativeTime.test.ts +185 -0
  290. package/src/dayjs/parseRelativeTime.ts +115 -0
  291. package/src/dayjs/resolveRelativeTime.test.ts +357 -0
  292. package/src/dayjs/resolveRelativeTime.ts +167 -0
  293. package/src/emittery/emitter.ts +9 -0
  294. package/src/emittery/index.ts +1 -0
  295. package/src/fs/FileSystemError.ts +26 -0
  296. package/src/fs/IFileSystem.d.ts +102 -0
  297. package/src/fs/MemoryFileSystem.test.ts +37 -0
  298. package/src/fs/createBrowserFileSystem.ts +291 -0
  299. package/src/fs/createMemoryFileSystem.ts +604 -0
  300. package/src/fs/createSandboxFileSystem.ts +136 -0
  301. package/src/fs/createWebDavFileSystem.ts +172 -0
  302. package/src/fs/findMimeType.ts +23 -0
  303. package/src/fs/index.ts +8 -0
  304. package/src/fs/orpc/FileSystemContract.ts +92 -0
  305. package/src/fs/orpc/createContractClientFileSystem.ts +115 -0
  306. package/src/fs/orpc/index.ts +2 -0
  307. package/src/fs/orpc/server/createFileSystemContractImpl.ts +64 -0
  308. package/src/fs/orpc/server/index.ts +1 -0
  309. package/src/fs/s3/createS3MiniFileSystem.ts +830 -0
  310. package/src/fs/s3/index.ts +1 -0
  311. package/src/fs/s3/s3mini.test.ts +264 -0
  312. package/src/fs/scandir.ts +75 -0
  313. package/src/fs/server/createDatabaseFileSystem.ts +668 -0
  314. package/src/fs/server/createNodeFileSystem.ts +499 -0
  315. package/src/fs/server/dbfs.test.ts +47 -0
  316. package/src/fs/server/index.ts +1 -0
  317. package/src/fs/server/loadTestDatabase.ts +131 -0
  318. package/src/fs/tests/runFileSystemTest.ts +288 -0
  319. package/src/fs/types.ts +29 -0
  320. package/src/fs/utils/getFileUrl.ts +44 -0
  321. package/src/fs/utils.ts +23 -0
  322. package/src/jsonschema/JsonSchema.ts +118 -110
  323. package/src/jsonschema/forEachJsonSchema.ts +50 -0
  324. package/src/jsonschema/index.ts +1 -0
  325. package/src/orpc/createOpenApiContractClient.ts +52 -0
  326. package/src/orpc/createRpcContractClient.ts +50 -0
  327. package/src/orpc/index.ts +2 -0
  328. package/src/orpc/resolveLinkPlugins.ts +29 -0
  329. package/src/password/PHC.ts +3 -3
  330. package/src/password/Password.test.ts +1 -1
  331. package/src/password/createPBKDF2PasswordAlgorithm.ts +2 -2
  332. package/src/resource/schema/AnyResourceSchema.ts +16 -2
  333. package/src/s3/formatS3Url.test.ts +254 -0
  334. package/src/s3/formatS3Url.ts +84 -0
  335. package/src/s3/index.ts +2 -0
  336. package/src/s3/parseS3Url.test.ts +258 -0
  337. package/src/s3/parseS3Url.ts +88 -0
  338. package/src/schema/SchemaRegistry.ts +35 -33
  339. package/src/schema/formatZodError.test.ts +196 -0
  340. package/src/schema/formatZodError.ts +151 -0
  341. package/src/schema/getSchemaOptions.ts +2 -2
  342. package/src/schema/index.ts +1 -1
  343. package/src/utils/buildBaseUrl.ts +12 -0
  344. package/src/utils/buildRedactorFormSchema.ts +85 -0
  345. package/src/utils/index.ts +4 -0
  346. package/src/utils/resolveFeatureOptions.ts +14 -0
  347. package/src/cn/ChineseResidentIdNo.mod.ts +0 -7
  348. package/src/cn/DivisionCode.mod.ts +0 -7
  349. package/src/cn/UnifiedSocialCreditCode.mod.ts +0 -7
  350. package/src/cn/mod.ts +0 -3
  351. package/src/schema/SchemaRegistry.mod.ts +0 -1
@@ -1,200 +1,8 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- }
6
- catch (error) {
7
- reject(error);
8
- return;
9
- }
10
- if (info.done) {
11
- resolve(value);
12
- }
13
- else {
14
- Promise.resolve(value).then(_next, _throw);
15
- }
16
- }
17
- function _async_to_generator(fn) {
18
- return function () {
19
- var self = this, args = arguments;
20
- return new Promise(function (resolve, reject) {
21
- var gen = fn.apply(self, args);
22
- function _next(value) {
23
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
24
- }
25
- function _throw(err) {
26
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
27
- }
28
- _next(undefined);
29
- });
30
- };
31
- }
32
- function _define_property(obj, key, value) {
33
- if (key in obj) {
34
- Object.defineProperty(obj, key, {
35
- value: value,
36
- enumerable: true,
37
- configurable: true,
38
- writable: true
39
- });
40
- }
41
- else {
42
- obj[key] = value;
43
- }
44
- return obj;
45
- }
46
- function _object_spread(target) {
47
- for (var i = 1; i < arguments.length; i++) {
48
- var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
50
- if (typeof Object.getOwnPropertySymbols === "function") {
51
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
52
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
53
- }));
54
- }
55
- ownKeys.forEach(function (key) {
56
- _define_property(target, key, source[key]);
57
- });
58
- }
59
- return target;
60
- }
61
- function _object_without_properties(source, excluded) {
62
- if (source == null)
63
- return {};
64
- var target = _object_without_properties_loose(source, excluded);
65
- var key, i;
66
- if (Object.getOwnPropertySymbols) {
67
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
68
- for (i = 0; i < sourceSymbolKeys.length; i++) {
69
- key = sourceSymbolKeys[i];
70
- if (excluded.indexOf(key) >= 0)
71
- continue;
72
- if (!Object.prototype.propertyIsEnumerable.call(source, key))
73
- continue;
74
- target[key] = source[key];
75
- }
76
- }
77
- return target;
78
- }
79
- function _object_without_properties_loose(source, excluded) {
80
- if (source == null)
81
- return {};
82
- var target = {};
83
- var sourceKeys = Object.keys(source);
84
- var key, i;
85
- for (i = 0; i < sourceKeys.length; i++) {
86
- key = sourceKeys[i];
87
- if (excluded.indexOf(key) >= 0)
88
- continue;
89
- target[key] = source[key];
90
- }
91
- return target;
92
- }
93
- function _ts_generator(thisArg, body) {
94
- var f, y, t, _ = {
95
- label: 0,
96
- sent: function () {
97
- if (t[0] & 1)
98
- throw t[1];
99
- return t[1];
100
- },
101
- trys: [],
102
- ops: []
103
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
104
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () {
105
- return this;
106
- }), g;
107
- function verb(n) {
108
- return function (v) {
109
- return step([
110
- n,
111
- v
112
- ]);
113
- };
114
- }
115
- function step(op) {
116
- if (f)
117
- throw new TypeError("Generator is already executing.");
118
- while (g && (g = 0, op[0] && (_ = 0)), _)
119
- try {
120
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
121
- return t;
122
- if (y = 0, t)
123
- op = [
124
- op[0] & 2,
125
- t.value
126
- ];
127
- switch (op[0]) {
128
- case 0:
129
- case 1:
130
- t = op;
131
- break;
132
- case 4:
133
- _.label++;
134
- return {
135
- value: op[1],
136
- done: false
137
- };
138
- case 5:
139
- _.label++;
140
- y = op[1];
141
- op = [
142
- 0
143
- ];
144
- continue;
145
- case 7:
146
- op = _.ops.pop();
147
- _.trys.pop();
148
- continue;
149
- default:
150
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
151
- _ = 0;
152
- continue;
153
- }
154
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
155
- _.label = op[1];
156
- break;
157
- }
158
- if (op[0] === 6 && _.label < t[1]) {
159
- _.label = t[1];
160
- t = op;
161
- break;
162
- }
163
- if (t && _.label < t[2]) {
164
- _.label = t[2];
165
- _.ops.push(op);
166
- break;
167
- }
168
- if (t[2])
169
- _.ops.pop();
170
- _.trys.pop();
171
- continue;
172
- }
173
- op = body.call(thisArg, _);
174
- }
175
- catch (e) {
176
- op = [
177
- 6,
178
- e
179
- ];
180
- y = 0;
181
- }
182
- finally {
183
- f = t = 0;
184
- }
185
- if (op[0] & 5)
186
- throw op[1];
187
- return {
188
- value: op[0] ? op[1] : void 0,
189
- done: true
190
- };
191
- }
192
- }
193
1
  import { Errors } from "@wener/utils";
194
2
  import { createPBKDF2PasswordAlgorithm } from "./createPBKDF2PasswordAlgorithm.js";
195
3
  import { PHC } from "./PHC.js";
196
4
  (function (Password) {
197
- var Algorithms = {
5
+ const Algorithms = {
198
6
  1: "md5",
199
7
  "2a": "bcrypt",
200
8
  "2b": "bcrypt",
@@ -204,9 +12,9 @@ import { PHC } from "./PHC.js";
204
12
  6: "sha512",
205
13
  7: "scrypt"
206
14
  };
207
- var DefaultAlgorithm = "6";
15
+ let DefaultAlgorithm = "6";
208
16
  function setDefaultAlgorithm(algorithm) {
209
- Errors.BadRequest.check(Algorithms[algorithm], "Unknown algorithm ".concat(algorithm));
17
+ Errors.BadRequest.check(Algorithms[algorithm], `Unknown algorithm ${algorithm}`);
210
18
  DefaultAlgorithm = algorithm;
211
19
  }
212
20
  Password.setDefaultAlgorithm = setDefaultAlgorithm;
@@ -217,28 +25,8 @@ import { PHC } from "./PHC.js";
217
25
  function addAlgorithm(algorithm) {
218
26
  Algorithms[algorithm.name] = algorithm;
219
27
  if (algorithm.ids) {
220
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
221
- try {
222
- for (var _iterator = algorithm.ids[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
223
- var id = _step.value;
224
- Algorithms[id] = algorithm;
225
- }
226
- }
227
- catch (err) {
228
- _didIteratorError = true;
229
- _iteratorError = err;
230
- }
231
- finally {
232
- try {
233
- if (!_iteratorNormalCompletion && _iterator.return != null) {
234
- _iterator.return();
235
- }
236
- }
237
- finally {
238
- if (_didIteratorError) {
239
- throw _iteratorError;
240
- }
241
- }
28
+ for (const id of algorithm.ids) {
29
+ Algorithms[id] = algorithm;
242
30
  }
243
31
  }
244
32
  }
@@ -251,98 +39,45 @@ import { PHC } from "./PHC.js";
251
39
  id: "sha512",
252
40
  digest: "SHA-512"
253
41
  }));
254
- function parse(hash) {
255
- return _async_to_generator(function () {
256
- return _ts_generator(this, function (_state) {
257
- return [
258
- 2,
259
- PHC.deserialize(hash)
260
- ];
261
- });
262
- })();
42
+ async function parse(hash) {
43
+ return PHC.deserialize(hash);
263
44
  }
264
45
  Password.parse = parse;
265
46
  function resolveAlgorithm(id) {
266
- var f = id;
47
+ let f = id;
267
48
  while (typeof f === "string") {
268
49
  f = Algorithms[f];
269
50
  }
270
51
  if (!f) {
271
- throw new Error("Unknown algorithm ".concat(id));
52
+ throw new Error(`Unknown algorithm ${id}`);
272
53
  }
273
54
  return f;
274
55
  }
275
- function validate(password, hash) {
276
- return _async_to_generator(function () {
277
- var res, f, _tmp;
278
- return _ts_generator(this, function (_state) {
279
- switch (_state.label) {
280
- case 0:
281
- return [
282
- 4,
283
- parse(hash)
284
- ];
285
- case 1:
286
- res = _state.sent();
287
- f = resolveAlgorithm(res.id);
288
- _tmp = {};
289
- return [
290
- 4,
291
- f.verify(password, hash, res)
292
- ];
293
- case 2:
294
- return [
295
- 2,
296
- (_tmp.result = _state.sent(), _tmp.parsed = res, _tmp)
297
- ];
298
- }
299
- });
300
- })();
56
+ async function validate(password, hash) {
57
+ let res = await parse(hash);
58
+ let f = resolveAlgorithm(res.id);
59
+ return {
60
+ result: await f.verify(password, hash, res),
61
+ parsed: res
62
+ };
301
63
  }
302
64
  Password.validate = validate;
303
- function verify(password, hash) {
304
- return _async_to_generator(function () {
305
- var res, f;
306
- return _ts_generator(this, function (_state) {
307
- switch (_state.label) {
308
- case 0:
309
- return [
310
- 4,
311
- parse(hash)
312
- ];
313
- case 1:
314
- res = _state.sent();
315
- f = resolveAlgorithm(res.id);
316
- return [
317
- 2,
318
- f.verify(password, hash, res)
319
- ];
320
- }
321
- });
322
- })();
65
+ async function verify(password, hash) {
66
+ let res = await parse(hash);
67
+ let f = resolveAlgorithm(res.id);
68
+ return f.verify(password, hash, res);
323
69
  }
324
70
  Password.verify = verify;
325
- function hash(_0) {
326
- return _async_to_generator(function (password) {
327
- var _param, algorithm, opts, f, id;
328
- var _arguments = arguments;
329
- return _ts_generator(this, function (_state) {
330
- _param = _arguments.length > 1 && _arguments[1] !== void 0 ? _arguments[1] : {};
331
- algorithm = _param.algorithm, opts = _object_without_properties(_param, [
332
- "algorithm"
333
- ]);
334
- f = resolveAlgorithm(algorithm !== null && algorithm !== void 0 ? algorithm : DefaultAlgorithm);
335
- id = algorithm !== null && algorithm !== void 0 ? algorithm : DefaultAlgorithm;
336
- typeof id !== "string" && (id = f.name);
337
- return [
338
- 2,
339
- f.hash(password, _object_spread({
340
- id: id
341
- }, opts))
342
- ];
343
- });
344
- }).apply(this, arguments);
71
+ async function hash(password, { algorithm, ...opts } = {}) {
72
+ let f = resolveAlgorithm(algorithm ?? DefaultAlgorithm);
73
+ let id = algorithm ?? DefaultAlgorithm;
74
+ typeof id !== "string" && (id = f.name);
75
+ return f.hash(password, {
76
+ id,
77
+ ...opts
78
+ });
345
79
  }
346
80
  Password.hash = hash;
347
81
  })(Password || (Password = {}));
348
82
  export var Password;
83
+ //# sourceMappingURL=Password.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/password/Password.ts"],"sourcesContent":["import { Errors } from '@wener/utils';\nimport { createPBKDF2PasswordAlgorithm } from './createPBKDF2PasswordAlgorithm';\nimport { PHC } from './PHC';\n\nexport namespace Password {\n\texport interface ParsedPassword {\n\t\tid: string;\n\t\tversion?: number;\n\t\tparams?: Record<string, string | number>;\n\t\tsalt?: Uint8Array;\n\t\thash?: Uint8Array;\n\t}\n\n\ttype PasswordAlgorithmHashOptions = { rounds?: number; salt?: Uint8Array; id?: string };\n\ttype PasswordAlgorithmVerifyOptions = ParsedPassword;\n\texport type PasswordAlgorithm = {\n\t\treadonly name: string;\n\t\treadonly ids?: string[];\n\t\thash(password: string, opts?: PasswordAlgorithmHashOptions): Promise<string>;\n\t\tverify(password: string, hash: string, opts: PasswordAlgorithmVerifyOptions): Promise<boolean>;\n\t};\n\n\tconst Algorithms: Record<string, string | PasswordAlgorithm> = {\n\t\t1: 'md5',\n\t\t'2a': 'bcrypt', // original\n\t\t'2b': 'bcrypt', // February 2014\n\t\t'2x': 'bcrypt', // June 2011\n\t\t'2y': 'bcrypt', // June 2011\n\t\t5: 'sha256',\n\t\t6: 'sha512',\n\t\t7: 'scrypt',\n\t};\n\tlet DefaultAlgorithm: string = '6';\n\n\texport function setDefaultAlgorithm(algorithm: string) {\n\t\tErrors.BadRequest.check(Algorithms[algorithm], `Unknown algorithm ${algorithm}`);\n\t\tDefaultAlgorithm = algorithm;\n\t}\n\n\texport function getDefaultAlgorithm() {\n\t\treturn DefaultAlgorithm;\n\t}\n\n\texport function addAlgorithm(algorithm: PasswordAlgorithm) {\n\t\tAlgorithms[algorithm.name] = algorithm;\n\t\tif (algorithm.ids) {\n\t\t\tfor (const id of algorithm.ids) {\n\t\t\t\tAlgorithms[id] = algorithm;\n\t\t\t}\n\t\t}\n\t}\n\n\taddAlgorithm(createPBKDF2PasswordAlgorithm({ id: 'sha256', digest: 'SHA-256' }));\n\taddAlgorithm(createPBKDF2PasswordAlgorithm({ id: 'sha512', digest: 'SHA-512' }));\n\n\texport async function parse(hash: string) {\n\t\treturn PHC.deserialize(hash);\n\t}\n\n\tfunction resolveAlgorithm(id: string | PasswordAlgorithm): PasswordAlgorithm {\n\t\tlet f = id;\n\t\twhile (typeof f === 'string') {\n\t\t\tf = Algorithms[f];\n\t\t}\n\t\tif (!f) {\n\t\t\tthrow new Error(`Unknown algorithm ${id}`);\n\t\t}\n\t\treturn f;\n\t}\n\n\texport async function validate(password: string, hash: string) {\n\t\tlet res = await parse(hash);\n\t\tlet f = resolveAlgorithm(res.id);\n\t\treturn { result: await f.verify(password, hash, res), parsed: res };\n\t}\n\n\texport async function verify(password: string, hash: string) {\n\t\tlet res = await parse(hash);\n\t\tlet f = resolveAlgorithm(res.id);\n\t\treturn f.verify(password, hash, res);\n\t}\n\n\texport type PasswordHashOptions = PasswordAlgorithmHashOptions & { algorithm?: string | PasswordAlgorithm };\n\n\texport async function hash(password: string, { algorithm, ...opts }: PasswordHashOptions = {}) {\n\t\tlet f = resolveAlgorithm(algorithm ?? DefaultAlgorithm);\n\t\tlet id = algorithm ?? DefaultAlgorithm;\n\t\ttypeof id !== 'string' && (id = f.name);\n\t\treturn f.hash(password, { id, ...opts });\n\t}\n}\n"],"names":["Errors","createPBKDF2PasswordAlgorithm","PHC","Password","Algorithms","DefaultAlgorithm","setDefaultAlgorithm","algorithm","BadRequest","check","getDefaultAlgorithm","addAlgorithm","name","ids","id","digest","parse","hash","deserialize","resolveAlgorithm","f","Error","validate","password","res","result","verify","parsed","opts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,eAAe;AACtC,SAASC,6BAA6B,QAAQ,kCAAkC;AAChF,SAASC,GAAG,QAAQ,QAAQ;UAEXC;IAkBhB,MAAMC,aAAyD;QAC9D,GAAG;QACH,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,GAAG;QACH,GAAG;QACH,GAAG;IACJ;IACA,IAAIC,mBAA2B;IAExB,SAASC,oBAAoBC,SAAiB;QACpDP,OAAOQ,UAAU,CAACC,KAAK,CAACL,UAAU,CAACG,UAAU,EAAE,CAAC,kBAAkB,EAAEA,WAAW;QAC/EF,mBAAmBE;IACpB;aAHgBD,sBAAAA;IAKT,SAASI;QACf,OAAOL;IACR;aAFgBK,sBAAAA;IAIT,SAASC,aAAaJ,SAA4B;QACxDH,UAAU,CAACG,UAAUK,IAAI,CAAC,GAAGL;QAC7B,IAAIA,UAAUM,GAAG,EAAE;YAClB,KAAK,MAAMC,MAAMP,UAAUM,GAAG,CAAE;gBAC/BT,UAAU,CAACU,GAAG,GAAGP;YAClB;QACD;IACD;aAPgBI,eAAAA;IAShBA,aAAaV,8BAA8B;QAAEa,IAAI;QAAUC,QAAQ;IAAU;IAC7EJ,aAAaV,8BAA8B;QAAEa,IAAI;QAAUC,QAAQ;IAAU;IAEtE,eAAeC,MAAMC,IAAY;QACvC,OAAOf,IAAIgB,WAAW,CAACD;IACxB;aAFsBD,QAAAA;IAItB,SAASG,iBAAiBL,EAA8B;QACvD,IAAIM,IAAIN;QACR,MAAO,OAAOM,MAAM,SAAU;YAC7BA,IAAIhB,UAAU,CAACgB,EAAE;QAClB;QACA,IAAI,CAACA,GAAG;YACP,MAAM,IAAIC,MAAM,CAAC,kBAAkB,EAAEP,IAAI;QAC1C;QACA,OAAOM;IACR;IAEO,eAAeE,SAASC,QAAgB,EAAEN,IAAY;QAC5D,IAAIO,MAAM,MAAMR,MAAMC;QACtB,IAAIG,IAAID,iBAAiBK,IAAIV,EAAE;QAC/B,OAAO;YAAEW,QAAQ,MAAML,EAAEM,MAAM,CAACH,UAAUN,MAAMO;YAAMG,QAAQH;QAAI;IACnE;aAJsBF,WAAAA;IAMf,eAAeI,OAAOH,QAAgB,EAAEN,IAAY;QAC1D,IAAIO,MAAM,MAAMR,MAAMC;QACtB,IAAIG,IAAID,iBAAiBK,IAAIV,EAAE;QAC/B,OAAOM,EAAEM,MAAM,CAACH,UAAUN,MAAMO;IACjC;aAJsBE,SAAAA;IAQf,eAAeT,KAAKM,QAAgB,EAAE,EAAEhB,SAAS,EAAE,GAAGqB,MAA2B,GAAG,CAAC,CAAC;QAC5F,IAAIR,IAAID,iBAAiBZ,aAAaF;QACtC,IAAIS,KAAKP,aAAaF;QACtB,OAAOS,OAAO,YAAaA,CAAAA,KAAKM,EAAER,IAAI,AAAD;QACrC,OAAOQ,EAAEH,IAAI,CAACM,UAAU;YAAET;YAAI,GAAGc,IAAI;QAAC;IACvC;aALsBX,OAAAA;AAMvB,GAtFiBd,aAAAA"}
@@ -32,12 +32,24 @@ function _async_to_generator(fn) {
32
32
  function _object_without_properties(source, excluded) {
33
33
  if (source == null)
34
34
  return {};
35
- var target = _object_without_properties_loose(source, excluded);
36
- var key, i;
35
+ var target = {}, sourceKeys, key, i;
36
+ if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
37
+ sourceKeys = Reflect.ownKeys(source);
38
+ for (i = 0; i < sourceKeys.length; i++) {
39
+ key = sourceKeys[i];
40
+ if (excluded.indexOf(key) >= 0)
41
+ continue;
42
+ if (!Object.prototype.propertyIsEnumerable.call(source, key))
43
+ continue;
44
+ target[key] = source[key];
45
+ }
46
+ return target;
47
+ }
48
+ target = _object_without_properties_loose(source, excluded);
37
49
  if (Object.getOwnPropertySymbols) {
38
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
39
- for (i = 0; i < sourceSymbolKeys.length; i++) {
40
- key = sourceSymbolKeys[i];
50
+ sourceKeys = Object.getOwnPropertySymbols(source);
51
+ for (i = 0; i < sourceKeys.length; i++) {
52
+ key = sourceKeys[i];
41
53
  if (excluded.indexOf(key) >= 0)
42
54
  continue;
43
55
  if (!Object.prototype.propertyIsEnumerable.call(source, key))
@@ -50,13 +62,13 @@ function _object_without_properties(source, excluded) {
50
62
  function _object_without_properties_loose(source, excluded) {
51
63
  if (source == null)
52
64
  return {};
53
- var target = {};
54
- var sourceKeys = Object.keys(source);
55
- var key, i;
65
+ var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
56
66
  for (i = 0; i < sourceKeys.length; i++) {
57
67
  key = sourceKeys[i];
58
68
  if (excluded.indexOf(key) >= 0)
59
69
  continue;
70
+ if (!Object.prototype.propertyIsEnumerable.call(source, key))
71
+ continue;
60
72
  target[key] = source[key];
61
73
  }
62
74
  return target;
@@ -71,9 +83,17 @@ function _ts_generator(thisArg, body) {
71
83
  },
72
84
  trys: [],
73
85
  ops: []
74
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
75
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () {
76
- return this;
86
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
87
+ return d(g, "next", {
88
+ value: verb(0)
89
+ }), d(g, "throw", {
90
+ value: verb(1)
91
+ }), d(g, "return", {
92
+ value: verb(2)
93
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
94
+ value: function () {
95
+ return this;
96
+ }
77
97
  }), g;
78
98
  function verb(n) {
79
99
  return function (v) {
@@ -167,13 +187,13 @@ import { createBase64PasswordAlgorithm } from "./createBase64PasswordAlgorithm.j
167
187
  import { createBcryptPasswordAlgorithm } from "./createBcryptPasswordAlgorithm.js";
168
188
  import { Password } from "./Password.js";
169
189
  describe("Password", function () {
170
- var check = function (_param) {
190
+ var check = function (_0) {
171
191
  return _async_to_generator(function () {
172
- var _param_password, password, rest, out, result;
192
+ var _0_password, password, rest, out, result;
173
193
  return _ts_generator(this, function (_state) {
174
194
  switch (_state.label) {
175
195
  case 0:
176
- _param_password = _param.password, password = _param_password === void 0 ? "1" : _param_password, rest = _object_without_properties(_param, [
196
+ _0_password = _0.password, password = _0_password === void 0 ? "1" : _0_password, rest = _object_without_properties(_0, [
177
197
  "password"
178
198
  ]);
179
199
  return [
@@ -255,20 +275,13 @@ describe("Password", function () {
255
275
  })
256
276
  ];
257
277
  case 6:
258
- _state.sent();
259
- return [
260
- 4,
261
- check({
262
- algorithm: "7"
263
- })
264
- ];
265
- case 7:
266
278
  _state.sent();
267
279
  return [
268
280
  2
269
281
  ];
270
282
  }
271
283
  });
284
+ // await check({ algorithm: '7' });
272
285
  })();
273
286
  });
274
287
  test("should verify manual created hash", function () {