objection
Advanced tools
Comparing version 2.0.10 to 2.1.0
{ | ||
"name": "objection", | ||
"version": "2.0.10", | ||
"version": "2.1.0", | ||
"description": "An SQL-friendly ORM for Node.js", | ||
@@ -5,0 +5,0 @@ "main": "lib/objection.js", |
@@ -98,8 +98,4 @@ /// <reference types="node" /> | ||
export interface MixinFunction { | ||
// Using ModelClass<M> causes TS 2.5 to render ModelClass<any> rather | ||
// than an identity function type. <M extends typeof Model> retains the | ||
// model subclass type in the return value, without requiring the user | ||
// to type the Mixin call. | ||
<MC extends ModelClass<any>>(modelClass: MC, ...plugins: Plugin[]): MC; | ||
<MC extends ModelClass<any>>(modelClass: MC, plugins: Plugin[]): MC; | ||
<MC extends AnyModelConstructor>(modelClass: MC, ...plugins: Plugin[]): MC; | ||
<MC extends AnyModelConstructor>(modelClass: MC, plugins: Plugin[]): MC; | ||
} | ||
@@ -163,3 +159,3 @@ | ||
type AnyQueryBuilder = QueryBuilder<any, any>; | ||
type AnyModelClass = ModelClass<any>; | ||
type AnyModelConstructor = ModelConstructor<Model>; | ||
type ModifierFunction<QB extends AnyQueryBuilder> = (qb: QB, ...args: any[]) => void; | ||
@@ -330,3 +326,3 @@ type Modifier<QB extends AnyQueryBuilder = AnyQueryBuilder> = | ||
interface ForClassMethod { | ||
<M extends Model>(modelClass: ModelClass<M>): QueryBuilderType<M>; | ||
<M extends Model>(modelClass: ModelConstructor<M>): QueryBuilderType<M>; | ||
} | ||
@@ -618,7 +614,7 @@ | ||
interface AliasForMethod<QB extends AnyQueryBuilder> { | ||
(modelClassOrTableName: string | ModelClass<any>, alias: string): QB; | ||
(modelClassOrTableName: string | AnyModelConstructor, alias: string): QB; | ||
} | ||
interface ModelClassMethod { | ||
(): typeof Model; | ||
interface ModelClassMethod<M extends Model> { | ||
(): ModelClass<M>; | ||
} | ||
@@ -966,3 +962,3 @@ | ||
execute(): Promise<R>; | ||
castTo<MC extends Model>(modelClass: ModelClass<MC>): QueryBuilderType<MC>; | ||
castTo<MC extends Model>(modelClass: ModelConstructor<MC>): QueryBuilderType<MC>; | ||
@@ -1044,3 +1040,3 @@ update(update: PartialModelObject<M>): NumberQueryBuilder<this>; | ||
withSchema: OneArgMethod<string, this>; | ||
modelClass: ModelClassMethod; | ||
modelClass: ModelClassMethod<M>; | ||
tableNameFor: TableRefForMethod; | ||
@@ -1180,4 +1176,4 @@ tableRefFor: TableRefForMethod; | ||
type ModelClassFactory = () => AnyModelClass; | ||
type ModelClassSpecifier = ModelClassFactory | AnyModelClass | string; | ||
type ModelClassFactory = () => AnyModelConstructor; | ||
type ModelClassSpecifier = ModelClassFactory | AnyModelConstructor | string; | ||
type RelationMappingHook<M extends Model> = ( | ||
@@ -1366,4 +1362,130 @@ model: M, | ||
export interface ModelClass<M> extends Constructor<M> {} | ||
export interface ModelConstructor<M extends Model> extends Constructor<M> {} | ||
export interface ModelClass<M extends Model> extends ModelConstructor<M> { | ||
QueryBuilder: typeof QueryBuilder; | ||
tableName: string; | ||
idColumn: string | string[]; | ||
jsonSchema: JSONSchema; | ||
relationMappings: RelationMappings | RelationMappingsThunk; | ||
modelPaths: string[]; | ||
jsonAttributes: string[]; | ||
virtualAttributes: string[]; | ||
uidProp: string; | ||
uidRefProp: string; | ||
dbRefProp: string; | ||
propRefRegex: RegExp; | ||
pickJsonSchemaProperties: boolean; | ||
relatedFindQueryMutates: boolean; | ||
relatedInsertQueryMutates: boolean; | ||
modifiers: Modifiers; | ||
columnNameMappers: ColumnNameMappers; | ||
raw: RawFunction; | ||
ref: ReferenceFunction; | ||
fn: FunctionFunction; | ||
BelongsToOneRelation: RelationType; | ||
HasOneRelation: RelationType; | ||
HasManyRelation: RelationType; | ||
ManyToManyRelation: RelationType; | ||
HasOneThroughRelation: RelationType; | ||
defaultGraphOptions?: GraphOptions; | ||
// Deprecated | ||
defaultEagerAlgorithm?: EagerAlgorithm; | ||
// Deprecated | ||
defaultEagerOptions?: EagerOptions; | ||
// Deprecated | ||
WhereInEagerAlgorithm: EagerAlgorithm; | ||
// Deprecated | ||
NaiveEagerAlgorithm: EagerAlgorithm; | ||
// Deprecated | ||
JoinEagerAlgorithm: EagerAlgorithm; | ||
query(this: Constructor<M>, trxOrKnex?: TransactionOrKnex): QueryBuilderType<M>; | ||
relatedQuery<K extends keyof M>( | ||
relationName: K, | ||
trxOrKnex?: TransactionOrKnex | ||
): ArrayRelatedQueryBuilder<M[K]>; | ||
relatedQuery<RM extends Model>( | ||
relationName: string, | ||
trxOrKnex?: TransactionOrKnex | ||
): QueryBuilderType<RM>; | ||
fromJson(json: object, opt?: ModelOptions): M; | ||
fromDatabaseJson(json: object): M; | ||
createValidator(): Validator; | ||
createValidationError(args: CreateValidationErrorArgs): Error; | ||
createNotFoundError(): Error; | ||
tableMetadata(opt?: TableMetadataOptions): TableMetadata; | ||
fetchTableMetadata(opt?: FetchTableMetadataOptions): Promise<TableMetadata>; | ||
knex(knex?: knex): knex; | ||
knexQuery(): knex.QueryBuilder; | ||
startTransaction(knexOrTransaction?: TransactionOrKnex): Transaction; | ||
transaction<T>(callback: (trx: Transaction) => Promise<T>): Promise<T>; | ||
transaction<T>( | ||
trxOrKnex: TransactionOrKnex, | ||
callback: (trx: Transaction) => Promise<T> | ||
): Promise<T>; | ||
bindKnex(trxOrKnex: TransactionOrKnex): this; | ||
bindTransaction(trxOrKnex: TransactionOrKnex): this; | ||
// Deprecated | ||
loadRelated( | ||
modelOrObject: PartialModelObject<M>, | ||
expression: RelationExpression<M>, | ||
modifiers?: Modifiers<QueryBuilderType<M>>, | ||
trxOrKnex?: TransactionOrKnex | ||
): SingleQueryBuilder<QueryBuilderType<M>>; | ||
// Deprecated | ||
loadRelated( | ||
modelOrObject: PartialModelObject<M>[], | ||
expression: RelationExpression<M>, | ||
modifiers?: Modifiers<QueryBuilderType<M>>, | ||
trxOrKnex?: TransactionOrKnex | ||
): QueryBuilderType<M>; | ||
fetchGraph( | ||
modelOrObject: PartialModelObject<M>, | ||
expression: RelationExpression<M>, | ||
options?: FetchGraphOptions | ||
): SingleQueryBuilder<QueryBuilderType<M>>; | ||
fetchGraph( | ||
modelOrObject: PartialModelObject<M>[], | ||
expression: RelationExpression<M>, | ||
options?: FetchGraphOptions | ||
): QueryBuilderType<M>; | ||
getRelations(): Relations; | ||
getRelation(name: string): Relation; | ||
traverse(models: Model | Model[], traverser: TraverserFunction): void; | ||
traverse( | ||
filterConstructor: ModelConstructor<Model>, | ||
models: Model | Model[], | ||
traverser: TraverserFunction | ||
): void; | ||
beforeFind(args: StaticHookArguments<any>): any; | ||
afterFind(args: StaticHookArguments<any>): any; | ||
beforeInsert(args: StaticHookArguments<any>): any; | ||
afterInsert(args: StaticHookArguments<any>): any; | ||
beforeUpdate(args: StaticHookArguments<any>): any; | ||
afterUpdate(args: StaticHookArguments<any>): any; | ||
beforeDelete(args: StaticHookArguments<any>): any; | ||
afterDelete(args: StaticHookArguments<any>): any; | ||
} | ||
export class Model { | ||
@@ -1413,3 +1535,3 @@ static QueryBuilder: typeof QueryBuilder; | ||
static query<M extends Model>( | ||
this: ModelClass<M>, | ||
this: Constructor<M>, | ||
trxOrKnex?: TransactionOrKnex | ||
@@ -1419,3 +1541,3 @@ ): QueryBuilderType<M>; | ||
static relatedQuery<M extends Model, K extends keyof M>( | ||
this: ModelClass<M>, | ||
this: Constructor<M>, | ||
relationName: K, | ||
@@ -1430,4 +1552,4 @@ trxOrKnex?: TransactionOrKnex | ||
static fromJson<M extends Model>(this: ModelClass<M>, json: object, opt?: ModelOptions): M; | ||
static fromDatabaseJson<M extends Model>(this: ModelClass<M>, json: object): M; | ||
static fromJson<M extends Model>(this: Constructor<M>, json: object, opt?: ModelOptions): M; | ||
static fromDatabaseJson<M extends Model>(this: Constructor<M>, json: object): M; | ||
@@ -1456,3 +1578,3 @@ static createValidator(): Validator; | ||
static loadRelated<M extends Model>( | ||
this: ModelClass<M>, | ||
this: Constructor<M>, | ||
modelOrObject: PartialModelObject<M>, | ||
@@ -1466,3 +1588,3 @@ expression: RelationExpression<M>, | ||
static loadRelated<M extends Model>( | ||
this: ModelClass<M>, | ||
this: Constructor<M>, | ||
modelOrObject: PartialModelObject<M>[], | ||
@@ -1475,3 +1597,3 @@ expression: RelationExpression<M>, | ||
static fetchGraph<M extends Model>( | ||
this: ModelClass<M>, | ||
this: Constructor<M>, | ||
modelOrObject: PartialModelObject<M>, | ||
@@ -1483,3 +1605,3 @@ expression: RelationExpression<M>, | ||
static fetchGraph<M extends Model>( | ||
this: ModelClass<M>, | ||
this: Constructor<M>, | ||
modelOrObject: PartialModelObject<M>[], | ||
@@ -1593,5 +1715,5 @@ expression: RelationExpression<M>, | ||
export interface transaction { | ||
start(knexOrModel: knex | ModelClass<any>): Promise<Transaction>; | ||
start(knexOrModel: knex | AnyModelConstructor): Promise<Transaction>; | ||
<MC1 extends ModelClass<any>, ReturnValue>( | ||
<MC1 extends AnyModelConstructor, ReturnValue>( | ||
modelClass1: MC1, | ||
@@ -1601,3 +1723,3 @@ callback: (boundModelClass: MC1, trx?: Transaction) => Promise<ReturnValue> | ||
<MC1 extends ModelClass<any>, MC2 extends ModelClass<any>, ReturnValue>( | ||
<MC1 extends AnyModelConstructor, MC2 extends AnyModelConstructor, ReturnValue>( | ||
modelClass1: MC1, | ||
@@ -1613,5 +1735,5 @@ modelClass2: MC2, | ||
< | ||
MC1 extends ModelClass<any>, | ||
MC2 extends ModelClass<any>, | ||
MC3 extends ModelClass<any>, | ||
MC1 extends AnyModelConstructor, | ||
MC2 extends AnyModelConstructor, | ||
MC3 extends AnyModelConstructor, | ||
ReturnValue | ||
@@ -1631,6 +1753,6 @@ >( | ||
< | ||
MC1 extends ModelClass<any>, | ||
MC2 extends ModelClass<any>, | ||
MC3 extends ModelClass<any>, | ||
MC4 extends ModelClass<any>, | ||
MC1 extends AnyModelConstructor, | ||
MC2 extends AnyModelConstructor, | ||
MC3 extends AnyModelConstructor, | ||
MC4 extends AnyModelConstructor, | ||
ReturnValue | ||
@@ -1652,7 +1774,7 @@ >( | ||
< | ||
MC1 extends ModelClass<any>, | ||
MC2 extends ModelClass<any>, | ||
MC3 extends ModelClass<any>, | ||
MC4 extends ModelClass<any>, | ||
MC5 extends ModelClass<any>, | ||
MC1 extends AnyModelConstructor, | ||
MC2 extends AnyModelConstructor, | ||
MC3 extends AnyModelConstructor, | ||
MC4 extends AnyModelConstructor, | ||
MC5 extends AnyModelConstructor, | ||
ReturnValue | ||
@@ -1681,4 +1803,4 @@ >( | ||
interface initialize { | ||
(knex: Knex, modelClasses: ModelClass<any>[]): Promise<void>; | ||
(modelClasses: ModelClass<any>[]): Promise<void>; | ||
(knex: Knex, modelClasses: AnyModelConstructor[]): Promise<void>; | ||
(modelClasses: AnyModelConstructor[]): Promise<void>; | ||
} | ||
@@ -1712,3 +1834,5 @@ | ||
| 'array' | ||
| 'null'; | ||
| 'null' | ||
| string; | ||
export type JSONSchemaType = JSONSchemaArray[] | boolean | number | null | object | string; | ||
@@ -1715,0 +1839,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
636679
19785