@orion-js/models 3.3.13 → 3.3.20

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.
@@ -5,5 +5,5 @@ interface CloneInfo {
5
5
  getResolvers: () => any;
6
6
  modelOptions: CreateModelOptions;
7
7
  }
8
- declare const clone: (cloneInfo: CloneInfo, options: CloneOptions) => import("../types").Model;
8
+ declare const clone: (cloneInfo: CloneInfo, options: CloneOptions) => import("../types").Model<any>;
9
9
  export default clone;
@@ -1,3 +1,2 @@
1
- import { CreateModel } from '../types';
2
- declare const createModel: CreateModel;
3
- export default createModel;
1
+ import { Model, CreateModelOptions } from '../types';
2
+ export default function createModel<TSchema = any>(modelOptions: CreateModelOptions): Model<TSchema>;
@@ -8,7 +8,7 @@ const resolveParam_1 = __importDefault(require("./resolveParam"));
8
8
  const schema_1 = require("@orion-js/schema");
9
9
  const clone_1 = __importDefault(require("./clone"));
10
10
  const modelToSchema_1 = require("./modelToSchema");
11
- const createModel = modelOptions => {
11
+ function createModel(modelOptions) {
12
12
  const name = modelOptions.name;
13
13
  let resolvedSchema = null;
14
14
  let resolvedCleanSchema = null;
@@ -78,8 +78,9 @@ const createModel = modelOptions => {
78
78
  getResolvers,
79
79
  modelOptions
80
80
  }, cloneOptions);
81
- }
81
+ },
82
+ type: null
82
83
  };
83
84
  return model;
84
- };
85
+ }
85
86
  exports.default = createModel;
@@ -4,6 +4,6 @@ export declare function modelToSchema(modelSchema: ModelSchema, { cleanSchema }?
4
4
  cleanSchema?: boolean;
5
5
  }): Schema;
6
6
  export declare function modelToSchemaWithModel(modelSchema: ModelSchema, model?: Model): Schema | {
7
- __model: Model;
7
+ __model: Model<any>;
8
8
  };
9
9
  export declare function modelToSchemaClean(modelSchema: ModelSchema): Schema;
@@ -51,7 +51,7 @@ export interface CloneOptions {
51
51
  extendSchema?: Schema;
52
52
  extendResolvers?: ModelResolversMap;
53
53
  }
54
- export interface Model {
54
+ export interface Model<TSchema = any> {
55
55
  __isModel: boolean;
56
56
  /**
57
57
  * The name of the model, used for example for GraphQL
@@ -87,5 +87,9 @@ export interface Model {
87
87
  * Creates a new model using this one as a base
88
88
  */
89
89
  clone: (cloneOptions: CloneOptions) => Model;
90
+ /**
91
+ * The type of the model. Only use this in typescript
92
+ */
93
+ type: TSchema;
90
94
  }
91
- export declare type CreateModel = (options: CreateModelOptions) => Model;
95
+ export declare type CreateModel<TSchema = any> = (options: CreateModelOptions) => Model<TSchema>;
@@ -28,4 +28,8 @@ it('should create correctly a model with its schema', async () => {
28
28
  }
29
29
  }
30
30
  });
31
+ const model4 = (0, __1.createModel)({
32
+ name: 'Name',
33
+ schema: {}
34
+ });
31
35
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orion-js/models",
3
- "version": "3.3.13",
3
+ "version": "3.3.20",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "files": [
@@ -17,15 +17,15 @@
17
17
  "upgrade-interactive": "yarn upgrade-interactive"
18
18
  },
19
19
  "dependencies": {
20
- "@orion-js/helpers": "^3.3.6",
21
- "@orion-js/resolvers": "^3.3.13",
22
- "@orion-js/schema": "^3.3.13"
20
+ "@orion-js/helpers": "^3.3.20",
21
+ "@orion-js/resolvers": "^3.3.20",
22
+ "@orion-js/schema": "^3.3.20"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@orion-js/cache": "^3.0.0-alpha.10"
26
26
  },
27
27
  "devDependencies": {
28
- "@orion-js/cache": "^3.3.6",
28
+ "@orion-js/cache": "^3.3.20",
29
29
  "@shelf/jest-mongodb": "^2.1.0",
30
30
  "@types/jest": "^27.0.2",
31
31
  "@types/lodash": "4.14.176",
@@ -36,5 +36,5 @@
36
36
  "publishConfig": {
37
37
  "access": "public"
38
38
  },
39
- "gitHead": "8b63161dd4c14fa182571eb46a7fb87a67895a07"
39
+ "gitHead": "fc4d8447758abffb74834f58443e7489cee3a454"
40
40
  }