@kubb/core 4.2.0 → 4.2.2

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 (130) hide show
  1. package/dist/URLPath-8WVzHBnA.cjs +134 -0
  2. package/dist/URLPath-8WVzHBnA.cjs.map +1 -0
  3. package/dist/URLPath-BYceu_vY.js +117 -0
  4. package/dist/URLPath-BYceu_vY.js.map +1 -0
  5. package/dist/{acorn-DExO7r0H.cjs → acorn-BAVXZMtK.cjs} +1 -1
  6. package/dist/{acorn-DExO7r0H.cjs.map → acorn-BAVXZMtK.cjs.map} +1 -1
  7. package/dist/{acorn-B0JdnMwY.js → acorn-D-VhIOLw.js} +1 -1
  8. package/dist/{acorn-B0JdnMwY.js.map → acorn-D-VhIOLw.js.map} +1 -1
  9. package/dist/{angular-C2M8l5eL.cjs → angular-Bp0XO9db.cjs} +1 -1
  10. package/dist/{angular-C2M8l5eL.cjs.map → angular-Bp0XO9db.cjs.map} +1 -1
  11. package/dist/{angular-CmU_K35W.js → angular-Czhp4eq5.js} +1 -1
  12. package/dist/{angular-CmU_K35W.js.map → angular-Czhp4eq5.js.map} +1 -1
  13. package/dist/{babel-CfF0c5A9.js → babel-DCR_B4Qn.js} +1 -1
  14. package/dist/{babel-CfF0c5A9.js.map → babel-DCR_B4Qn.js.map} +1 -1
  15. package/dist/{babel-BKn0s9Rj.cjs → babel-NI0v59ga.cjs} +1 -1
  16. package/dist/{babel-BKn0s9Rj.cjs.map → babel-NI0v59ga.cjs.map} +1 -1
  17. package/dist/casing-BSeq_teY.js +100 -0
  18. package/dist/casing-BSeq_teY.js.map +1 -0
  19. package/dist/casing-CP-9GGdK.cjs +112 -0
  20. package/dist/casing-CP-9GGdK.cjs.map +1 -0
  21. package/dist/{estree-Br3l79C5.cjs → estree-C3BZPlpU.cjs} +1 -1
  22. package/dist/{estree-Br3l79C5.cjs.map → estree-C3BZPlpU.cjs.map} +1 -1
  23. package/dist/{estree-B_YMDsR7.js → estree-DU2NummP.js} +1 -1
  24. package/dist/{estree-B_YMDsR7.js.map → estree-DU2NummP.js.map} +1 -1
  25. package/dist/{flow-B_3vaVXc.cjs → flow-CWUBUkoi.cjs} +1 -1
  26. package/dist/{flow-B_3vaVXc.cjs.map → flow-CWUBUkoi.cjs.map} +1 -1
  27. package/dist/{flow-Dc3wao4M.js → flow-JiEbweKj.js} +1 -1
  28. package/dist/{flow-Dc3wao4M.js.map → flow-JiEbweKj.js.map} +1 -1
  29. package/dist/fs.d.cts +1 -1
  30. package/dist/fs.d.ts +1 -1
  31. package/dist/{glimmer-BF35HI3l.cjs → glimmer-CX9OqG1j.cjs} +1 -1
  32. package/dist/{glimmer-BF35HI3l.cjs.map → glimmer-CX9OqG1j.cjs.map} +1 -1
  33. package/dist/{glimmer-CwM1XZA1.js → glimmer-t9nWn9aE.js} +1 -1
  34. package/dist/{glimmer-CwM1XZA1.js.map → glimmer-t9nWn9aE.js.map} +1 -1
  35. package/dist/{graphql-KQQTidk7.js → graphql-DjErlIi5.js} +1 -1
  36. package/dist/{graphql-KQQTidk7.js.map → graphql-DjErlIi5.js.map} +1 -1
  37. package/dist/{graphql-DhaHiYrP.cjs → graphql-GOxQAKxM.cjs} +1 -1
  38. package/dist/{graphql-DhaHiYrP.cjs.map → graphql-GOxQAKxM.cjs.map} +1 -1
  39. package/dist/hooks.d.cts +3 -2
  40. package/dist/hooks.d.ts +4 -3
  41. package/dist/{html-B2QWX43c.cjs → html-CWrdYAhQ.cjs} +1 -1
  42. package/dist/{html-B2QWX43c.cjs.map → html-CWrdYAhQ.cjs.map} +1 -1
  43. package/dist/{html-DQoJX7Yj.js → html-_apcbx34.js} +1 -1
  44. package/dist/{html-DQoJX7Yj.js.map → html-_apcbx34.js.map} +1 -1
  45. package/dist/{index-BY_kka8d.d.ts → index-BTe91LHd.d.ts} +2 -2
  46. package/dist/{index-Iq8NJRgc.d.cts → index-BmQIxvw0.d.cts} +2 -2
  47. package/dist/index.cjs +378 -22
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +37 -4
  50. package/dist/index.d.ts +38 -5
  51. package/dist/index.js +371 -15
  52. package/dist/index.js.map +1 -1
  53. package/dist/{logger-BkGPbocD.d.ts → logger-BA-za85-.d.ts} +1 -1
  54. package/dist/{logger-S_t55o9n.cjs → logger-BXL0YCrv.cjs} +2 -2
  55. package/dist/{logger-S_t55o9n.cjs.map → logger-BXL0YCrv.cjs.map} +1 -1
  56. package/dist/{logger-CsQ2EGpR.js → logger-CDxSrFkR.js} +2 -2
  57. package/dist/{logger-CsQ2EGpR.js.map → logger-CDxSrFkR.js.map} +1 -1
  58. package/dist/logger.cjs +1 -1
  59. package/dist/logger.d.ts +1 -1
  60. package/dist/logger.js +1 -1
  61. package/dist/{markdown-CDf4HsAQ.js → markdown-ckUc3Q6q.js} +1 -1
  62. package/dist/{markdown-CDf4HsAQ.js.map → markdown-ckUc3Q6q.js.map} +1 -1
  63. package/dist/{markdown-HXmAlxeH.cjs → markdown-pzqiRmft.cjs} +1 -1
  64. package/dist/{markdown-HXmAlxeH.cjs.map → markdown-pzqiRmft.cjs.map} +1 -1
  65. package/dist/{meriyah-D8fyVkyI.js → meriyah-BjnGqpUs.js} +1 -1
  66. package/dist/{meriyah-D8fyVkyI.js.map → meriyah-BjnGqpUs.js.map} +1 -1
  67. package/dist/{meriyah-CWoiYjq_.cjs → meriyah-D_x7itbT.cjs} +1 -1
  68. package/dist/{meriyah-CWoiYjq_.cjs.map → meriyah-D_x7itbT.cjs.map} +1 -1
  69. package/dist/mocks.cjs +24 -24
  70. package/dist/mocks.cjs.map +1 -1
  71. package/dist/mocks.d.cts +3 -2
  72. package/dist/mocks.d.ts +4 -3
  73. package/dist/mocks.js +19 -20
  74. package/dist/mocks.js.map +1 -1
  75. package/dist/{postcss-bESf1Yzf.cjs → postcss-B_c2wbFu.cjs} +1 -1
  76. package/dist/{postcss-bESf1Yzf.cjs.map → postcss-B_c2wbFu.cjs.map} +1 -1
  77. package/dist/{postcss-Dqh1XvaI.js → postcss-v7BP6SZ-.js} +1 -1
  78. package/dist/{postcss-Dqh1XvaI.js.map → postcss-v7BP6SZ-.js.map} +1 -1
  79. package/dist/{prompt-C5GR2LPU.js → prompt-DBVnG4Me.js} +1 -1
  80. package/dist/{prompt-C5GR2LPU.js.map → prompt-DBVnG4Me.js.map} +1 -1
  81. package/dist/{prompt-ZBXNC-aV.cjs → prompt-DgONOpPH.cjs} +1 -1
  82. package/dist/{prompt-ZBXNC-aV.cjs.map → prompt-DgONOpPH.cjs.map} +1 -1
  83. package/dist/{transformers-BIx7CVmw.cjs → transformers-BH0KLJJP.cjs} +119 -228
  84. package/dist/transformers-BH0KLJJP.cjs.map +1 -0
  85. package/dist/{transformers-5BubQvcu.js → transformers-DzHGqYO2.js} +118 -215
  86. package/dist/transformers-DzHGqYO2.js.map +1 -0
  87. package/dist/transformers.cjs +4 -3
  88. package/dist/transformers.js +2 -1
  89. package/dist/types-BzI9JlV8.d.ts +5 -0
  90. package/dist/types-C3ea5qNG.d.cts +5 -0
  91. package/dist/{types-IOE1JAFC.d.cts → types-DNxlynJr.d.cts} +11 -70
  92. package/dist/{types-DtokChaW.d.ts → types-DPeNK0FO.d.ts} +12 -71
  93. package/dist/{typescript-BYxryL2A.cjs → typescript-6kMN6Wqz.cjs} +1 -1
  94. package/dist/{typescript-BYxryL2A.cjs.map → typescript-6kMN6Wqz.cjs.map} +1 -1
  95. package/dist/{typescript-B7n7vRma.js → typescript-B_IBfKSe.js} +1 -1
  96. package/dist/{typescript-B7n7vRma.js.map → typescript-B_IBfKSe.js.map} +1 -1
  97. package/dist/typescript-C5hce4HG.cjs +4 -0
  98. package/dist/typescript-Cas1XcNz.js +3 -0
  99. package/dist/utils.cjs +165 -20
  100. package/dist/utils.cjs.map +1 -0
  101. package/dist/utils.d.cts +136 -5
  102. package/dist/utils.d.ts +136 -5
  103. package/dist/utils.js +156 -5
  104. package/dist/utils.js.map +1 -0
  105. package/dist/{yaml-BMiF8MYP.js → yaml-BfWM_B73.js} +1 -1
  106. package/dist/{yaml-BMiF8MYP.js.map → yaml-BfWM_B73.js.map} +1 -1
  107. package/dist/{yaml-DQCs4b_O.cjs → yaml-DZs6MhV1.cjs} +1 -1
  108. package/dist/{yaml-DQCs4b_O.cjs.map → yaml-DZs6MhV1.cjs.map} +1 -1
  109. package/package.json +3 -3
  110. package/src/FileManager.ts +34 -302
  111. package/src/PluginManager.ts +9 -8
  112. package/src/__snapshots__/barrel.json +5 -5
  113. package/src/build.ts +19 -5
  114. package/src/index.ts +1 -2
  115. package/src/mocks/index.ts +4 -3
  116. package/src/plugin.ts +1 -1
  117. package/src/types.ts +4 -1
  118. package/src/utils/TreeNode.ts +3 -3
  119. package/src/utils/index.ts +2 -4
  120. package/dist/FileManager-DlkY9W5A.cjs +0 -1001
  121. package/dist/FileManager-DlkY9W5A.cjs.map +0 -1
  122. package/dist/FileManager-zlhCXf6A.js +0 -879
  123. package/dist/FileManager-zlhCXf6A.js.map +0 -1
  124. package/dist/index-CYcjcRdj.d.ts +0 -179
  125. package/dist/index-DaYv9bst.d.cts +0 -179
  126. package/dist/transformers-5BubQvcu.js.map +0 -1
  127. package/dist/transformers-BIx7CVmw.cjs.map +0 -1
  128. package/dist/typescript-CIdP4XPm.js +0 -3
  129. package/dist/typescript-CbuCkdxv.cjs +0 -4
  130. package/src/utils/parser.ts +0 -199
@@ -0,0 +1,134 @@
1
+ const require_transformers = require('./transformers-BH0KLJJP.cjs');
2
+ const require_casing = require('./casing-CP-9GGdK.cjs');
3
+
4
+ //#region src/utils/uniqueName.ts
5
+ function getUniqueName(originalName, data) {
6
+ let used = data[originalName] || 0;
7
+ if (used) {
8
+ data[originalName] = ++used;
9
+ originalName += used;
10
+ }
11
+ data[originalName] = 1;
12
+ return originalName;
13
+ }
14
+ function setUniqueName(originalName, data) {
15
+ let used = data[originalName] || 0;
16
+ if (used) {
17
+ data[originalName] = ++used;
18
+ return originalName;
19
+ }
20
+ data[originalName] = 1;
21
+ return originalName;
22
+ }
23
+
24
+ //#endregion
25
+ //#region src/utils/URLPath.ts
26
+ var URLPath = class {
27
+ path;
28
+ #options;
29
+ constructor(path, options = {}) {
30
+ this.path = path;
31
+ this.#options = options;
32
+ return this;
33
+ }
34
+ /**
35
+ * Convert Swagger path to URLPath(syntax of Express)
36
+ * @example /pet/{petId} => /pet/:petId
37
+ */
38
+ get URL() {
39
+ return this.toURLPath();
40
+ }
41
+ get isURL() {
42
+ try {
43
+ if (new URL(this.path)?.href) return true;
44
+ } catch (_error) {
45
+ return false;
46
+ }
47
+ return false;
48
+ }
49
+ /**
50
+ * Convert Swagger path to template literals/ template strings(camelcase)
51
+ * @example /pet/{petId} => `/pet/${petId}`
52
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
53
+ * @example /account/userID => `/account/${userId}`
54
+ */
55
+ get template() {
56
+ return this.toTemplateString();
57
+ }
58
+ get object() {
59
+ return this.toObject();
60
+ }
61
+ get params() {
62
+ return this.getParams();
63
+ }
64
+ toObject({ type = "path", replacer, stringify } = {}) {
65
+ const object = {
66
+ url: type === "path" ? this.toURLPath() : this.toTemplateString({ replacer }),
67
+ params: this.getParams()
68
+ };
69
+ if (stringify) {
70
+ if (type === "template") return JSON.stringify(object).replaceAll("'", "").replaceAll(`"`, "");
71
+ if (object.params) return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll("'", "").replaceAll(`"`, "")} }`;
72
+ return `{ url: '${object.url}' }`;
73
+ }
74
+ return object;
75
+ }
76
+ /**
77
+ * Convert Swagger path to template literals/ template strings(camelcase)
78
+ * @example /pet/{petId} => `/pet/${petId}`
79
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
80
+ * @example /account/userID => `/account/${userId}`
81
+ */
82
+ toTemplateString({ prefix = "", replacer } = {}) {
83
+ const found = this.path.match(/{(\w|-)*}/g);
84
+ let newPath = this.path.replaceAll("{", "${");
85
+ if (found) newPath = found.reduce((prev, path) => {
86
+ const pathWithoutBrackets = path.replaceAll("{", "").replaceAll("}", "");
87
+ let param = require_transformers.isValidVarName(pathWithoutBrackets) ? pathWithoutBrackets : require_casing.camelCase(pathWithoutBrackets);
88
+ if (this.#options.casing === "camelcase") param = require_casing.camelCase(param);
89
+ return prev.replace(path, `\${${replacer ? replacer(param) : param}}`);
90
+ }, this.path);
91
+ return `\`${prefix}${newPath}\``;
92
+ }
93
+ getParams(replacer) {
94
+ const found = this.path.match(/{(\w|-)*}/g);
95
+ if (!found) return;
96
+ const params = {};
97
+ found.forEach((item) => {
98
+ item = item.replaceAll("{", "").replaceAll("}", "");
99
+ let param = require_transformers.isValidVarName(item) ? item : require_casing.camelCase(item);
100
+ if (this.#options.casing === "camelcase") param = require_casing.camelCase(param);
101
+ const key = replacer ? replacer(param) : param;
102
+ params[key] = key;
103
+ }, this.path);
104
+ return params;
105
+ }
106
+ /**
107
+ * Convert Swagger path to URLPath(syntax of Express)
108
+ * @example /pet/{petId} => /pet/:petId
109
+ */
110
+ toURLPath() {
111
+ return this.path.replaceAll("{", ":").replaceAll("}", "");
112
+ }
113
+ };
114
+
115
+ //#endregion
116
+ Object.defineProperty(exports, 'URLPath', {
117
+ enumerable: true,
118
+ get: function () {
119
+ return URLPath;
120
+ }
121
+ });
122
+ Object.defineProperty(exports, 'getUniqueName', {
123
+ enumerable: true,
124
+ get: function () {
125
+ return getUniqueName;
126
+ }
127
+ });
128
+ Object.defineProperty(exports, 'setUniqueName', {
129
+ enumerable: true,
130
+ get: function () {
131
+ return setUniqueName;
132
+ }
133
+ });
134
+ //# sourceMappingURL=URLPath-8WVzHBnA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URLPath-8WVzHBnA.cjs","names":["#options","isValidVarName","camelCase","params: Record<string, string>"],"sources":["../src/utils/uniqueName.ts","../src/utils/URLPath.ts"],"sourcesContent":["export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import { camelCase, isValidVarName } from '../transformers'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\ntype Options = {\n casing?: 'camelcase'\n}\n\nexport class URLPath {\n path: string\n #options: Options\n\n constructor(path: string, options: Options = {}) {\n this.path = path\n this.#options = options\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (_error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString({ replacer }),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString({ prefix = '', replacer }: { prefix?: string; replacer?: (pathParam: string) => string } = {}): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, path) => {\n const pathWithoutBrackets = path.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(pathWithoutBrackets) ? pathWithoutBrackets : camelCase(pathWithoutBrackets)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n return prev.replace(path, `\\${${replacer ? replacer(param) : param}}`)\n }, this.path)\n }\n\n return `\\`${prefix}${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(item) ? item : camelCase(item)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n const key = replacer ? replacer(param) : param\n\n params[key] = key\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n"],"mappings":";;;;AAAA,SAAgB,cAAc,cAAsB,MAAsC;CACxF,IAAI,OAAO,KAAK,iBAAiB;AACjC,KAAI,MAAM;AACR,OAAK,gBAAgB,EAAE;AACvB,kBAAgB;;AAElB,MAAK,gBAAgB;AACrB,QAAO;;AAGT,SAAgB,cAAc,cAAsB,MAAsC;CACxF,IAAI,OAAO,KAAK,iBAAiB;AACjC,KAAI,MAAM;AACR,OAAK,gBAAgB,EAAE;AAEvB,SAAO;;AAET,MAAK,gBAAgB;AACrB,QAAO;;;;;ACDT,IAAa,UAAb,MAAqB;CACnB;CACA;CAEA,YAAY,MAAc,UAAmB,EAAE,EAAE;AAC/C,OAAK,OAAO;AACZ,QAAKA,UAAW;AAEhB,SAAO;;;;;;CAOT,IAAI,MAAc;AAChB,SAAO,KAAK,WAAW;;CAEzB,IAAI,QAAiB;AACnB,MAAI;AAEF,OADY,IAAI,IAAI,KAAK,KAAK,EACrB,KACP,QAAO;WAEF,QAAQ;AACf,UAAO;;AAET,SAAO;;;;;;;;CAST,IAAI,WAAmB;AACrB,SAAO,KAAK,kBAAkB;;CAEhC,IAAI,SAA6B;AAC/B,SAAO,KAAK,UAAU;;CAExB,IAAI,SAA6C;AAC/C,SAAO,KAAK,WAAW;;CAGzB,SAAS,EAAE,OAAO,QAAQ,UAAU,cAA6B,EAAE,EAAsB;EACvF,MAAM,SAAS;GACb,KAAK,SAAS,SAAS,KAAK,WAAW,GAAG,KAAK,iBAAiB,EAAE,UAAU,CAAC;GAC7E,QAAQ,KAAK,WAAW;GACzB;AAED,MAAI,WAAW;AACb,OAAI,SAAS,WACX,QAAO,KAAK,UAAU,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG;AAGvE,OAAI,OAAO,OACT,QAAO,WAAW,OAAO,IAAI,aAAa,KAAK,UAAU,OAAO,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;AAGlH,UAAO,WAAW,OAAO,IAAI;;AAG/B,SAAO;;;;;;;;CAST,iBAAiB,EAAE,SAAS,IAAI,aAA4E,EAAE,EAAU;EAEtH,MAAM,QAAQ,KAAK,KAAK,MADV,aACsB;EACpC,IAAI,UAAU,KAAK,KAAK,WAAW,KAAK,KAAK;AAE7C,MAAI,MACF,WAAU,MAAM,QAAQ,MAAM,SAAS;GACrC,MAAM,sBAAsB,KAAK,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG;GAExE,IAAI,QAAQC,oCAAe,oBAAoB,GAAG,sBAAsBC,yBAAU,oBAAoB;AAEtG,OAAI,MAAKF,QAAS,WAAW,YAC3B,SAAQE,yBAAU,MAAM;AAG1B,UAAO,KAAK,QAAQ,MAAM,MAAM,WAAW,SAAS,MAAM,GAAG,MAAM,GAAG;KACrE,KAAK,KAAK;AAGf,SAAO,KAAK,SAAS,QAAQ;;CAG/B,UAAU,UAA8E;EAEtF,MAAM,QAAQ,KAAK,KAAK,MADV,aACsB;AAEpC,MAAI,CAAC,MACH;EAGF,MAAMC,SAAiC,EAAE;AACzC,QAAM,SAAS,SAAS;AACtB,UAAO,KAAK,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG;GAEnD,IAAI,QAAQF,oCAAe,KAAK,GAAG,OAAOC,yBAAU,KAAK;AAEzD,OAAI,MAAKF,QAAS,WAAW,YAC3B,SAAQE,yBAAU,MAAM;GAG1B,MAAM,MAAM,WAAW,SAAS,MAAM,GAAG;AAEzC,UAAO,OAAO;KACb,KAAK,KAAK;AAEb,SAAO;;;;;;CAOT,YAAoB;AAClB,SAAO,KAAK,KAAK,WAAW,KAAK,IAAI,CAAC,WAAW,KAAK,GAAG"}
@@ -0,0 +1,117 @@
1
+ import { _ as isValidVarName } from "./transformers-DzHGqYO2.js";
2
+ import { t as camelCase } from "./casing-BSeq_teY.js";
3
+
4
+ //#region src/utils/uniqueName.ts
5
+ function getUniqueName(originalName, data) {
6
+ let used = data[originalName] || 0;
7
+ if (used) {
8
+ data[originalName] = ++used;
9
+ originalName += used;
10
+ }
11
+ data[originalName] = 1;
12
+ return originalName;
13
+ }
14
+ function setUniqueName(originalName, data) {
15
+ let used = data[originalName] || 0;
16
+ if (used) {
17
+ data[originalName] = ++used;
18
+ return originalName;
19
+ }
20
+ data[originalName] = 1;
21
+ return originalName;
22
+ }
23
+
24
+ //#endregion
25
+ //#region src/utils/URLPath.ts
26
+ var URLPath = class {
27
+ path;
28
+ #options;
29
+ constructor(path, options = {}) {
30
+ this.path = path;
31
+ this.#options = options;
32
+ return this;
33
+ }
34
+ /**
35
+ * Convert Swagger path to URLPath(syntax of Express)
36
+ * @example /pet/{petId} => /pet/:petId
37
+ */
38
+ get URL() {
39
+ return this.toURLPath();
40
+ }
41
+ get isURL() {
42
+ try {
43
+ if (new URL(this.path)?.href) return true;
44
+ } catch (_error) {
45
+ return false;
46
+ }
47
+ return false;
48
+ }
49
+ /**
50
+ * Convert Swagger path to template literals/ template strings(camelcase)
51
+ * @example /pet/{petId} => `/pet/${petId}`
52
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
53
+ * @example /account/userID => `/account/${userId}`
54
+ */
55
+ get template() {
56
+ return this.toTemplateString();
57
+ }
58
+ get object() {
59
+ return this.toObject();
60
+ }
61
+ get params() {
62
+ return this.getParams();
63
+ }
64
+ toObject({ type = "path", replacer, stringify } = {}) {
65
+ const object = {
66
+ url: type === "path" ? this.toURLPath() : this.toTemplateString({ replacer }),
67
+ params: this.getParams()
68
+ };
69
+ if (stringify) {
70
+ if (type === "template") return JSON.stringify(object).replaceAll("'", "").replaceAll(`"`, "");
71
+ if (object.params) return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll("'", "").replaceAll(`"`, "")} }`;
72
+ return `{ url: '${object.url}' }`;
73
+ }
74
+ return object;
75
+ }
76
+ /**
77
+ * Convert Swagger path to template literals/ template strings(camelcase)
78
+ * @example /pet/{petId} => `/pet/${petId}`
79
+ * @example /account/monetary-accountID => `/account/${monetaryAccountId}`
80
+ * @example /account/userID => `/account/${userId}`
81
+ */
82
+ toTemplateString({ prefix = "", replacer } = {}) {
83
+ const found = this.path.match(/{(\w|-)*}/g);
84
+ let newPath = this.path.replaceAll("{", "${");
85
+ if (found) newPath = found.reduce((prev, path) => {
86
+ const pathWithoutBrackets = path.replaceAll("{", "").replaceAll("}", "");
87
+ let param = isValidVarName(pathWithoutBrackets) ? pathWithoutBrackets : camelCase(pathWithoutBrackets);
88
+ if (this.#options.casing === "camelcase") param = camelCase(param);
89
+ return prev.replace(path, `\${${replacer ? replacer(param) : param}}`);
90
+ }, this.path);
91
+ return `\`${prefix}${newPath}\``;
92
+ }
93
+ getParams(replacer) {
94
+ const found = this.path.match(/{(\w|-)*}/g);
95
+ if (!found) return;
96
+ const params = {};
97
+ found.forEach((item) => {
98
+ item = item.replaceAll("{", "").replaceAll("}", "");
99
+ let param = isValidVarName(item) ? item : camelCase(item);
100
+ if (this.#options.casing === "camelcase") param = camelCase(param);
101
+ const key = replacer ? replacer(param) : param;
102
+ params[key] = key;
103
+ }, this.path);
104
+ return params;
105
+ }
106
+ /**
107
+ * Convert Swagger path to URLPath(syntax of Express)
108
+ * @example /pet/{petId} => /pet/:petId
109
+ */
110
+ toURLPath() {
111
+ return this.path.replaceAll("{", ":").replaceAll("}", "");
112
+ }
113
+ };
114
+
115
+ //#endregion
116
+ export { getUniqueName as n, setUniqueName as r, URLPath as t };
117
+ //# sourceMappingURL=URLPath-BYceu_vY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URLPath-BYceu_vY.js","names":["#options","params: Record<string, string>"],"sources":["../src/utils/uniqueName.ts","../src/utils/URLPath.ts"],"sourcesContent":["export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import { camelCase, isValidVarName } from '../transformers'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\ntype Options = {\n casing?: 'camelcase'\n}\n\nexport class URLPath {\n path: string\n #options: Options\n\n constructor(path: string, options: Options = {}) {\n this.path = path\n this.#options = options\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (_error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString({ replacer }),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString({ prefix = '', replacer }: { prefix?: string; replacer?: (pathParam: string) => string } = {}): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, path) => {\n const pathWithoutBrackets = path.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(pathWithoutBrackets) ? pathWithoutBrackets : camelCase(pathWithoutBrackets)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n return prev.replace(path, `\\${${replacer ? replacer(param) : param}}`)\n }, this.path)\n }\n\n return `\\`${prefix}${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n let param = isValidVarName(item) ? item : camelCase(item)\n\n if (this.#options.casing === 'camelcase') {\n param = camelCase(param)\n }\n\n const key = replacer ? replacer(param) : param\n\n params[key] = key\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n"],"mappings":";;;;AAAA,SAAgB,cAAc,cAAsB,MAAsC;CACxF,IAAI,OAAO,KAAK,iBAAiB;AACjC,KAAI,MAAM;AACR,OAAK,gBAAgB,EAAE;AACvB,kBAAgB;;AAElB,MAAK,gBAAgB;AACrB,QAAO;;AAGT,SAAgB,cAAc,cAAsB,MAAsC;CACxF,IAAI,OAAO,KAAK,iBAAiB;AACjC,KAAI,MAAM;AACR,OAAK,gBAAgB,EAAE;AAEvB,SAAO;;AAET,MAAK,gBAAgB;AACrB,QAAO;;;;;ACDT,IAAa,UAAb,MAAqB;CACnB;CACA;CAEA,YAAY,MAAc,UAAmB,EAAE,EAAE;AAC/C,OAAK,OAAO;AACZ,QAAKA,UAAW;AAEhB,SAAO;;;;;;CAOT,IAAI,MAAc;AAChB,SAAO,KAAK,WAAW;;CAEzB,IAAI,QAAiB;AACnB,MAAI;AAEF,OADY,IAAI,IAAI,KAAK,KAAK,EACrB,KACP,QAAO;WAEF,QAAQ;AACf,UAAO;;AAET,SAAO;;;;;;;;CAST,IAAI,WAAmB;AACrB,SAAO,KAAK,kBAAkB;;CAEhC,IAAI,SAA6B;AAC/B,SAAO,KAAK,UAAU;;CAExB,IAAI,SAA6C;AAC/C,SAAO,KAAK,WAAW;;CAGzB,SAAS,EAAE,OAAO,QAAQ,UAAU,cAA6B,EAAE,EAAsB;EACvF,MAAM,SAAS;GACb,KAAK,SAAS,SAAS,KAAK,WAAW,GAAG,KAAK,iBAAiB,EAAE,UAAU,CAAC;GAC7E,QAAQ,KAAK,WAAW;GACzB;AAED,MAAI,WAAW;AACb,OAAI,SAAS,WACX,QAAO,KAAK,UAAU,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG;AAGvE,OAAI,OAAO,OACT,QAAO,WAAW,OAAO,IAAI,aAAa,KAAK,UAAU,OAAO,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;AAGlH,UAAO,WAAW,OAAO,IAAI;;AAG/B,SAAO;;;;;;;;CAST,iBAAiB,EAAE,SAAS,IAAI,aAA4E,EAAE,EAAU;EAEtH,MAAM,QAAQ,KAAK,KAAK,MADV,aACsB;EACpC,IAAI,UAAU,KAAK,KAAK,WAAW,KAAK,KAAK;AAE7C,MAAI,MACF,WAAU,MAAM,QAAQ,MAAM,SAAS;GACrC,MAAM,sBAAsB,KAAK,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG;GAExE,IAAI,QAAQ,eAAe,oBAAoB,GAAG,sBAAsB,UAAU,oBAAoB;AAEtG,OAAI,MAAKA,QAAS,WAAW,YAC3B,SAAQ,UAAU,MAAM;AAG1B,UAAO,KAAK,QAAQ,MAAM,MAAM,WAAW,SAAS,MAAM,GAAG,MAAM,GAAG;KACrE,KAAK,KAAK;AAGf,SAAO,KAAK,SAAS,QAAQ;;CAG/B,UAAU,UAA8E;EAEtF,MAAM,QAAQ,KAAK,KAAK,MADV,aACsB;AAEpC,MAAI,CAAC,MACH;EAGF,MAAMC,SAAiC,EAAE;AACzC,QAAM,SAAS,SAAS;AACtB,UAAO,KAAK,WAAW,KAAK,GAAG,CAAC,WAAW,KAAK,GAAG;GAEnD,IAAI,QAAQ,eAAe,KAAK,GAAG,OAAO,UAAU,KAAK;AAEzD,OAAI,MAAKD,QAAS,WAAW,YAC3B,SAAQ,UAAU,MAAM;GAG1B,MAAM,MAAM,WAAW,SAAS,MAAM,GAAG;AAEzC,UAAO,OAAO;KACb,KAAK,KAAK;AAEb,SAAO;;;;;;CAOT,YAAoB;AAClB,SAAO,KAAK,KAAK,WAAW,KAAK,IAAI,CAAC,WAAW,KAAK,GAAG"}
@@ -5079,4 +5079,4 @@ var cn = at;
5079
5079
  //#endregion
5080
5080
  exports.default = cn;
5081
5081
  exports.parsers = cr;
5082
- //# sourceMappingURL=acorn-DExO7r0H.cjs.map
5082
+ //# sourceMappingURL=acorn-BAVXZMtK.cjs.map