@metapic/nestjs-utils 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/typeorm.d.ts CHANGED
@@ -1,6 +1,16 @@
1
- import { type ColumnOptions, type PrimaryColumnOptions } from 'typeorm';
1
+ import { type ColumnOptions, type FindOperator, type PrimaryColumnOptions, type ValueTransformer } from 'typeorm';
2
2
  export declare const Column: (options?: ColumnOptions) => (target: object, propertyKey: string | symbol) => void;
3
3
  export declare const PrimaryColumn: (options?: PrimaryColumnOptions) => (target: object, propertyKey: string | symbol) => void;
4
4
  export declare const PrimaryBinaryUuidColumn: () => ReturnType<typeof PrimaryColumn>;
5
- export declare const BinaryUuidColumn: (options: Omit<ColumnOptions, "type" | "length" | "generated" | "transformer">) => ReturnType<typeof Column>;
5
+ export declare const BinaryUuidColumn: (options?: Omit<ColumnOptions, "type" | "length" | "generated" | "transformer">) => ReturnType<typeof Column>;
6
+ /**
7
+ * Inspiration: https://github.com/typeorm/typeorm/issues/3187#issuecomment-2421286827
8
+ * More details: https://github.com/typeorm/typeorm/issues/10542
9
+ */
10
+ declare class UuidValueTransformer implements ValueTransformer {
11
+ to(value: string | undefined | null | FindOperator<unknown>): Buffer | FindOperator<unknown> | null;
12
+ from(bin: Buffer | undefined | null): string | null;
13
+ }
14
+ export declare const UUID_VALUE_TRANSFORMER: UuidValueTransformer;
15
+ export {};
6
16
  //# sourceMappingURL=typeorm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm.d.ts","sourceRoot":"","sources":["../src/typeorm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAyB,MAAM,SAAS,CAAA;AAG9F,eAAO,MAAM,MAAM,GAAI,UAAU,aAAa,MACpC,QAAQ,MAAM,EAAE,aAAa,MAAM,GAAG,MAAM,SAGrD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,UAAU,oBAAoB,MAClD,QAAQ,MAAM,EAAE,aAAa,MAAM,GAAG,MAAM,SAGrD,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAO,UAAU,CAAC,OAAO,aAAa,CAQtE,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAC3B,SAAS,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC,KAC5E,UAAU,CAAC,OAAO,MAAM,CAOvB,CAAA"}
1
+ {"version":3,"file":"typeorm.d.ts","sourceRoot":"","sources":["../src/typeorm.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAA;AAGhB,eAAO,MAAM,MAAM,GAAI,UAAU,aAAa,MACpC,QAAQ,MAAM,EAAE,aAAa,MAAM,GAAG,MAAM,SAGrD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,UAAU,oBAAoB,MAClD,QAAQ,MAAM,EAAE,aAAa,MAAM,GAAG,MAAM,SAGrD,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAO,UAAU,CAAC,OAAO,aAAa,CAQtE,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAC3B,UAAU,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC,KAC7E,UAAU,CAAC,OAAO,MAAM,CAOvB,CAAA;AAEJ;;;GAGG;AACH,cAAM,oBAAqB,YAAW,gBAAgB;IAC7C,EAAE,CACP,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,GACvD,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI;IAajC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;CAe3D;AAED,eAAO,MAAM,sBAAsB,sBAA6B,CAAA"}
package/dist/typeorm.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { snakeCase } from 'change-case';
2
2
  import * as typeorm from 'typeorm';
3
+ import { InstanceChecker, } from 'typeorm';
3
4
  import { parse, stringify, validate } from 'uuid';
4
5
  export const Column = (options) => {
5
6
  return (target, propertyKey) => {
@@ -25,11 +26,15 @@ export const BinaryUuidColumn = (options) => Column(Object.assign({ type: 'binar
25
26
  * More details: https://github.com/typeorm/typeorm/issues/10542
26
27
  */
27
28
  class UuidValueTransformer {
28
- to(uuid) {
29
- if (!uuid) {
29
+ to(value) {
30
+ if (!value) {
30
31
  return null;
31
32
  }
32
- return Buffer.from(parse(uuid));
33
+ if (InstanceChecker.isFindOperator(value)) {
34
+ // Pass through FindOperators (e.g. IsNull()) without transforming
35
+ return value;
36
+ }
37
+ return Buffer.from(parse(value));
33
38
  }
34
39
  from(bin) {
35
40
  if (!bin) {
@@ -45,5 +50,5 @@ class UuidValueTransformer {
45
50
  return stringify(bin);
46
51
  }
47
52
  }
48
- const UUID_VALUE_TRANSFORMER = new UuidValueTransformer();
53
+ export const UUID_VALUE_TRANSFORMER = new UuidValueTransformer();
49
54
  //# sourceMappingURL=typeorm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm.js","sourceRoot":"","sources":["../src/typeorm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAuB,EAAE,EAAE;IAChD,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,OAAO,CAAC,MAAM,iBAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAK,OAAO,EAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC3F,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAE,EAAE;IAC9D,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,OAAO,CAAC,aAAa,iBAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAK,OAAO,EAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAClG,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAqC,EAAE,CAC5E,aAAa,CAAC;IACZ,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,sBAAsB;IACnC,qFAAqF;IACrF,wCAAwC;CACzC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA6E,EAClD,EAAE,CAC7B,MAAM,iBACJ,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,sBAAsB,IAChC,OAAO,EACV,CAAA;AAEJ;;;GAGG;AACH,MAAM,oBAAoB;IACjB,EAAE,CAAC,IAA+B;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACjC,CAAC;IAEM,IAAI,CAAC,GAA8B;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAA;QACb,CAAC;QAED,qEAAqE;QACrE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;CACF;AAED,MAAM,sBAAsB,GAAG,IAAI,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"typeorm.js","sourceRoot":"","sources":["../src/typeorm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAGL,eAAe,GAGhB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEjD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAuB,EAAE,EAAE;IAChD,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,OAAO,CAAC,MAAM,iBAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAK,OAAO,EAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC3F,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAE,EAAE;IAC9D,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,OAAO,CAAC,aAAa,iBAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAK,OAAO,EAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAClG,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAqC,EAAE,CAC5E,aAAa,CAAC;IACZ,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,sBAAsB;IACnC,qFAAqF;IACrF,wCAAwC;CACzC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAA8E,EACnD,EAAE,CAC7B,MAAM,iBACJ,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,sBAAsB,IAChC,OAAO,EACV,CAAA;AAEJ;;;GAGG;AACH,MAAM,oBAAoB;IACjB,EAAE,CACP,KAAwD;QAExD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,kEAAkE;YAClE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAClC,CAAC;IAEM,IAAI,CAAC,GAA8B;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAA;QACb,CAAC;QAED,qEAAqE;QACrE,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,oBAAoB,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metapic/nestjs-utils",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Utilities and helpers for Nest.js + TypeORM.",
5
5
  "type": "module",
6
6
  "exports": {