typescript-rxjs.README.mustache Maven / Gradle / Ivy
The newest version!
## {{npmName}}@{{npmVersion}}
This generator creates TypeScript/JavaScript client that utilizes [RxJS](https://rxjs-dev.firebaseapp.com/). The generated Node module can be used in the following environments:
Environment
* Node.js
* Webpack
* Browserify
Language level
* ES5 - you must have a Promises/A+ library installed
* ES6
Module system
* CommonJS
* ES6 module system
It can be used in both TypeScript and JavaScript. In TypeScript, the definition should be automatically resolved via `package.json`. ([Reference](http://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html))
### Building
To build and compile the typescript sources to javascript use:
```
npm install
npm run build
```
### Publishing
First build the package then run `npm publish`
### Consuming
navigate to the folder of your consuming project and run one of the following commands.
_published:_
```
npm install {{npmName}}@{{npmVersion}} --save
```
_unPublished (not recommended):_
```
npm install PATH_TO_GENERATED_PACKAGE --save
```
### How to apply middleware
First, add a singleton class that extends the generated `Configuration` class.
```
export class AuthInterceptor extends Configuration {
private static config: AuthInterceptor;
private constructor() {
const middleware: Middleware[] = [
{
pre(request: RequestArgs): RequestArgs {
const token = getAuthToken();
return {
...request,
headers: {
...request.headers,
Authorization: `Bearer ${token}`,
},
};
},
},
];
super({ middleware });
}
public static get Instance() {
return AuthInterceptor.config || (AuthInterceptor.config = new this());
}
}
```
Next, pass it to the generated api controller.
```
const api = new StoreApi(AuthInterceptor.Instance);
```
© 2015 - 2024 Weber Informatics LLC | Privacy Policy