orange-orm 4.5.0-beta.4 → 4.5.1-beta.1
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 +12 -12
- package/{src/client/index.mjs → dist/index.browser.mjs} +30 -9
- package/dist/index.mjs +20001 -0
- package/docs/docs.md +1 -0
- package/package.json +14 -4
- package/src/bunPg/newDatabase.js +137 -0
- package/src/bunPg/newPool.js +19 -0
- package/src/bunPg/pool/end.js +13 -0
- package/src/bunPg/pool/newPgPool.js +98 -0
- package/src/bunPg/wrapQuery.js +33 -0
- package/src/bunSqlite/newPool.js +19 -0
- package/src/bunSqlite/newTransaction.js +83 -0
- package/src/bunSqlite/pool/newGenericPool.js +55 -0
- package/src/bunSqlite/wrapQuery.js +23 -0
- package/src/index.js +16 -3
- package/src/merge-browser.js +9 -0
- package/src/merge-server.js +9 -0
- package/src/mssql/pool/newGenericPool.js +9 -2
- package/src/mySql/pool/newGenericPool.js +11 -2
- package/src/nodeSqlite/decodeBinary.js +9 -0
- package/src/nodeSqlite/encodeBinary.js +20 -0
- package/src/nodeSqlite/newDatabase.js +116 -0
- package/src/nodeSqlite/newPool.js +19 -0
- package/src/nodeSqlite/newTransaction.js +87 -0
- package/src/nodeSqlite/pool/newGenericPool.js +50 -0
- package/src/nodeSqlite/wrapQuery.js +23 -0
- package/src/oracle/pool/newGenericPool.js +13 -5
- package/src/pg/newDatabase.js +0 -5
- package/src/pg/pool/newPgPool.js +15 -3
- package/src/{client/rollup.config.js → rollup.config.browser.js} +1 -1
- package/src/rollup.config.server.js +32 -0
- package/src/runtimes.js +24 -0
- package/src/sqlite3/deleteFromSql.js +10 -0
- package/src/sqlite3/encodeBoolean.js +7 -0
- package/src/sqlite3/encodeBuffer.js +7 -0
- package/src/sqlite3/insert.js +21 -0
- package/src/sqlite3/insertSql.js +67 -0
- package/src/sqlite3/lastInsertedSql.js +12 -0
- package/src/sqlite3/limitAndOffset.js +18 -0
- package/src/sqlite3/newDatabase.js +116 -0
- package/src/sqlite3/newTransaction.js +83 -0
- package/src/sqlite3/pool/end.js +13 -0
- package/src/{sqlite → sqlite3}/pool/newGenericPool.js +10 -2
- package/src/sqlite3/quote.js +1 -0
- package/src/sqlite3/selectForUpdateSql.js +5 -0
- package/src/table/column/binary/newDecode.js +13 -2
- package/src/table/column/binary/newEncode.js +16 -6
- package/src/table/resultToRows/newDecodeDbRow.js +1 -1
- package/src/tedious/pool/newGenericPool.js +8 -2
- package/src/tedious/wrapQuery.js +40 -17
- package/src/client/merge.js +0 -9
- /package/src/{sqlite → bunSqlite}/newDatabase.js +0 -0
- /package/src/{sqlite → sqlite3}/newPool.js +0 -0
- /package/src/{sqlite → sqlite3}/wrapQuery.js +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
let createDomain = require('../createDomain');
|
|
2
|
+
let newTransaction = require('./newTransaction');
|
|
3
|
+
let _begin = require('../table/begin');
|
|
4
|
+
let commit = require('../table/commit');
|
|
5
|
+
let rollback = require('../table/rollback');
|
|
6
|
+
let newPool = require('./newPool');
|
|
7
|
+
let express = require('../hostExpress');
|
|
8
|
+
let hostLocal = require('../hostLocal');
|
|
9
|
+
let doQuery = require('../query');
|
|
10
|
+
let releaseDbClient = require('../table/releaseDbClient');
|
|
11
|
+
let setSessionSingleton = require('../table/setSessionSingleton');
|
|
12
|
+
|
|
13
|
+
function newDatabase(connectionString, poolOptions) {
|
|
14
|
+
if (!connectionString)
|
|
15
|
+
throw new Error('Connection string cannot be empty');
|
|
16
|
+
var pool;
|
|
17
|
+
if (!poolOptions)
|
|
18
|
+
pool = newPool.bind(null,connectionString, poolOptions);
|
|
19
|
+
else
|
|
20
|
+
pool = newPool(connectionString, poolOptions);
|
|
21
|
+
|
|
22
|
+
let c = {poolFactory: pool, hostLocal, express};
|
|
23
|
+
|
|
24
|
+
c.transaction = function(options, fn) {
|
|
25
|
+
if ((arguments.length === 1) && (typeof options === 'function')) {
|
|
26
|
+
fn = options;
|
|
27
|
+
options = undefined;
|
|
28
|
+
}
|
|
29
|
+
let domain = createDomain();
|
|
30
|
+
|
|
31
|
+
if (fn)
|
|
32
|
+
return domain.run(runInTransaction);
|
|
33
|
+
else
|
|
34
|
+
return domain.run(run);
|
|
35
|
+
|
|
36
|
+
function begin() {
|
|
37
|
+
return _begin(domain, options);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function runInTransaction() {
|
|
41
|
+
let result;
|
|
42
|
+
let transaction = newTransaction(domain, pool, options);
|
|
43
|
+
await new Promise(transaction)
|
|
44
|
+
.then(begin)
|
|
45
|
+
.then(() => fn(domain))
|
|
46
|
+
.then((res) => result = res)
|
|
47
|
+
.then(() => commit(domain))
|
|
48
|
+
.then(null, (e) => rollback(domain, e));
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function run() {
|
|
53
|
+
let p;
|
|
54
|
+
let transaction = newTransaction(domain, pool, options);
|
|
55
|
+
p = new Promise(transaction);
|
|
56
|
+
|
|
57
|
+
return p.then(begin);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
c.createTransaction = function(options) {
|
|
63
|
+
let domain = createDomain();
|
|
64
|
+
let transaction = newTransaction(domain, pool);
|
|
65
|
+
let p = domain.run(() => new Promise(transaction).then(begin));
|
|
66
|
+
|
|
67
|
+
function run(fn) {
|
|
68
|
+
return p.then(() => fn(domain));
|
|
69
|
+
}
|
|
70
|
+
run.rollback = rollback.bind(null, domain);
|
|
71
|
+
run.commit = commit.bind(null, domain);
|
|
72
|
+
return run;
|
|
73
|
+
|
|
74
|
+
function begin() {
|
|
75
|
+
return _begin(domain, options);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
c.query = function(query) {
|
|
80
|
+
let domain = createDomain();
|
|
81
|
+
let transaction = newTransaction(domain, pool);
|
|
82
|
+
let p = domain.run(() => new Promise(transaction)
|
|
83
|
+
.then(() => setSessionSingleton(domain, 'changes', []))
|
|
84
|
+
.then(() => doQuery(domain, query).then(onResult, onError)));
|
|
85
|
+
return p;
|
|
86
|
+
|
|
87
|
+
function onResult(result) {
|
|
88
|
+
releaseDbClient(domain);
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function onError(e) {
|
|
93
|
+
releaseDbClient(domain);
|
|
94
|
+
throw e;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
c.rollback = rollback;
|
|
100
|
+
c.commit = commit;
|
|
101
|
+
|
|
102
|
+
c.end = function() {
|
|
103
|
+
if (poolOptions)
|
|
104
|
+
return pool.end();
|
|
105
|
+
else
|
|
106
|
+
return Promise.resolve();
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
c.accept = function(caller) {
|
|
110
|
+
caller.visitSqlite();
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
return c;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
module.exports = newDatabase;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
const wrapQuery = require('./wrapQuery');
|
|
2
|
+
const encodeBoolean = require('./encodeBoolean');
|
|
3
|
+
const deleteFromSql = require('./deleteFromSql');
|
|
4
|
+
const selectForUpdateSql = require('./selectForUpdateSql');
|
|
5
|
+
const lastInsertedSql = require('./lastInsertedSql');
|
|
6
|
+
const limitAndOffset = require('./limitAndOffset');
|
|
7
|
+
const insertSql = require('./insertSql');
|
|
8
|
+
const insert = require('./insert');
|
|
9
|
+
const quote = require('./quote');
|
|
10
|
+
|
|
11
|
+
function newResolveTransaction(domain, pool, { readonly = false } = {}) {
|
|
12
|
+
var rdb = {poolFactory: pool};
|
|
13
|
+
if (!pool.connect) {
|
|
14
|
+
pool = pool();
|
|
15
|
+
rdb.pool = pool;
|
|
16
|
+
}
|
|
17
|
+
rdb.engine = 'sqlite';
|
|
18
|
+
rdb.encodeBoolean = encodeBoolean;
|
|
19
|
+
rdb.decodeJSON = decodeJSON;
|
|
20
|
+
rdb.encodeJSON = JSON.stringify;
|
|
21
|
+
rdb.deleteFromSql = deleteFromSql;
|
|
22
|
+
rdb.selectForUpdateSql = selectForUpdateSql;
|
|
23
|
+
rdb.lastInsertedSql = lastInsertedSql;
|
|
24
|
+
rdb.insertSql = insertSql;
|
|
25
|
+
rdb.insert = insert;
|
|
26
|
+
rdb.lastInsertedIsSeparate = true;
|
|
27
|
+
rdb.multipleStatements = false;
|
|
28
|
+
rdb.limitAndOffset = limitAndOffset;
|
|
29
|
+
rdb.accept = function(caller) {
|
|
30
|
+
caller.visitSqlite();
|
|
31
|
+
};
|
|
32
|
+
rdb.aggregateCount = 0;
|
|
33
|
+
rdb.quote = quote;
|
|
34
|
+
|
|
35
|
+
if (readonly) {
|
|
36
|
+
rdb.dbClient = {
|
|
37
|
+
executeQuery: function(query, callback) {
|
|
38
|
+
pool.connect((err, client, done) => {
|
|
39
|
+
if (err) {
|
|
40
|
+
return callback(err);
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
wrapQuery(client)(query, (err, res) => {
|
|
44
|
+
done();
|
|
45
|
+
callback(err, res);
|
|
46
|
+
});
|
|
47
|
+
} catch (e) {
|
|
48
|
+
done();
|
|
49
|
+
callback(e);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
domain.rdb = rdb;
|
|
55
|
+
return (onSuccess) => onSuccess();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return function(onSuccess, onError) {
|
|
59
|
+
pool.connect(onConnected);
|
|
60
|
+
|
|
61
|
+
function onConnected(err, client, done) {
|
|
62
|
+
try {
|
|
63
|
+
if (err) {
|
|
64
|
+
onError(err);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
client.executeQuery = wrapQuery(client);
|
|
68
|
+
rdb.dbClient = client;
|
|
69
|
+
rdb.dbClientDone = done;
|
|
70
|
+
domain.rdb = rdb;
|
|
71
|
+
onSuccess();
|
|
72
|
+
} catch (e) {
|
|
73
|
+
onError(e);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function decodeJSON(value) {
|
|
80
|
+
return JSON.parse(value);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
module.exports = newResolveTransaction;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var defaults = require('../../poolDefaults');
|
|
3
3
|
|
|
4
4
|
var genericPool = require('../../generic-pool');
|
|
5
|
-
var sqlite
|
|
5
|
+
var sqlite;
|
|
6
6
|
|
|
7
7
|
function newGenericPool(connectionString, poolOptions) {
|
|
8
8
|
poolOptions = poolOptions || {};
|
|
@@ -11,7 +11,15 @@ function newGenericPool(connectionString, poolOptions) {
|
|
|
11
11
|
idleTimeoutMillis: poolOptions.idleTimeout || defaults.poolIdleTimeout,
|
|
12
12
|
reapIntervalMillis: poolOptions.reapIntervalMillis || defaults.reapIntervalMillis,
|
|
13
13
|
log: poolOptions.log || defaults.poolLog,
|
|
14
|
-
create: function(cb) {
|
|
14
|
+
create: async function(cb) {
|
|
15
|
+
try {
|
|
16
|
+
if (!sqlite)
|
|
17
|
+
sqlite = await import('sqlite3');
|
|
18
|
+
sqlite = sqlite.default || sqlite;
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
return cb(err, null);
|
|
22
|
+
}
|
|
15
23
|
var client = new sqlite.Database(connectionString, onConnected);
|
|
16
24
|
|
|
17
25
|
function onConnected(err) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = (name) => `"${name}"`;
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
var newDecodeCore = require('../newDecodeCore');
|
|
2
|
+
var getSessionSingleton = require('../../getSessionSingleton');
|
|
2
3
|
|
|
3
4
|
function _new(column) {
|
|
4
5
|
var decodeCore = newDecodeCore(column);
|
|
5
6
|
|
|
6
7
|
return function(context, value) {
|
|
8
|
+
|
|
9
|
+
var toBase64 = getSessionSingleton(context, 'decodeBinary') || toBase64Default;
|
|
10
|
+
|
|
7
11
|
value = decodeCore(context, value);
|
|
8
12
|
if (value === null)
|
|
9
13
|
return value;
|
|
10
|
-
else
|
|
11
|
-
|
|
14
|
+
else {
|
|
15
|
+
const ret = toBase64(value);
|
|
16
|
+
return ret;
|
|
17
|
+
}
|
|
12
18
|
};
|
|
13
19
|
}
|
|
14
20
|
|
|
21
|
+
function toBase64Default(buffer) {
|
|
22
|
+
return buffer.toString('base64');
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
15
26
|
module.exports = _new;
|
|
@@ -1,26 +1,36 @@
|
|
|
1
1
|
var purify = require('./purify');
|
|
2
2
|
var newParam = require('../../query/newParameterized');
|
|
3
|
+
var getSessionSingleton = require('../../getSessionSingleton');
|
|
3
4
|
|
|
4
5
|
function _new(_column) {
|
|
5
6
|
|
|
6
|
-
function encode(
|
|
7
|
+
function encode(context, value) {
|
|
7
8
|
value = purify(value);
|
|
8
9
|
if (value === null)
|
|
9
10
|
return newParam('null');
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
var encodeCore = getSessionSingleton(context, 'encodeBinary') || encodeDefault;
|
|
13
|
+
const enc = encodeCore(value);
|
|
14
|
+
return newParam('?', [enc]);
|
|
11
15
|
}
|
|
12
|
-
encode.unsafe = function(
|
|
16
|
+
encode.unsafe = function(context, value) {
|
|
13
17
|
value = purify(value);
|
|
14
18
|
if (value === null)
|
|
15
19
|
return 'null';
|
|
16
|
-
|
|
20
|
+
var encodeCore = getSessionSingleton(context, 'encodeBinary') || encodeDefault;
|
|
21
|
+
return encodeCore(value);
|
|
17
22
|
};
|
|
18
23
|
|
|
19
|
-
encode.direct = function(
|
|
20
|
-
|
|
24
|
+
encode.direct = function(context, value) {
|
|
25
|
+
var encodeCore = getSessionSingleton(context, 'encodeBinary') || encodeDefault;
|
|
26
|
+
return encodeCore(value);
|
|
21
27
|
};
|
|
22
28
|
|
|
23
29
|
return encode;
|
|
24
30
|
}
|
|
25
31
|
|
|
32
|
+
function encodeDefault(base64) {
|
|
33
|
+
return Buffer.from(base64, 'base64');
|
|
34
|
+
}
|
|
35
|
+
|
|
26
36
|
module.exports = _new;
|
|
@@ -207,7 +207,7 @@ function newDecodeDbRow(table, dbRow, filteredAliases, shouldValidate, isInsert)
|
|
|
207
207
|
for (let i = 0; i < numberOfColumns; i++) {
|
|
208
208
|
let index = offset + i;
|
|
209
209
|
let key = keys[index];
|
|
210
|
-
if (row[key] !== undefined)
|
|
210
|
+
if (row[key] !== undefined && !isInsert)
|
|
211
211
|
row[key] = columns[i].decode(context, row[key]);
|
|
212
212
|
if (shouldValidate && columns[i].validate)
|
|
213
213
|
columns[i].validate(row[key], row, isInsert);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var defaults = require('../../poolDefaults');
|
|
5
5
|
var genericPool = require('../../generic-pool');
|
|
6
|
-
var tedious
|
|
6
|
+
var tedious;
|
|
7
7
|
var parseConnectionString = require('./parseConnectionString');
|
|
8
8
|
|
|
9
9
|
function newGenericPool(connectionString, poolOptions) {
|
|
@@ -17,7 +17,13 @@ function newGenericPool(connectionString, poolOptions) {
|
|
|
17
17
|
idleTimeoutMillis: poolOptions.idleTimeout || defaults.poolIdleTimeout,
|
|
18
18
|
reapIntervalMillis: poolOptions.reapIntervalMillis || defaults.reapIntervalMillis,
|
|
19
19
|
log: poolOptions.log || defaults.poolLog,
|
|
20
|
-
create: function(cb) {
|
|
20
|
+
create: async function(cb) {
|
|
21
|
+
try {
|
|
22
|
+
if (!tedious)
|
|
23
|
+
tedious = await import('tedious');
|
|
24
|
+
} catch (err) {
|
|
25
|
+
return cb(err, null);
|
|
26
|
+
}
|
|
21
27
|
var client = new tedious.Connection(connectionString);
|
|
22
28
|
client.on('connect', onConnected);
|
|
23
29
|
client.connect();
|
package/src/tedious/wrapQuery.js
CHANGED
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
var log = require('../table/log');
|
|
2
|
-
var { Request, TYPES } = require('tedious');
|
|
3
2
|
|
|
4
3
|
function wrapQuery(connection) {
|
|
4
|
+
let CachedRequest = null;
|
|
5
|
+
let CachedTypes = null;
|
|
6
|
+
|
|
5
7
|
return runQuery;
|
|
6
8
|
|
|
7
9
|
function runQuery(query, onCompleted) {
|
|
10
|
+
if (!CachedRequest || !CachedTypes) {
|
|
11
|
+
import('tedious')
|
|
12
|
+
.then(({ Request, TYPES }) => {
|
|
13
|
+
CachedRequest = Request;
|
|
14
|
+
CachedTypes = TYPES;
|
|
15
|
+
doQuery(query, onCompleted);
|
|
16
|
+
})
|
|
17
|
+
.catch(err => onCompleted(extractError(err), []));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
doQuery(query, onCompleted);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function doQuery(query, onCompleted) {
|
|
8
25
|
const result = [];
|
|
9
26
|
const sql = replaceParamChar(query.sql(), query.parameters);
|
|
27
|
+
|
|
28
|
+
// Transaction statements
|
|
10
29
|
if (sql.length < 18 && query.parameters.length === 0) {
|
|
11
30
|
if (sql === 'BEGIN TRANSACTION') {
|
|
12
31
|
log.emitQuery({ sql, parameters: [] });
|
|
@@ -30,38 +49,45 @@ function wrapQuery(connection) {
|
|
|
30
49
|
return;
|
|
31
50
|
}
|
|
32
51
|
}
|
|
52
|
+
|
|
33
53
|
let keys;
|
|
34
|
-
|
|
35
|
-
|
|
54
|
+
// Now we can safely create Request using CachedRequest
|
|
55
|
+
var request = new CachedRequest(sql, onInnerCompleted);
|
|
56
|
+
const params = addParameters(request, query.parameters, CachedTypes);
|
|
57
|
+
|
|
36
58
|
request.on('row', rows => {
|
|
37
59
|
const tmp = {};
|
|
38
60
|
if (!keys) {
|
|
39
61
|
keys = Object.keys(rows);
|
|
40
62
|
}
|
|
41
|
-
keys.forEach(
|
|
63
|
+
keys.forEach(cols => {
|
|
42
64
|
tmp[cols] = rows[cols].value;
|
|
43
65
|
});
|
|
44
66
|
result.push(tmp);
|
|
45
67
|
});
|
|
68
|
+
|
|
46
69
|
log.emitQuery({ sql, parameters: params });
|
|
47
70
|
connection.execSql(request);
|
|
48
71
|
|
|
49
72
|
function onInnerCompleted(err) {
|
|
50
73
|
if (err) {
|
|
51
74
|
onCompleted(extractError(err));
|
|
52
|
-
}
|
|
53
|
-
else
|
|
75
|
+
} else {
|
|
54
76
|
onCompleted(null, result);
|
|
77
|
+
}
|
|
55
78
|
}
|
|
56
79
|
}
|
|
80
|
+
}
|
|
57
81
|
|
|
58
|
-
|
|
59
|
-
if (e && e.errors)
|
|
60
|
-
return e.errors[0];
|
|
61
|
-
else
|
|
62
|
-
return e;
|
|
63
|
-
}
|
|
82
|
+
// same helpers as before
|
|
64
83
|
|
|
84
|
+
function extractError(e) {
|
|
85
|
+
if (e && e.errors) {
|
|
86
|
+
return e.errors[0];
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return e;
|
|
90
|
+
}
|
|
65
91
|
}
|
|
66
92
|
|
|
67
93
|
function replaceParamChar(sql, params) {
|
|
@@ -77,7 +103,7 @@ function replaceParamChar(sql, params) {
|
|
|
77
103
|
return sql;
|
|
78
104
|
}
|
|
79
105
|
|
|
80
|
-
function addParameters(request, params) {
|
|
106
|
+
function addParameters(request, params, TYPES) {
|
|
81
107
|
const res = [];
|
|
82
108
|
for (let i = 0; i < params.length; i++) {
|
|
83
109
|
const p = [`${i}`, toType(params[i]), params[i]];
|
|
@@ -93,7 +119,6 @@ function addParameters(request, params) {
|
|
|
93
119
|
return TYPES.Int;
|
|
94
120
|
else if (typeof p === 'number')
|
|
95
121
|
return TYPES.Money;
|
|
96
|
-
// @ts-ignore
|
|
97
122
|
else if (p instanceof Date && !isNaN(p))
|
|
98
123
|
return TYPES.Date;
|
|
99
124
|
else if (Array.isArray(p))
|
|
@@ -104,9 +129,7 @@ function addParameters(request, params) {
|
|
|
104
129
|
return TYPES.NVarChar;
|
|
105
130
|
else
|
|
106
131
|
throw new Error('Unknown data type');
|
|
107
|
-
|
|
108
132
|
}
|
|
109
|
-
|
|
110
133
|
}
|
|
111
134
|
|
|
112
|
-
module.exports = wrapQuery;
|
|
135
|
+
module.exports = wrapQuery;
|
package/src/client/merge.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const fs = require('fs').promises;
|
|
2
|
-
|
|
3
|
-
async function merge() {
|
|
4
|
-
let data1 = await fs.readFile('./src/client/self.js', 'utf8');
|
|
5
|
-
let data2 = await fs.readFile('./src/client/index.mjs', 'utf8');
|
|
6
|
-
await fs.writeFile('./src/client/index.mjs', data1 + data2);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
merge();
|
|
File without changes
|
|
File without changes
|
|
File without changes
|