database-devtools 0.1.2 → 0.1.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/dist/index.cjs CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  var reactNative = require('react-native');
4
4
  var react = require('react');
5
+ var Constants = require('expo-constants');
6
+ var AsyncStorage = require('@react-native-async-storage/async-storage');
5
7
  var jsxRuntime = require('react/jsx-runtime');
6
8
  var MaterialCommunityIcons = require('@expo/vector-icons/MaterialCommunityIcons');
7
9
  var express2 = require('express');
@@ -13,17 +15,12 @@ var promises = require('fs/promises');
13
15
 
14
16
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
17
 
18
+ var Constants__default = /*#__PURE__*/_interopDefault(Constants);
19
+ var AsyncStorage__default = /*#__PURE__*/_interopDefault(AsyncStorage);
16
20
  var MaterialCommunityIcons__default = /*#__PURE__*/_interopDefault(MaterialCommunityIcons);
17
21
  var express2__default = /*#__PURE__*/_interopDefault(express2);
18
22
  var path4__default = /*#__PURE__*/_interopDefault(path4);
19
23
 
20
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
21
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
22
- }) : x)(function(x) {
23
- if (typeof require !== "undefined") return require.apply(this, arguments);
24
- throw Error('Dynamic require of "' + x + '" is not supported');
25
- });
26
-
27
24
  // src/types/protocol.ts
28
25
  var DevToolsRole = {
29
26
  MOBILE: "mobile",
@@ -1433,8 +1430,6 @@ function useDevTools() {
1433
1430
  }
1434
1431
  return context;
1435
1432
  }
1436
-
1437
- // src/utils/resolveDevToolsHost.ts
1438
1433
  var ANDROID_LOOPBACK_HOSTS = /* @__PURE__ */ new Set(["localhost", "127.0.0.1", "::1"]);
1439
1434
  var ANDROID_EMULATOR_HOST = "10.0.2.2";
1440
1435
  function isAndroidLoopbackHost(host) {
@@ -1475,20 +1470,10 @@ function getConnectionHintForPlatform(platformOs, serverUrl) {
1475
1470
  return null;
1476
1471
  }
1477
1472
  function getPlatformOs() {
1478
- try {
1479
- const { Platform: Platform2 } = __require("react-native");
1480
- return Platform2.OS;
1481
- } catch {
1482
- return "web";
1483
- }
1473
+ return reactNative.Platform.OS;
1484
1474
  }
1485
1475
  function readMetroDevHostRuntime() {
1486
- try {
1487
- const mod = __require("expo-constants");
1488
- return readMetroDevHostFromConstants(mod.default);
1489
- } catch {
1490
- return void 0;
1491
- }
1476
+ return readMetroDevHostFromConstants(Constants__default.default);
1492
1477
  }
1493
1478
  function resolveDevToolsHost() {
1494
1479
  return resolveDevToolsHostFromInputs(getPlatformOs(), readMetroDevHostRuntime());
@@ -1497,12 +1482,7 @@ function getConnectionHint(serverUrl) {
1497
1482
  return getConnectionHintForPlatform(getPlatformOs(), serverUrl);
1498
1483
  }
1499
1484
  function getExpoConstants() {
1500
- try {
1501
- const mod = __require("expo-constants");
1502
- return mod.default;
1503
- } catch {
1504
- return void 0;
1505
- }
1485
+ return Constants__default.default;
1506
1486
  }
1507
1487
  function resolveDeviceMetadata() {
1508
1488
  const constants = getExpoConstants();
@@ -1539,33 +1519,40 @@ function resolveServerUrl(serverUrl) {
1539
1519
  }
1540
1520
  return buildDevToolsWsUrl(resolveDevToolsHost(), DEFAULT_DEVTOOLS_PORT);
1541
1521
  }
1542
-
1543
- // src/utils/persistDeviceId.ts
1544
1522
  var PERSISTED_DEVICE_ID_STORAGE_KEY = "@database-devtools/device-id";
1545
1523
  var memoryDeviceId = null;
1524
+ function hasAsyncStorageNativeModule() {
1525
+ return Boolean(
1526
+ reactNative.NativeModules.RNCAsyncStorage ?? reactNative.NativeModules.RNC_AsyncSQLiteDBStoragePassThru ?? reactNative.NativeModules.PlatformLocalStorage
1527
+ );
1528
+ }
1546
1529
  function createAsyncStorageDeviceIdStore() {
1547
- try {
1548
- const AsyncStorage = __require("@react-native-async-storage/async-storage").default;
1549
- return AsyncStorage;
1550
- } catch {
1530
+ if (!hasAsyncStorageNativeModule()) {
1551
1531
  return null;
1552
1532
  }
1533
+ return AsyncStorage__default.default;
1553
1534
  }
1554
- async function loadOrCreateDeviceId(storage = createAsyncStorageDeviceIdStore()) {
1555
- if (storage) {
1556
- const stored = await storage.getItem(PERSISTED_DEVICE_ID_STORAGE_KEY);
1557
- if (stored) {
1558
- return stored;
1559
- }
1560
- const created = generateDeviceId();
1561
- await storage.setItem(PERSISTED_DEVICE_ID_STORAGE_KEY, created);
1562
- return created;
1563
- }
1535
+ function loadOrCreateMemoryDeviceId() {
1564
1536
  if (!memoryDeviceId) {
1565
1537
  memoryDeviceId = generateDeviceId();
1566
1538
  }
1567
1539
  return memoryDeviceId;
1568
1540
  }
1541
+ async function loadOrCreateDeviceId(storage = createAsyncStorageDeviceIdStore()) {
1542
+ if (storage) {
1543
+ try {
1544
+ const stored = await storage.getItem(PERSISTED_DEVICE_ID_STORAGE_KEY);
1545
+ if (stored) {
1546
+ return stored;
1547
+ }
1548
+ const created = generateDeviceId();
1549
+ await storage.setItem(PERSISTED_DEVICE_ID_STORAGE_KEY, created);
1550
+ return created;
1551
+ } catch {
1552
+ }
1553
+ }
1554
+ return loadOrCreateMemoryDeviceId();
1555
+ }
1569
1556
 
1570
1557
  // src/utils/sqlSafety.ts
1571
1558
  var BLOCKED_KEYWORDS = /\b(INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|REPLACE|ATTACH|DETACH|REINDEX|VACUUM|TRUNCATE)\b/i;