Socket
Socket
Sign inDemoInstall

objection

Package Overview
Dependencies
Maintainers
2
Versions
201
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

objection - npm Package Compare versions

Comparing version 2.0.0-alpha.9 to 2.0.0-alpha.10

2

lib/model/modelTableMetadata.js

@@ -16,3 +16,3 @@ 'use strict';

if (parentBuilder) {
table = parentBuilder.tableNameFor(modelClass.getTableName());
table = parentBuilder.tableNameFor(modelClass);
} else {

@@ -19,0 +19,0 @@ table = modelClass.getTableName();

@@ -42,3 +42,6 @@ 'use strict';

.copyFrom(parentBuilder, GraphAction.ReturningAllSelector)
.upsertGraph(nodes.map(node => node.obj), this.graphOptions.rebasedOptions(nodes[0]))
.upsertGraph(
nodes.map(node => node.obj),
this.graphOptions.rebasedOptions(nodes[0])
)
);

@@ -45,0 +48,0 @@ });

@@ -6,3 +6,3 @@ 'use strict';

const { EagerOperation } = require('./EagerOperation');
const { isMsSql, isOracle } = require('../../../utils/knexUtils');
const { isMsSql, isOracle, isSqlite } = require('../../../utils/knexUtils');
const { asArray, flatten, chunk } = require('../../../utils/objectUtils');

@@ -32,2 +32,5 @@ const { ValidationErrorType } = require('../../../model/ValidationError');

return 1000;
} else if (isSqlite(knex)) {
// SQLITE_MAX_VARIABLE_NUMBER is 999 by default
return 999;
} else {

@@ -34,0 +37,0 @@ // I'm sure there is some kind of limit for other databases too, but let's lower

@@ -69,3 +69,3 @@ 'use strict';

if (options.alias === false) {
alias = builder.tableRefFor(relation.relatedModelClass.getTableName());
alias = builder.tableRefFor(relation.relatedModelClass);
} else if (isString(options.alias)) {

@@ -72,0 +72,0 @@ alias = options.alias;

@@ -71,6 +71,8 @@ 'use strict';

convertedJson[parsed.column] = knex.raw(
`jsonb_set(??, '${jsonRefs}', ${valuePlaceholder}, true)`,
[convertedJson[parsed.column] || parsed.column, val]
);
convertedJson[
parsed.column
] = knex.raw(`jsonb_set(??, '${jsonRefs}', ${valuePlaceholder}, true)`, [
convertedJson[parsed.column] || parsed.column,
val
]);
} else {

@@ -77,0 +79,0 @@ convertedJson[key] = val;

@@ -60,5 +60,8 @@ 'use strict';

buildCompositeSubquery(knex, knexBuilder, columns, helperColumns, subQuery) {
const wrapperQuery = knex
.from(subQuery)
.where(zipObject(helperColumns, columns.map(column => knex.raw('??', column))));
const wrapperQuery = knex.from(subQuery).where(
zipObject(
helperColumns,
columns.map(column => knex.raw('??', column))
)
);

@@ -65,0 +68,0 @@ if (this.prefix === 'not') {

@@ -99,3 +99,3 @@ 'use strict';

fullIdColumnFor(modelClass) {
const tableName = this.tableRefFor(modelClass.getTableName());
const tableName = this.tableRefFor(modelClass);
const idColumn = modelClass.getIdColumn();

@@ -511,3 +511,3 @@

const tableRef = this.tableRef();
const tableName = this.tableNameFor(this.modelClass().getTableName());
const tableName = this.tableName();

@@ -832,8 +832,11 @@ return this.everyOperation(op => {

// Turn the properties into a hash for performance.
properties = properties.reduce((obj, prop) => {
obj[prop] = true;
return obj;
}, {});
if (Array.isArray(properties)) {
// Turn the properties into a hash for performance.
properties = properties.reduce((obj, prop) => {
obj[prop] = true;
return obj;
}, {});
} else {
properties = { [properties]: true };
}
return this.traverse(modelClass, model => {

@@ -849,3 +852,3 @@ model.$omit(properties);

columnInfo({ table = null } = {}) {
table = table || this.tableNameFor(this.modelClass().getTableName());
table = table || this.tableName();

@@ -1546,3 +1549,3 @@ const knex = this.knex();

function setDefaultTable(builder, knexBuilder) {
const table = builder.tableNameFor(builder.modelClass().getTableName());
const table = builder.tableName();
const tableRef = builder.tableRef();

@@ -1549,0 +1552,0 @@

@@ -80,3 +80,3 @@ 'use strict';

: this.modelClass
? builder.tableRefFor(this.modelClass.getTableName())
? builder.tableRefFor(this.modelClass)
: null;

@@ -83,0 +83,0 @@

@@ -47,3 +47,3 @@ 'use strict';

} else {
return null;
return undefined;
}

@@ -58,3 +58,3 @@ }

} else {
return null;
return undefined;
}

@@ -61,0 +61,0 @@ }

@@ -24,3 +24,3 @@ 'use strict';

if (!builder.has(builder.constructor.SelectSelector)) {
const table = builder.tableRefFor(relatedModelClass.getTableName());
const table = builder.tableRefFor(relatedModelClass);

@@ -27,0 +27,0 @@ // If the user hasn't specified a select clause, select the related model's columns.

@@ -274,3 +274,3 @@ 'use strict';

function defaultRelatedTablealias(relation, builder) {
return builder.tableRefFor(relation.relatedModelClass.getTableName());
return builder.tableRefFor(relation.relatedModelClass);
}

@@ -283,7 +283,7 @@

function defaultRelatedTable(relation, builder) {
return builder.tableNameFor(relation.relatedModelClass.getTableName());
return builder.tableNameFor(relation.relatedModelClass);
}
function defaultOwnerTable(relation, builder) {
return builder.tableRefFor(relation.ownerModelClass.getTableName());
return builder.tableRefFor(relation.ownerModelClass);
}

@@ -290,0 +290,0 @@

@@ -12,3 +12,3 @@ 'use strict';

applyModifyFilterForRelatedTable(builder) {
const tableRef = builder.tableRefFor(this.relation.relatedModelClass.getTableName());
const tableRef = builder.tableRefFor(this.relation.relatedModelClass);
const rowIdRef = `${tableRef}.${SQLITE_BUILTIN_ROW_ID}`;

@@ -22,3 +22,3 @@ const subquery = this.modifyFilterSubquery.clone().select(rowIdRef);

const joinTableOwnerRefs = this.relation.joinTableOwnerProp.refs(builder);
const tableRef = builder.tableRefFor(this.relation.getJoinModelClass(builder).getTableName());
const tableRef = builder.tableRefFor(this.relation.getJoinModelClass(builder));
const rowIdRef = `${tableRef}.${SQLITE_BUILTIN_ROW_ID}`;

@@ -25,0 +25,0 @@

@@ -139,6 +139,6 @@ 'use strict';

joinOperation = 'join',
relatedTableAlias = builder.tableRefFor(this.relatedModelClass.getTableName()),
relatedTableAlias = builder.tableRefFor(this.relatedModelClass),
relatedJoinSelectQuery = this.relatedModelClass.query().childQueryOf(builder),
relatedTable = builder.tableNameFor(this.relatedModelClass.getTableName()),
ownerTable = builder.tableRefFor(this.ownerModelClass.getTableName())
relatedTable = builder.tableNameFor(this.relatedModelClass),
ownerTable = builder.tableRefFor(this.ownerModelClass)
} = {}

@@ -145,0 +145,0 @@ ) {

@@ -138,3 +138,3 @@ 'use strict';

ref(builder, index) {
const table = builder.tableRefFor(this.modelClass.getTableName());
const table = builder.tableRefFor(this.modelClass);

@@ -141,0 +141,0 @@ return this._refs[index].clone().table(table);

{
"name": "objection",
"version": "2.0.0-alpha.9",
"version": "2.0.0-alpha.10",
"description": "An SQL-friendly ORM for Node.js",

@@ -83,3 +83,5 @@ "main": "lib/objection.js",

"glob": "^7.1.4",
"knex": "0.19.4",
"husky": "^3.0.8",
"knex": "0.20.1",
"lint-staged": "^9.4.1",
"mocha": "^6.2.0",

@@ -89,6 +91,6 @@ "mysql": "^2.17.1",

"pg": "^7.12.1",
"prettier": "1.18.2",
"prettier": "1.19.1",
"sqlite3": "^4.1.0",
"typescript": "^3.6.3",
"vuepress": "1.0.4"
"vuepress": "1.2.0"
},

@@ -108,3 +110,19 @@ "nyc": {

"report-dir": "./testCoverage"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.{js}": [
"prettier --write",
"eslint --fix",
"git add"
],
"*.{md,yml}": [
"prettier --write",
"git add"
]
}
}

@@ -19,2 +19,3 @@ /// <reference types="node" />

// Export the entire Objection namespace.
export = Objection;

@@ -160,4 +161,5 @@

type AnyModelClass = ModelClass<any>;
type ModifierFunction<QB extends AnyQueryBuilder> = (qb: QB, ...args: any[]) => void;
type Modifier<QB extends AnyQueryBuilder = AnyQueryBuilder> =
| ((qb: QB, ...args: any[]) => void)
| ModifierFunction<QB>
| string

@@ -196,3 +198,5 @@ | string[]

: Defined<T[K]> extends Array<infer I>
? (I extends Model ? I[] : Expression<T[K]>)
? I extends Model
? I[]
: Expression<T[K]>
: Expression<T[K]>;

@@ -217,3 +221,5 @@ };

: Defined<T[K]> extends Array<infer I>
? (I extends Model ? PartialModelGraph<I>[] : Expression<T[K]>)
? I extends Model
? PartialModelGraph<I>[]
: Expression<T[K]>
: Expression<T[K]>;

@@ -240,3 +246,5 @@ };

: Defined<T[K]> extends Array<infer I>
? (I extends Model ? never : K)
? I extends Model
? never
: K
: T[K] extends Function

@@ -257,3 +265,5 @@ ? never

: Defined<T[K]> extends Array<infer I>
? (I extends Model ? K : never)
? I extends Model
? K
: never
: never;

@@ -520,5 +530,12 @@ }[keyof T]

interface OrderByDescriptor {
column: ColumnRef;
order?: OrderByDirection;
}
type ColumnRefOrOrderByDescriptor = ColumnRef | OrderByDescriptor;
interface OrderByMethod<QB extends AnyQueryBuilder> {
(column: ColumnRef, order?: OrderByDirection): QB;
(columns: ({ column: ColumnRef; order?: OrderByDirection } | ColumnRef)[]): QB;
(columns: ColumnRefOrOrderByDescriptor[]): QB;
}

@@ -784,2 +801,6 @@

interface GraphExpressionObjectMethod<QB extends AnyQueryBuilder> {
(): any;
}
// Deprecated

@@ -830,2 +851,6 @@ export interface EagerAlgorithm {}

interface ModifiersMethod<QB extends AnyQueryBuilder> {
(modifiers: Modifiers): QB;
}
// Deprecated

@@ -1062,4 +1087,4 @@ interface ApplyFilterMethod<QB extends AnyQueryBuilder> {

resolve: OneArgMethod<any, this>;
transacting: OneArgMethod<knex | Transaction, this>;
connection: OneArgMethod<knex | Transaction, this>;
transacting: OneArgMethod<TransactionOrKnex, this>;
connection: OneArgMethod<TransactionOrKnex, this>;
timeout: TimeoutMethod<this>;

@@ -1099,2 +1124,4 @@ clone: IdentityMethod<this>;

graphExpressionObject: GraphExpressionObjectMethod<this>;
// Deprecated

@@ -1114,2 +1141,3 @@ eagerAlgorithm: EagerAlgorithmMethod<this>;

modify: ModifyMethod<this>;
modifiers: ModifiersMethod<this>;
// Deprecated

@@ -1149,7 +1177,7 @@ applyFilter: ApplyFilterMethod<this>;

interface StaticQueryMethod {
<M extends Model>(this: ModelClass<M>, trxOrKnex?: Transaction | knex): M['QueryBuilderType'];
<M extends Model>(this: ModelClass<M>, trxOrKnex?: TransactionOrKnex): M['QueryBuilderType'];
}
interface QueryMethod {
<M extends Model>(this: M, trxOrKnex?: Transaction | knex): SingleQueryBuilder<
<M extends Model>(this: M, trxOrKnex?: TransactionOrKnex): SingleQueryBuilder<
M['QueryBuilderType']

@@ -1162,3 +1190,5 @@ >;

: T extends Array<infer I>
? (I extends Model ? I['QueryBuilderType'] : never)
? I extends Model
? I['QueryBuilderType']
: never
: never;

@@ -1169,12 +1199,11 @@

: T extends Array<infer I>
? (I extends Model ? I['QueryBuilderType'] : never)
? I extends Model
? I['QueryBuilderType']
: never
: never;
interface RelatedQueryMethod<M extends Model> {
<K extends keyof M>(relationName: K, trxOrKnex?: Transaction | knex): RelatedQueryBuilder<M[K]>;
<K extends keyof M>(relationName: K, trxOrKnex?: TransactionOrKnex): RelatedQueryBuilder<M[K]>;
<RM extends Model>(
relationName: string,
trxOrKnex?: Transaction | knex
): RM['QueryBuilderType'];
<RM extends Model>(relationName: string, trxOrKnex?: TransactionOrKnex): RM['QueryBuilderType'];
}

@@ -1186,9 +1215,6 @@

relationName: K,
trxOrKnex?: Transaction | knex
trxOrKnex?: TransactionOrKnex
): ArrayRelatedQueryBuilder<M[K]>;
<RM extends Model>(
relationName: string,
trxOrKnex?: Transaction | knex
): RM['QueryBuilderType'];
<RM extends Model>(relationName: string, trxOrKnex?: TransactionOrKnex): RM['QueryBuilderType'];
}

@@ -1201,3 +1227,3 @@

modifiers?: Modifiers<M['QueryBuilderType']>,
trxOrKnex?: Transaction | knex
trxOrKnex?: TransactionOrKnex
): SingleQueryBuilder<M['QueryBuilderType']>;

@@ -1213,3 +1239,3 @@ }

interface FetchGraphOptions {
transaction?: Transaction | knex;
transaction?: TransactionOrKnex;
}

@@ -1224,3 +1250,3 @@

modifiers?: Modifiers<M['QueryBuilderType']>,
trxOrKnex?: Transaction | knex
trxOrKnex?: TransactionOrKnex
): SingleQueryBuilder<M['QueryBuilderType']>;

@@ -1233,3 +1259,3 @@

modifiers?: Modifiers<M['QueryBuilderType']>,
trxOrKnex?: Transaction | knex
trxOrKnex?: TransactionOrKnex
): M['QueryBuilderType'];

@@ -1273,3 +1299,23 @@ }

type ArrayQueryBuilderThunk<M extends Model> = () => ArrayQueryBuilder<M['QueryBuilderType']>;
type CancelQueryThunk = (result: any) => void;
export interface StaticHookArguments<M extends Model, R = any> {
asFindQuery: ArrayQueryBuilderThunk<M>;
cancelQuery: CancelQueryThunk;
context: QueryContext;
transaction: TransactionOrKnex;
relation?: Relation;
modelOptions?: ModelOptions;
items: Model[];
inputItems: M[];
result?: R;
}
export interface StaticModelHook {
(args: StaticHookArguments<any>): any;
}
export type Transaction = knex.Transaction;
export type TransactionOrKnex = Transaction | knex;

@@ -1280,2 +1326,4 @@ export interface RelationMappings {

export type RelationMappingsThunk = () => RelationMappings;
type ModelClassFactory = () => AnyModelClass;

@@ -1287,3 +1335,4 @@ type ModelClassSpecifier = ModelClassFactory | AnyModelClass | string;

) => Promise<void> | void;
type RelationMappingColumnRef = string | ReferenceBuilder | (string | ReferenceBuilder)[];
type StringOrReferenceBuilder = string | ReferenceBuilder;
type RelationMappingColumnRef = StringOrReferenceBuilder | StringOrReferenceBuilder[];

@@ -1455,7 +1504,7 @@ export interface RelationMapping<M extends Model> {

<T>(callback: (trx: Transaction) => Promise<T>): Promise<T>;
<T>(trxOrKnex: Transaction | knex, callback: (trx: Transaction) => Promise<T>): Promise<T>;
<T>(trxOrKnex: TransactionOrKnex, callback: (trx: Transaction) => Promise<T>): Promise<T>;
}
interface BindKnexMethod {
<M>(this: M, trxOrKnex: Transaction | knex): M;
<M>(this: M, trxOrKnex: TransactionOrKnex): M;
}

@@ -1517,3 +1566,3 @@

static columnNameMappers: ColumnNameMappers;
static relationMappings: RelationMappings | (() => RelationMappings);
static relationMappings: RelationMappings | RelationMappingsThunk;

@@ -1532,3 +1581,3 @@ static fromJson: FromJsonMethod;

static knexQuery(): knex.QueryBuilder;
static startTransaction(knexOrTransaction?: Transaction | knex): Transaction;
static startTransaction(knexOrTransaction?: TransactionOrKnex): Transaction;
static transaction: TransactionMethod;

@@ -1548,2 +1597,11 @@

static beforeFind: StaticModelHook;
static afterFind: StaticModelHook;
static beforeInsert: StaticModelHook;
static afterInsert: StaticModelHook;
static beforeUpdate: StaticModelHook;
static afterUpdate: StaticModelHook;
static beforeDelete: StaticModelHook;
static afterDelete: StaticModelHook;
$query: QueryMethod;

@@ -1563,3 +1621,3 @@ $relatedQuery: RelatedQueryMethod<this>;

$beforeValidate(jsonSchema: JSONSchema, json: Pojo, opt: ModelOptions): JSONSchema;
$validate(json: Pojo, opt: ModelOptions): Pojo; // may throw ValidationError if validation fails
$validate(json?: Pojo, opt?: ModelOptions): Pojo; // may throw ValidationError if validation fails
$afterValidate(json: Pojo, opt: ModelOptions): void; // may throw ValidationError if validation fails

@@ -1566,0 +1624,0 @@

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc