@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/dist/index.mjs CHANGED
@@ -22,35 +22,83 @@ function toBase64(value) {
22
22
  }
23
23
  }
24
24
 
25
- function getEnvVariable(name) {
25
+ function getEnvironment() {
26
26
  try {
27
- if (isObject(process) && isString(process?.env?.[name])) {
28
- return process.env[name];
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) && isString(Deno?.env?.get(name))) {
34
- return Deno.env.get(name);
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
- const req = require;
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
- return getEnvVariable("XATA_API_KEY") ?? XATA_API_KEY;
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.vf45a2df";
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$6 = (obj, member, value, setter) => {
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$6(this, _extraProps, {
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$5 = (obj, member, value, setter) => {
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$5(this, _query, query);
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(page, overrideRecords) {
994
- super(..._RecordArray.parseConstructorParams(page, overrideRecords));
1051
+ constructor(...args) {
1052
+ super(..._RecordArray.parseConstructorParams(...args));
995
1053
  __privateAdd$6(this, _page, void 0);
996
- __privateSet$5(this, _page, page);
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$4 = (obj, member, value, setter) => {
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$4(this, _table$1, table);
1121
+ __privateSet$5(this, _table$1, table);
1058
1122
  if (repository) {
1059
- __privateSet$4(this, _repository, repository);
1123
+ __privateSet$5(this, _repository, repository);
1060
1124
  } else {
1061
- __privateSet$4(this, _repository, this);
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$3 = (obj, member, value, setter) => {
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, _schema$1, _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, _getSchema$1, getSchema_fn$1;
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, _getSchema$1);
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, _schema$1, void 0);
1269
- __privateSet$3(this, _table, options.table);
1270
- __privateSet$3(this, _getFetchProps, options.pluginOptions.getFetchProps);
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$3(this, _cache, options.pluginOptions.cache);
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 schema = await __privateMethod$2(this, _getSchema$1, getSchema_fn$1).call(this);
1322
- return initObject(this.db, schema, __privateGet$4(this, _table), response);
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 schema = await __privateMethod$2(this, _getSchema$1, getSchema_fn$1).call(this);
1412
- return records.map((item) => initObject(this.db, schema, __privateGet$4(this, _table), item));
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 schema = await __privateMethod$2(this, _getSchema$1, getSchema_fn$1).call(this);
1432
- const records = objects.map((record) => initObject(this.db, schema, __privateGet$4(this, _table), record));
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
- _schema$1 = new WeakMap();
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
- _getSchema$1 = new WeakSet();
1575
- getSchema_fn$1 = async function() {
1576
- if (__privateGet$4(this, _schema$1))
1577
- return __privateGet$4(this, _schema$1);
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$3(this, _schema$1, schema);
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, schema, table, object) => {
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 } = schema.tables.find(({ name }) => name === table) ?? {};
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, schema, linkTable, value);
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$2 = (obj, member, value, setter) => {
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$2(this, _map, /* @__PURE__ */ new Map());
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 _tables;
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(tableNames) {
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
- for (const table of this.tableNames ?? []) {
1752
- db[table] = new RestRepository({ db, pluginOptions, table });
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 _schema, _search, search_fn, _getSchema, getSchema_fn;
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, _getSchema);
1788
- __privateAdd$1(this, _schema, void 0);
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 schema = await __privateMethod$1(this, _getSchema, getSchema_fn).call(this, getFetchProps);
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, schema, table, record) };
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 schema = await __privateMethod$1(this, _getSchema, getSchema_fn).call(this, getFetchProps);
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, schema, table, record);
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
- _schema = new WeakMap();
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
- _getSchema = new WeakSet();
1826
- getSchema_fn = async function(getFetchProps) {
1827
- if (__privateGet$1(this, _schema))
1828
- return __privateGet$1(this, _schema);
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, _schema, schema);
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 env = getBranchByEnvVariable();
1850
- if (env) {
1851
- const details = await getDatabaseBranch(env, options);
1917
+ const { branch, envBranch } = getEnvironment();
1918
+ if (branch) {
1919
+ const details = await getDatabaseBranch(branch, options);
1852
1920
  if (details)
1853
- return env;
1854
- console.warn(`Branch ${env} not found in Xata. Ignoring...`);
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: getEnvVariable("XATA_FALLBACK_BRANCH") }
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
- return getEnvVariable("XATA_DATABASE_URL") ?? XATA_DATABASE_URL;
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 = {}, tables) {
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(tables).build(pluginOptions);
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