@xata.io/client 0.0.0-alpha.vf45a2df → 0.0.0-alpha.vf4789c2
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/CHANGELOG.md +18 -0
- package/dist/index.cjs +177 -100
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +112 -20
- package/dist/index.mjs +159 -101
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
@@ -22,35 +22,83 @@ function toBase64(value) {
|
|
22
22
|
}
|
23
23
|
}
|
24
24
|
|
25
|
-
function
|
25
|
+
function getEnvironment() {
|
26
26
|
try {
|
27
|
-
if (isObject(process) &&
|
28
|
-
return
|
27
|
+
if (isObject(process) && isObject(process.env)) {
|
28
|
+
return {
|
29
|
+
apiKey: process.env.XATA_API_KEY ?? getGlobalApiKey(),
|
30
|
+
databaseURL: process.env.XATA_DATABASE_URL ?? getGlobalDatabaseURL(),
|
31
|
+
branch: process.env.XATA_BRANCH ?? getGlobalBranch(),
|
32
|
+
envBranch: process.env.VERCEL_GIT_COMMIT_REF ?? process.env.CF_PAGES_BRANCH ?? process.env.BRANCH,
|
33
|
+
fallbackBranch: process.env.XATA_FALLBACK_BRANCH ?? getGlobalFallbackBranch()
|
34
|
+
};
|
29
35
|
}
|
30
36
|
} catch (err) {
|
31
37
|
}
|
32
38
|
try {
|
33
|
-
if (isObject(Deno) &&
|
34
|
-
return
|
39
|
+
if (isObject(Deno) && isObject(Deno.env)) {
|
40
|
+
return {
|
41
|
+
apiKey: Deno.env.get("XATA_API_KEY") ?? getGlobalApiKey(),
|
42
|
+
databaseURL: Deno.env.get("XATA_DATABASE_URL") ?? getGlobalDatabaseURL(),
|
43
|
+
branch: Deno.env.get("XATA_BRANCH") ?? getGlobalBranch(),
|
44
|
+
envBranch: Deno.env.get("VERCEL_GIT_COMMIT_REF") ?? Deno.env.get("CF_PAGES_BRANCH") ?? Deno.env.get("BRANCH"),
|
45
|
+
fallbackBranch: Deno.env.get("XATA_FALLBACK_BRANCH") ?? getGlobalFallbackBranch()
|
46
|
+
};
|
35
47
|
}
|
36
48
|
} catch (err) {
|
37
49
|
}
|
50
|
+
return {
|
51
|
+
apiKey: getGlobalApiKey(),
|
52
|
+
databaseURL: getGlobalDatabaseURL(),
|
53
|
+
branch: getGlobalBranch(),
|
54
|
+
envBranch: void 0,
|
55
|
+
fallbackBranch: getGlobalFallbackBranch()
|
56
|
+
};
|
57
|
+
}
|
58
|
+
function getGlobalApiKey() {
|
59
|
+
try {
|
60
|
+
return XATA_API_KEY;
|
61
|
+
} catch (err) {
|
62
|
+
return void 0;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
function getGlobalDatabaseURL() {
|
66
|
+
try {
|
67
|
+
return XATA_DATABASE_URL;
|
68
|
+
} catch (err) {
|
69
|
+
return void 0;
|
70
|
+
}
|
71
|
+
}
|
72
|
+
function getGlobalBranch() {
|
73
|
+
try {
|
74
|
+
return XATA_BRANCH;
|
75
|
+
} catch (err) {
|
76
|
+
return void 0;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
function getGlobalFallbackBranch() {
|
80
|
+
try {
|
81
|
+
return XATA_FALLBACK_BRANCH;
|
82
|
+
} catch (err) {
|
83
|
+
return void 0;
|
84
|
+
}
|
38
85
|
}
|
39
86
|
async function getGitBranch() {
|
87
|
+
const cmd = ["git", "branch", "--show-current"];
|
88
|
+
const fullCmd = cmd.join(" ");
|
89
|
+
const nodeModule = ["child", "process"].join("_");
|
90
|
+
const execOptions = { encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] };
|
40
91
|
try {
|
41
92
|
if (typeof require === "function") {
|
42
|
-
|
43
|
-
return req("child_process").execSync("git branch --show-current", { encoding: "utf-8" }).trim();
|
93
|
+
return require(nodeModule).execSync(fullCmd, execOptions).trim();
|
44
94
|
}
|
95
|
+
const { execSync } = await import(nodeModule);
|
96
|
+
return execSync(fullCmd, execOptions).toString().trim();
|
45
97
|
} catch (err) {
|
46
98
|
}
|
47
99
|
try {
|
48
100
|
if (isObject(Deno)) {
|
49
|
-
const process2 = Deno.run({
|
50
|
-
cmd: ["git", "branch", "--show-current"],
|
51
|
-
stdout: "piped",
|
52
|
-
stderr: "piped"
|
53
|
-
});
|
101
|
+
const process2 = Deno.run({ cmd, stdout: "piped", stderr: "null" });
|
54
102
|
return new TextDecoder().decode(await process2.output()).trim();
|
55
103
|
}
|
56
104
|
} catch (err) {
|
@@ -59,7 +107,8 @@ async function getGitBranch() {
|
|
59
107
|
|
60
108
|
function getAPIKey() {
|
61
109
|
try {
|
62
|
-
|
110
|
+
const { apiKey } = getEnvironment();
|
111
|
+
return apiKey;
|
63
112
|
} catch (err) {
|
64
113
|
return void 0;
|
65
114
|
}
|
@@ -74,7 +123,7 @@ function getFetchImplementation(userFetch) {
|
|
74
123
|
return fetchImpl;
|
75
124
|
}
|
76
125
|
|
77
|
-
const VERSION = "0.0.0-alpha.
|
126
|
+
const VERSION = "0.0.0-alpha.vf4789c2";
|
78
127
|
|
79
128
|
class ErrorWithCause extends Error {
|
80
129
|
constructor(message, options) {
|
@@ -239,6 +288,7 @@ const removeWorkspaceMember = (variables) => fetch$1({
|
|
239
288
|
...variables
|
240
289
|
});
|
241
290
|
const inviteWorkspaceMember = (variables) => fetch$1({ url: "/workspaces/{workspaceId}/invites", method: "post", ...variables });
|
291
|
+
const updateWorkspaceMemberInvite = (variables) => fetch$1({ url: "/workspaces/{workspaceId}/invites/{inviteId}", method: "patch", ...variables });
|
242
292
|
const cancelWorkspaceMemberInvite = (variables) => fetch$1({
|
243
293
|
url: "/workspaces/{workspaceId}/invites/{inviteId}",
|
244
294
|
method: "delete",
|
@@ -411,6 +461,7 @@ const operationsByTag = {
|
|
411
461
|
updateWorkspaceMemberRole,
|
412
462
|
removeWorkspaceMember,
|
413
463
|
inviteWorkspaceMember,
|
464
|
+
updateWorkspaceMemberInvite,
|
414
465
|
cancelWorkspaceMemberInvite,
|
415
466
|
resendWorkspaceMemberInvite,
|
416
467
|
acceptWorkspaceMemberInvite
|
@@ -500,7 +551,7 @@ var __privateAdd$7 = (obj, member, value) => {
|
|
500
551
|
throw TypeError("Cannot add the same private member more than once");
|
501
552
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
502
553
|
};
|
503
|
-
var __privateSet$
|
554
|
+
var __privateSet$7 = (obj, member, value, setter) => {
|
504
555
|
__accessCheck$7(obj, member, "write to private field");
|
505
556
|
setter ? setter.call(obj, value) : member.set(obj, value);
|
506
557
|
return value;
|
@@ -515,7 +566,7 @@ class XataApiClient {
|
|
515
566
|
if (!apiKey) {
|
516
567
|
throw new Error("Could not resolve a valid apiKey");
|
517
568
|
}
|
518
|
-
__privateSet$
|
569
|
+
__privateSet$7(this, _extraProps, {
|
519
570
|
apiUrl: getHostUrl(provider, "main"),
|
520
571
|
workspacesApiUrl: getHostUrl(provider, "workspaces"),
|
521
572
|
fetchImpl: getFetchImplementation(options.fetch),
|
@@ -642,6 +693,13 @@ class WorkspaceApi {
|
|
642
693
|
...this.extraProps
|
643
694
|
});
|
644
695
|
}
|
696
|
+
updateWorkspaceMemberInvite(workspaceId, inviteId, role) {
|
697
|
+
return operationsByTag.workspaces.updateWorkspaceMemberInvite({
|
698
|
+
pathParams: { workspaceId, inviteId },
|
699
|
+
body: { role },
|
700
|
+
...this.extraProps
|
701
|
+
});
|
702
|
+
}
|
645
703
|
cancelWorkspaceMemberInvite(workspaceId, inviteId) {
|
646
704
|
return operationsByTag.workspaces.cancelWorkspaceMemberInvite({
|
647
705
|
pathParams: { workspaceId, inviteId },
|
@@ -952,7 +1010,7 @@ var __privateAdd$6 = (obj, member, value) => {
|
|
952
1010
|
throw TypeError("Cannot add the same private member more than once");
|
953
1011
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
954
1012
|
};
|
955
|
-
var __privateSet$
|
1013
|
+
var __privateSet$6 = (obj, member, value, setter) => {
|
956
1014
|
__accessCheck$6(obj, member, "write to private field");
|
957
1015
|
setter ? setter.call(obj, value) : member.set(obj, value);
|
958
1016
|
return value;
|
@@ -961,7 +1019,7 @@ var _query, _page;
|
|
961
1019
|
class Page {
|
962
1020
|
constructor(query, meta, records = []) {
|
963
1021
|
__privateAdd$6(this, _query, void 0);
|
964
|
-
__privateSet$
|
1022
|
+
__privateSet$6(this, _query, query);
|
965
1023
|
this.meta = meta;
|
966
1024
|
this.records = new RecordArray(this, records);
|
967
1025
|
}
|
@@ -990,10 +1048,10 @@ function isCursorPaginationOptions(options) {
|
|
990
1048
|
return isDefined(options) && (isDefined(options.first) || isDefined(options.last) || isDefined(options.after) || isDefined(options.before));
|
991
1049
|
}
|
992
1050
|
const _RecordArray = class extends Array {
|
993
|
-
constructor(
|
994
|
-
super(..._RecordArray.parseConstructorParams(
|
1051
|
+
constructor(...args) {
|
1052
|
+
super(..._RecordArray.parseConstructorParams(...args));
|
995
1053
|
__privateAdd$6(this, _page, void 0);
|
996
|
-
__privateSet$
|
1054
|
+
__privateSet$6(this, _page, isObject(args[0]?.meta) ? args[0] : { meta: { page: { cursor: "", more: false } }, records: [] });
|
997
1055
|
}
|
998
1056
|
static parseConstructorParams(...args) {
|
999
1057
|
if (args.length === 1 && typeof args[0] === "number") {
|
@@ -1005,6 +1063,12 @@ const _RecordArray = class extends Array {
|
|
1005
1063
|
}
|
1006
1064
|
return new Array(...args);
|
1007
1065
|
}
|
1066
|
+
toArray() {
|
1067
|
+
return new Array(...this);
|
1068
|
+
}
|
1069
|
+
map(callbackfn, thisArg) {
|
1070
|
+
return this.toArray().map(callbackfn, thisArg);
|
1071
|
+
}
|
1008
1072
|
async nextPage(size, offset) {
|
1009
1073
|
const newPage = await __privateGet$6(this, _page).nextPage(size, offset);
|
1010
1074
|
return new _RecordArray(newPage);
|
@@ -1041,7 +1105,7 @@ var __privateAdd$5 = (obj, member, value) => {
|
|
1041
1105
|
throw TypeError("Cannot add the same private member more than once");
|
1042
1106
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
1043
1107
|
};
|
1044
|
-
var __privateSet$
|
1108
|
+
var __privateSet$5 = (obj, member, value, setter) => {
|
1045
1109
|
__accessCheck$5(obj, member, "write to private field");
|
1046
1110
|
setter ? setter.call(obj, value) : member.set(obj, value);
|
1047
1111
|
return value;
|
@@ -1054,11 +1118,11 @@ const _Query = class {
|
|
1054
1118
|
__privateAdd$5(this, _data, { filter: {} });
|
1055
1119
|
this.meta = { page: { cursor: "start", more: true } };
|
1056
1120
|
this.records = new RecordArray(this, []);
|
1057
|
-
__privateSet$
|
1121
|
+
__privateSet$5(this, _table$1, table);
|
1058
1122
|
if (repository) {
|
1059
|
-
__privateSet$
|
1123
|
+
__privateSet$5(this, _repository, repository);
|
1060
1124
|
} else {
|
1061
|
-
__privateSet$
|
1125
|
+
__privateSet$5(this, _repository, this);
|
1062
1126
|
}
|
1063
1127
|
const parent = cleanParent(data, rawParent);
|
1064
1128
|
__privateGet$5(this, _data).filter = data.filter ?? parent?.filter ?? {};
|
@@ -1235,7 +1299,7 @@ var __privateAdd$4 = (obj, member, value) => {
|
|
1235
1299
|
throw TypeError("Cannot add the same private member more than once");
|
1236
1300
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
1237
1301
|
};
|
1238
|
-
var __privateSet$
|
1302
|
+
var __privateSet$4 = (obj, member, value, setter) => {
|
1239
1303
|
__accessCheck$4(obj, member, "write to private field");
|
1240
1304
|
setter ? setter.call(obj, value) : member.set(obj, value);
|
1241
1305
|
return value;
|
@@ -1244,7 +1308,7 @@ var __privateMethod$2 = (obj, member, method) => {
|
|
1244
1308
|
__accessCheck$4(obj, member, "access private method");
|
1245
1309
|
return method;
|
1246
1310
|
};
|
1247
|
-
var _table, _getFetchProps, _cache,
|
1311
|
+
var _table, _getFetchProps, _cache, _schemaTables$2, _insertRecordWithoutId, insertRecordWithoutId_fn, _insertRecordWithId, insertRecordWithId_fn, _bulkInsertTableRecords, bulkInsertTableRecords_fn, _updateRecordWithID, updateRecordWithID_fn, _upsertRecordWithID, upsertRecordWithID_fn, _deleteRecord, deleteRecord_fn, _invalidateCache, invalidateCache_fn, _setCacheRecord, setCacheRecord_fn, _getCacheRecord, getCacheRecord_fn, _setCacheQuery, setCacheQuery_fn, _getCacheQuery, getCacheQuery_fn, _getSchemaTables$1, getSchemaTables_fn$1;
|
1248
1312
|
class Repository extends Query {
|
1249
1313
|
}
|
1250
1314
|
class RestRepository extends Query {
|
@@ -1261,15 +1325,16 @@ class RestRepository extends Query {
|
|
1261
1325
|
__privateAdd$4(this, _getCacheRecord);
|
1262
1326
|
__privateAdd$4(this, _setCacheQuery);
|
1263
1327
|
__privateAdd$4(this, _getCacheQuery);
|
1264
|
-
__privateAdd$4(this,
|
1328
|
+
__privateAdd$4(this, _getSchemaTables$1);
|
1265
1329
|
__privateAdd$4(this, _table, void 0);
|
1266
1330
|
__privateAdd$4(this, _getFetchProps, void 0);
|
1267
1331
|
__privateAdd$4(this, _cache, void 0);
|
1268
|
-
__privateAdd$4(this,
|
1269
|
-
__privateSet$
|
1270
|
-
__privateSet$
|
1332
|
+
__privateAdd$4(this, _schemaTables$2, void 0);
|
1333
|
+
__privateSet$4(this, _table, options.table);
|
1334
|
+
__privateSet$4(this, _getFetchProps, options.pluginOptions.getFetchProps);
|
1271
1335
|
this.db = options.db;
|
1272
|
-
__privateSet$
|
1336
|
+
__privateSet$4(this, _cache, options.pluginOptions.cache);
|
1337
|
+
__privateSet$4(this, _schemaTables$2, options.schemaTables);
|
1273
1338
|
}
|
1274
1339
|
async create(a, b) {
|
1275
1340
|
if (Array.isArray(a)) {
|
@@ -1318,8 +1383,8 @@ class RestRepository extends Query {
|
|
1318
1383
|
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}", tableName: __privateGet$4(this, _table), recordId: id },
|
1319
1384
|
...fetchProps
|
1320
1385
|
});
|
1321
|
-
const
|
1322
|
-
return initObject(this.db,
|
1386
|
+
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1387
|
+
return initObject(this.db, schemaTables, __privateGet$4(this, _table), response);
|
1323
1388
|
} catch (e) {
|
1324
1389
|
if (isObject(e) && e.status === 404) {
|
1325
1390
|
return null;
|
@@ -1408,8 +1473,8 @@ class RestRepository extends Query {
|
|
1408
1473
|
},
|
1409
1474
|
...fetchProps
|
1410
1475
|
});
|
1411
|
-
const
|
1412
|
-
return records.map((item) => initObject(this.db,
|
1476
|
+
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1477
|
+
return records.map((item) => initObject(this.db, schemaTables, __privateGet$4(this, _table), item));
|
1413
1478
|
}
|
1414
1479
|
async query(query) {
|
1415
1480
|
const cacheQuery = await __privateMethod$2(this, _getCacheQuery, getCacheQuery_fn).call(this, query);
|
@@ -1428,8 +1493,8 @@ class RestRepository extends Query {
|
|
1428
1493
|
body,
|
1429
1494
|
...fetchProps
|
1430
1495
|
});
|
1431
|
-
const
|
1432
|
-
const records = objects.map((record) => initObject(this.db,
|
1496
|
+
const schemaTables = await __privateMethod$2(this, _getSchemaTables$1, getSchemaTables_fn$1).call(this);
|
1497
|
+
const records = objects.map((record) => initObject(this.db, schemaTables, __privateGet$4(this, _table), record));
|
1433
1498
|
await __privateMethod$2(this, _setCacheQuery, setCacheQuery_fn).call(this, query, meta, records);
|
1434
1499
|
return new Page(query, meta, records);
|
1435
1500
|
}
|
@@ -1437,7 +1502,7 @@ class RestRepository extends Query {
|
|
1437
1502
|
_table = new WeakMap();
|
1438
1503
|
_getFetchProps = new WeakMap();
|
1439
1504
|
_cache = new WeakMap();
|
1440
|
-
|
1505
|
+
_schemaTables$2 = new WeakMap();
|
1441
1506
|
_insertRecordWithoutId = new WeakSet();
|
1442
1507
|
insertRecordWithoutId_fn = async function(object) {
|
1443
1508
|
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
@@ -1571,17 +1636,17 @@ getCacheQuery_fn = async function(query) {
|
|
1571
1636
|
const hasExpired = result.date.getTime() + ttl < Date.now();
|
1572
1637
|
return hasExpired ? null : result;
|
1573
1638
|
};
|
1574
|
-
|
1575
|
-
|
1576
|
-
if (__privateGet$4(this,
|
1577
|
-
return __privateGet$4(this,
|
1639
|
+
_getSchemaTables$1 = new WeakSet();
|
1640
|
+
getSchemaTables_fn$1 = async function() {
|
1641
|
+
if (__privateGet$4(this, _schemaTables$2))
|
1642
|
+
return __privateGet$4(this, _schemaTables$2);
|
1578
1643
|
const fetchProps = await __privateGet$4(this, _getFetchProps).call(this);
|
1579
1644
|
const { schema } = await getBranchDetails({
|
1580
1645
|
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}" },
|
1581
1646
|
...fetchProps
|
1582
1647
|
});
|
1583
|
-
__privateSet$
|
1584
|
-
return schema;
|
1648
|
+
__privateSet$4(this, _schemaTables$2, schema.tables);
|
1649
|
+
return schema.tables;
|
1585
1650
|
};
|
1586
1651
|
const transformObjectLinks = (object) => {
|
1587
1652
|
return Object.entries(object).reduce((acc, [key, value]) => {
|
@@ -1590,11 +1655,11 @@ const transformObjectLinks = (object) => {
|
|
1590
1655
|
return { ...acc, [key]: isIdentifiable(value) ? value.id : value };
|
1591
1656
|
}, {});
|
1592
1657
|
};
|
1593
|
-
const initObject = (db,
|
1658
|
+
const initObject = (db, schemaTables, table, object) => {
|
1594
1659
|
const result = {};
|
1595
1660
|
const { xata, ...rest } = object ?? {};
|
1596
1661
|
Object.assign(result, rest);
|
1597
|
-
const { columns } =
|
1662
|
+
const { columns } = schemaTables.find(({ name }) => name === table) ?? {};
|
1598
1663
|
if (!columns)
|
1599
1664
|
console.error(`Table ${table} not found in schema`);
|
1600
1665
|
for (const column of columns ?? []) {
|
@@ -1614,7 +1679,7 @@ const initObject = (db, schema, table, object) => {
|
|
1614
1679
|
if (!linkTable) {
|
1615
1680
|
console.error(`Failed to parse link for field ${column.name}`);
|
1616
1681
|
} else if (isObject(value)) {
|
1617
|
-
result[column.name] = initObject(db,
|
1682
|
+
result[column.name] = initObject(db, schemaTables, linkTable, value);
|
1618
1683
|
}
|
1619
1684
|
break;
|
1620
1685
|
}
|
@@ -1661,7 +1726,7 @@ var __privateAdd$3 = (obj, member, value) => {
|
|
1661
1726
|
throw TypeError("Cannot add the same private member more than once");
|
1662
1727
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
1663
1728
|
};
|
1664
|
-
var __privateSet$
|
1729
|
+
var __privateSet$3 = (obj, member, value, setter) => {
|
1665
1730
|
__accessCheck$3(obj, member, "write to private field");
|
1666
1731
|
setter ? setter.call(obj, value) : member.set(obj, value);
|
1667
1732
|
return value;
|
@@ -1670,7 +1735,7 @@ var _map;
|
|
1670
1735
|
class SimpleCache {
|
1671
1736
|
constructor(options = {}) {
|
1672
1737
|
__privateAdd$3(this, _map, void 0);
|
1673
|
-
__privateSet$
|
1738
|
+
__privateSet$3(this, _map, /* @__PURE__ */ new Map());
|
1674
1739
|
this.capacity = options.max ?? 500;
|
1675
1740
|
this.cacheRecords = options.cacheRecords ?? true;
|
1676
1741
|
this.defaultQueryTTL = options.defaultQueryTTL ?? 60 * 1e3;
|
@@ -1730,12 +1795,18 @@ var __privateAdd$2 = (obj, member, value) => {
|
|
1730
1795
|
throw TypeError("Cannot add the same private member more than once");
|
1731
1796
|
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
1732
1797
|
};
|
1733
|
-
var
|
1798
|
+
var __privateSet$2 = (obj, member, value, setter) => {
|
1799
|
+
__accessCheck$2(obj, member, "write to private field");
|
1800
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
1801
|
+
return value;
|
1802
|
+
};
|
1803
|
+
var _tables, _schemaTables$1;
|
1734
1804
|
class SchemaPlugin extends XataPlugin {
|
1735
|
-
constructor(
|
1805
|
+
constructor(schemaTables) {
|
1736
1806
|
super();
|
1737
|
-
this.tableNames = tableNames;
|
1738
1807
|
__privateAdd$2(this, _tables, {});
|
1808
|
+
__privateAdd$2(this, _schemaTables$1, void 0);
|
1809
|
+
__privateSet$2(this, _schemaTables$1, schemaTables);
|
1739
1810
|
}
|
1740
1811
|
build(pluginOptions) {
|
1741
1812
|
const db = new Proxy({}, {
|
@@ -1743,18 +1814,20 @@ class SchemaPlugin extends XataPlugin {
|
|
1743
1814
|
if (!isString(table))
|
1744
1815
|
throw new Error("Invalid table name");
|
1745
1816
|
if (__privateGet$2(this, _tables)[table] === void 0) {
|
1746
|
-
__privateGet$2(this, _tables)[table] = new RestRepository({ db, pluginOptions, table });
|
1817
|
+
__privateGet$2(this, _tables)[table] = new RestRepository({ db, pluginOptions, table, schemaTables: __privateGet$2(this, _schemaTables$1) });
|
1747
1818
|
}
|
1748
1819
|
return __privateGet$2(this, _tables)[table];
|
1749
1820
|
}
|
1750
1821
|
});
|
1751
|
-
|
1752
|
-
|
1822
|
+
const tableNames = __privateGet$2(this, _schemaTables$1)?.map(({ name }) => name) ?? [];
|
1823
|
+
for (const table of tableNames) {
|
1824
|
+
db[table] = new RestRepository({ db, pluginOptions, table, schemaTables: __privateGet$2(this, _schemaTables$1) });
|
1753
1825
|
}
|
1754
1826
|
return db;
|
1755
1827
|
}
|
1756
1828
|
}
|
1757
1829
|
_tables = new WeakMap();
|
1830
|
+
_schemaTables$1 = new WeakMap();
|
1758
1831
|
|
1759
1832
|
var __accessCheck$1 = (obj, member, msg) => {
|
1760
1833
|
if (!member.has(obj))
|
@@ -1778,39 +1851,40 @@ var __privateMethod$1 = (obj, member, method) => {
|
|
1778
1851
|
__accessCheck$1(obj, member, "access private method");
|
1779
1852
|
return method;
|
1780
1853
|
};
|
1781
|
-
var
|
1854
|
+
var _schemaTables, _search, search_fn, _getSchemaTables, getSchemaTables_fn;
|
1782
1855
|
class SearchPlugin extends XataPlugin {
|
1783
|
-
constructor(db) {
|
1856
|
+
constructor(db, schemaTables) {
|
1784
1857
|
super();
|
1785
1858
|
this.db = db;
|
1786
1859
|
__privateAdd$1(this, _search);
|
1787
|
-
__privateAdd$1(this,
|
1788
|
-
__privateAdd$1(this,
|
1860
|
+
__privateAdd$1(this, _getSchemaTables);
|
1861
|
+
__privateAdd$1(this, _schemaTables, void 0);
|
1862
|
+
__privateSet$1(this, _schemaTables, schemaTables);
|
1789
1863
|
}
|
1790
1864
|
build({ getFetchProps }) {
|
1791
1865
|
return {
|
1792
1866
|
all: async (query, options = {}) => {
|
1793
1867
|
const records = await __privateMethod$1(this, _search, search_fn).call(this, query, options, getFetchProps);
|
1794
|
-
const
|
1868
|
+
const schemaTables = await __privateMethod$1(this, _getSchemaTables, getSchemaTables_fn).call(this, getFetchProps);
|
1795
1869
|
return records.map((record) => {
|
1796
1870
|
const { table = "orphan" } = record.xata;
|
1797
|
-
return { table, record: initObject(this.db,
|
1871
|
+
return { table, record: initObject(this.db, schemaTables, table, record) };
|
1798
1872
|
});
|
1799
1873
|
},
|
1800
1874
|
byTable: async (query, options = {}) => {
|
1801
1875
|
const records = await __privateMethod$1(this, _search, search_fn).call(this, query, options, getFetchProps);
|
1802
|
-
const
|
1876
|
+
const schemaTables = await __privateMethod$1(this, _getSchemaTables, getSchemaTables_fn).call(this, getFetchProps);
|
1803
1877
|
return records.reduce((acc, record) => {
|
1804
1878
|
const { table = "orphan" } = record.xata;
|
1805
1879
|
const items = acc[table] ?? [];
|
1806
|
-
const item = initObject(this.db,
|
1880
|
+
const item = initObject(this.db, schemaTables, table, record);
|
1807
1881
|
return { ...acc, [table]: [...items, item] };
|
1808
1882
|
}, {});
|
1809
1883
|
}
|
1810
1884
|
};
|
1811
1885
|
}
|
1812
1886
|
}
|
1813
|
-
|
1887
|
+
_schemaTables = new WeakMap();
|
1814
1888
|
_search = new WeakSet();
|
1815
1889
|
search_fn = async function(query, options, getFetchProps) {
|
1816
1890
|
const fetchProps = await getFetchProps();
|
@@ -1822,38 +1896,32 @@ search_fn = async function(query, options, getFetchProps) {
|
|
1822
1896
|
});
|
1823
1897
|
return records;
|
1824
1898
|
};
|
1825
|
-
|
1826
|
-
|
1827
|
-
if (__privateGet$1(this,
|
1828
|
-
return __privateGet$1(this,
|
1899
|
+
_getSchemaTables = new WeakSet();
|
1900
|
+
getSchemaTables_fn = async function(getFetchProps) {
|
1901
|
+
if (__privateGet$1(this, _schemaTables))
|
1902
|
+
return __privateGet$1(this, _schemaTables);
|
1829
1903
|
const fetchProps = await getFetchProps();
|
1830
1904
|
const { schema } = await getBranchDetails({
|
1831
1905
|
pathParams: { workspace: "{workspaceId}", dbBranchName: "{dbBranch}" },
|
1832
1906
|
...fetchProps
|
1833
1907
|
});
|
1834
|
-
__privateSet$1(this,
|
1835
|
-
return schema;
|
1908
|
+
__privateSet$1(this, _schemaTables, schema.tables);
|
1909
|
+
return schema.tables;
|
1836
1910
|
};
|
1837
1911
|
|
1838
1912
|
const isBranchStrategyBuilder = (strategy) => {
|
1839
1913
|
return typeof strategy === "function";
|
1840
1914
|
};
|
1841
1915
|
|
1842
|
-
const envBranchNames = [
|
1843
|
-
"XATA_BRANCH",
|
1844
|
-
"VERCEL_GIT_COMMIT_REF",
|
1845
|
-
"CF_PAGES_BRANCH",
|
1846
|
-
"BRANCH"
|
1847
|
-
];
|
1848
1916
|
async function getCurrentBranchName(options) {
|
1849
|
-
const
|
1850
|
-
if (
|
1851
|
-
const details = await getDatabaseBranch(
|
1917
|
+
const { branch, envBranch } = getEnvironment();
|
1918
|
+
if (branch) {
|
1919
|
+
const details = await getDatabaseBranch(branch, options);
|
1852
1920
|
if (details)
|
1853
|
-
return
|
1854
|
-
console.warn(`Branch ${
|
1921
|
+
return branch;
|
1922
|
+
console.warn(`Branch ${branch} not found in Xata. Ignoring...`);
|
1855
1923
|
}
|
1856
|
-
const gitBranch = await getGitBranch();
|
1924
|
+
const gitBranch = envBranch || await getGitBranch();
|
1857
1925
|
return resolveXataBranch(gitBranch, options);
|
1858
1926
|
}
|
1859
1927
|
async function getCurrentBranchDetails(options) {
|
@@ -1869,13 +1937,14 @@ async function resolveXataBranch(gitBranch, options) {
|
|
1869
1937
|
throw new Error("An API key was not defined. Either set the XATA_API_KEY env variable or pass the argument explicitely");
|
1870
1938
|
const [protocol, , host, , dbName] = databaseURL.split("/");
|
1871
1939
|
const [workspace] = host.split(".");
|
1940
|
+
const { fallbackBranch } = getEnvironment();
|
1872
1941
|
const { branch } = await resolveBranch({
|
1873
1942
|
apiKey,
|
1874
1943
|
apiUrl: databaseURL,
|
1875
1944
|
fetchImpl: getFetchImplementation(options?.fetchImpl),
|
1876
1945
|
workspacesApiUrl: `${protocol}//${host}`,
|
1877
1946
|
pathParams: { dbName, workspace },
|
1878
|
-
queryParams: { gitBranch, fallbackBranch
|
1947
|
+
queryParams: { gitBranch, fallbackBranch }
|
1879
1948
|
});
|
1880
1949
|
return branch;
|
1881
1950
|
}
|
@@ -1903,21 +1972,10 @@ async function getDatabaseBranch(branch, options) {
|
|
1903
1972
|
throw err;
|
1904
1973
|
}
|
1905
1974
|
}
|
1906
|
-
function getBranchByEnvVariable() {
|
1907
|
-
for (const name of envBranchNames) {
|
1908
|
-
const value = getEnvVariable(name);
|
1909
|
-
if (value) {
|
1910
|
-
return value;
|
1911
|
-
}
|
1912
|
-
}
|
1913
|
-
try {
|
1914
|
-
return XATA_BRANCH;
|
1915
|
-
} catch (err) {
|
1916
|
-
}
|
1917
|
-
}
|
1918
1975
|
function getDatabaseURL() {
|
1919
1976
|
try {
|
1920
|
-
|
1977
|
+
const { databaseURL } = getEnvironment();
|
1978
|
+
return databaseURL;
|
1921
1979
|
} catch (err) {
|
1922
1980
|
return void 0;
|
1923
1981
|
}
|
@@ -1948,7 +2006,7 @@ var __privateMethod = (obj, member, method) => {
|
|
1948
2006
|
const buildClient = (plugins) => {
|
1949
2007
|
var _branch, _parseOptions, parseOptions_fn, _getFetchProps, getFetchProps_fn, _evaluateBranch, evaluateBranch_fn, _a;
|
1950
2008
|
return _a = class {
|
1951
|
-
constructor(options = {},
|
2009
|
+
constructor(options = {}, schemaTables) {
|
1952
2010
|
__privateAdd(this, _parseOptions);
|
1953
2011
|
__privateAdd(this, _getFetchProps);
|
1954
2012
|
__privateAdd(this, _evaluateBranch);
|
@@ -1958,8 +2016,8 @@ const buildClient = (plugins) => {
|
|
1958
2016
|
getFetchProps: () => __privateMethod(this, _getFetchProps, getFetchProps_fn).call(this, safeOptions),
|
1959
2017
|
cache: safeOptions.cache
|
1960
2018
|
};
|
1961
|
-
const db = new SchemaPlugin(
|
1962
|
-
const search = new SearchPlugin(db).build(pluginOptions);
|
2019
|
+
const db = new SchemaPlugin(schemaTables).build(pluginOptions);
|
2020
|
+
const search = new SearchPlugin(db, schemaTables).build(pluginOptions);
|
1963
2021
|
this.db = db;
|
1964
2022
|
this.search = search;
|
1965
2023
|
for (const [key, namespace] of Object.entries(plugins ?? {})) {
|
@@ -2032,5 +2090,5 @@ class XataError extends Error {
|
|
2032
2090
|
}
|
2033
2091
|
}
|
2034
2092
|
|
2035
|
-
export { BaseClient, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Query, RecordArray, Repository, RestRepository, SchemaPlugin, SearchPlugin, SimpleCache, XataApiClient, XataApiPlugin, XataError, XataPlugin, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
|
2093
|
+
export { BaseClient, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Query, RecordArray, Repository, RestRepository, SchemaPlugin, SearchPlugin, SimpleCache, XataApiClient, XataApiPlugin, XataError, XataPlugin, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberInvite, updateWorkspaceMemberRole, upsertRecordWithID };
|
2036
2094
|
//# sourceMappingURL=index.mjs.map
|