@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.
- package/lib/ai/qwen3vl/index.js +2 -0
- package/lib/ai/qwen3vl/index.js.map +1 -0
- package/lib/ai/qwen3vl/utils.js +31 -0
- package/lib/ai/qwen3vl/utils.js.map +1 -0
- package/lib/ai/vision/DocLayoutElementTypeSchema.js +28 -0
- package/lib/ai/vision/DocLayoutElementTypeSchema.js.map +1 -0
- package/lib/ai/vision/ImageAnnotationSchema.js +50 -0
- package/lib/ai/vision/ImageAnnotationSchema.js.map +1 -0
- package/lib/ai/vision/index.js +3 -0
- package/lib/ai/vision/index.js.map +1 -0
- package/lib/ai/vision/resolveImageAnnotation.js +105 -0
- package/lib/ai/vision/resolveImageAnnotation.js.map +1 -0
- package/lib/cn/ChineseResidentIdNo.js +21 -14
- package/lib/cn/ChineseResidentIdNo.js.map +1 -0
- package/lib/cn/ChineseResidentIdNo.test.js +1 -1
- package/lib/cn/DivisionCode.js +30 -25
- package/lib/cn/DivisionCode.js.map +1 -0
- package/lib/cn/DivisionCode.test.js +1 -1
- package/lib/cn/Mod11.js +38 -81
- package/lib/cn/Mod11.js.map +1 -0
- package/lib/cn/Mod31.js +41 -90
- package/lib/cn/Mod31.js.map +1 -0
- package/lib/cn/UnifiedSocialCreditCode.js +43 -34
- package/lib/cn/UnifiedSocialCreditCode.js.map +1 -0
- package/lib/cn/UnifiedSocialCreditCode.test.js +1 -1
- package/lib/cn/formatChineseAmount.js +77 -0
- package/lib/cn/formatChineseAmount.js.map +1 -0
- package/lib/cn/index.js +7 -1
- package/lib/cn/index.js.map +1 -0
- package/lib/cn/parseChineseNumber.js +94 -0
- package/lib/cn/parseChineseNumber.js.map +1 -0
- package/lib/cn/parseChineseNumber.test.js +278 -0
- package/lib/cn/pinyin/cartesianProduct.js +22 -0
- package/lib/cn/pinyin/cartesianProduct.js.map +1 -0
- package/lib/cn/pinyin/cartesianProduct.test.js +179 -0
- package/lib/cn/pinyin/data.json +23573 -0
- package/lib/cn/pinyin/loader.js +14 -0
- package/lib/cn/pinyin/loader.js.map +1 -0
- package/lib/cn/pinyin/preload.js +3 -0
- package/lib/cn/pinyin/preload.js.map +1 -0
- package/lib/cn/pinyin/toPinyin.test.js +167 -0
- package/lib/cn/pinyin/toPinyinPure.js +33 -0
- package/lib/cn/pinyin/toPinyinPure.js.map +1 -0
- package/lib/cn/pinyin/transform.js +14 -0
- package/lib/cn/pinyin/transform.js.map +1 -0
- package/lib/cn/types.d.js +2 -0
- package/lib/cn/types.d.js.map +1 -0
- package/lib/consola/createStandardConsolaReporter.js +6 -6
- package/lib/consola/createStandardConsolaReporter.js.map +1 -0
- package/lib/consola/formatLogObject.js +65 -145
- package/lib/consola/formatLogObject.js.map +1 -0
- package/lib/consola/formatLogObject.test.js +184 -0
- package/lib/consola/index.js +1 -0
- package/lib/consola/index.js.map +1 -0
- package/lib/data/formatSort.js +6 -5
- package/lib/data/formatSort.js.map +1 -0
- package/lib/data/index.js +1 -0
- package/lib/data/index.js.map +1 -0
- package/lib/data/maybeNumber.js +5 -7
- package/lib/data/maybeNumber.js.map +1 -0
- package/lib/data/parseSort.js +22 -28
- package/lib/data/parseSort.js.map +1 -0
- package/lib/data/resolvePagination.js +13 -17
- package/lib/data/resolvePagination.js.map +1 -0
- package/lib/data/types.d.js +2 -0
- package/lib/data/types.d.js.map +1 -0
- package/lib/dayjs/dayjs.js +21 -19
- package/lib/dayjs/dayjs.js.map +1 -0
- package/lib/dayjs/formatDuration.js +15 -14
- package/lib/dayjs/formatDuration.js.map +1 -0
- package/lib/dayjs/index.js +2 -0
- package/lib/dayjs/index.js.map +1 -0
- package/lib/dayjs/parseDuration.js +5 -8
- package/lib/dayjs/parseDuration.js.map +1 -0
- package/lib/dayjs/parseRelativeTime.js +90 -0
- package/lib/dayjs/parseRelativeTime.js.map +1 -0
- package/lib/dayjs/parseRelativeTime.test.js +247 -0
- package/lib/dayjs/resolveRelativeTime.js +158 -0
- package/lib/dayjs/resolveRelativeTime.js.map +1 -0
- package/lib/dayjs/resolveRelativeTime.test.js +310 -0
- package/lib/decimal/index.js +1 -0
- package/lib/decimal/index.js.map +1 -0
- package/lib/decimal/parseDecimal.js +3 -1
- package/lib/decimal/parseDecimal.js.map +1 -0
- package/lib/emittery/emitter.js +10 -0
- package/lib/emittery/emitter.js.map +1 -0
- package/lib/emittery/index.js +2 -0
- package/lib/emittery/index.js.map +1 -0
- package/lib/foundation/schema/SexType.js +5 -3
- package/lib/foundation/schema/SexType.js.map +1 -0
- package/lib/foundation/schema/index.js +1 -0
- package/lib/foundation/schema/index.js.map +1 -0
- package/lib/foundation/schema/parseSexType.js +1 -0
- package/lib/foundation/schema/parseSexType.js.map +1 -0
- package/lib/foundation/schema/types.js +4 -2
- package/lib/foundation/schema/types.js.map +1 -0
- package/lib/fs/FileSystemError.js +23 -0
- package/lib/fs/FileSystemError.js.map +1 -0
- package/lib/fs/IFileSystem.d.js +3 -0
- package/lib/fs/IFileSystem.d.js.map +1 -0
- package/lib/fs/MemoryFileSystem.test.js +188 -0
- package/lib/fs/createBrowserFileSystem.js +248 -0
- package/lib/fs/createBrowserFileSystem.js.map +1 -0
- package/lib/fs/createMemoryFileSystem.js +516 -0
- package/lib/fs/createMemoryFileSystem.js.map +1 -0
- package/lib/fs/createSandboxFileSystem.js +108 -0
- package/lib/fs/createSandboxFileSystem.js.map +1 -0
- package/lib/fs/createWebDavFileSystem.js +137 -0
- package/lib/fs/createWebDavFileSystem.js.map +1 -0
- package/lib/fs/findMimeType.js +17 -0
- package/lib/fs/findMimeType.js.map +1 -0
- package/lib/fs/index.js +8 -0
- package/lib/fs/index.js.map +1 -0
- package/lib/fs/orpc/FileSystemContract.js +93 -0
- package/lib/fs/orpc/FileSystemContract.js.map +1 -0
- package/lib/fs/orpc/createContractClientFileSystem.js +93 -0
- package/lib/fs/orpc/createContractClientFileSystem.js.map +1 -0
- package/lib/fs/orpc/index.js +3 -0
- package/lib/fs/orpc/index.js.map +1 -0
- package/lib/fs/orpc/server/createFileSystemContractImpl.js +63 -0
- package/lib/fs/orpc/server/createFileSystemContractImpl.js.map +1 -0
- package/lib/fs/orpc/server/index.js +2 -0
- package/lib/fs/orpc/server/index.js.map +1 -0
- package/lib/fs/s3/createS3MiniFileSystem.js +705 -0
- package/lib/fs/s3/createS3MiniFileSystem.js.map +1 -0
- package/lib/fs/s3/index.js +2 -0
- package/lib/fs/s3/index.js.map +1 -0
- package/lib/fs/s3/s3mini.test.js +584 -0
- package/lib/fs/scandir.js +59 -0
- package/lib/fs/scandir.js.map +1 -0
- package/lib/fs/server/createDatabaseFileSystem.js +750 -0
- package/lib/fs/server/createDatabaseFileSystem.js.map +1 -0
- package/lib/fs/server/createNodeFileSystem.js +401 -0
- package/lib/fs/server/createNodeFileSystem.js.map +1 -0
- package/lib/fs/server/dbfs.test.js +221 -0
- package/lib/fs/server/index.js +2 -0
- package/lib/fs/server/index.js.map +1 -0
- package/lib/fs/server/loadTestDatabase.js +127 -0
- package/lib/fs/server/loadTestDatabase.js.map +1 -0
- package/lib/fs/tests/runFileSystemTest.js +318 -0
- package/lib/fs/tests/runFileSystemTest.js.map +1 -0
- package/lib/fs/types.js +27 -0
- package/lib/fs/types.js.map +1 -0
- package/lib/fs/utils/getFileUrl.js +35 -0
- package/lib/fs/utils/getFileUrl.js.map +1 -0
- package/lib/fs/utils.js +22 -0
- package/lib/fs/utils.js.map +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -0
- package/lib/jsonschema/JsonSchema.js +146 -172
- package/lib/jsonschema/JsonSchema.js.map +1 -0
- package/lib/jsonschema/forEachJsonSchema.js +44 -0
- package/lib/jsonschema/forEachJsonSchema.js.map +1 -0
- package/lib/jsonschema/index.js +2 -0
- package/lib/jsonschema/index.js.map +1 -0
- package/lib/jsonschema/types.d.js +2 -0
- package/lib/jsonschema/types.d.js.map +1 -0
- package/lib/meta/defineFileType.js +20 -103
- package/lib/meta/defineFileType.js.map +1 -0
- package/lib/meta/defineInit.js +31 -250
- package/lib/meta/defineInit.js.map +1 -0
- package/lib/meta/defineMetadata.js +24 -140
- package/lib/meta/defineMetadata.js.map +1 -0
- package/lib/meta/index.js +1 -0
- package/lib/meta/index.js.map +1 -0
- package/lib/orpc/createOpenApiContractClient.js +27 -0
- package/lib/orpc/createOpenApiContractClient.js.map +1 -0
- package/lib/orpc/createRpcContractClient.js +34 -0
- package/lib/orpc/createRpcContractClient.js.map +1 -0
- package/lib/orpc/index.js +3 -0
- package/lib/orpc/index.js.map +1 -0
- package/lib/orpc/resolveLinkPlugins.js +28 -0
- package/lib/orpc/resolveLinkPlugins.js.map +1 -0
- package/lib/password/PHC.js +63 -87
- package/lib/password/PHC.js.map +1 -0
- package/lib/password/PHC.test.js +11 -3
- package/lib/password/Password.js +29 -294
- package/lib/password/Password.js.map +1 -0
- package/lib/password/Password.test.js +35 -22
- package/lib/password/createArgon2PasswordAlgorithm.js +35 -191
- package/lib/password/createArgon2PasswordAlgorithm.js.map +1 -0
- package/lib/password/createBase64PasswordAlgorithm.js +8 -141
- package/lib/password/createBase64PasswordAlgorithm.js.map +1 -0
- package/lib/password/createBcryptPasswordAlgorithm.js +13 -168
- package/lib/password/createBcryptPasswordAlgorithm.js.map +1 -0
- package/lib/password/createPBKDF2PasswordAlgorithm.js +46 -228
- package/lib/password/createPBKDF2PasswordAlgorithm.js.map +1 -0
- package/lib/password/createScryptPasswordAlgorithm.js +55 -211
- package/lib/password/createScryptPasswordAlgorithm.js.map +1 -0
- package/lib/password/index.js +1 -0
- package/lib/password/index.js.map +1 -0
- package/lib/password/server/index.js +1 -0
- package/lib/password/server/index.js.map +1 -0
- package/lib/resource/Identifiable.js +2 -0
- package/lib/resource/Identifiable.js.map +1 -0
- package/lib/resource/ListQuery.js +21 -93
- package/lib/resource/ListQuery.js.map +1 -0
- package/lib/resource/getTitleOfResource.js +3 -5
- package/lib/resource/getTitleOfResource.js.map +1 -0
- package/lib/resource/index.js +1 -0
- package/lib/resource/index.js.map +1 -0
- package/lib/resource/schema/AnyResourceSchema.js +2 -1
- package/lib/resource/schema/AnyResourceSchema.js.map +1 -0
- package/lib/resource/schema/BaseResourceSchema.js +2 -1
- package/lib/resource/schema/BaseResourceSchema.js.map +1 -0
- package/lib/resource/schema/ResourceActionType.js +6 -4
- package/lib/resource/schema/ResourceActionType.js.map +1 -0
- package/lib/resource/schema/ResourceStatus.js +5 -3
- package/lib/resource/schema/ResourceStatus.js.map +1 -0
- package/lib/resource/schema/ResourceType.js +5 -3
- package/lib/resource/schema/ResourceType.js.map +1 -0
- package/lib/resource/schema/index.js +1 -0
- package/lib/resource/schema/index.js.map +1 -0
- package/lib/resource/schema/types.js +16 -20
- package/lib/resource/schema/types.js.map +1 -0
- package/lib/s3/formatS3Url.js +65 -0
- package/lib/s3/formatS3Url.js.map +1 -0
- package/lib/s3/formatS3Url.test.js +262 -0
- package/lib/s3/index.js +3 -0
- package/lib/s3/index.js.map +1 -0
- package/lib/s3/parseS3Url.js +65 -0
- package/lib/s3/parseS3Url.js.map +1 -0
- package/lib/s3/parseS3Url.test.js +270 -0
- package/lib/schema/SchemaRegistry.js +38 -38
- package/lib/schema/SchemaRegistry.js.map +1 -0
- package/lib/schema/TypeSchema.d.js +2 -0
- package/lib/schema/TypeSchema.d.js.map +1 -0
- package/lib/schema/createSchemaData.js +26 -125
- package/lib/schema/createSchemaData.js.map +1 -0
- package/lib/schema/findJsonSchemaByPath.js +13 -36
- package/lib/schema/findJsonSchemaByPath.js.map +1 -0
- package/lib/schema/formatZodError.js +140 -0
- package/lib/schema/formatZodError.js.map +1 -0
- package/lib/schema/formatZodError.test.js +196 -0
- package/lib/schema/getSchemaCache.js +5 -5
- package/lib/schema/getSchemaCache.js.map +1 -0
- package/lib/schema/getSchemaOptions.js +8 -11
- package/lib/schema/getSchemaOptions.js.map +1 -0
- package/lib/schema/index.js +2 -1
- package/lib/schema/index.js.map +1 -0
- package/lib/schema/toJsonSchema.js +47 -290
- package/lib/schema/toJsonSchema.js.map +1 -0
- package/lib/schema/validate.js +33 -45
- package/lib/schema/validate.js.map +1 -0
- package/lib/tools/generateSchema.js +39 -197
- package/lib/tools/generateSchema.js.map +1 -0
- package/lib/tools/renderJsonSchemaToMarkdownDoc.js +55 -143
- package/lib/tools/renderJsonSchemaToMarkdownDoc.js.map +1 -0
- package/lib/utils/buildBaseUrl.js +13 -0
- package/lib/utils/buildBaseUrl.js.map +1 -0
- package/lib/utils/buildRedactorFormSchema.js +59 -0
- package/lib/utils/buildRedactorFormSchema.js.map +1 -0
- package/lib/utils/getEstimateProcessTime.js +12 -11
- package/lib/utils/getEstimateProcessTime.js.map +1 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/resolveFeatureOptions.js +12 -0
- package/lib/utils/resolveFeatureOptions.js.map +1 -0
- package/package.json +61 -13
- package/src/ai/qwen3vl/index.ts +1 -0
- package/src/ai/qwen3vl/utils.ts +36 -0
- package/src/ai/vision/DocLayoutElementTypeSchema.ts +30 -0
- package/src/ai/vision/ImageAnnotationSchema.ts +60 -0
- package/src/ai/vision/index.ts +2 -0
- package/src/ai/vision/resolveImageAnnotation.ts +135 -0
- package/src/cn/ChineseResidentIdNo.test.ts +1 -1
- package/src/cn/ChineseResidentIdNo.ts +8 -0
- package/src/cn/DivisionCode.test.ts +1 -1
- package/src/cn/DivisionCode.ts +8 -0
- package/src/cn/UnifiedSocialCreditCode.test.ts +1 -1
- package/src/cn/UnifiedSocialCreditCode.ts +15 -0
- package/src/cn/__snapshots__/UnifiedSocialCreditCode.test.ts.snap +23 -0
- package/src/cn/formatChineseAmount.ts +61 -0
- package/src/cn/index.ts +7 -1
- package/src/cn/parseChineseNumber.test.ts +159 -0
- package/src/cn/parseChineseNumber.ts +97 -0
- package/src/cn/pinyin/cartesianProduct.test.ts +64 -0
- package/src/cn/pinyin/cartesianProduct.ts +24 -0
- package/src/cn/pinyin/data.json +23573 -0
- package/src/cn/pinyin/loader.ts +12 -0
- package/src/cn/pinyin/preload.ts +3 -0
- package/src/cn/pinyin/toPinyin.test.ts +12 -0
- package/src/cn/pinyin/toPinyinPure.ts +43 -0
- package/src/cn/pinyin/transform.ts +12 -0
- package/src/consola/formatLogObject.test.ts +27 -0
- package/src/consola/formatLogObject.ts +34 -6
- package/src/dayjs/dayjs.ts +18 -18
- package/src/dayjs/index.ts +3 -1
- package/src/dayjs/parseRelativeTime.test.ts +185 -0
- package/src/dayjs/parseRelativeTime.ts +115 -0
- package/src/dayjs/resolveRelativeTime.test.ts +357 -0
- package/src/dayjs/resolveRelativeTime.ts +167 -0
- package/src/emittery/emitter.ts +9 -0
- package/src/emittery/index.ts +1 -0
- package/src/fs/FileSystemError.ts +26 -0
- package/src/fs/IFileSystem.d.ts +102 -0
- package/src/fs/MemoryFileSystem.test.ts +37 -0
- package/src/fs/createBrowserFileSystem.ts +291 -0
- package/src/fs/createMemoryFileSystem.ts +604 -0
- package/src/fs/createSandboxFileSystem.ts +136 -0
- package/src/fs/createWebDavFileSystem.ts +172 -0
- package/src/fs/findMimeType.ts +23 -0
- package/src/fs/index.ts +8 -0
- package/src/fs/orpc/FileSystemContract.ts +92 -0
- package/src/fs/orpc/createContractClientFileSystem.ts +115 -0
- package/src/fs/orpc/index.ts +2 -0
- package/src/fs/orpc/server/createFileSystemContractImpl.ts +64 -0
- package/src/fs/orpc/server/index.ts +1 -0
- package/src/fs/s3/createS3MiniFileSystem.ts +830 -0
- package/src/fs/s3/index.ts +1 -0
- package/src/fs/s3/s3mini.test.ts +264 -0
- package/src/fs/scandir.ts +75 -0
- package/src/fs/server/createDatabaseFileSystem.ts +668 -0
- package/src/fs/server/createNodeFileSystem.ts +499 -0
- package/src/fs/server/dbfs.test.ts +47 -0
- package/src/fs/server/index.ts +1 -0
- package/src/fs/server/loadTestDatabase.ts +131 -0
- package/src/fs/tests/runFileSystemTest.ts +288 -0
- package/src/fs/types.ts +29 -0
- package/src/fs/utils/getFileUrl.ts +44 -0
- package/src/fs/utils.ts +23 -0
- package/src/jsonschema/JsonSchema.ts +118 -110
- package/src/jsonschema/forEachJsonSchema.ts +50 -0
- package/src/jsonschema/index.ts +1 -0
- package/src/orpc/createOpenApiContractClient.ts +52 -0
- package/src/orpc/createRpcContractClient.ts +50 -0
- package/src/orpc/index.ts +2 -0
- package/src/orpc/resolveLinkPlugins.ts +29 -0
- package/src/password/PHC.ts +3 -3
- package/src/password/Password.test.ts +1 -1
- package/src/password/createPBKDF2PasswordAlgorithm.ts +2 -2
- package/src/resource/schema/AnyResourceSchema.ts +16 -2
- package/src/s3/formatS3Url.test.ts +254 -0
- package/src/s3/formatS3Url.ts +84 -0
- package/src/s3/index.ts +2 -0
- package/src/s3/parseS3Url.test.ts +258 -0
- package/src/s3/parseS3Url.ts +88 -0
- package/src/schema/SchemaRegistry.ts +35 -33
- package/src/schema/formatZodError.test.ts +196 -0
- package/src/schema/formatZodError.ts +151 -0
- package/src/schema/getSchemaOptions.ts +2 -2
- package/src/schema/index.ts +1 -1
- package/src/utils/buildBaseUrl.ts +12 -0
- package/src/utils/buildRedactorFormSchema.ts +85 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/resolveFeatureOptions.ts +14 -0
- package/src/cn/ChineseResidentIdNo.mod.ts +0 -7
- package/src/cn/DivisionCode.mod.ts +0 -7
- package/src/cn/UnifiedSocialCreditCode.mod.ts +0 -7
- package/src/cn/mod.ts +0 -3
- package/src/schema/SchemaRegistry.mod.ts +0 -1
|
@@ -1,85 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return arr2;
|
|
5
|
-
}
|
|
6
|
-
function _array_without_holes(arr) {
|
|
7
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
8
|
-
}
|
|
9
|
-
function _define_property(obj, key, value) {
|
|
10
|
-
if (key in obj) {
|
|
11
|
-
Object.defineProperty(obj, key, {
|
|
12
|
-
value: value,
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true
|
|
16
|
-
});
|
|
17
|
-
} else {
|
|
18
|
-
obj[key] = value;
|
|
19
|
-
}
|
|
20
|
-
return obj;
|
|
21
|
-
}
|
|
22
|
-
function _iterable_to_array(iter) {
|
|
23
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
24
|
-
}
|
|
25
|
-
function _non_iterable_spread() {
|
|
26
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
27
|
-
}
|
|
28
|
-
function _object_spread(target) {
|
|
29
|
-
for(var i = 1; i < arguments.length; i++){
|
|
30
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
31
|
-
var ownKeys = Object.keys(source);
|
|
32
|
-
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
33
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
34
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
ownKeys.forEach(function(key) {
|
|
38
|
-
_define_property(target, key, source[key]);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
return target;
|
|
42
|
-
}
|
|
43
|
-
function ownKeys(object, enumerableOnly) {
|
|
44
|
-
var keys = Object.keys(object);
|
|
45
|
-
if (Object.getOwnPropertySymbols) {
|
|
46
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
47
|
-
if (enumerableOnly) {
|
|
48
|
-
symbols = symbols.filter(function(sym) {
|
|
49
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
keys.push.apply(keys, symbols);
|
|
53
|
-
}
|
|
54
|
-
return keys;
|
|
55
|
-
}
|
|
56
|
-
function _object_spread_props(target, source) {
|
|
57
|
-
source = source != null ? source : {};
|
|
58
|
-
if (Object.getOwnPropertyDescriptors) {
|
|
59
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
60
|
-
} else {
|
|
61
|
-
ownKeys(Object(source)).forEach(function(key) {
|
|
62
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
return target;
|
|
66
|
-
}
|
|
67
|
-
function _to_consumable_array(arr) {
|
|
68
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
69
|
-
}
|
|
70
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
71
|
-
if (!o) return;
|
|
72
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
73
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
74
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
75
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
76
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
77
|
-
}
|
|
78
|
-
import { z } from 'zod/v4';
|
|
79
|
-
var IntLikeSchema = z.coerce.number().multipleOf(1).min(0).optional().overwrite(function(v) {
|
|
80
|
-
return v || undefined;
|
|
81
|
-
});
|
|
82
|
-
export var ListQuerySchema = z.object({
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
const IntLikeSchema = z.coerce.number().multipleOf(1).min(0).optional().overwrite((v)=>v || undefined);
|
|
3
|
+
export const ListQuerySchema = z.object({
|
|
83
4
|
id: z.coerce.string().optional(),
|
|
84
5
|
ids: z.array(z.coerce.string()).optional(),
|
|
85
6
|
filter: z.string().optional().describe('sql-like filter string'),
|
|
@@ -95,25 +16,32 @@ export var ListQuerySchema = z.object({
|
|
|
95
16
|
cursor: z.string().optional(),
|
|
96
17
|
deleted: z.coerce.boolean().optional()
|
|
97
18
|
});
|
|
98
|
-
export function resolveListQuery(target) {
|
|
99
|
-
|
|
100
|
-
args[_key - 1] = arguments[_key];
|
|
101
|
-
}
|
|
102
|
-
var out = args.reduce(function(a, source) {
|
|
19
|
+
export function resolveListQuery(target, ...args) {
|
|
20
|
+
let out = args.reduce((a, source)=>{
|
|
103
21
|
if (typeof source === 'function') {
|
|
104
|
-
|
|
22
|
+
const result = source(a);
|
|
105
23
|
// do not use the result as merge source
|
|
106
24
|
return result || a;
|
|
107
25
|
}
|
|
108
|
-
|
|
26
|
+
let b = source;
|
|
109
27
|
if (!b) return a;
|
|
110
28
|
// do not resolve id to ids
|
|
111
|
-
|
|
112
|
-
|
|
29
|
+
let ids = [
|
|
30
|
+
...a.ids || [],
|
|
31
|
+
...b.ids || []
|
|
32
|
+
];
|
|
33
|
+
return {
|
|
34
|
+
...a,
|
|
35
|
+
...b,
|
|
113
36
|
ids: ids,
|
|
114
|
-
filters:
|
|
37
|
+
filters: [
|
|
38
|
+
...a.filters || [],
|
|
39
|
+
...b.filters || []
|
|
40
|
+
],
|
|
115
41
|
search: b.search || a.search
|
|
116
|
-
}
|
|
42
|
+
};
|
|
117
43
|
}, target || {});
|
|
118
44
|
return ListQuerySchema.parse(out);
|
|
119
45
|
}
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=ListQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/resource/ListQuery.ts"],"sourcesContent":["import { z } from 'zod/v4';\n\nexport type ListQueryInput = z.input<typeof ListQuerySchema>;\nexport type ListQuery = z.infer<typeof ListQuerySchema>;\nconst IntLikeSchema = z.coerce\n\t.number()\n\t.multipleOf(1)\n\t.min(0)\n\t.optional()\n\t.overwrite((v) => v || undefined);\nexport const ListQuerySchema = z.object({\n\tid: z.coerce.string().optional(),\n\tids: z.array(z.coerce.string()).optional(),\n\tfilter: z.string().optional().describe('sql-like filter string'),\n\tfilters: z.array(z.any()).optional().describe('sql-like filter string'),\n\twhere: z.record(z.string(), z.any()).optional().describe('document query filter'),\n\tsearch: z.string().optional(),\n\tlimit: IntLikeSchema,\n\toffset: IntLikeSchema,\n\torder: z.array(z.string()).optional().describe('order like \"a,-b,c desc null last\"'),\n\tpageIndex: IntLikeSchema.describe('0-based page index'),\n\tpageNumber: IntLikeSchema.describe('1-based page number'),\n\tpageSize: IntLikeSchema,\n\tcursor: z.string().optional(),\n\tdeleted: z.coerce.boolean().optional(),\n});\n\ntype ListQueryOverride = ListQueryInput | undefined | ((input: ListQueryInput) => ListQueryInput | undefined | void);\n\nexport function resolveListQuery(target: ListQueryInput | undefined, ...args: ListQueryOverride[]): ListQuery {\n\tlet out = args.reduce((a: ListQueryInput, source) => {\n\t\tif (typeof source === 'function') {\n\t\t\tconst result = source(a);\n\t\t\t// do not use the result as merge source\n\t\t\treturn result || a;\n\t\t}\n\n\t\tlet b: ListQueryInput | undefined = source;\n\t\tif (!b) return a;\n\n\t\t// do not resolve id to ids\n\t\tlet ids = [...(a.ids || []), ...(b.ids || [])];\n\t\treturn {\n\t\t\t...a,\n\t\t\t...b,\n\t\t\tids: ids,\n\t\t\tfilters: [...(a.filters || []), ...(b.filters || [])],\n\t\t\tsearch: b.search || a.search,\n\t\t\t// NOTE maybe should merge where ?\n\t\t};\n\t}, target || {});\n\treturn ListQuerySchema.parse(out);\n}\n"],"names":["z","IntLikeSchema","coerce","number","multipleOf","min","optional","overwrite","v","undefined","ListQuerySchema","object","id","string","ids","array","filter","describe","filters","any","where","record","search","limit","offset","order","pageIndex","pageNumber","pageSize","cursor","deleted","boolean","resolveListQuery","target","args","out","reduce","a","source","result","b","parse"],"mappings":"AAAA,SAASA,CAAC,QAAQ,SAAS;AAI3B,MAAMC,gBAAgBD,EAAEE,MAAM,CAC5BC,MAAM,GACNC,UAAU,CAAC,GACXC,GAAG,CAAC,GACJC,QAAQ,GACRC,SAAS,CAAC,CAACC,IAAMA,KAAKC;AACxB,OAAO,MAAMC,kBAAkBV,EAAEW,MAAM,CAAC;IACvCC,IAAIZ,EAAEE,MAAM,CAACW,MAAM,GAAGP,QAAQ;IAC9BQ,KAAKd,EAAEe,KAAK,CAACf,EAAEE,MAAM,CAACW,MAAM,IAAIP,QAAQ;IACxCU,QAAQhB,EAAEa,MAAM,GAAGP,QAAQ,GAAGW,QAAQ,CAAC;IACvCC,SAASlB,EAAEe,KAAK,CAACf,EAAEmB,GAAG,IAAIb,QAAQ,GAAGW,QAAQ,CAAC;IAC9CG,OAAOpB,EAAEqB,MAAM,CAACrB,EAAEa,MAAM,IAAIb,EAAEmB,GAAG,IAAIb,QAAQ,GAAGW,QAAQ,CAAC;IACzDK,QAAQtB,EAAEa,MAAM,GAAGP,QAAQ;IAC3BiB,OAAOtB;IACPuB,QAAQvB;IACRwB,OAAOzB,EAAEe,KAAK,CAACf,EAAEa,MAAM,IAAIP,QAAQ,GAAGW,QAAQ,CAAC;IAC/CS,WAAWzB,cAAcgB,QAAQ,CAAC;IAClCU,YAAY1B,cAAcgB,QAAQ,CAAC;IACnCW,UAAU3B;IACV4B,QAAQ7B,EAAEa,MAAM,GAAGP,QAAQ;IAC3BwB,SAAS9B,EAAEE,MAAM,CAAC6B,OAAO,GAAGzB,QAAQ;AACrC,GAAG;AAIH,OAAO,SAAS0B,iBAAiBC,MAAkC,EAAE,GAAGC,IAAyB;IAChG,IAAIC,MAAMD,KAAKE,MAAM,CAAC,CAACC,GAAmBC;QACzC,IAAI,OAAOA,WAAW,YAAY;YACjC,MAAMC,SAASD,OAAOD;YACtB,wCAAwC;YACxC,OAAOE,UAAUF;QAClB;QAEA,IAAIG,IAAgCF;QACpC,IAAI,CAACE,GAAG,OAAOH;QAEf,2BAA2B;QAC3B,IAAIvB,MAAM;eAAKuB,EAAEvB,GAAG,IAAI,EAAE;eAAO0B,EAAE1B,GAAG,IAAI,EAAE;SAAE;QAC9C,OAAO;YACN,GAAGuB,CAAC;YACJ,GAAGG,CAAC;YACJ1B,KAAKA;YACLI,SAAS;mBAAKmB,EAAEnB,OAAO,IAAI,EAAE;mBAAOsB,EAAEtB,OAAO,IAAI,EAAE;aAAE;YACrDI,QAAQkB,EAAElB,MAAM,IAAIe,EAAEf,MAAM;QAE7B;IACD,GAAGW,UAAU,CAAC;IACd,OAAOvB,gBAAgB+B,KAAK,CAACN;AAC9B"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
function _type_of(obj) {
|
|
2
|
-
"@swc/helpers - typeof";
|
|
3
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
4
|
-
}
|
|
5
1
|
export function getTitleOfResource(res) {
|
|
6
|
-
if (res &&
|
|
2
|
+
if (res && typeof res === 'object') {
|
|
7
3
|
return res.displayName || res.title || res.fullName || res.loginName || res.topic || res.code;
|
|
8
4
|
}
|
|
9
5
|
return undefined;
|
|
10
6
|
}
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=getTitleOfResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/resource/getTitleOfResource.tsx"],"sourcesContent":["export function getTitleOfResource(res?: any): string | undefined {\n\tif (res && typeof res === 'object') {\n\t\treturn res.displayName || res.title || res.fullName || res.loginName || res.topic || res.code;\n\t}\n\treturn undefined;\n}\n"],"names":["getTitleOfResource","res","displayName","title","fullName","loginName","topic","code","undefined"],"mappings":"AAAA,OAAO,SAASA,mBAAmBC,GAAS;IAC3C,IAAIA,OAAO,OAAOA,QAAQ,UAAU;QACnC,OAAOA,IAAIC,WAAW,IAAID,IAAIE,KAAK,IAAIF,IAAIG,QAAQ,IAAIH,IAAII,SAAS,IAAIJ,IAAIK,KAAK,IAAIL,IAAIM,IAAI;IAC9F;IACA,OAAOC;AACR"}
|
package/lib/resource/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/resource/index.ts"],"sourcesContent":["export { type AnyResource } from './schema/AnyResourceSchema';\nexport { type Identifiable } from './Identifiable';\nexport { getTitleOfResource } from './getTitleOfResource';\nexport { type ListQueryInput, type ListQuery, resolveListQuery, ListQuerySchema } from './ListQuery';\n"],"names":["getTitleOfResource","resolveListQuery","ListQuerySchema"],"mappings":"AAEA,SAASA,kBAAkB,QAAQ,uBAAuB;AAC1D,SAA8CC,gBAAgB,EAAEC,eAAe,QAAQ,cAAc"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
2
|
import { SexTypeSchema } from "../../foundation/schema/SexType.js";
|
|
3
3
|
import { rz } from "./types.js";
|
|
4
|
-
export
|
|
4
|
+
export const AnyResourceSchema = z.looseObject({
|
|
5
5
|
id: rz.resourceId.readonly().describe("ID"),
|
|
6
6
|
uid: z.guid().nullish().readonly().describe("\u552F\u4E00ID"),
|
|
7
7
|
tid: rz.resourceId.nullish().readonly().describe("\u79DF\u6237ID"),
|
|
@@ -87,3 +87,4 @@ export var AnyResourceSchema = z.object({
|
|
|
87
87
|
title: "AnyResource",
|
|
88
88
|
description: "\u4EFB\u610F\u8D44\u6E90"
|
|
89
89
|
});
|
|
90
|
+
//# sourceMappingURL=AnyResourceSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/AnyResourceSchema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { SexTypeSchema } from '../../foundation/schema/SexType';\nimport { rz } from './types';\n\nexport type AnyResource = z.infer<typeof AnyResourceSchema> & {\n\towner?: AnyResource;\n\n\tentity?: AnyResource;\n\n\tcustomer?: AnyResource;\n\taccount?: AnyResource;\n\tcontact?: AnyResource;\n\n\tuser?: AnyResource;\n\tcreatedBy?: AnyResource;\n\tupdatedBy?: AnyResource;\n\tdeletedBy?: AnyResource;\n};\n\nexport const AnyResourceSchema = z\n\t.looseObject({\n\t\tid: rz.resourceId.readonly().describe('ID'),\n\t\tuid: z.guid().nullish().readonly().describe('唯一ID'),\n\t\ttid: rz.resourceId.nullish().readonly().describe('租户ID'),\n\t\tsid: z.coerce.number().nullish().readonly().describe('序号'),\n\t\teid: z.string().nullish().readonly().describe('外部ID'),\n\t\tcid: z.string().nullish().readonly().describe('服务商ID'),\n\t\trid: z.string().nullish().readonly().describe('服务商资源ID'),\n\n\t\tcode: z.string().nullish().describe('编号'),\n\n\t\tfullName: rz.friendlyName.optional().describe('名称'),\n\t\tdisplayName: rz.friendlyName.nullish().describe('显示名'),\n\t\tloginName: rz.loginName.nullish().describe('登录名'),\n\t\temail: z.string().nullish().describe('邮箱'),\n\t\temailVerifiedAt: rz.date.nullish().describe('邮箱验证时间'),\n\t\tphoneNumber: rz.phoneNumber.nullish().describe('电话号码'),\n\t\tphoneNumberVerifiedAt: rz.date.nullish().describe('电话号码验证时间'),\n\n\t\tjobNumber: z.string().nullish().describe('工号'),\n\t\tjobTitle: z.string().nullish().describe('职位'),\n\t\tbirthDate: rz.date.nullish().describe('出生日期'),\n\n\t\tpassword: rz.password.nullish().describe('密码'),\n\t\tsex: SexTypeSchema.nullish().describe('性别'),\n\n\t\tcontactName: rz.friendlyName.nullish().describe('联系人'),\n\t\tcontactPhone: rz.phoneNumber.nullish().describe('联系电话'),\n\t\tcontactEmail: z.string().nullish().describe('联系邮箱'),\n\t\tcontactAddress: z.string().nullish().describe('联系地址'),\n\t\talternativeName: rz.friendlyName.nullish().describe('备用联系人'),\n\t\talternativeEmail: z.string().nullish().describe('备用联系邮箱'),\n\t\talternativePhone: rz.phoneNumber.nullish().describe('备用联系电话'),\n\t\talternativeAddress: z.string().nullish().describe('备用联系地址'),\n\n\t\ttitle: z.string().trim().nullish().describe('标题'),\n\t\tdescription: z.string().trim().nullish().describe('描述'),\n\t\ttopic: z.string().nullish().describe('主题'),\n\t\tsummary: z.string().nullish().describe('摘要'),\n\n\t\tavatarUrl: z.string().nullish().describe('头像'),\n\t\tphotoUrl: z.string().nullish().describe('照片'),\n\t\timageUrl: z.string().nullish().describe('图片'),\n\t\tbannerUrl: z.string().nullish().describe('横幅图片'),\n\n\t\ttype: z.string().nullish().describe('类型'),\n\t\tdata: z.record(z.string(), z.any()).nullish().describe('数据'),\n\n\t\tlicenseNumber: z.string().nullish().describe('证件号码'),\n\t\tlicenseStartDate: rz.date.nullish().describe('证件有效期开始日期'),\n\t\tlicenseEndDate: rz.date.nullish().describe('证件有效期结束日期'),\n\t\tlicenseAddress: z.string().nullish().describe('证件地址'),\n\t\tlicenseFrontUrl: z.string().nullish().describe('证件正面照片'),\n\t\tlicenseBackUrl: z.string().nullish().describe('证件背面照片'),\n\n\t\taddress: z.string().nullish().describe('地址'),\n\t\tdivisionCode: z.string().nullish().describe('行政区划代码'),\n\t\tprovince: z.string().nullish().describe('省'),\n\t\tcity: z.string().nullish().describe('市'),\n\n\t\tstartDate: rz.date.nullish().describe('开始日期'),\n\t\tendDate: rz.date.nullish().describe('结束日期'),\n\t\tstartTime: rz.dateTime.nullish().describe('开始时间'),\n\t\tendTime: rz.dateTime.nullish().describe('结束时间'),\n\n\t\tuserId: rz.resourceIdOf('User').nullish(),\n\t\tentityId: rz.resourceId.nullish().describe('关联的实体'),\n\t\tentityType: z.string().nullish().describe('关联的实体类型'),\n\t\tcustomerId: rz.resourceId.nullish().describe('客户'),\n\t\tcustomerType: z.string().nullish().describe('客户类型'),\n\t\tcontactId: rz.resourceId.nullish().describe('联系人'),\n\t\taccountId: rz.resourceId.nullish().describe('账户'),\n\n\t\townerId: rz.resourceId.nullish(),\n\t\townerType: z.string().nullish().describe('负责人类型'),\n\t\towningUserId: rz.resourceId.nullish().describe('负责人'),\n\n\t\tparentId: rz.resourceId.nullish().describe('父级'),\n\n\t\tmetadata: z.record(z.string(), z.any()).nullish().describe('元数据'),\n\t\ttags: z.array(z.string()).nullish().describe('标记'),\n\t\tnotes: z.string().nullish().describe('备注'),\n\n\t\tstate: z.string().nullish().describe('系统状态'),\n\t\tstatus: z.string().nullish().describe('状态'),\n\t\tstatusReason: z.string().nullish().describe('状态原因'),\n\t\tstatusUpdatedAt: rz.dateTime.nullish().describe('状态更新时间'),\n\t\tstatusUpdatedById: rz.resourceId.nullish().describe('状态更新人'),\n\n\t\tcreatedAt: rz.dateTime.nullish().readonly().describe('创建时间'),\n\t\tupdatedAt: rz.dateTime.nullish().readonly().describe('更新时间'),\n\t\tdeletedAt: rz.dateTime.nullish().readonly().describe('删除时间'),\n\n\t\tcreatedById: z.string().nullish().readonly().describe('创建人'),\n\t\tupdatedById: z.string().nullish().readonly().describe('更新人'),\n\t\tdeletedById: z.string().nullish().readonly().describe('删除人'),\n\n\t\tattributes: z.record(z.string(), z.any()).nullish().describe('自定义属性'),\n\t\tproperties: z.record(z.string(), z.any()).nullish().describe('属性'),\n\t\textensions: z.record(z.string(), z.any()).nullish().describe('扩展属性'),\n\n\t\t__typename: z.coerce.string().nullish().describe('类型'),\n\t})\n\t.meta({\n\t\ttitle: 'AnyResource',\n\t\tdescription: '任意资源',\n\t});\n"],"names":["z","SexTypeSchema","rz","AnyResourceSchema","looseObject","id","resourceId","readonly","describe","uid","guid","nullish","tid","sid","coerce","number","eid","string","cid","rid","code","fullName","friendlyName","optional","displayName","loginName","email","emailVerifiedAt","date","phoneNumber","phoneNumberVerifiedAt","jobNumber","jobTitle","birthDate","password","sex","contactName","contactPhone","contactEmail","contactAddress","alternativeName","alternativeEmail","alternativePhone","alternativeAddress","title","trim","description","topic","summary","avatarUrl","photoUrl","imageUrl","bannerUrl","type","data","record","any","licenseNumber","licenseStartDate","licenseEndDate","licenseAddress","licenseFrontUrl","licenseBackUrl","address","divisionCode","province","city","startDate","endDate","startTime","dateTime","endTime","userId","resourceIdOf","entityId","entityType","customerId","customerType","contactId","accountId","ownerId","ownerType","owningUserId","parentId","metadata","tags","array","notes","state","status","statusReason","statusUpdatedAt","statusUpdatedById","createdAt","updatedAt","deletedAt","createdById","updatedById","deletedById","attributes","properties","extensions","__typename","meta"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnyResourceSchema } from "./AnyResourceSchema.js";
|
|
2
|
-
export
|
|
2
|
+
export const BaseResourceSchema = AnyResourceSchema.pick({
|
|
3
3
|
id: true,
|
|
4
4
|
uid: true,
|
|
5
5
|
tid: true,
|
|
@@ -27,3 +27,4 @@ export var BaseResourceSchema = AnyResourceSchema.pick({
|
|
|
27
27
|
attributes: true,
|
|
28
28
|
properties: true
|
|
29
29
|
});
|
|
30
|
+
//# sourceMappingURL=BaseResourceSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/BaseResourceSchema.ts"],"sourcesContent":["import { AnyResourceSchema } from './AnyResourceSchema';\n\nexport const BaseResourceSchema = AnyResourceSchema.pick({\n\tid: true,\n\tuid: true,\n\ttid: true,\n\teid: true,\n\n\tstate: true,\n\tstatus: true,\n\tstatusReason: true,\n\tstatusUpdatedAt: true,\n\tstatusUpdatedById: true,\n\n\tcreatedAt: true,\n\tupdatedAt: true,\n\tdeletedAt: true,\n\tcreatedById: true,\n\tupdatedById: true,\n\tdeletedById: true,\n\tattributes: true,\n\tproperties: true,\n}).required({\n\tuid: true,\n\ttid: true,\n\tstate: true,\n\tstatus: true,\n\tcreatedAt: true,\n\tupdatedAt: true,\n\tattributes: true,\n\tproperties: true,\n});\n"],"names":["AnyResourceSchema","BaseResourceSchema","pick","id","uid","tid","eid","state","status","statusReason","statusUpdatedAt","statusUpdatedById","createdAt","updatedAt","deletedAt","createdById","updatedById","deletedById","attributes","properties","required"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sBAAsB;AAExD,OAAO,MAAMC,qBAAqBD,kBAAkBE,IAAI,CAAC;IACxDC,IAAI;IACJC,KAAK;IACLC,KAAK;IACLC,KAAK;IAELC,OAAO;IACPC,QAAQ;IACRC,cAAc;IACdC,iBAAiB;IACjBC,mBAAmB;IAEnBC,WAAW;IACXC,WAAW;IACXC,WAAW;IACXC,aAAa;IACbC,aAAa;IACbC,aAAa;IACbC,YAAY;IACZC,YAAY;AACb,GAAGC,QAAQ,CAAC;IACXhB,KAAK;IACLC,KAAK;IACLE,OAAO;IACPC,QAAQ;IACRI,WAAW;IACXC,WAAW;IACXK,YAAY;IACZC,YAAY;AACb,GAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
export
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export const ResourceActionType = Object.freeze({
|
|
3
3
|
__proto__: null,
|
|
4
4
|
Approve: 'Approve',
|
|
5
5
|
AssignOwner: 'AssignOwner',
|
|
@@ -54,7 +54,7 @@ export var ResourceActionType = Object.freeze({
|
|
|
54
54
|
View: 'View',
|
|
55
55
|
Write: 'Write'
|
|
56
56
|
});
|
|
57
|
-
export
|
|
57
|
+
export const ResourceActionTypeSchema = z.union([
|
|
58
58
|
z.literal(ResourceActionType.Approve).describe('批准'),
|
|
59
59
|
z.literal(ResourceActionType.AssignOwner).describe('分配负责人'),
|
|
60
60
|
z.literal(ResourceActionType.Bind).describe('绑定'),
|
|
@@ -113,6 +113,8 @@ export var ResourceActionTypeSchema = z.union([
|
|
|
113
113
|
description: '资源操作',
|
|
114
114
|
type: 'string'
|
|
115
115
|
});
|
|
116
|
-
export
|
|
116
|
+
export const ResourceActionDataSchema = z.object({
|
|
117
117
|
reason: z.string().optional().describe('操作原因')
|
|
118
118
|
});
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=ResourceActionType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/ResourceActionType.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport type { EnumValues } from './types';\n\nexport const ResourceActionType = Object.freeze({\n\t__proto__: null,\n\tApprove: 'Approve',\n\tAssignOwner: 'AssignOwner',\n\tBind: 'Bind',\n\tBindCustomer: 'BindCustomer',\n\tBindEntity: 'BindEntity',\n\tBindUser: 'BindUser',\n\tCancel: 'Cancel',\n\tChangePassword: 'ChangePassword',\n\tClaimOwner: 'ClaimOwner',\n\tClose: 'Close',\n\tCommunicate: 'Communicate',\n\tComplete: 'Complete',\n\tCreate: 'Create',\n\tDelete: 'Delete',\n\tDeny: 'Deny',\n\tDisable: 'Disable',\n\tDownload: 'Download',\n\tEdit: 'Edit',\n\tEnable: 'Enable',\n\tList: 'List',\n\tLogin: 'Login',\n\tLogout: 'Logout',\n\tManage: 'Manage',\n\tPublish: 'Publish',\n\tPurge: 'Purge',\n\tRead: 'Read',\n\tReject: 'Reject',\n\tReleaseOwner: 'ReleaseOwner',\n\tResetPassword: 'ResetPassword',\n\tReturnForRevision: 'ReturnForRevision',\n\tRevise: 'Revise',\n\tSaveDraft: 'SaveDraft',\n\tSignup: 'Signup',\n\tSubmit: 'Submit',\n\tSubmitAgency: 'SubmitAgency',\n\tSubmitVendor: 'SubmitVendor',\n\tSuspend: 'Suspend',\n\tTerminate: 'Terminate',\n\tTimeout: 'Timeout',\n\tUnbind: 'Unbind',\n\tUnbindCustomer: 'UnbindCustomer',\n\tUnbindEntity: 'UnbindEntity',\n\tUnbindUser: 'UnbindUser',\n\tUndelete: 'Undelete',\n\tUnpublish: 'Unpublish',\n\tUpdate: 'Update',\n\tUpdateNotes: 'UpdateNotes',\n\tUpdateTags: 'UpdateTags',\n\tUpload: 'Upload',\n\tValidate: 'Validate',\n\tView: 'View',\n\tWrite: 'Write',\n} as const);\nexport type ResourceActionType = EnumValues<typeof ResourceActionType>;\nexport const ResourceActionTypeSchema = z\n\t.union([\n\t\tz.literal(ResourceActionType.Approve).describe('批准'),\n\t\tz.literal(ResourceActionType.AssignOwner).describe('分配负责人'),\n\t\tz.literal(ResourceActionType.Bind).describe('绑定'),\n\t\tz.literal(ResourceActionType.BindCustomer).describe('绑定客户'),\n\t\tz.literal(ResourceActionType.BindEntity).describe('绑定实体'),\n\t\tz.literal(ResourceActionType.BindUser).describe('绑定用户'),\n\t\tz.literal(ResourceActionType.Cancel).describe('取消'),\n\t\tz.literal(ResourceActionType.ChangePassword).describe('修改密码'),\n\t\tz.literal(ResourceActionType.ClaimOwner).describe('认领负责人'),\n\t\tz.literal(ResourceActionType.Close).describe('关闭'),\n\t\tz.literal(ResourceActionType.Communicate).describe('沟通'),\n\t\tz.literal(ResourceActionType.Complete).describe('完成'),\n\t\tz.literal(ResourceActionType.Create).describe('创建'),\n\t\tz.literal(ResourceActionType.Delete).describe('删除'),\n\t\tz.literal(ResourceActionType.Deny).describe('拒绝'),\n\t\tz.literal(ResourceActionType.Disable).describe('禁用'),\n\t\tz.literal(ResourceActionType.Download).describe('下载'),\n\t\tz.literal(ResourceActionType.Edit).describe('编辑'),\n\t\tz.literal(ResourceActionType.Enable).describe('启用'),\n\t\tz.literal(ResourceActionType.List).describe('列表'),\n\t\tz.literal(ResourceActionType.Login).describe('登录'),\n\t\tz.literal(ResourceActionType.Logout).describe('登出'),\n\t\tz.literal(ResourceActionType.Manage).describe('管理'),\n\t\tz.literal(ResourceActionType.Publish).describe('发布'),\n\t\tz.literal(ResourceActionType.Purge).describe('彻底删除'),\n\t\tz.literal(ResourceActionType.Read).describe('读取'),\n\t\tz.literal(ResourceActionType.Reject).describe('驳回'),\n\t\tz.literal(ResourceActionType.ReleaseOwner).describe('释放负责人'),\n\t\tz.literal(ResourceActionType.ResetPassword).describe('重置密码'),\n\t\tz.literal(ResourceActionType.ReturnForRevision).describe('退回修订'),\n\t\tz.literal(ResourceActionType.Revise).describe('修订'),\n\t\tz.literal(ResourceActionType.SaveDraft).describe('保存草稿'),\n\t\tz.literal(ResourceActionType.Signup).describe('注册'),\n\t\tz.literal(ResourceActionType.Submit).describe('提交'),\n\t\tz.literal(ResourceActionType.SubmitAgency).describe('提交机构'),\n\t\tz.literal(ResourceActionType.SubmitVendor).describe('提交供应商'),\n\t\tz.literal(ResourceActionType.Suspend).describe('暂停'),\n\t\tz.literal(ResourceActionType.Terminate).describe('终止'),\n\t\tz.literal(ResourceActionType.Timeout).describe('超时'),\n\t\tz.literal(ResourceActionType.Unbind).describe('解绑'),\n\t\tz.literal(ResourceActionType.UnbindCustomer).describe('解绑客户'),\n\t\tz.literal(ResourceActionType.UnbindEntity).describe('解绑实体'),\n\t\tz.literal(ResourceActionType.UnbindUser).describe('解绑用户'),\n\t\tz.literal(ResourceActionType.Undelete).describe('恢复删除'),\n\t\tz.literal(ResourceActionType.Unpublish).describe('取消发布'),\n\t\tz.literal(ResourceActionType.Update).describe('更新'),\n\t\tz.literal(ResourceActionType.UpdateNotes).describe('修改备注'),\n\t\tz.literal(ResourceActionType.UpdateNotes).describe('更新备注'),\n\t\tz.literal(ResourceActionType.UpdateTags).describe('更新标签'),\n\t\tz.literal(ResourceActionType.Upload).describe('上传'),\n\t\tz.literal(ResourceActionType.Validate).describe('校验'),\n\t\tz.literal(ResourceActionType.View).describe('查看'),\n\t\tz.literal(ResourceActionType.Write).describe('写入'),\n\t])\n\t.meta({\n\t\ttitle: 'ResourceAction',\n\t\tdescription: '资源操作',\n\t\ttype: 'string',\n\t});\nexport const ResourceActionDataSchema = z.object({\n\treason: z.string().optional().describe('操作原因'),\n});\n"],"names":["z","ResourceActionType","Object","freeze","__proto__","Approve","AssignOwner","Bind","BindCustomer","BindEntity","BindUser","Cancel","ChangePassword","ClaimOwner","Close","Communicate","Complete","Create","Delete","Deny","Disable","Download","Edit","Enable","List","Login","Logout","Manage","Publish","Purge","Read","Reject","ReleaseOwner","ResetPassword","ReturnForRevision","Revise","SaveDraft","Signup","Submit","SubmitAgency","SubmitVendor","Suspend","Terminate","Timeout","Unbind","UnbindCustomer","UnbindEntity","UnbindUser","Undelete","Unpublish","Update","UpdateNotes","UpdateTags","Upload","Validate","View","Write","ResourceActionTypeSchema","union","literal","describe","meta","title","description","type","ResourceActionDataSchema","object","reason","string","optional"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
export
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export const ResourceStatus = Object.freeze({
|
|
3
3
|
__proto__: null,
|
|
4
4
|
Active: 'Active',
|
|
5
5
|
Approved: 'Approved',
|
|
@@ -44,7 +44,7 @@ export var ResourceStatus = Object.freeze({
|
|
|
44
44
|
Void: 'Void',
|
|
45
45
|
Won: 'Won'
|
|
46
46
|
});
|
|
47
|
-
export
|
|
47
|
+
export const ResourceStatusSchema = z.union([
|
|
48
48
|
z.literal(ResourceStatus.Active).describe('活跃'),
|
|
49
49
|
z.literal(ResourceStatus.Approved).describe('已通过'),
|
|
50
50
|
z.literal(ResourceStatus.Cancelled).describe('已取消'),
|
|
@@ -91,3 +91,5 @@ export var ResourceStatusSchema = z.union([
|
|
|
91
91
|
description: '资源状态',
|
|
92
92
|
type: 'string'
|
|
93
93
|
});
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=ResourceStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/ResourceStatus.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport type { EnumValues } from './types';\n\nexport const ResourceStatus = Object.freeze({\n\t__proto__: null,\n\tActive: 'Active',\n\tApproved: 'Approved',\n\tCancelled: 'Cancelled',\n\tClosed: 'Closed',\n\tCompleted: 'Completed',\n\tConfirmed: 'Confirmed',\n\tContacted: 'Contacted',\n\tContacting: 'Contacting',\n\tDeleted: 'Deleted',\n\tDenied: 'Denied',\n\tDisabled: 'Disabled',\n\tDisqualified: 'Disqualified',\n\tDraft: 'Draft',\n\tEnabled: 'Enabled',\n\tExpired: 'Expired',\n\tFailed: 'Failed',\n\tInProgress: 'InProgress',\n\tInactive: 'Inactive',\n\tInitial: 'Initial',\n\tLost: 'Lost',\n\tNew: 'New',\n\tNurturing: 'Nurturing',\n\tOnHold: 'OnHold',\n\tOpen: 'Open',\n\tOverdue: 'Overdue',\n\tPaid: 'Paid',\n\tPartiallyPaid: 'PartiallyPaid',\n\tPending: 'Pending',\n\tPendingAcceptance: 'PendingAcceptance',\n\tPendingApproval: 'PendingApproval',\n\tPendingConfirmation: 'PendingConfirmation',\n\tPendingResubmission: 'PendingResubmission',\n\tPosted: 'Posted',\n\tPublished: 'Published',\n\tQualified: 'Qualified',\n\tRejected: 'Rejected',\n\tSubmitted: 'Submitted',\n\tSuspended: 'Suspended',\n\tTerminated: 'Terminated',\n\tUnqualified: 'Unqualified',\n\tVoid: 'Void',\n\tWon: 'Won',\n} as const);\nexport type ResourceStatus = EnumValues<typeof ResourceStatus>;\nexport const ResourceStatusSchema = z\n\t.union([\n\t\tz.literal(ResourceStatus.Active).describe('活跃'),\n\t\tz.literal(ResourceStatus.Approved).describe('已通过'),\n\t\tz.literal(ResourceStatus.Cancelled).describe('已取消'),\n\t\tz.literal(ResourceStatus.Closed).describe('已关闭'),\n\t\tz.literal(ResourceStatus.Completed).describe('已完成'),\n\t\tz.literal(ResourceStatus.Confirmed).describe('已确认'),\n\t\tz.literal(ResourceStatus.Contacted).describe('已联系'),\n\t\tz.literal(ResourceStatus.Contacting).describe('联系中'),\n\t\tz.literal(ResourceStatus.Deleted).describe('已删除'),\n\t\tz.literal(ResourceStatus.Denied).describe('已拒绝'),\n\t\tz.literal(ResourceStatus.Disabled).describe('已禁用'),\n\t\tz.literal(ResourceStatus.Disqualified).describe('不合格'),\n\t\tz.literal(ResourceStatus.Draft).describe('草稿'),\n\t\tz.literal(ResourceStatus.Enabled).describe('已启用'),\n\t\tz.literal(ResourceStatus.Expired).describe('已过期'),\n\t\tz.literal(ResourceStatus.InProgress).describe('进行中'),\n\t\tz.literal(ResourceStatus.Inactive).describe('停用'),\n\t\tz.literal(ResourceStatus.Initial).describe('初始'),\n\t\tz.literal(ResourceStatus.Lost).describe('已失去'),\n\t\tz.literal(ResourceStatus.New).describe('新建'),\n\t\tz.literal(ResourceStatus.Nurturing).describe('培育中'),\n\t\tz.literal(ResourceStatus.OnHold).describe('搁置'),\n\t\tz.literal(ResourceStatus.Open).describe('开放'),\n\t\tz.literal(ResourceStatus.Overdue).describe('逾期'),\n\t\tz.literal(ResourceStatus.Paid).describe('已支付'),\n\t\tz.literal(ResourceStatus.PartiallyPaid).describe('部分支付'),\n\t\tz.literal(ResourceStatus.Pending).describe('待审核'),\n\t\tz.literal(ResourceStatus.PendingAcceptance).describe('待接受'),\n\t\tz.literal(ResourceStatus.PendingApproval).describe('待批准'),\n\t\tz.literal(ResourceStatus.PendingConfirmation).describe('待确认'),\n\t\tz.literal(ResourceStatus.PendingResubmission).describe('待重新提交'),\n\t\tz.literal(ResourceStatus.Posted).describe('已过账'),\n\t\tz.literal(ResourceStatus.Published).describe('已发布'),\n\t\tz.literal(ResourceStatus.Qualified).describe('已合格'),\n\t\tz.literal(ResourceStatus.Rejected).describe('已驳回'),\n\t\tz.literal(ResourceStatus.Submitted).describe('已提交'),\n\t\tz.literal(ResourceStatus.Suspended).describe('暂停'),\n\t\tz.literal(ResourceStatus.Terminated).describe('终止'),\n\t\tz.literal(ResourceStatus.Unqualified).describe('未达标'),\n\t\tz.literal(ResourceStatus.Void).describe('作废'),\n\t\tz.literal(ResourceStatus.Won).describe('已赢得'),\n\t])\n\t.meta({ title: 'ResourceStatus', description: '资源状态', type: 'string' });\n"],"names":["z","ResourceStatus","Object","freeze","__proto__","Active","Approved","Cancelled","Closed","Completed","Confirmed","Contacted","Contacting","Deleted","Denied","Disabled","Disqualified","Draft","Enabled","Expired","Failed","InProgress","Inactive","Initial","Lost","New","Nurturing","OnHold","Open","Overdue","Paid","PartiallyPaid","Pending","PendingAcceptance","PendingApproval","PendingConfirmation","PendingResubmission","Posted","Published","Qualified","Rejected","Submitted","Suspended","Terminated","Unqualified","Void","Won","ResourceStatusSchema","union","literal","describe","meta","title","description","type"],"mappings":"AAAA,SAASA,CAAC,QAAQ,SAAS;AAG3B,OAAO,MAAMC,iBAAiBC,OAAOC,MAAM,CAAC;IAC3CC,WAAW;IACXC,QAAQ;IACRC,UAAU;IACVC,WAAW;IACXC,QAAQ;IACRC,WAAW;IACXC,WAAW;IACXC,WAAW;IACXC,YAAY;IACZC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,cAAc;IACdC,OAAO;IACPC,SAAS;IACTC,SAAS;IACTC,QAAQ;IACRC,YAAY;IACZC,UAAU;IACVC,SAAS;IACTC,MAAM;IACNC,KAAK;IACLC,WAAW;IACXC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACTC,MAAM;IACNC,eAAe;IACfC,SAAS;IACTC,mBAAmB;IACnBC,iBAAiB;IACjBC,qBAAqB;IACrBC,qBAAqB;IACrBC,QAAQ;IACRC,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,WAAW;IACXC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,MAAM;IACNC,KAAK;AACN,GAAY;AAEZ,OAAO,MAAMC,uBAAuB/C,EAClCgD,KAAK,CAAC;IACNhD,EAAEiD,OAAO,CAAChD,eAAeI,MAAM,EAAE6C,QAAQ,CAAC;IAC1ClD,EAAEiD,OAAO,CAAChD,eAAeK,QAAQ,EAAE4C,QAAQ,CAAC;IAC5ClD,EAAEiD,OAAO,CAAChD,eAAeM,SAAS,EAAE2C,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAeO,MAAM,EAAE0C,QAAQ,CAAC;IAC1ClD,EAAEiD,OAAO,CAAChD,eAAeQ,SAAS,EAAEyC,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAeS,SAAS,EAAEwC,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAeU,SAAS,EAAEuC,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAeW,UAAU,EAAEsC,QAAQ,CAAC;IAC9ClD,EAAEiD,OAAO,CAAChD,eAAeY,OAAO,EAAEqC,QAAQ,CAAC;IAC3ClD,EAAEiD,OAAO,CAAChD,eAAea,MAAM,EAAEoC,QAAQ,CAAC;IAC1ClD,EAAEiD,OAAO,CAAChD,eAAec,QAAQ,EAAEmC,QAAQ,CAAC;IAC5ClD,EAAEiD,OAAO,CAAChD,eAAee,YAAY,EAAEkC,QAAQ,CAAC;IAChDlD,EAAEiD,OAAO,CAAChD,eAAegB,KAAK,EAAEiC,QAAQ,CAAC;IACzClD,EAAEiD,OAAO,CAAChD,eAAeiB,OAAO,EAAEgC,QAAQ,CAAC;IAC3ClD,EAAEiD,OAAO,CAAChD,eAAekB,OAAO,EAAE+B,QAAQ,CAAC;IAC3ClD,EAAEiD,OAAO,CAAChD,eAAeoB,UAAU,EAAE6B,QAAQ,CAAC;IAC9ClD,EAAEiD,OAAO,CAAChD,eAAeqB,QAAQ,EAAE4B,QAAQ,CAAC;IAC5ClD,EAAEiD,OAAO,CAAChD,eAAesB,OAAO,EAAE2B,QAAQ,CAAC;IAC3ClD,EAAEiD,OAAO,CAAChD,eAAeuB,IAAI,EAAE0B,QAAQ,CAAC;IACxClD,EAAEiD,OAAO,CAAChD,eAAewB,GAAG,EAAEyB,QAAQ,CAAC;IACvClD,EAAEiD,OAAO,CAAChD,eAAeyB,SAAS,EAAEwB,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAe0B,MAAM,EAAEuB,QAAQ,CAAC;IAC1ClD,EAAEiD,OAAO,CAAChD,eAAe2B,IAAI,EAAEsB,QAAQ,CAAC;IACxClD,EAAEiD,OAAO,CAAChD,eAAe4B,OAAO,EAAEqB,QAAQ,CAAC;IAC3ClD,EAAEiD,OAAO,CAAChD,eAAe6B,IAAI,EAAEoB,QAAQ,CAAC;IACxClD,EAAEiD,OAAO,CAAChD,eAAe8B,aAAa,EAAEmB,QAAQ,CAAC;IACjDlD,EAAEiD,OAAO,CAAChD,eAAe+B,OAAO,EAAEkB,QAAQ,CAAC;IAC3ClD,EAAEiD,OAAO,CAAChD,eAAegC,iBAAiB,EAAEiB,QAAQ,CAAC;IACrDlD,EAAEiD,OAAO,CAAChD,eAAeiC,eAAe,EAAEgB,QAAQ,CAAC;IACnDlD,EAAEiD,OAAO,CAAChD,eAAekC,mBAAmB,EAAEe,QAAQ,CAAC;IACvDlD,EAAEiD,OAAO,CAAChD,eAAemC,mBAAmB,EAAEc,QAAQ,CAAC;IACvDlD,EAAEiD,OAAO,CAAChD,eAAeoC,MAAM,EAAEa,QAAQ,CAAC;IAC1ClD,EAAEiD,OAAO,CAAChD,eAAeqC,SAAS,EAAEY,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAesC,SAAS,EAAEW,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAeuC,QAAQ,EAAEU,QAAQ,CAAC;IAC5ClD,EAAEiD,OAAO,CAAChD,eAAewC,SAAS,EAAES,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAeyC,SAAS,EAAEQ,QAAQ,CAAC;IAC7ClD,EAAEiD,OAAO,CAAChD,eAAe0C,UAAU,EAAEO,QAAQ,CAAC;IAC9ClD,EAAEiD,OAAO,CAAChD,eAAe2C,WAAW,EAAEM,QAAQ,CAAC;IAC/ClD,EAAEiD,OAAO,CAAChD,eAAe4C,IAAI,EAAEK,QAAQ,CAAC;IACxClD,EAAEiD,OAAO,CAAChD,eAAe6C,GAAG,EAAEI,QAAQ,CAAC;CACvC,EACAC,IAAI,CAAC;IAAEC,OAAO;IAAkBC,aAAa;IAAQC,MAAM;AAAS,GAAG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
export
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export const ResourceType = Object.freeze({
|
|
3
3
|
__proto__: null,
|
|
4
4
|
User: 'User',
|
|
5
5
|
Customer: 'Customer',
|
|
@@ -9,7 +9,7 @@ export var ResourceType = Object.freeze({
|
|
|
9
9
|
Lead: 'Lead',
|
|
10
10
|
Opportunity: 'Opportunity'
|
|
11
11
|
});
|
|
12
|
-
export
|
|
12
|
+
export const ResourceTypeSchema = z.union([
|
|
13
13
|
z.literal(ResourceType.User).describe('用户'),
|
|
14
14
|
z.literal(ResourceType.Customer).describe('客户'),
|
|
15
15
|
z.literal(ResourceType.Contact).describe('联系人'),
|
|
@@ -22,3 +22,5 @@ export var ResourceTypeSchema = z.union([
|
|
|
22
22
|
description: '资源类型',
|
|
23
23
|
type: 'string'
|
|
24
24
|
});
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=ResourceType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/ResourceType.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport type { EnumValues } from './types';\n\nexport const ResourceType = Object.freeze({\n\t__proto__: null,\n\tUser: 'User',\n\tCustomer: 'Customer',\n\tContact: 'Contact',\n\tAccount: 'Account',\n\tOrder: 'Order',\n\tLead: 'Lead',\n\tOpportunity: 'Opportunity',\n} as const);\nexport type ResourceType = EnumValues<typeof ResourceType>;\nexport const ResourceTypeSchema = z\n\t.union([\n\t\tz.literal(ResourceType.User).describe('用户'),\n\t\tz.literal(ResourceType.Customer).describe('客户'),\n\t\tz.literal(ResourceType.Contact).describe('联系人'),\n\t\tz.literal(ResourceType.Account).describe('账户'),\n\t\tz.literal(ResourceType.Order).describe('订单'),\n\t\tz.literal(ResourceType.Lead).describe('线索'),\n\t\tz.literal(ResourceType.Opportunity).describe('商机'),\n\t])\n\t.meta({ title: 'ResourceType', description: '资源类型', type: 'string' });\n"],"names":["z","ResourceType","Object","freeze","__proto__","User","Customer","Contact","Account","Order","Lead","Opportunity","ResourceTypeSchema","union","literal","describe","meta","title","description","type"],"mappings":"AAAA,SAASA,CAAC,QAAQ,SAAS;AAG3B,OAAO,MAAMC,eAAeC,OAAOC,MAAM,CAAC;IACzCC,WAAW;IACXC,MAAM;IACNC,UAAU;IACVC,SAAS;IACTC,SAAS;IACTC,OAAO;IACPC,MAAM;IACNC,aAAa;AACd,GAAY;AAEZ,OAAO,MAAMC,qBAAqBZ,EAChCa,KAAK,CAAC;IACNb,EAAEc,OAAO,CAACb,aAAaI,IAAI,EAAEU,QAAQ,CAAC;IACtCf,EAAEc,OAAO,CAACb,aAAaK,QAAQ,EAAES,QAAQ,CAAC;IAC1Cf,EAAEc,OAAO,CAACb,aAAaM,OAAO,EAAEQ,QAAQ,CAAC;IACzCf,EAAEc,OAAO,CAACb,aAAaO,OAAO,EAAEO,QAAQ,CAAC;IACzCf,EAAEc,OAAO,CAACb,aAAaQ,KAAK,EAAEM,QAAQ,CAAC;IACvCf,EAAEc,OAAO,CAACb,aAAaS,IAAI,EAAEK,QAAQ,CAAC;IACtCf,EAAEc,OAAO,CAACb,aAAaU,WAAW,EAAEI,QAAQ,CAAC;CAC7C,EACAC,IAAI,CAAC;IAAEC,OAAO;IAAgBC,aAAa;IAAQC,MAAM;AAAS,GAAG"}
|
|
@@ -3,3 +3,4 @@ export { ResourceActionType, ResourceActionTypeSchema, ResourceActionDataSchema
|
|
|
3
3
|
export { AnyResourceSchema } from "./AnyResourceSchema.js";
|
|
4
4
|
export { rz } from "./types.js";
|
|
5
5
|
export { BaseResourceSchema } from "./BaseResourceSchema.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/index.ts"],"sourcesContent":["export { ResourceStatus, ResourceStatusSchema } from './ResourceStatus';\nexport { ResourceActionType, ResourceActionTypeSchema, ResourceActionDataSchema } from './ResourceActionType';\nexport { AnyResourceSchema, type AnyResource } from './AnyResourceSchema';\nexport { rz, type EnumValues } from './types';\nexport { BaseResourceSchema } from './BaseResourceSchema';\n"],"names":["ResourceStatus","ResourceStatusSchema","ResourceActionType","ResourceActionTypeSchema","ResourceActionDataSchema","AnyResourceSchema","rz","BaseResourceSchema"],"mappings":"AAAA,SAASA,cAAc,EAAEC,oBAAoB,QAAQ,mBAAmB;AACxE,SAASC,kBAAkB,EAAEC,wBAAwB,EAAEC,wBAAwB,QAAQ,uBAAuB;AAC9G,SAASC,iBAAiB,QAA0B,sBAAsB;AAC1E,SAASC,EAAE,QAAyB,UAAU;AAC9C,SAASC,kBAAkB,QAAQ,uBAAuB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isValid } from
|
|
2
|
-
import dayjs from
|
|
3
|
-
import { z } from
|
|
4
|
-
|
|
1
|
+
import { isValid } from "date-fns";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import { z } from "zod/v4";
|
|
4
|
+
const TypeIdSchema = z.string().regex(/^[a-zA-Z0-9]+_[a-zA-Z0-9]+$/, {
|
|
5
5
|
error: 'ID格式错误'
|
|
6
6
|
}).describe('ID');
|
|
7
7
|
/*
|
|
@@ -25,7 +25,7 @@ XXXXXXXXXXX
|
|
|
25
25
|
|
|
26
26
|
https://uibakery.io/regex-library/phone-number
|
|
27
27
|
https://fakerjs.dev/api/phone
|
|
28
|
-
*/
|
|
28
|
+
*/ const PhoneNumberSchema = z.string().trim().max(20).regex(/(^$)|(^[0-9]*$)/, {
|
|
29
29
|
error: '电话号码只能包含数字'
|
|
30
30
|
}).meta({
|
|
31
31
|
format: 'phone'
|
|
@@ -36,9 +36,9 @@ function resourceIdOf(entity) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
// allow empty string
|
|
39
|
-
|
|
39
|
+
const JsonDateSchema = z.coerce.string().trim().overwrite((v)=>{
|
|
40
40
|
if (v && !/^\d{4}-\d{2}-\d{2}$/.test(v)) {
|
|
41
|
-
|
|
41
|
+
let val = dayjs(v);
|
|
42
42
|
if (val.isValid()) {
|
|
43
43
|
return val.format('YYYY-MM-DD');
|
|
44
44
|
}
|
|
@@ -46,29 +46,23 @@ var JsonDateSchema = z.coerce.string().trim().overwrite(function(v) {
|
|
|
46
46
|
return v;
|
|
47
47
|
}).regex(/(^$)|(^\d{4}-\d{2}-\d{2}$)/, {
|
|
48
48
|
error: '错误的日期格式'
|
|
49
|
-
}).refine(
|
|
50
|
-
return !value || isValid(new Date(value));
|
|
51
|
-
}, {
|
|
49
|
+
}).refine((value)=>!value || isValid(new Date(value)), {
|
|
52
50
|
error: '错误的日期'
|
|
53
|
-
}).nullish().overwrite(
|
|
54
|
-
return v || undefined;
|
|
55
|
-
}).meta({
|
|
51
|
+
}).nullish().overwrite((v)=>v || undefined).meta({
|
|
56
52
|
format: 'date'
|
|
57
53
|
});
|
|
58
|
-
|
|
54
|
+
const JsonDateTimeSchema = z.coerce.date().meta({
|
|
59
55
|
format: 'date-time',
|
|
60
56
|
type: 'string'
|
|
61
57
|
});
|
|
62
|
-
|
|
58
|
+
const LoginNameSchema = z.string().trim().regex(/^[a-z0-9]{3,16}$/, {
|
|
63
59
|
error: '登录名只能包含小写字母和数字,长度为3-16位'
|
|
64
60
|
});
|
|
65
61
|
// maybe check valid cjk
|
|
66
|
-
|
|
67
|
-
return !RegExp("\\p{C}", "u").test(v);
|
|
68
|
-
}, {
|
|
62
|
+
const FriendlyNameSchema = z.string().trim().max(50).refine((v)=>!/\p{C}/u.test(v), {
|
|
69
63
|
message: '包含无效字符'
|
|
70
64
|
}).describe('名称');
|
|
71
|
-
|
|
65
|
+
const PasswordSchema = z.string().min(6, {
|
|
72
66
|
error: '密码长度至少 6 位'
|
|
73
67
|
}).max(36, {
|
|
74
68
|
error: '密码长度最多 36 位'
|
|
@@ -77,7 +71,7 @@ var PasswordSchema = z.string().min(6, {
|
|
|
77
71
|
}).describe('密码').meta({
|
|
78
72
|
sensitive: true
|
|
79
73
|
});
|
|
80
|
-
export
|
|
74
|
+
export const rz = {
|
|
81
75
|
resourceIdOf: resourceIdOf,
|
|
82
76
|
date: JsonDateSchema,
|
|
83
77
|
dateTime: JsonDateTimeSchema,
|
|
@@ -87,3 +81,5 @@ export var rz = {
|
|
|
87
81
|
password: PasswordSchema,
|
|
88
82
|
friendlyName: FriendlyNameSchema
|
|
89
83
|
};
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/resource/schema/types.ts"],"sourcesContent":["import { isValid } from 'date-fns';\nimport dayjs from 'dayjs';\nimport { z } from 'zod/v4';\n\nconst TypeIdSchema = z\n\t.string()\n\t.regex(/^[a-zA-Z0-9]+_[a-zA-Z0-9]+$/, {\n\t\terror: 'ID格式错误',\n\t})\n\t.describe('ID');\n\n/*\nXXX-XXX-XXXX\nNational: (XXX) XXX-XXXX\nHuman: XXX.XXX.XXXX xXXX\nInternational: +XX (XXX) XXX-XXXX\n\n中国\nXXX XXXX XXXX\nXXX-XXXX-XXXX\nXXXXXXXXXXX\n+86 XXX XXXX XXXX\n+86 XXXXXXXXXXX\n\n0XX-XXXXXXXX\n0XXX-XXXXXXXX\n(0XX) XXXXXXXX\n0XX XXXX XXXX\n0XXXXXXXX\n\nhttps://uibakery.io/regex-library/phone-number\nhttps://fakerjs.dev/api/phone\n */\n\nconst PhoneNumberSchema = z\n\t.string()\n\t.trim()\n\t.max(20)\n\t.regex(/(^$)|(^[0-9]*$)/, {\n\t\terror: '电话号码只能包含数字',\n\t})\n\t.meta({\n\t\tformat: 'phone',\n\t});\n\nfunction resourceIdOf(entity: string) {\n\treturn rz.resourceId.meta({ 'x-ref-entity': entity });\n}\n\n// allow empty string\nconst JsonDateSchema = z.coerce\n\t.string()\n\t.trim()\n\t.overwrite((v) => {\n\t\tif (v && !/^\\d{4}-\\d{2}-\\d{2}$/.test(v)) {\n\t\t\tlet val = dayjs(v);\n\t\t\tif (val.isValid()) {\n\t\t\t\treturn val.format('YYYY-MM-DD');\n\t\t\t}\n\t\t}\n\t\treturn v;\n\t})\n\t.regex(/(^$)|(^\\d{4}-\\d{2}-\\d{2}$)/, { error: '错误的日期格式' })\n\t.refine((value) => !value || isValid(new Date(value)), {\n\t\terror: '错误的日期',\n\t})\n\t.nullish()\n\t.overwrite((v) => v || undefined)\n\t.meta({ format: 'date' });\n\nconst JsonDateTimeSchema = z.coerce.date().meta({ format: 'date-time', type: 'string' });\n\nconst LoginNameSchema = z\n\t.string()\n\t.trim()\n\t.regex(/^[a-z0-9]{3,16}$/, { error: '登录名只能包含小写字母和数字,长度为3-16位' });\n\n// maybe check valid cjk\nconst FriendlyNameSchema = z\n\t.string()\n\t.trim()\n\t.max(50)\n\t.refine((v) => !/\\p{C}/u.test(v), { message: '包含无效字符' })\n\t.describe('名称');\n\nconst PasswordSchema = z\n\t.string()\n\t.min(6, { error: '密码长度至少 6 位' })\n\t.max(36, { error: '密码长度最多 36 位' })\n\t.regex(/^\\S*$/, { error: '密码不能包含空格' })\n\t.describe('密码')\n\t.meta({ sensitive: true });\n\nexport const rz = {\n\tresourceIdOf: resourceIdOf,\n\tdate: JsonDateSchema,\n\tdateTime: JsonDateTimeSchema,\n\tresourceId: TypeIdSchema,\n\tphoneNumber: PhoneNumberSchema,\n\tloginName: LoginNameSchema,\n\tpassword: PasswordSchema,\n\tfriendlyName: FriendlyNameSchema,\n} as const;\n\nexport type EnumValues<T> = T[Exclude<keyof T, '__proto__'>];\n"],"names":["isValid","dayjs","z","TypeIdSchema","string","regex","error","describe","PhoneNumberSchema","trim","max","meta","format","resourceIdOf","entity","rz","resourceId","JsonDateSchema","coerce","overwrite","v","test","val","refine","value","Date","nullish","undefined","JsonDateTimeSchema","date","type","LoginNameSchema","FriendlyNameSchema","message","PasswordSchema","min","sensitive","dateTime","phoneNumber","loginName","password","friendlyName"],"mappings":"AAAA,SAASA,OAAO,QAAQ,WAAW;AACnC,OAAOC,WAAW,QAAQ;AAC1B,SAASC,CAAC,QAAQ,SAAS;AAE3B,MAAMC,eAAeD,EACnBE,MAAM,GACNC,KAAK,CAAC,+BAA+B;IACrCC,OAAO;AACR,GACCC,QAAQ,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;CAqBC,GAED,MAAMC,oBAAoBN,EACxBE,MAAM,GACNK,IAAI,GACJC,GAAG,CAAC,IACJL,KAAK,CAAC,mBAAmB;IACzBC,OAAO;AACR,GACCK,IAAI,CAAC;IACLC,QAAQ;AACT;AAED,SAASC,aAAaC,MAAc;IACnC,OAAOC,GAAGC,UAAU,CAACL,IAAI,CAAC;QAAE,gBAAgBG;IAAO;AACpD;AAEA,qBAAqB;AACrB,MAAMG,iBAAiBf,EAAEgB,MAAM,CAC7Bd,MAAM,GACNK,IAAI,GACJU,SAAS,CAAC,CAACC;IACX,IAAIA,KAAK,CAAC,sBAAsBC,IAAI,CAACD,IAAI;QACxC,IAAIE,MAAMrB,MAAMmB;QAChB,IAAIE,IAAItB,OAAO,IAAI;YAClB,OAAOsB,IAAIV,MAAM,CAAC;QACnB;IACD;IACA,OAAOQ;AACR,GACCf,KAAK,CAAC,8BAA8B;IAAEC,OAAO;AAAU,GACvDiB,MAAM,CAAC,CAACC,QAAU,CAACA,SAASxB,QAAQ,IAAIyB,KAAKD,SAAS;IACtDlB,OAAO;AACR,GACCoB,OAAO,GACPP,SAAS,CAAC,CAACC,IAAMA,KAAKO,WACtBhB,IAAI,CAAC;IAAEC,QAAQ;AAAO;AAExB,MAAMgB,qBAAqB1B,EAAEgB,MAAM,CAACW,IAAI,GAAGlB,IAAI,CAAC;IAAEC,QAAQ;IAAakB,MAAM;AAAS;AAEtF,MAAMC,kBAAkB7B,EACtBE,MAAM,GACNK,IAAI,GACJJ,KAAK,CAAC,oBAAoB;IAAEC,OAAO;AAA0B;AAE/D,wBAAwB;AACxB,MAAM0B,qBAAqB9B,EACzBE,MAAM,GACNK,IAAI,GACJC,GAAG,CAAC,IACJa,MAAM,CAAC,CAACH,IAAM,CAAC,SAASC,IAAI,CAACD,IAAI;IAAEa,SAAS;AAAS,GACrD1B,QAAQ,CAAC;AAEX,MAAM2B,iBAAiBhC,EACrBE,MAAM,GACN+B,GAAG,CAAC,GAAG;IAAE7B,OAAO;AAAa,GAC7BI,GAAG,CAAC,IAAI;IAAEJ,OAAO;AAAc,GAC/BD,KAAK,CAAC,SAAS;IAAEC,OAAO;AAAW,GACnCC,QAAQ,CAAC,MACTI,IAAI,CAAC;IAAEyB,WAAW;AAAK;AAEzB,OAAO,MAAMrB,KAAK;IACjBF,cAAcA;IACdgB,MAAMZ;IACNoB,UAAUT;IACVZ,YAAYb;IACZmC,aAAa9B;IACb+B,WAAWR;IACXS,UAAUN;IACVO,cAAcT;AACf,EAAW"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
function isValidBucketName(bucket) {
|
|
2
|
+
const bucketRegex = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;
|
|
3
|
+
return bucketRegex.test(bucket) && !bucket.includes('..') && !bucket.includes('.-') && !bucket.includes('-.');
|
|
4
|
+
}
|
|
5
|
+
export function formatS3Url(o, { credentials, useParams } = {}) {
|
|
6
|
+
if (!o || typeof o !== 'object') {
|
|
7
|
+
throw new Error('S3 options must be an object');
|
|
8
|
+
}
|
|
9
|
+
if (!o.endpoint) {
|
|
10
|
+
throw new Error('Endpoint is required');
|
|
11
|
+
}
|
|
12
|
+
let url;
|
|
13
|
+
let ep = o.endpoint || 's3.amazonaws.com';
|
|
14
|
+
try {
|
|
15
|
+
if (URL.canParse(ep)) {
|
|
16
|
+
url = new URL(ep);
|
|
17
|
+
} else {
|
|
18
|
+
url = new URL(`https://${ep}`);
|
|
19
|
+
}
|
|
20
|
+
} catch (error) {
|
|
21
|
+
throw new Error(`Invalid endpoint: ${ep}`);
|
|
22
|
+
}
|
|
23
|
+
const { useSsl = true, region, pathStyle, port, accessKeyId, secretAccessKey, bucket } = o;
|
|
24
|
+
url.protocol = useSsl ? 'https:' : 'http:';
|
|
25
|
+
if (credentials) {
|
|
26
|
+
if (accessKeyId && secretAccessKey) {
|
|
27
|
+
url.username = encodeURIComponent(accessKeyId);
|
|
28
|
+
url.password = encodeURIComponent(secretAccessKey);
|
|
29
|
+
} else {
|
|
30
|
+
throw new Error('Access Key ID and Secret Access Key are required for credentials');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (useParams) {
|
|
34
|
+
if (region) {
|
|
35
|
+
url.searchParams.set('region', region);
|
|
36
|
+
}
|
|
37
|
+
if (pathStyle !== undefined) {
|
|
38
|
+
url.searchParams.set('pathStyle', String(pathStyle));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (port) {
|
|
42
|
+
const portNum = Number(port);
|
|
43
|
+
if (isNaN(portNum) || portNum < 1 || portNum > 65535) {
|
|
44
|
+
throw new Error('Port must be a valid number between 1 and 65535');
|
|
45
|
+
}
|
|
46
|
+
url.port = String(portNum);
|
|
47
|
+
}
|
|
48
|
+
if (bucket) {
|
|
49
|
+
if (!isValidBucketName(bucket)) {
|
|
50
|
+
throw new Error(`Invalid bucket name: ${bucket}`);
|
|
51
|
+
}
|
|
52
|
+
if (pathStyle) {
|
|
53
|
+
url.pathname = `/${bucket}${url.pathname}`;
|
|
54
|
+
} else {
|
|
55
|
+
// Check if bucket is already in hostname (virtual-hosted style)
|
|
56
|
+
const bucketPattern = new RegExp(`^${bucket.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\.`);
|
|
57
|
+
if (!bucketPattern.test(url.hostname)) {
|
|
58
|
+
url.hostname = `${bucket}.${url.hostname}`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return url.toString();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=formatS3Url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/s3/formatS3Url.ts"],"sourcesContent":["import type { ParsedS3Options } from './parseS3Url';\n\nfunction isValidBucketName(bucket: string): boolean {\n\tconst bucketRegex = /^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/;\n\treturn bucketRegex.test(bucket) && !bucket.includes('..') && !bucket.includes('.-') && !bucket.includes('-.');\n}\n\nexport function formatS3Url(\n\to: ParsedS3Options,\n\t{\n\t\tcredentials,\n\t\tuseParams,\n\t}: {\n\t\tcredentials?: boolean;\n\t\tuseParams?: boolean;\n\t} = {},\n): string {\n\tif (!o || typeof o !== 'object') {\n\t\tthrow new Error('S3 options must be an object');\n\t}\n\n\tif (!o.endpoint) {\n\t\tthrow new Error('Endpoint is required');\n\t}\n\n\tlet url: URL;\n\tlet ep = o.endpoint || 's3.amazonaws.com';\n\ttry {\n\t\tif (URL.canParse(ep)) {\n\t\t\turl = new URL(ep);\n\t\t} else {\n\t\t\turl = new URL(`https://${ep}`);\n\t\t}\n\t} catch (error) {\n\t\tthrow new Error(`Invalid endpoint: ${ep}`);\n\t}\n\n\tconst { useSsl = true, region, pathStyle, port, accessKeyId, secretAccessKey, bucket } = o;\n\turl.protocol = useSsl ? 'https:' : 'http:';\n\n\tif (credentials) {\n\t\tif (accessKeyId && secretAccessKey) {\n\t\t\turl.username = encodeURIComponent(accessKeyId);\n\t\t\turl.password = encodeURIComponent(secretAccessKey);\n\t\t} else {\n\t\t\tthrow new Error('Access Key ID and Secret Access Key are required for credentials');\n\t\t}\n\t}\n\n\tif (useParams) {\n\t\tif (region) {\n\t\t\turl.searchParams.set('region', region);\n\t\t}\n\t\tif (pathStyle !== undefined) {\n\t\t\turl.searchParams.set('pathStyle', String(pathStyle));\n\t\t}\n\t}\n\n\tif (port) {\n\t\tconst portNum = Number(port);\n\t\tif (isNaN(portNum) || portNum < 1 || portNum > 65535) {\n\t\t\tthrow new Error('Port must be a valid number between 1 and 65535');\n\t\t}\n\t\turl.port = String(portNum);\n\t}\n\n\tif (bucket) {\n\t\tif (!isValidBucketName(bucket)) {\n\t\t\tthrow new Error(`Invalid bucket name: ${bucket}`);\n\t\t}\n\n\t\tif (pathStyle) {\n\t\t\turl.pathname = `/${bucket}${url.pathname}`;\n\t\t} else {\n\t\t\t// Check if bucket is already in hostname (virtual-hosted style)\n\t\t\tconst bucketPattern = new RegExp(`^${bucket.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}\\\\.`);\n\t\t\tif (!bucketPattern.test(url.hostname)) {\n\t\t\t\turl.hostname = `${bucket}.${url.hostname}`;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn url.toString();\n}\n"],"names":["isValidBucketName","bucket","bucketRegex","test","includes","formatS3Url","o","credentials","useParams","Error","endpoint","url","ep","URL","canParse","error","useSsl","region","pathStyle","port","accessKeyId","secretAccessKey","protocol","username","encodeURIComponent","password","searchParams","set","undefined","String","portNum","Number","isNaN","pathname","bucketPattern","RegExp","replace","hostname","toString"],"mappings":"AAEA,SAASA,kBAAkBC,MAAc;IACxC,MAAMC,cAAc;IACpB,OAAOA,YAAYC,IAAI,CAACF,WAAW,CAACA,OAAOG,QAAQ,CAAC,SAAS,CAACH,OAAOG,QAAQ,CAAC,SAAS,CAACH,OAAOG,QAAQ,CAAC;AACzG;AAEA,OAAO,SAASC,YACfC,CAAkB,EAClB,EACCC,WAAW,EACXC,SAAS,EAIT,GAAG,CAAC,CAAC;IAEN,IAAI,CAACF,KAAK,OAAOA,MAAM,UAAU;QAChC,MAAM,IAAIG,MAAM;IACjB;IAEA,IAAI,CAACH,EAAEI,QAAQ,EAAE;QAChB,MAAM,IAAID,MAAM;IACjB;IAEA,IAAIE;IACJ,IAAIC,KAAKN,EAAEI,QAAQ,IAAI;IACvB,IAAI;QACH,IAAIG,IAAIC,QAAQ,CAACF,KAAK;YACrBD,MAAM,IAAIE,IAAID;QACf,OAAO;YACND,MAAM,IAAIE,IAAI,CAAC,QAAQ,EAAED,IAAI;QAC9B;IACD,EAAE,OAAOG,OAAO;QACf,MAAM,IAAIN,MAAM,CAAC,kBAAkB,EAAEG,IAAI;IAC1C;IAEA,MAAM,EAAEI,SAAS,IAAI,EAAEC,MAAM,EAAEC,SAAS,EAAEC,IAAI,EAAEC,WAAW,EAAEC,eAAe,EAAEpB,MAAM,EAAE,GAAGK;IACzFK,IAAIW,QAAQ,GAAGN,SAAS,WAAW;IAEnC,IAAIT,aAAa;QAChB,IAAIa,eAAeC,iBAAiB;YACnCV,IAAIY,QAAQ,GAAGC,mBAAmBJ;YAClCT,IAAIc,QAAQ,GAAGD,mBAAmBH;QACnC,OAAO;YACN,MAAM,IAAIZ,MAAM;QACjB;IACD;IAEA,IAAID,WAAW;QACd,IAAIS,QAAQ;YACXN,IAAIe,YAAY,CAACC,GAAG,CAAC,UAAUV;QAChC;QACA,IAAIC,cAAcU,WAAW;YAC5BjB,IAAIe,YAAY,CAACC,GAAG,CAAC,aAAaE,OAAOX;QAC1C;IACD;IAEA,IAAIC,MAAM;QACT,MAAMW,UAAUC,OAAOZ;QACvB,IAAIa,MAAMF,YAAYA,UAAU,KAAKA,UAAU,OAAO;YACrD,MAAM,IAAIrB,MAAM;QACjB;QACAE,IAAIQ,IAAI,GAAGU,OAAOC;IACnB;IAEA,IAAI7B,QAAQ;QACX,IAAI,CAACD,kBAAkBC,SAAS;YAC/B,MAAM,IAAIQ,MAAM,CAAC,qBAAqB,EAAER,QAAQ;QACjD;QAEA,IAAIiB,WAAW;YACdP,IAAIsB,QAAQ,GAAG,CAAC,CAAC,EAAEhC,SAASU,IAAIsB,QAAQ,EAAE;QAC3C,OAAO;YACN,gEAAgE;YAChE,MAAMC,gBAAgB,IAAIC,OAAO,CAAC,CAAC,EAAElC,OAAOmC,OAAO,CAAC,uBAAuB,QAAQ,GAAG,CAAC;YACvF,IAAI,CAACF,cAAc/B,IAAI,CAACQ,IAAI0B,QAAQ,GAAG;gBACtC1B,IAAI0B,QAAQ,GAAG,GAAGpC,OAAO,CAAC,EAAEU,IAAI0B,QAAQ,EAAE;YAC3C;QACD;IACD;IAEA,OAAO1B,IAAI2B,QAAQ;AACpB"}
|