@contractspec/lib.contracts-transformers 1.57.0 → 1.59.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 (135) hide show
  1. package/dist/browser/common/index.js +86 -0
  2. package/dist/browser/index.js +2414 -0
  3. package/dist/browser/openapi/index.js +2404 -0
  4. package/dist/common/index.d.ts +6 -3
  5. package/dist/common/index.d.ts.map +1 -0
  6. package/dist/common/index.js +87 -3
  7. package/dist/common/types.d.ts +119 -120
  8. package/dist/common/types.d.ts.map +1 -1
  9. package/dist/common/utils.d.ts +11 -14
  10. package/dist/common/utils.d.ts.map +1 -1
  11. package/dist/index.d.ts +18 -18
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +2415 -18
  14. package/dist/node/common/index.js +86 -0
  15. package/dist/node/index.js +2414 -0
  16. package/dist/node/openapi/index.js +2404 -0
  17. package/dist/openapi/differ.d.ts +21 -21
  18. package/dist/openapi/differ.d.ts.map +1 -1
  19. package/dist/openapi/exporter/data-views.d.ts +24 -25
  20. package/dist/openapi/exporter/data-views.d.ts.map +1 -1
  21. package/dist/openapi/exporter/events.d.ts +15 -15
  22. package/dist/openapi/exporter/events.d.ts.map +1 -1
  23. package/dist/openapi/exporter/features.d.ts +23 -24
  24. package/dist/openapi/exporter/features.d.ts.map +1 -1
  25. package/dist/openapi/exporter/forms.d.ts +17 -17
  26. package/dist/openapi/exporter/forms.d.ts.map +1 -1
  27. package/dist/openapi/exporter/index.d.ts +12 -0
  28. package/dist/openapi/exporter/index.d.ts.map +1 -0
  29. package/dist/openapi/exporter/operations.d.ts +29 -29
  30. package/dist/openapi/exporter/operations.d.ts.map +1 -1
  31. package/dist/openapi/exporter/presentations.d.ts +16 -17
  32. package/dist/openapi/exporter/presentations.d.ts.map +1 -1
  33. package/dist/openapi/exporter/registries.d.ts +13 -14
  34. package/dist/openapi/exporter/registries.d.ts.map +1 -1
  35. package/dist/openapi/exporter/workflows.d.ts +23 -24
  36. package/dist/openapi/exporter/workflows.d.ts.map +1 -1
  37. package/dist/openapi/exporter.d.ts +24 -23
  38. package/dist/openapi/exporter.d.ts.map +1 -1
  39. package/dist/openapi/exporter.test.d.ts +2 -0
  40. package/dist/openapi/exporter.test.d.ts.map +1 -0
  41. package/dist/openapi/importer/analyzer.d.ts +14 -0
  42. package/dist/openapi/importer/analyzer.d.ts.map +1 -0
  43. package/dist/openapi/importer/events.d.ts +7 -0
  44. package/dist/openapi/importer/events.d.ts.map +1 -0
  45. package/dist/openapi/importer/generator.d.ts +8 -0
  46. package/dist/openapi/importer/generator.d.ts.map +1 -0
  47. package/dist/openapi/importer/grouping.d.ts +27 -0
  48. package/dist/openapi/importer/grouping.d.ts.map +1 -0
  49. package/dist/openapi/importer/index.d.ts +11 -9
  50. package/dist/openapi/importer/index.d.ts.map +1 -1
  51. package/dist/openapi/importer/models.d.ts +7 -0
  52. package/dist/openapi/importer/models.d.ts.map +1 -0
  53. package/dist/openapi/importer/schemas.d.ts +15 -0
  54. package/dist/openapi/importer/schemas.d.ts.map +1 -0
  55. package/dist/openapi/importer.d.ts +6 -0
  56. package/dist/openapi/importer.d.ts.map +1 -0
  57. package/dist/openapi/index.d.ts +12 -16
  58. package/dist/openapi/index.d.ts.map +1 -0
  59. package/dist/openapi/index.js +2405 -18
  60. package/dist/openapi/parser/document.d.ts +5 -9
  61. package/dist/openapi/parser/document.d.ts.map +1 -1
  62. package/dist/openapi/parser/index.d.ts +6 -0
  63. package/dist/openapi/parser/index.d.ts.map +1 -0
  64. package/dist/openapi/parser/operation.d.ts +7 -0
  65. package/dist/openapi/parser/operation.d.ts.map +1 -0
  66. package/dist/openapi/parser/parameters.d.ts +11 -0
  67. package/dist/openapi/parser/parameters.d.ts.map +1 -0
  68. package/dist/openapi/parser/resolvers.d.ts +21 -0
  69. package/dist/openapi/parser/resolvers.d.ts.map +1 -0
  70. package/dist/openapi/parser/utils.d.ts +9 -8
  71. package/dist/openapi/parser/utils.d.ts.map +1 -1
  72. package/dist/openapi/parser.d.ts +6 -0
  73. package/dist/openapi/parser.d.ts.map +1 -0
  74. package/dist/openapi/schema-converter.d.ts +45 -45
  75. package/dist/openapi/schema-converter.d.ts.map +1 -1
  76. package/dist/openapi/schema-generators/index.d.ts +115 -0
  77. package/dist/openapi/schema-generators/index.d.ts.map +1 -0
  78. package/dist/openapi/schema-generators.test.d.ts +2 -0
  79. package/dist/openapi/schema-generators.test.d.ts.map +1 -0
  80. package/dist/openapi/types.d.ts +198 -198
  81. package/dist/openapi/types.d.ts.map +1 -1
  82. package/package.json +53 -20
  83. package/dist/common/utils.js +0 -103
  84. package/dist/common/utils.js.map +0 -1
  85. package/dist/openapi/differ.js +0 -222
  86. package/dist/openapi/differ.js.map +0 -1
  87. package/dist/openapi/exporter/data-views.js +0 -47
  88. package/dist/openapi/exporter/data-views.js.map +0 -1
  89. package/dist/openapi/exporter/events.js +0 -39
  90. package/dist/openapi/exporter/events.js.map +0 -1
  91. package/dist/openapi/exporter/features.js +0 -46
  92. package/dist/openapi/exporter/features.js.map +0 -1
  93. package/dist/openapi/exporter/forms.js +0 -49
  94. package/dist/openapi/exporter/forms.js.map +0 -1
  95. package/dist/openapi/exporter/index.js +0 -8
  96. package/dist/openapi/exporter/operations.js +0 -143
  97. package/dist/openapi/exporter/operations.js.map +0 -1
  98. package/dist/openapi/exporter/presentations.js +0 -60
  99. package/dist/openapi/exporter/presentations.js.map +0 -1
  100. package/dist/openapi/exporter/registries.js +0 -29
  101. package/dist/openapi/exporter/registries.js.map +0 -1
  102. package/dist/openapi/exporter/workflows.js +0 -54
  103. package/dist/openapi/exporter/workflows.js.map +0 -1
  104. package/dist/openapi/exporter.js +0 -122
  105. package/dist/openapi/exporter.js.map +0 -1
  106. package/dist/openapi/importer/analyzer.js +0 -28
  107. package/dist/openapi/importer/analyzer.js.map +0 -1
  108. package/dist/openapi/importer/events.js +0 -40
  109. package/dist/openapi/importer/events.js.map +0 -1
  110. package/dist/openapi/importer/generator.js +0 -105
  111. package/dist/openapi/importer/generator.js.map +0 -1
  112. package/dist/openapi/importer/grouping.js +0 -72
  113. package/dist/openapi/importer/grouping.js.map +0 -1
  114. package/dist/openapi/importer/index.js +0 -175
  115. package/dist/openapi/importer/index.js.map +0 -1
  116. package/dist/openapi/importer/models.js +0 -22
  117. package/dist/openapi/importer/models.js.map +0 -1
  118. package/dist/openapi/importer/schemas.js +0 -60
  119. package/dist/openapi/importer/schemas.js.map +0 -1
  120. package/dist/openapi/parser/document.js +0 -95
  121. package/dist/openapi/parser/document.js.map +0 -1
  122. package/dist/openapi/parser/index.js +0 -5
  123. package/dist/openapi/parser/operation.js +0 -59
  124. package/dist/openapi/parser/operation.js.map +0 -1
  125. package/dist/openapi/parser/parameters.js +0 -37
  126. package/dist/openapi/parser/parameters.js.map +0 -1
  127. package/dist/openapi/parser/resolvers.js +0 -63
  128. package/dist/openapi/parser/resolvers.js.map +0 -1
  129. package/dist/openapi/parser/utils.js +0 -48
  130. package/dist/openapi/parser/utils.js.map +0 -1
  131. package/dist/openapi/parser.js +0 -6
  132. package/dist/openapi/schema-converter.js +0 -161
  133. package/dist/openapi/schema-converter.js.map +0 -1
  134. package/dist/openapi/schema-generators/index.js +0 -461
  135. package/dist/openapi/schema-generators/index.js.map +0 -1
@@ -0,0 +1,86 @@
1
+ // src/common/utils.ts
2
+ function toPascalCase(str) {
3
+ return str.replace(/[-_./\s]+(.)?/g, (_, c) => c ? c.toUpperCase() : "").replace(/^./, (c) => c.toUpperCase());
4
+ }
5
+ function toCamelCase(str) {
6
+ const pascal = toPascalCase(str);
7
+ return pascal.charAt(0).toLowerCase() + pascal.slice(1);
8
+ }
9
+ function toKebabCase(str) {
10
+ return str.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_./]+/g, "-").toLowerCase();
11
+ }
12
+ function toSnakeCase(str) {
13
+ return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[\s\-./]+/g, "_").toLowerCase();
14
+ }
15
+ function toValidIdentifier(str) {
16
+ let result = str.replace(/[^a-zA-Z0-9_$]/g, "_");
17
+ if (/^[0-9]/.test(result)) {
18
+ result = "_" + result;
19
+ }
20
+ return result;
21
+ }
22
+ function toSpecKey(operationId, prefix) {
23
+ const key = toCamelCase(operationId);
24
+ return prefix ? `${prefix}.${key}` : key;
25
+ }
26
+ function toFileName(specName) {
27
+ return toKebabCase(specName.replace(/\./g, "-")) + ".ts";
28
+ }
29
+ function deepEqual(a, b) {
30
+ if (a === b)
31
+ return true;
32
+ if (a === null || b === null)
33
+ return false;
34
+ if (typeof a !== typeof b)
35
+ return false;
36
+ if (typeof a === "object") {
37
+ const aObj = a;
38
+ const bObj = b;
39
+ const aKeys = Object.keys(aObj);
40
+ const bKeys = Object.keys(bObj);
41
+ if (aKeys.length !== bKeys.length)
42
+ return false;
43
+ for (const key of aKeys) {
44
+ if (!bKeys.includes(key))
45
+ return false;
46
+ if (!deepEqual(aObj[key], bObj[key]))
47
+ return false;
48
+ }
49
+ return true;
50
+ }
51
+ return false;
52
+ }
53
+ function getByPath(obj, path) {
54
+ const parts = path.split(".").filter(Boolean);
55
+ let current = obj;
56
+ for (const part of parts) {
57
+ if (current === null || current === undefined)
58
+ return;
59
+ if (typeof current !== "object")
60
+ return;
61
+ current = current[part];
62
+ }
63
+ return current;
64
+ }
65
+ function extractPathParams(path) {
66
+ const matches = path.match(/\{([^}]+)\}/g) || [];
67
+ return matches.map((m) => m.slice(1, -1));
68
+ }
69
+ function normalizePath(path) {
70
+ let normalized = path.replace(/^\/+|\/+$/g, "");
71
+ normalized = normalized.replace(/\/+/g, "/");
72
+ return "/" + normalized;
73
+ }
74
+ export {
75
+ toValidIdentifier,
76
+ toSpecKey,
77
+ toSnakeCase,
78
+ toPascalCase,
79
+ toKebabCase,
80
+ toFileName,
81
+ toCamelCase,
82
+ normalizePath,
83
+ getByPath,
84
+ extractPathParams,
85
+ deepEqual
86
+ };