@stndrds/schema 1.0.0-alpha.294 → 1.0.0-alpha.295

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 (127) hide show
  1. package/LICENSE +111 -0
  2. package/README.md +7 -0
  3. package/dist/capabilities.js +2 -77
  4. package/dist/capabilities.mjs +2 -70
  5. package/dist/chunk-23KPS33D.js +2 -0
  6. package/dist/chunk-257HAQVV.mjs +6 -0
  7. package/dist/chunk-47KVYDKG.js +2 -0
  8. package/dist/chunk-4OTKOCGB.mjs +2 -0
  9. package/dist/chunk-4VCADZK4.mjs +2 -0
  10. package/dist/chunk-7SDHYJX4.mjs +2 -0
  11. package/dist/chunk-DPD6ZWL2.js +2 -0
  12. package/dist/chunk-EREGHAGI.js +2 -0
  13. package/dist/chunk-GKXTXH4Y.mjs +2 -0
  14. package/dist/chunk-GXSNLYRR.js +2 -0
  15. package/dist/chunk-HTY3NECU.mjs +2 -0
  16. package/dist/chunk-JFSQ24XR.js +2 -0
  17. package/dist/chunk-JOJ4LF2I.js +2 -0
  18. package/dist/chunk-JOS2XMXY.js +2 -0
  19. package/dist/chunk-JVLH3DVZ.js +2 -0
  20. package/dist/chunk-KG2ADZG6.mjs +2 -0
  21. package/dist/chunk-KLR22JMC.js +2 -0
  22. package/dist/chunk-KSPJP74K.mjs +2 -0
  23. package/dist/chunk-KYPEBOPW.mjs +2 -0
  24. package/dist/chunk-LB4TNMZU.mjs +2 -0
  25. package/dist/chunk-LSCBR4VS.js +2 -0
  26. package/dist/chunk-LWSOKXPF.js +2 -0
  27. package/dist/chunk-O34B5KOW.mjs +2 -0
  28. package/dist/chunk-OCAMDRO3.mjs +4 -0
  29. package/dist/chunk-PFO7NWQW.mjs +2 -0
  30. package/dist/chunk-Q7TQCRSD.mjs +2 -0
  31. package/dist/chunk-SLYRQ72J.js +2 -0
  32. package/dist/chunk-TKABCIEO.js +12 -0
  33. package/dist/chunk-TP63U7PL.js +4 -0
  34. package/dist/chunk-UXISKZ5Y.js +2 -0
  35. package/dist/chunk-VKFLXFPP.mjs +2 -0
  36. package/dist/chunk-WMQRTFOP.mjs +2 -0
  37. package/dist/chunk-XHEBV2HE.js +2 -0
  38. package/dist/chunk-XMQV2WFY.mjs +2 -0
  39. package/dist/chunk-XPF6CGAW.js +6 -0
  40. package/dist/chunk-XRDP2Y4J.mjs +2 -0
  41. package/dist/chunk-XUAP7KWK.js +2 -0
  42. package/dist/chunk-XXTKNIBK.js +2 -0
  43. package/dist/chunk-YBDR5ZMH.mjs +12 -0
  44. package/dist/chunk-YIXNAWH6.mjs +2 -0
  45. package/dist/exceptions.d.mts +5 -0
  46. package/dist/exceptions.d.ts +5 -0
  47. package/dist/exceptions.js +1 -158
  48. package/dist/exceptions.mjs +1 -1
  49. package/dist/index.d.mts +415 -116
  50. package/dist/index.d.ts +415 -116
  51. package/dist/index.js +30 -10514
  52. package/dist/index.mjs +30 -9626
  53. package/dist/utils.js +1 -31
  54. package/dist/utils.mjs +1 -2
  55. package/dist/validation/all.js +1 -131
  56. package/dist/validation/all.mjs +1 -18
  57. package/dist/validation/complex/currency.js +1 -11
  58. package/dist/validation/complex/currency.mjs +1 -2
  59. package/dist/validation/complex/location.js +1 -11
  60. package/dist/validation/complex/location.mjs +1 -2
  61. package/dist/validation/complex/phone.js +1 -11
  62. package/dist/validation/complex/phone.mjs +1 -2
  63. package/dist/validation/complex/relation.js +1 -19
  64. package/dist/validation/complex/relation.mjs +1 -2
  65. package/dist/validation/complex/richtext.js +1 -11
  66. package/dist/validation/complex/richtext.mjs +1 -2
  67. package/dist/validation/complex/select.js +1 -19
  68. package/dist/validation/complex/select.mjs +1 -2
  69. package/dist/validation/complex/user.js +1 -11
  70. package/dist/validation/complex/user.mjs +1 -2
  71. package/dist/validation/computed/formula.js +1 -11
  72. package/dist/validation/computed/formula.mjs +1 -2
  73. package/dist/validation/computed/rollup.js +1 -11
  74. package/dist/validation/computed/rollup.mjs +1 -2
  75. package/dist/validation/config/index.js +1 -52
  76. package/dist/validation/config/index.mjs +1 -7
  77. package/dist/validation/core/index.js +1 -14
  78. package/dist/validation/core/index.mjs +1 -1
  79. package/dist/validation/object/index.js +1 -69
  80. package/dist/validation/object/index.mjs +1 -16
  81. package/dist/validation/primitives/checkbox.js +1 -11
  82. package/dist/validation/primitives/checkbox.mjs +1 -2
  83. package/dist/validation/primitives/date.js +1 -11
  84. package/dist/validation/primitives/date.mjs +1 -2
  85. package/dist/validation/primitives/number.js +1 -11
  86. package/dist/validation/primitives/number.mjs +1 -2
  87. package/dist/validation/primitives/text.js +1 -11
  88. package/dist/validation/primitives/text.mjs +1 -2
  89. package/package.json +7 -5
  90. package/dist/chunk-2WWGHULM.mjs +0 -226
  91. package/dist/chunk-4KMUATDG.js +0 -609
  92. package/dist/chunk-5WATIVCA.js +0 -10
  93. package/dist/chunk-ACKMC6FL.js +0 -17
  94. package/dist/chunk-AYVHMVKQ.mjs +0 -15
  95. package/dist/chunk-CLZORRMS.mjs +0 -570
  96. package/dist/chunk-DVXGSTWJ.js +0 -81
  97. package/dist/chunk-E6JUYGJX.js +0 -22
  98. package/dist/chunk-EEH4XQ7W.js +0 -61
  99. package/dist/chunk-EW5XR2X3.js +0 -12
  100. package/dist/chunk-GO6LQADH.mjs +0 -57
  101. package/dist/chunk-HRQEZUAA.mjs +0 -29
  102. package/dist/chunk-HTSTPTNZ.js +0 -10
  103. package/dist/chunk-HURC6CW3.js +0 -241
  104. package/dist/chunk-JZNR4HKQ.mjs +0 -1432
  105. package/dist/chunk-KAWYU7TE.js +0 -657
  106. package/dist/chunk-KNGWHQLR.js +0 -16
  107. package/dist/chunk-LV3FEUKU.mjs +0 -14
  108. package/dist/chunk-NS63SPNN.mjs +0 -8
  109. package/dist/chunk-O73ROMWQ.mjs +0 -85
  110. package/dist/chunk-OSSGN43B.mjs +0 -8
  111. package/dist/chunk-Q44QKLN4.mjs +0 -43
  112. package/dist/chunk-Q4SZAMJT.js +0 -72
  113. package/dist/chunk-QT35SI3K.mjs +0 -641
  114. package/dist/chunk-QVLQPW3O.mjs +0 -10
  115. package/dist/chunk-QWKLQRBX.js +0 -35
  116. package/dist/chunk-R2DAEDRF.mjs +0 -74
  117. package/dist/chunk-R5LAJCBU.mjs +0 -67
  118. package/dist/chunk-SI34M4IC.js +0 -45
  119. package/dist/chunk-T5PM73EF.js +0 -1504
  120. package/dist/chunk-UANQJ2GH.mjs +0 -25
  121. package/dist/chunk-UXAHLSWC.mjs +0 -8
  122. package/dist/chunk-V2UA2D4E.js +0 -10
  123. package/dist/chunk-YIP5FJ5H.js +0 -27
  124. package/dist/chunk-YKWSHBT5.js +0 -32
  125. package/dist/chunk-YUFTHPOE.mjs +0 -20
  126. package/dist/chunk-ZDQ5AP26.mjs +0 -31
  127. package/dist/chunk-ZPFOKBIN.js +0 -89
@@ -1,25 +0,0 @@
1
- import { DEFAULT_VALIDATION_MESSAGES } from './chunk-HRQEZUAA.mjs';
2
- import { z } from 'zod';
3
-
4
- function createNumberValidator(attr, messages = DEFAULT_VALIDATION_MESSAGES) {
5
- let schema = z.number();
6
- if (attr.min !== void 0) {
7
- schema = schema.min(attr.min, messages.minValue(attr, attr.min));
8
- }
9
- if (attr.max !== void 0) {
10
- schema = schema.max(attr.max, messages.maxValue(attr, attr.max));
11
- }
12
- if (attr.renderAs === "rating") {
13
- schema = schema.min(attr.min ?? 0);
14
- schema = schema.max(attr.max ?? 5);
15
- }
16
- if (attr.unit === "percentage") {
17
- schema = schema.min(attr.min ?? 0).max(attr.max ?? 100);
18
- }
19
- if (attr.unit === "integer") {
20
- schema = schema.int(messages.mustBeInteger(attr));
21
- }
22
- return schema;
23
- }
24
-
25
- export { createNumberValidator };
@@ -1,8 +0,0 @@
1
- import { DEFAULT_VALIDATION_MESSAGES } from './chunk-HRQEZUAA.mjs';
2
- import { z } from 'zod';
3
-
4
- function createFormulaValidator(_attr, _messages = DEFAULT_VALIDATION_MESSAGES) {
5
- return z.unknown();
6
- }
7
-
8
- export { createFormulaValidator };
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
4
- var zod = require('zod');
5
-
6
- function createRollupValidator(_attr, _messages = chunkYKWSHBT5_js.DEFAULT_VALIDATION_MESSAGES) {
7
- return zod.z.unknown();
8
- }
9
-
10
- exports.createRollupValidator = createRollupValidator;
@@ -1,27 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
4
- var zod = require('zod');
5
-
6
- function createNumberValidator(attr, messages = chunkYKWSHBT5_js.DEFAULT_VALIDATION_MESSAGES) {
7
- let schema = zod.z.number();
8
- if (attr.min !== void 0) {
9
- schema = schema.min(attr.min, messages.minValue(attr, attr.min));
10
- }
11
- if (attr.max !== void 0) {
12
- schema = schema.max(attr.max, messages.maxValue(attr, attr.max));
13
- }
14
- if (attr.renderAs === "rating") {
15
- schema = schema.min(attr.min ?? 0);
16
- schema = schema.max(attr.max ?? 5);
17
- }
18
- if (attr.unit === "percentage") {
19
- schema = schema.min(attr.min ?? 0).max(attr.max ?? 100);
20
- }
21
- if (attr.unit === "integer") {
22
- schema = schema.int(messages.mustBeInteger(attr));
23
- }
24
- return schema;
25
- }
26
-
27
- exports.createNumberValidator = createNumberValidator;
@@ -1,32 +0,0 @@
1
- 'use strict';
2
-
3
- // src/validation/core/messages.ts
4
- var DEFAULT_VALIDATION_MESSAGES = {
5
- required: (attr) => `${attr.label} is required`,
6
- invalidType: (attr, expected) => `${attr.label} must be a ${expected}`,
7
- minLength: (attr, min) => `${attr.label} must be at least ${min} characters`,
8
- maxLength: (attr, max) => `${attr.label} must be at most ${max} characters`,
9
- invalidPattern: (attr) => `${attr.label} format is invalid`,
10
- minValue: (attr, min) => `${attr.label} must be at least ${min}`,
11
- maxValue: (attr, max) => `${attr.label} must be at most ${max}`,
12
- mustBeInteger: (attr) => `${attr.label} must be an integer`,
13
- invalidDate: (attr) => `${attr.label} must be a valid date`,
14
- invalidOption: (attr, options) => `${attr.label} must be one of: ${options.join(", ")}`,
15
- invalidId: (attr) => `${attr.label} must be a valid ID`,
16
- maxItems: (attr, max) => `${attr.label} must have at most ${max} item${max > 1 ? "s" : ""}`,
17
- invalidRichtext: (attr) => `${attr.label} must be valid rich text content`,
18
- invalidPhone: (attr) => `${attr.label} must be a valid phone number`,
19
- invalidCurrency: (attr) => `${attr.label} must be a valid currency value`,
20
- invalidLocation: (attr) => `${attr.label} must be a valid location`
21
- };
22
-
23
- // src/validation/core/errors.ts
24
- function formatZodErrors(error) {
25
- return error.issues.map((err) => ({
26
- path: err.path.map(String),
27
- message: err.message
28
- }));
29
- }
30
-
31
- exports.DEFAULT_VALIDATION_MESSAGES = DEFAULT_VALIDATION_MESSAGES;
32
- exports.formatZodErrors = formatZodErrors;
@@ -1,20 +0,0 @@
1
- import { DEFAULT_VALIDATION_MESSAGES } from './chunk-HRQEZUAA.mjs';
2
- import { z } from 'zod';
3
-
4
- function createLocationValidator(attr, messages = DEFAULT_VALIDATION_MESSAGES) {
5
- return z.object(
6
- {
7
- address: z.string().optional(),
8
- address2: z.string().optional(),
9
- city: z.string().optional(),
10
- state: z.string().optional(),
11
- postalCode: z.string().optional(),
12
- country: z.string().length(3).optional(),
13
- latitude: z.number().min(-90).max(90).optional(),
14
- longitude: z.number().min(-180).max(180).optional()
15
- },
16
- { message: messages.invalidLocation(attr) }
17
- );
18
- }
19
-
20
- export { createLocationValidator };
@@ -1,31 +0,0 @@
1
- import { DEFAULT_VALIDATION_MESSAGES } from './chunk-HRQEZUAA.mjs';
2
- import { z } from 'zod';
3
-
4
- function createSelectValidator(attr, messages = DEFAULT_VALIDATION_MESSAGES) {
5
- const validValues = attr.options.map((opt) => opt.value);
6
- if (validValues.length === 0) return z.never();
7
- const validLabels = attr.options.map((opt) => opt.label);
8
- return z.enum(validValues, {
9
- message: messages.invalidOption(attr, validLabels)
10
- });
11
- }
12
- function createMultiselectValidator(attr, messages = DEFAULT_VALIDATION_MESSAGES) {
13
- const validValues = attr.options.map((opt) => opt.value);
14
- if (validValues.length === 0) return z.never();
15
- const validLabels = attr.options.map((opt) => opt.label);
16
- return z.array(
17
- z.enum(validValues, {
18
- message: messages.invalidOption(attr, validLabels)
19
- })
20
- );
21
- }
22
- function createStatusValidator(attr, messages = DEFAULT_VALIDATION_MESSAGES) {
23
- const validValues = attr.options.map((opt) => opt.value);
24
- if (validValues.length === 0) return z.never();
25
- const validLabels = attr.options.map((opt) => opt.label);
26
- return z.enum(validValues, {
27
- message: messages.invalidOption(attr, validLabels)
28
- });
29
- }
30
-
31
- export { createMultiselectValidator, createSelectValidator, createStatusValidator };
@@ -1,89 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkYKWSHBT5_js = require('./chunk-YKWSHBT5.js');
4
- var zod = require('zod');
5
-
6
- // src/lib/text-format.ts
7
- var TEXT_FORMAT_PATTERNS = {
8
- email: "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
9
- url: "^https?:\\/\\/[\\w\\-]+(\\.[\\w\\-]+)+[/#?]?.*$",
10
- slug: "^[a-z0-9]+(?:-[a-z0-9]+)*$"
11
- };
12
- function resolveTextPattern(attr) {
13
- if (attr.pattern) return attr.pattern;
14
- return attr.format ? TEXT_FORMAT_PATTERNS[attr.format] : void 0;
15
- }
16
-
17
- // src/lib/lru-cache.ts
18
- var LRUCache = class {
19
- constructor(capacity) {
20
- if (!Number.isInteger(capacity) || capacity <= 0) {
21
- throw new Error("LRU cache capacity must be greater than 0");
22
- }
23
- this.capacity = capacity;
24
- this.cache = /* @__PURE__ */ new Map();
25
- }
26
- get(key) {
27
- if (!this.cache.has(key)) {
28
- return void 0;
29
- }
30
- const value = this.cache.get(key);
31
- this.cache.delete(key);
32
- this.cache.set(key, value);
33
- return value;
34
- }
35
- set(key, value) {
36
- if (this.cache.has(key)) {
37
- this.cache.delete(key);
38
- } else if (this.cache.size >= this.capacity) {
39
- const first = this.cache.keys().next();
40
- if (!first.done) {
41
- this.cache.delete(first.value);
42
- }
43
- }
44
- this.cache.set(key, value);
45
- }
46
- has(key) {
47
- return this.cache.has(key);
48
- }
49
- clear() {
50
- this.cache.clear();
51
- }
52
- get size() {
53
- return this.cache.size;
54
- }
55
- };
56
-
57
- // src/validation/core/regex-cache.ts
58
- function createRegexCache(capacity = 100) {
59
- return new LRUCache(capacity);
60
- }
61
- function getCachedRegex(cache, pattern) {
62
- let cached = cache.get(pattern);
63
- if (!cached) {
64
- cached = new RegExp(pattern);
65
- cache.set(pattern, cached);
66
- }
67
- return cached;
68
- }
69
-
70
- // src/validation/primitives/text.ts
71
- var textRegexCache = createRegexCache();
72
- function createTextValidator(attr, messages = chunkYKWSHBT5_js.DEFAULT_VALIDATION_MESSAGES) {
73
- let schema = zod.z.string();
74
- if (attr.minLength !== void 0) {
75
- schema = schema.min(attr.minLength, messages.minLength(attr, attr.minLength));
76
- }
77
- if (attr.maxLength !== void 0) {
78
- schema = schema.max(attr.maxLength, messages.maxLength(attr, attr.maxLength));
79
- }
80
- const pattern = resolveTextPattern(attr);
81
- if (pattern) {
82
- schema = schema.regex(getCachedRegex(textRegexCache, pattern), messages.invalidPattern(attr));
83
- }
84
- return schema;
85
- }
86
-
87
- exports.TEXT_FORMAT_PATTERNS = TEXT_FORMAT_PATTERNS;
88
- exports.createTextValidator = createTextValidator;
89
- exports.resolveTextPattern = resolveTextPattern;