@openapi-qraft/plugin 1.14.0-beta.2 → 1.14.0-beta.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @openapi-qraft/plugin
2
2
 
3
+ ## 1.14.0-beta.3
4
+
5
+ ### Patch Changes
6
+
7
+ - c5c4426: Corrected the generation of operation names modified by `--operation-name-modifier` to ensure they follow the CamelCase style.
8
+
3
9
  ## 1.14.0-beta.2
4
10
 
5
11
  ### Patch Changes
@@ -3,5 +3,6 @@
3
3
  * This will use the operation ID - if available - and otherwise fallback
4
4
  * on a generated name from the URL
5
5
  */
6
- export declare const getOperationName: (url: string, method: string, operationId?: string) => string;
6
+ export declare const getOperationName: (url: string, method: string, operationId: string | undefined) => string;
7
+ export declare const getOperationIdName: (operationId: string) => string;
7
8
  //# sourceMappingURL=getOperationName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOperationName.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/getOperationName.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QACtB,MAAM,UACH,MAAM,gBACA,MAAM,KACnB,MAgBF,CAAC"}
1
+ {"version":3,"file":"getOperationName.d.ts","sourceRoot":"","sources":["../../../src/lib/open-api/getOperationName.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QACtB,MAAM,UACH,MAAM,eACD,MAAM,GAAG,SAAS,KAC9B,MASF,CAAC;AAEF,eAAO,MAAM,kBAAkB,gBAAiB,MAAM,KAAG,MAOxD,CAAC"}
@@ -5,16 +5,18 @@ import camelCase from 'camelcase';
5
5
  * on a generated name from the URL
6
6
  */
7
7
  export const getOperationName = (url, method, operationId) => {
8
- if (operationId) {
9
- return camelCase(operationId
10
- .replace(/^[^a-zA-Z]+/g, '')
11
- .replace(/[^\w-]+/g, '-')
12
- .trim());
13
- }
8
+ if (operationId)
9
+ return getOperationIdName(operationId);
14
10
  const urlWithoutPlaceholders = url
15
11
  .replace(/[^/]*?{api-version}.*?\//g, '')
16
12
  .replace(/{(.*?)}/g, '')
17
13
  .replace(/\//g, '-');
18
14
  return camelCase(`${method}-${urlWithoutPlaceholders}`);
19
15
  };
16
+ export const getOperationIdName = (operationId) => {
17
+ return camelCase(operationId
18
+ .replace(/^[^a-zA-Z]+/g, '')
19
+ .replace(/[^\w-]+/g, '-')
20
+ .trim());
21
+ };
20
22
  //# sourceMappingURL=getOperationName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOperationName.js","sourceRoot":"","sources":["../../../src/lib/open-api/getOperationName.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAW,EACX,MAAc,EACd,WAAoB,EACZ,EAAE;IACV,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,SAAS,CACd,WAAW;aACR,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAC3B,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;aACxB,IAAI,EAAE,CACV,CAAC;IACJ,CAAC;IAED,MAAM,sBAAsB,GAAG,GAAG;SAC/B,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,OAAO,SAAS,CAAC,GAAG,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC"}
1
+ {"version":3,"file":"getOperationName.js","sourceRoot":"","sources":["../../../src/lib/open-api/getOperationName.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAW,EACX,MAAc,EACd,WAA+B,EACvB,EAAE;IACV,IAAI,WAAW;QAAE,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAExD,MAAM,sBAAsB,GAAG,GAAG;SAC/B,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,OAAO,SAAS,CAAC,GAAG,MAAM,IAAI,sBAAsB,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAU,EAAE;IAChE,OAAO,SAAS,CACd,WAAW;SACR,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,IAAI,EAAE,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -8,19 +8,7 @@ export declare const processOperationNameModifierOption: (modifiers: OperationNa
8
8
  modifiers: OperationNameModifier[];
9
9
  }[];
10
10
  services: {
11
- operations: {
12
- name: string;
13
- method: "get" | "put" | "post" | "patch" | "delete" | "options" | "head" | "trace";
14
- path: string;
15
- description: string | undefined;
16
- summary: string | undefined;
17
- deprecated: boolean | undefined;
18
- mediaType: string | undefined;
19
- errors: Record<string, string | undefined>;
20
- success: Record<string, string | undefined>;
21
- parameters: Record<string, any> | undefined;
22
- security: Record<string, string[] | undefined>[] | undefined;
23
- }[];
11
+ operations: import("./open-api/getServices.js").ServiceOperation[];
24
12
  name: string;
25
13
  variableName: string;
26
14
  typeName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"processOperationNameModifierOption.d.ts","sourceRoot":"","sources":["../../src/lib/processOperationNameModifierOption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACL,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,kCAAkC,cAClC,qBAAqB,EAAE,YACxB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;CAuHpB,CAAC;AAMF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,qBAAqB,EAAE,CAwCzB"}
1
+ {"version":3,"file":"processOperationNameModifierOption.d.ts","sourceRoot":"","sources":["../../src/lib/processOperationNameModifierOption.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACL,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,kCAAkC,cAClC,qBAAqB,EAAE,YACxB,OAAO,EAAE;;;;;;;;;;;;;;CAmIpB,CAAC;AAMF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,4BAA4B,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,qBAAqB,EAAE,CAwCzB"}
@@ -1,4 +1,5 @@
1
1
  import { createServicePathMatch } from './createServicePathMatch.js';
2
+ import { getOperationIdName } from './open-api/getOperationName.js';
2
3
  import { parseOperationGlobs, } from './parseOperationGlobs.js';
3
4
  import { splitCommaSeparatedGlobs } from './splitCommaSeparatedGlobs.js';
4
5
  export const processOperationNameModifierOption = (modifiers, services) => {
@@ -12,31 +13,38 @@ export const processOperationNameModifierOption = (modifiers, services) => {
12
13
  isPathMatch: createServicePathMatch(splitCommaSeparatedGlobs(modifier.pathGlobs)),
13
14
  }));
14
15
  const serviceOperationReplacements = new Map();
15
- const replacedOperationNamesServices = services.map((service) => {
16
+ for (const service of services) {
16
17
  serviceOperationReplacements.set(service.name, new Map());
17
- return {
18
- ...service,
19
- operations: service.operations.map((operation) => {
20
- const operationReplacements = serviceOperationReplacements.get(service.name);
21
- if (!operationReplacements)
22
- throw new Error('operationReplacements not found');
23
- const operationModifiers = operationNameModifiers.filter((modifier) => modifier.isPathMatch(operation.path) &&
24
- (modifier.methods === undefined ||
25
- modifier.methods.includes(operation.method)) &&
26
- normalizeOperationNameModifierRegex(modifier.operationNameModifierRegex).test(operation.name));
27
- const replacedOperationName = operationModifiers.reduce((operationName, modifier) => operationName.replace(normalizeOperationNameModifierRegex(modifier.operationNameModifierRegex), modifier.operationNameModifierReplace), operation.name);
28
- if (replacedOperationName !== operation.name) {
29
- if (!operationReplacements.has(replacedOperationName))
30
- operationReplacements.set(replacedOperationName, new Map());
31
- operationReplacements.get(replacedOperationName)?.set(operation.name, operationModifiers.map(({ isPathMatch: _, ...operationModifiersRest }) => operationModifiersRest));
18
+ for (const operation of service.operations) {
19
+ const operationReplacements = serviceOperationReplacements.get(service.name);
20
+ if (!operationReplacements)
21
+ throw new Error('operationReplacements not found');
22
+ const operationModifiers = operationNameModifiers.filter((modifier) => modifier.isPathMatch(operation.path) &&
23
+ (modifier.methods === undefined ||
24
+ modifier.methods.includes(operation.method)) &&
25
+ normalizeOperationNameModifierRegex(modifier.operationNameModifierRegex).test(operation.name));
26
+ const replacedOperationName = getOperationIdName(operationModifiers.reduce((operationName, modifier) => operationName.replace(normalizeOperationNameModifierRegex(modifier.operationNameModifierRegex), modifier.operationNameModifierReplace), operation.name));
27
+ if (replacedOperationName !== operation.name) {
28
+ if (!operationReplacements.has(replacedOperationName))
29
+ operationReplacements.set(replacedOperationName, new Map());
30
+ operationReplacements.get(replacedOperationName)?.set(operation.name, operationModifiers.map(({ isPathMatch: _, ...operationModifiersRest }) => operationModifiersRest));
31
+ }
32
+ }
33
+ }
34
+ const replacedOperationNamesServices = services.map((service) => ({
35
+ ...service,
36
+ operations: service.operations.map((operation) => {
37
+ const operationReplacements = serviceOperationReplacements.get(service.name);
38
+ if (!operationReplacements)
39
+ return operation;
40
+ for (const [replacedName, originalMap] of operationReplacements) {
41
+ if (originalMap.has(operation.name)) {
42
+ return { ...operation, name: replacedName };
32
43
  }
33
- return {
34
- ...operation,
35
- name: replacedOperationName,
36
- };
37
- }),
38
- };
39
- });
44
+ }
45
+ return operation;
46
+ }),
47
+ }));
40
48
  const errors = Array.from(serviceOperationReplacements).flatMap(([serviceName, modifiedOperations]) => Array.from(modifiedOperations).flatMap(([replacedOperationName, operationModifierMap]) => {
41
49
  if (operationModifierMap.size > 1) {
42
50
  return Array.from(operationModifierMap).map(([originalOperationName, modifiers]) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"processOperationNameModifierOption.js","sourceRoot":"","sources":["../../src/lib/processOperationNameModifierOption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processOperationNameModifierOption.js","sourceRoot":"","sources":["../../src/lib/processOperationNameModifierOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAEL,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,SAAkC,EAClC,QAAmB,EACnB,EAAE;IACF,IAAI,CAAC,SAAS,CAAC,MAAM;QACnB,OAAO;YACL,MAAM,EAAE,EAAE;YACV,QAAQ;SACT,CAAC;IAEJ,MAAM,sBAAsB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG,QAAQ;QACX,WAAW,EAAE,sBAAsB,CACjC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC7C;KACF,CAAC,CAAC,CAAC;IAMJ,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAMzC,CAAC;IAEJ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAE1D,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,GAAG,CAC5D,OAAO,CAAC,IAAI,CACb,CAAC;YAEF,IAAI,CAAC,qBAAqB;gBACxB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAErD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,MAAM,CACtD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;gBACpC,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;oBAC7B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC9C,mCAAmC,CACjC,QAAQ,CAAC,0BAA0B,CACpC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACzB,CAAC;YAEF,MAAM,qBAAqB,GAAG,kBAAkB,CAC9C,kBAAkB,CAAC,MAAM,CACvB,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAC1B,aAAa,CAAC,OAAO,CACnB,mCAAmC,CACjC,QAAQ,CAAC,0BAA0B,CACpC,EACD,QAAQ,CAAC,4BAA4B,CACtC,EACH,SAAS,CAAC,IAAI,CACf,CACF,CAAC;YAEF,IAAI,qBAAqB,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBACnD,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC9D,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,GAAG,CACnD,SAAS,CAAC,IAAI,EACd,kBAAkB,CAAC,GAAG,CACpB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,sBAAsB,EAAE,EAAE,EAAE,CAChD,sBAAsB,CACzB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,8BAA8B,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChE,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/C,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,GAAG,CAC5D,OAAO,CAAC,IAAI,CACb,CAAC;YACF,IAAI,CAAC,qBAAqB;gBAAE,OAAO,SAAS,CAAC;YAE7C,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,qBAAqB,EAAE,CAAC;gBAChE,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;gBAC9C,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;KACH,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAC7D,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,EAAE,CACpC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CACpC,CAAC,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,EAAE;QAChD,IAAI,oBAAoB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CACzC,CAAC,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvC,WAAW;gBACX,qBAAqB;gBACrB,qBAAqB;gBACrB,SAAS;aACV,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC,GACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL;oBACE,WAAW;oBACX,qBAAqB;oBACrB,qBAAqB;oBACrB,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CACF,CACJ,CAAC;IAEF,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,8BAA8B;KACzC,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,mCAAmC,CAAC,KAAa;IACxD,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAkBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAG,WAAqB;IAExB,MAAM,4BAA4B,GAAiC,EAAE,CAAC;IAEtE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CACxC,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CACrC,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,MAAM;YAC3B,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,oGAAoG,CACnJ,CAAC;QAEJ,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CACxC,CAAC,EACD,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAC/B,CAAC;QACF,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,CAC1C,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAClD,CAAC;QAEF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAEtE,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,MAAM;YAC7C,MAAM,IAAI,KAAK,CACb,sBAAsB,SAAS,4CAA4C,CAC5E,CAAC;QAEJ,4BAA4B,CAAC,IAAI,CAAC;YAChC,OAAO;YACP,SAAS;YACT,0BAA0B,EAAE,YAAY,CAAC,IAAI,EAAE;YAC/C,4BAA4B,EAAE,cAAc,CAAC,IAAI,EAAE;SACpD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,4BAA4B,CAAC;AACtC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const packageVersion = "1.14.0-beta.2";
1
+ export declare const packageVersion = "1.14.0-beta.3";
2
2
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // This file was generated automatically
2
- export const packageVersion = '1.14.0-beta.2';
2
+ export const packageVersion = '1.14.0-beta.3';
3
3
  //# sourceMappingURL=packageVersion.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openapi-qraft/plugin",
3
- "version": "1.14.0-beta.2",
3
+ "version": "1.14.0-beta.3",
4
4
  "packageManager": "yarn@4.0.2",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -8,16 +8,9 @@ import camelCase from 'camelcase';
8
8
  export const getOperationName = (
9
9
  url: string,
10
10
  method: string,
11
- operationId?: string
11
+ operationId: string | undefined
12
12
  ): string => {
13
- if (operationId) {
14
- return camelCase(
15
- operationId
16
- .replace(/^[^a-zA-Z]+/g, '')
17
- .replace(/[^\w-]+/g, '-')
18
- .trim()
19
- );
20
- }
13
+ if (operationId) return getOperationIdName(operationId);
21
14
 
22
15
  const urlWithoutPlaceholders = url
23
16
  .replace(/[^/]*?{api-version}.*?\//g, '')
@@ -26,3 +19,12 @@ export const getOperationName = (
26
19
 
27
20
  return camelCase(`${method}-${urlWithoutPlaceholders}`);
28
21
  };
22
+
23
+ export const getOperationIdName = (operationId: string): string => {
24
+ return camelCase(
25
+ operationId
26
+ .replace(/^[^a-zA-Z]+/g, '')
27
+ .replace(/[^\w-]+/g, '-')
28
+ .trim()
29
+ );
30
+ };
@@ -1,4 +1,5 @@
1
1
  import { createServicePathMatch } from './createServicePathMatch.js';
2
+ import { getOperationIdName } from './open-api/getOperationName.js';
2
3
  import { Service } from './open-api/getServices.js';
3
4
  import {
4
5
  OperationGlobMethods,
@@ -35,30 +36,29 @@ export const processOperationNameModifierOption = (
35
36
  >
36
37
  >();
37
38
 
38
- const replacedOperationNamesServices = services.map((service) => {
39
+ for (const service of services) {
39
40
  serviceOperationReplacements.set(service.name, new Map());
40
41
 
41
- return {
42
- ...service,
43
- operations: service.operations.map((operation) => {
44
- const operationReplacements = serviceOperationReplacements.get(
45
- service.name
46
- );
42
+ for (const operation of service.operations) {
43
+ const operationReplacements = serviceOperationReplacements.get(
44
+ service.name
45
+ );
47
46
 
48
- if (!operationReplacements)
49
- throw new Error('operationReplacements not found');
50
-
51
- const operationModifiers = operationNameModifiers.filter(
52
- (modifier) =>
53
- modifier.isPathMatch(operation.path) &&
54
- (modifier.methods === undefined ||
55
- modifier.methods.includes(operation.method)) &&
56
- normalizeOperationNameModifierRegex(
57
- modifier.operationNameModifierRegex
58
- ).test(operation.name)
59
- );
47
+ if (!operationReplacements)
48
+ throw new Error('operationReplacements not found');
49
+
50
+ const operationModifiers = operationNameModifiers.filter(
51
+ (modifier) =>
52
+ modifier.isPathMatch(operation.path) &&
53
+ (modifier.methods === undefined ||
54
+ modifier.methods.includes(operation.method)) &&
55
+ normalizeOperationNameModifierRegex(
56
+ modifier.operationNameModifierRegex
57
+ ).test(operation.name)
58
+ );
60
59
 
61
- const replacedOperationName = operationModifiers.reduce<string>(
60
+ const replacedOperationName = getOperationIdName(
61
+ operationModifiers.reduce(
62
62
  (operationName, modifier) =>
63
63
  operationName.replace(
64
64
  normalizeOperationNameModifierRegex(
@@ -67,27 +67,40 @@ export const processOperationNameModifierOption = (
67
67
  modifier.operationNameModifierReplace
68
68
  ),
69
69
  operation.name
70
+ )
71
+ );
72
+
73
+ if (replacedOperationName !== operation.name) {
74
+ if (!operationReplacements.has(replacedOperationName))
75
+ operationReplacements.set(replacedOperationName, new Map());
76
+ operationReplacements.get(replacedOperationName)?.set(
77
+ operation.name,
78
+ operationModifiers.map(
79
+ ({ isPathMatch: _, ...operationModifiersRest }) =>
80
+ operationModifiersRest
81
+ )
70
82
  );
83
+ }
84
+ }
85
+ }
86
+
87
+ const replacedOperationNamesServices = services.map((service) => ({
88
+ ...service,
89
+ operations: service.operations.map((operation) => {
90
+ const operationReplacements = serviceOperationReplacements.get(
91
+ service.name
92
+ );
93
+ if (!operationReplacements) return operation;
71
94
 
72
- if (replacedOperationName !== operation.name) {
73
- if (!operationReplacements.has(replacedOperationName))
74
- operationReplacements.set(replacedOperationName, new Map());
75
- operationReplacements.get(replacedOperationName)?.set(
76
- operation.name,
77
- operationModifiers.map(
78
- ({ isPathMatch: _, ...operationModifiersRest }) =>
79
- operationModifiersRest
80
- )
81
- );
95
+ for (const [replacedName, originalMap] of operationReplacements) {
96
+ if (originalMap.has(operation.name)) {
97
+ return { ...operation, name: replacedName };
82
98
  }
99
+ }
83
100
 
84
- return {
85
- ...operation,
86
- name: replacedOperationName,
87
- };
88
- }),
89
- };
90
- });
101
+ return operation;
102
+ }),
103
+ }));
91
104
 
92
105
  const errors = Array.from(serviceOperationReplacements).flatMap(
93
106
  ([serviceName, modifiedOperations]) =>
@@ -1,2 +1,2 @@
1
1
  // This file was generated automatically
2
- export const packageVersion = '1.14.0-beta.2';
2
+ export const packageVersion = '1.14.0-beta.3';