@stonecrop/schema 0.12.8 → 0.13.0

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 (65) hide show
  1. package/dist/cli.cjs +41 -0
  2. package/dist/cli.cjs.map +1 -0
  3. package/dist/converter/heuristics.js +258 -0
  4. package/dist/converter/index.js +181 -0
  5. package/dist/converter/scalars.js +86 -0
  6. package/dist/converter/types.js +5 -0
  7. package/dist/converter-CYNFRwPg.js +512 -0
  8. package/dist/converter-CYNFRwPg.js.map +1 -0
  9. package/dist/converter-DNwpowpq.js +459 -0
  10. package/dist/converter-DNwpowpq.js.map +1 -0
  11. package/dist/doctype.js +152 -0
  12. package/dist/field.js +110 -0
  13. package/dist/fieldtype.js +97 -0
  14. package/dist/index-0qWNlDQ5.js +450 -0
  15. package/dist/index-0qWNlDQ5.js.map +1 -0
  16. package/dist/index-2UVTfbcY.js +448 -0
  17. package/dist/index-2UVTfbcY.js.map +1 -0
  18. package/dist/index-9QjWZ_PC.js +449 -0
  19. package/dist/index-9QjWZ_PC.js.map +1 -0
  20. package/dist/index-BCADNO5M.js +449 -0
  21. package/dist/index-BCADNO5M.js.map +1 -0
  22. package/dist/index-BRQJGVFR.js +453 -0
  23. package/dist/index-BRQJGVFR.js.map +1 -0
  24. package/dist/index-BatnoC-J.js +429 -0
  25. package/dist/index-BatnoC-J.js.map +1 -0
  26. package/dist/index-BhMd2_xl.js +454 -0
  27. package/dist/index-BhMd2_xl.js.map +1 -0
  28. package/dist/index-CLc5mUMQ.js +478 -0
  29. package/dist/index-CLc5mUMQ.js.map +1 -0
  30. package/dist/index-COrltkHl.js +401 -0
  31. package/dist/index-COrltkHl.js.map +1 -0
  32. package/dist/index-CvN9xK1B.js +453 -0
  33. package/dist/index-CvN9xK1B.js.map +1 -0
  34. package/dist/index-CzoRIy1-.js +408 -0
  35. package/dist/index-CzoRIy1-.js.map +1 -0
  36. package/dist/index-D6Up-BP5.js +435 -0
  37. package/dist/index-D6Up-BP5.js.map +1 -0
  38. package/dist/index-DIb_Z0wI.js +476 -0
  39. package/dist/index-DIb_Z0wI.js.map +1 -0
  40. package/dist/index-DNROIEMe.js +449 -0
  41. package/dist/index-DNROIEMe.js.map +1 -0
  42. package/dist/index-DUFcQC-H.js +449 -0
  43. package/dist/index-DUFcQC-H.js.map +1 -0
  44. package/dist/index-DmD8vmuB.js +449 -0
  45. package/dist/index-DmD8vmuB.js.map +1 -0
  46. package/dist/index-XZZbfFxT.js +434 -0
  47. package/dist/index-XZZbfFxT.js.map +1 -0
  48. package/dist/index-aeXXzPET.cjs +2 -0
  49. package/dist/index-aeXXzPET.cjs.map +1 -0
  50. package/dist/index-neVkjlgB.js +446 -0
  51. package/dist/index-neVkjlgB.js.map +1 -0
  52. package/dist/index-xdlVWldg.js +408 -0
  53. package/dist/index-xdlVWldg.js.map +1 -0
  54. package/dist/index.cjs +2 -0
  55. package/dist/index.cjs.map +1 -0
  56. package/dist/jsonschema.js +225 -0
  57. package/dist/naming.js +106 -0
  58. package/dist/src/jsonschema.d.ts +95 -0
  59. package/dist/src/jsonschema.d.ts.map +1 -0
  60. package/dist/src/schema-field.d.ts +66 -0
  61. package/dist/src/schema-field.d.ts.map +1 -0
  62. package/dist/src/schema-field.js +0 -0
  63. package/dist/src/tsdoc-metadata.json +11 -0
  64. package/dist/validation.js +60 -0
  65. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ import { FieldMeta } from './field';
2
+ import { DoctypeMeta } from './doctype';
3
+ /**
4
+ * Validate a field definition
5
+ * @param data - Data to validate
6
+ * @returns Validation result
7
+ * @public
8
+ */
9
+ export function validateField(data) {
10
+ const result = FieldMeta.safeParse(data);
11
+ if (result.success) {
12
+ return { success: true, errors: [] };
13
+ }
14
+ return {
15
+ success: false,
16
+ errors: result.error.issues.map(issue => ({
17
+ path: issue.path,
18
+ message: issue.message,
19
+ })),
20
+ };
21
+ }
22
+ /**
23
+ * Validate a doctype definition
24
+ * @param data - Data to validate
25
+ * @returns Validation result
26
+ * @public
27
+ */
28
+ export function validateDoctype(data) {
29
+ const result = DoctypeMeta.safeParse(data);
30
+ if (result.success) {
31
+ return { success: true, errors: [] };
32
+ }
33
+ return {
34
+ success: false,
35
+ errors: result.error.issues.map(issue => ({
36
+ path: issue.path,
37
+ message: issue.message,
38
+ })),
39
+ };
40
+ }
41
+ /**
42
+ * Parse and validate a field, throwing on failure
43
+ * @param data - Data to parse
44
+ * @returns Validated FieldMeta
45
+ * @throws ZodError if validation fails
46
+ * @public
47
+ */
48
+ export function parseField(data) {
49
+ return FieldMeta.parse(data);
50
+ }
51
+ /**
52
+ * Parse and validate a doctype, throwing on failure
53
+ * @param data - Data to parse
54
+ * @returns Validated DoctypeMeta
55
+ * @throws ZodError if validation fails
56
+ * @public
57
+ */
58
+ export function parseDoctype(data) {
59
+ return DoctypeMeta.parse(data);
60
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/schema",
3
- "version": "0.12.8",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "types": "./dist/schema.d.ts",
6
6
  "exports": {