@kubb/core 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (107) hide show
  1. package/README.md +13 -4
  2. package/dist/{FileManager-BW--rO8q.d.ts → FileManager-DQtWE_rp.d.ts} +112 -72
  3. package/dist/{FileManager-Bw-FNS3q.d.cts → FileManager-qZTz0oZl.d.cts} +112 -72
  4. package/dist/chunk-253UUWI5.cjs +101 -0
  5. package/dist/chunk-253UUWI5.cjs.map +1 -0
  6. package/dist/chunk-2EU7DMPM.js +96 -0
  7. package/dist/chunk-2EU7DMPM.js.map +1 -0
  8. package/dist/chunk-4X5FFJPJ.js +8 -13
  9. package/dist/chunk-4X5FFJPJ.js.map +1 -1
  10. package/dist/chunk-7O42P6ET.cjs +1088 -0
  11. package/dist/chunk-7O42P6ET.cjs.map +1 -0
  12. package/dist/chunk-CLTNHSMO.js +895 -0
  13. package/dist/chunk-CLTNHSMO.js.map +1 -0
  14. package/dist/{chunk-3OXCZ5DJ.js → chunk-E6CN2CZC.js} +63 -54
  15. package/dist/chunk-E6CN2CZC.js.map +1 -0
  16. package/dist/chunk-HBQM723K.js +1049 -0
  17. package/dist/chunk-HBQM723K.js.map +1 -0
  18. package/dist/{chunk-LM2YQC3T.cjs → chunk-HRJU3XOH.cjs} +81 -51
  19. package/dist/chunk-HRJU3XOH.cjs.map +1 -0
  20. package/dist/chunk-OAGN4FY6.cjs +42 -0
  21. package/dist/chunk-OAGN4FY6.cjs.map +1 -0
  22. package/dist/chunk-P37BU33L.cjs +1537 -0
  23. package/dist/chunk-P37BU33L.cjs.map +1 -0
  24. package/dist/{chunk-67C6RBGQ.cjs → chunk-U3S2ZR6C.cjs} +28 -29
  25. package/dist/chunk-U3S2ZR6C.cjs.map +1 -0
  26. package/dist/index.cjs +551 -599
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.cts +6 -19
  29. package/dist/index.d.ts +6 -19
  30. package/dist/index.js +442 -512
  31. package/dist/index.js.map +1 -1
  32. package/dist/{logger-DChjnJMn.d.cts → logger-DvbHXjIO.d.cts} +29 -19
  33. package/dist/{logger-DChjnJMn.d.ts → logger-DvbHXjIO.d.ts} +29 -19
  34. package/dist/logger.cjs +25 -15
  35. package/dist/logger.cjs.map +1 -1
  36. package/dist/logger.d.cts +1 -2
  37. package/dist/logger.d.ts +1 -2
  38. package/dist/logger.js +3 -15
  39. package/dist/logger.js.map +1 -1
  40. package/dist/mocks.cjs +42 -31
  41. package/dist/mocks.cjs.map +1 -1
  42. package/dist/mocks.d.cts +7 -9
  43. package/dist/mocks.d.ts +7 -9
  44. package/dist/mocks.js +35 -33
  45. package/dist/mocks.js.map +1 -1
  46. package/dist/prompt-TK4KVZVL.cjs +760 -0
  47. package/dist/prompt-TK4KVZVL.cjs.map +1 -0
  48. package/dist/prompt-WQQUN22Z.js +749 -0
  49. package/dist/prompt-WQQUN22Z.js.map +1 -0
  50. package/dist/transformers.cjs +215 -49
  51. package/dist/transformers.cjs.map +1 -1
  52. package/dist/transformers.d.cts +1 -3
  53. package/dist/transformers.d.ts +1 -3
  54. package/dist/transformers.js +148 -35
  55. package/dist/transformers.js.map +1 -1
  56. package/dist/utils.cjs +65 -26
  57. package/dist/utils.cjs.map +1 -1
  58. package/dist/utils.d.cts +32 -3
  59. package/dist/utils.d.ts +32 -3
  60. package/dist/utils.js +3 -26
  61. package/dist/utils.js.map +1 -1
  62. package/package.json +10 -13
  63. package/src/BarrelManager.ts +95 -109
  64. package/src/{Generator.ts → BaseGenerator.ts} +1 -1
  65. package/src/FileManager.ts +190 -298
  66. package/src/PackageManager.ts +1 -1
  67. package/src/PluginManager.ts +149 -90
  68. package/src/PromiseManager.ts +1 -1
  69. package/src/__snapshots__/barrel.json +93 -0
  70. package/src/__snapshots__/grouped.json +120 -0
  71. package/src/__snapshots__/ordered.json +68 -0
  72. package/src/build.ts +87 -122
  73. package/src/config.ts +1 -1
  74. package/src/errors.ts +0 -11
  75. package/src/index.ts +2 -3
  76. package/src/logger.ts +76 -34
  77. package/src/plugin.ts +2 -5
  78. package/src/transformers/escape.ts +0 -10
  79. package/src/transformers/index.ts +2 -3
  80. package/src/transformers/trim.ts +0 -4
  81. package/src/types.ts +36 -5
  82. package/src/utils/TreeNode.ts +132 -50
  83. package/src/utils/executeStrategies.ts +3 -3
  84. package/src/utils/index.ts +2 -1
  85. package/src/utils/parser.ts +166 -0
  86. package/dist/chunk-3OXCZ5DJ.js.map +0 -1
  87. package/dist/chunk-5JZNFPUP.js +0 -309
  88. package/dist/chunk-5JZNFPUP.js.map +0 -1
  89. package/dist/chunk-67C6RBGQ.cjs.map +0 -1
  90. package/dist/chunk-ADC5UNZ5.cjs +0 -1227
  91. package/dist/chunk-ADC5UNZ5.cjs.map +0 -1
  92. package/dist/chunk-HMLY7DHA.js +0 -16
  93. package/dist/chunk-HMLY7DHA.js.map +0 -1
  94. package/dist/chunk-JKZG2IJR.js +0 -283
  95. package/dist/chunk-JKZG2IJR.js.map +0 -1
  96. package/dist/chunk-LM2YQC3T.cjs.map +0 -1
  97. package/dist/chunk-PZT4CTBV.cjs +0 -299
  98. package/dist/chunk-PZT4CTBV.cjs.map +0 -1
  99. package/dist/chunk-SA2GZKXS.js +0 -596
  100. package/dist/chunk-SA2GZKXS.js.map +0 -1
  101. package/dist/chunk-XCPFG6DO.cjs +0 -66
  102. package/dist/chunk-XCPFG6DO.cjs.map +0 -1
  103. package/dist/chunk-YTSNYMHW.cjs +0 -320
  104. package/dist/chunk-YTSNYMHW.cjs.map +0 -1
  105. package/schema.json +0 -86
  106. package/src/utils/cache.ts +0 -35
  107. package/src/utils/getParser.ts +0 -17
@@ -1,50 +1,163 @@
1
- import {
1
+ import { transformReservedWord } from './chunk-2EU7DMPM.js';
2
+ export { transformReservedWord } from './chunk-2EU7DMPM.js';
3
+ import { orderBy, camelCase, pascalCase, pathCase } from './chunk-4X5FFJPJ.js';
4
+ export { camelCase, orderBy, pascalCase, pathCase } from './chunk-4X5FFJPJ.js';
5
+ import { merge } from 'remeda';
6
+ export { merge } from 'remeda';
7
+
8
+ // src/transformers/combineCodes.ts
9
+ function combineCodes(codes) {
10
+ return codes.join("\n");
11
+ }
12
+
13
+ // src/transformers/createJSDocBlockText.ts
14
+ function createJSDocBlockText({ comments }) {
15
+ const filteredComments = comments.filter(Boolean);
16
+ if (!filteredComments.length) {
17
+ return "";
18
+ }
19
+ return `/**
20
+ * ${filteredComments.join("\n * ")}
21
+ */`;
22
+ }
23
+
24
+ // src/transformers/escape.ts
25
+ function escape(text) {
26
+ return text ? text.replaceAll("`", "\\`") : "";
27
+ }
28
+ function jsStringEscape(input) {
29
+ return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
30
+ switch (character) {
31
+ case '"':
32
+ case "'":
33
+ case "\\":
34
+ return `\\${character}`;
35
+ case "\n":
36
+ return "\\n";
37
+ case "\r":
38
+ return "\\r";
39
+ case "\u2028":
40
+ return "\\u2028";
41
+ case "\u2029":
42
+ return "\\u2029";
43
+ default:
44
+ return "";
45
+ }
46
+ });
47
+ }
48
+
49
+ // src/transformers/indent.ts
50
+ function createIndent(size) {
51
+ return Array.from({ length: size + 1 }).join(" ");
52
+ }
53
+
54
+ // src/transformers/nameSorter.ts
55
+ function nameSorter(a, b) {
56
+ if (a.name < b.name) {
57
+ return -1;
58
+ }
59
+ if (a.name > b.name) {
60
+ return 1;
61
+ }
62
+ return 0;
63
+ }
64
+
65
+ // src/transformers/searchAndReplace.ts
66
+ function searchAndReplace(options) {
67
+ const { text, replaceBy, prefix = "", key } = options;
68
+ const searchValues = options.searchValues?.(prefix, key) || [
69
+ `${prefix}["${key}"]`,
70
+ `${prefix}['${key}']`,
71
+ `${prefix}[\`${key}\`]`,
72
+ `${prefix}"${key}"`,
73
+ `${prefix}'${key}'`,
74
+ `${prefix}\`${key}\``,
75
+ new RegExp(`${prefix}${key}`, "g")
76
+ ];
77
+ return searchValues.reduce((prev, searchValue) => {
78
+ return prev.toString().replaceAll(searchValue, replaceBy);
79
+ }, text);
80
+ }
81
+
82
+ // src/transformers/trim.ts
83
+ function trim(text) {
84
+ return text.replaceAll(/\n/g, "").trim();
85
+ }
86
+ function trimQuotes(text) {
87
+ if (text.match(/^"(.*)"$/)) {
88
+ return text.replace(/^"(.*)"$/, "$1");
89
+ }
90
+ if (text.match(/^'(.*)'$/)) {
91
+ return text.replace(/^'(.*)'$/, "$1");
92
+ }
93
+ if (text.match(/^`(.*)`$/)) {
94
+ return text.replace(/^`(.*)`$/, "$1");
95
+ }
96
+ return text;
97
+ }
98
+
99
+ // src/transformers/stringify.ts
100
+ function stringify(value) {
101
+ if (value === void 0 || value === null) {
102
+ return '""';
103
+ }
104
+ return JSON.stringify(trimQuotes(value.toString()));
105
+ }
106
+ function stringifyObject(value) {
107
+ const items = Object.entries(value).map(([key, value2]) => {
108
+ if (typeof value2 === "object") {
109
+ return `${key}: {
110
+ ${stringifyObject(value2)}
111
+ }`;
112
+ }
113
+ return `${key}: ${value2}`;
114
+ }).filter(Boolean);
115
+ return items.join(",\n");
116
+ }
117
+
118
+ // src/transformers/toRegExp.ts
119
+ function stringToRegex(text) {
120
+ const isStartWithSlash = text.startsWith("/");
121
+ const isEndWithSlash = text.endsWith("/");
122
+ return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0));
123
+ }
124
+ function toRegExp(text) {
125
+ if (typeof text === "string") {
126
+ const source = trimQuotes(text);
127
+ return stringToRegex(source);
128
+ }
129
+ return stringToRegex(text.toString());
130
+ }
131
+ function toRegExpString(text, func = "RegExp") {
132
+ const isStartWithSlash = text.startsWith("/");
133
+ const isEndWithSlash = text.endsWith("/");
134
+ const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : void 0))}')`;
135
+ return regexp;
136
+ }
137
+ var transformers_default = {
2
138
  combineCodes,
3
- createIndent,
4
- createJSDocBlockText,
5
139
  escape,
6
140
  jsStringEscape,
7
- merge,
141
+ createIndent,
142
+ transformReservedWord,
8
143
  nameSorter,
9
144
  searchAndReplace,
10
145
  stringify,
11
146
  stringifyObject,
12
147
  toRegExp,
13
148
  toRegExpString,
14
- transformReservedWord,
15
- transformers_default,
16
149
  trim,
17
- trimExtName,
18
- trimQuotes
19
- } from "./chunk-JKZG2IJR.js";
20
- import {
21
- camelCase,
150
+ trimQuotes,
151
+ JSDoc: {
152
+ createJSDocBlockText
153
+ },
22
154
  orderBy,
23
- pascalCase,
24
- pathCase
25
- } from "./chunk-4X5FFJPJ.js";
26
- import "./chunk-HMLY7DHA.js";
27
- export {
28
- camelCase,
29
- combineCodes,
30
- createIndent,
31
- createJSDocBlockText,
32
- transformers_default as default,
33
- escape,
34
- jsStringEscape,
35
155
  merge,
36
- nameSorter,
37
- orderBy,
156
+ camelCase,
38
157
  pascalCase,
39
- pathCase,
40
- searchAndReplace,
41
- stringify,
42
- stringifyObject,
43
- toRegExp,
44
- toRegExpString,
45
- transformReservedWord,
46
- trim,
47
- trimExtName,
48
- trimQuotes
158
+ pathCase
49
159
  };
160
+
161
+ export { combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, jsStringEscape, nameSorter, searchAndReplace, stringify, stringifyObject, toRegExp, toRegExpString, trim, trimQuotes };
162
+ //# sourceMappingURL=transformers.js.map
50
163
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/trim.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/index.ts"],"names":["value"],"mappings":";;;;;;;;AAAO,SAAS,aAAa,KAAyB,EAAA;AACpD,EAAO,OAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AACxB,CAAA;;;ACFO,SAAS,oBAAA,CAAqB,EAAE,QAAA,EAAiD,EAAA;AACtF,EAAM,MAAA,gBAAA,GAAmB,QAAS,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAEhD,EAAI,IAAA,CAAC,iBAAiB,MAAQ,EAAA;AAC5B,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,CAAA;AAAA,GAAW,EAAA,gBAAA,CAAiB,IAAK,CAAA,OAAO,CAAC,CAAA;AAAA,GAAA,CAAA,CAAA;AAClD,CAAA;;;ACRO,SAAS,OAAO,IAAuB,EAAA;AAC5C,EAAA,OAAO,IAAO,GAAA,IAAA,CAAK,UAAW,CAAA,GAAA,EAAK,KAAK,CAAI,GAAA,EAAA,CAAA;AAC9C,CAAA;AAQO,SAAS,eAAe,KAAoB,EAAA;AACjD,EAAA,OAAO,GAAG,KAAK,CAAA,CAAA,CAAG,OAAQ,CAAA,yBAAA,EAA2B,CAAC,SAAc,KAAA;AAClE,IAAA,QAAQ,SAAW;AAAA,MACjB,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,GAAA,CAAA;AAAA,MACL,KAAK,IAAA;AACH,QAAA,OAAO,KAAK,SAAS,CAAA,CAAA,CAAA;AAAA,MAEvB,KAAK,IAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,IAAA;AACH,QAAO,OAAA,KAAA,CAAA;AAAA,MACT,KAAK,QAAA;AACH,QAAO,OAAA,SAAA,CAAA;AAAA,MACT,KAAK,QAAA;AACH,QAAO,OAAA,SAAA,CAAA;AAAA,MACT;AACE,QAAO,OAAA,EAAA,CAAA;AAAA,KACX;AAAA,GACD,CAAA,CAAA;AACH,CAAA;;;AC9BO,SAAS,aAAa,IAAsB,EAAA;AACjD,EAAO,OAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAO,CAAE,EAAC,CAAE,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAClD,CAAA;;;ACFO,SAAS,UAAA,CAAuC,GAAM,CAAkB,EAAA;AAC7E,EAAI,IAAA,CAAA,CAAE,IAAO,GAAA,CAAA,CAAE,IAAM,EAAA;AACnB,IAAO,OAAA,CAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,CAAA,CAAE,IAAO,GAAA,CAAA,CAAE,IAAM,EAAA;AACnB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,CAAA,CAAA;AACT,CAAA;;;ACAO,SAAS,iBAAiB,OAA0B,EAAA;AACzD,EAAA,MAAM,EAAE,IAAM,EAAA,SAAA,EAAW,MAAS,GAAA,EAAA,EAAI,KAAQ,GAAA,OAAA,CAAA;AAE9C,EAAA,MAAM,YAAe,GAAA,OAAA,CAAQ,YAAe,GAAA,MAAA,EAAQ,GAAG,CAAK,IAAA;AAAA,IAC1D,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,CAAA,EAAG,MAAM,CAAA,GAAA,EAAM,GAAG,CAAA,GAAA,CAAA;AAAA,IAClB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,IAChB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,IAChB,CAAA,EAAG,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA;AAAA,IACjB,IAAI,MAAO,CAAA,CAAA,EAAG,MAAM,CAAG,EAAA,GAAG,IAAI,GAAG,CAAA;AAAA,GACnC,CAAA;AAEA,EAAA,OAAO,YAAa,CAAA,MAAA,CAAO,CAAC,IAAA,EAAM,WAAgB,KAAA;AAChD,IAAA,OAAO,IAAK,CAAA,QAAA,EAAW,CAAA,UAAA,CAAW,aAAa,SAAS,CAAA,CAAA;AAAA,KACvD,IAAI,CAAA,CAAA;AACT,CAAA;;;ACxBO,SAAS,KAAK,IAAsB,EAAA;AACzC,EAAA,OAAO,IAAK,CAAA,UAAA,CAAW,KAAO,EAAA,EAAE,EAAE,IAAK,EAAA,CAAA;AACzC,CAAA;AAEO,SAAS,WAAW,IAAsB,EAAA;AAC/C,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AACA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AAEA,EAAI,IAAA,IAAA,CAAK,KAAM,CAAA,UAAU,CAAG,EAAA;AAC1B,IAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAAA,GACtC;AAEA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;ACfO,SAAS,UAAU,KAA4C,EAAA;AACpE,EAAI,IAAA,KAAA,KAAU,KAAa,CAAA,IAAA,KAAA,KAAU,IAAM,EAAA;AACzC,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,KAAK,SAAU,CAAA,UAAA,CAAW,KAAM,CAAA,QAAA,EAAU,CAAC,CAAA,CAAA;AACpD,CAAA;AAEO,SAAS,gBAAgB,KAAuB,EAAA;AACrD,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,CAC/B,IAAI,CAAC,CAAC,GAAKA,EAAAA,MAAK,CAAM,KAAA;AACrB,IAAI,IAAA,OAAOA,WAAU,QAAU,EAAA;AAC7B,MAAA,OAAO,GAAG,GAAG,CAAA;AAAA,QACX,EAAA,eAAA,CAAgBA,MAAK,CAAC,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAE1B;AAEA,IAAO,OAAA,CAAA,EAAG,GAAG,CAAA,EAAA,EAAKA,MAAK,CAAA,CAAA,CAAA;AAAA,GACxB,CACA,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAEjB,EAAO,OAAA,KAAA,CAAM,KAAK,KAAK,CAAA,CAAA;AACzB,CAAA;;;ACrBA,SAAS,cAAc,IAAc,EAAA;AACnC,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAC5C,EAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAExC,EAAO,OAAA,IAAI,MAAO,CAAA,IAAA,CAAK,KAAM,CAAA,gBAAA,GAAmB,IAAI,CAAG,EAAA,cAAA,GAAiB,CAAK,CAAA,GAAA,KAAA,CAAS,CAAC,CAAA,CAAA;AACzF,CAAA;AAKO,SAAS,SAAS,IAA+B,EAAA;AACtD,EAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC5B,IAAM,MAAA,MAAA,GAAS,WAAW,IAAI,CAAA,CAAA;AAE9B,IAAA,OAAO,cAAc,MAAM,CAAA,CAAA;AAAA,GAC7B;AAEA,EAAO,OAAA,aAAA,CAAc,IAAK,CAAA,QAAA,EAAU,CAAA,CAAA;AACtC,CAAA;AAEO,SAAS,cAAA,CAAe,IAAc,EAAA,IAAA,GAAO,QAAkB,EAAA;AACpE,EAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAC5C,EAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AAExC,EAAA,MAAM,MAAS,GAAA,CAAA,IAAA,EAAO,IAAI,CAAA,EAAA,EAAK,eAAe,IAAK,CAAA,KAAA,CAAM,gBAAmB,GAAA,CAAA,GAAI,CAAG,EAAA,cAAA,GAAiB,CAAK,CAAA,GAAA,KAAA,CAAS,CAAC,CAAC,CAAA,EAAA,CAAA,CAAA;AAEpH,EAAO,OAAA,MAAA,CAAA;AACT,CAAA;ACDA,IAAO,oBAAQ,GAAA;AAAA,EACb,YAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,qBAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAO,EAAA;AAAA,IACL,oBAAA;AAAA,GACF;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AACF","file":"transformers.js","sourcesContent":["export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return `\\\\${character}`\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { jsStringEscape } from './escape'\nimport { trimQuotes } from './trim'\n\nfunction stringToRegex(text: string) {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n return new RegExp(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))\n}\n\n/**\n * @experimental\n */\nexport function toRegExp(text: string | RegExp): RegExp {\n if (typeof text === 'string') {\n const source = trimQuotes(text)\n\n return stringToRegex(source)\n }\n\n return stringToRegex(text.toString())\n}\n\nexport function toRegExpString(text: string, func = 'RegExp'): string {\n const isStartWithSlash = text.startsWith('/')\n const isEndWithSlash = text.endsWith('/')\n\n const regexp = `new ${func}('${jsStringEscape(text.slice(isStartWithSlash ? 1 : 0, isEndWithSlash ? -1 : undefined))}')`\n\n return regexp\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase, pathCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExp, toRegExpString } from './toRegExp.ts'\nimport { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { camelCase, pascalCase, pathCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExp, toRegExpString } from './toRegExp.ts'\nexport { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\nexport { merge } from 'remeda'\nexport { orderBy } from 'natural-orderby'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExp,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n pathCase,\n} as const\n"]}
package/dist/utils.cjs CHANGED
@@ -1,27 +1,66 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
- var _chunkYTSNYMHWcjs = require('./chunk-YTSNYMHW.cjs');
13
- require('./chunk-67C6RBGQ.cjs');
14
- require('./chunk-XCPFG6DO.cjs');
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
- exports.FunctionParams = _chunkYTSNYMHWcjs.FunctionParams; exports.URLPath = _chunkYTSNYMHWcjs.URLPath; exports.getParser = _chunkYTSNYMHWcjs.getParser; exports.getUniqueName = _chunkYTSNYMHWcjs.getUniqueName; exports.isPromise = _chunkYTSNYMHWcjs.isPromise; exports.isPromiseFulfilledResult = _chunkYTSNYMHWcjs.isPromiseFulfilledResult; exports.isPromiseRejectedResult = _chunkYTSNYMHWcjs.isPromiseRejectedResult; exports.renderTemplate = _chunkYTSNYMHWcjs.renderTemplate; exports.setUniqueName = _chunkYTSNYMHWcjs.setUniqueName; exports.timeout = _chunkYTSNYMHWcjs.timeout;
1
+ 'use strict';
2
+
3
+ var chunkP37BU33L_cjs = require('./chunk-P37BU33L.cjs');
4
+ require('./chunk-U3S2ZR6C.cjs');
5
+ require('./chunk-OAGN4FY6.cjs');
6
+
7
+
8
+
9
+ Object.defineProperty(exports, "FunctionParams", {
10
+ enumerable: true,
11
+ get: function () { return chunkP37BU33L_cjs.FunctionParams; }
12
+ });
13
+ Object.defineProperty(exports, "URLPath", {
14
+ enumerable: true,
15
+ get: function () { return chunkP37BU33L_cjs.URLPath; }
16
+ });
17
+ Object.defineProperty(exports, "createFile", {
18
+ enumerable: true,
19
+ get: function () { return chunkP37BU33L_cjs.createFile; }
20
+ });
21
+ Object.defineProperty(exports, "createFileExport", {
22
+ enumerable: true,
23
+ get: function () { return chunkP37BU33L_cjs.createFileExport; }
24
+ });
25
+ Object.defineProperty(exports, "createFileImport", {
26
+ enumerable: true,
27
+ get: function () { return chunkP37BU33L_cjs.createFileImport; }
28
+ });
29
+ Object.defineProperty(exports, "createFileParser", {
30
+ enumerable: true,
31
+ get: function () { return chunkP37BU33L_cjs.createFileParser; }
32
+ });
33
+ Object.defineProperty(exports, "getFileParser", {
34
+ enumerable: true,
35
+ get: function () { return chunkP37BU33L_cjs.getFileParser; }
36
+ });
37
+ Object.defineProperty(exports, "getUniqueName", {
38
+ enumerable: true,
39
+ get: function () { return chunkP37BU33L_cjs.getUniqueName; }
40
+ });
41
+ Object.defineProperty(exports, "isPromise", {
42
+ enumerable: true,
43
+ get: function () { return chunkP37BU33L_cjs.isPromise; }
44
+ });
45
+ Object.defineProperty(exports, "isPromiseFulfilledResult", {
46
+ enumerable: true,
47
+ get: function () { return chunkP37BU33L_cjs.isPromiseFulfilledResult; }
48
+ });
49
+ Object.defineProperty(exports, "isPromiseRejectedResult", {
50
+ enumerable: true,
51
+ get: function () { return chunkP37BU33L_cjs.isPromiseRejectedResult; }
52
+ });
53
+ Object.defineProperty(exports, "renderTemplate", {
54
+ enumerable: true,
55
+ get: function () { return chunkP37BU33L_cjs.renderTemplate; }
56
+ });
57
+ Object.defineProperty(exports, "setUniqueName", {
58
+ enumerable: true,
59
+ get: function () { return chunkP37BU33L_cjs.setUniqueName; }
60
+ });
61
+ Object.defineProperty(exports, "timeout", {
62
+ enumerable: true,
63
+ get: function () { return chunkP37BU33L_cjs.timeout; }
64
+ });
65
+ //# sourceMappingURL=utils.cjs.map
27
66
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/kubb/kubb/packages/core/dist/utils.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,+jBAAC","file":"/home/runner/work/kubb/kubb/packages/core/dist/utils.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.cjs"}
package/dist/utils.d.cts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { PossiblePromise } from '@kubb/types';
2
- import * as _kubb_parser_ts from '@kubb/parser-ts';
2
+ import * as KubbFile from '@kubb/fs/types';
3
+ import { L as Logger } from './logger-DvbHXjIO.cjs';
4
+ import 'consola';
3
5
 
4
6
  type FunctionParamsASTWithoutType = {
5
7
  name?: string;
@@ -101,6 +103,33 @@ declare class URLPath {
101
103
  toURLPath(): string;
102
104
  }
103
105
 
104
- declare function getParser(language: string | undefined): Promise<typeof _kubb_parser_ts>;
106
+ /**
107
+ * Helper to create a file with name and id set
108
+ */
109
+ declare function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta>;
110
+ /**
111
+ * Helper to create a fileImport with extName set
112
+ */
113
+ declare function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport;
114
+ /**
115
+ * Helper to create a fileExport with extName set
116
+ */
117
+ declare function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport;
118
+ type ParserModule<TMeta extends object = object> = {
119
+ /**
120
+ * By default @kubb/react is used
121
+ */
122
+ render: (item: any) => any;
123
+ format: (source: string) => Promise<string>;
124
+ /**
125
+ * Convert a file to string
126
+ */
127
+ print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>;
128
+ };
129
+ declare function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta>;
130
+ type PrintOptions = {
131
+ logger?: Logger;
132
+ };
133
+ declare function getFileParser<TMeta extends object = object>(extName: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>>;
105
134
 
106
- export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
135
+ export { FunctionParams, type FunctionParamsAST, type ParserModule, type URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
package/dist/utils.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { PossiblePromise } from '@kubb/types';
2
- import * as _kubb_parser_ts from '@kubb/parser-ts';
2
+ import * as KubbFile from '@kubb/fs/types';
3
+ import { L as Logger } from './logger-DvbHXjIO.js';
4
+ import 'consola';
3
5
 
4
6
  type FunctionParamsASTWithoutType = {
5
7
  name?: string;
@@ -101,6 +103,33 @@ declare class URLPath {
101
103
  toURLPath(): string;
102
104
  }
103
105
 
104
- declare function getParser(language: string | undefined): Promise<typeof _kubb_parser_ts>;
106
+ /**
107
+ * Helper to create a file with name and id set
108
+ */
109
+ declare function createFile<TMeta extends object = object>(file: KubbFile.File<TMeta>): KubbFile.ResolvedFile<TMeta>;
110
+ /**
111
+ * Helper to create a fileImport with extName set
112
+ */
113
+ declare function createFileImport(imp: KubbFile.Import): KubbFile.ResolvedImport;
114
+ /**
115
+ * Helper to create a fileExport with extName set
116
+ */
117
+ declare function createFileExport(exp: KubbFile.Export): KubbFile.ResolvedExport;
118
+ type ParserModule<TMeta extends object = object> = {
119
+ /**
120
+ * By default @kubb/react is used
121
+ */
122
+ render: (item: any) => any;
123
+ format: (source: string) => Promise<string>;
124
+ /**
125
+ * Convert a file to string
126
+ */
127
+ print: (file: KubbFile.ResolvedFile<TMeta>, options: PrintOptions) => Promise<string>;
128
+ };
129
+ declare function createFileParser<TMeta extends object = object>(parser: ParserModule<TMeta>): ParserModule<TMeta>;
130
+ type PrintOptions = {
131
+ logger?: Logger;
132
+ };
133
+ declare function getFileParser<TMeta extends object = object>(extName: KubbFile.Extname | undefined): Promise<ParserModule<TMeta>>;
105
134
 
106
- export { FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
135
+ export { FunctionParams, type FunctionParamsAST, type ParserModule, type URLObject, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
package/dist/utils.js CHANGED
@@ -1,27 +1,4 @@
1
- import {
2
- FunctionParams,
3
- URLPath,
4
- getParser,
5
- getUniqueName,
6
- isPromise,
7
- isPromiseFulfilledResult,
8
- isPromiseRejectedResult,
9
- renderTemplate,
10
- setUniqueName,
11
- timeout
12
- } from "./chunk-5JZNFPUP.js";
13
- import "./chunk-4X5FFJPJ.js";
14
- import "./chunk-HMLY7DHA.js";
15
- export {
16
- FunctionParams,
17
- URLPath,
18
- getParser,
19
- getUniqueName,
20
- isPromise,
21
- isPromiseFulfilledResult,
22
- isPromiseRejectedResult,
23
- renderTemplate,
24
- setUniqueName,
25
- timeout
26
- };
1
+ export { FunctionParams, URLPath, createFile, createFileExport, createFileImport, createFileParser, getFileParser, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout } from './chunk-CLTNHSMO.js';
2
+ import './chunk-4X5FFJPJ.js';
3
+ //# sourceMappingURL=utils.js.map
27
4
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "3.0.0-alpha.2",
3
+ "version": "3.0.0-alpha.20",
4
4
  "description": "Generator core",
5
5
  "keywords": [
6
6
  "typescript",
@@ -76,31 +76,28 @@
76
76
  ],
77
77
  "dependencies": {
78
78
  "change-case": "^5.4.4",
79
- "directory-tree": "^3.5.2",
80
79
  "find-up": "^7.0.0",
81
80
  "natural-orderby": "^3.0.2",
81
+ "object-hash": "^3.0.0",
82
82
  "p-queue": "^8.0.1",
83
- "remeda": "^2.11.0",
83
+ "remeda": "^2.12.1",
84
84
  "seedrandom": "^3.0.5",
85
85
  "semver": "^7.6.3",
86
- "unraw": "^3.0.0",
87
- "@kubb/fs": "3.0.0-alpha.2",
88
- "@kubb/parser-ts": "3.0.0-alpha.2",
89
- "@kubb/types": "3.0.0-alpha.2"
86
+ "@kubb/fs": "3.0.0-alpha.20",
87
+ "@kubb/parser-ts": "3.0.0-alpha.20",
88
+ "@kubb/types": "3.0.0-alpha.20"
90
89
  },
91
90
  "devDependencies": {
92
- "@types/react": "^18.3.4",
91
+ "@types/object-hash": "^3.0.6",
93
92
  "@types/seedrandom": "^3.0.8",
94
93
  "@types/semver": "^7.5.8",
95
94
  "consola": "^3.2.3",
96
- "ora": "^8.0.1",
97
95
  "prettier": "^3.3.3",
98
96
  "tinyrainbow": "^1.2.0",
99
97
  "tsup": "^8.2.4",
100
- "typescript": "^5.5.4",
101
- "@kubb/config-biome": "3.0.0-alpha.2",
102
- "@kubb/config-ts": "3.0.0-alpha.2",
103
- "@kubb/config-tsup": "3.0.0-alpha.2"
98
+ "typescript": "^5.6.2",
99
+ "@kubb/config-ts": "3.0.0-alpha.20",
100
+ "@kubb/config-tsup": "3.0.0-alpha.20"
104
101
  },
105
102
  "engines": {
106
103
  "node": ">=20"