@orion-js/mongodb 3.3.20 → 3.3.22

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.
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
6
15
  const getSelector_1 = __importDefault(require("./getSelector"));
16
+ const typed_model_1 = require("@orion-js/typed-model");
7
17
  const mongoFunctionMock = function (selectorArg) {
8
18
  return (0, getSelector_1.default)(arguments);
9
19
  };
@@ -21,3 +31,16 @@ it('should return the selector when a valid mongo selector is passed', async ()
21
31
  const selector = { _id: 'hello', number: 123 };
22
32
  expect(mongoFunctionMock(selector)).toBe(selector);
23
33
  });
34
+ it('should allow passing $in to selectors with typed id', async () => {
35
+ let Example = class Example {
36
+ };
37
+ __decorate([
38
+ (0, typed_model_1.Prop)(),
39
+ __metadata("design:type", String)
40
+ ], Example.prototype, "_id", void 0);
41
+ Example = __decorate([
42
+ (0, typed_model_1.TypedSchema)()
43
+ ], Example);
44
+ const selector1 = { _id: { $in: ['prefix_'] } };
45
+ const selector2 = 'prefix_1';
46
+ });
@@ -49,9 +49,13 @@ export declare namespace DataLoader {
49
49
  export type LoadById<ModelClass extends ModelClassBase> = (id: ModelClass['_id']) => Promise<ModelClass>;
50
50
  export {};
51
51
  }
52
- export declare type MongoFilter<ModelClass extends ModelClassBase = ModelClassBase> = MongoDB.Filter<ModelClass> & {
52
+ export declare type MongoFilter<ModelClass extends ModelClassBase = ModelClassBase> = MongoDB.Filter<ModelClass> & ({
53
53
  _id?: ModelClass['_id'];
54
- };
54
+ } | {
55
+ _id?: {
56
+ $in: ModelClass['_id'][];
57
+ };
58
+ });
55
59
  export declare type MongoSelector<ModelClass extends ModelClassBase = ModelClassBase> = ModelClass['_id'] | MongoFilter<ModelClass>;
56
60
  export interface FindCursor<ModelClass> extends MongoDB.FindCursor {
57
61
  toArray: () => Promise<Array<ModelClass>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orion-js/mongodb",
3
- "version": "3.3.20",
3
+ "version": "3.3.22",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "files": [
@@ -24,7 +24,7 @@
24
24
  "@orion-js/resolvers": "^3.3.20",
25
25
  "@orion-js/schema": "^3.3.20",
26
26
  "@orion-js/services": "^3.3.20",
27
- "@orion-js/typed-model": "^3.3.20",
27
+ "@orion-js/typed-model": "^3.3.21",
28
28
  "dataloader": "2.1.0",
29
29
  "dot-object": "2.1.4",
30
30
  "mongodb": "4.5.0"
@@ -41,5 +41,5 @@
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
- "gitHead": "fc4d8447758abffb74834f58443e7489cee3a454"
44
+ "gitHead": "a72457b41d770b8241e4088430770d0ac0c5e28f"
45
45
  }