@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.
- package/dist/URLPath-8WVzHBnA.cjs +134 -0
- package/dist/URLPath-8WVzHBnA.cjs.map +1 -0
- package/dist/URLPath-BYceu_vY.js +117 -0
- package/dist/URLPath-BYceu_vY.js.map +1 -0
- package/dist/{acorn-DExO7r0H.cjs → acorn-BAVXZMtK.cjs} +1 -1
- package/dist/{acorn-DExO7r0H.cjs.map → acorn-BAVXZMtK.cjs.map} +1 -1
- package/dist/{acorn-B0JdnMwY.js → acorn-D-VhIOLw.js} +1 -1
- package/dist/{acorn-B0JdnMwY.js.map → acorn-D-VhIOLw.js.map} +1 -1
- package/dist/{angular-C2M8l5eL.cjs → angular-Bp0XO9db.cjs} +1 -1
- package/dist/{angular-C2M8l5eL.cjs.map → angular-Bp0XO9db.cjs.map} +1 -1
- package/dist/{angular-CmU_K35W.js → angular-Czhp4eq5.js} +1 -1
- package/dist/{angular-CmU_K35W.js.map → angular-Czhp4eq5.js.map} +1 -1
- package/dist/{babel-CfF0c5A9.js → babel-DCR_B4Qn.js} +1 -1
- package/dist/{babel-CfF0c5A9.js.map → babel-DCR_B4Qn.js.map} +1 -1
- package/dist/{babel-BKn0s9Rj.cjs → babel-NI0v59ga.cjs} +1 -1
- package/dist/{babel-BKn0s9Rj.cjs.map → babel-NI0v59ga.cjs.map} +1 -1
- package/dist/casing-BSeq_teY.js +100 -0
- package/dist/casing-BSeq_teY.js.map +1 -0
- package/dist/casing-CP-9GGdK.cjs +112 -0
- package/dist/casing-CP-9GGdK.cjs.map +1 -0
- package/dist/{estree-Br3l79C5.cjs → estree-C3BZPlpU.cjs} +1 -1
- package/dist/{estree-Br3l79C5.cjs.map → estree-C3BZPlpU.cjs.map} +1 -1
- package/dist/{estree-B_YMDsR7.js → estree-DU2NummP.js} +1 -1
- package/dist/{estree-B_YMDsR7.js.map → estree-DU2NummP.js.map} +1 -1
- package/dist/{flow-B_3vaVXc.cjs → flow-CWUBUkoi.cjs} +1 -1
- package/dist/{flow-B_3vaVXc.cjs.map → flow-CWUBUkoi.cjs.map} +1 -1
- package/dist/{flow-Dc3wao4M.js → flow-JiEbweKj.js} +1 -1
- package/dist/{flow-Dc3wao4M.js.map → flow-JiEbweKj.js.map} +1 -1
- package/dist/fs.d.cts +1 -1
- package/dist/fs.d.ts +1 -1
- package/dist/{glimmer-BF35HI3l.cjs → glimmer-CX9OqG1j.cjs} +1 -1
- package/dist/{glimmer-BF35HI3l.cjs.map → glimmer-CX9OqG1j.cjs.map} +1 -1
- package/dist/{glimmer-CwM1XZA1.js → glimmer-t9nWn9aE.js} +1 -1
- package/dist/{glimmer-CwM1XZA1.js.map → glimmer-t9nWn9aE.js.map} +1 -1
- package/dist/{graphql-KQQTidk7.js → graphql-DjErlIi5.js} +1 -1
- package/dist/{graphql-KQQTidk7.js.map → graphql-DjErlIi5.js.map} +1 -1
- package/dist/{graphql-DhaHiYrP.cjs → graphql-GOxQAKxM.cjs} +1 -1
- package/dist/{graphql-DhaHiYrP.cjs.map → graphql-GOxQAKxM.cjs.map} +1 -1
- package/dist/hooks.d.cts +3 -2
- package/dist/hooks.d.ts +4 -3
- package/dist/{html-B2QWX43c.cjs → html-CWrdYAhQ.cjs} +1 -1
- package/dist/{html-B2QWX43c.cjs.map → html-CWrdYAhQ.cjs.map} +1 -1
- package/dist/{html-DQoJX7Yj.js → html-_apcbx34.js} +1 -1
- package/dist/{html-DQoJX7Yj.js.map → html-_apcbx34.js.map} +1 -1
- package/dist/{index-BY_kka8d.d.ts → index-BTe91LHd.d.ts} +2 -2
- package/dist/{index-Iq8NJRgc.d.cts → index-BmQIxvw0.d.cts} +2 -2
- package/dist/index.cjs +378 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +37 -4
- package/dist/index.d.ts +38 -5
- package/dist/index.js +371 -15
- package/dist/index.js.map +1 -1
- package/dist/{logger-BkGPbocD.d.ts → logger-BA-za85-.d.ts} +1 -1
- package/dist/{logger-S_t55o9n.cjs → logger-BXL0YCrv.cjs} +2 -2
- package/dist/{logger-S_t55o9n.cjs.map → logger-BXL0YCrv.cjs.map} +1 -1
- package/dist/{logger-CsQ2EGpR.js → logger-CDxSrFkR.js} +2 -2
- package/dist/{logger-CsQ2EGpR.js.map → logger-CDxSrFkR.js.map} +1 -1
- package/dist/logger.cjs +1 -1
- package/dist/logger.d.ts +1 -1
- package/dist/logger.js +1 -1
- package/dist/{markdown-CDf4HsAQ.js → markdown-ckUc3Q6q.js} +1 -1
- package/dist/{markdown-CDf4HsAQ.js.map → markdown-ckUc3Q6q.js.map} +1 -1
- package/dist/{markdown-HXmAlxeH.cjs → markdown-pzqiRmft.cjs} +1 -1
- package/dist/{markdown-HXmAlxeH.cjs.map → markdown-pzqiRmft.cjs.map} +1 -1
- package/dist/{meriyah-D8fyVkyI.js → meriyah-BjnGqpUs.js} +1 -1
- package/dist/{meriyah-D8fyVkyI.js.map → meriyah-BjnGqpUs.js.map} +1 -1
- package/dist/{meriyah-CWoiYjq_.cjs → meriyah-D_x7itbT.cjs} +1 -1
- package/dist/{meriyah-CWoiYjq_.cjs.map → meriyah-D_x7itbT.cjs.map} +1 -1
- package/dist/mocks.cjs +24 -24
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +3 -2
- package/dist/mocks.d.ts +4 -3
- package/dist/mocks.js +19 -20
- package/dist/mocks.js.map +1 -1
- package/dist/{postcss-bESf1Yzf.cjs → postcss-B_c2wbFu.cjs} +1 -1
- package/dist/{postcss-bESf1Yzf.cjs.map → postcss-B_c2wbFu.cjs.map} +1 -1
- package/dist/{postcss-Dqh1XvaI.js → postcss-v7BP6SZ-.js} +1 -1
- package/dist/{postcss-Dqh1XvaI.js.map → postcss-v7BP6SZ-.js.map} +1 -1
- package/dist/{prompt-C5GR2LPU.js → prompt-DBVnG4Me.js} +1 -1
- package/dist/{prompt-C5GR2LPU.js.map → prompt-DBVnG4Me.js.map} +1 -1
- package/dist/{prompt-ZBXNC-aV.cjs → prompt-DgONOpPH.cjs} +1 -1
- package/dist/{prompt-ZBXNC-aV.cjs.map → prompt-DgONOpPH.cjs.map} +1 -1
- package/dist/{transformers-BIx7CVmw.cjs → transformers-BH0KLJJP.cjs} +119 -228
- package/dist/transformers-BH0KLJJP.cjs.map +1 -0
- package/dist/{transformers-5BubQvcu.js → transformers-DzHGqYO2.js} +118 -215
- package/dist/transformers-DzHGqYO2.js.map +1 -0
- package/dist/transformers.cjs +4 -3
- package/dist/transformers.js +2 -1
- package/dist/types-BzI9JlV8.d.ts +5 -0
- package/dist/types-C3ea5qNG.d.cts +5 -0
- package/dist/{types-IOE1JAFC.d.cts → types-DNxlynJr.d.cts} +11 -70
- package/dist/{types-DtokChaW.d.ts → types-DPeNK0FO.d.ts} +12 -71
- package/dist/{typescript-BYxryL2A.cjs → typescript-6kMN6Wqz.cjs} +1 -1
- package/dist/{typescript-BYxryL2A.cjs.map → typescript-6kMN6Wqz.cjs.map} +1 -1
- package/dist/{typescript-B7n7vRma.js → typescript-B_IBfKSe.js} +1 -1
- package/dist/{typescript-B7n7vRma.js.map → typescript-B_IBfKSe.js.map} +1 -1
- package/dist/typescript-C5hce4HG.cjs +4 -0
- package/dist/typescript-Cas1XcNz.js +3 -0
- package/dist/utils.cjs +165 -20
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.cts +136 -5
- package/dist/utils.d.ts +136 -5
- package/dist/utils.js +156 -5
- package/dist/utils.js.map +1 -0
- package/dist/{yaml-BMiF8MYP.js → yaml-BfWM_B73.js} +1 -1
- package/dist/{yaml-BMiF8MYP.js.map → yaml-BfWM_B73.js.map} +1 -1
- package/dist/{yaml-DQCs4b_O.cjs → yaml-DZs6MhV1.cjs} +1 -1
- package/dist/{yaml-DQCs4b_O.cjs.map → yaml-DZs6MhV1.cjs.map} +1 -1
- package/package.json +3 -3
- package/src/FileManager.ts +34 -302
- package/src/PluginManager.ts +9 -8
- package/src/__snapshots__/barrel.json +5 -5
- package/src/build.ts +19 -5
- package/src/index.ts +1 -2
- package/src/mocks/index.ts +4 -3
- package/src/plugin.ts +1 -1
- package/src/types.ts +4 -1
- package/src/utils/TreeNode.ts +3 -3
- package/src/utils/index.ts +2 -4
- package/dist/FileManager-DlkY9W5A.cjs +0 -1001
- package/dist/FileManager-DlkY9W5A.cjs.map +0 -1
- package/dist/FileManager-zlhCXf6A.js +0 -879
- package/dist/FileManager-zlhCXf6A.js.map +0 -1
- package/dist/index-CYcjcRdj.d.ts +0 -179
- package/dist/index-DaYv9bst.d.cts +0 -179
- package/dist/transformers-5BubQvcu.js.map +0 -1
- package/dist/transformers-BIx7CVmw.cjs.map +0 -1
- package/dist/typescript-CIdP4XPm.js +0 -3
- package/dist/typescript-CbuCkdxv.cjs +0 -4
- 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"}
|