@orval/angular 6.22.1 → 6.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -119,7 +119,7 @@ var generateImplementation = ({
119
119
  const isRequestOptions = (override == null ? void 0 : override.requestOptions) !== false;
120
120
  const isFormData = (override == null ? void 0 : override.formData) !== false;
121
121
  const isFormUrlEncoded = (override == null ? void 0 : override.formUrlEncoded) !== false;
122
- const isExactOptionalPropertyTypes = !!((_b = (_a = context.tsconfig) == null ? void 0 : _a.compilerOptions) == null ? void 0 : _b.exactOptionalPropertyTypes);
122
+ const isExactOptionalPropertyTypes = !!((_b = (_a = context.output.tsconfig) == null ? void 0 : _a.compilerOptions) == null ? void 0 : _b.exactOptionalPropertyTypes);
123
123
  const isBodyVerb = import_core.VERBS_WITH_BODY.includes(verb);
124
124
  const bodyForm = (0, import_core.generateFormDataAndUrlEncodedFunction)({
125
125
  formData,
@@ -216,3 +216,4 @@ var src_default = builder;
216
216
  generateAngularTitle,
217
217
  getAngularDependencies
218
218
  });
219
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n ClientBuilder,\n ClientDependenciesBuilder,\n ClientFooterBuilder,\n ClientGeneratorsBuilder,\n ClientHeaderBuilder,\n ClientTitleBuilder,\n generateFormDataAndUrlEncodedFunction,\n generateMutatorConfig,\n generateMutatorRequestOptions,\n generateOptions,\n generateVerbImports,\n GeneratorDependency,\n GeneratorOptions,\n GeneratorVerbOptions,\n isBoolean,\n pascal,\n sanitize,\n toObjectString,\n VERBS_WITH_BODY,\n} from '@orval/core';\n\nconst ANGULAR_DEPENDENCIES: GeneratorDependency[] = [\n {\n exports: [\n { name: 'HttpClient', values: true },\n { name: 'HttpHeaders' },\n { name: 'HttpParams' },\n { name: 'HttpContext' },\n ],\n dependency: '@angular/common/http',\n },\n {\n exports: [{ name: 'Injectable', values: true }],\n dependency: '@angular/core',\n },\n {\n exports: [{ name: 'Observable', values: true }],\n dependency: 'rxjs',\n },\n];\n\nconst returnTypesToWrite: Map<string, string> = new Map();\n\nexport const getAngularDependencies: ClientDependenciesBuilder = () =>\n ANGULAR_DEPENDENCIES;\n\nexport const generateAngularTitle: ClientTitleBuilder = (title) => {\n const sanTitle = sanitize(title);\n return `${pascal(sanTitle)}Service`;\n};\n\nexport const generateAngularHeader: ClientHeaderBuilder = ({\n title,\n isRequestOptions,\n isMutator,\n isGlobalMutator,\n provideIn,\n}) => `\n${\n isRequestOptions && !isGlobalMutator\n ? `type HttpClientOptions = {\n headers?: HttpHeaders | {\n [header: string]: string | string[];\n };\n context?: HttpContext;\n observe?: any;\n params?: HttpParams | {\n [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\n };\n reportProgress?: boolean;\n responseType?: any;\n withCredentials?: boolean;\n};`\n : ''\n}\n\n${\n isRequestOptions && isMutator\n ? `// eslint-disable-next-line\n type ThirdParameter<T extends (...args: any) => any> = T extends (\n config: any,\n httpClient: any,\n args: infer P,\n) => any\n ? P\n : never;`\n : ''\n}\n\n@Injectable(${\n provideIn\n ? `{ providedIn: '${isBoolean(provideIn) ? 'root' : provideIn}' }`\n : ''\n})\nexport class ${title} {\n constructor(\n private http: HttpClient,\n ) {}`;\n\nexport const generateAngularFooter: ClientFooterBuilder = ({\n operationNames,\n}) => {\n let footer = '};\\n\\n';\n\n operationNames.forEach((operationName) => {\n if (returnTypesToWrite.has(operationName)) {\n footer += returnTypesToWrite.get(operationName) + '\\n';\n }\n });\n\n return footer;\n};\n\nconst generateImplementation = (\n {\n headers,\n queryParams,\n operationName,\n response,\n mutator,\n body,\n props,\n verb,\n override,\n formData,\n formUrlEncoded,\n paramsSerializer,\n }: GeneratorVerbOptions,\n { route, context }: GeneratorOptions,\n) => {\n const isRequestOptions = override?.requestOptions !== false;\n const isFormData = override?.formData !== false;\n const isFormUrlEncoded = override?.formUrlEncoded !== false;\n const isExactOptionalPropertyTypes =\n !!context.output.tsconfig?.compilerOptions?.exactOptionalPropertyTypes;\n const isBodyVerb = VERBS_WITH_BODY.includes(verb);\n const bodyForm = generateFormDataAndUrlEncodedFunction({\n formData,\n formUrlEncoded,\n body,\n isFormData,\n isFormUrlEncoded,\n });\n\n const dataType = response.definition.success || 'unknown';\n\n returnTypesToWrite.set(\n operationName,\n `export type ${pascal(\n operationName,\n )}ClientResult = NonNullable<${dataType}>`,\n );\n\n if (mutator) {\n const mutatorConfig = generateMutatorConfig({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n isFormData,\n isFormUrlEncoded,\n hasSignal: false,\n isBodyVerb,\n isExactOptionalPropertyTypes,\n });\n\n const requestOptions = isRequestOptions\n ? generateMutatorRequestOptions(\n override?.requestOptions,\n mutator.hasThirdArg,\n )\n : '';\n\n const propsImplementation =\n mutator.bodyTypeName && body.definition\n ? toObjectString(props, 'implementation').replace(\n new RegExp(`(\\\\w*):\\\\s?${body.definition}`),\n `$1: ${mutator.bodyTypeName}<${body.definition}>`,\n )\n : toObjectString(props, 'implementation');\n\n return ` ${operationName}<TData = ${dataType}>(\\n ${propsImplementation}\\n ${\n isRequestOptions && mutator.hasThirdArg\n ? `options?: ThirdParameter<typeof ${mutator.name}>`\n : ''\n }) {${bodyForm}\n return ${mutator.name}<TData>(\n ${mutatorConfig},\n this.http,\n ${requestOptions});\n }\n `;\n }\n\n const options = generateOptions({\n route,\n body,\n headers,\n queryParams,\n response,\n verb,\n requestOptions: override?.requestOptions,\n isFormData,\n isFormUrlEncoded,\n paramsSerializer,\n paramsSerializerOptions: override?.paramsSerializerOptions,\n isAngular: true,\n isExactOptionalPropertyTypes,\n hasSignal: false,\n });\n\n return ` ${operationName}<TData = ${dataType}>(\\n ${toObjectString(\n props,\n 'implementation',\n )} ${\n isRequestOptions ? `options?: HttpClientOptions\\n` : ''\n } ): Observable<TData> {${bodyForm}\n return this.http.${verb}<TData>(${options});\n }\n`;\n};\n\nexport const generateAngular: ClientBuilder = (verbOptions, options) => {\n const imports = generateVerbImports(verbOptions);\n const implementation = generateImplementation(verbOptions, options);\n\n return { implementation, imports };\n};\n\nconst angularClientBuilder: ClientGeneratorsBuilder = {\n client: generateAngular,\n header: generateAngularHeader,\n dependencies: getAngularDependencies,\n footer: generateAngularFooter,\n title: generateAngularTitle,\n};\n\nexport const builder = () => () => angularClientBuilder;\n\nexport default builder;\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orval/angular",
3
- "version": "6.22.1",
3
+ "version": "6.24.0",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -8,11 +8,11 @@
8
8
  "dist"
9
9
  ],
10
10
  "scripts": {
11
- "build": "tsup ./src/index.ts --target node12 --clean --dts",
12
- "dev": "tsup ./src/index.ts --target node12 --clean --watch src",
11
+ "build": "tsup ./src/index.ts --target node12 --clean --sourcemap --dts",
12
+ "dev": "tsup ./src/index.ts --target node12 --clean --sourcemap --watch src",
13
13
  "lint": "eslint src/**/*.ts"
14
14
  },
15
15
  "dependencies": {
16
- "@orval/core": "6.22.1"
16
+ "@orval/core": "6.24.0"
17
17
  }
18
18
  }