Socket
Socket
Sign inDemoInstall

cormo

Package Overview
Dependencies
22
Maintainers
10
Versions
171
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.18.2 to 0.19.0

22

lib/adapters/mysql.js

@@ -59,2 +59,4 @@ "use strict";

return 'INT(11)';
case types.BigInteger:
return 'BIGINT(20)';
case types.GeoPoint:

@@ -126,3 +128,3 @@ return 'POINT';

/** @internal */
this.key_type = types.Integer;
this.key_type = types.BigInteger;
/** @internal */

@@ -175,3 +177,3 @@ this.support_geopoint = true;

if (property.primary_key) {
column_sqls.push(`\`${property._dbname_us}\` INT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY`);
column_sqls.push(`\`${property._dbname_us}\` BIGINT NOT NULL AUTO_INCREMENT UNIQUE PRIMARY KEY`);
}

@@ -903,9 +905,11 @@ else {

? new types.Integer()
: /^point/i.test(column.Type)
? new types.GeoPoint()
: /^datetime/i.test(column.Type)
? new types.Date()
: /^text/i.test(column.Type)
? new types.Text()
: undefined;
: /^bigint/i.test(column.Type)
? new types.BigInteger()
: /^point/i.test(column.Type)
? new types.GeoPoint()
: /^datetime/i.test(column.Type)
? new types.Date()
: /^text/i.test(column.Type)
? new types.Text()
: undefined;
schema.columns[column.Field] = {

@@ -912,0 +916,0 @@ required: column.Null === 'NO',

@@ -59,2 +59,4 @@ "use strict";

return 'INTEGER';
case types.BigInteger:
return 'BIGINT';
case types.GeoPoint:

@@ -560,2 +562,5 @@ return 'GEOMETRY(POINT)';

valueToModel(value, property) {
if (property.type_class === types.BigInteger) {
return Number(value);
}
return value;

@@ -629,11 +634,13 @@ }

? new types.Integer()
: column.data_type === 'USER-DEFINED' && column.udt_schema === 'public' && column.udt_name === 'geometry'
? new types.GeoPoint()
: column.data_type === 'timestamp without time zone'
? new types.Date()
: column.data_type === 'json'
? new types.Object()
: column.data_type === 'text'
? new types.Text()
: undefined;
: column.data_type === 'bigint'
? new types.BigInteger()
: column.data_type === 'USER-DEFINED' && column.udt_schema === 'public' && column.udt_name === 'geometry'
? new types.GeoPoint()
: column.data_type === 'timestamp without time zone'
? new types.Date()
: column.data_type === 'json'
? new types.Object()
: column.data_type === 'text'
? new types.Text()
: undefined;
let adapter_type_string = column.data_type.toUpperCase();

@@ -640,0 +647,0 @@ if (column.data_type === 'character varying') {

@@ -116,2 +116,8 @@ "use strict";

}
else if (property_type_class === types.BigInteger) {
value = Number(value);
if (isNaN(value) || !Number.isSafeInteger(value)) {
value = -9007199254740991;
}
}
return value;

@@ -118,0 +124,0 @@ }

@@ -53,2 +53,4 @@ "use strict";

return 'INTEGER';
case types.BigInteger:
return 'BIGINT';
case types.Date:

@@ -595,7 +597,9 @@ return 'REAL';

? new types.Integer()
: /^real/i.test(column.type)
? new types.Date()
: /^text/i.test(column.type)
? new types.Text()
: undefined;
: /^bigint/i.test(column.type)
? new types.BigInteger()
: /^real/i.test(column.type)
? new types.Date()
: /^text/i.test(column.type)
? new types.Text()
: undefined;
schema.columns[column.name] = {

@@ -602,0 +606,0 @@ required: column.notnull === 1,

@@ -628,3 +628,5 @@ "use strict";

if (for_update) {
if (property.type_class === types.Number || property.type_class === types.Integer) {
if (property.type_class === types.Number ||
property.type_class === types.Integer ||
property.type_class === types.BigInteger) {
obj[last] = { $inc: this._validateType(column, property.type_class, value.$inc) };

@@ -719,2 +721,8 @@ }

break;
case types.BigInteger:
value = Number(value);
if (isNaN(value) || !Number.isSafeInteger(value)) {
throw new Error(`'${column}' is not a big integer`);
}
break;
case types.GeoPoint:

@@ -721,0 +729,0 @@ if (!(Array.isArray(value) && value.length === 2)) {

@@ -60,2 +60,15 @@ /**

/**
* Represents a 54bit(JS limit) integer, used in model schemas.
* @namespace types
* @class BigInteger
*/
export interface CormoTypesBigInteger {
_type: 'biginteger';
}
interface CormoTypesBigIntegerConstructor {
new (): CormoTypesBigInteger;
(): CormoTypesBigInteger;
}
declare const CormoTypesBigInteger: CormoTypesBigIntegerConstructor;
/**
* Represents a two-dimensional point, used in model schemas.

@@ -130,6 +143,6 @@ *

declare const CormoTypesText: CormoTypesTextConstructor;
export declare type ColumnTypeInternal = CormoTypesString | CormoTypesNumber | CormoTypesBoolean | CormoTypesDate | CormoTypesObject | CormoTypesInteger | CormoTypesGeoPoint | CormoTypesRecordID | CormoTypesText;
export declare type ColumnTypeInternalConstructor = CormoTypesStringConstructor | CormoTypesNumberConstructor | CormoTypesBooleanConstructor | CormoTypesDateConstructor | CormoTypesObjectConstructor | CormoTypesIntegerConstructor | CormoTypesGeoPointConstructor | CormoTypesRecordIDConstructor | CormoTypesTextConstructor;
export declare type ColumnTypeInternal = CormoTypesString | CormoTypesNumber | CormoTypesBoolean | CormoTypesDate | CormoTypesObject | CormoTypesInteger | CormoTypesBigInteger | CormoTypesGeoPoint | CormoTypesRecordID | CormoTypesText;
export declare type ColumnTypeInternalConstructor = CormoTypesStringConstructor | CormoTypesNumberConstructor | CormoTypesBooleanConstructor | CormoTypesDateConstructor | CormoTypesObjectConstructor | CormoTypesIntegerConstructor | CormoTypesBigIntegerConstructor | CormoTypesGeoPointConstructor | CormoTypesRecordIDConstructor | CormoTypesTextConstructor;
declare type ColumnTypeNativeConstructor = StringConstructor | NumberConstructor | BooleanConstructor | DateConstructor | ObjectConstructor;
declare type ColumnTypeString = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'integer' | 'geopoint' | 'recordid' | 'text';
declare type ColumnTypeString = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'integer' | 'biginteger' | 'geopoint' | 'recordid' | 'text';
export declare type ColumnType = ColumnTypeInternal | ColumnTypeInternalConstructor | ColumnTypeNativeConstructor | ColumnTypeString;

@@ -141,3 +154,3 @@ /**

declare function _toCORMOType(type: ColumnType): ColumnTypeInternal;
export { CormoTypesString as String, CormoTypesNumber as Number, CormoTypesBoolean as Boolean, CormoTypesInteger as Integer, CormoTypesGeoPoint as GeoPoint, CormoTypesDate as Date, CormoTypesObject as Object, CormoTypesRecordID as RecordID, CormoTypesText as Text, _toCORMOType, };
export { CormoTypesString as String, CormoTypesNumber as Number, CormoTypesBoolean as Boolean, CormoTypesInteger as Integer, CormoTypesBigInteger as BigInteger, CormoTypesGeoPoint as GeoPoint, CormoTypesDate as Date, CormoTypesObject as Object, CormoTypesRecordID as RecordID, CormoTypesText as Text, _toCORMOType, };
/**

@@ -159,2 +172,7 @@ * A pseudo type represents a record's unique identifier.

/**
* A pseudo type represents an big integer
* @namespace ptypes
*/
export declare type BigInteger = number;
/**
* A pseudo type represents a two - dimensional point

@@ -161,0 +179,0 @@ * @namespace ptypes

@@ -8,3 +8,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports._toCORMOType = exports.Text = exports.RecordID = exports.Object = exports.Date = exports.GeoPoint = exports.Integer = exports.Boolean = exports.Number = exports.String = void 0;
exports._toCORMOType = exports.Text = exports.RecordID = exports.Object = exports.Date = exports.GeoPoint = exports.BigInteger = exports.Integer = exports.Boolean = exports.Number = exports.String = void 0;
const CormoTypesString = function (length) {

@@ -39,2 +39,9 @@ if (!(this instanceof CormoTypesString)) {

exports.Integer = CormoTypesInteger;
const CormoTypesBigInteger = function () {
if (!(this instanceof CormoTypesBigInteger)) {
return new CormoTypesBigInteger();
}
this.toString = () => 'biginteger';
};
exports.BigInteger = CormoTypesBigInteger;
const CormoTypesGeoPoint = function () {

@@ -94,2 +101,4 @@ if (!(this instanceof CormoTypesGeoPoint)) {

return new CormoTypesInteger();
case 'biginteger':
return new CormoTypesBigInteger();
case 'geopoint':

@@ -96,0 +105,0 @@ return new CormoTypesGeoPoint();

{
"name": "cormo",
"description": "ORM framework for Node.js",
"version": "0.18.2",
"version": "0.19.0",
"keywords": [

@@ -70,3 +70,3 @@ "orm",

},
"gitHead": "e6c76dd17a613291493cd1ce20c279afb91a44b1"
"gitHead": "28294e6f6422375ff1986f723257033ba28050bf"
}
SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc