@bgord/tools 0.12.17 → 0.12.18
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/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/object-key.vo.d.ts +3 -0
- package/dist/object-key.vo.js +11 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/readme.md +1 -0
- package/src/index.ts +1 -0
- package/src/object-key.vo.ts +17 -0
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from "./minute.vo";
|
|
|
36
36
|
export * from "./money.vo";
|
|
37
37
|
export * from "./noop.service";
|
|
38
38
|
export * from "./notification-template.vo";
|
|
39
|
+
export * from "./object-key.vo";
|
|
39
40
|
export * from "./outlier-detector.service";
|
|
40
41
|
export * from "./package-version.vo";
|
|
41
42
|
export * from "./pagination.service";
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,7 @@ export * from "./minute.vo";
|
|
|
36
36
|
export * from "./money.vo";
|
|
37
37
|
export * from "./noop.service";
|
|
38
38
|
export * from "./notification-template.vo";
|
|
39
|
+
export * from "./object-key.vo";
|
|
39
40
|
export * from "./outlier-detector.service";
|
|
40
41
|
export * from "./package-version.vo";
|
|
41
42
|
export * from "./pagination.service";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export const ObjectKey = z
|
|
3
|
+
.string()
|
|
4
|
+
.trim()
|
|
5
|
+
.refine((v) => !v.startsWith("/"), "obj_key_must_not_start_with_slash")
|
|
6
|
+
.refine((v) => !v.includes("\\"), "obj_key_backslash_forbidden")
|
|
7
|
+
// biome-ignore lint: lint/suspicious/noControlCharactersInRegex
|
|
8
|
+
.refine((v) => !/[\u0000-\u001F\u007F]/.test(v), "obj_key_control_chars_forbidden")
|
|
9
|
+
.refine((v) => v.length > 0, "obj_key_empty")
|
|
10
|
+
.refine((v) => v.split("/").every((s) => /^[a-z0-9._-]+$/.test(s) && s !== "." && s !== ".."), "obj_key_bad_segments")
|
|
11
|
+
.brand("object_key");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/api-key.vo.ts","../src/basename.vo.ts","../src/build-version.vo.ts","../src/clock.vo.ts","../src/date-calculator.service.ts","../src/date-formatter.service.ts","../src/date-range.vo.ts","../src/dates-of-the-week.vo.ts","../src/day-iso-id.vo.ts","../src/day.vo.ts","../src/directory-path-absolute.vo.ts","../src/directory-path-relative.vo.ts","../src/dll.service.ts","../src/email-mask.service.ts","../src/etags.vo.ts","../src/extension.vo.ts","../src/feature-flag.vo.ts","../src/file-path-absolute-schema.vo.ts","../src/file-path-relative-schema.vo.ts","../src/file-path.vo.ts","../src/filename-from-string.vo.ts","../src/filename-suffix.vo.ts","../src/filename.vo.ts","../src/filter.vo.ts","../src/hour.vo.ts","../src/iban-mask.service.ts","../src/iban.vo.ts","../src/image.vo.ts","../src/index.ts","../src/language.vo.ts","../src/leap-year-checker.service.ts","../src/mean.service.ts","../src/mime-types.vo.ts","../src/mime.vo.ts","../src/min-max-scaler.service.ts","../src/minute.vo.ts","../src/money.vo.ts","../src/noop.service.ts","../src/notification-template.vo.ts","../src/outlier-detector.service.ts","../src/package-version.vo.ts","../src/pagination.service.ts","../src/percentage.service.ts","../src/population-standard-deviation.service.ts","../src/random.service.ts","../src/rate-limiter.service.ts","../src/relative-date.vo.ts","../src/reordering.service.ts","../src/revision.vo.ts","../src/rounding.service.ts","../src/simple-linear-regression.service.ts","../src/size.vo.ts","../src/stepper.service.ts","../src/stopwatch.service.ts","../src/streak-calculator.service.ts","../src/sum.service.ts","../src/thousands-separator.service.ts","../src/time-zone-offset-value.vo.ts","../src/time.service.ts","../src/timestamp.vo.ts","../src/timezone.vo.ts","../src/ts-utils.ts","../src/visually-unambiguous-characters-generator.service.ts","../src/week-iso-id.vo.ts","../src/week.vo.ts","../src/z-score.service.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../src/api-key.vo.ts","../src/basename.vo.ts","../src/build-version.vo.ts","../src/clock.vo.ts","../src/date-calculator.service.ts","../src/date-formatter.service.ts","../src/date-range.vo.ts","../src/dates-of-the-week.vo.ts","../src/day-iso-id.vo.ts","../src/day.vo.ts","../src/directory-path-absolute.vo.ts","../src/directory-path-relative.vo.ts","../src/dll.service.ts","../src/email-mask.service.ts","../src/etags.vo.ts","../src/extension.vo.ts","../src/feature-flag.vo.ts","../src/file-path-absolute-schema.vo.ts","../src/file-path-relative-schema.vo.ts","../src/file-path.vo.ts","../src/filename-from-string.vo.ts","../src/filename-suffix.vo.ts","../src/filename.vo.ts","../src/filter.vo.ts","../src/hour.vo.ts","../src/iban-mask.service.ts","../src/iban.vo.ts","../src/image.vo.ts","../src/index.ts","../src/language.vo.ts","../src/leap-year-checker.service.ts","../src/mean.service.ts","../src/mime-types.vo.ts","../src/mime.vo.ts","../src/min-max-scaler.service.ts","../src/minute.vo.ts","../src/money.vo.ts","../src/noop.service.ts","../src/notification-template.vo.ts","../src/object-key.vo.ts","../src/outlier-detector.service.ts","../src/package-version.vo.ts","../src/pagination.service.ts","../src/percentage.service.ts","../src/population-standard-deviation.service.ts","../src/random.service.ts","../src/rate-limiter.service.ts","../src/relative-date.vo.ts","../src/reordering.service.ts","../src/revision.vo.ts","../src/rounding.service.ts","../src/simple-linear-regression.service.ts","../src/size.vo.ts","../src/stepper.service.ts","../src/stopwatch.service.ts","../src/streak-calculator.service.ts","../src/sum.service.ts","../src/thousands-separator.service.ts","../src/time-zone-offset-value.vo.ts","../src/time.service.ts","../src/timestamp.vo.ts","../src/timezone.vo.ts","../src/ts-utils.ts","../src/visually-unambiguous-characters-generator.service.ts","../src/week-iso-id.vo.ts","../src/week.vo.ts","../src/z-score.service.ts"],"version":"5.9.2"}
|
package/package.json
CHANGED
package/readme.md
CHANGED
package/src/index.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from "./minute.vo";
|
|
|
36
36
|
export * from "./money.vo";
|
|
37
37
|
export * from "./noop.service";
|
|
38
38
|
export * from "./notification-template.vo";
|
|
39
|
+
export * from "./object-key.vo";
|
|
39
40
|
export * from "./outlier-detector.service";
|
|
40
41
|
export * from "./package-version.vo";
|
|
41
42
|
export * from "./pagination.service";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
|
|
3
|
+
export const ObjectKey = z
|
|
4
|
+
.string()
|
|
5
|
+
.trim()
|
|
6
|
+
.refine((v) => !v.startsWith("/"), "obj_key_must_not_start_with_slash")
|
|
7
|
+
.refine((v) => !v.includes("\\"), "obj_key_backslash_forbidden")
|
|
8
|
+
// biome-ignore lint: lint/suspicious/noControlCharactersInRegex
|
|
9
|
+
.refine((v) => !/[\u0000-\u001F\u007F]/.test(v), "obj_key_control_chars_forbidden")
|
|
10
|
+
.refine((v) => v.length > 0, "obj_key_empty")
|
|
11
|
+
.refine(
|
|
12
|
+
(v) => v.split("/").every((s) => /^[a-z0-9._-]+$/.test(s) && s !== "." && s !== ".."),
|
|
13
|
+
"obj_key_bad_segments",
|
|
14
|
+
)
|
|
15
|
+
.brand("object_key");
|
|
16
|
+
|
|
17
|
+
export type ObjectKeyType = z.infer<typeof ObjectKey>;
|