orange-orm 4.5.0-beta.1 → 4.5.0-beta.3
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.
- package/README.md +21 -1
- package/package.json +3 -3
- package/src/applyPatch.js +12 -5
- package/src/client/index.mjs +13529 -6469
- package/src/client/rollup.config.js +24 -4
- package/src/client/stringify.js +2 -9
- package/src/createDomain.js +2 -18
- package/src/d1/newPool.js +1 -1
- package/src/d1/newTransaction.js +1 -0
- package/src/d1/pool/newGenericPool.js +1 -14
- package/src/format.js +9 -0
- package/src/generic-pool.js +274 -313
- package/src/getManyDto.js +52 -21
- package/src/hostExpress/executePath.js +2 -1
- package/src/hostExpress.js +2 -7
- package/src/hostLocal.js +1 -1
- package/src/index.js +2 -1
- package/src/indexBrowser.js +39 -0
- package/src/mssql/newPool.js +1 -1
- package/src/mssql/pool/newGenericPool.js +0 -12
- package/src/mySql/deleteFromSql.js +4 -4
- package/src/mySql/newPool.js +1 -1
- package/src/mySql/pool/newGenericPool.js +0 -12
- package/src/newId.js +2 -1
- package/src/oracle/deleteFromSql.js +4 -4
- package/src/oracle/newInsertCommandCore.js +2 -2
- package/src/oracle/newPool.js +1 -1
- package/src/oracle/pool/newGenericPool.js +0 -12
- package/src/package.json +5 -0
- package/src/pg/deleteFromSql.js +4 -4
- package/src/pg/newPool.js +1 -1
- package/src/pg/pool/newPgPool.js +0 -12
- package/src/promisify.js +24 -0
- package/src/sap/deleteFromSql.js +2 -2
- package/src/sap/newPool.js +1 -1
- package/src/sqlite/deleteFromSql.js +4 -4
- package/src/sqlite/newPool.js +1 -1
- package/src/sqlite/pool/newGenericPool.js +0 -13
- package/src/table/column/negotiateRawSqlFilter.js +1 -72
- package/src/table/column/newBoolean.js +2 -53
- package/src/table/column/utils.js +113 -0
- package/src/table/column.js +6 -2
- package/src/table/commands/newDeleteCommand.js +1 -6
- package/src/table/commands/newInsertCommand.js +5 -2
- package/src/table/commands/newInsertCommandCore.js +11 -11
- package/src/table/deleteSessionContext.js +0 -3
- package/src/table/executeQueries/resolveExecuteQuery.js +0 -7
- package/src/table/newCascadeDeleteStrategy.js +1 -7
- package/src/table/newRelatedTable.js +4 -10
- package/src/table/query/newParameterized.js +8 -11
- package/src/table/query/singleQuery/columnSql/joinLegToColumnSql.js +2 -15
- package/src/table/query/singleQuery/columnSql/newJoinedColumnSql.js +2 -25
- package/src/table/query/singleQuery/columnSql/sharedJoinUtils.js +37 -0
- package/src/table/query/singleQuery/joinSql/joinLegToJoinSql.js +1 -6
- package/src/table/query/singleQuery/joinSql/oneLegToJoinSql.js +1 -7
- package/src/table/query/singleQuery/newJoinSql.js +4 -4
- package/src/table/relatedTable/aggregate.js +0 -6
- package/src/table/relatedTable/all.js +1 -7
- package/src/table/relatedTable/any.js +1 -8
- package/src/table/relatedTable/none.js +1 -7
- package/src/table/relatedTable/where.js +0 -6
- package/src/table/relation/newManyCache.js +11 -3
- package/src/table/resultToRows/dbRowToRow.js +2 -9
- package/src/table/resultToRows/delete/removeFromCache.js +2 -9
- package/src/table/resultToRows/newDecodeDbRow.js +0 -7
- package/src/table/resultToRows/toDto/extractStrategy.js +1 -7
- package/src/table/tryGetSessionContext.js +0 -5
- package/src/table.js +0 -4
- package/src/tedious/deleteFromSql.js +4 -4
- package/src/tedious/getManyDto/newQueryCore.js +1 -1
- package/src/tedious/getManyDto/query/newSubQueries/joinLegToQuery.js +2 -3
- package/src/tedious/getManyDto/query/newSubQueries/manyLegToQuery.js +2 -3
- package/src/tedious/getManyDto/query/newSubQueries/oneLegToQuery.js +13 -14
- package/src/tedious/getManyDto/query/newSubQueries.js +8 -25
- package/src/tedious/newPool.js +1 -1
- package/src/tedious/pool/newGenericPool.js +0 -12
- package/src/validateDeleteConflict.js +11 -5
- package/src/createDomain/negotiateForwardProperty.js +0 -23
- package/src/table/createJSONReadStream.js +0 -7
- package/src/table/createJSONReadStreamDefault.js +0 -33
- package/src/table/createJSONReadStreamNative.js +0 -31
- package/src/table/createReadStream.js +0 -24
- package/src/table/createReadStreamCoreNative.js +0 -40
- package/src/table/createReadStreamDefault.js +0 -102
- package/src/table/createReadStreamNative.js +0 -17
- package/src/table/readStream/extractLimit.js +0 -7
- package/src/table/readStream/extractOrderBy.js +0 -59
- package/src/table/readStream/mySql/newQuery.js +0 -16
- package/src/table/readStream/mySql/query/newSingleQuery.js +0 -21
- package/src/table/readStream/mySql/query/newSubQueries/joinLegToQuery.js +0 -20
- package/src/table/readStream/mySql/query/newSubQueries/manyLegToQuery.js +0 -22
- package/src/table/readStream/mySql/query/newSubQueries/newQueryCore.js +0 -9
- package/src/table/readStream/mySql/query/newSubQueries/newSingleQueryCore.js +0 -18
- package/src/table/readStream/mySql/query/newSubQueries/oneLegToQuery.js +0 -22
- package/src/table/readStream/mySql/query/newSubQueries.js +0 -47
- package/src/table/readStream/mySql/query/singleQuery/newShallowColumnSql.js +0 -18
- package/src/table/readStream/newQuery.js +0 -32
- package/src/table/readStream/newQueryStream.js +0 -8
- package/src/table/readStream/pg/newQuery.js +0 -8
- package/src/table/readStream/pg/newQueryCore.js +0 -17
- package/src/table/readStream/pg/query/newSingleQuery.js +0 -19
- package/src/table/readStream/pg/query/newSubQueries/joinLegToQuery.js +0 -19
- package/src/table/readStream/pg/query/newSubQueries/manyLegToQuery.js +0 -22
- package/src/table/readStream/pg/query/newSubQueries/oneLegToQuery.js +0 -19
- package/src/table/readStream/pg/query/newSubQueries.js +0 -47
- package/src/table/readStream/pg/query/singleQuery/newShallowColumnSql.js +0 -20
- package/src/table/readStreamDefault/createBatchFilter.js +0 -39
- package/src/useHook.js +0 -9
package/README.md
CHANGED
|
@@ -29,7 +29,8 @@ The ultimate Object Relational Mapper for Node.js and Typescript, offering seaml
|
|
|
29
29
|
✅ MySQL
|
|
30
30
|
✅ Oracle
|
|
31
31
|
✅ SAP ASE
|
|
32
|
-
✅ SQLite
|
|
32
|
+
✅ SQLite
|
|
33
|
+
✅ Cloudflare D1
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
This is the _Modern Typescript Documentation_. Are you looking for the [_Classic Documentation_](https://github.com/alfateam/orange-orm/blob/master/docs/docs.md) ?
|
|
@@ -319,6 +320,22 @@ import map from './map';
|
|
|
319
320
|
|
|
320
321
|
const db = map.http('http://localhost:3000/orange');
|
|
321
322
|
```
|
|
323
|
+
__Cloudflare D1__
|
|
324
|
+
<sub>📄 wrangler.toml</sub>
|
|
325
|
+
```toml
|
|
326
|
+
# Bind a D1 database. D1 is Cloudflare’s native serverless SQL database.
|
|
327
|
+
# Docs: https://developers.cloudflare.com/workers/wrangler/configuration/#d1-databases
|
|
328
|
+
[[d1_databases]]
|
|
329
|
+
binding = "DB"
|
|
330
|
+
database_name = "<your-name-for-the-database>"
|
|
331
|
+
database_id = "<your-guid-for-the-database>"
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
```javascript
|
|
335
|
+
import map from './map';
|
|
336
|
+
// Must match the binding name in wrangler.toml
|
|
337
|
+
const db = map.d1(env.DB);
|
|
338
|
+
```
|
|
322
339
|
__MySQL__
|
|
323
340
|
```bash
|
|
324
341
|
$ npm install mysql2
|
|
@@ -1580,6 +1597,8 @@ async function getRows() {
|
|
|
1580
1597
|
Within the transaction, a customer is retrieved and its balance updated using the tx object to ensure operations are transactional.
|
|
1581
1598
|
An error is deliberately thrown to demonstrate a rollback, ensuring all previous changes within the transaction are reverted.
|
|
1582
1599
|
Always use the provided tx object for operations within the transaction to maintain data integrity.</p>
|
|
1600
|
+
<p>(NOTE: Transactions are not supported for Cloudflare D1)</p>
|
|
1601
|
+
|
|
1583
1602
|
|
|
1584
1603
|
```javascript
|
|
1585
1604
|
import map from './map';
|
|
@@ -1597,6 +1616,7 @@ async function execute() {
|
|
|
1597
1616
|
}
|
|
1598
1617
|
|
|
1599
1618
|
```
|
|
1619
|
+
|
|
1600
1620
|
</details>
|
|
1601
1621
|
|
|
1602
1622
|
<details><summary><strong>Data types</strong></summary>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orange-orm",
|
|
3
|
-
"version": "4.5.0-beta.
|
|
3
|
+
"version": "4.5.0-beta.3",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"browser": "./src/client/index.mjs",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"mssql",
|
|
20
20
|
"Microsoft Sql Server",
|
|
21
21
|
"PostgreSql",
|
|
22
|
-
"Cloudflare D1",
|
|
23
22
|
"Postgres",
|
|
24
23
|
"pg",
|
|
25
24
|
"sap",
|
|
@@ -107,7 +106,8 @@
|
|
|
107
106
|
"devDependencies": {
|
|
108
107
|
"@cloudflare/workers-types": "^4.20241106.0",
|
|
109
108
|
"@miniflare/d1": "^2.14.4",
|
|
110
|
-
"@rollup/plugin-commonjs": "^
|
|
109
|
+
"@rollup/plugin-commonjs": "^28.0.2",
|
|
110
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
111
111
|
"@rollup/plugin-node-resolve": "^13.0.0",
|
|
112
112
|
"@typescript-eslint/eslint-plugin": "^6.x",
|
|
113
113
|
"@typescript-eslint/parser": "^6.x",
|
package/src/applyPatch.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
const fastjson = require('fast-json-patch');
|
|
2
|
-
let { inspect } = require('util');
|
|
3
|
-
let assert = require('assert');
|
|
4
2
|
let fromCompareObject = require('./fromCompareObject');
|
|
5
3
|
let toCompareObject = require('./toCompareObject');
|
|
6
4
|
|
|
@@ -43,12 +41,12 @@ function applyPatch({ options = {} }, dto, changes, column) {
|
|
|
43
41
|
assertDatesEqual(oldValue, expectedOldValue);
|
|
44
42
|
}
|
|
45
43
|
else
|
|
46
|
-
|
|
44
|
+
assertDeepEqual(oldValue, expectedOldValue);
|
|
47
45
|
}
|
|
48
46
|
catch (e) {
|
|
49
47
|
if (concurrency === 'skipOnConflict')
|
|
50
48
|
return false;
|
|
51
|
-
throw new Error(`The field ${change.path.replace('/', '')} was changed by another user. Expected ${inspect(fromCompareObject(expectedOldValue)
|
|
49
|
+
throw new Error(`The field ${change.path.replace('/', '')} was changed by another user. Expected ${inspect(fromCompareObject(expectedOldValue))}, but was ${inspect(fromCompareObject(oldValue))}.`);
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
52
|
return true;
|
|
@@ -99,7 +97,16 @@ function assertDatesEqual(date1, date2) {
|
|
|
99
97
|
date1 = `${parts1[0]}T${time1parts[0]}`;
|
|
100
98
|
date2 = `${parts2[0]}T${time2parts[0]}`;
|
|
101
99
|
}
|
|
102
|
-
|
|
100
|
+
assertDeepEqual(date1, date2);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function assertDeepEqual(a, b) {
|
|
104
|
+
if (JSON.stringify(a) !== JSON.stringify(b))
|
|
105
|
+
throw new Error('A, b are not equal');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function inspect(obj) {
|
|
109
|
+
return JSON.stringify(obj, null, 2);
|
|
103
110
|
}
|
|
104
111
|
|
|
105
112
|
module.exports = applyPatch;
|