0.0.3 • Published 3 years ago
@platohq/nestjs-clearbit v0.0.3
@platohq/nestjs-clearbit
The NestJS module based on the official Clearbit package
How to install
npm install @platohq/nestjs-clearbitor
yarn add @platohq/nestjs-clearbitHow to use
Register the module
import { ClearbitModule } from '@platohq/nestjs-clearbit';
@Module({
imports: [
ClearbitModule.register({
apiKey: 'YOUR_WRITE_KEY',
}),
],
})
export class AppModule {}Inject the service
import { ClearbitService } from '@platohq/nestjs-clearbit';
@Injectable()
export class AppService {
constructor(private readonly clearbitService: ClearbitService) {}
track() {
this.clearbitService.track('MY_EVENT');
}
}Async options
Quite often you might want to asynchronously pass your module options instead of passing them beforehand. In such case, use registerAsync() method, that provides a couple of various ways to deal with async data.
Use factory
ClearbitModule.registerAsync({
useFactory: () => ({
apiKey: 'YOUR_WRITE_KEY',
}),
});Use class
ClearbitModule.registerAsync({
useClass: ClearbitConfigService,
});Above construction will instantiate ClearbitConfigService inside ClearbitModule and will leverage it to create options object.
class ClearbitConfigService implements ClearbitOptionsFactory {
createClearbitOptions(): ClearbitModuleOptions {
return {
apiKey: 'YOUR_WRITE_KEY',
};
}
}Use existing
ClearbitModule.registerAsync({
imports: [ConfigModule],
useExisting: ConfigService,
}),