@dxos/react-edge-client 0.7.5-labs.ff2ff30 → 0.7.5-staging.2ff1350

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.
@@ -1,5 +1,3 @@
1
- import "@dxos/node-std/globals";
2
-
3
1
  // packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts
4
2
  import { useMemo } from "react";
5
3
  import { EdgeHttpClient } from "@dxos/edge-client";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useEdgeClient.ts", "../../../src/hooks/useQueue.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { EdgeHttpClient } from '@dxos/edge-client';\nimport { invariant } from '@dxos/invariant';\nimport { useConfig } from '@dxos/react-client';\n\n/**\n * Client for edge services.\n */\n// TODO(mykola): This should be done through client-service RPC.\nexport const useEdgeClient = () => {\n const config = useConfig();\n const edgeUrl = config.values.runtime?.services?.edge?.url;\n invariant(edgeUrl, 'EDGE services not configured.');\n return useMemo(() => new EdgeHttpClient(edgeUrl), [edgeUrl]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport type { Queue } from '@dxos/echo-db';\nimport { QueueImpl } from '@dxos/echo-db';\nimport { type EdgeHttpClient } from '@dxos/edge-client';\nimport { type DXN } from '@dxos/keys';\n\nconst MIN_POLL_INTERVAL = 1_000;\n\nexport type UseQueueOptions = {\n pollInterval?: number;\n};\n\n/**\n * Polls the given Edge queue.\n */\n// TODO(burdon): Replace polling with socket?\nexport const useQueue = <T>(\n client: EdgeHttpClient,\n queueDxn?: DXN,\n options: UseQueueOptions = {},\n): Queue<T> | undefined => {\n const queue = useMemo<QueueImpl<T> | undefined>(\n () => (queueDxn ? new QueueImpl(client, queueDxn) : undefined),\n [client, queueDxn?.toString()],\n );\n\n useEffect(() => {\n void queue?.refresh();\n }, [queue]);\n\n useEffect(() => {\n let timeout: NodeJS.Timeout;\n if (options.pollInterval) {\n const poll = () => {\n void queue?.refresh().finally(() => {\n timeout = setTimeout(poll, Math.max(options.pollInterval ?? 0, MIN_POLL_INTERVAL));\n });\n };\n\n poll();\n }\n\n return () => clearTimeout(timeout);\n }, [queue, options.pollInterval]);\n\n return queue;\n};\n"],
5
- "mappings": ";;;AAIA,SAASA,eAAe;AAExB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;;AAMnB,IAAMC,gBAAgB,MAAA;AAC3B,QAAMC,SAASF,UAAAA;AACf,QAAMG,UAAUD,OAAOE,OAAOC,SAASC,UAAUC,MAAMC;AACvDT,YAAUI,SAAS,iCAAA;;;;;;;;;AACnB,SAAON,QAAQ,MAAM,IAAIC,eAAeK,OAAAA,GAAU;IAACA;GAAQ;AAC7D;;;ACfA,SAASM,WAAWC,WAAAA,gBAAe;AAGnC,SAASC,iBAAiB;AAI1B,IAAMC,oBAAoB;AAUnB,IAAMC,WAAW,CACtBC,QACAC,UACAC,UAA2B,CAAC,MAAC;AAE7B,QAAMC,QAAQC,SACZ,MAAOH,WAAW,IAAII,UAAUL,QAAQC,QAAAA,IAAYK,QACpD;IAACN;IAAQC,UAAUM,SAAAA;GAAW;AAGhCC,YAAU,MAAA;AACR,SAAKL,OAAOM,QAAAA;EACd,GAAG;IAACN;GAAM;AAEVK,YAAU,MAAA;AACR,QAAIE;AACJ,QAAIR,QAAQS,cAAc;AACxB,YAAMC,OAAO,MAAA;AACX,aAAKT,OAAOM,QAAAA,EAAUI,QAAQ,MAAA;AAC5BH,oBAAUI,WAAWF,MAAMG,KAAKC,IAAId,QAAQS,gBAAgB,GAAGb,iBAAAA,CAAAA;QACjE,CAAA;MACF;AAEAc,WAAAA;IACF;AAEA,WAAO,MAAMK,aAAaP,OAAAA;EAC5B,GAAG;IAACP;IAAOD,QAAQS;GAAa;AAEhC,SAAOR;AACT;",
5
+ "mappings": ";AAIA,SAASA,eAAe;AAExB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;;AAMnB,IAAMC,gBAAgB,MAAA;AAC3B,QAAMC,SAASF,UAAAA;AACf,QAAMG,UAAUD,OAAOE,OAAOC,SAASC,UAAUC,MAAMC;AACvDT,YAAUI,SAAS,iCAAA;;;;;;;;;AACnB,SAAON,QAAQ,MAAM,IAAIC,eAAeK,OAAAA,GAAU;IAACA;GAAQ;AAC7D;;;ACfA,SAASM,WAAWC,WAAAA,gBAAe;AAGnC,SAASC,iBAAiB;AAI1B,IAAMC,oBAAoB;AAUnB,IAAMC,WAAW,CACtBC,QACAC,UACAC,UAA2B,CAAC,MAAC;AAE7B,QAAMC,QAAQC,SACZ,MAAOH,WAAW,IAAII,UAAUL,QAAQC,QAAAA,IAAYK,QACpD;IAACN;IAAQC,UAAUM,SAAAA;GAAW;AAGhCC,YAAU,MAAA;AACR,SAAKL,OAAOM,QAAAA;EACd,GAAG;IAACN;GAAM;AAEVK,YAAU,MAAA;AACR,QAAIE;AACJ,QAAIR,QAAQS,cAAc;AACxB,YAAMC,OAAO,MAAA;AACX,aAAKT,OAAOM,QAAAA,EAAUI,QAAQ,MAAA;AAC5BH,oBAAUI,WAAWF,MAAMG,KAAKC,IAAId,QAAQS,gBAAgB,GAAGb,iBAAAA,CAAAA;QACjE,CAAA;MACF;AAEAc,WAAAA;IACF;AAEA,WAAO,MAAMK,aAAaP,OAAAA;EAC5B,GAAG;IAACP;IAAOD,QAAQS;GAAa;AAEhC,SAAOR;AACT;",
6
6
  "names": ["useMemo", "EdgeHttpClient", "invariant", "useConfig", "useEdgeClient", "config", "edgeUrl", "values", "runtime", "services", "edge", "url", "useEffect", "useMemo", "QueueImpl", "MIN_POLL_INTERVAL", "useQueue", "client", "queueDxn", "options", "queue", "useMemo", "QueueImpl", "undefined", "toString", "useEffect", "refresh", "timeout", "pollInterval", "poll", "finally", "setTimeout", "Math", "max", "clearTimeout"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts":{"bytes":2511,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/edge-client","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-edge-client/src/hooks/useQueue.ts":{"bytes":4072,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-edge-client/src/hooks/index.ts":{"bytes":613,"imports":[{"path":"packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts","kind":"import-statement","original":"./useEdgeClient"},{"path":"packages/sdk/react-edge-client/src/hooks/useQueue.ts","kind":"import-statement","original":"./useQueue"}],"format":"esm"},"packages/sdk/react-edge-client/src/index.ts":{"bytes":571,"imports":[{"path":"packages/sdk/react-edge-client/src/hooks/index.ts","kind":"import-statement","original":"./hooks"}],"format":"esm"}},"outputs":{"packages/sdk/react-edge-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3257},"packages/sdk/react-edge-client/dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/edge-client","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true}],"exports":["useEdgeClient","useQueue"],"entryPoint":"packages/sdk/react-edge-client/src/index.ts","inputs":{"packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts":{"bytesInOutput":662},"packages/sdk/react-edge-client/src/hooks/index.ts":{"bytesInOutput":0},"packages/sdk/react-edge-client/src/hooks/useQueue.ts":{"bytesInOutput":765},"packages/sdk/react-edge-client/src/index.ts":{"bytesInOutput":0}},"bytes":1654}}}
1
+ {"inputs":{"packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts":{"bytes":2511,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/edge-client","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-edge-client/src/hooks/useQueue.ts":{"bytes":4072,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-edge-client/src/hooks/index.ts":{"bytes":613,"imports":[{"path":"packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts","kind":"import-statement","original":"./useEdgeClient"},{"path":"packages/sdk/react-edge-client/src/hooks/useQueue.ts","kind":"import-statement","original":"./useQueue"}],"format":"esm"},"packages/sdk/react-edge-client/src/index.ts":{"bytes":571,"imports":[{"path":"packages/sdk/react-edge-client/src/hooks/index.ts","kind":"import-statement","original":"./hooks"}],"format":"esm"}},"outputs":{"packages/sdk/react-edge-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3255},"packages/sdk/react-edge-client/dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/edge-client","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true}],"exports":["useEdgeClient","useQueue"],"entryPoint":"packages/sdk/react-edge-client/src/index.ts","inputs":{"packages/sdk/react-edge-client/src/hooks/useEdgeClient.ts":{"bytesInOutput":662},"packages/sdk/react-edge-client/src/hooks/index.ts":{"bytesInOutput":0},"packages/sdk/react-edge-client/src/hooks/useQueue.ts":{"bytesInOutput":765},"packages/sdk/react-edge-client/src/index.ts":{"bytesInOutput":0}},"bytes":1620}}}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@dxos/react-edge-client",
3
- "version": "0.7.5-labs.ff2ff30",
3
+ "version": "0.7.5-staging.2ff1350",
4
4
  "description": "React hooks for the Edge Client.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
+ "type": "module",
9
10
  "exports": {
10
11
  ".": {
11
12
  "types": "./dist/types/src/index.d.ts",
@@ -19,14 +20,13 @@
19
20
  "src"
20
21
  ],
21
22
  "dependencies": {
22
- "@dxos/echo-db": "0.7.5-labs.ff2ff30",
23
- "@dxos/edge-client": "0.7.5-labs.ff2ff30",
24
- "@dxos/log": "0.7.5-labs.ff2ff30",
25
- "@dxos/echo-signals": "0.7.5-labs.ff2ff30",
26
- "@dxos/node-std": "0.7.5-labs.ff2ff30",
27
- "@dxos/invariant": "0.7.5-labs.ff2ff30",
28
- "@dxos/react-client": "0.7.5-labs.ff2ff30",
29
- "@dxos/util": "0.7.5-labs.ff2ff30"
23
+ "@dxos/echo-db": "0.7.5-staging.2ff1350",
24
+ "@dxos/edge-client": "0.7.5-staging.2ff1350",
25
+ "@dxos/log": "0.7.5-staging.2ff1350",
26
+ "@dxos/invariant": "0.7.5-staging.2ff1350",
27
+ "@dxos/echo-signals": "0.7.5-staging.2ff1350",
28
+ "@dxos/react-client": "0.7.5-staging.2ff1350",
29
+ "@dxos/util": "0.7.5-staging.2ff1350"
30
30
  },
31
31
  "devDependencies": {
32
32
  "react": "~18.2.0",