0.0.3 • Published 2 years ago

@platohq/nestjs-imagekit v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@platohq/nestjs-imagekit

The NestJS module based on the official Imagekit package

How to install

npm install @platohq/nestjs-imagekit

or

yarn add @platohq/nestjs-imagekit

How to use

Register the module

import { ImagekitModule } from '@platohq/nestjs-imagekit';

@Module({
  imports: [
    ImagekitModule.register({
      privateKey: 'YOUR_PRIVATE_KEY',
      publicKey: 'YOUR_PUBLIC_KEY',
      urlEndpoint: 'YOUR_URL_ENDPOINT',
    }),
  ],
})
export class AppModule {}

Inject the service

import { ImagekitService } from '@platohq/nestjs-imagekit';

@Injectable()
export class AppService {
  constructor(private readonly imagekitService: ImagekitService) {}

  track() {
    this.imagekitService.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

ImagekitModule.registerAsync({
  useFactory: () => ({
    privateKey: 'YOUR_PRIVATE_KEY',
    publicKey: 'YOUR_PUBLIC_KEY',
    urlEndpoint: 'YOUR_URL_ENDPOINT',
  }),
});

Use class

ImagekitModule.registerAsync({
  useClass: ImagekitConfigService,
});

Above construction will instantiate ImagekitConfigService inside ImagekitModule and will leverage it to create options object.

class ImagekitConfigService implements ImagekitOptionsFactory {
  createImagekitOptions(): ImagekitModuleOptions {
    return {
      privateKey: 'YOUR_PRIVATE_KEY',
      publicKey: 'YOUR_PUBLIC_KEY',
      urlEndpoint: 'YOUR_URL_ENDPOINT',
    };
  }
}

Use existing

ImagekitModule.registerAsync({
  imports: [ConfigModule],
  useExisting: ConfigService,
}),
0.0.3

2 years ago

0.1.0

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago