kysely 0.27.3 → 0.27.4

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 (211) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +7 -7
  3. package/dist/cjs/dialect/dialect-adapter-base.d.ts +2 -1
  4. package/dist/cjs/dialect/dialect-adapter-base.js +4 -1
  5. package/dist/cjs/dialect/dialect-adapter.d.ts +5 -0
  6. package/dist/cjs/dialect/mssql/mssql-adapter.d.ts +1 -5
  7. package/dist/cjs/dialect/mssql/mssql-adapter.js +2 -4
  8. package/dist/cjs/dialect/mssql/mssql-dialect-config.d.ts +46 -26
  9. package/dist/cjs/dialect/mssql/mssql-driver.d.ts +1 -0
  10. package/dist/cjs/dialect/mssql/mssql-driver.js +95 -36
  11. package/dist/cjs/dialect/postgres/postgres-introspector.js +1 -1
  12. package/dist/cjs/driver/database-connection.d.ts +3 -1
  13. package/dist/cjs/dynamic/dynamic-reference-builder.js +2 -2
  14. package/dist/cjs/dynamic/dynamic.d.ts +1 -1
  15. package/dist/cjs/dynamic/dynamic.js +1 -1
  16. package/dist/cjs/expression/expression-builder.d.ts +2 -2
  17. package/dist/cjs/expression/expression-builder.js +2 -3
  18. package/dist/cjs/expression/expression.js +2 -3
  19. package/dist/cjs/helpers/mssql.js +3 -4
  20. package/dist/cjs/helpers/mysql.d.ts +3 -3
  21. package/dist/cjs/helpers/mysql.js +6 -7
  22. package/dist/cjs/helpers/postgres.d.ts +4 -4
  23. package/dist/cjs/helpers/postgres.js +7 -8
  24. package/dist/cjs/helpers/sqlite.js +3 -4
  25. package/dist/cjs/index.d.ts +28 -21
  26. package/dist/cjs/index.js +28 -21
  27. package/dist/cjs/kysely.d.ts +1 -1
  28. package/dist/cjs/kysely.js +3 -3
  29. package/dist/cjs/operation-node/alter-column-node.d.ts +1 -1
  30. package/dist/cjs/operation-node/case-node.d.ts +1 -1
  31. package/dist/cjs/operation-node/column-definition-node.d.ts +1 -0
  32. package/dist/cjs/operation-node/data-type-node.d.ts +2 -2
  33. package/dist/cjs/operation-node/data-type-node.js +5 -3
  34. package/dist/cjs/operation-node/delete-query-node.d.ts +2 -0
  35. package/dist/cjs/operation-node/foreign-key-constraint-node.d.ts +4 -4
  36. package/dist/cjs/operation-node/having-node.d.ts +1 -1
  37. package/dist/cjs/operation-node/insert-query-node.d.ts +2 -0
  38. package/dist/cjs/operation-node/merge-query-node.d.ts +2 -0
  39. package/dist/cjs/operation-node/on-node.d.ts +1 -1
  40. package/dist/cjs/operation-node/operation-node-source.js +1 -2
  41. package/dist/cjs/operation-node/operation-node-transformer.d.ts +2 -0
  42. package/dist/cjs/operation-node/operation-node-transformer.js +12 -0
  43. package/dist/cjs/operation-node/operation-node-visitor.d.ts +2 -0
  44. package/dist/cjs/operation-node/operation-node-visitor.js +1 -0
  45. package/dist/cjs/operation-node/operation-node.d.ts +1 -1
  46. package/dist/cjs/operation-node/operator-node.d.ts +3 -3
  47. package/dist/cjs/operation-node/operator-node.js +8 -6
  48. package/dist/cjs/operation-node/output-node.d.ts +13 -0
  49. package/dist/cjs/operation-node/output-node.js +26 -0
  50. package/dist/cjs/operation-node/query-node.d.ts +11 -6
  51. package/dist/cjs/operation-node/query-node.js +9 -0
  52. package/dist/cjs/operation-node/select-query-node.d.ts +1 -0
  53. package/dist/cjs/operation-node/select-query-node.js +6 -0
  54. package/dist/cjs/operation-node/update-query-node.d.ts +2 -0
  55. package/dist/cjs/operation-node/where-node.d.ts +1 -1
  56. package/dist/cjs/parser/binary-operation-parser.js +5 -6
  57. package/dist/cjs/parser/data-type-parser.js +1 -2
  58. package/dist/cjs/parser/default-value-parser.js +1 -2
  59. package/dist/cjs/parser/expression-parser.js +3 -4
  60. package/dist/cjs/parser/fetch-parser.js +1 -2
  61. package/dist/cjs/parser/group-by-parser.js +1 -2
  62. package/dist/cjs/parser/identifier-parser.js +1 -2
  63. package/dist/cjs/parser/insert-values-parser.js +1 -2
  64. package/dist/cjs/parser/join-parser.js +1 -2
  65. package/dist/cjs/parser/merge-parser.js +2 -3
  66. package/dist/cjs/parser/on-commit-action-parse.js +1 -2
  67. package/dist/cjs/parser/on-modify-action-parser.js +1 -2
  68. package/dist/cjs/parser/order-by-parser.js +3 -4
  69. package/dist/cjs/parser/parse-utils.js +4 -5
  70. package/dist/cjs/parser/partition-by-parser.js +1 -2
  71. package/dist/cjs/parser/reference-parser.js +8 -9
  72. package/dist/cjs/parser/returning-parser.d.ts +4 -3
  73. package/dist/cjs/parser/select-parser.js +2 -3
  74. package/dist/cjs/parser/set-operation-parser.js +1 -2
  75. package/dist/cjs/parser/table-parser.js +4 -5
  76. package/dist/cjs/parser/top-parser.js +1 -2
  77. package/dist/cjs/parser/unary-operation-parser.js +3 -4
  78. package/dist/cjs/parser/update-set-parser.js +2 -3
  79. package/dist/cjs/parser/value-parser.js +4 -5
  80. package/dist/cjs/parser/with-parser.js +1 -2
  81. package/dist/cjs/plugin/camel-case/camel-case-plugin.d.ts +2 -2
  82. package/dist/cjs/plugin/camel-case/camel-case-plugin.js +2 -2
  83. package/dist/cjs/plugin/camel-case/camel-case.js +2 -3
  84. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
  85. package/dist/cjs/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
  86. package/dist/cjs/query-builder/delete-query-builder.d.ts +89 -5
  87. package/dist/cjs/query-builder/delete-query-builder.js +19 -5
  88. package/dist/cjs/query-builder/function-module.d.ts +5 -5
  89. package/dist/cjs/query-builder/function-module.js +1 -2
  90. package/dist/cjs/query-builder/insert-query-builder.d.ts +95 -10
  91. package/dist/cjs/query-builder/insert-query-builder.js +25 -10
  92. package/dist/cjs/query-builder/merge-query-builder.d.ts +167 -3
  93. package/dist/cjs/query-builder/merge-query-builder.js +30 -1
  94. package/dist/cjs/query-builder/no-result-error.js +2 -2
  95. package/dist/cjs/query-builder/on-conflict-builder.d.ts +2 -2
  96. package/dist/cjs/query-builder/output-interface.d.ts +95 -0
  97. package/dist/cjs/query-builder/output-interface.js +2 -0
  98. package/dist/cjs/query-builder/returning-interface.d.ts +2 -0
  99. package/dist/cjs/query-builder/select-query-builder.d.ts +76 -11
  100. package/dist/cjs/query-builder/select-query-builder.js +7 -2
  101. package/dist/cjs/query-builder/update-query-builder.d.ts +95 -10
  102. package/dist/cjs/query-builder/update-query-builder.js +21 -7
  103. package/dist/cjs/query-builder/update-result.d.ts +9 -0
  104. package/dist/cjs/query-builder/update-result.js +9 -0
  105. package/dist/cjs/query-builder/where-interface.d.ts +1 -1
  106. package/dist/cjs/query-compiler/default-query-compiler.d.ts +2 -0
  107. package/dist/cjs/query-compiler/default-query-compiler.js +25 -1
  108. package/dist/cjs/query-creator.d.ts +56 -3
  109. package/dist/cjs/query-creator.js +54 -1
  110. package/dist/cjs/raw-builder/raw-builder.js +1 -2
  111. package/dist/cjs/raw-builder/sql.d.ts +5 -5
  112. package/dist/cjs/schema/alter-column-builder.js +3 -0
  113. package/dist/cjs/schema/alter-table-add-index-builder.d.ts +1 -1
  114. package/dist/cjs/schema/alter-table-add-index-builder.js +1 -1
  115. package/dist/cjs/schema/alter-table-builder.js +1 -2
  116. package/dist/cjs/schema/column-definition-builder.d.ts +5 -0
  117. package/dist/cjs/schema/column-definition-builder.js +7 -0
  118. package/dist/cjs/util/assert.js +2 -3
  119. package/dist/cjs/util/compilable.js +1 -2
  120. package/dist/cjs/util/json-object-args.js +1 -2
  121. package/dist/cjs/util/log-once.js +1 -2
  122. package/dist/cjs/util/object-utils.js +38 -26
  123. package/dist/cjs/util/performance-now.js +1 -2
  124. package/dist/cjs/util/prevent-await.js +1 -2
  125. package/dist/cjs/util/query-id.js +1 -2
  126. package/dist/cjs/util/random-string.js +1 -2
  127. package/dist/cjs/util/require-all-props.js +1 -2
  128. package/dist/cjs/util/stack-trace-utils.js +1 -2
  129. package/dist/esm/dialect/dialect-adapter-base.d.ts +2 -1
  130. package/dist/esm/dialect/dialect-adapter-base.js +4 -1
  131. package/dist/esm/dialect/dialect-adapter.d.ts +5 -0
  132. package/dist/esm/dialect/mssql/mssql-adapter.d.ts +1 -5
  133. package/dist/esm/dialect/mssql/mssql-adapter.js +2 -4
  134. package/dist/esm/dialect/mssql/mssql-dialect-config.d.ts +46 -26
  135. package/dist/esm/dialect/mssql/mssql-driver.d.ts +1 -0
  136. package/dist/esm/dialect/mssql/mssql-driver.js +95 -36
  137. package/dist/esm/dialect/postgres/postgres-introspector.js +1 -1
  138. package/dist/esm/driver/database-connection.d.ts +3 -1
  139. package/dist/esm/dynamic/dynamic.d.ts +1 -1
  140. package/dist/esm/dynamic/dynamic.js +1 -1
  141. package/dist/esm/expression/expression-builder.d.ts +2 -2
  142. package/dist/esm/helpers/mysql.d.ts +3 -3
  143. package/dist/esm/helpers/mysql.js +3 -3
  144. package/dist/esm/helpers/postgres.d.ts +4 -4
  145. package/dist/esm/helpers/postgres.js +4 -4
  146. package/dist/esm/index.d.ts +28 -21
  147. package/dist/esm/index.js +28 -21
  148. package/dist/esm/kysely.d.ts +1 -1
  149. package/dist/esm/kysely.js +1 -1
  150. package/dist/esm/operation-node/alter-column-node.d.ts +1 -1
  151. package/dist/esm/operation-node/case-node.d.ts +1 -1
  152. package/dist/esm/operation-node/column-definition-node.d.ts +1 -0
  153. package/dist/esm/operation-node/data-type-node.d.ts +2 -2
  154. package/dist/esm/operation-node/data-type-node.js +3 -1
  155. package/dist/esm/operation-node/delete-query-node.d.ts +2 -0
  156. package/dist/esm/operation-node/foreign-key-constraint-node.d.ts +4 -4
  157. package/dist/esm/operation-node/having-node.d.ts +1 -1
  158. package/dist/esm/operation-node/insert-query-node.d.ts +2 -0
  159. package/dist/esm/operation-node/merge-query-node.d.ts +2 -0
  160. package/dist/esm/operation-node/on-node.d.ts +1 -1
  161. package/dist/esm/operation-node/operation-node-transformer.d.ts +2 -0
  162. package/dist/esm/operation-node/operation-node-transformer.js +12 -0
  163. package/dist/esm/operation-node/operation-node-visitor.d.ts +2 -0
  164. package/dist/esm/operation-node/operation-node-visitor.js +1 -0
  165. package/dist/esm/operation-node/operation-node.d.ts +1 -1
  166. package/dist/esm/operation-node/operator-node.d.ts +3 -3
  167. package/dist/esm/operation-node/operator-node.js +2 -0
  168. package/dist/esm/operation-node/output-node.d.ts +13 -0
  169. package/dist/esm/operation-node/output-node.js +24 -0
  170. package/dist/esm/operation-node/query-node.d.ts +11 -6
  171. package/dist/esm/operation-node/query-node.js +9 -0
  172. package/dist/esm/operation-node/select-query-node.d.ts +1 -0
  173. package/dist/esm/operation-node/select-query-node.js +6 -0
  174. package/dist/esm/operation-node/update-query-node.d.ts +2 -0
  175. package/dist/esm/operation-node/where-node.d.ts +1 -1
  176. package/dist/esm/parser/returning-parser.d.ts +4 -3
  177. package/dist/esm/plugin/camel-case/camel-case-plugin.d.ts +2 -2
  178. package/dist/esm/plugin/camel-case/camel-case-plugin.js +2 -2
  179. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.d.ts +18 -0
  180. package/dist/esm/plugin/parse-json-results/parse-json-results-plugin.js +19 -11
  181. package/dist/esm/query-builder/delete-query-builder.d.ts +89 -5
  182. package/dist/esm/query-builder/delete-query-builder.js +19 -5
  183. package/dist/esm/query-builder/function-module.d.ts +5 -5
  184. package/dist/esm/query-builder/insert-query-builder.d.ts +95 -10
  185. package/dist/esm/query-builder/insert-query-builder.js +25 -10
  186. package/dist/esm/query-builder/merge-query-builder.d.ts +167 -3
  187. package/dist/esm/query-builder/merge-query-builder.js +30 -1
  188. package/dist/esm/query-builder/on-conflict-builder.d.ts +2 -2
  189. package/dist/esm/query-builder/output-interface.d.ts +95 -0
  190. package/dist/esm/query-builder/output-interface.js +2 -0
  191. package/dist/esm/query-builder/returning-interface.d.ts +2 -0
  192. package/dist/esm/query-builder/select-query-builder.d.ts +76 -11
  193. package/dist/esm/query-builder/select-query-builder.js +6 -0
  194. package/dist/esm/query-builder/update-query-builder.d.ts +95 -10
  195. package/dist/esm/query-builder/update-query-builder.js +21 -7
  196. package/dist/esm/query-builder/update-result.d.ts +9 -0
  197. package/dist/esm/query-builder/update-result.js +9 -0
  198. package/dist/esm/query-builder/where-interface.d.ts +1 -1
  199. package/dist/esm/query-compiler/default-query-compiler.d.ts +2 -0
  200. package/dist/esm/query-compiler/default-query-compiler.js +25 -1
  201. package/dist/esm/query-creator.d.ts +56 -3
  202. package/dist/esm/query-creator.js +54 -1
  203. package/dist/esm/raw-builder/sql.d.ts +5 -5
  204. package/dist/esm/schema/alter-column-builder.js +3 -0
  205. package/dist/esm/schema/alter-table-add-index-builder.d.ts +1 -1
  206. package/dist/esm/schema/alter-table-add-index-builder.js +1 -1
  207. package/dist/esm/schema/alter-table-builder.js +1 -2
  208. package/dist/esm/schema/column-definition-builder.d.ts +5 -0
  209. package/dist/esm/schema/column-definition-builder.js +7 -0
  210. package/dist/esm/util/object-utils.js +18 -5
  211. package/package.json +7 -6
@@ -44,11 +44,17 @@ export function isArrayBufferOrView(obj) {
44
44
  return obj instanceof ArrayBuffer || ArrayBuffer.isView(obj);
45
45
  }
46
46
  export function isPlainObject(obj) {
47
- return (isObject(obj) &&
48
- !Array.isArray(obj) &&
49
- !isDate(obj) &&
50
- !isBuffer(obj) &&
51
- !isArrayBufferOrView(obj));
47
+ if (!isObject(obj) || getTag(obj) !== '[object Object]') {
48
+ return false;
49
+ }
50
+ if (Object.getPrototypeOf(obj) === null) {
51
+ return true;
52
+ }
53
+ let proto = obj;
54
+ while (Object.getPrototypeOf(proto) !== null) {
55
+ proto = Object.getPrototypeOf(proto);
56
+ }
57
+ return Object.getPrototypeOf(obj) === proto;
52
58
  }
53
59
  export function getLast(arr) {
54
60
  return arr[arr.length - 1];
@@ -126,3 +132,10 @@ function compareGenericObjects(obj1, obj2) {
126
132
  }
127
133
  return true;
128
134
  }
135
+ const toString = Object.prototype.toString;
136
+ function getTag(value) {
137
+ if (value == null) {
138
+ return value === undefined ? '[object Undefined]' : '[object Null]';
139
+ }
140
+ return toString.call(value);
141
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kysely",
3
- "version": "0.27.3",
3
+ "version": "0.27.4",
4
4
  "description": "Type safe SQL query builder",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,18 +40,19 @@
40
40
  },
41
41
  "scripts": {
42
42
  "clean": "rm -rf dist & rm -rf test/node/dist & rm -rf test/browser/bundle.js & rm -rf helpers",
43
- "test": "npm run build && npm run test:node:build && npm run test:node:run && npm run test:typings && npm run test:esmimports",
43
+ "test": "npm run build && npm run test:node:build && npm run test:node:run && npm run test:typings && npm run test:esmimports && npm run test:exports",
44
44
  "test:node:build": "tsc -p test/node",
45
45
  "test:node": "npm run build && npm run test:node:build && npm run test:node:run",
46
46
  "test:node:run": "mocha --timeout 15000 test/node/dist/**/*.test.js",
47
47
  "test:browser:build": "rm -rf test/browser/bundle.js && esbuild test/browser/main.ts --bundle --outfile=test/browser/bundle.js",
48
48
  "test:browser": "npm run build && npm run test:browser:build && node test/browser/test.js",
49
- "test:bun": "npm run build && cd test/bun && bun install && bun run test",
49
+ "test:bun": "npm run build && bun link && cd test/bun && bun install && bun run test",
50
50
  "test:cloudflare-workers": "npm run build && cd test/cloudflare-workers && npm ci && npm test",
51
51
  "test:deno": "npm run build && deno run --allow-env --allow-read --allow-net test/deno/local.test.ts && deno run --allow-env --allow-read --allow-net test/deno/cdn.test.ts",
52
52
  "test:typings": "tsd test/typings",
53
53
  "test:esmimports": "node scripts/check-esm-imports.js",
54
54
  "test:esbuild": "esbuild --bundle --platform=node --external:pg-native dist/esm/index.js --outfile=/dev/null",
55
+ "test:exports": "node scripts/check-exports.js",
55
56
  "prettier": "prettier --write 'src/**/*.ts' 'test/**/*.ts'",
56
57
  "build": "npm run clean && (npm run build:esm & npm run build:cjs) && npm run script:module-fixup && npm run script:copy-interface-doc",
57
58
  "build:esm": "tsc -p tsconfig.json && npm run script:add-deno-type-references",
@@ -79,7 +80,7 @@
79
80
  "@types/pg-cursor": "^2.7.2",
80
81
  "@types/sinon": "^17.0.2",
81
82
  "@types/tedious": "^4.0.9",
82
- "better-sqlite3": "^9.2.2",
83
+ "better-sqlite3": "^9.6.0",
83
84
  "chai": "^4.4.0",
84
85
  "chai-as-promised": "^7.1.1",
85
86
  "chai-subset": "^1.6.0",
@@ -93,8 +94,8 @@
93
94
  "prettier": "^3.1.1",
94
95
  "sinon": "^17.0.1",
95
96
  "tarn": "^3.0.2",
96
- "tedious": "^16.4.0",
97
+ "tedious": "^18.2.0",
97
98
  "tsd": "^0.30.3",
98
- "typescript": "^5.4.2"
99
+ "typescript": "^5.5.2"
99
100
  }
100
101
  }