id-codec.service.ts 760 B

1234567891011121314151617181920212223
  1. import { Injectable } from '@nestjs/common';
  2. import { ConfigService } from '../../config/config.service';
  3. import { IdCodec } from './id-codec';
  4. @Injectable()
  5. export class IdCodecService {
  6. private idCodec: IdCodec;
  7. constructor(configService: ConfigService) {
  8. this.idCodec = new IdCodec(
  9. configService.entityOptions.entityIdStrategy ?? configService.entityIdStrategy,
  10. );
  11. }
  12. encode<T extends string | number | boolean | object | undefined>(target: T, transformKeys?: string[]): T {
  13. return this.idCodec.encode(target, transformKeys);
  14. }
  15. decode<T extends string | number | object | undefined>(target: T, transformKeys?: string[]): T {
  16. return this.idCodec.decode(target, transformKeys);
  17. }
  18. }