inray 0.0.3 → 0.0.5

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 (137) hide show
  1. package/LICENSE.md +28 -27
  2. package/README.md +158 -52
  3. package/dist/async/abortable.d.ts +2 -2
  4. package/dist/async/abortable.d.ts.map +1 -1
  5. package/dist/async/abortable.js.map +1 -1
  6. package/dist/cli/mod.d.ts +2 -0
  7. package/dist/cli/mod.d.ts.map +1 -0
  8. package/dist/cli/mod.js +2 -0
  9. package/dist/cli/mod.js.map +1 -0
  10. package/dist/cli/src/index.d.ts +25 -0
  11. package/dist/cli/src/index.d.ts.map +1 -0
  12. package/dist/cli/src/index.js +25 -0
  13. package/dist/cli/src/index.js.map +1 -0
  14. package/dist/cli/src/lib/argument.d.ts +82 -0
  15. package/dist/cli/src/lib/argument.d.ts.map +1 -0
  16. package/dist/cli/src/lib/argument.js +143 -0
  17. package/dist/cli/src/lib/argument.js.map +1 -0
  18. package/dist/cli/src/lib/command.d.ts +1051 -0
  19. package/dist/cli/src/lib/command.d.ts.map +1 -0
  20. package/dist/cli/src/lib/command.js +2208 -0
  21. package/dist/cli/src/lib/command.js.map +1 -0
  22. package/dist/cli/src/lib/error.d.ts +35 -0
  23. package/dist/cli/src/lib/error.d.ts.map +1 -0
  24. package/dist/cli/src/lib/error.js +49 -0
  25. package/dist/cli/src/lib/error.js.map +1 -0
  26. package/dist/cli/src/lib/help.d.ts +250 -0
  27. package/dist/cli/src/lib/help.d.ts.map +1 -0
  28. package/dist/cli/src/lib/help.js +583 -0
  29. package/dist/cli/src/lib/help.js.map +1 -0
  30. package/dist/cli/src/lib/option.d.ts +189 -0
  31. package/dist/cli/src/lib/option.d.ts.map +1 -0
  32. package/dist/cli/src/lib/option.js +364 -0
  33. package/dist/cli/src/lib/option.js.map +1 -0
  34. package/dist/cli/src/lib/suggestSimilar.d.ts +18 -0
  35. package/dist/cli/src/lib/suggestSimilar.d.ts.map +1 -0
  36. package/dist/cli/src/lib/suggestSimilar.js +99 -0
  37. package/dist/cli/src/lib/suggestSimilar.js.map +1 -0
  38. package/dist/logtape/logtape/level.d.ts +1 -2
  39. package/dist/logtape/logtape/level.d.ts.map +1 -1
  40. package/dist/logtape/logtape/level.js +1 -1
  41. package/dist/logtape/logtape/level.js.map +1 -1
  42. package/dist/logtape/logtape/mod.d.ts +1 -1
  43. package/dist/logtape/logtape/mod.d.ts.map +1 -1
  44. package/dist/logtape/logtape/mod.js +1 -1
  45. package/dist/logtape/logtape/mod.js.map +1 -1
  46. package/dist/utils/mod.d.ts +1 -1
  47. package/dist/utils/mod.d.ts.map +1 -1
  48. package/dist/utils/mod.js.map +1 -1
  49. package/dist/utils/validation/inRangeOfMaxInt32.d.ts +2 -0
  50. package/dist/utils/validation/inRangeOfMaxInt32.d.ts.map +1 -0
  51. package/dist/utils/validation/inRangeOfMaxInt32.js +4 -0
  52. package/dist/utils/validation/inRangeOfMaxInt32.js.map +1 -0
  53. package/dist/utils/validation/isEmail.d.ts +2 -0
  54. package/dist/utils/validation/isEmail.d.ts.map +1 -0
  55. package/dist/utils/validation/isEmail.js +7 -0
  56. package/dist/utils/validation/isEmail.js.map +1 -0
  57. package/dist/utils/validation/isEmptyObject.d.ts +9 -0
  58. package/dist/utils/validation/isEmptyObject.d.ts.map +1 -0
  59. package/dist/utils/validation/isEmptyObject.js +16 -0
  60. package/dist/utils/validation/isEmptyObject.js.map +1 -0
  61. package/dist/utils/validation/isNotEmptyString.d.ts +7 -0
  62. package/dist/utils/validation/isNotEmptyString.d.ts.map +1 -0
  63. package/dist/utils/validation/isNotEmptyString.js +17 -0
  64. package/dist/utils/validation/isNotEmptyString.js.map +1 -0
  65. package/dist/utils/validation/isPositiveInteger.d.ts +2 -0
  66. package/dist/utils/validation/isPositiveInteger.d.ts.map +1 -0
  67. package/dist/utils/validation/isPositiveInteger.js +7 -0
  68. package/dist/utils/validation/isPositiveInteger.js.map +1 -0
  69. package/dist/utils/validation/isUuid.d.ts +2 -0
  70. package/dist/utils/validation/isUuid.d.ts.map +1 -0
  71. package/dist/utils/validation/isUuid.js +7 -0
  72. package/dist/utils/validation/isUuid.js.map +1 -0
  73. package/dist/utils/validation/isUuidArray.d.ts +2 -0
  74. package/dist/utils/validation/isUuidArray.d.ts.map +1 -0
  75. package/dist/utils/validation/isUuidArray.js +7 -0
  76. package/dist/utils/validation/isUuidArray.js.map +1 -0
  77. package/dist/utils/validation/isValidFileName.d.ts +2 -0
  78. package/dist/utils/validation/isValidFileName.d.ts.map +1 -0
  79. package/dist/utils/validation/isValidFileName.js +33 -0
  80. package/dist/utils/validation/isValidFileName.js.map +1 -0
  81. package/dist/utils/validation/isValidUrlLike.d.ts +6 -0
  82. package/dist/utils/validation/isValidUrlLike.d.ts.map +1 -0
  83. package/dist/utils/validation/isValidUrlLike.js +8 -0
  84. package/dist/utils/validation/isValidUrlLike.js.map +1 -0
  85. package/dist/utils/validation/mod.d.ts +21 -0
  86. package/dist/utils/validation/mod.d.ts.map +1 -0
  87. package/dist/utils/validation/mod.js +21 -0
  88. package/dist/utils/validation/mod.js.map +1 -0
  89. package/dist/utils/validation/vEnvBoolean.d.ts +3 -0
  90. package/dist/utils/validation/vEnvBoolean.d.ts.map +1 -0
  91. package/dist/utils/validation/vEnvBoolean.js +5 -0
  92. package/dist/utils/validation/vEnvBoolean.js.map +1 -0
  93. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts +3 -0
  94. package/dist/utils/validation/vEnvBooleanOrUndefined.d.ts.map +1 -0
  95. package/dist/utils/validation/vEnvBooleanOrUndefined.js +5 -0
  96. package/dist/utils/validation/vEnvBooleanOrUndefined.js.map +1 -0
  97. package/dist/utils/validation/vEnvLogLevel.d.ts +4 -0
  98. package/dist/utils/validation/vEnvLogLevel.d.ts.map +1 -0
  99. package/dist/utils/validation/vEnvLogLevel.js +6 -0
  100. package/dist/utils/validation/vEnvLogLevel.js.map +1 -0
  101. package/dist/utils/validation/vFileName.d.ts +4 -0
  102. package/dist/utils/validation/vFileName.d.ts.map +1 -0
  103. package/dist/utils/validation/vFileName.js +21 -0
  104. package/dist/utils/validation/vFileName.js.map +1 -0
  105. package/dist/utils/validation/vISO8601DateTime.d.ts +5 -0
  106. package/dist/utils/validation/vISO8601DateTime.d.ts.map +1 -0
  107. package/dist/utils/validation/vISO8601DateTime.js +37 -0
  108. package/dist/utils/validation/vISO8601DateTime.js.map +1 -0
  109. package/dist/utils/validation/vLatinInput.d.ts +3 -0
  110. package/dist/utils/validation/vLatinInput.d.ts.map +1 -0
  111. package/dist/utils/validation/vLatinInput.js +3 -0
  112. package/dist/utils/validation/vLatinInput.js.map +1 -0
  113. package/dist/utils/validation/vOmniBoolean.d.ts +3 -0
  114. package/dist/utils/validation/vOmniBoolean.d.ts.map +1 -0
  115. package/dist/utils/validation/vOmniBoolean.js +10 -0
  116. package/dist/utils/validation/vOmniBoolean.js.map +1 -0
  117. package/dist/utils/validation/vQueryBoolean.d.ts +3 -0
  118. package/dist/utils/validation/vQueryBoolean.d.ts.map +1 -0
  119. package/dist/utils/validation/vQueryBoolean.js +7 -0
  120. package/dist/utils/validation/vQueryBoolean.js.map +1 -0
  121. package/dist/utils/validation/vQueryEmailArray.d.ts +9 -0
  122. package/dist/utils/validation/vQueryEmailArray.d.ts.map +1 -0
  123. package/dist/utils/validation/vQueryEmailArray.js +29 -0
  124. package/dist/utils/validation/vQueryEmailArray.js.map +1 -0
  125. package/dist/utils/validation/vQueryNumberArray.d.ts +10 -0
  126. package/dist/utils/validation/vQueryNumberArray.d.ts.map +1 -0
  127. package/dist/utils/validation/vQueryNumberArray.js +32 -0
  128. package/dist/utils/validation/vQueryNumberArray.js.map +1 -0
  129. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts +3 -0
  130. package/dist/utils/validation/vQueryStringifiedEnumArray.d.ts.map +1 -0
  131. package/dist/utils/validation/vQueryStringifiedEnumArray.js +25 -0
  132. package/dist/utils/validation/vQueryStringifiedEnumArray.js.map +1 -0
  133. package/dist/utils/validation/vQueryUuidArray.d.ts +9 -0
  134. package/dist/utils/validation/vQueryUuidArray.d.ts.map +1 -0
  135. package/dist/utils/validation/vQueryUuidArray.js +27 -0
  136. package/dist/utils/validation/vQueryUuidArray.js.map +1 -0
  137. package/package.json +15 -2
@@ -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.5",
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",
@@ -21,6 +21,7 @@
21
21
  "test:async": "vitest run --project async",
22
22
  "test:bytes": "vitest run --project bytes",
23
23
  "test:caching": "vitest run --project caching",
24
+ "test:cli": "vitest run --project cli",
24
25
  "test:collections": "vitest run --project collections",
25
26
  "test:csv": "vitest run --project csv",
26
27
  "test:data-structures": "vitest run --project data-structures",
@@ -64,6 +65,14 @@
64
65
  "types": "./dist/caching/mod.d.ts",
65
66
  "import": "./dist/caching/mod.js"
66
67
  },
68
+ "./caching/keyv": {
69
+ "types": "./dist/caching/keyValue/index.d.ts",
70
+ "import": "./dist/caching/keyValue/index.js"
71
+ },
72
+ "./cli": {
73
+ "types": "./dist/cli/mod.d.ts",
74
+ "import": "./dist/cli/mod.js"
75
+ },
67
76
  "./collections": {
68
77
  "types": "./dist/collections/mod.d.ts",
69
78
  "import": "./dist/collections/mod.js"
@@ -464,6 +473,10 @@
464
473
  "types": "./dist/utils/mod.d.ts",
465
474
  "import": "./dist/utils/mod.js"
466
475
  },
476
+ "./utils/validation": {
477
+ "types": "./dist/utils/validation/mod.d.ts",
478
+ "import": "./dist/utils/validation/mod.js"
479
+ },
467
480
  "./valibot": {
468
481
  "types": "./dist/valibot/mod.d.ts",
469
482
  "import": "./dist/valibot/mod.js"