inray 0.0.3 → 0.0.4

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 (104) hide show
  1. package/README.md +108 -24
  2. package/dist/async/abortable.d.ts +2 -2
  3. package/dist/async/abortable.d.ts.map +1 -1
  4. package/dist/async/abortable.js.map +1 -1
  5. package/dist/logtape/logtape/level.d.ts +1 -2
  6. package/dist/logtape/logtape/level.d.ts.map +1 -1
  7. package/dist/logtape/logtape/level.js +1 -1
  8. package/dist/logtape/logtape/level.js.map +1 -1
  9. package/dist/logtape/logtape/mod.d.ts +1 -1
  10. package/dist/logtape/logtape/mod.d.ts.map +1 -1
  11. package/dist/logtape/logtape/mod.js +1 -1
  12. package/dist/logtape/logtape/mod.js.map +1 -1
  13. package/dist/utils/mod.d.ts +1 -1
  14. package/dist/utils/mod.d.ts.map +1 -1
  15. package/dist/utils/mod.js.map +1 -1
  16. package/dist/utils/validation/inRangeOfMaxInt32.d.ts +2 -0
  17. package/dist/utils/validation/inRangeOfMaxInt32.d.ts.map +1 -0
  18. package/dist/utils/validation/inRangeOfMaxInt32.js +4 -0
  19. package/dist/utils/validation/inRangeOfMaxInt32.js.map +1 -0
  20. package/dist/utils/validation/isEmail.d.ts +2 -0
  21. package/dist/utils/validation/isEmail.d.ts.map +1 -0
  22. package/dist/utils/validation/isEmail.js +7 -0
  23. package/dist/utils/validation/isEmail.js.map +1 -0
  24. package/dist/utils/validation/isEmptyObject.d.ts +9 -0
  25. package/dist/utils/validation/isEmptyObject.d.ts.map +1 -0
  26. package/dist/utils/validation/isEmptyObject.js +16 -0
  27. package/dist/utils/validation/isEmptyObject.js.map +1 -0
  28. package/dist/utils/validation/isNotEmptyString.d.ts +7 -0
  29. package/dist/utils/validation/isNotEmptyString.d.ts.map +1 -0
  30. package/dist/utils/validation/isNotEmptyString.js +17 -0
  31. package/dist/utils/validation/isNotEmptyString.js.map +1 -0
  32. package/dist/utils/validation/isPositiveInteger.d.ts +2 -0
  33. package/dist/utils/validation/isPositiveInteger.d.ts.map +1 -0
  34. package/dist/utils/validation/isPositiveInteger.js +7 -0
  35. package/dist/utils/validation/isPositiveInteger.js.map +1 -0
  36. package/dist/utils/validation/isUuid.d.ts +2 -0
  37. package/dist/utils/validation/isUuid.d.ts.map +1 -0
  38. package/dist/utils/validation/isUuid.js +7 -0
  39. package/dist/utils/validation/isUuid.js.map +1 -0
  40. package/dist/utils/validation/isUuidArray.d.ts +2 -0
  41. package/dist/utils/validation/isUuidArray.d.ts.map +1 -0
  42. package/dist/utils/validation/isUuidArray.js +7 -0
  43. package/dist/utils/validation/isUuidArray.js.map +1 -0
  44. package/dist/utils/validation/isValidFileName.d.ts +2 -0
  45. package/dist/utils/validation/isValidFileName.d.ts.map +1 -0
  46. package/dist/utils/validation/isValidFileName.js +33 -0
  47. package/dist/utils/validation/isValidFileName.js.map +1 -0
  48. package/dist/utils/validation/isValidUrlLike.d.ts +6 -0
  49. package/dist/utils/validation/isValidUrlLike.d.ts.map +1 -0
  50. package/dist/utils/validation/isValidUrlLike.js +8 -0
  51. package/dist/utils/validation/isValidUrlLike.js.map +1 -0
  52. package/dist/utils/validation/mod.d.ts +21 -0
  53. package/dist/utils/validation/mod.d.ts.map +1 -0
  54. package/dist/utils/validation/mod.js +21 -0
  55. package/dist/utils/validation/mod.js.map +1 -0
  56. package/dist/utils/validation/vEnvBoolean.d.ts +3 -0
  57. package/dist/utils/validation/vEnvBoolean.d.ts.map +1 -0
  58. package/dist/utils/validation/vEnvBoolean.js +5 -0
  59. package/dist/utils/validation/vEnvBoolean.js.map +1 -0
  60. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts +3 -0
  61. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts.map +1 -0
  62. package/dist/utils/validation/vEnvBooleanOrUndefined.js +5 -0
  63. package/dist/utils/validation/vEnvBooleanOrUndefined.js.map +1 -0
  64. package/dist/utils/validation/vEnvLogLevel.d.ts +4 -0
  65. package/dist/utils/validation/vEnvLogLevel.d.ts.map +1 -0
  66. package/dist/utils/validation/vEnvLogLevel.js +6 -0
  67. package/dist/utils/validation/vEnvLogLevel.js.map +1 -0
  68. package/dist/utils/validation/vFileName.d.ts +4 -0
  69. package/dist/utils/validation/vFileName.d.ts.map +1 -0
  70. package/dist/utils/validation/vFileName.js +21 -0
  71. package/dist/utils/validation/vFileName.js.map +1 -0
  72. package/dist/utils/validation/vISO8601DateTime.d.ts +5 -0
  73. package/dist/utils/validation/vISO8601DateTime.d.ts.map +1 -0
  74. package/dist/utils/validation/vISO8601DateTime.js +37 -0
  75. package/dist/utils/validation/vISO8601DateTime.js.map +1 -0
  76. package/dist/utils/validation/vLatinInput.d.ts +3 -0
  77. package/dist/utils/validation/vLatinInput.d.ts.map +1 -0
  78. package/dist/utils/validation/vLatinInput.js +3 -0
  79. package/dist/utils/validation/vLatinInput.js.map +1 -0
  80. package/dist/utils/validation/vOmniBoolean.d.ts +3 -0
  81. package/dist/utils/validation/vOmniBoolean.d.ts.map +1 -0
  82. package/dist/utils/validation/vOmniBoolean.js +10 -0
  83. package/dist/utils/validation/vOmniBoolean.js.map +1 -0
  84. package/dist/utils/validation/vQueryBoolean.d.ts +3 -0
  85. package/dist/utils/validation/vQueryBoolean.d.ts.map +1 -0
  86. package/dist/utils/validation/vQueryBoolean.js +7 -0
  87. package/dist/utils/validation/vQueryBoolean.js.map +1 -0
  88. package/dist/utils/validation/vQueryEmailArray.d.ts +9 -0
  89. package/dist/utils/validation/vQueryEmailArray.d.ts.map +1 -0
  90. package/dist/utils/validation/vQueryEmailArray.js +29 -0
  91. package/dist/utils/validation/vQueryEmailArray.js.map +1 -0
  92. package/dist/utils/validation/vQueryNumberArray.d.ts +10 -0
  93. package/dist/utils/validation/vQueryNumberArray.d.ts.map +1 -0
  94. package/dist/utils/validation/vQueryNumberArray.js +32 -0
  95. package/dist/utils/validation/vQueryNumberArray.js.map +1 -0
  96. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts +3 -0
  97. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts.map +1 -0
  98. package/dist/utils/validation/vQueryStringifiedEnumArray.js +25 -0
  99. package/dist/utils/validation/vQueryStringifiedEnumArray.js.map +1 -0
  100. package/dist/utils/validation/vQueryUuidArray.d.ts +9 -0
  101. package/dist/utils/validation/vQueryUuidArray.d.ts.map +1 -0
  102. package/dist/utils/validation/vQueryUuidArray.js +27 -0
  103. package/dist/utils/validation/vQueryUuidArray.js.map +1 -0
  104. package/package.json +10 -2
@@ -0,0 +1,21 @@
1
+ export { inRangeOfMaxInt32 } from "./inRangeOfMaxInt32.js";
2
+ export { isEmail } from "./isEmail.js";
3
+ export { isEmptyObject } from "./isEmptyObject.js";
4
+ export { isNotEmptyString } from "./isNotEmptyString.js";
5
+ export { isPositiveInteger } from "./isPositiveInteger.js";
6
+ export { isUuid } from "./isUuid.js";
7
+ export { isUuidArraySafe } from "./isUuidArray.js";
8
+ export { isValidFileName } from "./isValidFileName.js";
9
+ export { isValidUrlLike, urlPattern } from "./isValidUrlLike.js";
10
+ export { vEnvBoolean } from "./vEnvBoolean.js";
11
+ export { vEnvBooleanOrUndefined } from "./vEnvBooleanOrUndefined.js";
12
+ export { vEnvLogLevel } from "./vEnvLogLevel.js";
13
+ export { vISO8601DateTime, vISO8601DateTimeNullableOptional, vISO8601DateTimeOptional } from "./vISO8601DateTime.js";
14
+ export { vLatinInput } from "./vLatinInput.js";
15
+ export { vOmniBoolean } from "./vOmniBoolean.js";
16
+ export { vQueryBoolean } from "./vQueryBoolean.js";
17
+ export { vQueryEmailArray } from "./vQueryEmailArray.js";
18
+ export { vQueryPositiveNumberArray } from "./vQueryNumberArray.js";
19
+ export { vQueryStringifiedEnumArray } from "./vQueryStringifiedEnumArray.js";
20
+ export { vQueryUuidArray } from "./vQueryUuidArray.js";
21
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/utils/validation/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vEnvBoolean: (varName: string, defaultValue?: "true" | "false" | true | false) => v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, string>, v.RegexAction<string, `${string} must be boolean-like`>, v.TransformAction<string, boolean>]>, boolean | "true" | "false">;
3
+ //# sourceMappingURL=vEnvBoolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vEnvBoolean.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vEnvBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,eAAc,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAa,gOAUjG,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ export const vEnvBoolean = (varName, defaultValue = false) => {
3
+ return v.optional(v.pipe(v.unknown(), v.transform((v) => String(v)), v.regex(/^(true|false)$/, `${varName} must be boolean-like`), v.transform((v) => v === 'true')), defaultValue);
4
+ };
5
+ //# sourceMappingURL=vEnvBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vEnvBoolean.js","sourceRoot":"","sources":["../../../src/utils/validation/vEnvBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,eAAgD,KAAK,EAAE,EAAE;IACpG,OAAO,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7B,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,OAAO,uBAAuB,CAAC,EAC5D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CACjC,EACD,YAAY,CACb,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vEnvBooleanOrUndefined: (varName: string) => v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, string>, v.RegexAction<string, `${string} must be boolean-like`>, v.TransformAction<string, boolean>]>, undefined>;
3
+ //# sourceMappingURL=vEnvBooleanOrUndefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vEnvBooleanOrUndefined.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vEnvBooleanOrUndefined.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,+MASrD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ export const vEnvBooleanOrUndefined = (varName) => {
3
+ return v.optional(v.pipe(v.unknown(), v.transform((v) => String(v)), v.regex(/^(true|false)$/, `${varName} must be boolean-like`), v.transform((v) => v === 'true')));
4
+ };
5
+ //# sourceMappingURL=vEnvBooleanOrUndefined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vEnvBooleanOrUndefined.js","sourceRoot":"","sources":["../../../src/utils/validation/vEnvBooleanOrUndefined.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,EAAE;IACxD,OAAO,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7B,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,OAAO,uBAAuB,CAAC,EAC5D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CACjC,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type LogLevel } from '../../logtape/mod.ts';
2
+ import * as v from '../../valibot/mod.ts';
3
+ export declare const vEnvLogLevel: (varName: string, defaultValue?: LogLevel) => v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<`${string} must be string`>, v.CheckAction<string, `${string} must be on of: ${string}`>, v.TransformAction<string, "error" | "trace" | "debug" | "fatal" | "info" | "warning">]>, "error" | "trace" | "debug" | "fatal" | "info" | "warning">;
4
+ //# sourceMappingURL=vEnvLogLevel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vEnvLogLevel.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vEnvLogLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAa,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,eAAc,QAAiB,8SAS5E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { isLogLevel, logLevels } from "../../logtape/mod.js";
2
+ import * as v from "../../valibot/mod.js";
3
+ export const vEnvLogLevel = (varName, defaultValue = 'info') => {
4
+ return v.optional(v.pipe(v.string(`${varName} must be string`), v.check((v) => isLogLevel(v), `${varName} must be on of: ${logLevels.toString()}`), v.transform((v) => v)), defaultValue);
5
+ };
6
+ //# sourceMappingURL=vEnvLogLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vEnvLogLevel.js","sourceRoot":"","sources":["../../../src/utils/validation/vEnvLogLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,eAAyB,MAAM,EAAE,EAAE;IAC/E,OAAO,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,iBAAiB,CAAC,EACrC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,mBAAmB,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,EAClF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAa,CAAC,CAClC,EACD,YAAY,CACb,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vFileName: (maxLength?: number) => v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, number, undefined>, v.TransformAction<string, string>]>;
3
+ export declare const vFileNameNullable: (maxLength?: number) => v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, number, undefined>, v.TransformAction<string, string>]>, null>;
4
+ //# sourceMappingURL=vFileName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vFileName.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vFileName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAI1C,eAAO,MAAM,SAAS,GAAI,kBAAe,4IAYtC,CAAC;AAEJ,eAAO,MAAM,iBAAiB,GAAI,kBAAe,oKAe9C,CAAC"}
@@ -0,0 +1,21 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ import { isValidFileName } from "./isValidFileName.js";
3
+ export const vFileName = (maxLength = 255) => v.pipe(v.string(), v.maxLength(maxLength), v.transform((v) => {
4
+ if (!v)
5
+ return v;
6
+ const result = isValidFileName(v);
7
+ if (!result) {
8
+ throw new Error(`invalid fileName`);
9
+ }
10
+ return v;
11
+ }));
12
+ export const vFileNameNullable = (maxLength = 255) => v.nullable(v.pipe(v.string(), v.maxLength(maxLength), v.transform((v) => {
13
+ if (!v)
14
+ return v;
15
+ const result = isValidFileName(v);
16
+ if (!result) {
17
+ throw new Error(`invalid fileName`);
18
+ }
19
+ return v;
20
+ })), null);
21
+ //# sourceMappingURL=vFileName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vFileName.js","sourceRoot":"","sources":["../../../src/utils/validation/vFileName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAC3C,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EACtB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CACnD,CAAC,CAAC,QAAQ,CACR,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EACtB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CACH,EACD,IAAI,CACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vISO8601DateTime: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, string>, v.IsoDateTimeAction<string, undefined>]>;
3
+ export declare const vISO8601DateTimeOptional: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.OptionalSchema<v.StringSchema<undefined>, undefined>, v.TransformAction<string | undefined, string | undefined>]>, v.TransformAction<string | undefined, string | undefined>]>;
4
+ export declare const vISO8601DateTimeNullableOptional: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.NullishSchema<v.StringSchema<undefined>, undefined>, v.TransformAction<string | null | undefined, string | null | undefined>]>, v.TransformAction<string | null | undefined, string | null | undefined>]>;
5
+ //# sourceMappingURL=vISO8601DateTime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vISO8601DateTime.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vISO8601DateTime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,mIAQ5B,CAAC;AAEF,eAAO,MAAM,wBAAwB,wOAepC,CAAC;AAEF,eAAO,MAAM,gCAAgC,mQAe5C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { parseISO } from "../../date-fns/core/mod.js";
2
+ import * as v from "../../valibot/mod.js";
3
+ export const vISO8601DateTime = v.pipe(v.string(), v.transform((v) => {
4
+ const mbDateResult = parseISO(v);
5
+ if (isNaN(mbDateResult.getDate()))
6
+ return 'invalid date';
7
+ return parseISO(v).toISOString();
8
+ }), v.isoDateTime());
9
+ export const vISO8601DateTimeOptional = v.pipe(v.pipe(v.optional(v.string()), v.transform((v) => {
10
+ if (v === undefined)
11
+ return v;
12
+ if (v === '')
13
+ return undefined;
14
+ return v;
15
+ })), v.transform((v) => {
16
+ if (!v)
17
+ return v;
18
+ const mbDateResult = parseISO(v);
19
+ if (isNaN(mbDateResult.getDate()))
20
+ return 'invalid date';
21
+ return parseISO(v).toISOString();
22
+ }));
23
+ export const vISO8601DateTimeNullableOptional = v.pipe(v.pipe(v.nullish(v.string()), v.transform((v) => {
24
+ if (v === undefined || v === null)
25
+ return v;
26
+ if (v === '')
27
+ return undefined;
28
+ return v;
29
+ })), v.transform((v) => {
30
+ if (!v)
31
+ return v;
32
+ const mbDateResult = parseISO(v);
33
+ if (isNaN(mbDateResult.getDate()))
34
+ return 'invalid date';
35
+ return parseISO(v).toISOString();
36
+ }));
37
+ //# sourceMappingURL=vISO8601DateTime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vISO8601DateTime.js","sourceRoot":"","sources":["../../../src/utils/validation/vISO8601DateTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CACpC,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,cAAc,CAAC;IACzD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC,CAAC,EACF,CAAC,CAAC,WAAW,EAAE,CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAC5C,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EACtB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CACH,EACD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,cAAc,CAAC;IACzD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CACpD,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EACrB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,CACH,EACD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,cAAc,CAAC;IACzD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC,CAAC,CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vLatinInput: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, undefined>]>;
3
+ //# sourceMappingURL=vLatinInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vLatinInput.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vLatinInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,WAAW,qIAAkE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ export const vLatinInput = v.pipe(v.string(), v.maxLength(128), v.regex(/^[a-zA-Z\s-]+$/));
3
+ //# sourceMappingURL=vLatinInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vLatinInput.js","sourceRoot":"","sources":["../../../src/utils/validation/vLatinInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vOmniBoolean: v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, {} | undefined>, v.TransformAction<{} | undefined, boolean | undefined>]>, undefined>;
3
+ //# sourceMappingURL=vOmniBoolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vOmniBoolean.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vOmniBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,YAAY,+KAkBxB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ export const vOmniBoolean = v.optional(v.pipe(v.unknown(), v.transform((_v) => (_v === null || _v === 'undefined' || _v === 'null' || _v === '' ? undefined : _v)), v.transform((_v) => {
3
+ if (_v === undefined)
4
+ return _v;
5
+ return v.parse(v.pipe(v.unknown(), v.parseBoolean({
6
+ truthy: [true, 1, 'true', '1', 'yes', 'y', 'on', 'enabled'],
7
+ falsy: [false, 0, 'false', '0', 'no', 'n', 'off', 'disabled']
8
+ })), _v);
9
+ })));
10
+ //# sourceMappingURL=vOmniBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vOmniBoolean.js","sourceRoot":"","sources":["../../../src/utils/validation/vOmniBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CACpC,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACvG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE;IACjB,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,YAAY,CAAC;QACb,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC;QAC3D,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC;KAC9D,CAAC,CACH,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC,CACH,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vQueryBoolean: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, boolean>]>, undefined>;
3
+ //# sourceMappingURL=vQueryBoolean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryBoolean.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vQueryBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,aAAa,yHAQzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ export const vQueryBoolean = v.optional(v.pipe(v.string(), v.transform((v) => {
3
+ if (v === undefined)
4
+ return v;
5
+ return v.toLowerCase() === 'true';
6
+ })));
7
+ //# sourceMappingURL=vQueryBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryBoolean.js","sourceRoot":"","sources":["../../../src/utils/validation/vQueryBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CACrC,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AACpC,CAAC,CAAC,CACH,CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ /**
3
+ * Query параметр - массив email
4
+ * - по умолчанию, подразумевается что значения придут в стандартном формате для массивов - emails=aaa@bbbb.com&emails=eee@fff.com
5
+ * - но данный валидатор так-же принимает, если значения будут переданы через запятую - emails=aaa@bbbb.com,eee@fff.com
6
+ * - если хотя-бы одно значение не попадёт под email будет выброшена ошибка валидации
7
+ */
8
+ export declare const vQueryEmailArray: v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, string[]>, v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.EmailAction<string, undefined>]>, undefined>]>, undefined>;
9
+ //# sourceMappingURL=vQueryEmailArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryEmailArray.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vQueryEmailArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,qOAqB5B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ /**
3
+ * Query параметр - массив email
4
+ * - по умолчанию, подразумевается что значения придут в стандартном формате для массивов - emails=aaa@bbbb.com&emails=eee@fff.com
5
+ * - но данный валидатор так-же принимает, если значения будут переданы через запятую - emails=aaa@bbbb.com,eee@fff.com
6
+ * - если хотя-бы одно значение не попадёт под email будет выброшена ошибка валидации
7
+ */
8
+ export const vQueryEmailArray = v.optional(v.pipe(v.unknown(), v.transform((values) => {
9
+ if (typeof values !== 'string' && !Array.isArray(values))
10
+ return [];
11
+ if (!values || values.length === 0)
12
+ return [];
13
+ const result = [];
14
+ for (const value of values) {
15
+ if (typeof value !== 'string')
16
+ continue;
17
+ if (value === ',')
18
+ continue;
19
+ if (value.includes(',')) {
20
+ const _values = value.trim().replace(/ /g, '').split(',');
21
+ result.push(..._values);
22
+ }
23
+ else {
24
+ result.push(value);
25
+ }
26
+ }
27
+ return result;
28
+ }), v.array(v.pipe(v.string(), v.email()))));
29
+ //# sourceMappingURL=vQueryEmailArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryEmailArray.js","sourceRoot":"","sources":["../../../src/utils/validation/vQueryEmailArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CACxC,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;IACrB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAc,CAAC;IAChF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAc,CAAC;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,KAAK,KAAK,GAAG;YAAE,SAAS;QAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CACvC,CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ /**
3
+ * Query параметр - массив чисел
4
+ * - по умолчанию, подразумевается что значения придут в стандартном формате для массивов - ids=1&ids=2
5
+ * - но данный валидатор так-же принимает, если значения будут переданы через запятую - ids=1,2
6
+ * - подразумевается, что входящие элементы - строковые представления чисел, запятые в числах будут интерпретироваться как разделители
7
+ * - если хотя-бы одно значение не попадёт под число - инпут не пройдёт валидацию
8
+ */
9
+ export declare const vQueryPositiveNumberArray: v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, number[]>, v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>]>, undefined>]>, undefined>;
10
+ //# sourceMappingURL=vQueryNumberArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryNumberArray.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vQueryNumberArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,mMAwBrC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ /**
3
+ * Query параметр - массив чисел
4
+ * - по умолчанию, подразумевается что значения придут в стандартном формате для массивов - ids=1&ids=2
5
+ * - но данный валидатор так-же принимает, если значения будут переданы через запятую - ids=1,2
6
+ * - подразумевается, что входящие элементы - строковые представления чисел, запятые в числах будут интерпретироваться как разделители
7
+ * - если хотя-бы одно значение не попадёт под число - инпут не пройдёт валидацию
8
+ */
9
+ export const vQueryPositiveNumberArray = v.optional(v.pipe(v.unknown(), v.transform((values) => {
10
+ if (typeof values !== 'string' && !Array.isArray(values))
11
+ return [];
12
+ if (!values || values.length === 0)
13
+ return [];
14
+ const result = [];
15
+ for (const value of values) {
16
+ if (typeof value !== 'string')
17
+ continue;
18
+ if (value.includes(',')) {
19
+ const _values = value
20
+ .trim()
21
+ .replace(/ /g, '')
22
+ .split(',')
23
+ .map((v) => +v);
24
+ result.push(..._values);
25
+ }
26
+ else {
27
+ result.push(+value);
28
+ }
29
+ }
30
+ return result;
31
+ }), v.array(v.pipe(v.number()))));
32
+ //# sourceMappingURL=vQueryNumberArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryNumberArray.js","sourceRoot":"","sources":["../../../src/utils/validation/vQueryNumberArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,QAAQ,CACjD,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;IACrB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAc,CAAC;IAChF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAc,CAAC;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK;iBAClB,IAAI,EAAE;iBACN,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACjB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAC5B,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ export declare const vQueryStringifiedEnumArray: <T extends string>(allowedValues: T[]) => v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, string[]>, v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, `Invalid input, value must be one of ${string}`>]>, undefined>]>, undefined>;
3
+ //# sourceMappingURL=vQueryStringifiedEnumArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryStringifiedEnumArray.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vQueryStringifiedEnumArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,eAAO,MAAM,0BAA0B,GAAI,CAAC,SAAS,MAAM,EAAE,eAAe,CAAC,EAAE,8QA+B9E,CAAC"}
@@ -0,0 +1,25 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ export const vQueryStringifiedEnumArray = (allowedValues) => {
3
+ return v.optional(v.pipe(v.unknown(), v.transform((values) => {
4
+ if (typeof values !== 'string' && !Array.isArray(values))
5
+ return [];
6
+ if (!values || values.length === 0)
7
+ return [];
8
+ const result = [];
9
+ for (const value of values) {
10
+ if (typeof value !== 'string')
11
+ continue;
12
+ if (value === ',')
13
+ continue;
14
+ if (value.includes(',')) {
15
+ const _values = value.trim().replace(/ /g, '').split(',');
16
+ result.push(..._values);
17
+ }
18
+ else {
19
+ result.push(value);
20
+ }
21
+ }
22
+ return result;
23
+ }), v.array(v.pipe(v.string(), v.check((_v) => allowedValues.includes(_v), `Invalid input, value must be one of ${allowedValues.toString()}`)))));
24
+ };
25
+ //# sourceMappingURL=vQueryStringifiedEnumArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryStringifiedEnumArray.js","sourceRoot":"","sources":["../../../src/utils/validation/vQueryStringifiedEnumArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAmB,aAAkB,EAAE,EAAE;IACjF,OAAO,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QACrB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAc,CAAC;QAChF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAc,CAAC;QAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YACxC,IAAI,KAAK,KAAK,GAAG;gBAAE,SAAS;YAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;gBACtE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,EACF,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CACL,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAO,CAAC,EACvC,uCAAuC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAClE,CACF,CACF,CACF,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as v from '../../valibot/mod.ts';
2
+ /**
3
+ * Query параметр - массив UUID
4
+ * - по умолчанию, подразумевается что значения придут в стандартном формате для массивов - ids=UUID-1&ids=UUID-2
5
+ * - но данный валидатор так-же принимает, если значения будут переданы через запятую - ids=UUID-1,UUID-2
6
+ * - если хотя-бы одно значение не попадёт под ограничения uuid - валидатор выбросит ошибку
7
+ */
8
+ export declare const vQueryUuidArray: v.OptionalSchema<v.SchemaWithPipe<readonly [v.UnknownSchema, v.TransformAction<unknown, string[]>, v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.UuidAction<string, undefined>]>, undefined>]>, undefined>;
9
+ //# sourceMappingURL=vQueryUuidArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryUuidArray.d.ts","sourceRoot":"","sources":["../../../src/utils/validation/vQueryUuidArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,eAAe,oOAoB3B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import * as v from "../../valibot/mod.js";
2
+ /**
3
+ * Query параметр - массив UUID
4
+ * - по умолчанию, подразумевается что значения придут в стандартном формате для массивов - ids=UUID-1&ids=UUID-2
5
+ * - но данный валидатор так-же принимает, если значения будут переданы через запятую - ids=UUID-1,UUID-2
6
+ * - если хотя-бы одно значение не попадёт под ограничения uuid - валидатор выбросит ошибку
7
+ */
8
+ export const vQueryUuidArray = v.optional(v.pipe(v.unknown(), v.transform((values) => {
9
+ if (typeof values !== 'string' && !Array.isArray(values))
10
+ return [];
11
+ if (!values || values.length === 0)
12
+ return [];
13
+ const result = [];
14
+ for (const value of values) {
15
+ if (typeof value !== 'string')
16
+ continue;
17
+ if (value.includes(',')) {
18
+ const _values = value.trim().replace(/ /g, '').split(',');
19
+ result.push(..._values);
20
+ }
21
+ else {
22
+ result.push(value);
23
+ }
24
+ }
25
+ return result;
26
+ }), v.array(v.pipe(v.string(), v.uuid()))));
27
+ //# sourceMappingURL=vQueryUuidArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vQueryUuidArray.js","sourceRoot":"","sources":["../../../src/utils/validation/vQueryUuidArray.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CACvC,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,OAAO,EAAE,EACX,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;IACrB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAc,CAAC;IAChF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAc,CAAC;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CACtC,CACF,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "inray",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Inray SDK",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://codeberg.org/mirakl-026/inray-sdk.git"
9
+ "url": "https://codeberg.org/mirakl-026/inray-sdk.git"
10
10
  },
11
11
  "main": "dist/index.js",
12
12
  "types": "dist/index.d.ts",
@@ -64,6 +64,10 @@
64
64
  "types": "./dist/caching/mod.d.ts",
65
65
  "import": "./dist/caching/mod.js"
66
66
  },
67
+ "./caching/keyv": {
68
+ "types": "./dist/caching/keyValue/index.d.ts",
69
+ "import": "./dist/caching/keyValue/index.js"
70
+ },
67
71
  "./collections": {
68
72
  "types": "./dist/collections/mod.d.ts",
69
73
  "import": "./dist/collections/mod.js"
@@ -464,6 +468,10 @@
464
468
  "types": "./dist/utils/mod.d.ts",
465
469
  "import": "./dist/utils/mod.js"
466
470
  },
471
+ "./utils/validation": {
472
+ "types": "./dist/utils/validation/mod.d.ts",
473
+ "import": "./dist/utils/validation/mod.js"
474
+ },
467
475
  "./valibot": {
468
476
  "types": "./dist/valibot/mod.d.ts",
469
477
  "import": "./dist/valibot/mod.js"