@platohq/nestjs-imagekit
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

@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,
}),

Readme

Keywords

none

Package Sidebar

Install

npm i @platohq/nestjs-imagekit

Weekly Downloads

3

Version

0.0.3

License

MIT

Unpacked Size

8.81 kB

Total Files

21

Last publish

Collaborators

  • raphaplato
  • renansmoreira_
  • jkernech