1.3.5-alpha-docarray • Published 6 years ago
typegoose-utils v1.3.5-alpha-docarray
Typegoose Utils
Type Helpers and methods for @typegoose/typegoose.
Install
On NPM:
npm i -S @typegoose/typegoose typegoose-utils mongoose @types/mongooseOn Yarn:
yarn add @typegoose/typegoose typegoose-utils mongoose @types/mongooseThis package requires you to have @typegoose/typegoose and @types/mongoose installed.
API:
ElementArray<Class | Value>:
Implements mongoose Array or DocumentArray.
ElementArray<Value>:
Value is any generic supported primitive, on this case ElementArray will implement mongoose.Types.Array giving you access to MongooseArray methods.
class Example {
@arrayProp({ items: String })
normalArray: ElementArray<String> // when accesing a "ExampleInstance.normalArray" MongooseArray methods will be available.
}ElementArray<Class>:
Class is any other subdocument class as usually used on typegoose, on this case, it will give you both mongoose.Types.DocumentArray and mongoose.Types.Array methods.
This means all MongooseArray methods plus SubDocuments Array Utilities.
class Children {
@prop()
value: strinng
}
class Example {
@arrayProp({ items: Children })
normalArray: ElementArray<typeof Children> // when accesing a "ExampleInstance.normalArray" MongooseArray methods will be available.
}DocumentOf<Model>:
Return proper document type from a model.
class Example {
@arrayProp({ items: String })
normalArray: ElementArray<String> // when accesing a "ExampleInstance.normalArray" MongooseArray methods will be available.
}
const model = getModelForClass(Example)
const instance = new model() as DocumentOf<typeof model> // ReturnType of new model() should equal DocumentOf<model>.