From bd43ae73caffadd699d881c3489c5ad556f11949 Mon Sep 17 00:00:00 2001 From: matt Date: Fri, 11 May 2018 20:50:04 -0500 Subject: [PATCH 1/3] allow refType to be defined in @prop --- src/prop.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/prop.ts b/src/prop.ts index dd4ea32..475d578 100644 --- a/src/prop.ts +++ b/src/prop.ts @@ -23,6 +23,7 @@ export interface BasePropOptions { export interface PropOptions extends BasePropOptions { ref?: any; + refType?: any; } export interface ValidateNumberOptions { @@ -86,9 +87,13 @@ const baseProp = (rawOptions, Type, target, key, isArray = false) => { const ref = rawOptions.ref; if (ref) { + let refType = mongoose.Schema.Types.ObjectId; + if (rawOptions.refType) { + refType = rawOptions.refType; + } schema[name][key] = { ...schema[name][key], - type: mongoose.Schema.Types.ObjectId, + type: refType, ref: ref.name, }; return; @@ -96,9 +101,13 @@ const baseProp = (rawOptions, Type, target, key, isArray = false) => { const itemsRef = rawOptions.itemsRef; if (itemsRef) { + let refType = mongoose.Schema.Types.ObjectId; + if (rawOptions.refType) { + refType = rawOptions.refType; + } schema[name][key][0] = { ...schema[name][key][0], - type: mongoose.Schema.Types.ObjectId, + type: refType, ref: itemsRef.name, }; return; From f39ec7819e20a0ad569b3f0ae542abb22ccdced3 Mon Sep 17 00:00:00 2001 From: matt Date: Fri, 11 May 2018 21:42:12 -0500 Subject: [PATCH 2/3] remove tests from build --- package.json | 5 +++-- src/test/tsconfig.json | 9 +++++++++ tsconfig.json | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 src/test/tsconfig.json diff --git a/package.json b/package.json index c0a733f..6ec9713 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,11 @@ "scripts": { "start": "npm run build && node ./lib/typegoose.js", "build": "rimraf lib && tsc", + "build:tests": "rimraf lib && cd src/test && tsc", "lint": "tslint --project tsconfig.json", "test": "npm run lint && npm run cover", - "mocha": "npm run build && mocha ./lib --recursive", - "cover": "npm run build && istanbul cover _mocha -- lib --recursive -R spec", + "mocha": "npm run build:tests && mocha ./lib --recursive", + "cover": "npm run build:tests && istanbul cover _mocha -- lib --recursive -R spec", "coveralls": "cat ./coverage/lcov.info | coveralls" }, "repository": { diff --git a/src/test/tsconfig.json b/src/test/tsconfig.json new file mode 100644 index 0000000..dfd9f03 --- /dev/null +++ b/src/test/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "include": [ + "../**/*.ts" + ], + "exclude": [ + + ] +} diff --git a/tsconfig.json b/tsconfig.json index c3aa0d4..5edff9b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,5 +11,8 @@ }, "include": [ "src/**/*.ts" + ], + "exclude": [ + "src/test/**/*.ts" ] } From a386f3de0a03a8fee07d5d5d655f30fc97afd4f7 Mon Sep 17 00:00:00 2001 From: matt Date: Fri, 11 May 2018 21:54:54 -0500 Subject: [PATCH 3/3] move @types/mongoose to be peerDependency --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6ec9713..74deb85 100644 --- a/package.json +++ b/package.json @@ -25,11 +25,11 @@ "lodash": "4.17.10" }, "peerDependencies": { + "@types/mongoose": "5.0.10", "mongoose": "^5.0.0", "reflect-metadata": "^0.1.8" }, "devDependencies": { - "@types/mongoose": "5.0.10", "@types/chai": "4.1.3", "@types/dotenv": "4.0.3", "@types/lodash": "4.14.108",