@nostrwatch/route66 0.0.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/LICENSE +21 -0
- package/README.md +346 -0
- package/adapters/cache/NostrSqliteAdapter/README.md +1 -0
- package/adapters/cache/NostrSqliteAdapter/build.js +64 -0
- package/adapters/cache/NostrSqliteAdapter/dist/browser/index.js +11789 -0
- package/adapters/cache/NostrSqliteAdapter/dist/browser/index.js.map +7 -0
- package/adapters/cache/NostrSqliteAdapter/dist/browser/workers/nostrsqlite.worker.js +9512 -0
- package/adapters/cache/NostrSqliteAdapter/dist/browser/workers/nostrsqlite.worker.js.map +7 -0
- package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/esbuild +14 -0
- package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/tsc +17 -0
- package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/tsserver +17 -0
- package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/vite +17 -0
- package/adapters/cache/NostrSqliteAdapter/package.json +49 -0
- package/adapters/cache/NostrSqliteAdapter/package.tgz +0 -0
- package/adapters/cache/NostrSqliteAdapter/src/NostrSqLiteMethods.ts +5 -0
- package/adapters/cache/NostrSqliteAdapter/src/NostrSqliteAdapter.ts +246 -0
- package/adapters/cache/NostrSqliteAdapter/src/NostrSqliteWorker.ts +113 -0
- package/adapters/cache/NostrSqliteAdapter/src/index.ts +1 -0
- package/adapters/cache/NostrSqliteAdapter/src/utils.ts +8 -0
- package/adapters/cache/NostrSqliteAdapter/src/workers/nostrsqlite.worker.ts +12 -0
- package/adapters/cache/NostrSqliteAdapter/tsconfig.json +26 -0
- package/adapters/websocket/NostrToolsAdapter/build.js +123 -0
- package/adapters/websocket/NostrToolsAdapter/dist/browser/index.js +1788 -0
- package/adapters/websocket/NostrToolsAdapter/dist/browser/index.js.map +7 -0
- package/adapters/websocket/NostrToolsAdapter/dist/node/index.js +1811 -0
- package/adapters/websocket/NostrToolsAdapter/dist/node/index.js.map +7 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/esbuild +14 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/eslint +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/jest +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/prettier +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/rollup +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/rollup-plugin-visualizer +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/tsc +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/tsserver +17 -0
- package/adapters/websocket/NostrToolsAdapter/node_modules/.cache/esbuild-plugin-inline-worker/nostrtools.worker.js +141 -0
- package/adapters/websocket/NostrToolsAdapter/package.json +79 -0
- package/adapters/websocket/NostrToolsAdapter/src/NostrToolsAdapter.ts +17 -0
- package/adapters/websocket/NostrToolsAdapter/src/NostrToolsWorker.ts +405 -0
- package/adapters/websocket/NostrToolsAdapter/src/index.ts +3 -0
- package/adapters/websocket/NostrToolsAdapter/src/shims/empty.js +1 -0
- package/adapters/websocket/NostrToolsAdapter/src/shims/node-module-shim.js +3 -0
- package/adapters/websocket/NostrToolsAdapter/src/workers/nostrtools.worker.ts +12 -0
- package/adapters/websocket/NostrToolsAdapter/tsconfig.json +28 -0
- package/build.js +72 -0
- package/dist/browser/_virtual/_commonjsHelpers.amd.js +2 -0
- package/dist/browser/_virtual/_commonjsHelpers.amd.js.map +1 -0
- package/dist/browser/_virtual/_commonjsHelpers.esm.js +2 -0
- package/dist/browser/_virtual/_commonjsHelpers.esm.js.map +1 -0
- package/dist/browser/_virtual/_tslib.amd.js +2 -0
- package/dist/browser/_virtual/_tslib.amd.js.map +1 -0
- package/dist/browser/_virtual/_tslib.esm.js +2 -0
- package/dist/browser/_virtual/_tslib.esm.js.map +1 -0
- package/dist/browser/_virtual/bake-collection.amd.js +2 -0
- package/dist/browser/_virtual/bake-collection.amd.js.map +1 -0
- package/dist/browser/_virtual/bake-collection.esm.js +2 -0
- package/dist/browser/_virtual/bake-collection.esm.js.map +1 -0
- package/dist/browser/_virtual/bolt11.amd.js +2 -0
- package/dist/browser/_virtual/bolt11.amd.js.map +1 -0
- package/dist/browser/_virtual/bolt11.esm.js +2 -0
- package/dist/browser/_virtual/bolt11.esm.js.map +1 -0
- package/dist/browser/_virtual/ee.amd.js +2 -0
- package/dist/browser/_virtual/ee.amd.js.map +1 -0
- package/dist/browser/_virtual/ee.esm.js +2 -0
- package/dist/browser/_virtual/ee.esm.js.map +1 -0
- package/dist/browser/_virtual/index.amd.js +2 -0
- package/dist/browser/_virtual/index.amd.js.map +1 -0
- package/dist/browser/_virtual/index.amd2.js +2 -0
- package/dist/browser/_virtual/index.amd2.js.map +1 -0
- package/dist/browser/_virtual/index.amd3.js +2 -0
- package/dist/browser/_virtual/index.amd3.js.map +1 -0
- package/dist/browser/_virtual/index.amd4.js +2 -0
- package/dist/browser/_virtual/index.amd4.js.map +1 -0
- package/dist/browser/_virtual/index.amd5.js +2 -0
- package/dist/browser/_virtual/index.amd5.js.map +1 -0
- package/dist/browser/_virtual/index.amd6.js +2 -0
- package/dist/browser/_virtual/index.amd6.js.map +1 -0
- package/dist/browser/_virtual/index.esm.js +2 -0
- package/dist/browser/_virtual/index.esm.js.map +1 -0
- package/dist/browser/_virtual/index.esm2.js +2 -0
- package/dist/browser/_virtual/index.esm2.js.map +1 -0
- package/dist/browser/_virtual/index.esm3.js +2 -0
- package/dist/browser/_virtual/index.esm3.js.map +1 -0
- package/dist/browser/_virtual/index.esm4.js +2 -0
- package/dist/browser/_virtual/index.esm4.js.map +1 -0
- package/dist/browser/_virtual/index.esm5.js +2 -0
- package/dist/browser/_virtual/index.esm5.js.map +1 -0
- package/dist/browser/_virtual/index.esm6.js +2 -0
- package/dist/browser/_virtual/index.esm6.js.map +1 -0
- package/dist/browser/_virtual/task-collection.amd.js +2 -0
- package/dist/browser/_virtual/task-collection.amd.js.map +1 -0
- package/dist/browser/_virtual/task-collection.esm.js +2 -0
- package/dist/browser/_virtual/task-collection.esm.js.map +1 -0
- package/dist/browser/_virtual/types.amd.js +2 -0
- package/dist/browser/_virtual/types.amd.js.map +1 -0
- package/dist/browser/_virtual/types.esm.js +2 -0
- package/dist/browser/_virtual/types.esm.js.map +1 -0
- package/dist/browser/_virtual/utils.amd.js +2 -0
- package/dist/browser/_virtual/utils.amd.js.map +1 -0
- package/dist/browser/_virtual/utils.amd2.js +2 -0
- package/dist/browser/_virtual/utils.amd2.js.map +1 -0
- package/dist/browser/_virtual/utils.esm.js +2 -0
- package/dist/browser/_virtual/utils.esm.js.map +1 -0
- package/dist/browser/_virtual/utils.esm2.js +2 -0
- package/dist/browser/_virtual/utils.esm2.js.map +1 -0
- package/dist/browser/core/Adapter.amd.js +2 -0
- package/dist/browser/core/Adapter.amd.js.map +1 -0
- package/dist/browser/core/Adapter.esm.js +2 -0
- package/dist/browser/core/Adapter.esm.js.map +1 -0
- package/dist/browser/core/AdapterCacheWorker.amd.js +2 -0
- package/dist/browser/core/AdapterCacheWorker.amd.js.map +1 -0
- package/dist/browser/core/AdapterCacheWorker.esm.js +2 -0
- package/dist/browser/core/AdapterCacheWorker.esm.js.map +1 -0
- package/dist/browser/core/AdapterWebsocketWorker.amd.js +2 -0
- package/dist/browser/core/AdapterWebsocketWorker.amd.js.map +1 -0
- package/dist/browser/core/AdapterWebsocketWorker.esm.js +2 -0
- package/dist/browser/core/AdapterWebsocketWorker.esm.js.map +1 -0
- package/dist/browser/core/AdapterWorker.amd.js +2 -0
- package/dist/browser/core/AdapterWorker.amd.js.map +1 -0
- package/dist/browser/core/AdapterWorker.esm.js +2 -0
- package/dist/browser/core/AdapterWorker.esm.js.map +1 -0
- package/dist/browser/core/Base.amd.js +2 -0
- package/dist/browser/core/Base.amd.js.map +1 -0
- package/dist/browser/core/Base.esm.js +2 -0
- package/dist/browser/core/Base.esm.js.map +1 -0
- package/dist/browser/core/Batcher.amd.js +2 -0
- package/dist/browser/core/Batcher.amd.js.map +1 -0
- package/dist/browser/core/Batcher.esm.js +2 -0
- package/dist/browser/core/Batcher.esm.js.map +1 -0
- package/dist/browser/core/CacheAdapter.amd.js +2 -0
- package/dist/browser/core/CacheAdapter.amd.js.map +1 -0
- package/dist/browser/core/CacheAdapter.esm.js +2 -0
- package/dist/browser/core/CacheAdapter.esm.js.map +1 -0
- package/dist/browser/core/LocalStorageWrapper.amd.js +2 -0
- package/dist/browser/core/LocalStorageWrapper.amd.js.map +1 -0
- package/dist/browser/core/LocalStorageWrapper.esm.js +2 -0
- package/dist/browser/core/LocalStorageWrapper.esm.js.map +1 -0
- package/dist/browser/core/Queue.amd.js +2 -0
- package/dist/browser/core/Queue.amd.js.map +1 -0
- package/dist/browser/core/Queue.esm.js +2 -0
- package/dist/browser/core/Queue.esm.js.map +1 -0
- package/dist/browser/core/WebsocketAdapter.amd.js +2 -0
- package/dist/browser/core/WebsocketAdapter.amd.js.map +1 -0
- package/dist/browser/core/WebsocketAdapter.esm.js +2 -0
- package/dist/browser/core/WebsocketAdapter.esm.js.map +1 -0
- package/dist/browser/core/Workers.amd.js +2 -0
- package/dist/browser/core/Workers.amd.js.map +1 -0
- package/dist/browser/core/Workers.esm.js +2 -0
- package/dist/browser/core/Workers.esm.js.map +1 -0
- package/dist/browser/core/index.amd.js +71 -0
- package/dist/browser/core/index.amd.js.map +1 -0
- package/dist/browser/core/index.esm.js +2 -0
- package/dist/browser/core/index.esm.js.map +1 -0
- package/dist/browser/factory/cache.shared.worker.amd.js +2 -0
- package/dist/browser/factory/cache.shared.worker.amd.js.map +1 -0
- package/dist/browser/factory/cache.shared.worker.esm.js +2 -0
- package/dist/browser/factory/cache.shared.worker.esm.js.map +1 -0
- package/dist/browser/factory/cache.worker.amd.js +2 -0
- package/dist/browser/factory/cache.worker.amd.js.map +1 -0
- package/dist/browser/factory/cache.worker.esm.js +2 -0
- package/dist/browser/factory/cache.worker.esm.js.map +1 -0
- package/dist/browser/factory/index.amd.js +71 -0
- package/dist/browser/factory/index.amd.js.map +1 -0
- package/dist/browser/factory/index.esm.js +2 -0
- package/dist/browser/factory/index.esm.js.map +1 -0
- package/dist/browser/index.amd.js +71 -0
- package/dist/browser/index.amd.js.map +1 -0
- package/dist/browser/index.esm.js +2 -0
- package/dist/browser/index.esm.js.map +1 -0
- package/dist/browser/interfaces/index.amd.js +71 -0
- package/dist/browser/interfaces/index.amd.js.map +1 -0
- package/dist/browser/interfaces/index.esm.js +2 -0
- package/dist/browser/interfaces/index.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/config.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/config.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/config.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/config.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/controlflow.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/controlflow.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/controlflow.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/controlflow.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.amd.js +4 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js +4 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.amd.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js +3 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.amd.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.amd.js.map +1 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js +2 -0
- package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js.map +1 -0
- package/dist/browser/managers/MonitorManager.amd.js +2 -0
- package/dist/browser/managers/MonitorManager.amd.js.map +1 -0
- package/dist/browser/managers/MonitorManager.esm.js +2 -0
- package/dist/browser/managers/MonitorManager.esm.js.map +1 -0
- package/dist/browser/managers/StateManager.amd.js +2 -0
- package/dist/browser/managers/StateManager.amd.js.map +1 -0
- package/dist/browser/managers/StateManager.esm.js +2 -0
- package/dist/browser/managers/StateManager.esm.js.map +1 -0
- package/dist/browser/managers/SyncStateManager.amd.js +2 -0
- package/dist/browser/managers/SyncStateManager.amd.js.map +1 -0
- package/dist/browser/managers/SyncStateManager.esm.js +2 -0
- package/dist/browser/managers/SyncStateManager.esm.js.map +1 -0
- package/dist/browser/models/DeltaEvent.amd.js +2 -0
- package/dist/browser/models/DeltaEvent.amd.js.map +1 -0
- package/dist/browser/models/DeltaEvent.esm.js +2 -0
- package/dist/browser/models/DeltaEvent.esm.js.map +1 -0
- package/dist/browser/models/Event.amd.js +2 -0
- package/dist/browser/models/Event.amd.js.map +1 -0
- package/dist/browser/models/Event.esm.js +2 -0
- package/dist/browser/models/Event.esm.js.map +1 -0
- package/dist/browser/models/Geocoded.amd.js +2 -0
- package/dist/browser/models/Geocoded.amd.js.map +1 -0
- package/dist/browser/models/Geocoded.esm.js +2 -0
- package/dist/browser/models/Geocoded.esm.js.map +1 -0
- package/dist/browser/models/Monitor.amd.js +2 -0
- package/dist/browser/models/Monitor.amd.js.map +1 -0
- package/dist/browser/models/Monitor.esm.js +2 -0
- package/dist/browser/models/Monitor.esm.js.map +1 -0
- package/dist/browser/models/MonitorRegistration.amd.js +2 -0
- package/dist/browser/models/MonitorRegistration.amd.js.map +1 -0
- package/dist/browser/models/MonitorRegistration.esm.js +2 -0
- package/dist/browser/models/MonitorRegistration.esm.js.map +1 -0
- package/dist/browser/models/Nip11.amd.js +2 -0
- package/dist/browser/models/Nip11.amd.js.map +1 -0
- package/dist/browser/models/Nip11.esm.js +2 -0
- package/dist/browser/models/Nip11.esm.js.map +1 -0
- package/dist/browser/models/Nip66CheckEvent.amd.js +2 -0
- package/dist/browser/models/Nip66CheckEvent.amd.js.map +1 -0
- package/dist/browser/models/Nip66CheckEvent.esm.js +2 -0
- package/dist/browser/models/Nip66CheckEvent.esm.js.map +1 -0
- package/dist/browser/models/PubkeyProfile.amd.js +2 -0
- package/dist/browser/models/PubkeyProfile.amd.js.map +1 -0
- package/dist/browser/models/PubkeyProfile.esm.js +2 -0
- package/dist/browser/models/PubkeyProfile.esm.js.map +1 -0
- package/dist/browser/models/PubkeyRelays.amd.js +2 -0
- package/dist/browser/models/PubkeyRelays.amd.js.map +1 -0
- package/dist/browser/models/PubkeyRelays.esm.js +2 -0
- package/dist/browser/models/PubkeyRelays.esm.js.map +1 -0
- package/dist/browser/models/RelayCheckAggregate.amd.js +2 -0
- package/dist/browser/models/RelayCheckAggregate.amd.js.map +1 -0
- package/dist/browser/models/RelayCheckAggregate.esm.js +2 -0
- package/dist/browser/models/RelayCheckAggregate.esm.js.map +1 -0
- package/dist/browser/models/_.amd.js +2 -0
- package/dist/browser/models/_.amd.js.map +1 -0
- package/dist/browser/models/_.esm.js +2 -0
- package/dist/browser/models/_.esm.js.map +1 -0
- package/dist/browser/models/index.amd.js +71 -0
- package/dist/browser/models/index.amd.js.map +1 -0
- package/dist/browser/models/index.esm.js +2 -0
- package/dist/browser/models/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.amd.js +3 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js +3 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.amd.js +4 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js +4 -0
- package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.amd.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.amd.js.map +1 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js +2 -0
- package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js.map +1 -0
- package/dist/browser/services/AuditorService.amd.js +2 -0
- package/dist/browser/services/AuditorService.amd.js.map +1 -0
- package/dist/browser/services/AuditorService.esm.js +2 -0
- package/dist/browser/services/AuditorService.esm.js.map +1 -0
- package/dist/browser/services/ChronicleService.amd.js +2 -0
- package/dist/browser/services/ChronicleService.amd.js.map +1 -0
- package/dist/browser/services/ChronicleService.esm.js +2 -0
- package/dist/browser/services/ChronicleService.esm.js.map +1 -0
- package/dist/browser/services/MonitorService.amd.js +2 -0
- package/dist/browser/services/MonitorService.amd.js.map +1 -0
- package/dist/browser/services/MonitorService.esm.js +2 -0
- package/dist/browser/services/MonitorService.esm.js.map +1 -0
- package/dist/browser/services/RelayService.amd.js +2 -0
- package/dist/browser/services/RelayService.amd.js.map +1 -0
- package/dist/browser/services/RelayService.esm.js +2 -0
- package/dist/browser/services/RelayService.esm.js.map +1 -0
- package/dist/browser/services/Service.amd.js +2 -0
- package/dist/browser/services/Service.amd.js.map +1 -0
- package/dist/browser/services/Service.esm.js +2 -0
- package/dist/browser/services/Service.esm.js.map +1 -0
- package/dist/browser/services/index.amd.js +71 -0
- package/dist/browser/services/index.amd.js.map +1 -0
- package/dist/browser/services/index.esm.js +2 -0
- package/dist/browser/services/index.esm.js.map +1 -0
- package/dist/browser/transform/TransformCheck.amd.js +2 -0
- package/dist/browser/transform/TransformCheck.amd.js.map +1 -0
- package/dist/browser/transform/TransformCheck.esm.js +2 -0
- package/dist/browser/transform/TransformCheck.esm.js.map +1 -0
- package/dist/browser/transform/TransformEvent.amd.js +2 -0
- package/dist/browser/transform/TransformEvent.amd.js.map +1 -0
- package/dist/browser/transform/TransformEvent.esm.js +2 -0
- package/dist/browser/transform/TransformEvent.esm.js.map +1 -0
- package/dist/browser/transform/TransformMonitors.amd.js +2 -0
- package/dist/browser/transform/TransformMonitors.amd.js.map +1 -0
- package/dist/browser/transform/TransformMonitors.esm.js +2 -0
- package/dist/browser/transform/TransformMonitors.esm.js.map +1 -0
- package/dist/browser/transform/TransformRelays.amd.js +2 -0
- package/dist/browser/transform/TransformRelays.amd.js.map +1 -0
- package/dist/browser/transform/TransformRelays.esm.js +2 -0
- package/dist/browser/transform/TransformRelays.esm.js.map +1 -0
- package/dist/browser/transform/index.amd.js +71 -0
- package/dist/browser/transform/index.amd.js.map +1 -0
- package/dist/browser/transform/index.esm.js +2 -0
- package/dist/browser/transform/index.esm.js.map +1 -0
- package/dist/browser/utils/SyncKeys.amd.js +2 -0
- package/dist/browser/utils/SyncKeys.amd.js.map +1 -0
- package/dist/browser/utils/SyncKeys.esm.js +2 -0
- package/dist/browser/utils/SyncKeys.esm.js.map +1 -0
- package/dist/browser/utils/classes.amd.js +2 -0
- package/dist/browser/utils/classes.amd.js.map +1 -0
- package/dist/browser/utils/classes.esm.js +2 -0
- package/dist/browser/utils/classes.esm.js.map +1 -0
- package/dist/browser/utils/encoding.amd.js +2 -0
- package/dist/browser/utils/encoding.amd.js.map +1 -0
- package/dist/browser/utils/encoding.esm.js +2 -0
- package/dist/browser/utils/encoding.esm.js.map +1 -0
- package/dist/browser/utils/events.amd.js +2 -0
- package/dist/browser/utils/events.amd.js.map +1 -0
- package/dist/browser/utils/events.esm.js +2 -0
- package/dist/browser/utils/events.esm.js.map +1 -0
- package/dist/browser/utils/general.amd.js +2 -0
- package/dist/browser/utils/general.amd.js.map +1 -0
- package/dist/browser/utils/general.esm.js +2 -0
- package/dist/browser/utils/general.esm.js.map +1 -0
- package/dist/browser/utils/geo.amd.js +2 -0
- package/dist/browser/utils/geo.amd.js.map +1 -0
- package/dist/browser/utils/geo.esm.js +2 -0
- package/dist/browser/utils/geo.esm.js.map +1 -0
- package/dist/browser/utils/hash.amd.js +2 -0
- package/dist/browser/utils/hash.amd.js.map +1 -0
- package/dist/browser/utils/hash.esm.js +2 -0
- package/dist/browser/utils/hash.esm.js.map +1 -0
- package/dist/browser/utils/index.amd.js +71 -0
- package/dist/browser/utils/index.amd.js.map +1 -0
- package/dist/browser/utils/index.esm.js +2 -0
- package/dist/browser/utils/index.esm.js.map +1 -0
- package/dist/browser/utils/monitors.amd.js +2 -0
- package/dist/browser/utils/monitors.amd.js.map +1 -0
- package/dist/browser/utils/monitors.esm.js +2 -0
- package/dist/browser/utils/monitors.esm.js.map +1 -0
- package/dist/browser/utils/nostr.amd.js +2 -0
- package/dist/browser/utils/nostr.amd.js.map +1 -0
- package/dist/browser/utils/nostr.esm.js +2 -0
- package/dist/browser/utils/nostr.esm.js.map +1 -0
- package/dist/browser/utils/pfp.amd.js +2 -0
- package/dist/browser/utils/pfp.amd.js.map +1 -0
- package/dist/browser/utils/pfp.esm.js +2 -0
- package/dist/browser/utils/pfp.esm.js.map +1 -0
- package/dist/node/core/Adapter.js +205 -0
- package/dist/node/core/Adapter.js.map +1 -0
- package/dist/node/core/AdapterCacheWorker.js +170 -0
- package/dist/node/core/AdapterCacheWorker.js.map +1 -0
- package/dist/node/core/AdapterWebsocketQueue.js +27 -0
- package/dist/node/core/AdapterWebsocketQueue.js.map +1 -0
- package/dist/node/core/AdapterWebsocketWorker.js +374 -0
- package/dist/node/core/AdapterWebsocketWorker.js.map +1 -0
- package/dist/node/core/AdapterWorker.js +250 -0
- package/dist/node/core/AdapterWorker.js.map +1 -0
- package/dist/node/core/Base.js +359 -0
- package/dist/node/core/Base.js.map +1 -0
- package/dist/node/core/Batcher.js +63 -0
- package/dist/node/core/Batcher.js.map +1 -0
- package/dist/node/core/CacheAdapter.js +113 -0
- package/dist/node/core/CacheAdapter.js.map +1 -0
- package/dist/node/core/Checkpoints.js +52 -0
- package/dist/node/core/Checkpoints.js.map +1 -0
- package/dist/node/core/LocalStorageWrapper.js +109 -0
- package/dist/node/core/LocalStorageWrapper.js.map +1 -0
- package/dist/node/core/Loggerr.js +3 -0
- package/dist/node/core/Loggerr.js.map +1 -0
- package/dist/node/core/Memory.js +19 -0
- package/dist/node/core/Memory.js.map +1 -0
- package/dist/node/core/Queue.js +158 -0
- package/dist/node/core/Queue.js.map +1 -0
- package/dist/node/core/Routine.js +7 -0
- package/dist/node/core/Routine.js.map +1 -0
- package/dist/node/core/Subscriber.js +75 -0
- package/dist/node/core/Subscriber.js.map +1 -0
- package/dist/node/core/WebsocketAdapter.js +488 -0
- package/dist/node/core/WebsocketAdapter.js.map +1 -0
- package/dist/node/core/Workers.js +172 -0
- package/dist/node/core/Workers.js.map +1 -0
- package/dist/node/core/index.js +12 -0
- package/dist/node/core/index.js.map +1 -0
- package/dist/node/factory/cache.shared.worker.js +58 -0
- package/dist/node/factory/cache.shared.worker.js.map +1 -0
- package/dist/node/factory/cache.worker.js +4 -0
- package/dist/node/factory/cache.worker.js.map +1 -0
- package/dist/node/factory/index.js +3 -0
- package/dist/node/factory/index.js.map +1 -0
- package/dist/node/helpers/filters.js +7 -0
- package/dist/node/helpers/filters.js.map +1 -0
- package/dist/node/index.js +10 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/interfaces/IAdapterWorkerCommand.js +2 -0
- package/dist/node/interfaces/IAdapterWorkerCommand.js.map +1 -0
- package/dist/node/interfaces/IAdaptersArgument.js +2 -0
- package/dist/node/interfaces/IAdaptersArgument.js.map +1 -0
- package/dist/node/interfaces/ICacheAdapter.js +37 -0
- package/dist/node/interfaces/ICacheAdapter.js.map +1 -0
- package/dist/node/interfaces/ICacheAdapterSharedWorkerCommand.js +2 -0
- package/dist/node/interfaces/ICacheAdapterSharedWorkerCommand.js.map +1 -0
- package/dist/node/interfaces/INostrEvent.js +2 -0
- package/dist/node/interfaces/INostrEvent.js.map +1 -0
- package/dist/node/interfaces/ISharedWorkerGlobalScope.js +2 -0
- package/dist/node/interfaces/ISharedWorkerGlobalScope.js.map +1 -0
- package/dist/node/interfaces/IWorkerCommand.js +2 -0
- package/dist/node/interfaces/IWorkerCommand.js.map +1 -0
- package/dist/node/interfaces/IWorkerGlobalScope.js +2 -0
- package/dist/node/interfaces/IWorkerGlobalScope.js.map +1 -0
- package/dist/node/interfaces/TISO13166.js +2 -0
- package/dist/node/interfaces/TISO13166.js.map +1 -0
- package/dist/node/interfaces/index.js +2 -0
- package/dist/node/interfaces/index.js.map +1 -0
- package/dist/node/managers/MonitorManager.js +251 -0
- package/dist/node/managers/MonitorManager.js.map +1 -0
- package/dist/node/managers/StageManager.js +86 -0
- package/dist/node/managers/StageManager.js.map +1 -0
- package/dist/node/managers/StateManager.js +173 -0
- package/dist/node/managers/StateManager.js.map +1 -0
- package/dist/node/managers/SyncStateManager.js +56 -0
- package/dist/node/managers/SyncStateManager.js.map +1 -0
- package/dist/node/models/Check.js +2 -0
- package/dist/node/models/Check.js.map +1 -0
- package/dist/node/models/DeltaEvent.js +198 -0
- package/dist/node/models/DeltaEvent.js.map +1 -0
- package/dist/node/models/Event.js +209 -0
- package/dist/node/models/Event.js.map +1 -0
- package/dist/node/models/EventEncoded.js +2 -0
- package/dist/node/models/EventEncoded.js.map +1 -0
- package/dist/node/models/Geocode.js +2 -0
- package/dist/node/models/Geocode.js.map +1 -0
- package/dist/node/models/Geocoded.js +608 -0
- package/dist/node/models/Geocoded.js.map +1 -0
- package/dist/node/models/Geohash.js +2 -0
- package/dist/node/models/Geohash.js.map +1 -0
- package/dist/node/models/Monitor.js +493 -0
- package/dist/node/models/Monitor.js.map +1 -0
- package/dist/node/models/MonitorRegistration.js +54 -0
- package/dist/node/models/MonitorRegistration.js.map +1 -0
- package/dist/node/models/Nip11.js +352 -0
- package/dist/node/models/Nip11.js.map +1 -0
- package/dist/node/models/Nip66CheckEvent.js +532 -0
- package/dist/node/models/Nip66CheckEvent.js.map +1 -0
- package/dist/node/models/PubkeyProfile.js +121 -0
- package/dist/node/models/PubkeyProfile.js.map +1 -0
- package/dist/node/models/PubkeyRelays.js +32 -0
- package/dist/node/models/PubkeyRelays.js.map +1 -0
- package/dist/node/models/Relay.js +2 -0
- package/dist/node/models/Relay.js.map +1 -0
- package/dist/node/models/RelayCheckAggregate.js +220 -0
- package/dist/node/models/RelayCheckAggregate.js.map +1 -0
- package/dist/node/models/Ssl.js +2 -0
- package/dist/node/models/Ssl.js.map +1 -0
- package/dist/node/models/_.js +8 -0
- package/dist/node/models/_.js.map +1 -0
- package/dist/node/models/index.js +11 -0
- package/dist/node/models/index.js.map +1 -0
- package/dist/node/routines/PurgeInactiveMonitors.js +68 -0
- package/dist/node/routines/PurgeInactiveMonitors.js.map +1 -0
- package/dist/node/routines/PurgeOldChecks.js +68 -0
- package/dist/node/routines/PurgeOldChecks.js.map +1 -0
- package/dist/node/services/AuditorService.js +25 -0
- package/dist/node/services/AuditorService.js.map +1 -0
- package/dist/node/services/ChronicleService.js +788 -0
- package/dist/node/services/ChronicleService.js.map +1 -0
- package/dist/node/services/MonitorService.js +1020 -0
- package/dist/node/services/MonitorService.js.map +1 -0
- package/dist/node/services/RelayService.js +391 -0
- package/dist/node/services/RelayService.js.map +1 -0
- package/dist/node/services/Service.js +533 -0
- package/dist/node/services/Service.js.map +1 -0
- package/dist/node/services/index.js +6 -0
- package/dist/node/services/index.js.map +1 -0
- package/dist/node/transform/TransformCheck.js +51 -0
- package/dist/node/transform/TransformCheck.js.map +1 -0
- package/dist/node/transform/TransformEvent.js +33 -0
- package/dist/node/transform/TransformEvent.js.map +1 -0
- package/dist/node/transform/TransformMonitors.js +129 -0
- package/dist/node/transform/TransformMonitors.js.map +1 -0
- package/dist/node/transform/TransformRelays.js +339 -0
- package/dist/node/transform/TransformRelays.js.map +1 -0
- package/dist/node/transform/index.js +4 -0
- package/dist/node/transform/index.js.map +1 -0
- package/dist/node/utils/SyncKeys.js +17 -0
- package/dist/node/utils/SyncKeys.js.map +1 -0
- package/dist/node/utils/classes.js +41 -0
- package/dist/node/utils/classes.js.map +1 -0
- package/dist/node/utils/encoding.js +59 -0
- package/dist/node/utils/encoding.js.map +1 -0
- package/dist/node/utils/events.js +26 -0
- package/dist/node/utils/events.js.map +1 -0
- package/dist/node/utils/general.js +142 -0
- package/dist/node/utils/general.js.map +1 -0
- package/dist/node/utils/geo.js +14 -0
- package/dist/node/utils/geo.js.map +1 -0
- package/dist/node/utils/hash.js +103 -0
- package/dist/node/utils/hash.js.map +1 -0
- package/dist/node/utils/index.js +8 -0
- package/dist/node/utils/index.js.map +1 -0
- package/dist/node/utils/monitors.js +3 -0
- package/dist/node/utils/monitors.js.map +1 -0
- package/dist/node/utils/nostr.js +38 -0
- package/dist/node/utils/nostr.js.map +1 -0
- package/dist/node/utils/pfp.js +231 -0
- package/dist/node/utils/pfp.js.map +1 -0
- package/dist/node/workers/nocap.worker.js +2 -0
- package/dist/node/workers/nocap.worker.js.map +1 -0
- package/dist/server/_virtual/_commonjsHelpers.cjs.js +2 -0
- package/dist/server/_virtual/_commonjsHelpers.cjs.js.map +1 -0
- package/dist/server/_virtual/_commonjsHelpers.esm.js +2 -0
- package/dist/server/_virtual/_commonjsHelpers.esm.js.map +1 -0
- package/dist/server/_virtual/_tslib.cjs.js +2 -0
- package/dist/server/_virtual/_tslib.cjs.js.map +1 -0
- package/dist/server/_virtual/_tslib.esm.js +2 -0
- package/dist/server/_virtual/_tslib.esm.js.map +1 -0
- package/dist/server/_virtual/bake-collection.cjs.js +2 -0
- package/dist/server/_virtual/bake-collection.cjs.js.map +1 -0
- package/dist/server/_virtual/bake-collection.esm.js +2 -0
- package/dist/server/_virtual/bake-collection.esm.js.map +1 -0
- package/dist/server/_virtual/bolt11.cjs.js +2 -0
- package/dist/server/_virtual/bolt11.cjs.js.map +1 -0
- package/dist/server/_virtual/bolt11.esm.js +2 -0
- package/dist/server/_virtual/bolt11.esm.js.map +1 -0
- package/dist/server/_virtual/ee.cjs.js +2 -0
- package/dist/server/_virtual/ee.cjs.js.map +1 -0
- package/dist/server/_virtual/ee.esm.js +2 -0
- package/dist/server/_virtual/ee.esm.js.map +1 -0
- package/dist/server/_virtual/index.cjs.js +2 -0
- package/dist/server/_virtual/index.cjs.js.map +1 -0
- package/dist/server/_virtual/index.cjs2.js +2 -0
- package/dist/server/_virtual/index.cjs2.js.map +1 -0
- package/dist/server/_virtual/index.cjs3.js +2 -0
- package/dist/server/_virtual/index.cjs3.js.map +1 -0
- package/dist/server/_virtual/index.cjs4.js +2 -0
- package/dist/server/_virtual/index.cjs4.js.map +1 -0
- package/dist/server/_virtual/index.cjs5.js +2 -0
- package/dist/server/_virtual/index.cjs5.js.map +1 -0
- package/dist/server/_virtual/index.cjs6.js +2 -0
- package/dist/server/_virtual/index.cjs6.js.map +1 -0
- package/dist/server/_virtual/index.esm.js +2 -0
- package/dist/server/_virtual/index.esm.js.map +1 -0
- package/dist/server/_virtual/index.esm2.js +2 -0
- package/dist/server/_virtual/index.esm2.js.map +1 -0
- package/dist/server/_virtual/index.esm3.js +2 -0
- package/dist/server/_virtual/index.esm3.js.map +1 -0
- package/dist/server/_virtual/index.esm4.js +2 -0
- package/dist/server/_virtual/index.esm4.js.map +1 -0
- package/dist/server/_virtual/index.esm5.js +2 -0
- package/dist/server/_virtual/index.esm5.js.map +1 -0
- package/dist/server/_virtual/index.esm6.js +2 -0
- package/dist/server/_virtual/index.esm6.js.map +1 -0
- package/dist/server/_virtual/task-collection.cjs.js +2 -0
- package/dist/server/_virtual/task-collection.cjs.js.map +1 -0
- package/dist/server/_virtual/task-collection.esm.js +2 -0
- package/dist/server/_virtual/task-collection.esm.js.map +1 -0
- package/dist/server/_virtual/types.cjs.js +2 -0
- package/dist/server/_virtual/types.cjs.js.map +1 -0
- package/dist/server/_virtual/types.esm.js +2 -0
- package/dist/server/_virtual/types.esm.js.map +1 -0
- package/dist/server/_virtual/utils.cjs.js +2 -0
- package/dist/server/_virtual/utils.cjs.js.map +1 -0
- package/dist/server/_virtual/utils.cjs2.js +2 -0
- package/dist/server/_virtual/utils.cjs2.js.map +1 -0
- package/dist/server/_virtual/utils.esm.js +2 -0
- package/dist/server/_virtual/utils.esm.js.map +1 -0
- package/dist/server/_virtual/utils.esm2.js +2 -0
- package/dist/server/_virtual/utils.esm2.js.map +1 -0
- package/dist/server/core/Adapter.cjs.js +2 -0
- package/dist/server/core/Adapter.cjs.js.map +1 -0
- package/dist/server/core/Adapter.esm.js +2 -0
- package/dist/server/core/Adapter.esm.js.map +1 -0
- package/dist/server/core/AdapterCacheWorker.cjs.js +2 -0
- package/dist/server/core/AdapterCacheWorker.cjs.js.map +1 -0
- package/dist/server/core/AdapterCacheWorker.esm.js +2 -0
- package/dist/server/core/AdapterCacheWorker.esm.js.map +1 -0
- package/dist/server/core/AdapterWebsocketWorker.cjs.js +2 -0
- package/dist/server/core/AdapterWebsocketWorker.cjs.js.map +1 -0
- package/dist/server/core/AdapterWebsocketWorker.esm.js +2 -0
- package/dist/server/core/AdapterWebsocketWorker.esm.js.map +1 -0
- package/dist/server/core/AdapterWorker.cjs.js +2 -0
- package/dist/server/core/AdapterWorker.cjs.js.map +1 -0
- package/dist/server/core/AdapterWorker.esm.js +2 -0
- package/dist/server/core/AdapterWorker.esm.js.map +1 -0
- package/dist/server/core/Base.cjs.js +2 -0
- package/dist/server/core/Base.cjs.js.map +1 -0
- package/dist/server/core/Base.esm.js +2 -0
- package/dist/server/core/Base.esm.js.map +1 -0
- package/dist/server/core/Batcher.cjs.js +2 -0
- package/dist/server/core/Batcher.cjs.js.map +1 -0
- package/dist/server/core/Batcher.esm.js +2 -0
- package/dist/server/core/Batcher.esm.js.map +1 -0
- package/dist/server/core/CacheAdapter.cjs.js +2 -0
- package/dist/server/core/CacheAdapter.cjs.js.map +1 -0
- package/dist/server/core/CacheAdapter.esm.js +2 -0
- package/dist/server/core/CacheAdapter.esm.js.map +1 -0
- package/dist/server/core/LocalStorageWrapper.cjs.js +2 -0
- package/dist/server/core/LocalStorageWrapper.cjs.js.map +1 -0
- package/dist/server/core/LocalStorageWrapper.esm.js +2 -0
- package/dist/server/core/LocalStorageWrapper.esm.js.map +1 -0
- package/dist/server/core/Queue.cjs.js +2 -0
- package/dist/server/core/Queue.cjs.js.map +1 -0
- package/dist/server/core/Queue.esm.js +2 -0
- package/dist/server/core/Queue.esm.js.map +1 -0
- package/dist/server/core/WebsocketAdapter.cjs.js +2 -0
- package/dist/server/core/WebsocketAdapter.cjs.js.map +1 -0
- package/dist/server/core/WebsocketAdapter.esm.js +2 -0
- package/dist/server/core/WebsocketAdapter.esm.js.map +1 -0
- package/dist/server/core/Workers.cjs.js +2 -0
- package/dist/server/core/Workers.cjs.js.map +1 -0
- package/dist/server/core/Workers.esm.js +2 -0
- package/dist/server/core/Workers.esm.js.map +1 -0
- package/dist/server/core/index.cjs.js +2 -0
- package/dist/server/core/index.cjs.js.map +1 -0
- package/dist/server/core/index.esm.js +2 -0
- package/dist/server/core/index.esm.js.map +1 -0
- package/dist/server/factory/cache.shared.worker.cjs.js +2 -0
- package/dist/server/factory/cache.shared.worker.cjs.js.map +1 -0
- package/dist/server/factory/cache.shared.worker.esm.js +2 -0
- package/dist/server/factory/cache.shared.worker.esm.js.map +1 -0
- package/dist/server/factory/cache.worker.cjs.js +2 -0
- package/dist/server/factory/cache.worker.cjs.js.map +1 -0
- package/dist/server/factory/cache.worker.esm.js +2 -0
- package/dist/server/factory/cache.worker.esm.js.map +1 -0
- package/dist/server/factory/index.cjs.js +2 -0
- package/dist/server/factory/index.cjs.js.map +1 -0
- package/dist/server/factory/index.esm.js +2 -0
- package/dist/server/factory/index.esm.js.map +1 -0
- package/dist/server/index.cjs.js +2 -0
- package/dist/server/index.cjs.js.map +1 -0
- package/dist/server/index.esm.js +2 -0
- package/dist/server/index.esm.js.map +1 -0
- package/dist/server/interfaces/index.cjs.js +2 -0
- package/dist/server/interfaces/index.cjs.js.map +1 -0
- package/dist/server/interfaces/index.esm.js +2 -0
- package/dist/server/interfaces/index.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/config.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/config.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/config.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/config.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/controlflow.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/controlflow.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/controlflow.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/controlflow.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.cjs.js +4 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.cjs.js +4 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.cjs.js +4 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js +4 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.cjs.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js +3 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.cjs.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.cjs.js.map +1 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js +2 -0
- package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js.map +1 -0
- package/dist/server/managers/MonitorManager.cjs.js +2 -0
- package/dist/server/managers/MonitorManager.cjs.js.map +1 -0
- package/dist/server/managers/MonitorManager.esm.js +2 -0
- package/dist/server/managers/MonitorManager.esm.js.map +1 -0
- package/dist/server/managers/StateManager.cjs.js +2 -0
- package/dist/server/managers/StateManager.cjs.js.map +1 -0
- package/dist/server/managers/StateManager.esm.js +2 -0
- package/dist/server/managers/StateManager.esm.js.map +1 -0
- package/dist/server/managers/SyncStateManager.cjs.js +2 -0
- package/dist/server/managers/SyncStateManager.cjs.js.map +1 -0
- package/dist/server/managers/SyncStateManager.esm.js +2 -0
- package/dist/server/managers/SyncStateManager.esm.js.map +1 -0
- package/dist/server/models/DeltaEvent.cjs.js +2 -0
- package/dist/server/models/DeltaEvent.cjs.js.map +1 -0
- package/dist/server/models/DeltaEvent.esm.js +2 -0
- package/dist/server/models/DeltaEvent.esm.js.map +1 -0
- package/dist/server/models/Event.cjs.js +2 -0
- package/dist/server/models/Event.cjs.js.map +1 -0
- package/dist/server/models/Event.esm.js +2 -0
- package/dist/server/models/Event.esm.js.map +1 -0
- package/dist/server/models/Geocoded.cjs.js +2 -0
- package/dist/server/models/Geocoded.cjs.js.map +1 -0
- package/dist/server/models/Geocoded.esm.js +2 -0
- package/dist/server/models/Geocoded.esm.js.map +1 -0
- package/dist/server/models/Monitor.cjs.js +2 -0
- package/dist/server/models/Monitor.cjs.js.map +1 -0
- package/dist/server/models/Monitor.esm.js +2 -0
- package/dist/server/models/Monitor.esm.js.map +1 -0
- package/dist/server/models/MonitorRegistration.cjs.js +2 -0
- package/dist/server/models/MonitorRegistration.cjs.js.map +1 -0
- package/dist/server/models/MonitorRegistration.esm.js +2 -0
- package/dist/server/models/MonitorRegistration.esm.js.map +1 -0
- package/dist/server/models/Nip11.cjs.js +2 -0
- package/dist/server/models/Nip11.cjs.js.map +1 -0
- package/dist/server/models/Nip11.esm.js +2 -0
- package/dist/server/models/Nip11.esm.js.map +1 -0
- package/dist/server/models/Nip66CheckEvent.cjs.js +2 -0
- package/dist/server/models/Nip66CheckEvent.cjs.js.map +1 -0
- package/dist/server/models/Nip66CheckEvent.esm.js +2 -0
- package/dist/server/models/Nip66CheckEvent.esm.js.map +1 -0
- package/dist/server/models/PubkeyProfile.cjs.js +2 -0
- package/dist/server/models/PubkeyProfile.cjs.js.map +1 -0
- package/dist/server/models/PubkeyProfile.esm.js +2 -0
- package/dist/server/models/PubkeyProfile.esm.js.map +1 -0
- package/dist/server/models/PubkeyRelays.cjs.js +2 -0
- package/dist/server/models/PubkeyRelays.cjs.js.map +1 -0
- package/dist/server/models/PubkeyRelays.esm.js +2 -0
- package/dist/server/models/PubkeyRelays.esm.js.map +1 -0
- package/dist/server/models/RelayCheckAggregate.cjs.js +2 -0
- package/dist/server/models/RelayCheckAggregate.cjs.js.map +1 -0
- package/dist/server/models/RelayCheckAggregate.esm.js +2 -0
- package/dist/server/models/RelayCheckAggregate.esm.js.map +1 -0
- package/dist/server/models/_.cjs.js +2 -0
- package/dist/server/models/_.cjs.js.map +1 -0
- package/dist/server/models/_.esm.js +2 -0
- package/dist/server/models/_.esm.js.map +1 -0
- package/dist/server/models/index.cjs.js +2 -0
- package/dist/server/models/index.cjs.js.map +1 -0
- package/dist/server/models/index.esm.js +2 -0
- package/dist/server/models/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.cjs.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.cjs.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.cjs.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.cjs.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.cjs.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.cjs.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.cjs.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.cjs.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.cjs.js +3 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.cjs.js +3 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js +3 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.cjs.js +4 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js +4 -0
- package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.cjs.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.cjs.js.map +1 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js +2 -0
- package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js.map +1 -0
- package/dist/server/services/AuditorService.cjs.js +2 -0
- package/dist/server/services/AuditorService.cjs.js.map +1 -0
- package/dist/server/services/AuditorService.esm.js +2 -0
- package/dist/server/services/AuditorService.esm.js.map +1 -0
- package/dist/server/services/ChronicleService.cjs.js +2 -0
- package/dist/server/services/ChronicleService.cjs.js.map +1 -0
- package/dist/server/services/ChronicleService.esm.js +2 -0
- package/dist/server/services/ChronicleService.esm.js.map +1 -0
- package/dist/server/services/MonitorService.cjs.js +2 -0
- package/dist/server/services/MonitorService.cjs.js.map +1 -0
- package/dist/server/services/MonitorService.esm.js +2 -0
- package/dist/server/services/MonitorService.esm.js.map +1 -0
- package/dist/server/services/RelayService.cjs.js +2 -0
- package/dist/server/services/RelayService.cjs.js.map +1 -0
- package/dist/server/services/RelayService.esm.js +2 -0
- package/dist/server/services/RelayService.esm.js.map +1 -0
- package/dist/server/services/Service.cjs.js +2 -0
- package/dist/server/services/Service.cjs.js.map +1 -0
- package/dist/server/services/Service.esm.js +2 -0
- package/dist/server/services/Service.esm.js.map +1 -0
- package/dist/server/services/index.cjs.js +2 -0
- package/dist/server/services/index.cjs.js.map +1 -0
- package/dist/server/services/index.esm.js +2 -0
- package/dist/server/services/index.esm.js.map +1 -0
- package/dist/server/transform/TransformCheck.cjs.js +2 -0
- package/dist/server/transform/TransformCheck.cjs.js.map +1 -0
- package/dist/server/transform/TransformCheck.esm.js +2 -0
- package/dist/server/transform/TransformCheck.esm.js.map +1 -0
- package/dist/server/transform/TransformEvent.cjs.js +2 -0
- package/dist/server/transform/TransformEvent.cjs.js.map +1 -0
- package/dist/server/transform/TransformEvent.esm.js +2 -0
- package/dist/server/transform/TransformEvent.esm.js.map +1 -0
- package/dist/server/transform/TransformMonitors.cjs.js +2 -0
- package/dist/server/transform/TransformMonitors.cjs.js.map +1 -0
- package/dist/server/transform/TransformMonitors.esm.js +2 -0
- package/dist/server/transform/TransformMonitors.esm.js.map +1 -0
- package/dist/server/transform/TransformRelays.cjs.js +2 -0
- package/dist/server/transform/TransformRelays.cjs.js.map +1 -0
- package/dist/server/transform/TransformRelays.esm.js +2 -0
- package/dist/server/transform/TransformRelays.esm.js.map +1 -0
- package/dist/server/transform/index.cjs.js +2 -0
- package/dist/server/transform/index.cjs.js.map +1 -0
- package/dist/server/transform/index.esm.js +2 -0
- package/dist/server/transform/index.esm.js.map +1 -0
- package/dist/server/utils/SyncKeys.cjs.js +2 -0
- package/dist/server/utils/SyncKeys.cjs.js.map +1 -0
- package/dist/server/utils/SyncKeys.esm.js +2 -0
- package/dist/server/utils/SyncKeys.esm.js.map +1 -0
- package/dist/server/utils/classes.cjs.js +2 -0
- package/dist/server/utils/classes.cjs.js.map +1 -0
- package/dist/server/utils/classes.esm.js +2 -0
- package/dist/server/utils/classes.esm.js.map +1 -0
- package/dist/server/utils/encoding.cjs.js +2 -0
- package/dist/server/utils/encoding.cjs.js.map +1 -0
- package/dist/server/utils/encoding.esm.js +2 -0
- package/dist/server/utils/encoding.esm.js.map +1 -0
- package/dist/server/utils/events.cjs.js +2 -0
- package/dist/server/utils/events.cjs.js.map +1 -0
- package/dist/server/utils/events.esm.js +2 -0
- package/dist/server/utils/events.esm.js.map +1 -0
- package/dist/server/utils/general.cjs.js +2 -0
- package/dist/server/utils/general.cjs.js.map +1 -0
- package/dist/server/utils/general.esm.js +2 -0
- package/dist/server/utils/general.esm.js.map +1 -0
- package/dist/server/utils/geo.cjs.js +2 -0
- package/dist/server/utils/geo.cjs.js.map +1 -0
- package/dist/server/utils/geo.esm.js +2 -0
- package/dist/server/utils/geo.esm.js.map +1 -0
- package/dist/server/utils/hash.cjs.js +2 -0
- package/dist/server/utils/hash.cjs.js.map +1 -0
- package/dist/server/utils/hash.esm.js +2 -0
- package/dist/server/utils/hash.esm.js.map +1 -0
- package/dist/server/utils/index.cjs.js +2 -0
- package/dist/server/utils/index.cjs.js.map +1 -0
- package/dist/server/utils/index.esm.js +2 -0
- package/dist/server/utils/index.esm.js.map +1 -0
- package/dist/server/utils/monitors.cjs.js +2 -0
- package/dist/server/utils/monitors.cjs.js.map +1 -0
- package/dist/server/utils/monitors.esm.js +2 -0
- package/dist/server/utils/monitors.esm.js.map +1 -0
- package/dist/server/utils/nostr.cjs.js +2 -0
- package/dist/server/utils/nostr.cjs.js.map +1 -0
- package/dist/server/utils/nostr.esm.js +2 -0
- package/dist/server/utils/nostr.esm.js.map +1 -0
- package/dist/server/utils/pfp.cjs.js +2 -0
- package/dist/server/utils/pfp.cjs.js.map +1 -0
- package/dist/server/utils/pfp.esm.js +2 -0
- package/dist/server/utils/pfp.esm.js.map +1 -0
- package/dist/types/core/Adapter.d.ts +58 -0
- package/dist/types/core/Adapter.d.ts.map +1 -0
- package/dist/types/core/AdapterCacheWorker.d.ts +28 -0
- package/dist/types/core/AdapterCacheWorker.d.ts.map +1 -0
- package/dist/types/core/AdapterWebsocketQueue.d.ts +7 -0
- package/dist/types/core/AdapterWebsocketQueue.d.ts.map +1 -0
- package/dist/types/core/AdapterWebsocketWorker.d.ts +78 -0
- package/dist/types/core/AdapterWebsocketWorker.d.ts.map +1 -0
- package/dist/types/core/AdapterWorker.d.ts +55 -0
- package/dist/types/core/AdapterWorker.d.ts.map +1 -0
- package/dist/types/core/Base.d.ts +53 -0
- package/dist/types/core/Base.d.ts.map +1 -0
- package/dist/types/core/Batcher.d.ts +19 -0
- package/dist/types/core/Batcher.d.ts.map +1 -0
- package/dist/types/core/CacheAdapter.d.ts +127 -0
- package/dist/types/core/CacheAdapter.d.ts.map +1 -0
- package/dist/types/core/Checkpoints.d.ts +8 -0
- package/dist/types/core/Checkpoints.d.ts.map +1 -0
- package/dist/types/core/LocalStorageWrapper.d.ts +19 -0
- package/dist/types/core/LocalStorageWrapper.d.ts.map +1 -0
- package/dist/types/core/Loggerr.d.ts +3 -0
- package/dist/types/core/Loggerr.d.ts.map +1 -0
- package/dist/types/core/Memory.d.ts +1 -0
- package/dist/types/core/Memory.d.ts.map +1 -0
- package/dist/types/core/Queue.d.ts +42 -0
- package/dist/types/core/Queue.d.ts.map +1 -0
- package/dist/types/core/Routine.d.ts +3 -0
- package/dist/types/core/Routine.d.ts.map +1 -0
- package/dist/types/core/Subscriber.d.ts +10 -0
- package/dist/types/core/Subscriber.d.ts.map +1 -0
- package/dist/types/core/WebsocketAdapter.d.ts +93 -0
- package/dist/types/core/WebsocketAdapter.d.ts.map +1 -0
- package/dist/types/core/Workers.d.ts +24 -0
- package/dist/types/core/Workers.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +12 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/factory/cache.shared.worker.d.ts +3 -0
- package/dist/types/factory/cache.shared.worker.d.ts.map +1 -0
- package/dist/types/factory/cache.worker.d.ts +11 -0
- package/dist/types/factory/cache.worker.d.ts.map +1 -0
- package/dist/types/factory/index.d.ts +3 -0
- package/dist/types/factory/index.d.ts.map +1 -0
- package/dist/types/helpers/filters.d.ts +4 -0
- package/dist/types/helpers/filters.d.ts.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces/IAdapterWorkerCommand.d.ts +8 -0
- package/dist/types/interfaces/IAdapterWorkerCommand.d.ts.map +1 -0
- package/dist/types/interfaces/IAdaptersArgument.d.ts +7 -0
- package/dist/types/interfaces/IAdaptersArgument.d.ts.map +1 -0
- package/dist/types/interfaces/ICacheAdapter.d.ts +1 -0
- package/dist/types/interfaces/ICacheAdapter.d.ts.map +1 -0
- package/dist/types/interfaces/ICacheAdapterSharedWorkerCommand.d.ts +8 -0
- package/dist/types/interfaces/ICacheAdapterSharedWorkerCommand.d.ts.map +1 -0
- package/dist/types/interfaces/INostrEvent.d.ts +2 -0
- package/dist/types/interfaces/INostrEvent.d.ts.map +1 -0
- package/dist/types/interfaces/ISharedWorkerGlobalScope.d.ts +7 -0
- package/dist/types/interfaces/ISharedWorkerGlobalScope.d.ts.map +1 -0
- package/dist/types/interfaces/IWorkerCommand.d.ts +6 -0
- package/dist/types/interfaces/IWorkerCommand.d.ts.map +1 -0
- package/dist/types/interfaces/IWorkerGlobalScope.d.ts +7 -0
- package/dist/types/interfaces/IWorkerGlobalScope.d.ts.map +1 -0
- package/dist/types/interfaces/TISO13166.d.ts +15 -0
- package/dist/types/interfaces/TISO13166.d.ts.map +1 -0
- package/dist/types/interfaces/index.d.ts +8 -0
- package/dist/types/interfaces/index.d.ts.map +1 -0
- package/dist/types/managers/MonitorManager.d.ts +50 -0
- package/dist/types/managers/MonitorManager.d.ts.map +1 -0
- package/dist/types/managers/StageManager.d.ts +36 -0
- package/dist/types/managers/StageManager.d.ts.map +1 -0
- package/dist/types/managers/StateManager.d.ts +50 -0
- package/dist/types/managers/StateManager.d.ts.map +1 -0
- package/dist/types/managers/SyncStateManager.d.ts +22 -0
- package/dist/types/managers/SyncStateManager.d.ts.map +1 -0
- package/dist/types/models/Check.d.ts +28 -0
- package/dist/types/models/Check.d.ts.map +1 -0
- package/dist/types/models/DeltaEvent.d.ts +79 -0
- package/dist/types/models/DeltaEvent.d.ts.map +1 -0
- package/dist/types/models/Event.d.ts +61 -0
- package/dist/types/models/Event.d.ts.map +1 -0
- package/dist/types/models/EventEncoded.d.ts +8 -0
- package/dist/types/models/EventEncoded.d.ts.map +1 -0
- package/dist/types/models/Geocode.d.ts +7 -0
- package/dist/types/models/Geocode.d.ts.map +1 -0
- package/dist/types/models/Geocoded.d.ts +238 -0
- package/dist/types/models/Geocoded.d.ts.map +1 -0
- package/dist/types/models/Geohash.d.ts +6 -0
- package/dist/types/models/Geohash.d.ts.map +1 -0
- package/dist/types/models/Monitor.d.ts +96 -0
- package/dist/types/models/Monitor.d.ts.map +1 -0
- package/dist/types/models/MonitorRegistration.d.ts +8 -0
- package/dist/types/models/MonitorRegistration.d.ts.map +1 -0
- package/dist/types/models/Nip11.d.ts +155 -0
- package/dist/types/models/Nip11.d.ts.map +1 -0
- package/dist/types/models/Nip66CheckEvent.d.ts +63 -0
- package/dist/types/models/Nip66CheckEvent.d.ts.map +1 -0
- package/dist/types/models/PubkeyProfile.d.ts +19 -0
- package/dist/types/models/PubkeyProfile.d.ts.map +1 -0
- package/dist/types/models/PubkeyRelays.d.ts +5 -0
- package/dist/types/models/PubkeyRelays.d.ts.map +1 -0
- package/dist/types/models/Relay.d.ts +9 -0
- package/dist/types/models/Relay.d.ts.map +1 -0
- package/dist/types/models/RelayCheckAggregate.d.ts +92 -0
- package/dist/types/models/RelayCheckAggregate.d.ts.map +1 -0
- package/dist/types/models/Ssl.d.ts +9 -0
- package/dist/types/models/Ssl.d.ts.map +1 -0
- package/dist/types/models/_.d.ts +2 -0
- package/dist/types/models/_.d.ts.map +1 -0
- package/dist/types/models/index.d.ts +15 -0
- package/dist/types/models/index.d.ts.map +1 -0
- package/dist/types/routines/PurgeInactiveMonitors.d.ts +6 -0
- package/dist/types/routines/PurgeInactiveMonitors.d.ts.map +1 -0
- package/dist/types/routines/PurgeOldChecks.d.ts +6 -0
- package/dist/types/routines/PurgeOldChecks.d.ts.map +1 -0
- package/dist/types/services/AuditorService.d.ts +4 -0
- package/dist/types/services/AuditorService.d.ts.map +1 -0
- package/dist/types/services/ChronicleService.d.ts +177 -0
- package/dist/types/services/ChronicleService.d.ts.map +1 -0
- package/dist/types/services/MonitorService.d.ts +62 -0
- package/dist/types/services/MonitorService.d.ts.map +1 -0
- package/dist/types/services/RelayService.d.ts +39 -0
- package/dist/types/services/RelayService.d.ts.map +1 -0
- package/dist/types/services/Service.d.ts +56 -0
- package/dist/types/services/Service.d.ts.map +1 -0
- package/dist/types/services/index.d.ts +6 -0
- package/dist/types/services/index.d.ts.map +1 -0
- package/dist/types/transform/TransformCheck.d.ts +24 -0
- package/dist/types/transform/TransformCheck.d.ts.map +1 -0
- package/dist/types/transform/TransformEvent.d.ts +4 -0
- package/dist/types/transform/TransformEvent.d.ts.map +1 -0
- package/dist/types/transform/TransformMonitors.d.ts +10 -0
- package/dist/types/transform/TransformMonitors.d.ts.map +1 -0
- package/dist/types/transform/TransformRelays.d.ts +20 -0
- package/dist/types/transform/TransformRelays.d.ts.map +1 -0
- package/dist/types/transform/index.d.ts +4 -0
- package/dist/types/transform/index.d.ts.map +1 -0
- package/dist/types/utils/SyncKeys.d.ts +12 -0
- package/dist/types/utils/SyncKeys.d.ts.map +1 -0
- package/dist/types/utils/classes.d.ts +21 -0
- package/dist/types/utils/classes.d.ts.map +1 -0
- package/dist/types/utils/encoding.d.ts +4 -0
- package/dist/types/utils/encoding.d.ts.map +1 -0
- package/dist/types/utils/events.d.ts +7 -0
- package/dist/types/utils/events.d.ts.map +1 -0
- package/dist/types/utils/general.d.ts +8 -0
- package/dist/types/utils/general.d.ts.map +1 -0
- package/dist/types/utils/geo.d.ts +5 -0
- package/dist/types/utils/geo.d.ts.map +1 -0
- package/dist/types/utils/hash.d.ts +7 -0
- package/dist/types/utils/hash.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +8 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/monitors.d.ts +2 -0
- package/dist/types/utils/monitors.d.ts.map +1 -0
- package/dist/types/utils/nostr.d.ts +9 -0
- package/dist/types/utils/nostr.d.ts.map +1 -0
- package/dist/types/utils/pfp.d.ts +17 -0
- package/dist/types/utils/pfp.d.ts.map +1 -0
- package/dist/types/workers/nocap.worker.d.ts +2 -0
- package/dist/types/workers/nocap.worker.d.ts.map +1 -0
- package/examples/basic.js +14 -0
- package/package.json +133 -0
- package/rollup.config.js +206 -0
- package/src/core/Adapter.ts +182 -0
- package/src/core/AdapterCacheWorker.ts +83 -0
- package/src/core/AdapterWebsocketQueue.ts +20 -0
- package/src/core/AdapterWebsocketWorker.ts +307 -0
- package/src/core/AdapterWorker.ts +200 -0
- package/src/core/Base.ts +212 -0
- package/src/core/Batcher.ts +78 -0
- package/src/core/CacheAdapter.ts +186 -0
- package/src/core/Checkpoints.ts +11 -0
- package/src/core/LocalStorageWrapper.ts +112 -0
- package/src/core/Loggerr.ts +3 -0
- package/src/core/Memory.ts +20 -0
- package/src/core/Queue.ts +109 -0
- package/src/core/Routine.ts +1 -0
- package/src/core/Subscriber.ts +29 -0
- package/src/core/WebsocketAdapter.ts +438 -0
- package/src/core/Workers.ts +115 -0
- package/src/core/index.ts +15 -0
- package/src/factory/cache.shared.worker.ts +14 -0
- package/src/factory/cache.worker.ts +13 -0
- package/src/factory/index.ts +2 -0
- package/src/helpers/filters.ts +9 -0
- package/src/index.ts +13 -0
- package/src/interfaces/IAdapterWorkerCommand.ts +8 -0
- package/src/interfaces/IAdaptersArgument.ts +7 -0
- package/src/interfaces/ICacheAdapter.ts +42 -0
- package/src/interfaces/ICacheAdapterSharedWorkerCommand.ts +8 -0
- package/src/interfaces/INostrEvent.ts +1 -0
- package/src/interfaces/ISharedWorkerGlobalScope.ts +6 -0
- package/src/interfaces/IWorkerCommand.ts +5 -0
- package/src/interfaces/IWorkerGlobalScope.ts +6 -0
- package/src/interfaces/TISO13166.ts +17 -0
- package/src/interfaces/index.ts +7 -0
- package/src/managers/MonitorManager.ts +232 -0
- package/src/managers/StageManager.ts +83 -0
- package/src/managers/StateManager.ts +176 -0
- package/src/managers/SyncStateManager.ts +60 -0
- package/src/models/Check.ts +34 -0
- package/src/models/DeltaEvent.ts +152 -0
- package/src/models/Event.ts +192 -0
- package/src/models/EventEncoded.ts +7 -0
- package/src/models/Geocode.ts +7 -0
- package/src/models/Geocoded.ts +567 -0
- package/src/models/Geohash.ts +6 -0
- package/src/models/Monitor.ts +384 -0
- package/src/models/MonitorRegistration.ts +25 -0
- package/src/models/Nip11.ts +275 -0
- package/src/models/Nip66CheckEvent.ts +316 -0
- package/src/models/PubkeyProfile.ts +67 -0
- package/src/models/PubkeyRelays.ts +9 -0
- package/src/models/Relay.ts +8 -0
- package/src/models/RelayCheckAggregate.ts +222 -0
- package/src/models/Ssl.ts +8 -0
- package/src/models/_.ts +7 -0
- package/src/models/index.ts +14 -0
- package/src/routines/PurgeInactiveMonitors.ts +10 -0
- package/src/routines/PurgeOldChecks.ts +10 -0
- package/src/services/AuditorService.ts +3 -0
- package/src/services/ChronicleService.ts +722 -0
- package/src/services/MonitorService.ts +719 -0
- package/src/services/RelayService.ts +250 -0
- package/src/services/Service.ts +370 -0
- package/src/services/index.ts +5 -0
- package/src/transform/TransformCheck.ts +62 -0
- package/src/transform/TransformEvent.ts +26 -0
- package/src/transform/TransformMonitors.ts +91 -0
- package/src/transform/TransformRelays.ts +327 -0
- package/src/transform/index.ts +3 -0
- package/src/utils/SyncKeys.ts +12 -0
- package/src/utils/classes.ts +48 -0
- package/src/utils/encoding.ts +16 -0
- package/src/utils/events.ts +29 -0
- package/src/utils/general.ts +101 -0
- package/src/utils/geo.ts +19 -0
- package/src/utils/hash.ts +98 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/monitors.ts +4 -0
- package/src/utils/nostr.ts +45 -0
- package/src/utils/pfp.ts +278 -0
- package/src/workers/nocap.worker.ts +1 -0
- package/tsconfig.browser.json +12 -0
- package/tsconfig.json +35 -0
- package/tsconfig.server.json +10 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorManager.amd.js","sources":["../../../src/managers/MonitorManager.ts"],"sourcesContent":["\nimport { IEvent } from '@base/interfaces';\nimport { Monitor } from '../models/Monitor';\nimport { Nip66CheckEvent, NostrEvent } from '@base/models';\n\nexport type MonitorPriorities = MonitorPriority[];\n\nexport type MonitorCached = {\n pubkey: string,\n registration?: IEvent,\n profile?: IEvent,\n relays?: IEvent,\n priority: number,\n enabled: boolean,\n lastActive?: number\n}\n\nexport enum MonitorPriority {\n Follows = 'FOLLOWS',\n Wot = 'WOT',\n Checks = 'CHECKS',\n LoadSpeed = 'LOADSPEED',\n Geohash = 'GEOHASH',\n Country = 'COUNTRY',\n Network = 'NETWORK',\n}\n\nexport const DEFAULT_ANON_MONITOR_PRIORITIES: MonitorPriorities = [\n MonitorPriority.Network,\n MonitorPriority.Checks,\n MonitorPriority.Geohash,\n];\n\nexport const DEFAULT_AUTHED_MONITOR_PRIORITIES: MonitorPriorities = [\n MonitorPriority.Follows,\n MonitorPriority.Wot,\n MonitorPriority.Checks,\n];\n\nexport class MonitorManager {\n private static instance: MonitorManager;\n\n private monitors: Map<string, Monitor> = new Map();\n\n private constructor() {}\n\n public static getInstance(): MonitorManager {\n if (!MonitorManager.instance) {\n MonitorManager.instance = new MonitorManager();\n }\n return MonitorManager.instance;\n }\n\n get monitorsMap(): Map<string, Monitor> {\n return this.monitors;\n }\n\n get array(): Monitor[] {\n return Array.from(this.monitors.values());\n }\n\n get activeMonitors(): Monitor[] {\n return this.array.filter((monitor) => monitor.active);\n }\n\n get enabledMonitors(): Monitor[] { \n return this.sortedMonitors.filter((monitor) => monitor.enabled);\n }\n\n get enabledActiveMonitors(): Monitor[] {\n return this.enabledMonitors.filter((monitor) => monitor.active);\n }\n\n get disabledMonitors(): Monitor[] { \n return this.sortedMonitors.filter((monitor) => !monitor.enabled);\n }\n\n get disabledActiveMonitors(): Monitor[] { \n return this.disabledMonitors.filter((monitor) => monitor.active);\n }\n\n get disabledInactiveMonitors(): Monitor[] { \n return this.disabledMonitors.filter((monitor) => !monitor.active);\n }\n\n get sortedMonitors(): Monitor[] {\n return this.sortMonitors();\n }\n\n get qualified(): Monitor[] {\n const qualified = this.array.filter((monitor) => {\n if (!monitor?.lastActive) return false;\n if (!monitor?.registration?.checks?.length) return false;\n if (!monitor?.profile) return false;\n if (!monitor?.relays) return false;\n return monitor.lastActive > 0;\n });\n return qualified;\n }\n\n isRelayOnline(event: Nip66CheckEvent | IEvent): boolean {\n return this.array.some((monitor) => monitor.relayIsOnline(event));\n }\n\n isRelayOffline(event: Nip66CheckEvent | IEvent): boolean {\n return this.array.every((monitor) => monitor.relayIsOffline(event) || monitor.relayIsDead(event));\n }\n\n isRelayDead(event: Nip66CheckEvent | IEvent): boolean {\n return this.array.every((monitor) => monitor.relayIsDead(event));\n }\n\n loadMonitors(monitors: MonitorCached[]) {\n monitors.forEach((monitor) => {\n if(monitor?.registration) {\n this.monitors.set(monitor.pubkey, Monitor.fromCache(monitor) as Monitor); \n }\n });\n }\n\n handleEvent(event: IEvent): void {\n const acceptedKinds = [0, 10002, 10166];\n const { kind, pubkey } = event;\n if(!acceptedKinds.includes(kind)) return\n let monitor = this.monitors.get(pubkey);\n if (!monitor && kind === 10166) {\n monitor = new Monitor(event);\n this.monitors.set(pubkey, monitor);\n } else if(!monitor) {\n console.warn(`Monitor not found for pubkey: ${pubkey}`);\n return;\n }\n if (kind === 10166) {\n monitor.addRegistration(event);\n } else if (kind === 0) {\n monitor.addProfile(event);\n } else if (kind === 10002) {\n monitor.addRelays(event);\n }\n this.monitors.set(pubkey, monitor);\n }\n\n updateMonitor(monitor: Monitor): void {\n this.monitors.set(monitor.pubkey, monitor);\n }\n\n maybeUpdateLastActive(event: IEvent | Nip66CheckEvent): boolean {\n const monitor = this.monitors.get(event.pubkey);\n if(!monitor) return false;\n return monitor.maybeUpdateLastActive(event);\n }\n\n sortMonitors(priority: MonitorPriority = MonitorPriority.Checks, apply: boolean = false): Monitor[] {\n let sortedMonitors: Monitor[] = [];\n switch (priority) {\n case MonitorPriority.LoadSpeed:\n return this.sort('ASC');\n case MonitorPriority.Checks:\n default:\n return this.sort();\n }\n }\n\n sort(order: 'ASC' | 'DESC' = 'DESC'): Monitor[] {\n // Clone the array to avoid mutating the original\n const monitors = [...this.array];\n\n // Calculate scores for each monitor\n const scores: Record<string, number> = {};\n monitors.forEach((monitor) => {\n if (!monitor?.registration?.pubkey) return;\n\n let score = 0;\n if (monitor.registration) score++;\n if (monitor.registration.checks?.length) score += new Set(monitor.registration.checks).size;\n if (monitor.profile) score++;\n if (monitor.relays) score++;\n if (!monitor.active) score = 0; // Inactive monitors have a score of 0\n\n ////console.log(`prioritizeMonitors: ${monitor.registration.pubkey} score: ${score}`);\n scores[monitor.registration.pubkey] = score;\n });\n\n // Sort monitors based on the defined criteria\n monitors.sort((a, b) => {\n // 1. Active Status: Active monitors come before inactive\n if (a.active && !b.active) return -1; // a before b\n if (!a.active && b.active) return 1; // b before a\n\n // If both are active or both inactive, proceed to next criteria\n\n // 2. Enabled Status: Enabled monitors come before disabled\n if (a.enabled && !b.enabled) return -1;\n if (!a.enabled && b.enabled) return 1;\n\n // 3. Number of Checks: More checks come first\n const checksA = a.registration?.checks?.length || 0;\n const checksB = b.registration?.checks?.length || 0;\n if (checksA !== checksB) return checksB - checksA; // Descending\n\n // 4. Reported Online: More reported online comes first\n const onlineA = a.reportedOnline || 0;\n const onlineB = b.reportedOnline || 0;\n if (onlineA !== onlineB) return onlineB - onlineA; // Descending\n\n // 5. Last Active: More recent comes first\n const lastActiveA = a.lastActive || 0;\n const lastActiveB = b.lastActive || 0;\n if (lastActiveA !== lastActiveB) return lastActiveB - lastActiveA; // Descending\n\n // 6. Score: Higher scores come first (or based on 'order')\n const scoreA = scores[a.registration?.pubkey || ''] || 0;\n const scoreB = scores[b.registration?.pubkey || ''] || 0;\n if (order === 'ASC') return scoreA - scoreB;\n return scoreB - scoreA;\n });\n\n return monitors;\n }\n \n\n // prioritizeMonitors(priority: MonitorPriority = MonitorPriority.Checks): void {\n // const monitors = this.sortMonitors(priority);\n // monitors.forEach((sortedMonitor, index) => {\n // sortedMonitor.priority = index + 1;\n // });\n // }\n\n // static sortMonitorsByPriority(monitors: Monitor[]): Monitor[] {\n // return monitors.filter(monitor => monitor.priority >= 0).sort((a, b) => a.priority - b.priority);\n // }\n}\n"],"names":["MonitorPriority","Network","Checks","Geohash","Follows","Wot","MonitorManager","this","monitors","Map","getInstance","instance","Object","defineProperty","prototype","get","Array","from","values","array","filter","monitor","active","sortedMonitors","enabled","enabledMonitors","disabledMonitors","sortMonitors","lastActive","_b","_a","registration","checks","length","profile","relays","isRelayOnline","event","some","relayIsOnline","isRelayOffline","every","relayIsOffline","relayIsDead","isRelayDead","loadMonitors","_this","forEach","set","pubkey","Monitor","fromCache","handleEvent","kind","includes","console","warn","addRegistration","addProfile","addRelays","updateMonitor","maybeUpdateLastActive","priority","apply","LoadSpeed","sort","order","__spreadArray","scores","score","Set","size","a","b","checksA","checksB","_d","_c","onlineA","reportedOnline","onlineB","lastActiveA","lastActiveB","scoreA","_e","scoreB","_f"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__spreadArray as e}from"../_virtual/_tslib.esm.js";import{Monitor as t}from"../models/Monitor.esm.js";var r;!function(e){e.Follows="FOLLOWS",e.Wot="WOT",e.Checks="CHECKS",e.LoadSpeed="LOADSPEED",e.Geohash="GEOHASH",e.Country="COUNTRY",e.Network="NETWORK"}(r||(r={})),r.Network,r.Checks,r.Geohash,r.Follows,r.Wot,r.Checks;var n=function(){function MonitorManager(){this.monitors=new Map}return MonitorManager.getInstance=function(){return MonitorManager.instance||(MonitorManager.instance=new MonitorManager),MonitorManager.instance},Object.defineProperty(MonitorManager.prototype,"monitorsMap",{get:function(){return this.monitors},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"array",{get:function(){return Array.from(this.monitors.values())},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"activeMonitors",{get:function(){return this.array.filter((function(e){return e.active}))},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"enabledMonitors",{get:function(){return this.sortedMonitors.filter((function(e){return e.enabled}))},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"enabledActiveMonitors",{get:function(){return this.enabledMonitors.filter((function(e){return e.active}))},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"disabledMonitors",{get:function(){return this.sortedMonitors.filter((function(e){return!e.enabled}))},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"disabledActiveMonitors",{get:function(){return this.disabledMonitors.filter((function(e){return e.active}))},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"disabledInactiveMonitors",{get:function(){return this.disabledMonitors.filter((function(e){return!e.active}))},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"sortedMonitors",{get:function(){return this.sortMonitors()},enumerable:!1,configurable:!0}),Object.defineProperty(MonitorManager.prototype,"qualified",{get:function(){return this.array.filter((function(e){var t,r;return!!(null==e?void 0:e.lastActive)&&(!!(null===(r=null===(t=null==e?void 0:e.registration)||void 0===t?void 0:t.checks)||void 0===r?void 0:r.length)&&(!!(null==e?void 0:e.profile)&&(!!(null==e?void 0:e.relays)&&e.lastActive>0)))}))},enumerable:!1,configurable:!0}),MonitorManager.prototype.isRelayOnline=function(e){return this.array.some((function(t){return t.relayIsOnline(e)}))},MonitorManager.prototype.isRelayOffline=function(e){return this.array.every((function(t){return t.relayIsOffline(e)||t.relayIsDead(e)}))},MonitorManager.prototype.isRelayDead=function(e){return this.array.every((function(t){return t.relayIsDead(e)}))},MonitorManager.prototype.loadMonitors=function(e){var r=this;e.forEach((function(e){(null==e?void 0:e.registration)&&r.monitors.set(e.pubkey,t.fromCache(e))}))},MonitorManager.prototype.handleEvent=function(e){var r=e.kind,n=e.pubkey;if([0,10002,10166].includes(r)){var o=this.monitors.get(n);if(o||10166!==r){if(!o)return void console.warn("Monitor not found for pubkey: ".concat(n))}else o=new t(e),this.monitors.set(n,o);10166===r?o.addRegistration(e):0===r?o.addProfile(e):10002===r&&o.addRelays(e),this.monitors.set(n,o)}},MonitorManager.prototype.updateMonitor=function(e){this.monitors.set(e.pubkey,e)},MonitorManager.prototype.maybeUpdateLastActive=function(e){var t=this.monitors.get(e.pubkey);return!!t&&t.maybeUpdateLastActive(e)},MonitorManager.prototype.sortMonitors=function(e,t){switch(void 0===e&&(e=r.Checks),e){case r.LoadSpeed:return this.sort("ASC");case r.Checks:default:return this.sort()}},MonitorManager.prototype.sort=function(t){void 0===t&&(t="DESC");var r=e([],this.array,!0),n={};return r.forEach((function(e){var t,r;if(null===(t=null==e?void 0:e.registration)||void 0===t?void 0:t.pubkey){var o=0;e.registration&&o++,(null===(r=e.registration.checks)||void 0===r?void 0:r.length)&&(o+=new Set(e.registration.checks).size),e.profile&&o++,e.relays&&o++,e.active||(o=0),n[e.registration.pubkey]=o}})),r.sort((function(e,r){var o,i,a,s,u,l;if(e.active&&!r.active)return-1;if(!e.active&&r.active)return 1;if(e.enabled&&!r.enabled)return-1;if(!e.enabled&&r.enabled)return 1;var c=(null===(i=null===(o=e.registration)||void 0===o?void 0:o.checks)||void 0===i?void 0:i.length)||0,f=(null===(s=null===(a=r.registration)||void 0===a?void 0:a.checks)||void 0===s?void 0:s.length)||0;if(c!==f)return f-c;var d=e.reportedOnline||0,M=r.reportedOnline||0;if(d!==M)return M-d;var p=e.lastActive||0,v=r.lastActive||0;if(p!==v)return v-p;var g=n[(null===(u=e.registration)||void 0===u?void 0:u.pubkey)||""]||0,y=n[(null===(l=r.registration)||void 0===l?void 0:l.pubkey)||""]||0;return"ASC"===t?g-y:y-g})),r},MonitorManager}();export{n as MonitorManager,r as MonitorPriority};
|
|
2
|
+
//# sourceMappingURL=MonitorManager.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonitorManager.esm.js","sources":["../../../src/managers/MonitorManager.ts"],"sourcesContent":["\nimport { IEvent } from '@base/interfaces';\nimport { Monitor } from '../models/Monitor';\nimport { Nip66CheckEvent, NostrEvent } from '@base/models';\n\nexport type MonitorPriorities = MonitorPriority[];\n\nexport type MonitorCached = {\n pubkey: string,\n registration?: IEvent,\n profile?: IEvent,\n relays?: IEvent,\n priority: number,\n enabled: boolean,\n lastActive?: number\n}\n\nexport enum MonitorPriority {\n Follows = 'FOLLOWS',\n Wot = 'WOT',\n Checks = 'CHECKS',\n LoadSpeed = 'LOADSPEED',\n Geohash = 'GEOHASH',\n Country = 'COUNTRY',\n Network = 'NETWORK',\n}\n\nexport const DEFAULT_ANON_MONITOR_PRIORITIES: MonitorPriorities = [\n MonitorPriority.Network,\n MonitorPriority.Checks,\n MonitorPriority.Geohash,\n];\n\nexport const DEFAULT_AUTHED_MONITOR_PRIORITIES: MonitorPriorities = [\n MonitorPriority.Follows,\n MonitorPriority.Wot,\n MonitorPriority.Checks,\n];\n\nexport class MonitorManager {\n private static instance: MonitorManager;\n\n private monitors: Map<string, Monitor> = new Map();\n\n private constructor() {}\n\n public static getInstance(): MonitorManager {\n if (!MonitorManager.instance) {\n MonitorManager.instance = new MonitorManager();\n }\n return MonitorManager.instance;\n }\n\n get monitorsMap(): Map<string, Monitor> {\n return this.monitors;\n }\n\n get array(): Monitor[] {\n return Array.from(this.monitors.values());\n }\n\n get activeMonitors(): Monitor[] {\n return this.array.filter((monitor) => monitor.active);\n }\n\n get enabledMonitors(): Monitor[] { \n return this.sortedMonitors.filter((monitor) => monitor.enabled);\n }\n\n get enabledActiveMonitors(): Monitor[] {\n return this.enabledMonitors.filter((monitor) => monitor.active);\n }\n\n get disabledMonitors(): Monitor[] { \n return this.sortedMonitors.filter((monitor) => !monitor.enabled);\n }\n\n get disabledActiveMonitors(): Monitor[] { \n return this.disabledMonitors.filter((monitor) => monitor.active);\n }\n\n get disabledInactiveMonitors(): Monitor[] { \n return this.disabledMonitors.filter((monitor) => !monitor.active);\n }\n\n get sortedMonitors(): Monitor[] {\n return this.sortMonitors();\n }\n\n get qualified(): Monitor[] {\n const qualified = this.array.filter((monitor) => {\n if (!monitor?.lastActive) return false;\n if (!monitor?.registration?.checks?.length) return false;\n if (!monitor?.profile) return false;\n if (!monitor?.relays) return false;\n return monitor.lastActive > 0;\n });\n return qualified;\n }\n\n isRelayOnline(event: Nip66CheckEvent | IEvent): boolean {\n return this.array.some((monitor) => monitor.relayIsOnline(event));\n }\n\n isRelayOffline(event: Nip66CheckEvent | IEvent): boolean {\n return this.array.every((monitor) => monitor.relayIsOffline(event) || monitor.relayIsDead(event));\n }\n\n isRelayDead(event: Nip66CheckEvent | IEvent): boolean {\n return this.array.every((monitor) => monitor.relayIsDead(event));\n }\n\n loadMonitors(monitors: MonitorCached[]) {\n monitors.forEach((monitor) => {\n if(monitor?.registration) {\n this.monitors.set(monitor.pubkey, Monitor.fromCache(monitor) as Monitor); \n }\n });\n }\n\n handleEvent(event: IEvent): void {\n const acceptedKinds = [0, 10002, 10166];\n const { kind, pubkey } = event;\n if(!acceptedKinds.includes(kind)) return\n let monitor = this.monitors.get(pubkey);\n if (!monitor && kind === 10166) {\n monitor = new Monitor(event);\n this.monitors.set(pubkey, monitor);\n } else if(!monitor) {\n console.warn(`Monitor not found for pubkey: ${pubkey}`);\n return;\n }\n if (kind === 10166) {\n monitor.addRegistration(event);\n } else if (kind === 0) {\n monitor.addProfile(event);\n } else if (kind === 10002) {\n monitor.addRelays(event);\n }\n this.monitors.set(pubkey, monitor);\n }\n\n updateMonitor(monitor: Monitor): void {\n this.monitors.set(monitor.pubkey, monitor);\n }\n\n maybeUpdateLastActive(event: IEvent | Nip66CheckEvent): boolean {\n const monitor = this.monitors.get(event.pubkey);\n if(!monitor) return false;\n return monitor.maybeUpdateLastActive(event);\n }\n\n sortMonitors(priority: MonitorPriority = MonitorPriority.Checks, apply: boolean = false): Monitor[] {\n let sortedMonitors: Monitor[] = [];\n switch (priority) {\n case MonitorPriority.LoadSpeed:\n return this.sort('ASC');\n case MonitorPriority.Checks:\n default:\n return this.sort();\n }\n }\n\n sort(order: 'ASC' | 'DESC' = 'DESC'): Monitor[] {\n // Clone the array to avoid mutating the original\n const monitors = [...this.array];\n\n // Calculate scores for each monitor\n const scores: Record<string, number> = {};\n monitors.forEach((monitor) => {\n if (!monitor?.registration?.pubkey) return;\n\n let score = 0;\n if (monitor.registration) score++;\n if (monitor.registration.checks?.length) score += new Set(monitor.registration.checks).size;\n if (monitor.profile) score++;\n if (monitor.relays) score++;\n if (!monitor.active) score = 0; // Inactive monitors have a score of 0\n\n ////console.log(`prioritizeMonitors: ${monitor.registration.pubkey} score: ${score}`);\n scores[monitor.registration.pubkey] = score;\n });\n\n // Sort monitors based on the defined criteria\n monitors.sort((a, b) => {\n // 1. Active Status: Active monitors come before inactive\n if (a.active && !b.active) return -1; // a before b\n if (!a.active && b.active) return 1; // b before a\n\n // If both are active or both inactive, proceed to next criteria\n\n // 2. Enabled Status: Enabled monitors come before disabled\n if (a.enabled && !b.enabled) return -1;\n if (!a.enabled && b.enabled) return 1;\n\n // 3. Number of Checks: More checks come first\n const checksA = a.registration?.checks?.length || 0;\n const checksB = b.registration?.checks?.length || 0;\n if (checksA !== checksB) return checksB - checksA; // Descending\n\n // 4. Reported Online: More reported online comes first\n const onlineA = a.reportedOnline || 0;\n const onlineB = b.reportedOnline || 0;\n if (onlineA !== onlineB) return onlineB - onlineA; // Descending\n\n // 5. Last Active: More recent comes first\n const lastActiveA = a.lastActive || 0;\n const lastActiveB = b.lastActive || 0;\n if (lastActiveA !== lastActiveB) return lastActiveB - lastActiveA; // Descending\n\n // 6. Score: Higher scores come first (or based on 'order')\n const scoreA = scores[a.registration?.pubkey || ''] || 0;\n const scoreB = scores[b.registration?.pubkey || ''] || 0;\n if (order === 'ASC') return scoreA - scoreB;\n return scoreB - scoreA;\n });\n\n return monitors;\n }\n \n\n // prioritizeMonitors(priority: MonitorPriority = MonitorPriority.Checks): void {\n // const monitors = this.sortMonitors(priority);\n // monitors.forEach((sortedMonitor, index) => {\n // sortedMonitor.priority = index + 1;\n // });\n // }\n\n // static sortMonitorsByPriority(monitors: Monitor[]): Monitor[] {\n // return monitors.filter(monitor => monitor.priority >= 0).sort((a, b) => a.priority - b.priority);\n // }\n}\n"],"names":["MonitorPriority","Network","Checks","Geohash","Follows","Wot","MonitorManager","this","monitors","Map","getInstance","instance","Object","defineProperty","prototype","get","Array","from","values","array","filter","monitor","active","sortedMonitors","enabled","enabledMonitors","disabledMonitors","sortMonitors","lastActive","_b","_a","registration","checks","length","profile","relays","isRelayOnline","event","some","relayIsOnline","isRelayOffline","every","relayIsOffline","relayIsDead","isRelayDead","loadMonitors","_this","forEach","set","pubkey","Monitor","fromCache","handleEvent","kind","includes","console","warn","addRegistration","addProfile","addRelays","updateMonitor","maybeUpdateLastActive","priority","apply","LoadSpeed","sort","order","__spreadArray","scores","score","Set","size","a","b","checksA","checksB","_d","_c","onlineA","reportedOnline","onlineB","lastActiveA","lastActiveB","scoreA","_e","scoreB","_f"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["exports","../_virtual/_tslib.amd","../core/LocalStorageWrapper.amd","../_virtual/index.amd"],(function(t,e,a,r){"use strict";var n=function(){function StateManager(){}return Object.defineProperty(StateManager,"abortController",{get:function(){return this._abortController},enumerable:!1,configurable:!0}),Object.defineProperty(StateManager,"abortSignal",{get:function(){return this._abortController.signal},enumerable:!1,configurable:!0}),StateManager.abort=function(){this.incrementStat("ac:abort"),this.abortSignal.aborted||(this._abortController.abort(),this._emitter.emit("abort"))},StateManager.aborted=function(){return this.abortSignal.aborted},StateManager.resetAbort=function(){this.incrementStat("ac:reset-abort"),this._abortController=new AbortController,this._emitter.emit("reset-abort")},Object.defineProperty(StateManager,"localStorage",{get:function(){return this._localStorage},enumerable:!1,configurable:!0}),StateManager.set=function(t,e){this.incrementStat("ls:set"),this.localStorage.setItem(t,e)},StateManager.get=function(t){return this.incrementStat("ls:get"),this.localStorage.getItem(t)},StateManager.remove=function(t){this.incrementStat("ls:remove"),this.localStorage.removeItem(t)},StateManager.clear=function(){this.incrementStat("ls:clear"),this.localStorage.clear()},StateManager.size=function(){return this.incrementStat("ls:size"),this.localStorage.length()},StateManager.key=function(t){return this.incrementStat("ls:key"),this.localStorage.key(t)},Object.defineProperty(StateManager,"emitter",{get:function(){return this._emitter},enumerable:!1,configurable:!0}),StateManager.emit=function(t){for(var a,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];this.incrementStat("emitter:emit"),(a=this._emitter).emit.apply(a,e.__spreadArray([t],r,!1))},StateManager.on=function(t,e){this.incrementStat("emitter:on"),this._emitter.on(t,e)},StateManager.once=function(t,e){this.incrementStat("emitter:once"),this._emitter.once(t,e)},StateManager.off=function(t,e){this.incrementStat("emitter:off"),e?this._emitter.off(t,e):this._emitter.removeAllListeners(t)},StateManager.clearListeners=function(t){this.incrementStat("emitter:clear"),this._emitter.removeAllListeners(t)},Object.defineProperty(StateManager,"stats",{get:function(){return this._stats},enumerable:!1,configurable:!0}),StateManager.enableStats=function(){this._enableStats=!0},StateManager.disableStats=function(){this._enableStats=!1},StateManager.incrementStat=function(t){if(this._enableStats){var e=this.getStat(t);this.setStat(t,e+1)}},StateManager.decrementStat=function(t){if(this._enableStats){var e=this.getStat(t);this.setStat(t,e-1)}},StateManager.clearStats=function(){this._stats.clear()},StateManager.setStat=function(t,e){this._enableStats&&this._stats.set(t,e)},StateManager.getStat=function(t){return this._enableStats&&this._stats.get(t)||0},StateManager._abortController=new AbortController,StateManager._emitter=new r.libExports.EventEmitter,StateManager._localStorage=new a.LocalStorageWrapper("state"),StateManager._enableStats=!0,StateManager._stats=new Map,StateManager._user={},StateManager}();t.StateManager=n}));
|
|
2
|
+
//# sourceMappingURL=StateManager.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateManager.amd.js","sources":["../../../src/managers/StateManager.ts"],"sourcesContent":["import { LocalStorageWrapper } from \"@base/core/LocalStorageWrapper\";\nimport { EventEmitter } from \"tseep\";\n\nexport type StateAbort = {\n controller: AbortController;\n signal: AbortSignal;\n};\n\nexport type StateStats = Map<string, number>;\n\nexport type UserPreferences = Map<string, any>\n\nexport type UserState = {\n pubkey?: string,\n authed?: boolean,\n profile?: any,\n relays?: string[]\n preferences?: UserPreferences\n}\n\nexport class StateManager {\n private static _abortController: AbortController = new AbortController();\n private static _emitter: EventEmitter = new EventEmitter();\n private static _localStorage: LocalStorageWrapper = new LocalStorageWrapper(\"state\")\n private static _enableStats: boolean = true;\n private static _stats: StateStats = new Map();\n private static _user: UserState = {}; \n\n // Getter for the AbortController\n static get abortController(): AbortController {\n return this._abortController;\n }\n\n // Getter for the AbortSignal\n static get abortSignal(): AbortSignal {\n return this._abortController.signal;\n }\n\n // Abort action that emits an \"abort\" event\n static abort(): void {\n this.incrementStat('ac:abort');\n if (!this.abortSignal.aborted) {\n this._abortController.abort();\n this._emitter.emit(\"abort\");\n }\n }\n\n // Check if aborted\n static aborted(): boolean {\n return this.abortSignal.aborted;\n }\n\n // Reset the AbortController and emit a \"reset-abort\" event\n static resetAbort(): void {\n this.incrementStat('ac:reset-abort');\n this._abortController = new AbortController();\n this._emitter.emit(\"reset-abort\");\n }\n\n // Getter for LocalStorageWrapper\n static get localStorage(): LocalStorageWrapper {\n return this._localStorage;\n }\n\n // LocalStorageWrapper methods\n static set(key: string, value: any): void {\n this.incrementStat('ls:set');\n this.localStorage.setItem(key, value);\n }\n\n static get(key: string): any {\n this.incrementStat('ls:get');\n return this.localStorage.getItem(key);\n }\n\n static remove(key: string): void {\n this.incrementStat('ls:remove');\n this.localStorage.removeItem(key);\n }\n\n static clear(): void {\n this.incrementStat('ls:clear');\n this.localStorage.clear();\n }\n\n static size(): number {\n this.incrementStat('ls:size');\n return this.localStorage.length();\n }\n\n static key(index: number): string | null {\n this.incrementStat('ls:key');\n return this.localStorage.key(index);\n }\n\n // Getter for EventEmitter\n static get emitter(): EventEmitter {\n return this._emitter;\n }\n\n // Emit an event\n static emit(event: string, ...args: any[]): void {\n // ////console.log(`emitting event: ${event}`);\n this.incrementStat('emitter:emit');\n this._emitter.emit(event, ...args);\n }\n\n // Add a listener for an event\n static on(event: string, listener: (...args: any[]) => void): void {\n this.incrementStat('emitter:on');\n this._emitter.on(event, listener);\n }\n\n // Add a one-time listener for an event\n static once(event: string, listener: (...args: any[]) => void): void {\n this.incrementStat('emitter:once');\n this._emitter.once(event, listener);\n }\n\n // Remove a listener for an event\n static off(event: string, listener?: (...args: any[]) => void): void {\n this.incrementStat('emitter:off');\n if (listener) {\n this._emitter.off(event, listener);\n } else {\n this._emitter.removeAllListeners(event);\n }\n }\n\n // Clear all listeners for a specific event\n static clearListeners(event: string): void {\n this.incrementStat('emitter:clear');\n this._emitter.removeAllListeners(event);\n }\n\n //internal\n static get stats(): Map<string, number> {\n return this._stats;\n }\n\n static enableStats(): void {\n this._enableStats = true;\n }\n\n static disableStats(): void {\n this._enableStats = false;\n }\n\n static incrementStat(key: string): void {\n if(this._enableStats) {\n const value = this.getStat(key);\n this.setStat(key, value + 1);\n }\n }\n\n static decrementStat(key: string): void {\n if(this._enableStats) {\n const value = this.getStat(key);\n this.setStat(key, value - 1);\n }\n }\n\n static clearStats(): void {\n this._stats.clear();\n }\n\n static setStat(key: string, value: number) {\n if(this._enableStats) \n this._stats.set(key, value);\n }\n\n static getStat(key: string): number {\n if(!this._enableStats) return 0\n return this._stats.get(key) || 0;\n }\n}"],"names":["StateManager","Object","defineProperty","get","this","_abortController","signal","abort","incrementStat","abortSignal","aborted","_emitter","emit","resetAbort","AbortController","_localStorage","set","key","value","localStorage","setItem","getItem","remove","removeItem","clear","size","length","index","event","args","_i","arguments","_a","apply","__spreadArray","on","listener","once","off","removeAllListeners","clearListeners","_stats","enableStats","_enableStats","disableStats","getStat","setStat","decrementStat","clearStats","EventEmitter","LocalStorageWrapper","Map","_user"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__spreadArray as t}from"../_virtual/_tslib.esm.js";import{LocalStorageWrapper as e}from"../core/LocalStorageWrapper.esm.js";import{l as a}from"../_virtual/index.esm.js";var r=function(){function StateManager(){}return Object.defineProperty(StateManager,"abortController",{get:function(){return this._abortController},enumerable:!1,configurable:!0}),Object.defineProperty(StateManager,"abortSignal",{get:function(){return this._abortController.signal},enumerable:!1,configurable:!0}),StateManager.abort=function(){this.incrementStat("ac:abort"),this.abortSignal.aborted||(this._abortController.abort(),this._emitter.emit("abort"))},StateManager.aborted=function(){return this.abortSignal.aborted},StateManager.resetAbort=function(){this.incrementStat("ac:reset-abort"),this._abortController=new AbortController,this._emitter.emit("reset-abort")},Object.defineProperty(StateManager,"localStorage",{get:function(){return this._localStorage},enumerable:!1,configurable:!0}),StateManager.set=function(t,e){this.incrementStat("ls:set"),this.localStorage.setItem(t,e)},StateManager.get=function(t){return this.incrementStat("ls:get"),this.localStorage.getItem(t)},StateManager.remove=function(t){this.incrementStat("ls:remove"),this.localStorage.removeItem(t)},StateManager.clear=function(){this.incrementStat("ls:clear"),this.localStorage.clear()},StateManager.size=function(){return this.incrementStat("ls:size"),this.localStorage.length()},StateManager.key=function(t){return this.incrementStat("ls:key"),this.localStorage.key(t)},Object.defineProperty(StateManager,"emitter",{get:function(){return this._emitter},enumerable:!1,configurable:!0}),StateManager.emit=function(e){for(var a,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];this.incrementStat("emitter:emit"),(a=this._emitter).emit.apply(a,t([e],r,!1))},StateManager.on=function(t,e){this.incrementStat("emitter:on"),this._emitter.on(t,e)},StateManager.once=function(t,e){this.incrementStat("emitter:once"),this._emitter.once(t,e)},StateManager.off=function(t,e){this.incrementStat("emitter:off"),e?this._emitter.off(t,e):this._emitter.removeAllListeners(t)},StateManager.clearListeners=function(t){this.incrementStat("emitter:clear"),this._emitter.removeAllListeners(t)},Object.defineProperty(StateManager,"stats",{get:function(){return this._stats},enumerable:!1,configurable:!0}),StateManager.enableStats=function(){this._enableStats=!0},StateManager.disableStats=function(){this._enableStats=!1},StateManager.incrementStat=function(t){if(this._enableStats){var e=this.getStat(t);this.setStat(t,e+1)}},StateManager.decrementStat=function(t){if(this._enableStats){var e=this.getStat(t);this.setStat(t,e-1)}},StateManager.clearStats=function(){this._stats.clear()},StateManager.setStat=function(t,e){this._enableStats&&this._stats.set(t,e)},StateManager.getStat=function(t){return this._enableStats&&this._stats.get(t)||0},StateManager._abortController=new AbortController,StateManager._emitter=new a.EventEmitter,StateManager._localStorage=new e("state"),StateManager._enableStats=!0,StateManager._stats=new Map,StateManager._user={},StateManager}();export{r as StateManager};
|
|
2
|
+
//# sourceMappingURL=StateManager.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateManager.esm.js","sources":["../../../src/managers/StateManager.ts"],"sourcesContent":["import { LocalStorageWrapper } from \"@base/core/LocalStorageWrapper\";\nimport { EventEmitter } from \"tseep\";\n\nexport type StateAbort = {\n controller: AbortController;\n signal: AbortSignal;\n};\n\nexport type StateStats = Map<string, number>;\n\nexport type UserPreferences = Map<string, any>\n\nexport type UserState = {\n pubkey?: string,\n authed?: boolean,\n profile?: any,\n relays?: string[]\n preferences?: UserPreferences\n}\n\nexport class StateManager {\n private static _abortController: AbortController = new AbortController();\n private static _emitter: EventEmitter = new EventEmitter();\n private static _localStorage: LocalStorageWrapper = new LocalStorageWrapper(\"state\")\n private static _enableStats: boolean = true;\n private static _stats: StateStats = new Map();\n private static _user: UserState = {}; \n\n // Getter for the AbortController\n static get abortController(): AbortController {\n return this._abortController;\n }\n\n // Getter for the AbortSignal\n static get abortSignal(): AbortSignal {\n return this._abortController.signal;\n }\n\n // Abort action that emits an \"abort\" event\n static abort(): void {\n this.incrementStat('ac:abort');\n if (!this.abortSignal.aborted) {\n this._abortController.abort();\n this._emitter.emit(\"abort\");\n }\n }\n\n // Check if aborted\n static aborted(): boolean {\n return this.abortSignal.aborted;\n }\n\n // Reset the AbortController and emit a \"reset-abort\" event\n static resetAbort(): void {\n this.incrementStat('ac:reset-abort');\n this._abortController = new AbortController();\n this._emitter.emit(\"reset-abort\");\n }\n\n // Getter for LocalStorageWrapper\n static get localStorage(): LocalStorageWrapper {\n return this._localStorage;\n }\n\n // LocalStorageWrapper methods\n static set(key: string, value: any): void {\n this.incrementStat('ls:set');\n this.localStorage.setItem(key, value);\n }\n\n static get(key: string): any {\n this.incrementStat('ls:get');\n return this.localStorage.getItem(key);\n }\n\n static remove(key: string): void {\n this.incrementStat('ls:remove');\n this.localStorage.removeItem(key);\n }\n\n static clear(): void {\n this.incrementStat('ls:clear');\n this.localStorage.clear();\n }\n\n static size(): number {\n this.incrementStat('ls:size');\n return this.localStorage.length();\n }\n\n static key(index: number): string | null {\n this.incrementStat('ls:key');\n return this.localStorage.key(index);\n }\n\n // Getter for EventEmitter\n static get emitter(): EventEmitter {\n return this._emitter;\n }\n\n // Emit an event\n static emit(event: string, ...args: any[]): void {\n // ////console.log(`emitting event: ${event}`);\n this.incrementStat('emitter:emit');\n this._emitter.emit(event, ...args);\n }\n\n // Add a listener for an event\n static on(event: string, listener: (...args: any[]) => void): void {\n this.incrementStat('emitter:on');\n this._emitter.on(event, listener);\n }\n\n // Add a one-time listener for an event\n static once(event: string, listener: (...args: any[]) => void): void {\n this.incrementStat('emitter:once');\n this._emitter.once(event, listener);\n }\n\n // Remove a listener for an event\n static off(event: string, listener?: (...args: any[]) => void): void {\n this.incrementStat('emitter:off');\n if (listener) {\n this._emitter.off(event, listener);\n } else {\n this._emitter.removeAllListeners(event);\n }\n }\n\n // Clear all listeners for a specific event\n static clearListeners(event: string): void {\n this.incrementStat('emitter:clear');\n this._emitter.removeAllListeners(event);\n }\n\n //internal\n static get stats(): Map<string, number> {\n return this._stats;\n }\n\n static enableStats(): void {\n this._enableStats = true;\n }\n\n static disableStats(): void {\n this._enableStats = false;\n }\n\n static incrementStat(key: string): void {\n if(this._enableStats) {\n const value = this.getStat(key);\n this.setStat(key, value + 1);\n }\n }\n\n static decrementStat(key: string): void {\n if(this._enableStats) {\n const value = this.getStat(key);\n this.setStat(key, value - 1);\n }\n }\n\n static clearStats(): void {\n this._stats.clear();\n }\n\n static setStat(key: string, value: number) {\n if(this._enableStats) \n this._stats.set(key, value);\n }\n\n static getStat(key: string): number {\n if(!this._enableStats) return 0\n return this._stats.get(key) || 0;\n }\n}"],"names":["StateManager","Object","defineProperty","get","this","_abortController","signal","abort","incrementStat","abortSignal","aborted","_emitter","emit","resetAbort","AbortController","_localStorage","set","key","value","localStorage","setItem","getItem","remove","removeItem","clear","size","length","index","event","args","_i","arguments","_a","apply","__spreadArray","on","listener","once","off","removeAllListeners","clearListeners","_stats","enableStats","_enableStats","disableStats","getStat","setStat","decrementStat","clearStats","EventEmitter","LocalStorageWrapper","Map","_user"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["exports","../core/LocalStorageWrapper.amd","../utils/SyncKeys.amd"],(function(t,e,n){"use strict";var a=function(){function SyncStateManager(t){this.pubkey=t,this.localStorage=new e.LocalStorageWrapper("monitor"),this.keyHelper=new n.SyncKeys(t)}return Object.defineProperty(SyncStateManager.prototype,"lastSyncSince",{set:function(t){this.setLastSync(t.kind,"since",t.value)},enumerable:!1,configurable:!0}),Object.defineProperty(SyncStateManager.prototype,"lastSyncUntil",{set:function(t){this.setLastSync(t.kind,"until",t.value)},enumerable:!1,configurable:!0}),SyncStateManager.prototype.setLastSync=function(t,e,n){var a=this.keyHelper.generateKey("lastSync",t,e);this.localStorage.setItem(a,n.toString())},SyncStateManager.prototype.getLastSync=function(t){var e=this.getLastSyncSince(t),n=this.getLastSyncUntil(t);if(e||n)return{since:e,until:n}},SyncStateManager.prototype.getLastSyncSince=function(t){return this.getLastSyncValue(t,"since")},SyncStateManager.prototype.getLastSyncUntil=function(t){return this.getLastSyncValue(t,"until")},SyncStateManager.prototype.getLastSyncValue=function(t,e){var n=this.keyHelper.generateKey("lastSync",t,e),a=this.localStorage.getItem(n);if(a)return parseInt(a)},SyncStateManager}();t.SyncStateManager=a}));
|
|
2
|
+
//# sourceMappingURL=SyncStateManager.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncStateManager.amd.js","sources":["../../../src/managers/SyncStateManager.ts"],"sourcesContent":["import { LocalStorageWrapper } from \"@base/core/LocalStorageWrapper\";\nimport { SyncKeys } from \"@base/utils/SyncKeys\";\n\nexport type SyncRange = { since?: number, until?: number } \n\nexport type SyncRangeParameter = {\n kind: number,\n value: number\n}\n\nexport class SyncStateManager {\n private keyHelper: SyncKeys;\n private localStorage: LocalStorageWrapper = new LocalStorageWrapper('monitor');\n \n constructor(private pubkey: string) {\n this.keyHelper = new SyncKeys(pubkey);\n }\n\n set lastSyncSince(rangeParameter: SyncRangeParameter) {\n this.setLastSync(rangeParameter.kind, 'since', rangeParameter.value);\n }\n \n set lastSyncUntil(rangeParameter: SyncRangeParameter) {\n this.setLastSync(rangeParameter.kind, 'until', rangeParameter.value);\n }\n\n setLastSync(kind: number, rangeKey: 'since' | 'until', value: number): void {\n const key = this.keyHelper.generateKey('lastSync', kind, rangeKey);\n this.localStorage.setItem(key, value.toString());\n }\n\n getLastSync(kind: number): SyncRange | undefined {\n const since = this.getLastSyncSince(kind);\n const until = this.getLastSyncUntil(kind);\n if(since || until){\n return {\n since,\n until\n };\n }\n return undefined;\n }\n \n getLastSyncSince(kind: number): number | undefined {\n return this.getLastSyncValue(kind, 'since');\n }\n \n getLastSyncUntil(kind: number): number | undefined {\n return this.getLastSyncValue(kind, 'until');\n }\n \n getLastSyncValue(kind: number, rangeKey: 'since' | 'until'): number | undefined {\n const key = this.keyHelper.generateKey('lastSync', kind, rangeKey);\n const returnedValue = this.localStorage.getItem(key);\n if(!returnedValue) return undefined;\n const value = parseInt(returnedValue);\n ////console.log(`getLastSyncValue: ${key} -> ${returnedValue} === ${value}`);\n return value;\n }\n }"],"names":["SyncStateManager","pubkey","this","localStorage","LocalStorageWrapper","keyHelper","SyncKeys","Object","defineProperty","prototype","set","rangeParameter","setLastSync","kind","value","rangeKey","key","generateKey","setItem","toString","getLastSync","since","getLastSyncSince","until","getLastSyncUntil","getLastSyncValue","returnedValue","getItem","parseInt"],"mappings":"2GAUA,IAAAA,EAAA,WAII,SAAAA,iBAAoBC,GAAAC,KAAAD,OAAAA,EAFZC,KAAAC,aAAoC,IAAIC,EAAAA,oBAAoB,WAGlEF,KAAKG,UAAY,IAAIC,EAAAA,SAASL,EAChC,CA2CF,OAzCEM,OAAAC,eAAIR,iBAAAS,UAAA,gBAAa,CAAjBC,IAAA,SAAkBC,GAChBT,KAAKU,YAAYD,EAAeE,KAAM,QAASF,EAAeG,MAChE,kCAEAP,OAAAC,eAAIR,iBAAAS,UAAA,gBAAa,CAAjBC,IAAA,SAAkBC,GAChBT,KAAKU,YAAYD,EAAeE,KAAM,QAASF,EAAeG,MAChE,kCAEAd,iBAAAS,UAAAG,YAAA,SAAYC,EAAcE,EAA6BD,GACnD,IAAME,EAAMd,KAAKG,UAAUY,YAAY,WAAYJ,EAAME,GACzDb,KAAKC,aAAae,QAAQF,EAAKF,EAAMK,WACzC,EAEAnB,iBAAAS,UAAAW,YAAA,SAAYP,GACV,IAAMQ,EAAQnB,KAAKoB,iBAAiBT,GAC9BU,EAAQrB,KAAKsB,iBAAiBX,GACpC,GAAGQ,GAASE,EACV,MAAO,CACLF,MAAKA,EACLE,MAAKA,EAIX,EAEAvB,iBAAAS,UAAAa,iBAAA,SAAiBT,GACf,OAAOX,KAAKuB,iBAAiBZ,EAAM,QACrC,EAEAb,iBAAAS,UAAAe,iBAAA,SAAiBX,GACf,OAAOX,KAAKuB,iBAAiBZ,EAAM,QACrC,EAEAb,iBAAAS,UAAAgB,iBAAA,SAAiBZ,EAAcE,GAC3B,IAAMC,EAAMd,KAAKG,UAAUY,YAAY,WAAYJ,EAAME,GACnDW,EAAgBxB,KAAKC,aAAawB,QAAQX,GAChD,GAAIU,EAGJ,OAFcE,SAASF,EAG3B,EACF1B,gBAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{LocalStorageWrapper as t}from"../core/LocalStorageWrapper.esm.js";import{SyncKeys as e}from"../utils/SyncKeys.esm.js";var n=function(){function SyncStateManager(n){this.pubkey=n,this.localStorage=new t("monitor"),this.keyHelper=new e(n)}return Object.defineProperty(SyncStateManager.prototype,"lastSyncSince",{set:function(t){this.setLastSync(t.kind,"since",t.value)},enumerable:!1,configurable:!0}),Object.defineProperty(SyncStateManager.prototype,"lastSyncUntil",{set:function(t){this.setLastSync(t.kind,"until",t.value)},enumerable:!1,configurable:!0}),SyncStateManager.prototype.setLastSync=function(t,e,n){var a=this.keyHelper.generateKey("lastSync",t,e);this.localStorage.setItem(a,n.toString())},SyncStateManager.prototype.getLastSync=function(t){var e=this.getLastSyncSince(t),n=this.getLastSyncUntil(t);if(e||n)return{since:e,until:n}},SyncStateManager.prototype.getLastSyncSince=function(t){return this.getLastSyncValue(t,"since")},SyncStateManager.prototype.getLastSyncUntil=function(t){return this.getLastSyncValue(t,"until")},SyncStateManager.prototype.getLastSyncValue=function(t,e){var n=this.keyHelper.generateKey("lastSync",t,e),a=this.localStorage.getItem(n);if(a)return parseInt(a)},SyncStateManager}();export{n as SyncStateManager};
|
|
2
|
+
//# sourceMappingURL=SyncStateManager.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncStateManager.esm.js","sources":["../../../src/managers/SyncStateManager.ts"],"sourcesContent":["import { LocalStorageWrapper } from \"@base/core/LocalStorageWrapper\";\nimport { SyncKeys } from \"@base/utils/SyncKeys\";\n\nexport type SyncRange = { since?: number, until?: number } \n\nexport type SyncRangeParameter = {\n kind: number,\n value: number\n}\n\nexport class SyncStateManager {\n private keyHelper: SyncKeys;\n private localStorage: LocalStorageWrapper = new LocalStorageWrapper('monitor');\n \n constructor(private pubkey: string) {\n this.keyHelper = new SyncKeys(pubkey);\n }\n\n set lastSyncSince(rangeParameter: SyncRangeParameter) {\n this.setLastSync(rangeParameter.kind, 'since', rangeParameter.value);\n }\n \n set lastSyncUntil(rangeParameter: SyncRangeParameter) {\n this.setLastSync(rangeParameter.kind, 'until', rangeParameter.value);\n }\n\n setLastSync(kind: number, rangeKey: 'since' | 'until', value: number): void {\n const key = this.keyHelper.generateKey('lastSync', kind, rangeKey);\n this.localStorage.setItem(key, value.toString());\n }\n\n getLastSync(kind: number): SyncRange | undefined {\n const since = this.getLastSyncSince(kind);\n const until = this.getLastSyncUntil(kind);\n if(since || until){\n return {\n since,\n until\n };\n }\n return undefined;\n }\n \n getLastSyncSince(kind: number): number | undefined {\n return this.getLastSyncValue(kind, 'since');\n }\n \n getLastSyncUntil(kind: number): number | undefined {\n return this.getLastSyncValue(kind, 'until');\n }\n \n getLastSyncValue(kind: number, rangeKey: 'since' | 'until'): number | undefined {\n const key = this.keyHelper.generateKey('lastSync', kind, rangeKey);\n const returnedValue = this.localStorage.getItem(key);\n if(!returnedValue) return undefined;\n const value = parseInt(returnedValue);\n ////console.log(`getLastSyncValue: ${key} -> ${returnedValue} === ${value}`);\n return value;\n }\n }"],"names":["SyncStateManager","pubkey","this","localStorage","LocalStorageWrapper","keyHelper","SyncKeys","Object","defineProperty","prototype","set","rangeParameter","setLastSync","kind","value","rangeKey","key","generateKey","setItem","toString","getLastSync","since","getLastSyncSince","until","getLastSyncUntil","getLastSyncValue","returnedValue","getItem","parseInt"],"mappings":"6HAUA,IAAAA,EAAA,WAII,SAAAA,iBAAoBC,GAAAC,KAAAD,OAAAA,EAFZC,KAAAC,aAAoC,IAAIC,EAAoB,WAGlEF,KAAKG,UAAY,IAAIC,EAASL,EAChC,CA2CF,OAzCEM,OAAAC,eAAIR,iBAAAS,UAAA,gBAAa,CAAjBC,IAAA,SAAkBC,GAChBT,KAAKU,YAAYD,EAAeE,KAAM,QAASF,EAAeG,MAChE,kCAEAP,OAAAC,eAAIR,iBAAAS,UAAA,gBAAa,CAAjBC,IAAA,SAAkBC,GAChBT,KAAKU,YAAYD,EAAeE,KAAM,QAASF,EAAeG,MAChE,kCAEAd,iBAAAS,UAAAG,YAAA,SAAYC,EAAcE,EAA6BD,GACnD,IAAME,EAAMd,KAAKG,UAAUY,YAAY,WAAYJ,EAAME,GACzDb,KAAKC,aAAae,QAAQF,EAAKF,EAAMK,WACzC,EAEAnB,iBAAAS,UAAAW,YAAA,SAAYP,GACV,IAAMQ,EAAQnB,KAAKoB,iBAAiBT,GAC9BU,EAAQrB,KAAKsB,iBAAiBX,GACpC,GAAGQ,GAASE,EACV,MAAO,CACLF,MAAKA,EACLE,MAAKA,EAIX,EAEAvB,iBAAAS,UAAAa,iBAAA,SAAiBT,GACf,OAAOX,KAAKuB,iBAAiBZ,EAAM,QACrC,EAEAb,iBAAAS,UAAAe,iBAAA,SAAiBX,GACf,OAAOX,KAAKuB,iBAAiBZ,EAAM,QACrC,EAEAb,iBAAAS,UAAAgB,iBAAA,SAAiBZ,EAAcE,GAC3B,IAAMC,EAAMd,KAAKG,UAAUY,YAAY,WAAYJ,EAAME,GACnDW,EAAgBxB,KAAKC,aAAawB,QAAQX,GAChD,GAAIU,EAGJ,OAFcE,SAASF,EAG3B,EACF1B,gBAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["exports","../_virtual/_tslib.amd","./Event.amd"],(function(e,t,n){"use strict";var r=function(e){function DeltaEvent(t){var n=e.call(this,t)||this;return t.kind!==DeltaEvent.KIND&&console.warn("[DeltaEvent] Expected kind ".concat(DeltaEvent.KIND,", got ").concat(t.kind)),n}return t.__extends(DeltaEvent,e),Object.defineProperty(DeltaEvent.prototype,"relay",{get:function(){var e;return(null===(e=this.tags.find((function(e){return"r"===e[0]})))||void 0===e?void 0:e[1])||null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"url",{get:function(){return this.relay},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"monitorPubkey",{get:function(){return this.pubkey},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"operationalStatus",{get:function(){var e,t=null===(e=this.tags.find((function(e){return"status"===e[0]||"O"===e[0]})))||void 0===e?void 0:e[1];return"init"===t||"up"===t||"down"===t?t:null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"rtt",{get:function(){var e,t=null===(e=this.tags.find((function(e){return"rtt-open"===e[0]})))||void 0===e?void 0:e[1];return t?parseInt(t,10):null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"retryCount",{get:function(){var e,t=null===(e=this.tags.find((function(e){return"retry-count"===e[0]})))||void 0===e?void 0:e[1];return t?parseInt(t,10):null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"periods",{get:function(){return this.tags.filter((function(e){return"T"===e[0]})).map((function(e){return e[1]}))},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"online",{get:function(){var e=this.operationalStatus;return"up"===e||"init"===e||"down"!==e&&null!==this.rtt},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"isStatusTransition",{get:function(){return null!==this.operationalStatus},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"deltas",{get:function(){for(var e=[],t=0,n=this.tags;t<n.length;t++){var r=n[t];"+"===r[0]&&r.length>=3?e.push({key:r[1],value:r[2],type:"add"}):"-"===r[0]&&r.length>=2?e.push({key:r[1],value:r[2]||"",type:"remove"}):"~"===r[0]&&r.length>=3&&e.push({key:r[1],value:r[2],type:"change"})}return e},enumerable:!1,configurable:!0}),DeltaEvent.KIND=1066,DeltaEvent.keys=["id","relay","monitorPubkey","created_at","operationalStatus","rtt","retryCount","periods","online"],DeltaEvent}(n.NostrEvent);e.DeltaEvent=r}));
|
|
2
|
+
//# sourceMappingURL=DeltaEvent.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeltaEvent.amd.js","sources":["../../../src/models/DeltaEvent.ts"],"sourcesContent":["/**\n * DeltaEvent Model\n *\n * Wraps Kind 1066 delta events with convenient accessors for relay state changes.\n * These events track relay status transitions, RTT measurements, and configuration changes.\n */\n\nimport { IEvent, NostrEvent, NostrTag } from './Event';\n\n/**\n * Operational status values for relay liveness transitions\n */\nexport type OperationalStatus = 'init' | 'down' | 'up';\n\n/**\n * DeltaEvent - Model for Kind 1066 delta events\n *\n * Kind 1066 events capture incremental changes to relay state over time.\n * They are used to build time series data for RTT charts, uptime timelines, etc.\n *\n * @example\n * ```typescript\n * const deltaEvent = new DeltaEvent(eventJson);\n * console.log(deltaEvent.relay); // 'wss://relay.example.com'\n * console.log(deltaEvent.operationalStatus); // 'up' | 'down' | 'init' | null\n * console.log(deltaEvent.rtt); // 150 (milliseconds)\n * console.log(deltaEvent.online); // true\n * ```\n */\nexport class DeltaEvent extends NostrEvent implements IEvent {\n static readonly KIND = 1066;\n\n static keys = [\n 'id',\n 'relay',\n 'monitorPubkey',\n 'created_at',\n 'operationalStatus',\n 'rtt',\n 'retryCount',\n 'periods',\n 'online',\n ];\n\n constructor(event: IEvent) {\n super(event);\n if (event.kind !== DeltaEvent.KIND) {\n console.warn(`[DeltaEvent] Expected kind ${DeltaEvent.KIND}, got ${event.kind}`);\n }\n }\n\n /**\n * Relay URL this delta event pertains to\n */\n get relay(): string | null {\n return this.tags.find((tag: NostrTag) => tag[0] === 'r')?.[1] || null;\n }\n\n /**\n * Alias for relay URL\n */\n get url(): string | null {\n return this.relay;\n }\n\n /**\n * Monitor pubkey that published this event\n */\n get monitorPubkey(): string {\n return this.pubkey;\n }\n\n /**\n * Operational status transition (init, up, down)\n * Only present when status changes\n */\n get operationalStatus(): OperationalStatus | null {\n const status = this.tags.find((tag: NostrTag) => tag[0] === 'status' || tag[0] === 'O')?.[1];\n if (status === 'init' || status === 'up' || status === 'down') {\n return status;\n }\n return null;\n }\n\n /**\n * RTT (Round Trip Time) for connection open in milliseconds\n */\n get rtt(): number | null {\n const rtt = this.tags.find((tag: NostrTag) => tag[0] === 'rtt-open')?.[1];\n return rtt ? parseInt(rtt, 10) : null;\n }\n\n /**\n * Retry count for offline relays\n */\n get retryCount(): number | null {\n const count = this.tags.find((tag: NostrTag) => tag[0] === 'retry-count')?.[1];\n return count ? parseInt(count, 10) : null;\n }\n\n /**\n * Time periods this event represents (e.g., '1h', '24h', '7d')\n */\n get periods(): string[] {\n return this.tags\n .filter((tag: NostrTag) => tag[0] === 'T')\n .map((tag: NostrTag) => tag[1]);\n }\n\n /**\n * Whether the relay is online based on operational status\n * Returns true for 'up' or 'init', false for 'down'\n */\n get online(): boolean {\n const status = this.operationalStatus;\n if (status === 'up' || status === 'init') {\n return true;\n }\n if (status === 'down') {\n return false;\n }\n // If no status transition, check if RTT is present (implies online)\n return this.rtt !== null;\n }\n\n /**\n * Check if this event represents a status transition\n */\n get isStatusTransition(): boolean {\n return this.operationalStatus !== null;\n }\n\n /**\n * Get all delta changes from this event\n * Returns an array of {key, value, type} objects\n */\n get deltas(): Array<{ key: string; value: string; type: 'add' | 'remove' | 'change' }> {\n const deltas: Array<{ key: string; value: string; type: 'add' | 'remove' | 'change' }> = [];\n\n for (const tag of this.tags) {\n if (tag[0] === '+' && tag.length >= 3) {\n deltas.push({ key: tag[1], value: tag[2], type: 'add' });\n } else if (tag[0] === '-' && tag.length >= 2) {\n deltas.push({ key: tag[1], value: tag[2] || '', type: 'remove' });\n } else if (tag[0] === '~' && tag.length >= 3) {\n deltas.push({ key: tag[1], value: tag[2], type: 'change' });\n }\n }\n\n return deltas;\n }\n}\n"],"names":["DeltaEvent","_super","event","_this","call","this","kind","KIND","console","warn","concat","__extends","Object","defineProperty","prototype","get","_a","tags","find","tag","relay","pubkey","status","rtt","parseInt","count","filter","map","operationalStatus","deltas","_i","length","push","key","value","type","keys","NostrEvent"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__extends as e}from"../_virtual/_tslib.esm.js";import{NostrEvent as t}from"./Event.esm.js";var n=function(t){function DeltaEvent(e){var n=t.call(this,e)||this;return e.kind!==DeltaEvent.KIND&&console.warn("[DeltaEvent] Expected kind ".concat(DeltaEvent.KIND,", got ").concat(e.kind)),n}return e(DeltaEvent,t),Object.defineProperty(DeltaEvent.prototype,"relay",{get:function(){var e;return(null===(e=this.tags.find((function(e){return"r"===e[0]})))||void 0===e?void 0:e[1])||null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"url",{get:function(){return this.relay},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"monitorPubkey",{get:function(){return this.pubkey},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"operationalStatus",{get:function(){var e,t=null===(e=this.tags.find((function(e){return"status"===e[0]||"O"===e[0]})))||void 0===e?void 0:e[1];return"init"===t||"up"===t||"down"===t?t:null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"rtt",{get:function(){var e,t=null===(e=this.tags.find((function(e){return"rtt-open"===e[0]})))||void 0===e?void 0:e[1];return t?parseInt(t,10):null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"retryCount",{get:function(){var e,t=null===(e=this.tags.find((function(e){return"retry-count"===e[0]})))||void 0===e?void 0:e[1];return t?parseInt(t,10):null},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"periods",{get:function(){return this.tags.filter((function(e){return"T"===e[0]})).map((function(e){return e[1]}))},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"online",{get:function(){var e=this.operationalStatus;return"up"===e||"init"===e||"down"!==e&&null!==this.rtt},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"isStatusTransition",{get:function(){return null!==this.operationalStatus},enumerable:!1,configurable:!0}),Object.defineProperty(DeltaEvent.prototype,"deltas",{get:function(){for(var e=[],t=0,n=this.tags;t<n.length;t++){var r=n[t];"+"===r[0]&&r.length>=3?e.push({key:r[1],value:r[2],type:"add"}):"-"===r[0]&&r.length>=2?e.push({key:r[1],value:r[2]||"",type:"remove"}):"~"===r[0]&&r.length>=3&&e.push({key:r[1],value:r[2],type:"change"})}return e},enumerable:!1,configurable:!0}),DeltaEvent.KIND=1066,DeltaEvent.keys=["id","relay","monitorPubkey","created_at","operationalStatus","rtt","retryCount","periods","online"],DeltaEvent}(t);export{n as DeltaEvent};
|
|
2
|
+
//# sourceMappingURL=DeltaEvent.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeltaEvent.esm.js","sources":["../../../src/models/DeltaEvent.ts"],"sourcesContent":["/**\n * DeltaEvent Model\n *\n * Wraps Kind 1066 delta events with convenient accessors for relay state changes.\n * These events track relay status transitions, RTT measurements, and configuration changes.\n */\n\nimport { IEvent, NostrEvent, NostrTag } from './Event';\n\n/**\n * Operational status values for relay liveness transitions\n */\nexport type OperationalStatus = 'init' | 'down' | 'up';\n\n/**\n * DeltaEvent - Model for Kind 1066 delta events\n *\n * Kind 1066 events capture incremental changes to relay state over time.\n * They are used to build time series data for RTT charts, uptime timelines, etc.\n *\n * @example\n * ```typescript\n * const deltaEvent = new DeltaEvent(eventJson);\n * console.log(deltaEvent.relay); // 'wss://relay.example.com'\n * console.log(deltaEvent.operationalStatus); // 'up' | 'down' | 'init' | null\n * console.log(deltaEvent.rtt); // 150 (milliseconds)\n * console.log(deltaEvent.online); // true\n * ```\n */\nexport class DeltaEvent extends NostrEvent implements IEvent {\n static readonly KIND = 1066;\n\n static keys = [\n 'id',\n 'relay',\n 'monitorPubkey',\n 'created_at',\n 'operationalStatus',\n 'rtt',\n 'retryCount',\n 'periods',\n 'online',\n ];\n\n constructor(event: IEvent) {\n super(event);\n if (event.kind !== DeltaEvent.KIND) {\n console.warn(`[DeltaEvent] Expected kind ${DeltaEvent.KIND}, got ${event.kind}`);\n }\n }\n\n /**\n * Relay URL this delta event pertains to\n */\n get relay(): string | null {\n return this.tags.find((tag: NostrTag) => tag[0] === 'r')?.[1] || null;\n }\n\n /**\n * Alias for relay URL\n */\n get url(): string | null {\n return this.relay;\n }\n\n /**\n * Monitor pubkey that published this event\n */\n get monitorPubkey(): string {\n return this.pubkey;\n }\n\n /**\n * Operational status transition (init, up, down)\n * Only present when status changes\n */\n get operationalStatus(): OperationalStatus | null {\n const status = this.tags.find((tag: NostrTag) => tag[0] === 'status' || tag[0] === 'O')?.[1];\n if (status === 'init' || status === 'up' || status === 'down') {\n return status;\n }\n return null;\n }\n\n /**\n * RTT (Round Trip Time) for connection open in milliseconds\n */\n get rtt(): number | null {\n const rtt = this.tags.find((tag: NostrTag) => tag[0] === 'rtt-open')?.[1];\n return rtt ? parseInt(rtt, 10) : null;\n }\n\n /**\n * Retry count for offline relays\n */\n get retryCount(): number | null {\n const count = this.tags.find((tag: NostrTag) => tag[0] === 'retry-count')?.[1];\n return count ? parseInt(count, 10) : null;\n }\n\n /**\n * Time periods this event represents (e.g., '1h', '24h', '7d')\n */\n get periods(): string[] {\n return this.tags\n .filter((tag: NostrTag) => tag[0] === 'T')\n .map((tag: NostrTag) => tag[1]);\n }\n\n /**\n * Whether the relay is online based on operational status\n * Returns true for 'up' or 'init', false for 'down'\n */\n get online(): boolean {\n const status = this.operationalStatus;\n if (status === 'up' || status === 'init') {\n return true;\n }\n if (status === 'down') {\n return false;\n }\n // If no status transition, check if RTT is present (implies online)\n return this.rtt !== null;\n }\n\n /**\n * Check if this event represents a status transition\n */\n get isStatusTransition(): boolean {\n return this.operationalStatus !== null;\n }\n\n /**\n * Get all delta changes from this event\n * Returns an array of {key, value, type} objects\n */\n get deltas(): Array<{ key: string; value: string; type: 'add' | 'remove' | 'change' }> {\n const deltas: Array<{ key: string; value: string; type: 'add' | 'remove' | 'change' }> = [];\n\n for (const tag of this.tags) {\n if (tag[0] === '+' && tag.length >= 3) {\n deltas.push({ key: tag[1], value: tag[2], type: 'add' });\n } else if (tag[0] === '-' && tag.length >= 2) {\n deltas.push({ key: tag[1], value: tag[2] || '', type: 'remove' });\n } else if (tag[0] === '~' && tag.length >= 3) {\n deltas.push({ key: tag[1], value: tag[2], type: 'change' });\n }\n }\n\n return deltas;\n }\n}\n"],"names":["DeltaEvent","_super","event","_this","call","this","kind","KIND","console","warn","concat","__extends","Object","defineProperty","prototype","get","_a","tags","find","tag","relay","pubkey","status","rtt","parseInt","count","filter","map","operationalStatus","deltas","_i","length","push","key","value","type","keys","NostrEvent"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["exports","../_virtual/_tslib.amd","../utils/events.amd","../utils/nostr.amd","../node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.amd"],(function(e,t,n,r,o){"use strict";var i;e.Kinds=void 0,(i=e.Kinds||(e.Kinds={}))[i.Note=1]="Note",i[i.Comment=1111]="Comment",i[i.Reaction=7]="Reaction",i[i.ReactionUri=17]="ReactionUri",i[i.ZapReciept=9725]="ZapReciept",i[i.RelayCheck=30166]="RelayCheck",i[i.RelayMonitorRegistration=10166]="RelayMonitorRegistration",i[i.RelayCheckDelta=1066]="RelayCheckDelta",i[i.Wiki=30818]="Wiki";var s=Symbol("SOURCE"),u={relays:[]},a=function(){function NostrEvent(e,t){this._relatives={zaps:[],comments:[],reactions:[]},this._json=e,this._options=t||u}return Object.defineProperty(NostrEvent.prototype,"isComment",{get:function(){return 1===this.kind&&this.tags.some((function(e){return"e"===e[0]}))},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"id",{get:function(){return this.json.id},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"pubkey",{get:function(){return this.json.pubkey},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"kind",{get:function(){return this.json.kind},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"tags",{get:function(){return this.json.tags},set:function(e){this.json.tags=e},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"content",{get:function(){return this.json.content},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"signature",{get:function(){return this.json.signature},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"created_at",{get:function(){return this.json.created_at},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"json",{get:function(){return this._json},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"relays",{get:function(){return this._options.relays},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"reference",{get:function(){return n.isPRE(this.json)||n.isRE(this.json)?this.naddr:this.nevent},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"naddr",{get:function(){var e,t=this,n=t.pubkey,r=t.kind,i=t.relays,s=null===(e=this.tags.find((function(e){return"d"===e[0]})))||void 0===e?void 0:e[1];if(!s)throw new Error("No identifier found in event tags");var u={identifier:s,pubkey:n,kind:r,relays:i};return o.nip19.naddrEncode(u)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"nevent",{get:function(){var e={id:this.id,relays:this.relays,author:this.pubkey,kind:this.kind};return o.nip19.neventEncode(e)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"nnote",{get:function(){return o.nip19.noteEncode(this.id)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"zaps",{get:function(){return this._relatives.zaps},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"comments",{get:function(){return this._relatives.comments},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"commentsCount",{get:function(){return this._relatives.comments.length},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"reactions",{get:function(){return this._relatives.reactions},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"reactionsCount",{get:function(){return this._relatives.reactions.length},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"zapSum",{get:function(){return r.zapSum(this.zaps)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"zapSumNum",{get:function(){return r.zapSumNum(this.zaps)},enumerable:!1,configurable:!0}),NostrEvent}();e.NostrEvent=a,e.SOURCE=s,e.defaultNostrEventOptions=u}));
|
|
2
|
+
//# sourceMappingURL=Event.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Event.amd.js","sources":["../../../src/models/Event.ts"],"sourcesContent":["import { isPRE, isRE } from \"@base/utils\";\nimport { zapSum, zapSumNum } from \"@base/utils/nostr\";\nimport { nip19 } from \"nostr-tools\";\n\nexport enum Kinds {\n Note = 1,\n Comment = 1111,\n Reaction = 7,\n ReactionUri = 17,\n ZapReciept = 9725,\n\n RelayCheck = 30166,\n RelayMonitorRegistration = 10166,\n RelayCheckDelta = 1066,\n\n Wiki = 30818\n}\n\nexport type NostrTag = string[];\n\nexport const SOURCE: unique symbol = Symbol('SOURCE');\n\nexport type IEvent = {\n id: string;\n pubkey: string;\n kind: number;\n tags: string[][];\n content: string;\n signature: string;\n created_at: number | null;\n [SOURCE]?: string; \n}\n\nexport type NostrEventOptions = {\n relays: string[];\n}\n\nexport type NostrEventRelatives = {\n zaps: NostrEvent[],\n comments: NostrEvent[],\n reactions: NostrEvent[]\n}\n\nexport const defaultNostrEventOptions: NostrEventOptions = { relays: [] };\n\nexport class NostrEvent implements IEvent {\n protected _json: IEvent;\n protected _options: NostrEventOptions;\n private _relatives: NostrEventRelatives = {\n zaps: [],\n comments: [],\n reactions: []\n };\n\n constructor(event: IEvent, options?: NostrEventOptions) {\n this._json = event;\n this._options = options || defaultNostrEventOptions;\n }\n\n get isComment(): boolean {\n return this.kind === 1 && this.tags.some((tag: string[]) => tag[0] === 'e');\n }\n\n get id(): string {\n return this.json.id;\n }\n\n get pubkey(): string {\n return this.json.pubkey;\n }\n\n get kind(): number {\n return this.json.kind;\n }\n\n get tags(): string[][] {\n return this.json.tags;\n }\n\n set tags(tags: string[][]) {\n this.json.tags = tags;\n }\n\n get content(): string {\n return this.json.content;\n }\n\n get signature(): string {\n return this.json.signature;\n }\n\n get created_at(): number | null {\n return this.json.created_at;\n }\n\n get json(): IEvent {\n return this._json;\n }\n\n get relays(): string[] {\n return this._options.relays;\n }\n\n get reference(): `naddr1${string}` | `nevent1${string}` {\n if(isPRE(this.json) || isRE(this.json)) {\n return this.naddr\n }\n else {\n return this.nevent\n }\n }\n\n get naddr() {\n const { pubkey, kind, relays } = this;\n const identifier = this.tags.find((tag: string[]) => tag[0] === 'd')?.[1];\n if(!identifier) throw new Error('No identifier found in event tags');\n const pointer: nip19.AddressPointer = { identifier, pubkey, kind, relays }\n return nip19.naddrEncode(pointer);\n }\n\n get nevent() {\n const pointer: nip19.EventPointer = {\n id: this.id,\n relays: this.relays,\n author: this.pubkey,\n kind: this.kind\n }\n return nip19.neventEncode(pointer);\n }\n\n get nnote() {\n return nip19.noteEncode(this.id);\n }\n\n get zaps() {\n return this._relatives.zaps;\n }\n\n get comments() {\n return this._relatives.comments;\n }\n\n get commentsCount(): number {\n return this._relatives.comments.length;\n }\n\n get reactions() {\n return this._relatives.reactions;\n }\n\n get reactionsCount(): number { \n return this._relatives.reactions.length;\n }\n\n get zapSum(): string {\n return zapSum(this.zaps);\n }\n\n get zapSumNum(): number {\n return zapSumNum(this.zaps);\n }\n\n // addRelatives(events: IEvent[]): void {\n // events.forEach(event => this.addRelative(event))\n // }\n\n // addRelative(event: IEvent): any {\n // const type = relativesKindMap?.[event.kind]\n // if(!type) return;\n // const model = relativesModelMap?.[type];\n // if(!model) return;\n // const instance = new model(event)\n // this._relatives[ relativesKindMap[event.kind] ].push( instance );\n // return instance\n // }\n}\n\n// export const relativesKindMap: Record<number, keyof NostrEventRelatives> = {\n// 1: 'comments',\n// 1111: 'comments',\n// 7: 'reactions',\n// 9725: 'zaps'\n// }\n\n// export const relativesModelMap: Record<keyof NostrEventRelatives, any> = {\n// comments: NostrEvent,\n// reactions: NostrEvent,\n// zaps: NostrEvent\n// }\n\n\n\n"],"names":["Kinds","SOURCE","Symbol","defaultNostrEventOptions","relays","NostrEvent","event","options","this","_relatives","zaps","comments","reactions","_json","_options","Object","defineProperty","prototype","get","kind","tags","some","tag","json","id","pubkey","set","content","signature","created_at","isPRE","isRE","naddr","nevent","_b","identifier","_a","find","Error","pointer","nip19","naddrEncode","author","neventEncode","noteEncode","length","zapSum","zapSumNum"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../_virtual/_tslib.esm.js";import{isPRE as e,isRE as t}from"../utils/events.esm.js";import{zapSum as n,zapSumNum as r}from"../utils/nostr.esm.js";import{nip19 as o}from"../node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js";var i;!function(e){e[e.Note=1]="Note",e[e.Comment=1111]="Comment",e[e.Reaction=7]="Reaction",e[e.ReactionUri=17]="ReactionUri",e[e.ZapReciept=9725]="ZapReciept",e[e.RelayCheck=30166]="RelayCheck",e[e.RelayMonitorRegistration=10166]="RelayMonitorRegistration",e[e.RelayCheckDelta=1066]="RelayCheckDelta",e[e.Wiki=30818]="Wiki"}(i||(i={}));var s=Symbol("SOURCE"),u={relays:[]},a=function(){function NostrEvent(e,t){this._relatives={zaps:[],comments:[],reactions:[]},this._json=e,this._options=t||u}return Object.defineProperty(NostrEvent.prototype,"isComment",{get:function(){return 1===this.kind&&this.tags.some((function(e){return"e"===e[0]}))},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"id",{get:function(){return this.json.id},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"pubkey",{get:function(){return this.json.pubkey},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"kind",{get:function(){return this.json.kind},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"tags",{get:function(){return this.json.tags},set:function(e){this.json.tags=e},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"content",{get:function(){return this.json.content},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"signature",{get:function(){return this.json.signature},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"created_at",{get:function(){return this.json.created_at},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"json",{get:function(){return this._json},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"relays",{get:function(){return this._options.relays},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"reference",{get:function(){return e(this.json)||t(this.json)?this.naddr:this.nevent},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"naddr",{get:function(){var e,t=this,n=t.pubkey,r=t.kind,i=t.relays,s=null===(e=this.tags.find((function(e){return"d"===e[0]})))||void 0===e?void 0:e[1];if(!s)throw new Error("No identifier found in event tags");var u={identifier:s,pubkey:n,kind:r,relays:i};return o.naddrEncode(u)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"nevent",{get:function(){var e={id:this.id,relays:this.relays,author:this.pubkey,kind:this.kind};return o.neventEncode(e)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"nnote",{get:function(){return o.noteEncode(this.id)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"zaps",{get:function(){return this._relatives.zaps},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"comments",{get:function(){return this._relatives.comments},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"commentsCount",{get:function(){return this._relatives.comments.length},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"reactions",{get:function(){return this._relatives.reactions},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"reactionsCount",{get:function(){return this._relatives.reactions.length},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"zapSum",{get:function(){return n(this.zaps)},enumerable:!1,configurable:!0}),Object.defineProperty(NostrEvent.prototype,"zapSumNum",{get:function(){return r(this.zaps)},enumerable:!1,configurable:!0}),NostrEvent}();export{i as Kinds,a as NostrEvent,s as SOURCE,u as defaultNostrEventOptions};
|
|
2
|
+
//# sourceMappingURL=Event.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Event.esm.js","sources":["../../../src/models/Event.ts"],"sourcesContent":["import { isPRE, isRE } from \"@base/utils\";\nimport { zapSum, zapSumNum } from \"@base/utils/nostr\";\nimport { nip19 } from \"nostr-tools\";\n\nexport enum Kinds {\n Note = 1,\n Comment = 1111,\n Reaction = 7,\n ReactionUri = 17,\n ZapReciept = 9725,\n\n RelayCheck = 30166,\n RelayMonitorRegistration = 10166,\n RelayCheckDelta = 1066,\n\n Wiki = 30818\n}\n\nexport type NostrTag = string[];\n\nexport const SOURCE: unique symbol = Symbol('SOURCE');\n\nexport type IEvent = {\n id: string;\n pubkey: string;\n kind: number;\n tags: string[][];\n content: string;\n signature: string;\n created_at: number | null;\n [SOURCE]?: string; \n}\n\nexport type NostrEventOptions = {\n relays: string[];\n}\n\nexport type NostrEventRelatives = {\n zaps: NostrEvent[],\n comments: NostrEvent[],\n reactions: NostrEvent[]\n}\n\nexport const defaultNostrEventOptions: NostrEventOptions = { relays: [] };\n\nexport class NostrEvent implements IEvent {\n protected _json: IEvent;\n protected _options: NostrEventOptions;\n private _relatives: NostrEventRelatives = {\n zaps: [],\n comments: [],\n reactions: []\n };\n\n constructor(event: IEvent, options?: NostrEventOptions) {\n this._json = event;\n this._options = options || defaultNostrEventOptions;\n }\n\n get isComment(): boolean {\n return this.kind === 1 && this.tags.some((tag: string[]) => tag[0] === 'e');\n }\n\n get id(): string {\n return this.json.id;\n }\n\n get pubkey(): string {\n return this.json.pubkey;\n }\n\n get kind(): number {\n return this.json.kind;\n }\n\n get tags(): string[][] {\n return this.json.tags;\n }\n\n set tags(tags: string[][]) {\n this.json.tags = tags;\n }\n\n get content(): string {\n return this.json.content;\n }\n\n get signature(): string {\n return this.json.signature;\n }\n\n get created_at(): number | null {\n return this.json.created_at;\n }\n\n get json(): IEvent {\n return this._json;\n }\n\n get relays(): string[] {\n return this._options.relays;\n }\n\n get reference(): `naddr1${string}` | `nevent1${string}` {\n if(isPRE(this.json) || isRE(this.json)) {\n return this.naddr\n }\n else {\n return this.nevent\n }\n }\n\n get naddr() {\n const { pubkey, kind, relays } = this;\n const identifier = this.tags.find((tag: string[]) => tag[0] === 'd')?.[1];\n if(!identifier) throw new Error('No identifier found in event tags');\n const pointer: nip19.AddressPointer = { identifier, pubkey, kind, relays }\n return nip19.naddrEncode(pointer);\n }\n\n get nevent() {\n const pointer: nip19.EventPointer = {\n id: this.id,\n relays: this.relays,\n author: this.pubkey,\n kind: this.kind\n }\n return nip19.neventEncode(pointer);\n }\n\n get nnote() {\n return nip19.noteEncode(this.id);\n }\n\n get zaps() {\n return this._relatives.zaps;\n }\n\n get comments() {\n return this._relatives.comments;\n }\n\n get commentsCount(): number {\n return this._relatives.comments.length;\n }\n\n get reactions() {\n return this._relatives.reactions;\n }\n\n get reactionsCount(): number { \n return this._relatives.reactions.length;\n }\n\n get zapSum(): string {\n return zapSum(this.zaps);\n }\n\n get zapSumNum(): number {\n return zapSumNum(this.zaps);\n }\n\n // addRelatives(events: IEvent[]): void {\n // events.forEach(event => this.addRelative(event))\n // }\n\n // addRelative(event: IEvent): any {\n // const type = relativesKindMap?.[event.kind]\n // if(!type) return;\n // const model = relativesModelMap?.[type];\n // if(!model) return;\n // const instance = new model(event)\n // this._relatives[ relativesKindMap[event.kind] ].push( instance );\n // return instance\n // }\n}\n\n// export const relativesKindMap: Record<number, keyof NostrEventRelatives> = {\n// 1: 'comments',\n// 1111: 'comments',\n// 7: 'reactions',\n// 9725: 'zaps'\n// }\n\n// export const relativesModelMap: Record<keyof NostrEventRelatives, any> = {\n// comments: NostrEvent,\n// reactions: NostrEvent,\n// zaps: NostrEvent\n// }\n\n\n\n"],"names":["Kinds","SOURCE","Symbol","defaultNostrEventOptions","relays","NostrEvent","event","options","this","_relatives","zaps","comments","reactions","_json","_options","Object","defineProperty","prototype","get","kind","tags","some","tag","json","id","pubkey","set","content","signature","created_at","isPRE","isRE","naddr","nevent","_b","identifier","_a","find","Error","pointer","nip19","naddrEncode","author","neventEncode","noteEncode","length","zapSum","zapSumNum"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["exports","../_virtual/_tslib.amd","./Event.amd"],(function(e,o,t){"use strict";var n=function(e){function Geocoded(o){return e.call(this,o)||this}return o.__extends(Geocoded,e),Geocoded.sortGeohashesFn=function(e,o){return o.length-e.length},Geocoded.generateFilterableGeohash=function(e){for(var o=new Set,t=String(e),n=String(e).length;n>0;n--){var r=t.substring(0,n);o.add(r)}return Array.from(o)},Object.defineProperty(Geocoded.prototype,"dd",{get:function(){return void 0!==this.lat&&void 0!==this.lon?{lat:this.lat,lon:this.lon}:"string"==typeof this.geohash?(this.dd=this.geohash,this.dd):void 0},set:function(e){if(e)if("string"==typeof e){this.geohash=e;var o=Geocoded.decodeGeohash(e),t=o.lat,n=o.lon;this.lat=t,this.lon=n}else"lat"in e&&"lon"in e&&(this.lat=e.lat,this.lon=e.lon,this.geohash=Geocoded.encodeGeohash(e))},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geohash",{get:function(){var e;return null===(e=this.geohashes)||void 0===e?void 0:e[0]},set:function(e){if(Geocoded.isGeohash(e)){var o=Geocoded.generateFilterableGeohash(String(e)).sort(Geocoded.sortGeohashesFn);this._updateGeohashTags(o)}},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geohashes",{get:function(){var e=this.tags.filter(Geocoded.geohashFilterFn).map((function(e){return e[1]})).sort(Geocoded.sortGeohashesFn);if(e.length)return e},set:function(e){e=e.filter(Geocoded.isGeohash),this._removeGeoHashes(),this._updateGeohashTags(Array.from(new Set(e)))},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"countryCode",{get:function(){return this.tagValuesByMarker("l","countryCode")},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"countryName",{get:function(){return this.tagValueByMarker("l","countryName")},set:function(e){this._setGeoTag("countryName",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"regionCode",{get:function(){return this.tagValueByMarker("l","regionCode")},set:function(e){this._setGeoTag("regionCode",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"regionName",{get:function(){return this.tagValueByMarker("l","regionName")},set:function(e){this._setGeoTag("regionName",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"continentName",{get:function(){return this.tagValueByMarker("l","continentName")},set:function(e){this._setGeoTag("continentName",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocode",{get:function(){var e;return(null===(e=this.geocodes.find((function(e){return"alpha"===e.format&&2===e.length})))||void 0===e?void 0:e.code)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodeAlpha2",{get:function(){return this.geocode},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodeAlpha3",{get:function(){var e;return(null===(e=this.geocodes.find((function(e){return"alpha"===e.format&&3===e.length})))||void 0===e?void 0:e.code)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodeNumeric",{get:function(){var e;return(null===(e=this.geocodes.find((function(e){return"numeric"===e.format})))||void 0===e?void 0:e.code)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodes",{get:function(){var e=this.tags.filter((function(e){return"l"===e[0]&&e[2].toLowerCase().includes("countrycode")})).map((function(e){return e[1]}));return e.length?formatGeocodes(e):[]},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"lat",{get:function(){var e;return null===(e=this._dd)||void 0===e?void 0:e.lat},set:function(e){this._dd||(this._dd={lat:0,lon:0}),this._dd.lat=e},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"lon",{get:function(){var e;return null===(e=this._dd)||void 0===e?void 0:e.lon},set:function(e){this._dd||(this._dd={lat:0,lon:0}),this._dd.lon=e},enumerable:!1,configurable:!0}),Geocoded.prototype.geoObject=function(){var e={};return this.lat&&(e.lat=this.lat),this.lon&&(e.lon=this.lon),this.geohash&&(e.geohash=this.geohash),this.geohashes&&(e._geohashes=this.geohashes),this.countryCode&&(e.countryCode=this.countryCode),this.countryName&&(e.countryName=this.countryName),this.regionCode&&(e.regionCode=this.regionCode),e},Geocoded.encodeGeohash=function(e,o){void 0===o&&(o=this.GEOHASH_PRECISION);for(var t=Geocoded.parseCoords(e),n=t.lat,r=t.lon,i=!0,d=[-90,90],a=[-180,180],s=0,c=0,u="";u.length<o;){var h=void 0;i?r>(h=(a[0]+a[1])/2)?(c|=1<<4-s,a[0]=h):a[1]=h:n>(h=(d[0]+d[1])/2)?(c|=1<<4-s,d[0]=h):d[1]=h,i=!i,s<4?s++:(u+=Geocoded.BASE32.charAt(c),s=0,c=0)}return u},Geocoded.decodeGeohash=function(e){for(var o=!0,t=[-90,90],n=[-180,180],r=0;r<e.length;r++)for(var i=e.charAt(r).toLowerCase(),d=Geocoded.BASE32.indexOf(i),a=0;a<5;a++){var s=1<<4-a;o?Geocoded.decodeIntRefine(n,d,s):Geocoded.decodeIntRefine(t,d,s),o=!o}return{lat:(t[0]+t[1])/2,lon:(n[0]+n[1])/2}},Geocoded.isGeohash=function(e){if(!e||""===e)return!1;e=e.toLowerCase();for(var o=0;o<e.length;o++)if(-1===Geocoded.BASE32.indexOf(e.charAt(o)))return!1;return!0},Geocoded.distance=function(e,o){var t=Geocoded.parseCoords(e),n=t.lat,r=t.lon,i=Geocoded.parseCoords(o),d=i.lat,a=i.lon,s=this.EARTH_RADIUS,c=Geocoded.toRadians(d-n),u=Geocoded.toRadians(a-r),h=Math.sin(c/2)*Math.sin(c/2)+Math.cos(Geocoded.toRadians(n))*Math.cos(Geocoded.toRadians(d))*Math.sin(u/2)*Math.sin(u/2);return 2*s*Math.atan2(Math.sqrt(h),Math.sqrt(1-h))},Geocoded.toRadians=function(e){return e*(Math.PI/180)},Geocoded.decodeIntRefine=function(e,o,t){var n=(e[0]+e[1])/2;(o&t)>0?e[0]=n:e[1]=n},Geocoded.prototype.removeTagByKeyValue=function(e,o){this.tags=this.tags.filter((function(t){return void 0!==o?t[0]!==o&&t[1]!==e:t[1]!==e}))},Geocoded.prototype.removeTagByMarker=function(e,o){this.tags=this.tags.filter((function(t){return!(t[0]===e&&t[t.length-1]===o)}))},Geocoded.prototype.tagValueByMarker=function(e,o){var t=this.tags.find((function(t){return t[0]===e&&t[t.length-1]===o}));return t?t[1]:void 0},Geocoded.prototype.tagValuesByMarker=function(e,o){var t=this.tags.filter((function(t){return t[0]===e&&t[t.length-1]===o})).map((function(e){return e[1]})).flat();return(null==t?void 0:t.length)?t:void 0},Object.defineProperty(Geocoded.prototype,"indexedTags",{get:function(){return this.tags.filter((function(e){return 1===e[0].length}))},enumerable:!1,configurable:!0}),Geocoded.prototype._setGeoTag=function(e,o){this.removeTagByKeyValue(e),this.removeTagByMarker("g",e),this.tags.push(["G",e]),this.tags.push(["g",o,e])},Geocoded.prototype._removeGeoHashes=function(){this.removeTagByKeyValue("gh","G"),this.tags=this.tags.filter((function(e){return!Geocoded.geohashFilterFn(e)}))},Geocoded.prototype._updateGeohashTags=function(e){var o=this;this._removeGeoHashes(),this.tags.push(["G","gh"]),e.forEach((function(e){o.tags.push(["g",e,"gh"])}))},Geocoded.EARTH_RADIUS=6371,Geocoded.GEOHASH_PRECISION=12,Geocoded.BASE32="0123456789bcdefghjkmnpqrstuvwxyz",Geocoded.geohashFilterFn=function(e){return"g"===e[0]&&(2===e.length||"gh"===e[2]||"geohash"===e[2])},Geocoded.sortGeospatial=function(e,o,t){void 0===t&&(t=!0);var n=Array.from(o),r=Geocoded.parseCoords(e),i=r.lat,d=r.lon;if(isNaN(i)||isNaN(d)||!isFinite(i)||!isFinite(d))throw new Error("(lat) and (lon), respectively, must be numbers and finite.");return n.sort((function(e,o){if(!((null==e?void 0:e.lat)&&(null==e?void 0:e.lon)&&(null==o?void 0:o.lat)&&(null==o?void 0:o.lon)))return 0;var n=Geocoded.distance({lat:i,lon:d},{lat:e.lat,lon:e.lon}),r=Geocoded.distance({lat:i,lon:d},{lat:o.lat,lon:o.lon});return t?n-r:r-n})),new Set(n)},Geocoded.parseCoords=function(e){return"string"==typeof e?Geocoded.decodeGeohash(e):e},Geocoded}(t.NostrEvent),formatGeocodes=function(e){for(var o=[],t=0,n=e;t<n.length;t++){var r=n[t],i=!isNaN(Number(r))&&""!==r;o.push({code:r,type:"ISO-3166-1",format:i?"numeric":"alpha",length:i?void 0:r.length})}return o};e.Geocoded=n}));
|
|
2
|
+
//# sourceMappingURL=Geocoded.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Geocoded.amd.js","sources":["../../../src/models/Geocoded.ts"],"sourcesContent":["import { Filter } from \"nostr-tools\";\nimport { IEvent, NostrEvent, NostrTag } from \"./Event\";\nimport { IGeocode } from \"./Geocode\";\n\nexport type Coords = DD | Geohash\nexport type DD = { lat: number; lon: number }\nexport type Geohash = string;\n\nexport type EventGeoCodedObject = Record<string, string | string[] | number | boolean>\nexport type EventGeoCodedCallback = (events: Set<Geocoded>) => Promise<Set<Geocoded>>;\n\nexport class Geocoded extends NostrEvent {\n\n private static readonly EARTH_RADIUS: number = 6371;\n private static readonly GEOHASH_PRECISION: number = 12;\n private static readonly BASE32: string = '0123456789bcdefghjkmnpqrstuvwxyz'; \n private static readonly geohashFilterFn = (tag: string[]) => tag[0] === 'g' && (tag.length === 2 || tag['2'] === 'gh' || tag['2'] === 'geohash'); //`g` tags with a length of 2 are NIP-52 geohashes\n\n private _dd: DD | undefined;\n\n constructor(event: IEvent) {\n super(event);\n }\n\n /**\n * Compares two geohashes and sorts them based on their length in descending order.\n * \n * @param a - The first geohash to compare.\n * @param b - The second geohash to compare.\n * @returns A negative number if `b` is longer than `a`, a positive number if `a` is longer than `b`,\n * or zero if they have the same length.\n * \n * @static \n */\n static sortGeohashesFn(a: string, b: string): number {\n return b.length - a.length;\n }\n\n /**\n * Generates a list of filterable geohashes from a given full geohash.\n * This method creates a set of progressively shorter prefixes of the provided geohash,\n * each representing a broader geographic area. This set can be used for filtering or\n * querying geospatial data structures and is sorted from the most specific (longest)\n * to the least specific (shortest).\n * \n * @param fullGeohash - The full geohash string from which to generate filterable prefixes.\n * @returns An array of geohash strings, each a prefix of the full geohash, sorted by descending length.\n * \n * @static\n */\n static generateFilterableGeohash(fullGeohash: Geohash): Geohash[] {\n const geohashes: Set<Geohash> = new Set();\n const deref: Geohash = String(fullGeohash); \n for (let i = String(fullGeohash).length; i > 0; i--) {\n const n = deref.substring(0, i);\n geohashes.add(n);\n }\n return Array.from(geohashes);\n }\n\n /**\n * Sets the geographical coordinates or geohash for the current instance, updating latitude, longitude, and geohash values accordingly.\n * If a geohash string is provided, it decodes it into latitude and longitude. If coordinates are provided, it sets those directly and\n * generates a corresponding geohash.\n * \n * @param coords The coordinates or geohash string to set. Can be undefined to perform no operation.\n */\n set dd(coords: Coords | undefined) {\n if (!coords) return;\n if (typeof coords === 'string') {\n this.geohash = coords;\n const { lat, lon } = Geocoded.decodeGeohash(coords);\n this.lat = lat;\n this.lon = lon;\n } else if ('lat' in coords && 'lon' in coords) {\n this.lat = coords.lat;\n this.lon = coords.lon;\n this.geohash = Geocoded.encodeGeohash(coords) as Geohash; // This updates geohash and geohashes based on lat & lon\n }\n }\n\n /**\n * Gets the current geographical coordinates (latitude and longitude) prioritizing direct coordinates if available.\n * If coordinates are not directly set but a geohash is available, it returns the decoded coordinates from the geohash.\n * \n * @returns The current geographical coordinates as a DD object or undefined if neither coordinates nor geohash are set.\n */\n get dd(): DD | undefined {\n if (typeof this.lat !== 'undefined' && typeof this.lon !== 'undefined') {\n return { lat: this.lat, lon: this.lon } as DD;\n }\n if(typeof this.geohash === 'string') {\n this.dd = this.geohash;\n return this.dd;\n }\n return undefined;\n } \n\n /**\n * Sets the primary geohash for the current instance and updates the list of geohashes with varying precision based on this value.\n * This setter generates filterable geohashes from the provided value, sorts them by descending precision, and updates related class properties.\n * \n * @param value The geohash to set as the primary geohash.\n */\n set geohash(value: Geohash) {\n if(!Geocoded.isGeohash(value)) return;\n const geohashes = \n Geocoded\n .generateFilterableGeohash(String(value))\n .sort( Geocoded.sortGeohashesFn );\n this._updateGeohashTags(geohashes);\n }\n\n /**\n * Sets the list of geohashes for the current instance, ensuring no duplicates and updating related class properties accordingly.\n * This setter accepts an array of geohashes, deduplicates them, and updates the instance's state.\n * \n * @param values An array of geohashes to set, potentially containing duplicates.\n */\n set geohashes(values: Geohash[]) {\n values = values.filter(Geocoded.isGeohash);\n this._removeGeoHashes();\n this._updateGeohashTags(Array.from(new Set<string>(values)));\n }\n\n /**\n * Gets the current list of geohashes associated with the instance, sorted by descending precision.\n * \n * @returns An array of geohashes sorted by descending precision.\n */\n get geohashes(): Geohash[] | undefined {\n const tags = \n this.tags\n .filter( Geocoded.geohashFilterFn )\n .map( (tag: string[]) => tag[1] )\n .sort( Geocoded.sortGeohashesFn );\n if(!tags.length) return undefined;\n return tags;\n }\n\n /**\n * Gets the the most precise geohash for the current instance, which is the first geohash in the list of geohashes sorted by descending precision.\n * \n * @returns The primary (most precise) geohash if available, or undefined if no geohashes are set.\n */\n get geohash(): Geohash | undefined {\n return this.geohashes?.[0];\n }\n\n get countryCode(): string[] | undefined {\n return this.tagValuesByMarker(\"l\", \"countryCode\");\n }\n\n get countryName(): string | undefined {\n return this.tagValueByMarker(\"l\", \"countryName\");\n }\n\n set countryName(value: string) {\n this._setGeoTag(\"countryName\", value);\n }\n\n get regionCode(): string | undefined {\n return this.tagValueByMarker(\"l\", \"regionCode\");\n }\n\n set regionCode(value: string) {\n this._setGeoTag(\"regionCode\", value);\n }\n \n set regionName(value: string) {\n this._setGeoTag(\"regionName\", value);\n }\n\n get regionName(): string | undefined {\n return this.tagValueByMarker(\"l\", \"regionName\");\n }\n\n set continentName(value: string) {\n \n this._setGeoTag(\"continentName\", value);\n }\n\n get continentName(): string | undefined {\n return this.tagValueByMarker(\"l\", \"continentName\");\n }\n\n get geocode(): string | null {\n return this.geocodes.find( (code: IGeocode) => code.format === 'alpha' && code.length === 2)?.code || null;\n }\n\n get geocodeAlpha2(): string | null {\n return this.geocode;\n }\n\n get geocodeAlpha3(): string | null {\n return this.geocodes.find( (code: IGeocode) => code.format === 'alpha' && code.length === 3)?.code || null;\n }\n\n get geocodeNumeric(): string | null {\n return this.geocodes.find( (code: IGeocode) => code.format === 'numeric')?.code || null;\n }\n\n get geocodes(): IGeocode[] {\n const codes = \n this.tags\n .filter((tag: NostrTag) => { \n return tag[0] === 'l' && tag[2].toLowerCase().includes('countrycode')\n })\n .map((tag: NostrTag) => tag[1]);\n if(!codes.length) return [];\n return formatGeocodes(codes)\n }\n\n // get geo(): string[][] {\n // return [...this.getMatchingTags(\"G\"), ...this.getMatchingTags(\"g\")];\n // }\n\n // set geo(tags: string[][]) {\n // this.removeTag(\"G\");\n // this.removeTag(\"g\");\n // tags.forEach(tag => this.tags.push(tag));\n // }\n\n private set lat(value: number) {\n if(!this._dd) this._dd = { lat: 0, lon: 0 } as DD;\n this._dd.lat = value;\n }\n\n private get lat(): number | undefined {\n return this._dd?.lat;\n }\n\n private set lon(value: number) {\n if(!this._dd) this._dd = { lat: 0, lon: 0 } as DD;\n this._dd.lon = value;\n }\n\n private get lon(): number | undefined {\n return this._dd?.lon;\n }\n\n /**\n * Retrieves all geo tags from the event's tags.\n * \n * @returns the first geotag if available, otherwise undefined.\n */\n public geoObject(): EventGeoCodedObject {\n const result: EventGeoCodedObject = {};\n if(this.lat) result.lat = this.lat;\n if(this.lon) result.lon = this.lon;\n if(this.geohash) result.geohash = this.geohash;\n if(this.geohashes) result._geohashes = this.geohashes;\n if(this.countryCode) result.countryCode = this.countryCode;\n if(this.countryName) result.countryName = this.countryName;\n if(this.regionCode) result.regionCode = this.regionCode;\n return result;\n }\n \n\n /**\n * Sorts an array of `Geocoded` instances based on their distance from a given latitude and longitude.\n * \n * @param {Coords} coords An object containing the reference latitude (`lat`) and longitude (`lon`) or a geohash.\n * @param {Geocoded[]} geoCodedEvents An array of `Geocoded` instances to be sorted.\n * @param {boolean} asc Determines the sort order. `true` for ascending (default), `false` for descending.\n * @returns A sorted array of `Geocoded` instances.\n * @throws {Error} If the latitude or longitude is not a finite number.\n */\n public static sortGeospatial = (\n coords: Coords, \n geoCodedEvents: Set<Geocoded>, \n asc: boolean = true\n ): Set<Geocoded> => {\n const events = Array.from(geoCodedEvents);\n const {lat, lon} = Geocoded.parseCoords(coords);\n if (isNaN(lat) || isNaN(lon) || !isFinite(lat) || !isFinite(lon)) \n throw new Error('(lat) and (lon), respectively, must be numbers and finite.');\n events.sort((a, b) => {\n if(!a?.lat || !a?.lon || !b?.lat || !b?.lon) return 0;\n const distanceA = Geocoded.distance({lat, lon} as DD, {lat: a.lat, lon: a.lon} as DD);\n const distanceB = Geocoded.distance({lat, lon} as DD, {lat: b.lat, lon: b.lon} as DD);\n return asc ? distanceA - distanceB : distanceB - distanceA;\n });\n return new Set(events) as Set<Geocoded>;\n };\n\n /**\n * Encodes latitude and longitude into a geohash string.\n * \n * @param {Coords} coords The latitude to encode.\n * @param {number} precision The desired precision of the geohash (length of the geohash string).\n * @returns {string} The encoded geohash string.\n */\n public static encodeGeohash(coords: Coords, precision: number = this.GEOHASH_PRECISION): string {\n const {lat: latitude, lon: longitude} = Geocoded.parseCoords(coords);\n let isEven = true;\n const latR: number[] = [-90.0, 90.0];\n const lonR: number[] = [-180.0, 180.0];\n let bit = 0;\n let ch = 0;\n let geohash = '';\n\n while (geohash.length < precision) {\n let mid;\n if (isEven) {\n mid = (lonR[0] + lonR[1]) / 2;\n if (longitude > mid) {\n ch |= (1 << (4 - bit));\n lonR[0] = mid;\n } else {\n lonR[1] = mid;\n }\n } else {\n mid = (latR[0] + latR[1]) / 2;\n if (latitude > mid) {\n ch |= (1 << (4 - bit));\n latR[0] = mid;\n } else {\n latR[1] = mid;\n }\n }\n isEven = !isEven;\n\n if (bit < 4) {\n bit++;\n } else {\n geohash += Geocoded.BASE32.charAt(ch);\n bit = 0;\n ch = 0;\n }\n }\n\n return geohash;\n }\n\n\n /**\n * Decodes a geohash string into its latitude and longitude representation.\n * \n * @param {string} hashString The geohash string to decode.\n * @returns An object containing the decoded latitude (`lat`) and longitude (`lon`).\n */\n public static decodeGeohash(hashString: string): DD {\n let isEven = true;\n const latR: number[] = [-90.0, 90.0];\n const lonR: number[] = [-180.0, 180.0];\n for (let i = 0; i < hashString.length; i++) {\n const char = hashString.charAt(i).toLowerCase();\n const charIndex = Geocoded.BASE32.indexOf(char);\n for (let j = 0; j < 5; j++) {\n const mask = 1 << (4 - j);\n if (isEven) {\n Geocoded.decodeIntRefine(lonR, charIndex, mask);\n } else {\n Geocoded.decodeIntRefine(latR, charIndex, mask);\n }\n isEven = !isEven;\n }\n }\n const lat = (latR[0] + latR[1]) / 2;\n const lon = (lonR[0] + lonR[1]) / 2;\n return { lat, lon } as DD;\n };\n\n /**\n * Checks if a string is a valid geohash.\n * \n * @param {string} str The string to check.\n * @returns {boolean} True if the string is a valid geohash, false otherwise.\n */\n public static isGeohash(str: string | undefined): boolean {\n if (!str || str === '') return false;\n str = str.toLowerCase();\n for (let i = 0; i < str.length; i++) {\n if (Geocoded.BASE32.indexOf(str.charAt(i)) === -1) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Calculates the great-circle distance between two points on the Earth's surface given their latitudes and longitudes.\n * This method is a helper for calculating distances using the Haversine formula.\n * \n * @param {Coords} coords1 The DD or geohash of the first point\n * @param {Coords} coords2 The DD or geohash of the second point.\n * @returns {number} The distance between the two points in kilometers.\n * @public\n * @static\n */\n public static distance(coords1: Coords, coords2: Coords): number {\n const {lat: lat1, lon: lon1} = Geocoded.parseCoords(coords1);\n const {lat: lat2, lon: lon2} = Geocoded.parseCoords(coords2);\n const radius: number = this.EARTH_RADIUS; //km\n const latDeg: number = Geocoded.toRadians(lat2 - lat1);\n const lonDeg: number = Geocoded.toRadians(lon2 - lon1);\n const angle: number =\n Math.sin(latDeg / 2) * Math.sin(latDeg / 2) +\n Math.cos(Geocoded.toRadians(lat1)) * \n Math.cos(Geocoded.toRadians(lat2)) * \n Math.sin(lonDeg / 2) * \n Math.sin(lonDeg / 2);\n return radius * 2 * Math.atan2(Math.sqrt(angle), Math.sqrt(1 - angle));\n }\n\n /**\n * Parses a Coords object, potentially a geohash, into a DD object\n * \n * @param {Coords} coords \n * @returns A DD object\n */\n public static parseCoords = (coords: Coords): DD => {\n return typeof coords === 'string'\n ? Geocoded.decodeGeohash(coords as Geohash)\n : coords as DD;\n };\n\n /**\n * Converts an angle from degrees to radians.\n * \n * @param {number} degrees The angle in degrees.\n * @returns {number} The angle in radians.\n * @public\n * @static\n */\n public static toRadians(degrees: number): number {\n return degrees*(Math.PI/180);\n }\n\n /**\n * Refines the search interval for a geohash decoding process based on a character from the geohash.\n * This method is part of the geohash decoding process, refining the latitude or longitude range.\n * \n * @param {number[]} range The current range (latitude or longitude) being refined.\n * @param {number} charIndex The index of the character in the base32 string.\n * @param {number} bitMask The bitmask to apply for refining the range.\n */\n public static decodeIntRefine(range: number[], charIndex: number, bitMask: number): void {\n const mid = (range[0] + range[1]) / 2;\n if ((charIndex & bitMask) > 0) {\n range[0] = mid;\n } else {\n range[1] = mid;\n }\n }\n \n /**\n * Removes tags by their value (the value at position 1 in the tag array).\n * \n * @param value The value to identify which tags to remove.\n */\n // protected removeTagByKeyValue(value: string, key?: string){\n // this.tags = this.tags.filter(tag => tag[1] !== value);\n // }\n\n protected removeTagByKeyValue(value: string, key?: string){\n const filterFn = \n (tag: string[]) => \n typeof key !== 'undefined'\n ? tag[0] !== key && tag[1] !== value\n : tag[1] !== value; \n\n this.tags = this.tags.filter(filterFn);\n }\n\n /**\n * Removes tags by marker (the value at last position in the tag array).\n * \n * @param key The key to identify which tags to remove.\n */\n protected removeTagByMarker(key: string, marker: string) {\n this.tags = this.tags.filter(tag => !(tag[0] === key && tag[tag.length-1] === marker));\n }\n\n /**\n * Helper method to find the first tag value by its marker.\n * \n * @param key The key to identify which tag value to find.\n * @return The first value associated with the key, or undefined if not found.\n */\n protected tagValueByMarker(key: string, marker: string): string | undefined {\n const tag = this.tags.find(tag => tag[0] === key && tag[tag.length-1] === marker);\n return tag ? tag[1] : undefined;\n }\n\n /**\n * Helper method to find the first tag value by its marker.\n * \n * @param key The key to identify which tag value to find.\n * @return The first value associated with the key, or undefined if not found.\n */\n protected tagValuesByMarker(key: string, marker: string): string[] | undefined {\n const tags = this.tags.filter(tag => tag[0] === key && tag[tag.length-1] === marker).map(tag => tag[1]).flat();\n return tags?.length ? tags : undefined;\n }\n /**\n * Retrieves tags that are indexed, identified by having their first element's length equal to 1.\n * \n * @returns An array of string[], filtered to include only indexed tags.\n * \n * @protected\n */\n protected get indexedTags(): string[][] {\n return this.tags.filter(tag => tag[0].length === 1);\n }\n\n /**\n * Adds a geo tags to the event's tags, updating or removing existing tags as necessary.\n * This method manages the insertion of geospatial information tags ('g' and 'G') into the event's tag array.\n * \n * @param {string} key The geospatial information key (e.g., \"lat\", \"lon\", \"countryCode\").\n * @param {string} value The value associated with the key.\n * @private\n */\n private _setGeoTag(key: string, value: string){\n this.removeTagByKeyValue(key);\n this.removeTagByMarker(\"g\", key);\n this.tags.push([\"G\", key]);\n this.tags.push([\"g\", value, key]);\n }\n\n /**\n * Removes geohash tags ('gh') from the event's tags, cleaning up the tag array from geohash (gh) tags.\n * Additionally, It filters out legacy 'g' tags that represent NIP-52 geohashes, maintaining other geospatial tags intact.\n * \n * @private\n */\n private _removeGeoHashes(): void {\n this.removeTagByKeyValue(\"gh\", \"G\");\n this.tags = this.tags.filter( tag => !(Geocoded.geohashFilterFn(tag)) ); \n }\n\n /**\n * Updates the geohashes and corresponding tags for this instance.\n * \n * This method is responsible for updating the internal tags to reflect a new set of geohashes. It first\n * removes any existing geohash-related tags, then adds a generic tag indicating the presence of geohash data\n * followed by individual tags for each geohash in the provided array.\n * \n * @param geohashes - An array of geohash strings to be updated in the tags.\n * \n * @private\n */\n private _updateGeohashTags(geohashes: Geohash[]) {\n this._removeGeoHashes();\n this.tags.push([\"G\", \"gh\"]);\n geohashes.forEach(gh => {\n this.tags.push([\"g\", gh, \"gh\"]);\n });\n }\n};\n\n\nconst formatGeocodes = (codes: string[]): IGeocode[] => {\n const results: IGeocode[] = []\n for(let code of codes) {\n const isNumber = !isNaN(Number(code)) && code !== ''\n results.push({\n code,\n type: 'ISO-3166-1',\n format: isNumber? 'numeric' : 'alpha',\n length: isNumber? undefined: (code as unknown as string).length\n })\n }\n return results;\n }"],"names":["Geocoded","_super","event","call","this","__extends","sortGeohashesFn","a","b","length","generateFilterableGeohash","fullGeohash","geohashes","Set","deref","String","i","n","substring","add","Array","from","Object","defineProperty","prototype","get","lat","lon","geohash","dd","set","coords","_a","decodeGeohash","encodeGeohash","value","isGeohash","sort","_updateGeohashTags","tags","filter","geohashFilterFn","map","tag","values","_removeGeoHashes","tagValuesByMarker","tagValueByMarker","_setGeoTag","geocodes","find","code","format","geocode","codes","toLowerCase","includes","formatGeocodes","_dd","geoObject","result","_geohashes","countryCode","countryName","regionCode","precision","GEOHASH_PRECISION","parseCoords","latitude","longitude","isEven","latR","lonR","bit","ch","mid","BASE32","charAt","hashString","char","charIndex","indexOf","j","mask","decodeIntRefine","str","distance","coords1","coords2","lat1","lon1","_b","lat2","lon2","radius","EARTH_RADIUS","latDeg","toRadians","lonDeg","angle","Math","sin","cos","atan2","sqrt","degrees","PI","range","bitMask","removeTagByKeyValue","key","removeTagByMarker","marker","undefined","flat","push","_this","forEach","gh","sortGeospatial","geoCodedEvents","asc","events","isNaN","isFinite","Error","distanceA","distanceB","NostrEvent","results","_i","codes_1","isNumber","Number","type"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__extends as e}from"../_virtual/_tslib.esm.js";import{NostrEvent as o}from"./Event.esm.js";var t=function(o){function Geocoded(e){return o.call(this,e)||this}return e(Geocoded,o),Geocoded.sortGeohashesFn=function(e,o){return o.length-e.length},Geocoded.generateFilterableGeohash=function(e){for(var o=new Set,t=String(e),n=String(e).length;n>0;n--){var r=t.substring(0,n);o.add(r)}return Array.from(o)},Object.defineProperty(Geocoded.prototype,"dd",{get:function(){return void 0!==this.lat&&void 0!==this.lon?{lat:this.lat,lon:this.lon}:"string"==typeof this.geohash?(this.dd=this.geohash,this.dd):void 0},set:function(e){if(e)if("string"==typeof e){this.geohash=e;var o=Geocoded.decodeGeohash(e),t=o.lat,n=o.lon;this.lat=t,this.lon=n}else"lat"in e&&"lon"in e&&(this.lat=e.lat,this.lon=e.lon,this.geohash=Geocoded.encodeGeohash(e))},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geohash",{get:function(){var e;return null===(e=this.geohashes)||void 0===e?void 0:e[0]},set:function(e){if(Geocoded.isGeohash(e)){var o=Geocoded.generateFilterableGeohash(String(e)).sort(Geocoded.sortGeohashesFn);this._updateGeohashTags(o)}},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geohashes",{get:function(){var e=this.tags.filter(Geocoded.geohashFilterFn).map((function(e){return e[1]})).sort(Geocoded.sortGeohashesFn);if(e.length)return e},set:function(e){e=e.filter(Geocoded.isGeohash),this._removeGeoHashes(),this._updateGeohashTags(Array.from(new Set(e)))},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"countryCode",{get:function(){return this.tagValuesByMarker("l","countryCode")},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"countryName",{get:function(){return this.tagValueByMarker("l","countryName")},set:function(e){this._setGeoTag("countryName",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"regionCode",{get:function(){return this.tagValueByMarker("l","regionCode")},set:function(e){this._setGeoTag("regionCode",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"regionName",{get:function(){return this.tagValueByMarker("l","regionName")},set:function(e){this._setGeoTag("regionName",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"continentName",{get:function(){return this.tagValueByMarker("l","continentName")},set:function(e){this._setGeoTag("continentName",e)},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocode",{get:function(){var e;return(null===(e=this.geocodes.find((function(e){return"alpha"===e.format&&2===e.length})))||void 0===e?void 0:e.code)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodeAlpha2",{get:function(){return this.geocode},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodeAlpha3",{get:function(){var e;return(null===(e=this.geocodes.find((function(e){return"alpha"===e.format&&3===e.length})))||void 0===e?void 0:e.code)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodeNumeric",{get:function(){var e;return(null===(e=this.geocodes.find((function(e){return"numeric"===e.format})))||void 0===e?void 0:e.code)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"geocodes",{get:function(){var e=this.tags.filter((function(e){return"l"===e[0]&&e[2].toLowerCase().includes("countrycode")})).map((function(e){return e[1]}));return e.length?formatGeocodes(e):[]},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"lat",{get:function(){var e;return null===(e=this._dd)||void 0===e?void 0:e.lat},set:function(e){this._dd||(this._dd={lat:0,lon:0}),this._dd.lat=e},enumerable:!1,configurable:!0}),Object.defineProperty(Geocoded.prototype,"lon",{get:function(){var e;return null===(e=this._dd)||void 0===e?void 0:e.lon},set:function(e){this._dd||(this._dd={lat:0,lon:0}),this._dd.lon=e},enumerable:!1,configurable:!0}),Geocoded.prototype.geoObject=function(){var e={};return this.lat&&(e.lat=this.lat),this.lon&&(e.lon=this.lon),this.geohash&&(e.geohash=this.geohash),this.geohashes&&(e._geohashes=this.geohashes),this.countryCode&&(e.countryCode=this.countryCode),this.countryName&&(e.countryName=this.countryName),this.regionCode&&(e.regionCode=this.regionCode),e},Geocoded.encodeGeohash=function(e,o){void 0===o&&(o=this.GEOHASH_PRECISION);for(var t=Geocoded.parseCoords(e),n=t.lat,r=t.lon,i=!0,a=[-90,90],d=[-180,180],s=0,c=0,u="";u.length<o;){var h=void 0;i?r>(h=(d[0]+d[1])/2)?(c|=1<<4-s,d[0]=h):d[1]=h:n>(h=(a[0]+a[1])/2)?(c|=1<<4-s,a[0]=h):a[1]=h,i=!i,s<4?s++:(u+=Geocoded.BASE32.charAt(c),s=0,c=0)}return u},Geocoded.decodeGeohash=function(e){for(var o=!0,t=[-90,90],n=[-180,180],r=0;r<e.length;r++)for(var i=e.charAt(r).toLowerCase(),a=Geocoded.BASE32.indexOf(i),d=0;d<5;d++){var s=1<<4-d;o?Geocoded.decodeIntRefine(n,a,s):Geocoded.decodeIntRefine(t,a,s),o=!o}return{lat:(t[0]+t[1])/2,lon:(n[0]+n[1])/2}},Geocoded.isGeohash=function(e){if(!e||""===e)return!1;e=e.toLowerCase();for(var o=0;o<e.length;o++)if(-1===Geocoded.BASE32.indexOf(e.charAt(o)))return!1;return!0},Geocoded.distance=function(e,o){var t=Geocoded.parseCoords(e),n=t.lat,r=t.lon,i=Geocoded.parseCoords(o),a=i.lat,d=i.lon,s=this.EARTH_RADIUS,c=Geocoded.toRadians(a-n),u=Geocoded.toRadians(d-r),h=Math.sin(c/2)*Math.sin(c/2)+Math.cos(Geocoded.toRadians(n))*Math.cos(Geocoded.toRadians(a))*Math.sin(u/2)*Math.sin(u/2);return 2*s*Math.atan2(Math.sqrt(h),Math.sqrt(1-h))},Geocoded.toRadians=function(e){return e*(Math.PI/180)},Geocoded.decodeIntRefine=function(e,o,t){var n=(e[0]+e[1])/2;(o&t)>0?e[0]=n:e[1]=n},Geocoded.prototype.removeTagByKeyValue=function(e,o){this.tags=this.tags.filter((function(t){return void 0!==o?t[0]!==o&&t[1]!==e:t[1]!==e}))},Geocoded.prototype.removeTagByMarker=function(e,o){this.tags=this.tags.filter((function(t){return!(t[0]===e&&t[t.length-1]===o)}))},Geocoded.prototype.tagValueByMarker=function(e,o){var t=this.tags.find((function(t){return t[0]===e&&t[t.length-1]===o}));return t?t[1]:void 0},Geocoded.prototype.tagValuesByMarker=function(e,o){var t=this.tags.filter((function(t){return t[0]===e&&t[t.length-1]===o})).map((function(e){return e[1]})).flat();return(null==t?void 0:t.length)?t:void 0},Object.defineProperty(Geocoded.prototype,"indexedTags",{get:function(){return this.tags.filter((function(e){return 1===e[0].length}))},enumerable:!1,configurable:!0}),Geocoded.prototype._setGeoTag=function(e,o){this.removeTagByKeyValue(e),this.removeTagByMarker("g",e),this.tags.push(["G",e]),this.tags.push(["g",o,e])},Geocoded.prototype._removeGeoHashes=function(){this.removeTagByKeyValue("gh","G"),this.tags=this.tags.filter((function(e){return!Geocoded.geohashFilterFn(e)}))},Geocoded.prototype._updateGeohashTags=function(e){var o=this;this._removeGeoHashes(),this.tags.push(["G","gh"]),e.forEach((function(e){o.tags.push(["g",e,"gh"])}))},Geocoded.EARTH_RADIUS=6371,Geocoded.GEOHASH_PRECISION=12,Geocoded.BASE32="0123456789bcdefghjkmnpqrstuvwxyz",Geocoded.geohashFilterFn=function(e){return"g"===e[0]&&(2===e.length||"gh"===e[2]||"geohash"===e[2])},Geocoded.sortGeospatial=function(e,o,t){void 0===t&&(t=!0);var n=Array.from(o),r=Geocoded.parseCoords(e),i=r.lat,a=r.lon;if(isNaN(i)||isNaN(a)||!isFinite(i)||!isFinite(a))throw new Error("(lat) and (lon), respectively, must be numbers and finite.");return n.sort((function(e,o){if(!((null==e?void 0:e.lat)&&(null==e?void 0:e.lon)&&(null==o?void 0:o.lat)&&(null==o?void 0:o.lon)))return 0;var n=Geocoded.distance({lat:i,lon:a},{lat:e.lat,lon:e.lon}),r=Geocoded.distance({lat:i,lon:a},{lat:o.lat,lon:o.lon});return t?n-r:r-n})),new Set(n)},Geocoded.parseCoords=function(e){return"string"==typeof e?Geocoded.decodeGeohash(e):e},Geocoded}(o),formatGeocodes=function(e){for(var o=[],t=0,n=e;t<n.length;t++){var r=n[t],i=!isNaN(Number(r))&&""!==r;o.push({code:r,type:"ISO-3166-1",format:i?"numeric":"alpha",length:i?void 0:r.length})}return o};export{t as Geocoded};
|
|
2
|
+
//# sourceMappingURL=Geocoded.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Geocoded.esm.js","sources":["../../../src/models/Geocoded.ts"],"sourcesContent":["import { Filter } from \"nostr-tools\";\nimport { IEvent, NostrEvent, NostrTag } from \"./Event\";\nimport { IGeocode } from \"./Geocode\";\n\nexport type Coords = DD | Geohash\nexport type DD = { lat: number; lon: number }\nexport type Geohash = string;\n\nexport type EventGeoCodedObject = Record<string, string | string[] | number | boolean>\nexport type EventGeoCodedCallback = (events: Set<Geocoded>) => Promise<Set<Geocoded>>;\n\nexport class Geocoded extends NostrEvent {\n\n private static readonly EARTH_RADIUS: number = 6371;\n private static readonly GEOHASH_PRECISION: number = 12;\n private static readonly BASE32: string = '0123456789bcdefghjkmnpqrstuvwxyz'; \n private static readonly geohashFilterFn = (tag: string[]) => tag[0] === 'g' && (tag.length === 2 || tag['2'] === 'gh' || tag['2'] === 'geohash'); //`g` tags with a length of 2 are NIP-52 geohashes\n\n private _dd: DD | undefined;\n\n constructor(event: IEvent) {\n super(event);\n }\n\n /**\n * Compares two geohashes and sorts them based on their length in descending order.\n * \n * @param a - The first geohash to compare.\n * @param b - The second geohash to compare.\n * @returns A negative number if `b` is longer than `a`, a positive number if `a` is longer than `b`,\n * or zero if they have the same length.\n * \n * @static \n */\n static sortGeohashesFn(a: string, b: string): number {\n return b.length - a.length;\n }\n\n /**\n * Generates a list of filterable geohashes from a given full geohash.\n * This method creates a set of progressively shorter prefixes of the provided geohash,\n * each representing a broader geographic area. This set can be used for filtering or\n * querying geospatial data structures and is sorted from the most specific (longest)\n * to the least specific (shortest).\n * \n * @param fullGeohash - The full geohash string from which to generate filterable prefixes.\n * @returns An array of geohash strings, each a prefix of the full geohash, sorted by descending length.\n * \n * @static\n */\n static generateFilterableGeohash(fullGeohash: Geohash): Geohash[] {\n const geohashes: Set<Geohash> = new Set();\n const deref: Geohash = String(fullGeohash); \n for (let i = String(fullGeohash).length; i > 0; i--) {\n const n = deref.substring(0, i);\n geohashes.add(n);\n }\n return Array.from(geohashes);\n }\n\n /**\n * Sets the geographical coordinates or geohash for the current instance, updating latitude, longitude, and geohash values accordingly.\n * If a geohash string is provided, it decodes it into latitude and longitude. If coordinates are provided, it sets those directly and\n * generates a corresponding geohash.\n * \n * @param coords The coordinates or geohash string to set. Can be undefined to perform no operation.\n */\n set dd(coords: Coords | undefined) {\n if (!coords) return;\n if (typeof coords === 'string') {\n this.geohash = coords;\n const { lat, lon } = Geocoded.decodeGeohash(coords);\n this.lat = lat;\n this.lon = lon;\n } else if ('lat' in coords && 'lon' in coords) {\n this.lat = coords.lat;\n this.lon = coords.lon;\n this.geohash = Geocoded.encodeGeohash(coords) as Geohash; // This updates geohash and geohashes based on lat & lon\n }\n }\n\n /**\n * Gets the current geographical coordinates (latitude and longitude) prioritizing direct coordinates if available.\n * If coordinates are not directly set but a geohash is available, it returns the decoded coordinates from the geohash.\n * \n * @returns The current geographical coordinates as a DD object or undefined if neither coordinates nor geohash are set.\n */\n get dd(): DD | undefined {\n if (typeof this.lat !== 'undefined' && typeof this.lon !== 'undefined') {\n return { lat: this.lat, lon: this.lon } as DD;\n }\n if(typeof this.geohash === 'string') {\n this.dd = this.geohash;\n return this.dd;\n }\n return undefined;\n } \n\n /**\n * Sets the primary geohash for the current instance and updates the list of geohashes with varying precision based on this value.\n * This setter generates filterable geohashes from the provided value, sorts them by descending precision, and updates related class properties.\n * \n * @param value The geohash to set as the primary geohash.\n */\n set geohash(value: Geohash) {\n if(!Geocoded.isGeohash(value)) return;\n const geohashes = \n Geocoded\n .generateFilterableGeohash(String(value))\n .sort( Geocoded.sortGeohashesFn );\n this._updateGeohashTags(geohashes);\n }\n\n /**\n * Sets the list of geohashes for the current instance, ensuring no duplicates and updating related class properties accordingly.\n * This setter accepts an array of geohashes, deduplicates them, and updates the instance's state.\n * \n * @param values An array of geohashes to set, potentially containing duplicates.\n */\n set geohashes(values: Geohash[]) {\n values = values.filter(Geocoded.isGeohash);\n this._removeGeoHashes();\n this._updateGeohashTags(Array.from(new Set<string>(values)));\n }\n\n /**\n * Gets the current list of geohashes associated with the instance, sorted by descending precision.\n * \n * @returns An array of geohashes sorted by descending precision.\n */\n get geohashes(): Geohash[] | undefined {\n const tags = \n this.tags\n .filter( Geocoded.geohashFilterFn )\n .map( (tag: string[]) => tag[1] )\n .sort( Geocoded.sortGeohashesFn );\n if(!tags.length) return undefined;\n return tags;\n }\n\n /**\n * Gets the the most precise geohash for the current instance, which is the first geohash in the list of geohashes sorted by descending precision.\n * \n * @returns The primary (most precise) geohash if available, or undefined if no geohashes are set.\n */\n get geohash(): Geohash | undefined {\n return this.geohashes?.[0];\n }\n\n get countryCode(): string[] | undefined {\n return this.tagValuesByMarker(\"l\", \"countryCode\");\n }\n\n get countryName(): string | undefined {\n return this.tagValueByMarker(\"l\", \"countryName\");\n }\n\n set countryName(value: string) {\n this._setGeoTag(\"countryName\", value);\n }\n\n get regionCode(): string | undefined {\n return this.tagValueByMarker(\"l\", \"regionCode\");\n }\n\n set regionCode(value: string) {\n this._setGeoTag(\"regionCode\", value);\n }\n \n set regionName(value: string) {\n this._setGeoTag(\"regionName\", value);\n }\n\n get regionName(): string | undefined {\n return this.tagValueByMarker(\"l\", \"regionName\");\n }\n\n set continentName(value: string) {\n \n this._setGeoTag(\"continentName\", value);\n }\n\n get continentName(): string | undefined {\n return this.tagValueByMarker(\"l\", \"continentName\");\n }\n\n get geocode(): string | null {\n return this.geocodes.find( (code: IGeocode) => code.format === 'alpha' && code.length === 2)?.code || null;\n }\n\n get geocodeAlpha2(): string | null {\n return this.geocode;\n }\n\n get geocodeAlpha3(): string | null {\n return this.geocodes.find( (code: IGeocode) => code.format === 'alpha' && code.length === 3)?.code || null;\n }\n\n get geocodeNumeric(): string | null {\n return this.geocodes.find( (code: IGeocode) => code.format === 'numeric')?.code || null;\n }\n\n get geocodes(): IGeocode[] {\n const codes = \n this.tags\n .filter((tag: NostrTag) => { \n return tag[0] === 'l' && tag[2].toLowerCase().includes('countrycode')\n })\n .map((tag: NostrTag) => tag[1]);\n if(!codes.length) return [];\n return formatGeocodes(codes)\n }\n\n // get geo(): string[][] {\n // return [...this.getMatchingTags(\"G\"), ...this.getMatchingTags(\"g\")];\n // }\n\n // set geo(tags: string[][]) {\n // this.removeTag(\"G\");\n // this.removeTag(\"g\");\n // tags.forEach(tag => this.tags.push(tag));\n // }\n\n private set lat(value: number) {\n if(!this._dd) this._dd = { lat: 0, lon: 0 } as DD;\n this._dd.lat = value;\n }\n\n private get lat(): number | undefined {\n return this._dd?.lat;\n }\n\n private set lon(value: number) {\n if(!this._dd) this._dd = { lat: 0, lon: 0 } as DD;\n this._dd.lon = value;\n }\n\n private get lon(): number | undefined {\n return this._dd?.lon;\n }\n\n /**\n * Retrieves all geo tags from the event's tags.\n * \n * @returns the first geotag if available, otherwise undefined.\n */\n public geoObject(): EventGeoCodedObject {\n const result: EventGeoCodedObject = {};\n if(this.lat) result.lat = this.lat;\n if(this.lon) result.lon = this.lon;\n if(this.geohash) result.geohash = this.geohash;\n if(this.geohashes) result._geohashes = this.geohashes;\n if(this.countryCode) result.countryCode = this.countryCode;\n if(this.countryName) result.countryName = this.countryName;\n if(this.regionCode) result.regionCode = this.regionCode;\n return result;\n }\n \n\n /**\n * Sorts an array of `Geocoded` instances based on their distance from a given latitude and longitude.\n * \n * @param {Coords} coords An object containing the reference latitude (`lat`) and longitude (`lon`) or a geohash.\n * @param {Geocoded[]} geoCodedEvents An array of `Geocoded` instances to be sorted.\n * @param {boolean} asc Determines the sort order. `true` for ascending (default), `false` for descending.\n * @returns A sorted array of `Geocoded` instances.\n * @throws {Error} If the latitude or longitude is not a finite number.\n */\n public static sortGeospatial = (\n coords: Coords, \n geoCodedEvents: Set<Geocoded>, \n asc: boolean = true\n ): Set<Geocoded> => {\n const events = Array.from(geoCodedEvents);\n const {lat, lon} = Geocoded.parseCoords(coords);\n if (isNaN(lat) || isNaN(lon) || !isFinite(lat) || !isFinite(lon)) \n throw new Error('(lat) and (lon), respectively, must be numbers and finite.');\n events.sort((a, b) => {\n if(!a?.lat || !a?.lon || !b?.lat || !b?.lon) return 0;\n const distanceA = Geocoded.distance({lat, lon} as DD, {lat: a.lat, lon: a.lon} as DD);\n const distanceB = Geocoded.distance({lat, lon} as DD, {lat: b.lat, lon: b.lon} as DD);\n return asc ? distanceA - distanceB : distanceB - distanceA;\n });\n return new Set(events) as Set<Geocoded>;\n };\n\n /**\n * Encodes latitude and longitude into a geohash string.\n * \n * @param {Coords} coords The latitude to encode.\n * @param {number} precision The desired precision of the geohash (length of the geohash string).\n * @returns {string} The encoded geohash string.\n */\n public static encodeGeohash(coords: Coords, precision: number = this.GEOHASH_PRECISION): string {\n const {lat: latitude, lon: longitude} = Geocoded.parseCoords(coords);\n let isEven = true;\n const latR: number[] = [-90.0, 90.0];\n const lonR: number[] = [-180.0, 180.0];\n let bit = 0;\n let ch = 0;\n let geohash = '';\n\n while (geohash.length < precision) {\n let mid;\n if (isEven) {\n mid = (lonR[0] + lonR[1]) / 2;\n if (longitude > mid) {\n ch |= (1 << (4 - bit));\n lonR[0] = mid;\n } else {\n lonR[1] = mid;\n }\n } else {\n mid = (latR[0] + latR[1]) / 2;\n if (latitude > mid) {\n ch |= (1 << (4 - bit));\n latR[0] = mid;\n } else {\n latR[1] = mid;\n }\n }\n isEven = !isEven;\n\n if (bit < 4) {\n bit++;\n } else {\n geohash += Geocoded.BASE32.charAt(ch);\n bit = 0;\n ch = 0;\n }\n }\n\n return geohash;\n }\n\n\n /**\n * Decodes a geohash string into its latitude and longitude representation.\n * \n * @param {string} hashString The geohash string to decode.\n * @returns An object containing the decoded latitude (`lat`) and longitude (`lon`).\n */\n public static decodeGeohash(hashString: string): DD {\n let isEven = true;\n const latR: number[] = [-90.0, 90.0];\n const lonR: number[] = [-180.0, 180.0];\n for (let i = 0; i < hashString.length; i++) {\n const char = hashString.charAt(i).toLowerCase();\n const charIndex = Geocoded.BASE32.indexOf(char);\n for (let j = 0; j < 5; j++) {\n const mask = 1 << (4 - j);\n if (isEven) {\n Geocoded.decodeIntRefine(lonR, charIndex, mask);\n } else {\n Geocoded.decodeIntRefine(latR, charIndex, mask);\n }\n isEven = !isEven;\n }\n }\n const lat = (latR[0] + latR[1]) / 2;\n const lon = (lonR[0] + lonR[1]) / 2;\n return { lat, lon } as DD;\n };\n\n /**\n * Checks if a string is a valid geohash.\n * \n * @param {string} str The string to check.\n * @returns {boolean} True if the string is a valid geohash, false otherwise.\n */\n public static isGeohash(str: string | undefined): boolean {\n if (!str || str === '') return false;\n str = str.toLowerCase();\n for (let i = 0; i < str.length; i++) {\n if (Geocoded.BASE32.indexOf(str.charAt(i)) === -1) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Calculates the great-circle distance between two points on the Earth's surface given their latitudes and longitudes.\n * This method is a helper for calculating distances using the Haversine formula.\n * \n * @param {Coords} coords1 The DD or geohash of the first point\n * @param {Coords} coords2 The DD or geohash of the second point.\n * @returns {number} The distance between the two points in kilometers.\n * @public\n * @static\n */\n public static distance(coords1: Coords, coords2: Coords): number {\n const {lat: lat1, lon: lon1} = Geocoded.parseCoords(coords1);\n const {lat: lat2, lon: lon2} = Geocoded.parseCoords(coords2);\n const radius: number = this.EARTH_RADIUS; //km\n const latDeg: number = Geocoded.toRadians(lat2 - lat1);\n const lonDeg: number = Geocoded.toRadians(lon2 - lon1);\n const angle: number =\n Math.sin(latDeg / 2) * Math.sin(latDeg / 2) +\n Math.cos(Geocoded.toRadians(lat1)) * \n Math.cos(Geocoded.toRadians(lat2)) * \n Math.sin(lonDeg / 2) * \n Math.sin(lonDeg / 2);\n return radius * 2 * Math.atan2(Math.sqrt(angle), Math.sqrt(1 - angle));\n }\n\n /**\n * Parses a Coords object, potentially a geohash, into a DD object\n * \n * @param {Coords} coords \n * @returns A DD object\n */\n public static parseCoords = (coords: Coords): DD => {\n return typeof coords === 'string'\n ? Geocoded.decodeGeohash(coords as Geohash)\n : coords as DD;\n };\n\n /**\n * Converts an angle from degrees to radians.\n * \n * @param {number} degrees The angle in degrees.\n * @returns {number} The angle in radians.\n * @public\n * @static\n */\n public static toRadians(degrees: number): number {\n return degrees*(Math.PI/180);\n }\n\n /**\n * Refines the search interval for a geohash decoding process based on a character from the geohash.\n * This method is part of the geohash decoding process, refining the latitude or longitude range.\n * \n * @param {number[]} range The current range (latitude or longitude) being refined.\n * @param {number} charIndex The index of the character in the base32 string.\n * @param {number} bitMask The bitmask to apply for refining the range.\n */\n public static decodeIntRefine(range: number[], charIndex: number, bitMask: number): void {\n const mid = (range[0] + range[1]) / 2;\n if ((charIndex & bitMask) > 0) {\n range[0] = mid;\n } else {\n range[1] = mid;\n }\n }\n \n /**\n * Removes tags by their value (the value at position 1 in the tag array).\n * \n * @param value The value to identify which tags to remove.\n */\n // protected removeTagByKeyValue(value: string, key?: string){\n // this.tags = this.tags.filter(tag => tag[1] !== value);\n // }\n\n protected removeTagByKeyValue(value: string, key?: string){\n const filterFn = \n (tag: string[]) => \n typeof key !== 'undefined'\n ? tag[0] !== key && tag[1] !== value\n : tag[1] !== value; \n\n this.tags = this.tags.filter(filterFn);\n }\n\n /**\n * Removes tags by marker (the value at last position in the tag array).\n * \n * @param key The key to identify which tags to remove.\n */\n protected removeTagByMarker(key: string, marker: string) {\n this.tags = this.tags.filter(tag => !(tag[0] === key && tag[tag.length-1] === marker));\n }\n\n /**\n * Helper method to find the first tag value by its marker.\n * \n * @param key The key to identify which tag value to find.\n * @return The first value associated with the key, or undefined if not found.\n */\n protected tagValueByMarker(key: string, marker: string): string | undefined {\n const tag = this.tags.find(tag => tag[0] === key && tag[tag.length-1] === marker);\n return tag ? tag[1] : undefined;\n }\n\n /**\n * Helper method to find the first tag value by its marker.\n * \n * @param key The key to identify which tag value to find.\n * @return The first value associated with the key, or undefined if not found.\n */\n protected tagValuesByMarker(key: string, marker: string): string[] | undefined {\n const tags = this.tags.filter(tag => tag[0] === key && tag[tag.length-1] === marker).map(tag => tag[1]).flat();\n return tags?.length ? tags : undefined;\n }\n /**\n * Retrieves tags that are indexed, identified by having their first element's length equal to 1.\n * \n * @returns An array of string[], filtered to include only indexed tags.\n * \n * @protected\n */\n protected get indexedTags(): string[][] {\n return this.tags.filter(tag => tag[0].length === 1);\n }\n\n /**\n * Adds a geo tags to the event's tags, updating or removing existing tags as necessary.\n * This method manages the insertion of geospatial information tags ('g' and 'G') into the event's tag array.\n * \n * @param {string} key The geospatial information key (e.g., \"lat\", \"lon\", \"countryCode\").\n * @param {string} value The value associated with the key.\n * @private\n */\n private _setGeoTag(key: string, value: string){\n this.removeTagByKeyValue(key);\n this.removeTagByMarker(\"g\", key);\n this.tags.push([\"G\", key]);\n this.tags.push([\"g\", value, key]);\n }\n\n /**\n * Removes geohash tags ('gh') from the event's tags, cleaning up the tag array from geohash (gh) tags.\n * Additionally, It filters out legacy 'g' tags that represent NIP-52 geohashes, maintaining other geospatial tags intact.\n * \n * @private\n */\n private _removeGeoHashes(): void {\n this.removeTagByKeyValue(\"gh\", \"G\");\n this.tags = this.tags.filter( tag => !(Geocoded.geohashFilterFn(tag)) ); \n }\n\n /**\n * Updates the geohashes and corresponding tags for this instance.\n * \n * This method is responsible for updating the internal tags to reflect a new set of geohashes. It first\n * removes any existing geohash-related tags, then adds a generic tag indicating the presence of geohash data\n * followed by individual tags for each geohash in the provided array.\n * \n * @param geohashes - An array of geohash strings to be updated in the tags.\n * \n * @private\n */\n private _updateGeohashTags(geohashes: Geohash[]) {\n this._removeGeoHashes();\n this.tags.push([\"G\", \"gh\"]);\n geohashes.forEach(gh => {\n this.tags.push([\"g\", gh, \"gh\"]);\n });\n }\n};\n\n\nconst formatGeocodes = (codes: string[]): IGeocode[] => {\n const results: IGeocode[] = []\n for(let code of codes) {\n const isNumber = !isNaN(Number(code)) && code !== ''\n results.push({\n code,\n type: 'ISO-3166-1',\n format: isNumber? 'numeric' : 'alpha',\n length: isNumber? undefined: (code as unknown as string).length\n })\n }\n return results;\n }"],"names":["Geocoded","_super","event","call","this","__extends","sortGeohashesFn","a","b","length","generateFilterableGeohash","fullGeohash","geohashes","Set","deref","String","i","n","substring","add","Array","from","Object","defineProperty","prototype","get","lat","lon","geohash","dd","set","coords","_a","decodeGeohash","encodeGeohash","value","isGeohash","sort","_updateGeohashTags","tags","filter","geohashFilterFn","map","tag","values","_removeGeoHashes","tagValuesByMarker","tagValueByMarker","_setGeoTag","geocodes","find","code","format","geocode","codes","toLowerCase","includes","formatGeocodes","_dd","geoObject","result","_geohashes","countryCode","countryName","regionCode","precision","GEOHASH_PRECISION","parseCoords","latitude","longitude","isEven","latR","lonR","bit","ch","mid","BASE32","charAt","hashString","char","charIndex","indexOf","j","mask","decodeIntRefine","str","distance","coords1","coords2","lat1","lon1","_b","lat2","lon2","radius","EARTH_RADIUS","latDeg","toRadians","lonDeg","angle","Math","sin","cos","atan2","sqrt","degrees","PI","range","bitMask","removeTagByKeyValue","key","removeTagByMarker","marker","undefined","flat","push","_this","forEach","gh","sortGeospatial","geoCodedEvents","asc","events","isNaN","isFinite","Error","distanceA","distanceB","NostrEvent","results","_i","codes_1","isNumber","Number","type"],"mappings":"kGAWA,IAAAA,EAAA,SAAAC,GASI,SAAAD,SAAYE,GACR,OAAAD,EAAKE,KAAAC,KAACF,IAAME,IAChB,CAihBJ,OA5hB8BC,EAAAL,SAAAC,GAuBnBD,SAAAM,gBAAP,SAAuBC,EAAWC,GAC9B,OAAOA,EAAEC,OAASF,EAAEE,MACxB,EAcOT,SAAAU,0BAAP,SAAiCC,GAG7B,IAFA,IAAMC,EAA0B,IAAIC,IAC9BC,EAAiBC,OAAOJ,GACrBK,EAAID,OAAOJ,GAAaF,OAAQO,EAAI,EAAGA,IAAK,CACjD,IAAMC,EAAIH,EAAMI,UAAU,EAAGF,GAC7BJ,EAAUO,IAAIF,EAClB,CACA,OAAOG,MAAMC,KAAKT,EACtB,EASAU,OAAAC,eAAIvB,SAAAwB,UAAA,KAAE,CAoBNC,IAAA,WACI,YAAwB,IAAbrB,KAAKsB,UAA2C,IAAbtB,KAAKuB,IACxC,CAAED,IAAKtB,KAAKsB,IAAKC,IAAKvB,KAAKuB,KAEX,iBAAjBvB,KAAKwB,SACXxB,KAAKyB,GAAKzB,KAAKwB,QACRxB,KAAKyB,SAFhB,CAKJ,EA7BAC,IAAA,SAAOC,GACH,GAAKA,EACL,GAAsB,iBAAXA,EAAqB,CAC5B3B,KAAKwB,QAAUG,EACT,IAAAC,EAAehC,SAASiC,cAAcF,GAApCL,EAAGM,EAAAN,IAAEC,QACbvB,KAAKsB,IAAMA,EACXtB,KAAKuB,IAAMA,CACf,KAAW,QAASI,GAAU,QAASA,IACnC3B,KAAKsB,IAAMK,EAAOL,IAClBtB,KAAKuB,IAAMI,EAAOJ,IAClBvB,KAAKwB,QAAU5B,SAASkC,cAAcH,GAE9C,kCAyBAT,OAAAC,eAAIvB,SAAAwB,UAAA,UAAO,CAyCXC,IAAA,iBACI,OAAqB,UAAdrB,KAAKQ,iBAAS,IAAAoB,OAAA,EAAAA,EAAG,EAC5B,EA3CAF,IAAA,SAAYK,GACR,GAAInC,SAASoC,UAAUD,GAAvB,CACA,IAAMvB,EACFZ,SACKU,0BAA0BK,OAAOoB,IACjCE,KAAMrC,SAASM,iBACxBF,KAAKkC,mBAAmB1B,EALO,CAMnC,kCAQAU,OAAAC,eAAIvB,SAAAwB,UAAA,YAAS,CAWbC,IAAA,WACI,IAAMc,EACFnC,KAAKmC,KACAC,OAAQxC,SAASyC,iBACjBC,KAAK,SAACC,GAAkB,OAAAA,EAAI,EAAJ,IACxBN,KAAMrC,SAASM,iBACxB,GAAIiC,EAAK9B,OACT,OAAO8B,CACX,EAnBAT,IAAA,SAAcc,GACVA,EAASA,EAAOJ,OAAOxC,SAASoC,WAChChC,KAAKyC,mBACLzC,KAAKkC,mBAAmBlB,MAAMC,KAAK,IAAIR,IAAY+B,IACvD,kCA0BAtB,OAAAC,eAAIvB,SAAAwB,UAAA,cAAW,CAAfC,IAAA,WACI,OAAOrB,KAAK0C,kBAAkB,IAAK,cACvC,kCAEAxB,OAAAC,eAAIvB,SAAAwB,UAAA,cAAW,CAAfC,IAAA,WACI,OAAOrB,KAAK2C,iBAAiB,IAAK,cACtC,EAEAjB,IAAA,SAAgBK,GACZ/B,KAAK4C,WAAW,cAAeb,EACnC,kCAEAb,OAAAC,eAAIvB,SAAAwB,UAAA,aAAU,CAAdC,IAAA,WACI,OAAOrB,KAAK2C,iBAAiB,IAAK,aACtC,EAEAjB,IAAA,SAAeK,GACX/B,KAAK4C,WAAW,aAAcb,EAClC,kCAEAb,OAAAC,eAAIvB,SAAAwB,UAAA,aAAU,CAIdC,IAAA,WACI,OAAOrB,KAAK2C,iBAAiB,IAAK,aACtC,EANAjB,IAAA,SAAeK,GACX/B,KAAK4C,WAAW,aAAcb,EAClC,kCAMAb,OAAAC,eAAIvB,SAAAwB,UAAA,gBAAa,CAKjBC,IAAA,WACI,OAAOrB,KAAK2C,iBAAiB,IAAK,gBACtC,EAPAjB,IAAA,SAAkBK,GAEd/B,KAAK4C,WAAW,gBAAiBb,EACrC,kCAMAb,OAAAC,eAAIvB,SAAAwB,UAAA,UAAO,CAAXC,IAAA,iBACI,OAA4F,QAArFO,EAAA5B,KAAK6C,SAASC,MAAM,SAACC,GAAmB,MAAgB,UAAhBA,EAAKC,QAAsC,IAAhBD,EAAK1C,MAAhC,WAA6C,IAAAuB,OAAA,EAAAA,EAAEmB,OAAQ,IAC1G,kCAEA7B,OAAAC,eAAIvB,SAAAwB,UAAA,gBAAa,CAAjBC,IAAA,WACI,OAAOrB,KAAKiD,OAChB,kCAEA/B,OAAAC,eAAIvB,SAAAwB,UAAA,gBAAa,CAAjBC,IAAA,iBACI,OAA4F,QAArFO,EAAA5B,KAAK6C,SAASC,MAAM,SAACC,GAAmB,MAAgB,UAAhBA,EAAKC,QAAsC,IAAhBD,EAAK1C,MAAhC,WAA6C,IAAAuB,OAAA,EAAAA,EAAEmB,OAAQ,IAC1G,kCAEA7B,OAAAC,eAAIvB,SAAAwB,UAAA,iBAAc,CAAlBC,IAAA,iBACI,OAAyE,QAAlEO,EAAA5B,KAAK6C,SAASC,MAAM,SAACC,GAAmB,MAAgB,YAAhBA,EAAKC,MAAL,WAA0B,IAAApB,OAAA,EAAAA,EAAEmB,OAAQ,IACvF,kCAEA7B,OAAAC,eAAIvB,SAAAwB,UAAA,WAAQ,CAAZC,IAAA,WACI,IAAM6B,EACFlD,KAAKmC,KACJC,QAAO,SAACG,GACL,MAAkB,MAAXA,EAAI,IAAcA,EAAI,GAAGY,cAAcC,SAAS,cAC3D,IACCd,KAAI,SAACC,GAAkB,OAAAA,EAAI,EAAJ,IAC5B,OAAIW,EAAM7C,OACHgD,eAAeH,GADG,EAE7B,kCAYAhC,OAAAC,eAAYvB,SAAAwB,UAAA,MAAG,CAKfC,IAAA,iBACI,OAAe,UAARrB,KAAKsD,WAAG,IAAA1B,OAAA,EAAAA,EAAEN,GACrB,EAPAI,IAAA,SAAgBK,GACR/B,KAAKsD,MAAKtD,KAAKsD,IAAM,CAAEhC,IAAK,EAAGC,IAAK,IACxCvB,KAAKsD,IAAIhC,IAAMS,CACnB,kCAMAb,OAAAC,eAAYvB,SAAAwB,UAAA,MAAG,CAKfC,IAAA,iBACI,OAAe,UAARrB,KAAKsD,WAAG,IAAA1B,OAAA,EAAAA,EAAEL,GACrB,EAPAG,IAAA,SAAgBK,GACR/B,KAAKsD,MAAKtD,KAAKsD,IAAM,CAAEhC,IAAK,EAAGC,IAAK,IACxCvB,KAAKsD,IAAI/B,IAAMQ,CACnB,kCAWOnC,SAAAwB,UAAAmC,UAAP,WACI,IAAMC,EAA8B,CAAA,EAQpC,OAPGxD,KAAKsB,MAAKkC,EAAOlC,IAAMtB,KAAKsB,KAC5BtB,KAAKuB,MAAKiC,EAAOjC,IAAMvB,KAAKuB,KAC5BvB,KAAKwB,UAASgC,EAAOhC,QAAUxB,KAAKwB,SACpCxB,KAAKQ,YAAWgD,EAAOC,WAAazD,KAAKQ,WACzCR,KAAK0D,cAAaF,EAAOE,YAAc1D,KAAK0D,aAC5C1D,KAAK2D,cAAaH,EAAOG,YAAc3D,KAAK2D,aAC5C3D,KAAK4D,aAAYJ,EAAOI,WAAa5D,KAAK4D,YACtCJ,CACX,EAqCc5D,SAAAkC,cAAd,SAA4BH,EAAgBkC,QAAA,IAAAA,IAAAA,EAAoB7D,KAAK8D,mBASjE,IARM,IAAAlC,EAAkChC,SAASmE,YAAYpC,GAAjDqC,EAAQpC,EAAAN,IAAO2C,QACvBC,GAAS,EACPC,EAAiB,EAAC,GAAO,IACzBC,EAAiB,EAAC,IAAQ,KAC5BC,EAAM,EACNC,EAAK,EACL9C,EAAU,GAEPA,EAAQnB,OAASwD,GAAW,CAC/B,IAAIU,SACAL,EAEID,GADJM,GAAOH,EAAK,GAAKA,EAAK,IAAM,IAExBE,GAAO,GAAM,EAAID,EACjBD,EAAK,GAAKG,GAEVH,EAAK,GAAKG,EAIVP,GADJO,GAAOJ,EAAK,GAAKA,EAAK,IAAM,IAExBG,GAAO,GAAM,EAAID,EACjBF,EAAK,GAAKI,GAEVJ,EAAK,GAAKI,EAGlBL,GAAUA,EAENG,EAAM,EACNA,KAEA7C,GAAW5B,SAAS4E,OAAOC,OAAOH,GAClCD,EAAM,EACNC,EAAK,EAEb,CAEA,OAAO9C,CACX,EASc5B,SAAAiC,cAAd,SAA4B6C,GAIxB,IAHA,IAAIR,GAAS,EACPC,EAAiB,EAAC,GAAO,IACzBC,EAAiB,EAAC,IAAQ,KACvBxD,EAAI,EAAGA,EAAI8D,EAAWrE,OAAQO,IAGnC,IAFA,IAAM+D,EAAOD,EAAWD,OAAO7D,GAAGuC,cAC5ByB,EAAYhF,SAAS4E,OAAOK,QAAQF,GACjCG,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACxB,IAAMC,EAAO,GAAM,EAAID,EACnBZ,EACAtE,SAASoF,gBAAgBZ,EAAMQ,EAAWG,GAE1CnF,SAASoF,gBAAgBb,EAAMS,EAAWG,GAE9Cb,GAAUA,CACd,CAIJ,MAAO,CAAE5C,KAFI6C,EAAK,GAAKA,EAAK,IAAM,EAEpB5C,KADD6C,EAAK,GAAKA,EAAK,IAAM,EAEtC,EAQcxE,SAAAoC,UAAd,SAAwBiD,GACpB,IAAKA,GAAe,KAARA,EAAY,OAAO,EAC/BA,EAAMA,EAAI9B,cACV,IAAK,IAAIvC,EAAI,EAAGA,EAAIqE,EAAI5E,OAAQO,IAC5B,QAAIhB,SAAS4E,OAAOK,QAAQI,EAAIR,OAAO7D,IACnC,OAAO,EAGf,OAAO,CACX,EAYchB,SAAAsF,SAAd,SAAuBC,EAAiBC,GAC9B,IAAAxD,EAAyBhC,SAASmE,YAAYoB,GAAxCE,EAAIzD,EAAAN,IAAOgE,QACjBC,EAAyB3F,SAASmE,YAAYqB,GAAxCI,EAAID,EAAAjE,IAAOmE,QACjBC,EAAiB1F,KAAK2F,aACtBC,EAAiBhG,SAASiG,UAAUL,EAAOH,GAC3CS,EAAiBlG,SAASiG,UAAUJ,EAAOH,GAC3CS,EACFC,KAAKC,IAAIL,EAAS,GAAKI,KAAKC,IAAIL,EAAS,GACzCI,KAAKE,IAAItG,SAASiG,UAAUR,IAC5BW,KAAKE,IAAItG,SAASiG,UAAUL,IAC5BQ,KAAKC,IAAIH,EAAS,GAClBE,KAAKC,IAAIH,EAAS,GACtB,OAAgB,EAATJ,EAAaM,KAAKG,MAAMH,KAAKI,KAAKL,GAAQC,KAAKI,KAAK,EAAIL,GACnE,EAsBcnG,SAAAiG,UAAd,SAAwBQ,GACpB,OAAOA,GAASL,KAAKM,GAAG,IAC5B,EAUc1G,SAAAoF,gBAAd,SAA8BuB,EAAiB3B,EAAmB4B,GAC9D,IAAMjC,GAAOgC,EAAM,GAAKA,EAAM,IAAM,GAC/B3B,EAAY4B,GAAW,EACxBD,EAAM,GAAKhC,EAEXgC,EAAM,GAAKhC,CAEnB,EAWU3E,SAAAwB,UAAAqF,oBAAV,SAA8B1E,EAAe2E,GAOzC1G,KAAKmC,KAAOnC,KAAKmC,KAAKC,QALlB,SAACG,GACG,YAAe,IAARmE,EACDnE,EAAI,KAAOmE,GAAOnE,EAAI,KAAOR,EAC7BQ,EAAI,KAAOR,CAFjB,GAKZ,EAOUnC,SAAAwB,UAAAuF,kBAAV,SAA4BD,EAAaE,GACrC5G,KAAKmC,KAAOnC,KAAKmC,KAAKC,QAAO,SAAAG,GAAO,QAAEA,EAAI,KAAOmE,GAAOnE,EAAIA,EAAIlC,OAAO,KAAOuG,EAA1C,GACxC,EAQUhH,SAAAwB,UAAAuB,iBAAV,SAA2B+D,EAAaE,GACpC,IAAMrE,EAAMvC,KAAKmC,KAAKW,MAAK,SAAAP,GAAO,OAAAA,EAAI,KAAOmE,GAAOnE,EAAIA,EAAIlC,OAAO,KAAOuG,CAAxC,IAClC,OAAOrE,EAAMA,EAAI,QAAKsE,CAC1B,EAQUjH,SAAAwB,UAAAsB,kBAAV,SAA4BgE,EAAaE,GACrC,IAAMzE,EAAOnC,KAAKmC,KAAKC,QAAO,SAAAG,GAAO,OAAAA,EAAI,KAAOmE,GAAOnE,EAAIA,EAAIlC,OAAO,KAAOuG,CAAxC,IAAgDtE,KAAI,SAAAC,GAAO,OAAAA,EAAI,EAAJ,IAAQuE,OACxG,OAAO3E,aAAI,EAAJA,EAAM9B,QAAS8B,OAAO0E,CACjC,EAQA3F,OAAAC,eAAcvB,SAAAwB,UAAA,cAAW,CAAzBC,IAAA,WACI,OAAOrB,KAAKmC,KAAKC,QAAO,SAAAG,GAAO,OAAkB,IAAlBA,EAAI,GAAGlC,MAAP,GACnC,kCAUQT,SAAAwB,UAAAwB,WAAR,SAAmB8D,EAAa3E,GAC5B/B,KAAKyG,oBAAoBC,GACzB1G,KAAK2G,kBAAkB,IAAKD,GAC5B1G,KAAKmC,KAAK4E,KAAK,CAAC,IAAKL,IACrB1G,KAAKmC,KAAK4E,KAAK,CAAC,IAAKhF,EAAO2E,GAChC,EAQQ9G,SAAAwB,UAAAqB,iBAAR,WACIzC,KAAKyG,oBAAoB,KAAM,KAC/BzG,KAAKmC,KAAOnC,KAAKmC,KAAKC,QAAQ,SAAAG,GAAO,OAAE3C,SAASyC,gBAAgBE,EAA3B,GACzC,EAaQ3C,SAAAwB,UAAAc,mBAAR,SAA2B1B,GAA3B,IAAAwG,EAAAhH,KACIA,KAAKyC,mBACLzC,KAAKmC,KAAK4E,KAAK,CAAC,IAAK,OACrBvG,EAAUyG,SAAQ,SAAAC,GACdF,EAAK7E,KAAK4E,KAAK,CAAC,IAAKG,EAAI,MAC7B,GACJ,EAzhBwBtH,SAAA+F,aAAuB,KACvB/F,SAAAkE,kBAA4B,GAC5BlE,SAAA4E,OAAiB,mCACjB5E,SAAAyC,gBAAkB,SAACE,GAAkB,MAAW,MAAXA,EAAI,KAA8B,IAAfA,EAAIlC,QAA6B,OAAbkC,EAAI,IAA8B,YAAbA,EAAI,GAAhE,EA4P/C3C,SAAAuH,eAAiB,SAC3BxF,EACAyF,EACAC,QAAA,IAAAA,IAAAA,GAAA,GAEA,IAAMC,EAAStG,MAAMC,KAAKmG,GACpBxF,EAAahC,SAASmE,YAAYpC,GAAjCL,EAAGM,EAAAN,IAAEC,QACZ,GAAIgG,MAAMjG,IAAQiG,MAAMhG,KAASiG,SAASlG,KAASkG,SAASjG,GACxD,MAAM,IAAIkG,MAAM,8DAOpB,OANAH,EAAOrF,MAAK,SAAC9B,EAAGC,GACZ,MAAID,aAAC,EAADA,EAAGmB,OAAQnB,aAAC,EAADA,EAAGoB,OAAQnB,aAAC,EAADA,EAAGkB,OAAQlB,eAAAA,EAAGmB,MAAK,OAAO,EACpD,IAAMmG,EAAY9H,SAASsF,SAAS,CAAC5D,IAAGA,EAAEC,IAAGA,GAAS,CAACD,IAAKnB,EAAEmB,IAAKC,IAAKpB,EAAEoB,MACpEoG,EAAY/H,SAASsF,SAAS,CAAC5D,IAAGA,EAAEC,IAAGA,GAAS,CAACD,IAAKlB,EAAEkB,IAAKC,IAAKnB,EAAEmB,MAC1E,OAAO8F,EAAMK,EAAYC,EAAYA,EAAYD,CACrD,IACO,IAAIjH,IAAI6G,EACnB,EAgIc1H,SAAAmE,YAAc,SAACpC,GACzB,MAAyB,iBAAXA,EACR/B,SAASiC,cAAcF,GACvBA,CACV,EAuIJ/B,SA5hBA,CAA8BgI,GA+hBxBvE,eAAiB,SAACH,GAEpB,IADA,IAAM2E,EAAsB,GACZC,EAAA,EAAAC,EAAA7E,EAAA4E,WAAAA,IAAO,CAAnB,IAAI/E,EAAIgF,EAAAD,GACJE,GAAYT,MAAMU,OAAOlF,KAAmB,KAATA,EACzC8E,EAAQd,KAAK,CACThE,KAAIA,EACJmF,KAAM,aACNlF,OAAQgF,EAAU,UAAY,QAC9B3H,OAAQ2H,OAAUnB,EAAY9D,EAA2B1C,QAE/D,CACA,OAAOwH,CACT"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
define(["exports","../_virtual/_tslib.amd","../managers/StateManager.amd","../managers/SyncStateManager.amd","./MonitorRegistration.amd","./PubkeyProfile.amd","./PubkeyRelays.amd","../utils/pfp.amd"],(function(e,t,i,n,r,o,a,s){"use strict";var u;e.RelayLiveness=void 0,(u=e.RelayLiveness||(e.RelayLiveness={})).Online="ONLINE",u.Offline="OFFLINE",u.Dead="DEAD";var l=function(){function Monitor(e){if(this.enabled=!1,this.priority=-1,this.reportedOnline=0,this.deadThreshold=2592e3,this._lastActive=-1,this._frequencyMutiplier=1.5,this._minFrequencySeconds=3600,this._maxFrequencySeconds=86400,10166!==e.kind)throw new Error("Monitor must be created from a 10166 event");this.addRegistration(e),this.state=new n.SyncStateManager(this.pubkey)}return Monitor.fromCache=function(e){var t,i,n;if(null==e?void 0:e.registration){var r=new Monitor(e.registration);return(null==e?void 0:e.profile)&&r.addProfile(e.profile),(null==e?void 0:e.relays)&&r.addRelays(e.relays),r.enabled=null!==(t=e.enabled)&&void 0!==t&&t,r.priority=null!==(i=null==e?void 0:e.priority)&&void 0!==i?i:0,r.lastActive=null!==(n=null==e?void 0:e.lastActive)&&void 0!==n?n:-1,r}console.warn("Monitor.fromCache() called without valid registration event")},Monitor.prototype.toCache=function(){var e,t,i;return{pubkey:this.pubkey,registration:null===(e=this.registration)||void 0===e?void 0:e.json,profile:null===(t=this.profile)||void 0===t?void 0:t.json,relays:null===(i=this._relays)||void 0===i?void 0:i.json,enabled:this.enabled,priority:this.priority,lastActive:this.lastActive}},Object.defineProperty(Monitor.prototype,"events",{get:function(){var e,t,i,n,r,o;return[null!==(t=null===(e=null==this?void 0:this.profile)||void 0===e?void 0:e.json)&&void 0!==t?t:void 0,null!==(n=null===(i=this.registration)||void 0===i?void 0:i.json)&&void 0!==n?n:void 0,null!==(o=null===(r=this._relays)||void 0===r?void 0:r.json)&&void 0!==o?o:void 0].filter(Boolean)},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"active",{get:function(){return!(this.lastActive<0)&&Math.round(Date.now()/1e3)-this.frequency<this.lastActive},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"registration",{get:function(){return this._registration},set:function(e){this._registration=e},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"profile",{get:function(){return this._profile},set:function(e){this._profile=e},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"relays",{get:function(){var e;return(null===(e=this._relays)||void 0===e?void 0:e.relays)||[]},set:function(e){this._relays=new a.PubkeyRelays(e)},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"name",{get:function(){var e;return(null===(e=this.profile)||void 0===e?void 0:e.name)||""},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"pfp",{get:function(){return this._pfp||(this._pfp=s.PFP.generate(this.pubkey)),this._pfp},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"photo",{get:function(){var e;return(null===(e=this.profile)||void 0===e?void 0:e.photo)||this.pfp},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"image",{get:function(){return this.photo},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"picture",{get:function(){return this.photo},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"banner",{get:function(){var e;return null===(e=this.profile)||void 0===e?void 0:e.banner},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"checks",{get:function(){var e;return(null===(e=this.registration)||void 0===e?void 0:e.checks)||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"lastActive",{get:function(){return this._lastActive},set:function(e){(!this.lastActive||e>this.lastActive)&&(this._lastActive=e,this.emitUpdate("lastActive",e))},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"pubkey",{get:function(){var e;return null===(e=this.registration)||void 0===e?void 0:e.pubkey},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"networks",{get:function(){var e;return(null===(e=this.registration)||void 0===e?void 0:e.networks)||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"eventId",{get:function(){var e;return null===(e=this.registration)||void 0===e?void 0:e.id},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"frequencyMultiplier",{get:function(){return this._frequencyMutiplier},set:function(e){this.emitUpdate(),this._frequencyMutiplier=e},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"frequency",{get:function(){var e,t=null===(e=this.registration)||void 0===e?void 0:e.frequency,i=(t&&t>0?t:43200)*this.frequencyMultiplier,n=Math.min(this._maxFrequencySeconds,Math.max(this._minFrequencySeconds,i));return Math.round(n)},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"geocode",{get:function(){var e;return(null===(e=this.registration)||void 0===e?void 0:e.geocode)||null},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"checkFilter",{get:function(){var e=Math.round(Date.now()/1e3);return{kinds:[30166],since:e-(null==this?void 0:this.frequency),until:e,authors:[this.pubkey]}},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"checkFilterSync",{get:function(){return{kinds:[30166],since:this.getLastSyncSince(30166)||Math.round(Date.now()/1e3)-(null==this?void 0:this.frequency),authors:[this.pubkey]}},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"checkFilterDead",{get:function(){return{kinds:[30166],since:0,until:this.isDeadBefore,authors:[this.pubkey]}},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"checkFilterOffline",{get:function(){return{kinds:[30166],since:this.isOfflineBetween[0],until:this.isOfflineBetween[1],authors:[this.pubkey]}},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"checkFilterNotOnline",{get:function(){return{kinds:[30166],since:0,until:this.isOnlineAfter-1,authors:[this.pubkey]}},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"isDeadBefore",{get:function(){return Math.round(Date.now()/1e3)-this.deadThreshold},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"isOnlineAfter",{get:function(){return Math.round(Date.now()/1e3)-this.frequency},enumerable:!1,configurable:!0}),Object.defineProperty(Monitor.prototype,"isOfflineBetween",{get:function(){return[this.isDeadBefore,this.isOnlineAfter]},enumerable:!1,configurable:!0}),Monitor.prototype.enable=function(){this.enabled=!0,this.emitUpdate()},Monitor.prototype.disable=function(){this.enabled=!1,this.emitUpdate()},Monitor.prototype.relayIs=function(t){return this.relayIsOnline(t)?e.RelayLiveness.Online:this.relayIsDead(t)?e.RelayLiveness.Dead:e.RelayLiveness.Offline},Monitor.prototype.relayIsOffline=function(e,t){void 0===t&&(t=!1);var i=e.created_at;return i<this.isOnlineAfter&&(!t||i>=this.isDeadBefore)},Monitor.prototype.relayIsOnline=function(e){return e.created_at>=this.isOnlineAfter},Monitor.prototype.relayIsDead=function(e){return e.created_at<this.isDeadBefore},Monitor.prototype.returnOnlineRelays=function(e){return t.__awaiter(this,void 0,void 0,(function(){return t.__generator(this,(function(t){return[2,e.filter(this.relayIsOnline.bind(this))]}))}))},Monitor.prototype.returnOfflineRelays=function(e){return t.__awaiter(this,void 0,void 0,(function(){var i=this;return t.__generator(this,(function(t){return[2,e.filter((function(e){return i.relayIsOffline(e)}))]}))}))},Monitor.prototype.returnDeadRelays=function(e){return t.__awaiter(this,void 0,void 0,(function(){return t.__generator(this,(function(t){return[2,e.filter(this.relayIsDead.bind(this))]}))}))},Monitor.prototype.relaysByLiveness=function(e){return t.__awaiter(this,void 0,void 0,(function(){var i,n=this;return t.__generator(this,(function(t){return i={online:[],offline:[],dead:[]},(null==this?void 0:this.frequency)?(e.forEach((function(e){n.relayIsOnline(e)?i.online.push(e):n.relayIsOffline(e)?i.offline.push(e):n.relayIsDead(e)&&i.dead.push(e)})),[2,i]):(i.online=e,[2,i])}))}))},Monitor.prototype.maybeUpdateLastActive=function(e){return 30166===e.kind&&(!!(null==e?void 0:e.created_at)&&(e.created_at>this.lastActive&&(this.lastActive=e.created_at,!0)))},Monitor.prototype.getLastSyncSince=function(e){return(null==this?void 0:this.state)||(this.state=new n.SyncStateManager(this.pubkey)),this.state.getLastSyncSince(e)},Monitor.prototype.getLastSyncUntil=function(e){return(null==this?void 0:this.state)||(this.state=new n.SyncStateManager(this.pubkey)),this.state.getLastSyncUntil(e)},Monitor.prototype.getLastSync=function(e){return(null==this?void 0:this.state)||(this.state=new n.SyncStateManager(this.pubkey)),this.state.getLastSync(e)},Monitor.prototype.setLastSync=function(e,t,i){(null==this?void 0:this.state)||(this.state=new n.SyncStateManager(this.pubkey)),this.state.setLastSync(e,t,i)},Monitor.prototype.addRegistration=function(e){this._registration=new r.MonitorRegistration(e),this.emitUpdate("registration",this.registration)},Monitor.prototype.addProfile=function(e){this._profile=new o.PubkeyProfile(e),this.emitUpdate("profile",this.profile)},Monitor.prototype.addRelays=function(e){this._relays=new a.PubkeyRelays(e),this.emitUpdate("relays",this.relays)},Monitor.prototype.emitUpdate=function(e,t){e&&t&&i.StateManager.emit("monitor:update:".concat(e),{pubkey:this.pubkey,value:t}),i.StateManager.emit("monitor:update",this)},Monitor}();e.Monitor=l}));
|
|
2
|
+
//# sourceMappingURL=Monitor.amd.js.map
|