@wener/common 2.0.5 → 2.0.6

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 (206) hide show
  1. package/lib/ai/qwen3vl/index.js +1 -1
  2. package/lib/ai/qwen3vl/utils.js +15 -15
  3. package/lib/ai/vision/DocLayoutElementTypeSchema.js +22 -22
  4. package/lib/ai/vision/ImageAnnotationSchema.js +63 -47
  5. package/lib/ai/vision/index.js +2 -2
  6. package/lib/ai/vision/resolveImageAnnotation.js +81 -95
  7. package/lib/cn/ChineseResidentIdNo.js +55 -41
  8. package/lib/cn/ChineseResidentIdNo.mod.js +6 -1
  9. package/lib/cn/ChineseResidentIdNo.test.js +22 -21
  10. package/lib/cn/DivisionCode.js +220 -235
  11. package/lib/cn/DivisionCode.mod.js +6 -1
  12. package/lib/cn/DivisionCode.test.js +92 -121
  13. package/lib/cn/Mod11.js +18 -37
  14. package/lib/cn/Mod31.js +23 -41
  15. package/lib/cn/UnifiedSocialCreditCode.js +143 -137
  16. package/lib/cn/UnifiedSocialCreditCode.mod.js +6 -1
  17. package/lib/cn/UnifiedSocialCreditCode.test.js +21 -15
  18. package/lib/cn/formatChineseAmount.js +46 -71
  19. package/lib/cn/index.js +6 -6
  20. package/lib/cn/mod.js +5 -3
  21. package/lib/cn/parseChineseNumber.js +81 -85
  22. package/lib/cn/parseChineseNumber.test.js +183 -261
  23. package/lib/cn/pinyin/cartesianProduct.js +19 -19
  24. package/lib/cn/pinyin/cartesianProduct.test.js +78 -178
  25. package/lib/cn/pinyin/loader.js +13 -11
  26. package/lib/cn/pinyin/preload.js +2 -1
  27. package/lib/cn/pinyin/toPinyin.test.js +149 -161
  28. package/lib/cn/pinyin/toPinyinPure.js +28 -23
  29. package/lib/cn/pinyin/transform.js +11 -11
  30. package/lib/cn/types.d.js +2 -2
  31. package/lib/consola/createStandardConsolaReporter.js +14 -15
  32. package/lib/consola/formatLogObject.js +149 -133
  33. package/lib/consola/formatLogObject.test.js +167 -178
  34. package/lib/consola/index.js +2 -2
  35. package/lib/data/formatSort.js +14 -12
  36. package/lib/data/formatSort.test.js +33 -33
  37. package/lib/data/index.js +3 -3
  38. package/lib/data/maybeNumber.js +23 -23
  39. package/lib/data/parseSort.js +75 -68
  40. package/lib/data/parseSort.test.js +196 -187
  41. package/lib/data/resolvePagination.js +38 -39
  42. package/lib/data/resolvePagination.test.js +228 -218
  43. package/lib/data/types.d.js +2 -2
  44. package/lib/dayjs/dayjs.js +20 -20
  45. package/lib/dayjs/formatDuration.js +56 -56
  46. package/lib/dayjs/formatDuration.test.js +63 -77
  47. package/lib/dayjs/index.js +4 -4
  48. package/lib/dayjs/parseDuration.js +21 -26
  49. package/lib/dayjs/parseRelativeTime.js +65 -66
  50. package/lib/dayjs/parseRelativeTime.test.js +227 -243
  51. package/lib/dayjs/resolveRelativeTime.js +73 -72
  52. package/lib/dayjs/resolveRelativeTime.test.js +296 -307
  53. package/lib/decimal/index.js +1 -1
  54. package/lib/decimal/parseDecimal.js +12 -12
  55. package/lib/drain3/Drain.js +303 -338
  56. package/lib/drain3/LogCluster.js +25 -25
  57. package/lib/drain3/Node.js +24 -24
  58. package/lib/drain3/TemplateMiner.js +197 -196
  59. package/lib/drain3/index.js +5 -5
  60. package/lib/drain3/persistence/FilePersistence.js +19 -19
  61. package/lib/drain3/persistence/MemoryPersistence.js +8 -8
  62. package/lib/drain3/persistence/PersistenceHandler.js +2 -2
  63. package/lib/drain3/types.js +2 -2
  64. package/lib/emittery/emitter.js +7 -7
  65. package/lib/emittery/index.js +1 -1
  66. package/lib/foundation/schema/SexType.js +15 -12
  67. package/lib/foundation/schema/index.js +1 -1
  68. package/lib/foundation/schema/parseSexType.js +15 -16
  69. package/lib/foundation/schema/types.js +8 -6
  70. package/lib/fs/FileSystemError.js +18 -18
  71. package/lib/fs/IFileSystem.d.js +2 -2
  72. package/lib/fs/MemoryFileSystem.test.js +172 -181
  73. package/lib/fs/createBrowserFileSystem.js +222 -235
  74. package/lib/fs/createMemoryFileSystem.js +472 -510
  75. package/lib/fs/createSandboxFileSystem.js +102 -101
  76. package/lib/fs/createWebDavFileSystem.js +162 -149
  77. package/lib/fs/createWebFileSystem.js +197 -220
  78. package/lib/fs/findMimeType.js +14 -14
  79. package/lib/fs/index.js +7 -7
  80. package/lib/fs/minio/createMinioFileSystem.js +959 -956
  81. package/lib/fs/minio/index.js +1 -1
  82. package/lib/fs/orpc/FileSystemContract.js +57 -57
  83. package/lib/fs/orpc/createContractClientFileSystem.js +88 -88
  84. package/lib/fs/orpc/index.js +2 -2
  85. package/lib/fs/orpc/server/createFileSystemContractImpl.js +62 -60
  86. package/lib/fs/orpc/server/index.js +1 -1
  87. package/lib/fs/s3/createS3MiniFileSystem.js +756 -737
  88. package/lib/fs/s3/index.js +1 -1
  89. package/lib/fs/s3/s3mini.test.js +524 -553
  90. package/lib/fs/scandir.js +56 -56
  91. package/lib/fs/server/createDatabaseFileSystem.js +834 -741
  92. package/lib/fs/server/createNodeFileSystem.js +407 -405
  93. package/lib/fs/server/dbfs.test.js +201 -214
  94. package/lib/fs/server/index.js +1 -1
  95. package/lib/fs/server/loadTestDatabase.js +40 -43
  96. package/lib/fs/tests/runFileSystemTest.js +352 -316
  97. package/lib/fs/types.js +17 -20
  98. package/lib/fs/utils/getFileUrl.js +24 -30
  99. package/lib/fs/utils.js +17 -17
  100. package/lib/fs/webdav/index.js +1 -1
  101. package/lib/index.js +2 -2
  102. package/lib/jsonschema/JsonSchema.js +216 -155
  103. package/lib/jsonschema/JsonSchema.test.js +123 -124
  104. package/lib/jsonschema/forEachJsonSchema.js +41 -41
  105. package/lib/jsonschema/index.js +2 -2
  106. package/lib/jsonschema/types.d.js +2 -2
  107. package/lib/meta/defineFileType.js +32 -38
  108. package/lib/meta/defineInit.js +39 -35
  109. package/lib/meta/defineMetadata.js +37 -34
  110. package/lib/meta/defineMetadata.test.js +13 -12
  111. package/lib/meta/index.js +3 -3
  112. package/lib/orpc/createOpenApiContractClient.js +26 -24
  113. package/lib/orpc/createRpcContractClient.js +37 -31
  114. package/lib/orpc/index.js +2 -2
  115. package/lib/orpc/resolveLinkPlugins.js +25 -25
  116. package/lib/password/PHC.js +187 -189
  117. package/lib/password/PHC.test.js +517 -535
  118. package/lib/password/Password.js +85 -80
  119. package/lib/password/Password.test.js +330 -364
  120. package/lib/password/createArgon2PasswordAlgorithm.js +50 -51
  121. package/lib/password/createBase64PasswordAlgorithm.js +11 -11
  122. package/lib/password/createBcryptPasswordAlgorithm.js +20 -18
  123. package/lib/password/createPBKDF2PasswordAlgorithm.js +65 -52
  124. package/lib/password/createScryptPasswordAlgorithm.js +74 -63
  125. package/lib/password/index.js +5 -5
  126. package/lib/password/server/index.js +1 -1
  127. package/lib/resource/Identifiable.js +2 -2
  128. package/lib/resource/ListQuery.js +42 -42
  129. package/lib/resource/getTitleOfResource.js +5 -5
  130. package/lib/resource/index.js +2 -2
  131. package/lib/resource/schema/AnyResourceSchema.js +91 -89
  132. package/lib/resource/schema/BaseResourceSchema.js +26 -26
  133. package/lib/resource/schema/ResourceActionType.js +117 -115
  134. package/lib/resource/schema/ResourceStatus.js +94 -92
  135. package/lib/resource/schema/ResourceType.js +25 -23
  136. package/lib/resource/schema/index.js +5 -5
  137. package/lib/resource/schema/types.js +86 -55
  138. package/lib/resource/schema/types.test.js +16 -13
  139. package/lib/s3/formatS3Url.js +60 -60
  140. package/lib/s3/formatS3Url.test.js +238 -261
  141. package/lib/s3/index.js +2 -2
  142. package/lib/s3/parseS3Url.js +61 -60
  143. package/lib/s3/parseS3Url.test.js +270 -269
  144. package/lib/schema/SchemaRegistry.js +41 -42
  145. package/lib/schema/SchemaRegistry.mod.js +1 -1
  146. package/lib/schema/TypeSchema.d.js +2 -2
  147. package/lib/schema/createSchemaData.js +113 -67
  148. package/lib/schema/findJsonSchemaByPath.js +28 -23
  149. package/lib/schema/formatZodError.js +112 -131
  150. package/lib/schema/formatZodError.test.js +192 -195
  151. package/lib/schema/getSchemaCache.js +7 -7
  152. package/lib/schema/getSchemaOptions.js +17 -16
  153. package/lib/schema/index.js +6 -6
  154. package/lib/schema/toJsonSchema.js +195 -189
  155. package/lib/schema/toJsonSchema.test.js +34 -26
  156. package/lib/schema/validate.js +105 -96
  157. package/lib/tools/generateSchema.js +40 -40
  158. package/lib/tools/renderJsonSchemaToMarkdownDoc.js +74 -74
  159. package/lib/utils/buildBaseUrl.js +8 -8
  160. package/lib/utils/buildRedactorFormSchema.js +54 -53
  161. package/lib/utils/getEstimateProcessTime.js +24 -19
  162. package/lib/utils/index.js +3 -3
  163. package/lib/utils/resolveFeatureOptions.js +9 -9
  164. package/package.json +14 -14
  165. package/src/ai/vision/index.ts +2 -2
  166. package/src/cn/index.ts +1 -2
  167. package/src/consola/index.ts +1 -1
  168. package/src/data/index.ts +3 -4
  169. package/src/data/resolvePagination.ts +2 -2
  170. package/src/dayjs/formatDuration.ts +8 -9
  171. package/src/dayjs/index.ts +1 -1
  172. package/src/dayjs/parseRelativeTime.ts +1 -1
  173. package/src/dayjs/resolveRelativeTime.ts +1 -1
  174. package/src/drain3/Drain.test.ts +2 -2
  175. package/src/drain3/index.ts +2 -4
  176. package/src/fs/createWebDavFileSystem.ts +2 -7
  177. package/src/fs/createWebFileSystem.ts +1 -1
  178. package/src/fs/index.ts +4 -4
  179. package/src/fs/minio/createMinioFileSystem.ts +2 -2
  180. package/src/fs/minio/index.ts +1 -1
  181. package/src/fs/s3/createS3MiniFileSystem.ts +1 -1
  182. package/src/fs/server/createDatabaseFileSystem.ts +84 -120
  183. package/src/fs/server/dbfs.test.ts +14 -10
  184. package/src/fs/server/index.ts +1 -0
  185. package/src/fs/server/loadTestDatabase.ts +8 -119
  186. package/src/jsonschema/index.ts +1 -1
  187. package/src/meta/index.ts +2 -3
  188. package/src/orm/createSqliteDialect.ts +17 -0
  189. package/src/orm/index.ts +1 -0
  190. package/src/orpc/createOpenApiContractClient.ts +1 -1
  191. package/src/orpc/index.ts +1 -1
  192. package/src/password/createArgon2PasswordAlgorithm.ts +1 -1
  193. package/src/password/index.ts +2 -2
  194. package/src/resource/index.ts +3 -3
  195. package/src/resource/schema/index.ts +4 -4
  196. package/src/s3/index.ts +1 -1
  197. package/src/schema/SchemaRegistry.ts +1 -1
  198. package/src/schema/createSchemaData.ts +1 -1
  199. package/src/schema/findJsonSchemaByPath.ts +1 -1
  200. package/src/schema/index.ts +5 -5
  201. package/src/schema/validate.ts +1 -1
  202. package/src/utils/buildRedactorFormSchema.ts +1 -1
  203. package/src/utils/formatNumber.ts +18 -0
  204. package/src/utils/formatPercent.ts +17 -0
  205. package/src/utils/index.ts +3 -3
  206. package/src/utils/resolveFeatureOptions.ts +1 -1
@@ -1,137 +1,136 @@
1
1
  function _array_like_to_array(arr, len) {
2
- if (len == null || len > arr.length)
3
- len = arr.length;
4
- for (var i = 0, arr2 = new Array(len); i < len; i++)
5
- arr2[i] = arr[i];
6
- return arr2;
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
4
+ return arr2;
7
5
  }
8
6
  function _array_with_holes(arr) {
9
- if (Array.isArray(arr))
10
- return arr;
7
+ if (Array.isArray(arr)) return arr;
11
8
  }
12
9
  function _iterable_to_array_limit(arr, i) {
13
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
14
- if (_i == null)
15
- return;
16
- var _arr = [];
17
- var _n = true;
18
- var _d = false;
19
- var _s, _e;
20
- try {
21
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
22
- _arr.push(_s.value);
23
- if (i && _arr.length === i)
24
- break;
25
- }
26
- }
27
- catch (err) {
28
- _d = true;
29
- _e = err;
30
- }
31
- finally {
32
- try {
33
- if (!_n && _i["return"] != null)
34
- _i["return"]();
35
- }
36
- finally {
37
- if (_d)
38
- throw _e;
39
- }
40
- }
41
- return _arr;
10
+ var _i = arr == null ? null : (typeof Symbol !== 'undefined' && arr[Symbol.iterator]) || arr['@@iterator'];
11
+ if (_i == null) return;
12
+ var _arr = [];
13
+ var _n = true;
14
+ var _d = false;
15
+ var _s, _e;
16
+ try {
17
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
18
+ _arr.push(_s.value);
19
+ if (i && _arr.length === i) break;
20
+ }
21
+ } catch (err) {
22
+ _d = true;
23
+ _e = err;
24
+ } finally {
25
+ try {
26
+ if (!_n && _i['return'] != null) _i['return']();
27
+ } finally {
28
+ if (_d) throw _e;
29
+ }
30
+ }
31
+ return _arr;
42
32
  }
43
33
  function _non_iterable_rest() {
44
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
34
+ throw new TypeError(
35
+ 'Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
36
+ );
45
37
  }
46
38
  function _sliced_to_array(arr, i) {
47
- return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
39
+ return (
40
+ _array_with_holes(arr) ||
41
+ _iterable_to_array_limit(arr, i) ||
42
+ _unsupported_iterable_to_array(arr, i) ||
43
+ _non_iterable_rest()
44
+ );
48
45
  }
49
46
  function _unsupported_iterable_to_array(o, minLen) {
50
- if (!o)
51
- return;
52
- if (typeof o === "string")
53
- return _array_like_to_array(o, minLen);
54
- var n = Object.prototype.toString.call(o).slice(8, -1);
55
- if (n === "Object" && o.constructor)
56
- n = o.constructor.name;
57
- if (n === "Map" || n === "Set")
58
- return Array.from(n);
59
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
60
- return _array_like_to_array(o, minLen);
47
+ if (!o) return;
48
+ if (typeof o === 'string') return _array_like_to_array(o, minLen);
49
+ var n = Object.prototype.toString.call(o).slice(8, -1);
50
+ if (n === 'Object' && o.constructor) n = o.constructor.name;
51
+ if (n === 'Map' || n === 'Set') return Array.from(n);
52
+ if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
61
53
  }
62
- import { describe, expect, it } from "vitest";
63
- import { JsonSchema } from "./JsonSchema.js";
64
- describe("jsonschema", function () {
65
- it("should create from schema", function () {
66
- for (var _i = 0, _iter = [
67
- [
68
- {
69
- type: "string"
70
- },
71
- ""
72
- ],
73
- [
74
- {
75
- type: "number"
76
- },
77
- 0
78
- ],
79
- [
80
- {
81
- type: "number",
82
- default: 1
83
- },
84
- 1
85
- ],
86
- [
87
- {
88
- type: "integer"
89
- },
90
- 0
91
- ],
92
- [
93
- {
94
- type: "array"
95
- },
96
- []
97
- ],
98
- [
99
- {
100
- type: "object"
101
- },
102
- {}
103
- ],
104
- [
105
- {
106
- type: "object",
107
- properties: {
108
- a: {
109
- type: "string"
110
- }
111
- },
112
- required: [
113
- "a"
114
- ]
115
- },
116
- {
117
- a: ""
118
- }
119
- ]
120
- ]; _i < _iter.length; _i++) {
121
- var _iter__i = _sliced_to_array(_iter[_i], 2), a = _iter__i[0], b = _iter__i[1];
122
- expect(JsonSchema.create(a)).toEqual(b);
123
- }
124
- });
125
- it("should match typebox types", function () {
126
- var a;
127
- var b;
128
- a = b;
129
- });
130
- it("should match ajv types", function () {
131
- var a;
132
- var b;
133
- var c;
134
- a = b;
135
- // a = c;
136
- });
54
+
55
+ import { describe, expect, it } from 'vitest';
56
+ import { JsonSchema } from './JsonSchema.js';
57
+
58
+ describe('jsonschema', () => {
59
+ it('should create from schema', () => {
60
+ for (
61
+ var _i = 0,
62
+ _iter = [
63
+ [
64
+ {
65
+ type: 'string',
66
+ },
67
+ '',
68
+ ],
69
+ [
70
+ {
71
+ type: 'number',
72
+ },
73
+ 0,
74
+ ],
75
+ [
76
+ {
77
+ type: 'number',
78
+ default: 1,
79
+ },
80
+ 1,
81
+ ],
82
+ [
83
+ {
84
+ type: 'integer',
85
+ },
86
+ 0,
87
+ ],
88
+ [
89
+ {
90
+ type: 'array',
91
+ },
92
+ [],
93
+ ],
94
+ [
95
+ {
96
+ type: 'object',
97
+ },
98
+ {},
99
+ ],
100
+ [
101
+ {
102
+ type: 'object',
103
+ properties: {
104
+ a: {
105
+ type: 'string',
106
+ },
107
+ },
108
+ required: ['a'],
109
+ },
110
+ {
111
+ a: '',
112
+ },
113
+ ],
114
+ ];
115
+ _i < _iter.length;
116
+ _i++
117
+ ) {
118
+ var _iter__i = _sliced_to_array(_iter[_i], 2),
119
+ a = _iter__i[0],
120
+ b = _iter__i[1];
121
+ expect(JsonSchema.create(a)).toEqual(b);
122
+ }
123
+ });
124
+ it('should match typebox types', () => {
125
+ var a;
126
+ var b;
127
+ a = b;
128
+ });
129
+ it('should match ajv types', () => {
130
+ var a;
131
+ var b;
132
+ var c;
133
+ a = b;
134
+ // a = c;
135
+ });
137
136
  });
@@ -1,44 +1,44 @@
1
1
  export function forEachJsonSchema(js, cb) {
2
- const ctx = {
3
- path: []
4
- };
5
- const _visit = (js, _f, parent, path, _k)=>{
6
- if (!js) {
7
- return;
8
- }
9
- ctx.path = path;
10
- ctx.parent = parent;
11
- _f(js, ctx);
12
- if (js.properties) {
13
- for (const [k, v] of Object.entries(js.properties)){
14
- if (v) {
15
- _visit(v, _f, js, path.concat(k), 'properties');
16
- }
17
- }
18
- } else if (js.items) {
19
- // array should be `key[].subkey` or `key.*.subkey`?
20
- if (Array.isArray(js.items)) {
21
- for (const v of js.items){
22
- _visit(v, _f, js, path, 'items');
23
- }
24
- } else {
25
- _visit(js.items, _f, js, path, 'items');
26
- }
27
- } else if (js.anyOf) {
28
- for (const v of js.anyOf){
29
- _visit(v, _f, js, path, 'anyOf');
30
- }
31
- } else if (js.oneOf) {
32
- for (const v of js.oneOf){
33
- _visit(v, _f, js, path, 'oneOf');
34
- }
35
- } else if (js.allOf) {
36
- for (const v of js.allOf){
37
- _visit(v, _f, js, path, 'allOf');
38
- }
39
- }
40
- };
41
- _visit(js, cb, undefined, []);
2
+ const ctx = {
3
+ path: [],
4
+ };
5
+ const _visit = (js, _f, parent, path, _k) => {
6
+ if (!js) {
7
+ return;
8
+ }
9
+ ctx.path = path;
10
+ ctx.parent = parent;
11
+ _f(js, ctx);
12
+ if (js.properties) {
13
+ for (const [k, v] of Object.entries(js.properties)) {
14
+ if (v) {
15
+ _visit(v, _f, js, path.concat(k), 'properties');
16
+ }
17
+ }
18
+ } else if (js.items) {
19
+ // array should be `key[].subkey` or `key.*.subkey`?
20
+ if (Array.isArray(js.items)) {
21
+ for (const v of js.items) {
22
+ _visit(v, _f, js, path, 'items');
23
+ }
24
+ } else {
25
+ _visit(js.items, _f, js, path, 'items');
26
+ }
27
+ } else if (js.anyOf) {
28
+ for (const v of js.anyOf) {
29
+ _visit(v, _f, js, path, 'anyOf');
30
+ }
31
+ } else if (js.oneOf) {
32
+ for (const v of js.oneOf) {
33
+ _visit(v, _f, js, path, 'oneOf');
34
+ }
35
+ } else if (js.allOf) {
36
+ for (const v of js.allOf) {
37
+ _visit(v, _f, js, path, 'allOf');
38
+ }
39
+ }
40
+ };
41
+ _visit(js, cb, undefined, []);
42
42
  }
43
43
 
44
- //# sourceMappingURL=forEachJsonSchema.js.map
44
+ //# sourceMappingURL=forEachJsonSchema.js.map
@@ -1,3 +1,3 @@
1
- export { JsonSchema } from "./JsonSchema.js";
2
- export { forEachJsonSchema } from "./forEachJsonSchema.js";
1
+ export { forEachJsonSchema } from './forEachJsonSchema.js';
2
+ export { JsonSchema } from './JsonSchema.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -2,6 +2,6 @@
2
2
  * JSON Schema Definition
3
3
  *
4
4
  * @see https://json-schema.org/specification-links.html
5
- */ export { };
5
+ */ export {};
6
6
 
7
- //# sourceMappingURL=types.d.js.map
7
+ //# sourceMappingURL=types.d.js.map
@@ -1,44 +1,38 @@
1
1
  let _all = [];
2
2
  export function defineFileType({ type = '', types = [], extension = '', extensions = [], ...opts }) {
3
- if (!type) {
4
- type = types[0] || '';
5
- }
6
- if (!extension) {
7
- extension = extensions[0] || '';
8
- }
9
- if (!types.includes(type)) {
10
- types = [
11
- type,
12
- ...types
13
- ];
14
- }
15
- if (!extensions.includes(extension)) {
16
- extensions = [
17
- extension,
18
- ...extensions
19
- ];
20
- }
21
- const def = {
22
- title: opts.title || opts.name,
23
- type,
24
- extension,
25
- types,
26
- extensions,
27
- tags: [],
28
- metadata: {},
29
- ...opts
30
- };
31
- let idx = _all.findIndex((v)=>v.name === def.name);
32
- if (idx >= 0) {
33
- _all[idx] = def;
34
- console.warn(`File type ${def.name} is redefined`);
35
- } else {
36
- _all.push(def);
37
- }
38
- return def;
3
+ if (!type) {
4
+ type = types[0] || '';
5
+ }
6
+ if (!extension) {
7
+ extension = extensions[0] || '';
8
+ }
9
+ if (!types.includes(type)) {
10
+ types = [type, ...types];
11
+ }
12
+ if (!extensions.includes(extension)) {
13
+ extensions = [extension, ...extensions];
14
+ }
15
+ const def = {
16
+ title: opts.title || opts.name,
17
+ type,
18
+ extension,
19
+ types,
20
+ extensions,
21
+ tags: [],
22
+ metadata: {},
23
+ ...opts,
24
+ };
25
+ let idx = _all.findIndex((v) => v.name === def.name);
26
+ if (idx >= 0) {
27
+ _all[idx] = def;
28
+ console.warn(`File type ${def.name} is redefined`);
29
+ } else {
30
+ _all.push(def);
31
+ }
32
+ return def;
39
33
  }
40
34
  export function getFileType() {
41
- return _all;
35
+ return _all;
42
36
  }
43
37
 
44
- //# sourceMappingURL=defineFileType.js.map
38
+ //# sourceMappingURL=defineFileType.js.map
@@ -1,42 +1,46 @@
1
- import { startCase } from "es-toolkit";
1
+ import { startCase } from 'es-toolkit';
2
+
2
3
  let _all = [];
3
4
  export function defineInit(o) {
4
- const def = {
5
- title: startCase(o.name),
6
- metadata: {},
7
- ...o
8
- };
9
- let idx = _all.findIndex((v)=>v.name === def.name);
10
- if (idx >= 0) {
11
- console.warn(`skip redefined init: ${def.name}`);
12
- } else {
13
- _all.push(def);
14
- }
15
- return def;
5
+ const def = {
6
+ title: startCase(o.name),
7
+ metadata: {},
8
+ ...o,
9
+ };
10
+ let idx = _all.findIndex((v) => v.name === def.name);
11
+ if (idx >= 0) {
12
+ console.warn(`skip redefined init: ${def.name}`);
13
+ } else {
14
+ _all.push(def);
15
+ }
16
+ return def;
16
17
  }
17
18
  let result = new Map();
18
19
  export async function runInit(inits = _all) {
19
- for (let init of inits){
20
- if (result.get(init)) {
21
- return;
22
- }
23
- result.set(init, Promise.resolve().then(async ()=>{
24
- let out = {
25
- name: init.name,
26
- success: true
27
- };
28
- try {
29
- await init.onInit?.();
30
- } catch (e) {
31
- console.error(`Failed to init ${init.name}`, e);
32
- out.success = false;
33
- out.error = e;
34
- }
35
- result.set(init, out);
36
- return out;
37
- }));
38
- }
39
- return Promise.all(result.values());
20
+ for (let init of inits) {
21
+ if (result.get(init)) {
22
+ return;
23
+ }
24
+ result.set(
25
+ init,
26
+ Promise.resolve().then(async () => {
27
+ let out = {
28
+ name: init.name,
29
+ success: true,
30
+ };
31
+ try {
32
+ await init.onInit?.();
33
+ } catch (e) {
34
+ console.error(`Failed to init ${init.name}`, e);
35
+ out.success = false;
36
+ out.error = e;
37
+ }
38
+ result.set(init, out);
39
+ return out;
40
+ }),
41
+ );
42
+ }
43
+ return Promise.all(result.values());
40
44
  }
41
45
 
42
- //# sourceMappingURL=defineInit.js.map
46
+ //# sourceMappingURL=defineInit.js.map
@@ -1,41 +1,44 @@
1
- import { startCase } from "es-toolkit";
2
- import { get, set } from "es-toolkit/compat";
1
+ import { startCase } from 'es-toolkit';
2
+ import { get, set } from 'es-toolkit/compat';
3
3
  export function createMetadataKey(a, b) {
4
- const opts = typeof a === 'string' ? {
5
- key: a,
6
- ...b
7
- } : a;
8
- const { key } = opts;
9
- opts.title ||= startCase(key);
10
- const k = {
11
- ...opts,
12
- type: null
13
- };
14
- if ('toStringTag' in Symbol && typeof Symbol.toStringTag === 'symbol') {
15
- Object.defineProperty(k, Symbol.toStringTag, {
16
- value: key
17
- });
18
- }
19
- return k;
4
+ const opts =
5
+ typeof a === 'string'
6
+ ? {
7
+ key: a,
8
+ ...b,
9
+ }
10
+ : a;
11
+ const { key } = opts;
12
+ opts.title ||= startCase(key);
13
+ const k = {
14
+ ...opts,
15
+ type: null,
16
+ };
17
+ if ('toStringTag' in Symbol && typeof Symbol.toStringTag === 'symbol') {
18
+ Object.defineProperty(k, Symbol.toStringTag, {
19
+ value: key,
20
+ });
21
+ }
22
+ return k;
20
23
  }
21
24
  export function defineMetadata(a, b, c) {
22
- if (Array.isArray(b)) {
23
- const key = a;
24
- const items = b;
25
- for (const [res, opts] of items){
26
- defineMetadata(res, key, opts);
27
- }
28
- } else {
29
- const res = a;
30
- const key = b;
31
- const opts = c;
32
- res.metadata = res.metadata || {};
33
- set(res.metadata, key.key, opts);
34
- }
25
+ if (Array.isArray(b)) {
26
+ const key = a;
27
+ const items = b;
28
+ for (const [res, opts] of items) {
29
+ defineMetadata(res, key, opts);
30
+ }
31
+ } else {
32
+ const res = a;
33
+ const key = b;
34
+ const opts = c;
35
+ res.metadata = res.metadata || {};
36
+ set(res.metadata, key.key, opts);
37
+ }
35
38
  }
36
39
  export function getMetadata(res, key) {
37
- if (!res?.metadata) return undefined;
38
- return get(res.metadata, key.key);
40
+ if (!res?.metadata) return undefined;
41
+ return get(res.metadata, key.key);
39
42
  }
40
43
 
41
- //# sourceMappingURL=defineMetadata.js.map
44
+ //# sourceMappingURL=defineMetadata.js.map
@@ -1,13 +1,14 @@
1
- import { expect, test } from "vitest";
2
- import { createMetadataKey, defineMetadata, getMetadata } from "./defineMetadata.js";
3
- test("defineMetadata", function () {
4
- var key = createMetadataKey("name");
5
- var user = {
6
- metadata: {}
7
- };
8
- defineMetadata(user, key, "wener");
9
- expect(user.metadata).toEqual({
10
- name: "wener"
11
- });
12
- expect(getMetadata(user, key)).toEqual("wener");
1
+ import { expect, test } from 'vitest';
2
+ import { createMetadataKey, defineMetadata, getMetadata } from './defineMetadata.js';
3
+
4
+ test('defineMetadata', () => {
5
+ var key = createMetadataKey('name');
6
+ var user = {
7
+ metadata: {},
8
+ };
9
+ defineMetadata(user, key, 'wener');
10
+ expect(user.metadata).toEqual({
11
+ name: 'wener',
12
+ });
13
+ expect(getMetadata(user, key)).toEqual('wener');
13
14
  });
package/lib/meta/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { createMetadataKey, defineMetadata, getMetadata } from "./defineMetadata.js";
2
- export { defineInit, runInit } from "./defineInit.js";
3
- export { defineFileType, getFileType } from "./defineFileType.js";
1
+ export { defineFileType, getFileType } from './defineFileType.js';
2
+ export { defineInit, runInit } from './defineInit.js';
3
+ export { createMetadataKey, defineMetadata, getMetadata } from './defineMetadata.js';
4
4
  //# sourceMappingURL=index.js.map