@orval/angular 6.11.0-alpha.1

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/README.md ADDED
@@ -0,0 +1,28 @@
1
+ [![npm version](https://badge.fury.io/js/orval.svg)](https://badge.fury.io/js/orval)
2
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3
+ [![tests](https://github.com/anymaniax/orval/actions/workflows/tests.yaml/badge.svg)](https://github.com/anymaniax/orval/actions/workflows/tests.yaml)
4
+
5
+ <p align="center">
6
+ <img src="./logo/orval-logo-horizontal.svg?raw=true" width="500" height="160" alt="orval - Restfull Client Generator" />
7
+ </p>
8
+ <h1 align="center">
9
+ Visit <a href="https://orval.dev" target="_blank">orval.dev</a> for docs, guides, API and beer!
10
+ </h1>
11
+
12
+ ### Code Generation
13
+
14
+ `orval` is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in `yaml` or `json` formats.
15
+
16
+ `Generate`, `valid`, `cache` and `mock` in your React, Vue, Svelte and Angular applications all with your OpenAPI specification.
17
+
18
+ ### Samples
19
+
20
+ You can find below some samples
21
+
22
+ - [react app](https://github.com/anymaniax/orval/tree/master/samples/react-app)
23
+ - [react query](https://github.com/anymaniax/orval/tree/master/samples/react-query)
24
+ - [svelte query](https://github.com/anymaniax/orval/tree/master/samples/svelte-query)
25
+ - [vue query](https://github.com/anymaniax/orval/tree/master/samples/vue-query)
26
+ - [react app with swr](https://github.com/anymaniax/orval/tree/master/samples/react-app-with-swr)
27
+ - [nx fastify react](https://github.com/anymaniax/orval/tree/master/samples/nx-fastify-react)
28
+ - [angular app](https://github.com/anymaniax/orval/tree/master/samples/angular-app)
@@ -0,0 +1,10 @@
1
+ import { ClientDependenciesBuilder, ClientTitleBuilder, ClientHeaderBuilder, ClientFooterBuilder, ClientBuilder, ClientGeneratorsBuilder } from '@orval/core';
2
+
3
+ declare const getAngularDependencies: ClientDependenciesBuilder;
4
+ declare const generateAngularTitle: ClientTitleBuilder;
5
+ declare const generateAngularHeader: ClientHeaderBuilder;
6
+ declare const generateAngularFooter: ClientFooterBuilder;
7
+ declare const generateAngular: ClientBuilder;
8
+ declare const builder: () => ClientGeneratorsBuilder;
9
+
10
+ export { builder, builder as default, generateAngular, generateAngularFooter, generateAngularHeader, generateAngularTitle, getAngularDependencies };
package/dist/index.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _core = require('@orval/core');var V=[{exports:[{name:"HttpClient",values:!0},{name:"HttpHeaders"},{name:"HttpParams"},{name:"HttpContext"}],dependency:"@angular/common/http"},{exports:[{name:"Injectable",values:!0}],dependency:"@angular/core"},{exports:[{name:"Observable",values:!0}],dependency:"rxjs"}],d=new Map,j= exports.getAngularDependencies =()=>V,M= exports.generateAngularTitle =n=>{let t=_core.sanitize.call(void 0, n);return`${_core.pascal.call(void 0, t)}Service`},U= exports.generateAngularHeader =({title:n,isRequestOptions:t,isMutator:a,isGlobalMutator:r,provideIn:s})=>`
2
+ ${t&&!r?`type HttpClientOptions = {
3
+ headers?: HttpHeaders | {
4
+ [header: string]: string | string[];
5
+ };
6
+ context?: HttpContext;
7
+ observe?: any;
8
+ params?: HttpParams | {
9
+ [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
10
+ };
11
+ reportProgress?: boolean;
12
+ responseType?: any;
13
+ withCredentials?: boolean;
14
+ };`:""}
15
+
16
+ ${t&&a?`// eslint-disable-next-line
17
+ type ThirdParameter<T extends (...args: any) => any> = T extends (
18
+ config: any,
19
+ httpClient: any,
20
+ args: infer P,
21
+ ) => any
22
+ ? P
23
+ : never;`:""}
24
+
25
+ @Injectable(${s?`{ providedIn: '${_core.isBoolean.call(void 0, s)?"root":s}' }`:""})
26
+ export class ${n} {
27
+ constructor(
28
+ private http: HttpClient,
29
+ ) {}`,N= exports.generateAngularFooter =({operationNames:n})=>{let t=`};
30
+
31
+ `;return n.forEach(a=>{d.has(a)&&(t+=d.get(a)+`
32
+ `)}),t},_=({headers:n,queryParams:t,operationName:a,response:r,mutator:s,body:i,props:l,verb:o,override:e,formData:h,formUrlEncoded:O},{route:$,context:B})=>{var f,T;let p=(e==null?void 0:e.requestOptions)!==!1,c=(e==null?void 0:e.formData)!==!1,u=(e==null?void 0:e.formUrlEncoded)!==!1,y=!!((T=(f=B.tsconfig)==null?void 0:f.compilerOptions)!=null&&T.exactOptionalPropertyTypes),D=_core.VERBS_WITH_BODY.includes(o),C=_core.generateFormDataAndUrlEncodedFunction.call(void 0, {formData:h,formUrlEncoded:O,body:i,isFormData:c,isFormUrlEncoded:u}),g=r.definition.success||"unknown";if(d.set(a,`export type ${_core.pascal.call(void 0, a)}ClientResult = NonNullable<${g}>`),s){let b=_core.generateMutatorConfig.call(void 0, {route:$,body:i,headers:n,queryParams:t,response:r,verb:o,isFormData:c,isFormUrlEncoded:u,hasSignal:!1,isBodyVerb:D,isExactOptionalPropertyTypes:y}),A=p?_core.generateMutatorRequestOptions.call(void 0, e==null?void 0:e.requestOptions,s.hasThirdArg):"",E=s.bodyTypeName&&i.definition?_core.toObjectString.call(void 0, l,"implementation").replace(new RegExp(`(\\w*):\\s?${i.definition}`),`$1: ${s.bodyTypeName}<${i.definition}>`):_core.toObjectString.call(void 0, l,"implementation");return` ${a}<TData = ${g}>(
33
+ ${E}
34
+ ${p&&s.hasThirdArg?`options?: ThirdParameter<typeof ${s.name}>`:""}) {${C}
35
+ return ${s.name}<TData>(
36
+ ${b},
37
+ this.http,
38
+ ${A});
39
+ }
40
+ `}let H=_core.generateOptions.call(void 0, {route:$,body:i,headers:n,queryParams:t,response:r,verb:o,requestOptions:e==null?void 0:e.requestOptions,isFormData:c,isFormUrlEncoded:u,isAngular:!0,isExactOptionalPropertyTypes:y,hasSignal:!1});return` ${a}<TData = ${g}>(
41
+ ${_core.toObjectString.call(void 0, l,"implementation")} ${p?`options?: HttpClientOptions
42
+ `:""} ): Observable<TData> {${C}
43
+ return this.http.${o}<TData>(${H});
44
+ }
45
+ `},W= exports.generateAngular =(n,t)=>{let a=_core.generateVerbImports.call(void 0, n);return{implementation:_(n,t),imports:a}},k={client:W,header:U,dependencies:j,footer:N,title:M},z= exports.builder =()=>k,ne= exports.default =z;exports.builder = z; exports.default = ne; exports.generateAngular = W; exports.generateAngularFooter = N; exports.generateAngularHeader = U; exports.generateAngularTitle = M; exports.getAngularDependencies = j;
package/package.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "@orval/angular",
3
+ "version": "6.11.0-alpha.1",
4
+ "license": "MIT",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsup ./src/index.ts --target node12 --minify --clean --dts --splitting",
12
+ "dev": "tsup ./src/index.ts --target node12 --clean --watch src",
13
+ "lint": "eslint src/**/*.ts"
14
+ },
15
+ "dependencies": {
16
+ "@orval/core": "6.11.0-alpha.1"
17
+ }
18
+ }