@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 +2 -1
- package/dist/index.js.map +1 -0
- package/package.json +4 -4
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.
|
|
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.
|
|
16
|
+
"@orval/core": "6.24.0"
|
|
17
17
|
}
|
|
18
18
|
}
|