@abedmurrar/objection 0.0.0-stage → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +105 -2
  3. package/lib/index.mjs +6 -0
  4. package/lib/initialize.js +11 -0
  5. package/lib/model/AjvValidator.js +278 -0
  6. package/lib/model/Model.js +772 -0
  7. package/lib/model/ModifierNotFoundError.js +10 -0
  8. package/lib/model/NotFoundError.js +19 -0
  9. package/lib/model/RelationDoesNotExistError.js +11 -0
  10. package/lib/model/ValidationError.js +46 -0
  11. package/lib/model/Validator.js +20 -0
  12. package/lib/model/getModel.js +7 -0
  13. package/lib/model/graph/ModelGraph.js +60 -0
  14. package/lib/model/graph/ModelGraphBuilder.js +188 -0
  15. package/lib/model/graph/ModelGraphEdge.js +40 -0
  16. package/lib/model/graph/ModelGraphNode.js +201 -0
  17. package/lib/model/inheritModel.js +19 -0
  18. package/lib/model/modelBindKnex.js +69 -0
  19. package/lib/model/modelClone.js +102 -0
  20. package/lib/model/modelColPropMap.js +24 -0
  21. package/lib/model/modelConcurrency.js +24 -0
  22. package/lib/model/modelId.js +57 -0
  23. package/lib/model/modelJsonAttributes.js +72 -0
  24. package/lib/model/modelParseRelations.js +83 -0
  25. package/lib/model/modelQueryProps.js +116 -0
  26. package/lib/model/modelSet.js +116 -0
  27. package/lib/model/modelTableMetadata.js +71 -0
  28. package/lib/model/modelToJson.js +157 -0
  29. package/lib/model/modelUtils.js +40 -0
  30. package/lib/model/modelValidate.js +40 -0
  31. package/lib/model/modelValues.js +113 -0
  32. package/lib/model/modelVisitor.js +34 -0
  33. package/lib/objection.js +89 -0
  34. package/lib/queryBuilder/FunctionBuilder.js +291 -0
  35. package/lib/queryBuilder/InternalOptions.js +24 -0
  36. package/lib/queryBuilder/JoinBuilder.js +124 -0
  37. package/lib/queryBuilder/QueryBuilder.js +1136 -0
  38. package/lib/queryBuilder/QueryBuilderBase.js +666 -0
  39. package/lib/queryBuilder/QueryBuilderContext.js +20 -0
  40. package/lib/queryBuilder/QueryBuilderContextBase.js +26 -0
  41. package/lib/queryBuilder/QueryBuilderOperationSupport.js +484 -0
  42. package/lib/queryBuilder/QueryBuilderUserContext.js +25 -0
  43. package/lib/queryBuilder/RawBuilder.js +78 -0
  44. package/lib/queryBuilder/ReferenceBuilder.js +246 -0
  45. package/lib/queryBuilder/RelationExpression.js +373 -0
  46. package/lib/queryBuilder/StaticHookArguments.js +122 -0
  47. package/lib/queryBuilder/ValueBuilder.js +115 -0
  48. package/lib/queryBuilder/expressions.js +121 -0
  49. package/lib/queryBuilder/functions/mysql.js +762 -0
  50. package/lib/queryBuilder/graph/GraphAction.js +54 -0
  51. package/lib/queryBuilder/graph/GraphData.js +12 -0
  52. package/lib/queryBuilder/graph/GraphFetcher.js +155 -0
  53. package/lib/queryBuilder/graph/GraphNodeDbExistence.js +146 -0
  54. package/lib/queryBuilder/graph/GraphOperation.js +21 -0
  55. package/lib/queryBuilder/graph/GraphOptions.js +165 -0
  56. package/lib/queryBuilder/graph/GraphUpsert.js +231 -0
  57. package/lib/queryBuilder/graph/delete/GraphDelete.js +15 -0
  58. package/lib/queryBuilder/graph/delete/GraphDeleteAction.js +56 -0
  59. package/lib/queryBuilder/graph/insert/GraphInsert.js +116 -0
  60. package/lib/queryBuilder/graph/insert/GraphInsertAction.js +183 -0
  61. package/lib/queryBuilder/graph/insert/JoinRowGraphInsertAction.js +70 -0
  62. package/lib/queryBuilder/graph/patch/GraphPatch.js +15 -0
  63. package/lib/queryBuilder/graph/patch/GraphPatchAction.js +205 -0
  64. package/lib/queryBuilder/graph/recursiveUpsert/GraphRecursiveUpsert.js +26 -0
  65. package/lib/queryBuilder/graph/recursiveUpsert/GraphRecursiveUpsertAction.js +96 -0
  66. package/lib/queryBuilder/join/JoinResultColumn.js +19 -0
  67. package/lib/queryBuilder/join/JoinResultParser.js +106 -0
  68. package/lib/queryBuilder/join/RelationJoiner.js +258 -0
  69. package/lib/queryBuilder/join/TableNode.js +136 -0
  70. package/lib/queryBuilder/join/TableTree.js +69 -0
  71. package/lib/queryBuilder/join/utils.js +19 -0
  72. package/lib/queryBuilder/operations/DelegateOperation.js +101 -0
  73. package/lib/queryBuilder/operations/DeleteOperation.js +47 -0
  74. package/lib/queryBuilder/operations/FindByIdOperation.js +29 -0
  75. package/lib/queryBuilder/operations/FindByIdsOperation.js +23 -0
  76. package/lib/queryBuilder/operations/FindOperation.js +147 -0
  77. package/lib/queryBuilder/operations/FirstOperation.js +22 -0
  78. package/lib/queryBuilder/operations/FromOperation.js +91 -0
  79. package/lib/queryBuilder/operations/InsertAndFetchOperation.js +38 -0
  80. package/lib/queryBuilder/operations/InsertGraphAndFetchOperation.js +35 -0
  81. package/lib/queryBuilder/operations/InsertGraphOperation.js +87 -0
  82. package/lib/queryBuilder/operations/InsertOperation.js +173 -0
  83. package/lib/queryBuilder/operations/InstanceDeleteOperation.js +37 -0
  84. package/lib/queryBuilder/operations/InstanceFindOperation.js +17 -0
  85. package/lib/queryBuilder/operations/InstanceInsertOperation.js +20 -0
  86. package/lib/queryBuilder/operations/InstanceUpdateOperation.js +45 -0
  87. package/lib/queryBuilder/operations/JoinRelatedOperation.js +83 -0
  88. package/lib/queryBuilder/operations/KnexOperation.js +11 -0
  89. package/lib/queryBuilder/operations/MergeOperation.js +43 -0
  90. package/lib/queryBuilder/operations/ObjectionToKnexConvertingOperation.js +173 -0
  91. package/lib/queryBuilder/operations/OnBuildKnexOperation.js +23 -0
  92. package/lib/queryBuilder/operations/OnBuildOperation.js +23 -0
  93. package/lib/queryBuilder/operations/OnErrorOperation.js +23 -0
  94. package/lib/queryBuilder/operations/QueryBuilderOperation.js +258 -0
  95. package/lib/queryBuilder/operations/RangeOperation.js +37 -0
  96. package/lib/queryBuilder/operations/RelateOperation.js +20 -0
  97. package/lib/queryBuilder/operations/ReturningOperation.js +24 -0
  98. package/lib/queryBuilder/operations/RunAfterOperation.js +23 -0
  99. package/lib/queryBuilder/operations/RunBeforeOperation.js +23 -0
  100. package/lib/queryBuilder/operations/UnrelateOperation.js +18 -0
  101. package/lib/queryBuilder/operations/UpdateAndFetchOperation.js +63 -0
  102. package/lib/queryBuilder/operations/UpdateOperation.js +130 -0
  103. package/lib/queryBuilder/operations/UpsertGraphAndFetchOperation.js +35 -0
  104. package/lib/queryBuilder/operations/UpsertGraphOperation.js +47 -0
  105. package/lib/queryBuilder/operations/WhereCompositeOperation.js +48 -0
  106. package/lib/queryBuilder/operations/WhereInOperation.js +46 -0
  107. package/lib/queryBuilder/operations/eager/EagerOperation.js +46 -0
  108. package/lib/queryBuilder/operations/eager/JoinEagerOperation.js +41 -0
  109. package/lib/queryBuilder/operations/eager/NaiveEagerOperation.js +10 -0
  110. package/lib/queryBuilder/operations/eager/WhereInEagerOperation.js +227 -0
  111. package/lib/queryBuilder/operations/jsonApi/WhereJsonHasOperation.js +29 -0
  112. package/lib/queryBuilder/operations/jsonApi/WhereJsonNotObjectOperation.js +37 -0
  113. package/lib/queryBuilder/operations/jsonApi/WhereJsonOperation.js +30 -0
  114. package/lib/queryBuilder/operations/jsonApi/WhereJsonOverlapsOperation.js +33 -0
  115. package/lib/queryBuilder/operations/jsonApi/mysqlJsonApi.js +155 -0
  116. package/lib/queryBuilder/operations/jsonApi/postgresJsonApi.js +135 -0
  117. package/lib/queryBuilder/operations/select/SelectOperation.js +50 -0
  118. package/lib/queryBuilder/operations/select/Selection.js +112 -0
  119. package/lib/queryBuilder/operations/whereInComposite/WhereInCompositeMsSqlOperation.js +84 -0
  120. package/lib/queryBuilder/operations/whereInComposite/WhereInCompositeOperation.js +90 -0
  121. package/lib/queryBuilder/operations/whereInComposite/WhereInCompositeSqliteOperation.js +95 -0
  122. package/lib/queryBuilder/parsers/jsonFieldExpressionParser.js +787 -0
  123. package/lib/queryBuilder/parsers/relationExpressionParser.js +930 -0
  124. package/lib/queryBuilder/transformations/CompositeQueryTransformation.js +17 -0
  125. package/lib/queryBuilder/transformations/QueryTransformation.js +9 -0
  126. package/lib/queryBuilder/transformations/WrapMysqlModifySubqueryTransformation.js +57 -0
  127. package/lib/queryBuilder/transformations/index.js +9 -0
  128. package/lib/queryBuilder/whereScopes.js +199 -0
  129. package/lib/relations/Relation.js +317 -0
  130. package/lib/relations/RelationDeleteOperation.js +23 -0
  131. package/lib/relations/RelationFindOperation.js +116 -0
  132. package/lib/relations/RelationInsertOperation.js +25 -0
  133. package/lib/relations/RelationOwner.js +199 -0
  134. package/lib/relations/RelationProperty.js +207 -0
  135. package/lib/relations/RelationUpdateOperation.js +23 -0
  136. package/lib/relations/belongsToOne/BelongsToOneDeleteOperation.js +18 -0
  137. package/lib/relations/belongsToOne/BelongsToOneInsertOperation.js +33 -0
  138. package/lib/relations/belongsToOne/BelongsToOneRelateOperation.js +39 -0
  139. package/lib/relations/belongsToOne/BelongsToOneRelation.js +45 -0
  140. package/lib/relations/belongsToOne/BelongsToOneUnrelateOperation.js +46 -0
  141. package/lib/relations/hasMany/HasManyInsertOperation.js +45 -0
  142. package/lib/relations/hasMany/HasManyRelateOperation.js +48 -0
  143. package/lib/relations/hasMany/HasManyRelation.js +41 -0
  144. package/lib/relations/hasMany/HasManyUnrelateOperation.js +26 -0
  145. package/lib/relations/hasOne/HasOneRelation.js +10 -0
  146. package/lib/relations/hasOneThrough/HasOneThroughRelation.js +10 -0
  147. package/lib/relations/manyToMany/ManyToManyModifyMixin.js +82 -0
  148. package/lib/relations/manyToMany/ManyToManyRelation.js +405 -0
  149. package/lib/relations/manyToMany/ManyToManySqliteModifyMixin.js +29 -0
  150. package/lib/relations/manyToMany/delete/ManyToManyDeleteOperation.js +8 -0
  151. package/lib/relations/manyToMany/delete/ManyToManyDeleteOperationBase.js +20 -0
  152. package/lib/relations/manyToMany/delete/ManyToManyDeleteSqliteOperation.js +8 -0
  153. package/lib/relations/manyToMany/find/ManyToManyFindOperation.js +82 -0
  154. package/lib/relations/manyToMany/insert/ManyToManyInsertOperation.js +40 -0
  155. package/lib/relations/manyToMany/relate/ManyToManyRelateOperation.js +64 -0
  156. package/lib/relations/manyToMany/unrelate/ManyToManyUnrelateOperation.js +11 -0
  157. package/lib/relations/manyToMany/unrelate/ManyToManyUnrelateOperationBase.js +27 -0
  158. package/lib/relations/manyToMany/unrelate/ManyToManyUnrelateSqliteOperation.js +11 -0
  159. package/lib/relations/manyToMany/update/ManyToManyUpdateOperation.js +8 -0
  160. package/lib/relations/manyToMany/update/ManyToManyUpdateOperationBase.js +65 -0
  161. package/lib/relations/manyToMany/update/ManyToManyUpdateSqliteOperation.js +8 -0
  162. package/lib/transaction.js +66 -0
  163. package/lib/utils/assert.js +19 -0
  164. package/lib/utils/buildUtils.js +19 -0
  165. package/lib/utils/classUtils.js +9 -0
  166. package/lib/utils/cloneDeep.js +365 -0
  167. package/lib/utils/createModifier.js +37 -0
  168. package/lib/utils/deprecate.js +11 -0
  169. package/lib/utils/identifierMapping.js +188 -0
  170. package/lib/utils/internalPropUtils.js +7 -0
  171. package/lib/utils/knexUtils.js +81 -0
  172. package/lib/utils/mixin.js +18 -0
  173. package/lib/utils/mysqlJsonPath.js +70 -0
  174. package/lib/utils/normalizeIds.js +127 -0
  175. package/lib/utils/objectUtils.js +314 -0
  176. package/lib/utils/parseFieldExpression.js +73 -0
  177. package/lib/utils/postgresJsonPath.js +96 -0
  178. package/lib/utils/promiseUtils/after.js +14 -0
  179. package/lib/utils/promiseUtils/afterReturn.js +14 -0
  180. package/lib/utils/promiseUtils/index.js +15 -0
  181. package/lib/utils/promiseUtils/isPromise.js +8 -0
  182. package/lib/utils/promiseUtils/map.js +96 -0
  183. package/lib/utils/promiseUtils/mapAfterAllReturn.js +23 -0
  184. package/lib/utils/promiseUtils/try.js +19 -0
  185. package/lib/utils/resolveModel.js +104 -0
  186. package/lib/utils/tmpColumnUtils.js +7 -0
  187. package/package.json +113 -4
  188. package/typings/objection/index.d.mts +362 -0
  189. package/typings/objection/index.d.ts +4131 -0
  190. package/typings/objection/relation-expression.d.ts +237 -0
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveModel = resolveModel;
7
+ exports.isModelClass = isModelClass;
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const objectUtils_1 = require("../utils/objectUtils");
10
+ class ResolveError extends Error {
11
+ }
12
+ function resolveModel(modelRef, modelPaths, errorPrefix) {
13
+ try {
14
+ if ((0, objectUtils_1.isString)(modelRef)) {
15
+ if (isAbsolutePath(modelRef)) {
16
+ return requireModel(modelRef);
17
+ }
18
+ else if (modelPaths) {
19
+ return requireUsingModelPaths(modelRef, modelPaths);
20
+ }
21
+ }
22
+ else {
23
+ if ((0, objectUtils_1.isFunction)(modelRef) && !isModelClass(modelRef)) {
24
+ modelRef = modelRef();
25
+ }
26
+ if (!isModelClass(modelRef)) {
27
+ throw new ResolveError(`is not a subclass of Model or a file path to a module that exports one. You may be dealing with a require loop. See the documentation section about require loops.`);
28
+ }
29
+ return modelRef;
30
+ }
31
+ }
32
+ catch (err) {
33
+ if (err instanceof ResolveError) {
34
+ throw new Error(`${errorPrefix}: ${err.message}`);
35
+ }
36
+ else {
37
+ throw err;
38
+ }
39
+ }
40
+ // A relative path without `modelPaths` doesn't resolve to anything.
41
+ return undefined;
42
+ }
43
+ function requireUsingModelPaths(modelRef, modelPaths) {
44
+ let firstError = null;
45
+ for (const modelPath of modelPaths) {
46
+ try {
47
+ return requireModel(node_path_1.default.join(modelPath, modelRef));
48
+ }
49
+ catch (err) {
50
+ if (firstError === null) {
51
+ firstError = err;
52
+ }
53
+ }
54
+ }
55
+ if (firstError) {
56
+ throw firstError;
57
+ }
58
+ else {
59
+ throw new ResolveError(`could not resolve ${modelRef} using modelPaths`);
60
+ }
61
+ }
62
+ function requireModel(modelPath) {
63
+ /**
64
+ * Wrap path string in template literal to prevent
65
+ * warnings about Objection.JS being an expression
66
+ * in webpack builds.
67
+ * @link https://github.com/webpack/webpack/issues/196
68
+ */
69
+ // The module is the user's, so its exports can be anything.
70
+ const mod = require(`${node_path_1.default.resolve(modelPath)}`);
71
+ let modelClass = null;
72
+ if (isModelClass(mod)) {
73
+ modelClass = mod;
74
+ }
75
+ else if (isModelClass(mod.default)) {
76
+ // Babel 6 style of exposing default export.
77
+ modelClass = mod.default;
78
+ }
79
+ else {
80
+ Object.keys(mod).forEach((exportName) => {
81
+ const exp = mod[exportName];
82
+ if (isModelClass(exp)) {
83
+ if (modelClass !== null) {
84
+ throw new ResolveError(`path ${modelPath} exports multiple models. Don't know which one to choose.`);
85
+ }
86
+ modelClass = exp;
87
+ }
88
+ });
89
+ }
90
+ if (!isModelClass(modelClass)) {
91
+ throw new ResolveError(`${modelPath} is an invalid file path to a model class`);
92
+ }
93
+ return modelClass;
94
+ }
95
+ function isAbsolutePath(pth) {
96
+ return node_path_1.default.normalize(pth + '/') === node_path_1.default.normalize(node_path_1.default.resolve(pth) + '/');
97
+ }
98
+ // The `T &` keeps an `any` argument `any`.
99
+ function isModelClass(maybeModel) {
100
+ // This returns the value of `isObjectionModelClass` as is, like the
101
+ // JavaScript code did. It's `true` on model classes.
102
+ return ((0, objectUtils_1.isFunction)(maybeModel) &&
103
+ maybeModel.isObjectionModelClass);
104
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTempColumn = getTempColumn;
4
+ const OWNER_JOIN_COLUMN_ALIAS_PREFIX = 'objectiontmpjoin';
5
+ function getTempColumn(index) {
6
+ return `${OWNER_JOIN_COLUMN_ALIAS_PREFIX}${index}`;
7
+ }
package/package.json CHANGED
@@ -1,6 +1,115 @@
1
1
  {
2
2
  "name": "@abedmurrar/objection",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "4.0.0-beta.0",
4
+ "description": "An SQL-friendly ORM for Node.js. A fork of objection.js with strict TypeScript types and MySQL support.",
5
+ "main": "lib/objection.js",
6
+ "type": "commonjs",
7
+ "types": "./typings/objection/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./typings/objection/index.d.mts",
12
+ "default": "./lib/index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./typings/objection/index.d.ts",
16
+ "default": "./lib/objection.js"
17
+ }
18
+ },
19
+ "./package.json": "./package.json"
20
+ },
21
+ "license": "MIT",
22
+ "scripts": {
23
+ "build": "tsc -p tsconfig.build.json",
24
+ "prepare": "npm run build",
25
+ "pretest": "npm run build",
26
+ "test": "npm run lint && mocha --slow 10 --timeout 15000 --reporter spec --recursive tests --exclude \"tests/unit/relations/files/**\" && npm run test:typings",
27
+ "pretest:fast": "npm run build",
28
+ "test:fast": "mocha --slow 10 --timeout 15000 --reporter spec --recursive tests --bail --exclude \"tests/unit/relations/files/**\"",
29
+ "test:typings": "npm run build && node scripts/generate-fn-typings.js --check && node scripts/generate-esm-typings.js --check && tsc && tsc -p tests/ts/tsconfig.loose.json && node scripts/typings-errors.js && attw --pack .",
30
+ "bench:typings": "node scripts/typings-bench.js",
31
+ "prebench": "npm run build",
32
+ "bench": "node bench/run.js",
33
+ "prebench:compare": "npm run build",
34
+ "bench:compare": "node bench/compare.js",
35
+ "format": "biome check --write",
36
+ "lint": "biome check",
37
+ "docs:dev": "vitepress dev doc",
38
+ "docs:build": "vitepress build doc",
39
+ "docs:preview": "vitepress preview doc",
40
+ "release": "node scripts/release.js",
41
+ "prepublishOnly": "npm run build && npm run lint && npm run test:typings",
42
+ "sql-check": "npm run build && node bench/sql-check.js"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public",
46
+ "registry": "https://registry.npmjs.org/"
47
+ },
48
+ "author": {
49
+ "name": "Abed Murrar",
50
+ "url": "https://github.com/abedmurrar"
51
+ },
52
+ "contributors": [
53
+ "Sami Koskimäki <sami@jakso.me> (https://github.com/koskimas)",
54
+ "Mikael Lepistö <mikael.lepisto@vincit.com> (https://github.com/elhigu)",
55
+ "Matthew McEachen <matthew-objection@photostructure.com> (https://github.com/mceachen)",
56
+ "Jürg Lehni <juerg@scratchdisk.com> (https://github.com/lehni)",
57
+ "Igor Savin <kibertoad@gmail.com> (https://github.com/kibertoad)"
58
+ ],
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "git+https://github.com/abedmurrar/objection.js.git"
62
+ },
63
+ "bugs": {
64
+ "url": "https://github.com/abedmurrar/objection.js/issues"
65
+ },
66
+ "homepage": "https://github.com/abedmurrar/objection.js#readme",
67
+ "engines": {
68
+ "node": ">=24"
69
+ },
70
+ "keywords": [
71
+ "orm",
72
+ "knex",
73
+ "sql",
74
+ "query",
75
+ "query builder",
76
+ "postgresql",
77
+ "mysql",
78
+ "sqlite3"
79
+ ],
80
+ "files": [
81
+ "README.md",
82
+ "LICENSE",
83
+ "lib/**/*.js",
84
+ "lib/**/*.mjs",
85
+ "typings/*"
86
+ ],
87
+ "dependencies": {
88
+ "ajv": "^8.20.0",
89
+ "ajv-formats": "^3.0.1",
90
+ "db-errors": "^0.2.3"
91
+ },
92
+ "peerDependencies": {
93
+ "knex": ">=3.3.0"
94
+ },
95
+ "devDependencies": {
96
+ "@arethetypeswrong/cli": "^0.18.5",
97
+ "@biomejs/biome": "2.6.4",
98
+ "@types/node": "^24.19.2",
99
+ "chai": "^6.3.0",
100
+ "chai-subset": "^1.6.0",
101
+ "expect.js": "^0.3.1",
102
+ "knex": "^3.3.0",
103
+ "mariadb": "^3.5.4",
104
+ "mocha": "^12.0.3",
105
+ "mysql2": "^3.24.6",
106
+ "pg": "^8.15.6",
107
+ "sqlite3": "^6.0.1",
108
+ "typescript": "^7.0.2",
109
+ "vitepress": "2.0.0-alpha.21"
110
+ },
111
+ "overrides": {
112
+ "glob": "^14.0.3",
113
+ "minimatch": "^11.0.3"
114
+ }
115
+ }
@@ -0,0 +1,362 @@
1
+ // Generated by scripts/generate-esm-typings.js from index.d.ts. Do not edit.
2
+ //
3
+ // The types of the ES module entry (lib/index.mjs).
4
+
5
+ import objection from './index.js';
6
+
7
+ export default objection;
8
+
9
+ export import raw = objection.raw;
10
+ export import val = objection.val;
11
+ export import ref = objection.ref;
12
+ export import fn = objection.fn;
13
+ export import compose = objection.compose;
14
+ export import mixin = objection.mixin;
15
+ export import defineRelations = objection.defineRelations;
16
+ export import BelongsToOneRelation = objection.BelongsToOneRelation;
17
+ export import HasOneRelation = objection.HasOneRelation;
18
+ export import HasManyRelation = objection.HasManyRelation;
19
+ export import ManyToManyRelation = objection.ManyToManyRelation;
20
+ export import HasOneThroughRelation = objection.HasOneThroughRelation;
21
+ export import snakeCaseMappers = objection.snakeCaseMappers;
22
+ export import knexSnakeCaseMappers = objection.knexSnakeCaseMappers;
23
+ export import transaction = objection.transaction;
24
+ export import initialize = objection.initialize;
25
+ export import DBError = objection.DBError;
26
+ export import DataError = objection.DataError;
27
+ export import CheckViolationError = objection.CheckViolationError;
28
+ export import UniqueViolationError = objection.UniqueViolationError;
29
+ export import ConstraintViolationError = objection.ConstraintViolationError;
30
+ export import ForeignKeyViolationError = objection.ForeignKeyViolationError;
31
+ export import NotNullViolationError = objection.NotNullViolationError;
32
+ export import RawBuilder = objection.RawBuilder;
33
+ export import RawExpressionBuilder = objection.RawExpressionBuilder;
34
+ export import RawFunction = objection.RawFunction;
35
+ export import RawInterface = objection.RawInterface;
36
+ export import ValueBuilder = objection.ValueBuilder;
37
+ export import ValueFunction = objection.ValueFunction;
38
+ export import ReferenceBuilder = objection.ReferenceBuilder;
39
+ export import ReferenceFunction = objection.ReferenceFunction;
40
+ export import RefColumnName = objection.RefColumnName;
41
+ export import IsJsonType = objection.IsJsonType;
42
+ export import JsonColumnName = objection.JsonColumnName;
43
+ export import JsonFieldPath = objection.JsonFieldPath;
44
+ export import RefExpression = objection.RefExpression;
45
+ export import RefValue = objection.RefValue;
46
+ export import FunctionBuilder = objection.FunctionBuilder;
47
+ export import SqlFunctionShortcut = objection.SqlFunctionShortcut;
48
+ export import AggregateFunctionShortcut = objection.AggregateFunctionShortcut;
49
+ export import AggregateFunctionBuilder = objection.AggregateFunctionBuilder;
50
+ export import WindowFunctionBuilder = objection.WindowFunctionBuilder;
51
+ export import FnWindow = objection.FnWindow;
52
+ export import CaseBuilder = objection.CaseBuilder;
53
+ export import FnResult = objection.FnResult;
54
+ export import SqlBoolean = objection.SqlBoolean;
55
+ export import Typed = objection.Typed;
56
+ export import CompareValue = objection.CompareValue;
57
+ export import ExpressionMethods = objection.ExpressionMethods;
58
+ export import FnNumeric = objection.FnNumeric;
59
+ export import FnArg = objection.FnArg;
60
+ export import FnJsonArg = objection.FnJsonArg;
61
+ export import FnExpression = objection.FnExpression;
62
+ export import FnOrderBy = objection.FnOrderBy;
63
+ export import FnIntervalUnit = objection.FnIntervalUnit;
64
+ export import FnTimestampUnit = objection.FnTimestampUnit;
65
+ export import FunctionFunction = objection.FunctionFunction;
66
+ export import ComposeFunction = objection.ComposeFunction;
67
+ export import Plugin = objection.Plugin;
68
+ export import MixinFunction = objection.MixinFunction;
69
+ export import Aliasable = objection.Aliasable;
70
+ export import Castable = objection.Castable;
71
+ export import Raw = objection.Raw;
72
+ export import Operator = objection.Operator;
73
+ export import ColumnRef = objection.ColumnRef;
74
+ export import TableRef = objection.TableRef;
75
+ export import PrimitiveValue = objection.PrimitiveValue;
76
+ export import Expression = objection.Expression;
77
+ export import Id = objection.Id;
78
+ export import CompositeId = objection.CompositeId;
79
+ export import MaybeCompositeId = objection.MaybeCompositeId;
80
+ export import ExpressionObject = objection.ExpressionObject;
81
+ export import PrimitiveValueObject = objection.PrimitiveValueObject;
82
+ export import CallbackVoid = objection.CallbackVoid;
83
+ export import Identity = objection.Identity;
84
+ export import AnyQueryBuilder = objection.AnyQueryBuilder;
85
+ export import AnyModelConstructor = objection.AnyModelConstructor;
86
+ export import ModifierFunction = objection.ModifierFunction;
87
+ export import Modifier = objection.Modifier;
88
+ export import OrderByDirection = objection.OrderByDirection;
89
+ export import OrderByNulls = objection.OrderByNulls;
90
+ export import Modifiers = objection.Modifiers;
91
+ export import RelationExpression = objection.RelationExpression;
92
+ export import CheckRelationExpression = objection.CheckRelationExpression;
93
+ export import GraphErrors = objection.GraphErrors;
94
+ export import NodeErrors = objection.NodeErrors;
95
+ export import ModifierNameErrors = objection.ModifierNameErrors;
96
+ export import RelationNameKeys = objection.RelationNameKeys;
97
+ export import RelatedModel = objection.RelatedModel;
98
+ export import ElementOrSelf = objection.ElementOrSelf;
99
+ export import IsUncheckedModel = objection.IsUncheckedModel;
100
+ export import Loaded = objection.Loaded;
101
+ export import WithGraph = objection.WithGraph;
102
+ export import WithChildren = objection.WithChildren;
103
+ export import Replace = objection.Replace;
104
+ export import Without = objection.Without;
105
+ export import LoadedRelations = objection.LoadedRelations;
106
+ export import MaybeLoadedRelations = objection.MaybeLoadedRelations;
107
+ export import LoadedRelation = objection.LoadedRelation;
108
+ export import RelationValue = objection.RelationValue;
109
+ export import PreviousRow = objection.PreviousRow;
110
+ export import LoadedNodeRow = objection.LoadedNodeRow;
111
+ export import ApplyNodeModifiers = objection.ApplyNodeModifiers;
112
+ export import ModifiedItem = objection.ModifiedItem;
113
+ export import ReturnedItem = objection.ReturnedItem;
114
+ export import MergeLoaded = objection.MergeLoaded;
115
+ export import Only = objection.Only;
116
+ export import LoadedKeys = objection.LoadedKeys;
117
+ export import WithGraphQueryBuilder = objection.WithGraphQueryBuilder;
118
+ export import StaticFetchGraphMethod = objection.StaticFetchGraphMethod;
119
+ export import StaticFetchGraphQueryBuilder = objection.StaticFetchGraphQueryBuilder;
120
+ export import FetchGraphQueryBuilder = objection.FetchGraphQueryBuilder;
121
+ export import ItemQueryBuilder = objection.ItemQueryBuilder;
122
+ export import ModifiedQueryBuilder = objection.ModifiedQueryBuilder;
123
+ export import ItemType = objection.ItemType;
124
+ export import NonFunctionPropertyNames = objection.NonFunctionPropertyNames;
125
+ export import DataPropertyNames = objection.DataPropertyNames;
126
+ export import Defined = objection.Defined;
127
+ export import ModelObject = objection.ModelObject;
128
+ export import PartialModelObject = objection.PartialModelObject;
129
+ export import JsonFieldKey = objection.JsonFieldKey;
130
+ export import CheckModelUpdate = objection.CheckModelUpdate;
131
+ export import GraphParameters = objection.GraphParameters;
132
+ export import PartialModelGraph = objection.PartialModelGraph;
133
+ export import PartialModelGraphField = objection.PartialModelGraphField;
134
+ export import ModelProps = objection.ModelProps;
135
+ export import ModelDataKeys = objection.ModelDataKeys;
136
+ export import ModelRelations = objection.ModelRelations;
137
+ export import RelatedQueryBuilder = objection.RelatedQueryBuilder;
138
+ export import ArrayRelatedQueryBuilder = objection.ArrayRelatedQueryBuilder;
139
+ export import QueryBuilderType = objection.QueryBuilderType;
140
+ export import ModelType = objection.ModelType;
141
+ export import ResultType = objection.ResultType;
142
+ export import IsAnyType = objection.IsAnyType;
143
+ export import ResultItemOf = objection.ResultItemOf;
144
+ export import IsSingleResult = objection.IsSingleResult;
145
+ export import QueryBuilderState = objection.QueryBuilderState;
146
+ export import QueryBuilderItemState = objection.QueryBuilderItemState;
147
+ export import OpaqueItemState = objection.OpaqueItemState;
148
+ export import CastItemState = objection.CastItemState;
149
+ export import ModelRow = objection.ModelRow;
150
+ export import RequiredRelationKeys = objection.RequiredRelationKeys;
151
+ export import Row = objection.Row;
152
+ export import RelationKeys = objection.RelationKeys;
153
+ export import ModelLike = objection.ModelLike;
154
+ export import MakeOpaque = objection.MakeOpaque;
155
+ export import OpaqueQueryBuilder = objection.OpaqueQueryBuilder;
156
+ export import RowQueryBuilder = objection.RowQueryBuilder;
157
+ export import DefaultQueryBuilderState = objection.DefaultQueryBuilderState;
158
+ export import RebindQueryBuilder = objection.RebindQueryBuilder;
159
+ export import SingleQueryBuilder = objection.SingleQueryBuilder;
160
+ export import MaybeSingleQueryBuilder = objection.MaybeSingleQueryBuilder;
161
+ export import ArrayQueryBuilder = objection.ArrayQueryBuilder;
162
+ export import NumberQueryBuilder = objection.NumberQueryBuilder;
163
+ export import PageQueryBuilder = objection.PageQueryBuilder;
164
+ export import RunAfterResult = objection.RunAfterResult;
165
+ export import ReplaceResultItem = objection.ReplaceResultItem;
166
+ export import ReplaceResultMember = objection.ReplaceResultMember;
167
+ export import ModelClassQueryBuilder = objection.ModelClassQueryBuilder;
168
+ export import InitialQueryBuilder = objection.InitialQueryBuilder;
169
+ export import ForClassMethod = objection.ForClassMethod;
170
+ export import FieldExpression = objection.FieldExpression;
171
+ export import JsonObjectOrFieldExpression = objection.JsonObjectOrFieldExpression;
172
+ export import Selection = objection.Selection;
173
+ export import SelectMethod = objection.SelectMethod;
174
+ export import AsMethod = objection.AsMethod;
175
+ export import FromMethod = objection.FromMethod;
176
+ export import FromRawMethod = objection.FromRawMethod;
177
+ export import JsonExtraction = objection.JsonExtraction;
178
+ export import JsonExtract = objection.JsonExtract;
179
+ export import JsonSet = objection.JsonSet;
180
+ export import JsonInsert = objection.JsonInsert;
181
+ export import JsonRemove = objection.JsonRemove;
182
+ export import WhereMethod = objection.WhereMethod;
183
+ export import WhereRawMethod = objection.WhereRawMethod;
184
+ export import WhereWrappedMethod = objection.WhereWrappedMethod;
185
+ export import WhereExistsMethod = objection.WhereExistsMethod;
186
+ export import WhereInMethod = objection.WhereInMethod;
187
+ export import WhereBetweenMethod = objection.WhereBetweenMethod;
188
+ export import WhereNullMethod = objection.WhereNullMethod;
189
+ export import WhereColumnMethod = objection.WhereColumnMethod;
190
+ export import WhereJsonObject = objection.WhereJsonObject;
191
+ export import WhereJsonPath = objection.WhereJsonPath;
192
+ export import WhereJsonMethod = objection.WhereJsonMethod;
193
+ export import WhereFieldExpressionMethod = objection.WhereFieldExpressionMethod;
194
+ export import WhereJsonExpressionMethod = objection.WhereJsonExpressionMethod;
195
+ export import WhereJsonField = objection.WhereJsonField;
196
+ export import WhereCompositeMethod = objection.WhereCompositeMethod;
197
+ export import WhereInCompositeMethod = objection.WhereInCompositeMethod;
198
+ export import QBOrCallback = objection.QBOrCallback;
199
+ export import BaseSetOperations = objection.BaseSetOperations;
200
+ export import SetOperationsMethod = objection.SetOperationsMethod;
201
+ export import UnionMethod = objection.UnionMethod;
202
+ export import WithMethod = objection.WithMethod;
203
+ export import JoinRelatedOptions = objection.JoinRelatedOptions;
204
+ export import JoinRelatedMethod = objection.JoinRelatedMethod;
205
+ export import JoinMethod = objection.JoinMethod;
206
+ export import CrossJoinMethod = objection.CrossJoinMethod;
207
+ export import JoinValue = objection.JoinValue;
208
+ export import JoinOnMethod = objection.JoinOnMethod;
209
+ export import JoinOnValMethod = objection.JoinOnValMethod;
210
+ export import JoinOnInMethod = objection.JoinOnInMethod;
211
+ export import JoinOnNullMethod = objection.JoinOnNullMethod;
212
+ export import JoinOnExistsMethod = objection.JoinOnExistsMethod;
213
+ export import JoinOnBetweenMethod = objection.JoinOnBetweenMethod;
214
+ export import JoinOnJsonPathEqualsMethod = objection.JoinOnJsonPathEqualsMethod;
215
+ export import JoinBuilder = objection.JoinBuilder;
216
+ export import JoinRawMethod = objection.JoinRawMethod;
217
+ export import IncrementDecrementMethod = objection.IncrementDecrementMethod;
218
+ export import AggregateMethod = objection.AggregateMethod;
219
+ export import CountMethod = objection.CountMethod;
220
+ export import GroupByMethod = objection.GroupByMethod;
221
+ export import OrderByDescriptor = objection.OrderByDescriptor;
222
+ export import ColumnRefOrOrderByDescriptor = objection.ColumnRefOrOrderByDescriptor;
223
+ export import OrderByMethod = objection.OrderByMethod;
224
+ export import OrderByRawMethod = objection.OrderByRawMethod;
225
+ export import FirstMethod = objection.FirstMethod;
226
+ export import ForIdValue = objection.ForIdValue;
227
+ export import WithGraphMethod = objection.WithGraphMethod;
228
+ export import GraphModel = objection.GraphModel;
229
+ export import RelationsModel = objection.RelationsModel;
230
+ export import AllowGraphMethod = objection.AllowGraphMethod;
231
+ export import IdentityMethod = objection.IdentityMethod;
232
+ export import OneArgMethod = objection.OneArgMethod;
233
+ export import StringReturningMethod = objection.StringReturningMethod;
234
+ export import BooleanReturningMethod = objection.BooleanReturningMethod;
235
+ export import HasMethod = objection.HasMethod;
236
+ export import ClearMethod = objection.ClearMethod;
237
+ export import ColumnInfoMethod = objection.ColumnInfoMethod;
238
+ export import TableRefForMethod = objection.TableRefForMethod;
239
+ export import AliasForMethod = objection.AliasForMethod;
240
+ export import ModelClassMethod = objection.ModelClassMethod;
241
+ export import ReturningMethod = objection.ReturningMethod;
242
+ export import TimeoutOptions = objection.TimeoutOptions;
243
+ export import TimeoutMethod = objection.TimeoutMethod;
244
+ export import Page = objection.Page;
245
+ export import RunBeforeCallback = objection.RunBeforeCallback;
246
+ export import RunBeforeMethod = objection.RunBeforeMethod;
247
+ export import RunAfterCallback = objection.RunAfterCallback;
248
+ export import RunAfterMethod = objection.RunAfterMethod;
249
+ export import OnBuildMethod = objection.OnBuildMethod;
250
+ export import OnBuildKnexCallback = objection.OnBuildKnexCallback;
251
+ export import OnBuildKnexMethod = objection.OnBuildKnexMethod;
252
+ export import OnErrorCallback = objection.OnErrorCallback;
253
+ export import OnErrorMethod = objection.OnErrorMethod;
254
+ export import InsertGraphOptions = objection.InsertGraphOptions;
255
+ export import InsertGraphMethod = objection.InsertGraphMethod;
256
+ export import UpsertGraphOptions = objection.UpsertGraphOptions;
257
+ export import UpsertGraphMethod = objection.UpsertGraphMethod;
258
+ export import GraphExpressionObjectMethod = objection.GraphExpressionObjectMethod;
259
+ export import GraphOptions = objection.GraphOptions;
260
+ export import ModifyGraphMethod = objection.ModifyGraphMethod;
261
+ export import CheckGraphPath = objection.CheckGraphPath;
262
+ export import GraphPathErrors = objection.GraphPathErrors;
263
+ export import GraphPathStep = objection.GraphPathStep;
264
+ export import ModelOfRow = objection.ModelOfRow;
265
+ export import GraphPathQueryBuilder = objection.GraphPathQueryBuilder;
266
+ export import GraphPathTarget = objection.GraphPathTarget;
267
+ export import IsUnion = objection.IsUnion;
268
+ export import ContextMethod = objection.ContextMethod;
269
+ export import ClearContextMethod = objection.ClearContextMethod;
270
+ export import ModifierArgs = objection.ModifierArgs;
271
+ export import CheckModifierModel = objection.CheckModifierModel;
272
+ export import ModifyMethod = objection.ModifyMethod;
273
+ export import ChecksModifierNames = objection.ChecksModifierNames;
274
+ export import QueryModifiers = objection.QueryModifiers;
275
+ export import ModifierNameOf = objection.ModifierNameOf;
276
+ export import NamedModifierArgs = objection.NamedModifierArgs;
277
+ export import CheckModifierName = objection.CheckModifierName;
278
+ export import CheckModifierList = objection.CheckModifierList;
279
+ export import ModifiersMethod = objection.ModifiersMethod;
280
+ export import Pojo = objection.Pojo;
281
+ export import CatchablePromiseLike = objection.CatchablePromiseLike;
282
+ export import QueryBuilder = objection.QueryBuilder;
283
+ export import X = objection.X;
284
+ export import FetchGraphOptions = objection.FetchGraphOptions;
285
+ export import TraverserFunction = objection.TraverserFunction;
286
+ export import ArrayQueryBuilderThunk = objection.ArrayQueryBuilderThunk;
287
+ export import CancelQueryThunk = objection.CancelQueryThunk;
288
+ export import StaticHookArguments = objection.StaticHookArguments;
289
+ export import Transaction = objection.Transaction;
290
+ export import TransactionOrKnex = objection.TransactionOrKnex;
291
+ export import RelationMappings = objection.RelationMappings;
292
+ export import RelationMappingsThunk = objection.RelationMappingsThunk;
293
+ export import ModelClassFactory = objection.ModelClassFactory;
294
+ export import ModelClassSpecifier = objection.ModelClassSpecifier;
295
+ export import RelationMappingHook = objection.RelationMappingHook;
296
+ export import StringOrReferenceBuilder = objection.StringOrReferenceBuilder;
297
+ export import RelationMappingColumnRef = objection.RelationMappingColumnRef;
298
+ export import RelationMapping = objection.RelationMapping;
299
+ export import RelationJoin = objection.RelationJoin;
300
+ export import RelationThrough = objection.RelationThrough;
301
+ export import RelationCardinality = objection.RelationCardinality;
302
+ export import RelationType = objection.RelationType;
303
+ export import RelationMappingsOf = objection.RelationMappingsOf;
304
+ export import InferredRelationMappings = objection.InferredRelationMappings;
305
+ export import RelatedModelClassOf = objection.RelatedModelClassOf;
306
+ export import RelatedModelOf = objection.RelatedModelOf;
307
+ export import RelationExtraColumns = objection.RelationExtraColumns;
308
+ export import RelationExtraProps = objection.RelationExtraProps;
309
+ export import WithRelationExtraProps = objection.WithRelationExtraProps;
310
+ export import RelationPropertyType = objection.RelationPropertyType;
311
+ export import RelationsOf = objection.RelationsOf;
312
+ export import InferredRelationProps = objection.InferredRelationProps;
313
+ export import ModelInstance = objection.ModelInstance;
314
+ export import WithModelModifiers = objection.WithModelModifiers;
315
+ export import ModelModifiers = objection.ModelModifiers;
316
+ export import ModifiersOf = objection.ModifiersOf;
317
+ export import KnownModifiers = objection.KnownModifiers;
318
+ export import RelationNamesOf = objection.RelationNamesOf;
319
+ export import RelationQueryBuilder = objection.RelationQueryBuilder;
320
+ export import UnknownRelationName = objection.UnknownRelationName;
321
+ export import RelationMappingsDefinition = objection.RelationMappingsDefinition;
322
+ export import DefineRelationsFunction = objection.DefineRelationsFunction;
323
+ export import Relation = objection.Relation;
324
+ export import RelationProperty = objection.RelationProperty;
325
+ export import Relations = objection.Relations;
326
+ export import QueryContext = objection.QueryContext;
327
+ export import ModelOptions = objection.ModelOptions;
328
+ export import CloneOptions = objection.CloneOptions;
329
+ export import ToJsonOptions = objection.ToJsonOptions;
330
+ export import ValidatorContext = objection.ValidatorContext;
331
+ export import ValidatorArgs = objection.ValidatorArgs;
332
+ export import Validator = objection.Validator;
333
+ export import AjvConfig = objection.AjvConfig;
334
+ export import AjvValidator = objection.AjvValidator;
335
+ export import SnakeCaseMappersOptions = objection.SnakeCaseMappersOptions;
336
+ export import ColumnNameMappers = objection.ColumnNameMappers;
337
+ export import SnakeCaseMappersFactory = objection.SnakeCaseMappersFactory;
338
+ export import KnexMappers = objection.KnexMappers;
339
+ export import KnexSnakeCaseMappersFactory = objection.KnexSnakeCaseMappersFactory;
340
+ export import ValidationErrorType = objection.ValidationErrorType;
341
+ export import ValidationError = objection.ValidationError;
342
+ export import ValidationErrorItem = objection.ValidationErrorItem;
343
+ export import ErrorHash = objection.ErrorHash;
344
+ export import CreateValidationErrorArgs = objection.CreateValidationErrorArgs;
345
+ export import NotFoundError = objection.NotFoundError;
346
+ export import CreateNotFoundErrorArgs = objection.CreateNotFoundErrorArgs;
347
+ export import TableMetadata = objection.TableMetadata;
348
+ export import TableMetadataOptions = objection.TableMetadataOptions;
349
+ export import FetchTableMetadataOptions = objection.FetchTableMetadataOptions;
350
+ export import Constructor = objection.Constructor;
351
+ export import PrototypeType = objection.PrototypeType;
352
+ export import ConstructorFunctionType = objection.ConstructorFunctionType;
353
+ export import ConstructorType = objection.ConstructorType;
354
+ export import ModelConstructor = objection.ModelConstructor;
355
+ export import ModelClass = objection.ModelClass;
356
+ export import Model = objection.Model;
357
+ export import JSONSchemaTypeName = objection.JSONSchemaTypeName;
358
+ export import JSONSchemaType = objection.JSONSchemaType;
359
+ export import JSONSchemaArray = objection.JSONSchemaArray;
360
+ export import JSONSchemaVersion = objection.JSONSchemaVersion;
361
+ export import JSONSchemaDefinition = objection.JSONSchemaDefinition;
362
+ export import JSONSchema = objection.JSONSchema;