UNPKG

sequelize

Version:

Multi dialect ORM for Node.JS/io.js

1,728 lines (1,727 loc) 4.18 MB
{ "type": "File", "start": 0, "end": 26436, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 939, "column": 0 } }, "program": { "type": "Program", "start": 0, "end": 26436, "loc": { "start": { "line": 1, "column": 0 }, "end": { "line": 939, "column": 0 } }, "sourceType": "module", "body": [ { "type": "VariableDeclaration", "start": 33, "end": 62, "loc": { "start": { "line": 4, "column": 0 }, "end": { "line": 4, "column": 29 } }, "declarations": [ { "type": "VariableDeclarator", "start": 39, "end": 61, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 28 } }, "id": { "type": "Identifier", "start": 39, "end": 43, "loc": { "start": { "line": 4, "column": 6 }, "end": { "line": 4, "column": 10 }, "identifierName": "util" }, "name": "util", "leadingComments": null }, "init": { "type": "CallExpression", "start": 46, "end": 61, "loc": { "start": { "line": 4, "column": 13 }, "end": { "line": 4, "column": 28 } }, "callee": { "type": "Identifier", "start": 46, "end": 53, "loc": { "start": { "line": 4, "column": 13 }, "end": { "line": 4, "column": 20 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 54, "end": 60, "loc": { "start": { "line": 4, "column": 21 }, "end": { "line": 4, "column": 27 } }, "extra": { "rawValue": "util", "raw": "'util'" }, "value": "util" } ] }, "leadingComments": null } ], "kind": "const", "leadingComments": [ { "type": "CommentBlock", "value": "jshint -W110 ", "start": 14, "end": 31, "loc": { "start": { "line": 2, "column": 0 }, "end": { "line": 2, "column": 17 } } } ] }, { "type": "VariableDeclaration", "start": 63, "end": 109, "loc": { "start": { "line": 5, "column": 0 }, "end": { "line": 5, "column": 46 } }, "declarations": [ { "type": "VariableDeclarator", "start": 69, "end": 108, "loc": { "start": { "line": 5, "column": 6 }, "end": { "line": 5, "column": 45 } }, "id": { "type": "Identifier", "start": 69, "end": 77, "loc": { "start": { "line": 5, "column": 6 }, "end": { "line": 5, "column": 14 }, "identifierName": "inherits" }, "name": "inherits" }, "init": { "type": "CallExpression", "start": 80, "end": 108, "loc": { "start": { "line": 5, "column": 17 }, "end": { "line": 5, "column": 45 } }, "callee": { "type": "Identifier", "start": 80, "end": 87, "loc": { "start": { "line": 5, "column": 17 }, "end": { "line": 5, "column": 24 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 88, "end": 107, "loc": { "start": { "line": 5, "column": 25 }, "end": { "line": 5, "column": 44 } }, "extra": { "rawValue": "../utils/inherits", "raw": "'../utils/inherits'" }, "value": "../utils/inherits" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 110, "end": 138, "loc": { "start": { "line": 6, "column": 0 }, "end": { "line": 6, "column": 28 } }, "declarations": [ { "type": "VariableDeclarator", "start": 116, "end": 137, "loc": { "start": { "line": 6, "column": 6 }, "end": { "line": 6, "column": 27 } }, "id": { "type": "Identifier", "start": 116, "end": 117, "loc": { "start": { "line": 6, "column": 6 }, "end": { "line": 6, "column": 7 }, "identifierName": "_" }, "name": "_" }, "init": { "type": "CallExpression", "start": 120, "end": 137, "loc": { "start": { "line": 6, "column": 10 }, "end": { "line": 6, "column": 27 } }, "callee": { "type": "Identifier", "start": 120, "end": 127, "loc": { "start": { "line": 6, "column": 10 }, "end": { "line": 6, "column": 17 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 128, "end": 136, "loc": { "start": { "line": 6, "column": 18 }, "end": { "line": 6, "column": 26 } }, "extra": { "rawValue": "lodash", "raw": "'lodash'" }, "value": "lodash" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 139, "end": 185, "loc": { "start": { "line": 7, "column": 0 }, "end": { "line": 7, "column": 46 } }, "declarations": [ { "type": "VariableDeclarator", "start": 145, "end": 184, "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 45 } }, "id": { "type": "Identifier", "start": 145, "end": 148, "loc": { "start": { "line": 7, "column": 6 }, "end": { "line": 7, "column": 9 }, "identifierName": "Wkt" }, "name": "Wkt" }, "init": { "type": "CallExpression", "start": 151, "end": 184, "loc": { "start": { "line": 7, "column": 12 }, "end": { "line": 7, "column": 45 } }, "callee": { "type": "Identifier", "start": 151, "end": 158, "loc": { "start": { "line": 7, "column": 12 }, "end": { "line": 7, "column": 19 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 159, "end": 183, "loc": { "start": { "line": 7, "column": 20 }, "end": { "line": 7, "column": 44 } }, "extra": { "rawValue": "terraformer-wkt-parser", "raw": "'terraformer-wkt-parser'" }, "value": "terraformer-wkt-parser" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 186, "end": 231, "loc": { "start": { "line": 8, "column": 0 }, "end": { "line": 8, "column": 45 } }, "declarations": [ { "type": "VariableDeclarator", "start": 192, "end": 230, "loc": { "start": { "line": 8, "column": 6 }, "end": { "line": 8, "column": 44 } }, "id": { "type": "Identifier", "start": 192, "end": 207, "loc": { "start": { "line": 8, "column": 6 }, "end": { "line": 8, "column": 21 }, "identifierName": "sequelizeErrors" }, "name": "sequelizeErrors" }, "init": { "type": "CallExpression", "start": 210, "end": 230, "loc": { "start": { "line": 8, "column": 24 }, "end": { "line": 8, "column": 44 } }, "callee": { "type": "Identifier", "start": 210, "end": 217, "loc": { "start": { "line": 8, "column": 24 }, "end": { "line": 8, "column": 31 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 218, "end": 229, "loc": { "start": { "line": 8, "column": 32 }, "end": { "line": 8, "column": 43 } }, "extra": { "rawValue": "../errors", "raw": "'../errors'" }, "value": "../errors" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 232, "end": 252, "loc": { "start": { "line": 9, "column": 0 }, "end": { "line": 9, "column": 20 } }, "declarations": [ { "type": "VariableDeclarator", "start": 238, "end": 251, "loc": { "start": { "line": 9, "column": 6 }, "end": { "line": 9, "column": 19 } }, "id": { "type": "Identifier", "start": 238, "end": 246, "loc": { "start": { "line": 9, "column": 6 }, "end": { "line": 9, "column": 14 }, "identifierName": "warnings" }, "name": "warnings" }, "init": { "type": "ObjectExpression", "start": 249, "end": 251, "loc": { "start": { "line": 9, "column": 17 }, "end": { "line": 9, "column": 19 } }, "properties": [] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 253, "end": 318, "loc": { "start": { "line": 10, "column": 0 }, "end": { "line": 10, "column": 65 } }, "declarations": [ { "type": "VariableDeclarator", "start": 259, "end": 317, "loc": { "start": { "line": 10, "column": 6 }, "end": { "line": 10, "column": 64 } }, "id": { "type": "Identifier", "start": 259, "end": 268, "loc": { "start": { "line": 10, "column": 6 }, "end": { "line": 10, "column": 15 }, "identifierName": "Validator" }, "name": "Validator" }, "init": { "type": "MemberExpression", "start": 271, "end": 317, "loc": { "start": { "line": 10, "column": 18 }, "end": { "line": 10, "column": 64 } }, "object": { "type": "CallExpression", "start": 271, "end": 307, "loc": { "start": { "line": 10, "column": 18 }, "end": { "line": 10, "column": 54 } }, "callee": { "type": "Identifier", "start": 271, "end": 278, "loc": { "start": { "line": 10, "column": 18 }, "end": { "line": 10, "column": 25 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 279, "end": 306, "loc": { "start": { "line": 10, "column": 26 }, "end": { "line": 10, "column": 53 } }, "extra": { "rawValue": "../utils/validator-extras", "raw": "'../utils/validator-extras'" }, "value": "../utils/validator-extras" } ] }, "property": { "type": "Identifier", "start": 308, "end": 317, "loc": { "start": { "line": 10, "column": 55 }, "end": { "line": 10, "column": 64 }, "identifierName": "validator" }, "name": "validator" }, "computed": false } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 319, "end": 363, "loc": { "start": { "line": 11, "column": 0 }, "end": { "line": 11, "column": 44 } }, "declarations": [ { "type": "VariableDeclarator", "start": 325, "end": 362, "loc": { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": 43 } }, "id": { "type": "Identifier", "start": 325, "end": 333, "loc": { "start": { "line": 11, "column": 6 }, "end": { "line": 11, "column": 14 }, "identifierName": "momentTz" }, "name": "momentTz" }, "init": { "type": "CallExpression", "start": 336, "end": 362, "loc": { "start": { "line": 11, "column": 17 }, "end": { "line": 11, "column": 43 } }, "callee": { "type": "Identifier", "start": 336, "end": 343, "loc": { "start": { "line": 11, "column": 17 }, "end": { "line": 11, "column": 24 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 344, "end": 361, "loc": { "start": { "line": 11, "column": 25 }, "end": { "line": 11, "column": 42 } }, "extra": { "rawValue": "moment-timezone", "raw": "'moment-timezone'" }, "value": "moment-timezone" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 364, "end": 397, "loc": { "start": { "line": 12, "column": 0 }, "end": { "line": 12, "column": 33 } }, "declarations": [ { "type": "VariableDeclarator", "start": 370, "end": 396, "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 32 } }, "id": { "type": "Identifier", "start": 370, "end": 376, "loc": { "start": { "line": 12, "column": 6 }, "end": { "line": 12, "column": 12 }, "identifierName": "moment" }, "name": "moment" }, "init": { "type": "CallExpression", "start": 379, "end": 396, "loc": { "start": { "line": 12, "column": 15 }, "end": { "line": 12, "column": 32 } }, "callee": { "type": "Identifier", "start": 379, "end": 386, "loc": { "start": { "line": 12, "column": 15 }, "end": { "line": 12, "column": 22 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 387, "end": 395, "loc": { "start": { "line": 12, "column": 23 }, "end": { "line": 12, "column": 31 } }, "extra": { "rawValue": "moment", "raw": "'moment'" }, "value": "moment" } ] } } ], "kind": "const" }, { "type": "VariableDeclaration", "start": 398, "end": 432, "loc": { "start": { "line": 13, "column": 0 }, "end": { "line": 13, "column": 34 } }, "declarations": [ { "type": "VariableDeclarator", "start": 404, "end": 431, "loc": { "start": { "line": 13, "column": 6 }, "end": { "line": 13, "column": 33 } }, "id": { "type": "Identifier", "start": 404, "end": 409, "loc": { "start": { "line": 13, "column": 6 }, "end": { "line": 13, "column": 11 }, "identifierName": "Utils" }, "name": "Utils" }, "init": { "type": "CallExpression", "start": 412, "end": 431, "loc": { "start": { "line": 13, "column": 14 }, "end": { "line": 13, "column": 33 } }, "callee": { "type": "Identifier", "start": 412, "end": 419, "loc": { "start": { "line": 13, "column": 14 }, "end": { "line": 13, "column": 21 }, "identifierName": "require" }, "name": "require" }, "arguments": [ { "type": "StringLiteral", "start": 420, "end": 430, "loc": { "start": { "line": 13, "column": 22 }, "end": { "line": 13, "column": 32 } }, "extra": { "rawValue": "../utils", "raw": "'../utils'" }, "value": "../utils" } ] } } ], "kind": "const", "trailingComments": [ { "type": "CommentBlock", "value": "*\n * A convenience class holding commonly used data types. The datatypes are used when defining a new model using `Sequelize.define`, like this:\n * ```js\n * sequelize.define('model', {\n * column: DataTypes.INTEGER\n * })\n * ```\n * When defining a model you can just as easily pass a string as type, but often using the types defined here is beneficial. For example, using `DataTypes.BLOB`, mean\n * that that column will be returned as an instance of `Buffer` when being fetched by sequelize.\n *\n * Some data types have special properties that can be accessed in order to change the data type.\n * For example, to get an unsigned integer with zerofill you can do `DataTypes.INTEGER.UNSIGNED.ZEROFILL`.\n * The order you access the properties in do not matter, so `DataTypes.INTEGER.ZEROFILL.UNSIGNED` is fine as well. The available properties are listed under each data type.\n *\n * To provide a length for the data type, you can invoke it like a function: `INTEGER(2)`\n *\n * Three of the values provided here (`NOW`, `UUIDV1` and `UUIDV4`) are special default values, that should not be used to define types. Instead they are used as shorthands for\n * defining default values. For example, to get a uuid field with a default value generated following v1 of the UUID standard:\n * ```js\n * sequelize.define('model', {\n * uuid: {\n * type: DataTypes.UUID,\n * defaultValue: DataTypes.UUIDV1,\n * primaryKey: true\n * }\n * })\n * ```\n * There may be times when you want to generate your own UUID conforming to some other algorithm. This is accomplised\n * using the defaultValue property as well, but instead of specifying one of the supplied UUID types, you return a value\n * from a function.\n * ```js\n * sequelize.define('model', {\n * uuid: {\n * type: DataTypes.UUID,\n * defaultValue: function() {\n * return generateMyId()\n * },\n * primaryKey: true\n * }\n * })\n * ```\n *\n * @property {function(length=255: integer)} STRING A variable length string\n * @property {function(length=255: integer)} CHAR A fixed length string.\n * @property {function([length]: string)} TEXT An unlimited length text column (length can be one of `tiny`, `medium`, or `long`)\n * @property {function(length=255: integer)} INTEGER A 32 bit integer.\n * @property {function(length: integer)} BIGINT A 64 bit integer. Note: an attribute defined as `BIGINT` will be treated like a `string` due this [feature from node-postgres](https://github.com/brianc/node-postgres/pull/353) to prevent precision loss. To have this attribute as a `number`, this is a possible [workaround](https://github.com/sequelize/sequelize/issues/2383#issuecomment-58006083).\n * @property {function(length: integer, decimals: integer)} FLOAT Floating point number (4-byte precision). Accepts one or two arguments for precision\n ", "start": 434, "end": 3240, "loc": { "start": { "line": 15, "column": 0 }, "end": { "line": 63, "column": 3 } } } ] }, { "type": "VariableDeclaration", "start": 3241, "end": 3262, "loc": { "start": { "line": 64, "column": 0 }, "end": { "line": 64, "column": 21 } }, "declarations": [ { "type": "VariableDeclarator", "start": 3247, "end": 3261, "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": 20 } }, "id": { "type": "Identifier", "start": 3247, "end": 3256, "loc": { "start": { "line": 64, "column": 6 }, "end": { "line": 64, "column": 15 }, "identifierName": "DataTypes" }, "name": "DataTypes", "leadingComments": null }, "init": { "type": "ObjectExpression", "start": 3259, "end": 3261, "loc": { "start": { "line": 64, "column": 18 }, "end": { "line": 64, "column": 20 } }, "properties": [] }, "leadingComments": null } ], "kind": "const", "leadingComments": [ { "type": "CommentBlock", "value": "*\n * A convenience class holding commonly used data types. The datatypes are used when defining a new model using `Sequelize.define`, like this:\n * ```js\n * sequelize.define('model', {\n * column: DataTypes.INTEGER\n * })\n * ```\n * When defining a model you can just as easily pass a string as type, but often using the types defined here is beneficial. For example, using `DataTypes.BLOB`, mean\n * that that column will be returned as an instance of `Buffer` when being fetched by sequelize.\n *\n * Some data types have special properties that can be accessed in order to change the data type.\n * For example, to get an unsigned integer with zerofill you can do `DataTypes.INTEGER.UNSIGNED.ZEROFILL`.\n * The order you access the properties in do not matter, so `DataTypes.INTEGER.ZEROFILL.UNSIGNED` is fine as well. The available properties are listed under each data type.\n *\n * To provide a length for the data type, you can invoke it like a function: `INTEGER(2)`\n *\n * Three of the values provided here (`NOW`, `UUIDV1` and `UUIDV4`) are special default values, that should not be used to define types. Instead they are used as shorthands for\n * defining default values. For example, to get a uuid field with a default value generated following v1 of the UUID standard:\n * ```js\n * sequelize.define('model', {\n * uuid: {\n * type: DataTypes.UUID,\n * defaultValue: DataTypes.UUIDV1,\n * primaryKey: true\n * }\n * })\n * ```\n * There may be times when you want to generate your own UUID conforming to some other algorithm. This is accomplised\n * using the defaultValue property as well, but instead of specifying one of the supplied UUID types, you return a value\n * from a function.\n * ```js\n * sequelize.define('model', {\n * uuid: {\n * type: DataTypes.UUID,\n * defaultValue: function() {\n * return generateMyId()\n * },\n * primaryKey: true\n * }\n * })\n * ```\n *\n * @property {function(length=255: integer)} STRING A variable length string\n * @property {function(length=255: integer)} CHAR A fixed length string.\n * @property {function([length]: string)} TEXT An unlimited length text column (length can be one of `tiny`, `medium`, or `long`)\n * @property {function(length=255: integer)} INTEGER A 32 bit integer.\n * @property {function(length: integer)} BIGINT A 64 bit integer. Note: an attribute defined as `BIGINT` will be treated like a `string` due this [feature from node-postgres](https://github.com/brianc/node-postgres/pull/353) to prevent precision loss. To have this attribute as a `number`, this is a possible [workaround](https://github.com/sequelize/sequelize/issues/2383#issuecomment-58006083).\n * @property {function(length: integer, decimals: integer)} FLOAT Floating point number (4-byte precision). Accepts one or two arguments for precision\n ", "start": 434, "end": 3240, "loc": { "start": { "line": 15, "column": 0 }, "end": { "line": 63, "column": 3 } } } ] }, { "type": "FunctionDeclaration", "start": 3264, "end": 3286, "loc": { "start": { "line": 66, "column": 0 }, "end": { "line": 66, "column": 22 } }, "id": { "type": "Identifier", "start": 3273, "end": 3281, "loc": { "start": { "line": 66, "column": 9 }, "end": { "line": 66, "column": 17 }, "identifierName": "ABSTRACT" }, "name": "ABSTRACT" }, "generator": false, "expression": false, "async": false, "params": [], "body": { "type": "BlockStatement", "start": 3284, "end": 3286, "loc": { "start": { "line": 66, "column": 20 }, "end": { "line": 66, "column": 22 } }, "body": [], "directives": [] } }, { "type": "ExpressionStatement", "start": 3288, "end": 3325, "loc": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 37 } }, "expression": { "type": "AssignmentExpression", "start": 3288, "end": 3324, "loc": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 36 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3288, "end": 3319, "loc": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 31 } }, "object": { "type": "MemberExpression", "start": 3288, "end": 3306, "loc": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 18 } }, "object": { "type": "Identifier", "start": 3288, "end": 3296, "loc": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 8 }, "identifierName": "ABSTRACT" }, "name": "ABSTRACT" }, "property": { "type": "Identifier", "start": 3297, "end": 3306, "loc": { "start": { "line": 68, "column": 9 }, "end": { "line": 68, "column": 18 }, "identifierName": "prototype" }, "name": "prototype" }, "computed": false }, "property": { "type": "Identifier", "start": 3307, "end": 3319, "loc": { "start": { "line": 68, "column": 19 }, "end": { "line": 68, "column": 31 }, "identifierName": "dialectTypes" }, "name": "dialectTypes" }, "computed": false }, "right": { "type": "StringLiteral", "start": 3322, "end": 3324, "loc": { "start": { "line": 68, "column": 34 }, "end": { "line": 68, "column": 36 } }, "extra": { "rawValue": "", "raw": "''" }, "value": "" } } }, { "type": "ExpressionStatement", "start": 3327, "end": 3418, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 72, "column": 2 } }, "expression": { "type": "AssignmentExpression", "start": 3327, "end": 3417, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 72, "column": 1 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3327, "end": 3354, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 27 } }, "object": { "type": "MemberExpression", "start": 3327, "end": 3345, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 18 } }, "object": { "type": "Identifier", "start": 3327, "end": 3335, "loc": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 8 }, "identifierName": "ABSTRACT" }, "name": "ABSTRACT" }, "property": { "type": "Identifier", "start": 3336, "end": 3345, "loc": { "start": { "line": 70, "column": 9 }, "end": { "line": 70, "column": 18 }, "identifierName": "prototype" }, "name": "prototype" }, "computed": false }, "property": { "type": "Identifier", "start": 3346, "end": 3354, "loc": { "start": { "line": 70, "column": 19 }, "end": { "line": 70, "column": 27 }, "identifierName": "toString" }, "name": "toString" }, "computed": false }, "right": { "type": "FunctionExpression", "start": 3357, "end": 3417, "loc": { "start": { "line": 70, "column": 30 }, "end": { "line": 72, "column": 1 } }, "id": { "type": "Identifier", "start": 3346, "end": 3354, "loc": { "start": { "line": 70, "column": 19 }, "end": { "line": 70, "column": 27 }, "identifierName": "toString" }, "name": "toString" }, "generator": false, "expression": false, "async": false, "params": [ { "type": "Identifier", "start": 3375, "end": 3382, "loc": { "start": { "line": 70, "column": 48 }, "end": { "line": 70, "column": 55 }, "identifierName": "options" }, "name": "options" } ], "body": { "type": "BlockStatement", "start": 3384, "end": 3417, "loc": { "start": { "line": 70, "column": 57 }, "end": { "line": 72, "column": 1 } }, "body": [ { "type": "ReturnStatement", "start": 3388, "end": 3415, "loc": { "start": { "line": 71, "column": 2 }, "end": { "line": 71, "column": 29 } }, "argument": { "type": "CallExpression", "start": 3395, "end": 3414, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 28 } }, "callee": { "type": "MemberExpression", "start": 3395, "end": 3405, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 19 } }, "object": { "type": "ThisExpression", "start": 3395, "end": 3399, "loc": { "start": { "line": 71, "column": 9 }, "end": { "line": 71, "column": 13 } } }, "property": { "type": "Identifier", "start": 3400, "end": 3405, "loc": { "start": { "line": 71, "column": 14 }, "end": { "line": 71, "column": 19 }, "identifierName": "toSql" }, "name": "toSql" }, "computed": false }, "arguments": [ { "type": "Identifier", "start": 3406, "end": 3413, "loc": { "start": { "line": 71, "column": 20 }, "end": { "line": 71, "column": 27 }, "identifierName": "options" }, "name": "options" } ] } } ], "directives": [] } } } }, { "type": "ExpressionStatement", "start": 3419, "end": 3486, "loc": { "start": { "line": 73, "column": 0 }, "end": { "line": 75, "column": 2 } }, "expression": { "type": "AssignmentExpression", "start": 3419, "end": 3485, "loc": { "start": { "line": 73, "column": 0 }, "end": { "line": 75, "column": 1 } }, "operator": "=", "left": { "type": "MemberExpression", "start": 3419, "end": 3443, "loc": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 24 } }, "object": { "type": "MemberExpression", "start": 3419, "end": 3437, "loc": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 18 } }, "object": { "type": "Identifier", "start": 3419, "end": 3427, "loc": { "start": { "line": 73, "column": 0 }, "end": { "line": 73,