@procedures/client 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/LICENSE +21 -0
- package/README.md +832 -2
- package/dist/.tsbuildinfo +1 -0
- package/dist/adapters/http/client/index.d.ts +11 -0
- package/dist/adapters/http/client/index.d.ts.map +1 -0
- package/dist/adapters/http/client/index.js +18 -0
- package/dist/adapters/http/client/index.js.map +1 -0
- package/dist/adapters/http/client/transport.d.ts +72 -0
- package/dist/adapters/http/client/transport.d.ts.map +1 -0
- package/dist/adapters/http/client/transport.js +282 -0
- package/dist/adapters/http/client/transport.js.map +1 -0
- package/dist/adapters/http/client/types.d.ts +27 -0
- package/dist/adapters/http/client/types.d.ts.map +1 -0
- package/dist/adapters/http/client/types.js +8 -0
- package/dist/adapters/http/client/types.js.map +1 -0
- package/dist/adapters/http/index.d.ts +7 -0
- package/dist/adapters/http/index.d.ts.map +1 -0
- package/dist/adapters/http/index.js +7 -0
- package/dist/adapters/http/index.js.map +1 -0
- package/dist/adapters/http/server/index.d.ts +9 -0
- package/dist/adapters/http/server/index.d.ts.map +1 -0
- package/dist/adapters/http/server/index.js +10 -0
- package/dist/adapters/http/server/index.js.map +1 -0
- package/dist/adapters/http/server/strategies.d.ts +39 -0
- package/dist/adapters/http/server/strategies.d.ts.map +1 -0
- package/dist/adapters/http/server/strategies.js +90 -0
- package/dist/adapters/http/server/strategies.js.map +1 -0
- package/dist/adapters/http/server/transport.d.ts +66 -0
- package/dist/adapters/http/server/transport.d.ts.map +1 -0
- package/dist/adapters/http/server/transport.js +562 -0
- package/dist/adapters/http/server/transport.js.map +1 -0
- package/dist/adapters/http/server/types.d.ts +71 -0
- package/dist/adapters/http/server/types.d.ts.map +1 -0
- package/dist/adapters/http/server/types.js +7 -0
- package/dist/adapters/http/server/types.js.map +1 -0
- package/dist/adapters/http/shared/constants.d.ts +95 -0
- package/dist/adapters/http/shared/constants.d.ts.map +1 -0
- package/dist/adapters/http/shared/constants.js +102 -0
- package/dist/adapters/http/shared/constants.js.map +1 -0
- package/dist/adapters/http/shared/errors.d.ts +78 -0
- package/dist/adapters/http/shared/errors.d.ts.map +1 -0
- package/dist/adapters/http/shared/errors.js +151 -0
- package/dist/adapters/http/shared/errors.js.map +1 -0
- package/dist/adapters/http/shared/headers.d.ts +122 -0
- package/dist/adapters/http/shared/headers.d.ts.map +1 -0
- package/dist/adapters/http/shared/headers.js +216 -0
- package/dist/adapters/http/shared/headers.js.map +1 -0
- package/dist/adapters/http/shared/index.d.ts +12 -0
- package/dist/adapters/http/shared/index.d.ts.map +1 -0
- package/dist/adapters/http/shared/index.js +17 -0
- package/dist/adapters/http/shared/index.js.map +1 -0
- package/dist/adapters/http/shared/status-codes.d.ts +92 -0
- package/dist/adapters/http/shared/status-codes.d.ts.map +1 -0
- package/dist/adapters/http/shared/status-codes.js +189 -0
- package/dist/adapters/http/shared/status-codes.js.map +1 -0
- package/dist/adapters/http/shared/strategies.d.ts +90 -0
- package/dist/adapters/http/shared/strategies.d.ts.map +1 -0
- package/dist/adapters/http/shared/strategies.js +180 -0
- package/dist/adapters/http/shared/strategies.js.map +1 -0
- package/dist/adapters/local/client/index.d.ts +8 -0
- package/dist/adapters/local/client/index.d.ts.map +1 -0
- package/dist/adapters/local/client/index.js +8 -0
- package/dist/adapters/local/client/index.js.map +1 -0
- package/dist/adapters/local/client/transport.d.ts +81 -0
- package/dist/adapters/local/client/transport.d.ts.map +1 -0
- package/dist/adapters/local/client/transport.js +172 -0
- package/dist/adapters/local/client/transport.js.map +1 -0
- package/dist/adapters/local/client/types.d.ts +39 -0
- package/dist/adapters/local/client/types.d.ts.map +1 -0
- package/dist/adapters/local/client/types.js +13 -0
- package/dist/adapters/local/client/types.js.map +1 -0
- package/dist/adapters/metadata.d.ts +10 -0
- package/dist/adapters/metadata.d.ts.map +1 -0
- package/dist/adapters/metadata.js +19 -0
- package/dist/adapters/metadata.js.map +1 -0
- package/dist/adapters/mock/client/builder.d.ts +35 -0
- package/dist/adapters/mock/client/builder.d.ts.map +1 -0
- package/dist/adapters/mock/client/builder.js +58 -0
- package/dist/adapters/mock/client/builder.js.map +1 -0
- package/dist/adapters/mock/client/index.d.ts +9 -0
- package/dist/adapters/mock/client/index.d.ts.map +1 -0
- package/dist/adapters/mock/client/index.js +10 -0
- package/dist/adapters/mock/client/index.js.map +1 -0
- package/dist/adapters/mock/client/transport.d.ts +149 -0
- package/dist/adapters/mock/client/transport.d.ts.map +1 -0
- package/dist/adapters/mock/client/transport.js +289 -0
- package/dist/adapters/mock/client/transport.js.map +1 -0
- package/dist/adapters/mock/client/types.d.ts +86 -0
- package/dist/adapters/mock/client/types.d.ts.map +1 -0
- package/dist/adapters/mock/client/types.js +7 -0
- package/dist/adapters/mock/client/types.js.map +1 -0
- package/dist/adapters/websocket/client/index.d.ts +9 -0
- package/dist/adapters/websocket/client/index.d.ts.map +1 -0
- package/dist/adapters/websocket/client/index.js +9 -0
- package/dist/adapters/websocket/client/index.js.map +1 -0
- package/dist/adapters/websocket/client/transport.d.ts +106 -0
- package/dist/adapters/websocket/client/transport.d.ts.map +1 -0
- package/dist/adapters/websocket/client/transport.js +647 -0
- package/dist/adapters/websocket/client/transport.js.map +1 -0
- package/dist/adapters/websocket/client/types.d.ts +192 -0
- package/dist/adapters/websocket/client/types.d.ts.map +1 -0
- package/dist/adapters/websocket/client/types.js +17 -0
- package/dist/adapters/websocket/client/types.js.map +1 -0
- package/dist/adapters/websocket/index.d.ts +8 -0
- package/dist/adapters/websocket/index.d.ts.map +1 -0
- package/dist/adapters/websocket/index.js +8 -0
- package/dist/adapters/websocket/index.js.map +1 -0
- package/dist/adapters/websocket/server/index.d.ts +8 -0
- package/dist/adapters/websocket/server/index.d.ts.map +1 -0
- package/dist/adapters/websocket/server/index.js +8 -0
- package/dist/adapters/websocket/server/index.js.map +1 -0
- package/dist/adapters/websocket/server/transport.d.ts +112 -0
- package/dist/adapters/websocket/server/transport.d.ts.map +1 -0
- package/dist/adapters/websocket/server/transport.js +619 -0
- package/dist/adapters/websocket/server/transport.js.map +1 -0
- package/dist/adapters/websocket/server/types.d.ts +140 -0
- package/dist/adapters/websocket/server/types.d.ts.map +1 -0
- package/dist/adapters/websocket/server/types.js +7 -0
- package/dist/adapters/websocket/server/types.js.map +1 -0
- package/dist/browser.d.ts +51 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +89 -0
- package/dist/browser.js.map +1 -0
- package/dist/client/batch-executor.d.ts +160 -0
- package/dist/client/batch-executor.d.ts.map +1 -0
- package/dist/client/batch-executor.js +397 -0
- package/dist/client/batch-executor.js.map +1 -0
- package/dist/client/call-types.d.ts +271 -0
- package/dist/client/call-types.d.ts.map +1 -0
- package/dist/client/call-types.js +208 -0
- package/dist/client/call-types.js.map +1 -0
- package/dist/client/client.d.ts +525 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +1011 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/consumption.d.ts +191 -0
- package/dist/client/consumption.d.ts.map +1 -0
- package/dist/client/consumption.js +98 -0
- package/dist/client/consumption.js.map +1 -0
- package/dist/client/context.d.ts +116 -0
- package/dist/client/context.d.ts.map +1 -0
- package/dist/client/context.js +111 -0
- package/dist/client/context.js.map +1 -0
- package/dist/client/errors/codes.d.ts +71 -0
- package/dist/client/errors/codes.d.ts.map +1 -0
- package/dist/client/errors/codes.js +81 -0
- package/dist/client/errors/codes.js.map +1 -0
- package/dist/client/errors/factory.d.ts +102 -0
- package/dist/client/errors/factory.d.ts.map +1 -0
- package/dist/client/errors/factory.js +210 -0
- package/dist/client/errors/factory.js.map +1 -0
- package/dist/client/errors/http-errors.d.ts +47 -0
- package/dist/client/errors/http-errors.d.ts.map +1 -0
- package/dist/client/errors/http-errors.js +548 -0
- package/dist/client/errors/http-errors.js.map +1 -0
- package/dist/client/errors/http-status.d.ts +73 -0
- package/dist/client/errors/http-status.d.ts.map +1 -0
- package/dist/client/errors/http-status.js +79 -0
- package/dist/client/errors/http-status.js.map +1 -0
- package/dist/client/errors/index.d.ts +36 -0
- package/dist/client/errors/index.d.ts.map +1 -0
- package/dist/client/errors/index.js +40 -0
- package/dist/client/errors/index.js.map +1 -0
- package/dist/client/errors/registry.d.ts +38 -0
- package/dist/client/errors/registry.d.ts.map +1 -0
- package/dist/client/errors/registry.js +535 -0
- package/dist/client/errors/registry.js.map +1 -0
- package/dist/client/errors/types.d.ts +112 -0
- package/dist/client/errors/types.d.ts.map +1 -0
- package/dist/client/errors/types.js +45 -0
- package/dist/client/errors/types.js.map +1 -0
- package/dist/client/index.d.ts +44 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +36 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/middleware/auth.d.ts +90 -0
- package/dist/client/middleware/auth.d.ts.map +1 -0
- package/dist/client/middleware/auth.js +98 -0
- package/dist/client/middleware/auth.js.map +1 -0
- package/dist/client/middleware/batching.d.ts +102 -0
- package/dist/client/middleware/batching.d.ts.map +1 -0
- package/dist/client/middleware/batching.js +245 -0
- package/dist/client/middleware/batching.js.map +1 -0
- package/dist/client/middleware/cache.d.ts +124 -0
- package/dist/client/middleware/cache.d.ts.map +1 -0
- package/dist/client/middleware/cache.js +208 -0
- package/dist/client/middleware/cache.js.map +1 -0
- package/dist/client/middleware/circuit-breaker.d.ts +113 -0
- package/dist/client/middleware/circuit-breaker.d.ts.map +1 -0
- package/dist/client/middleware/circuit-breaker.js +236 -0
- package/dist/client/middleware/circuit-breaker.js.map +1 -0
- package/dist/client/middleware/contexts.d.ts +199 -0
- package/dist/client/middleware/contexts.d.ts.map +1 -0
- package/dist/client/middleware/contexts.js +74 -0
- package/dist/client/middleware/contexts.js.map +1 -0
- package/dist/client/middleware/items.d.ts +37 -0
- package/dist/client/middleware/items.d.ts.map +1 -0
- package/dist/client/middleware/items.js +100 -0
- package/dist/client/middleware/items.js.map +1 -0
- package/dist/client/middleware/lru.d.ts +32 -0
- package/dist/client/middleware/lru.d.ts.map +1 -0
- package/dist/client/middleware/lru.js +62 -0
- package/dist/client/middleware/lru.js.map +1 -0
- package/dist/client/middleware/pagination.d.ts +114 -0
- package/dist/client/middleware/pagination.d.ts.map +1 -0
- package/dist/client/middleware/pagination.js +148 -0
- package/dist/client/middleware/pagination.js.map +1 -0
- package/dist/client/middleware/rate-limit.d.ts +105 -0
- package/dist/client/middleware/rate-limit.d.ts.map +1 -0
- package/dist/client/middleware/rate-limit.js +222 -0
- package/dist/client/middleware/rate-limit.js.map +1 -0
- package/dist/client/middleware/retry.d.ts +100 -0
- package/dist/client/middleware/retry.d.ts.map +1 -0
- package/dist/client/middleware/retry.js +150 -0
- package/dist/client/middleware/retry.js.map +1 -0
- package/dist/client/middleware/timeout.d.ts +91 -0
- package/dist/client/middleware/timeout.d.ts.map +1 -0
- package/dist/client/middleware/timeout.js +253 -0
- package/dist/client/middleware/timeout.js.map +1 -0
- package/dist/client/middleware/tracing.d.ts +118 -0
- package/dist/client/middleware/tracing.d.ts.map +1 -0
- package/dist/client/middleware/tracing.js +152 -0
- package/dist/client/middleware/tracing.js.map +1 -0
- package/dist/client/route-resolver.d.ts +181 -0
- package/dist/client/route-resolver.d.ts.map +1 -0
- package/dist/client/route-resolver.js +300 -0
- package/dist/client/route-resolver.js.map +1 -0
- package/dist/client/typed-method.d.ts +29 -0
- package/dist/client/typed-method.d.ts.map +1 -0
- package/dist/client/typed-method.js +36 -0
- package/dist/client/typed-method.js.map +1 -0
- package/dist/client/typed.d.ts +102 -0
- package/dist/client/typed.d.ts.map +1 -0
- package/dist/client/typed.js +52 -0
- package/dist/client/typed.js.map +1 -0
- package/dist/client/types.d.ts +305 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +26 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/validation/index.d.ts +34 -0
- package/dist/client/validation/index.d.ts.map +1 -0
- package/dist/client/validation/index.js +36 -0
- package/dist/client/validation/index.js.map +1 -0
- package/dist/client/validation/middleware.d.ts +82 -0
- package/dist/client/validation/middleware.d.ts.map +1 -0
- package/dist/client/validation/middleware.js +138 -0
- package/dist/client/validation/middleware.js.map +1 -0
- package/dist/client/validation/types.d.ts +118 -0
- package/dist/client/validation/types.d.ts.map +1 -0
- package/dist/client/validation/types.js +59 -0
- package/dist/client/validation/types.js.map +1 -0
- package/dist/collections/async/async-queue.d.ts +144 -0
- package/dist/collections/async/async-queue.d.ts.map +1 -0
- package/dist/collections/async/async-queue.js +347 -0
- package/dist/collections/async/async-queue.js.map +1 -0
- package/dist/collections/async/channels.d.ts +188 -0
- package/dist/collections/async/channels.d.ts.map +1 -0
- package/dist/collections/async/channels.js +312 -0
- package/dist/collections/async/channels.js.map +1 -0
- package/dist/collections/behaviors/bounded.d.ts +79 -0
- package/dist/collections/behaviors/bounded.d.ts.map +1 -0
- package/dist/collections/behaviors/bounded.js +384 -0
- package/dist/collections/behaviors/bounded.js.map +1 -0
- package/dist/collections/behaviors/evented.d.ts +154 -0
- package/dist/collections/behaviors/evented.d.ts.map +1 -0
- package/dist/collections/behaviors/evented.js +299 -0
- package/dist/collections/behaviors/evented.js.map +1 -0
- package/dist/collections/behaviors/lru.d.ts +84 -0
- package/dist/collections/behaviors/lru.d.ts.map +1 -0
- package/dist/collections/behaviors/lru.js +330 -0
- package/dist/collections/behaviors/lru.js.map +1 -0
- package/dist/collections/behaviors/readonly.d.ts +73 -0
- package/dist/collections/behaviors/readonly.d.ts.map +1 -0
- package/dist/collections/behaviors/readonly.js +158 -0
- package/dist/collections/behaviors/readonly.js.map +1 -0
- package/dist/collections/behaviors/safe.d.ts +163 -0
- package/dist/collections/behaviors/safe.d.ts.map +1 -0
- package/dist/collections/behaviors/safe.js +172 -0
- package/dist/collections/behaviors/safe.js.map +1 -0
- package/dist/collections/behaviors/synchronized.d.ts +88 -0
- package/dist/collections/behaviors/synchronized.d.ts.map +1 -0
- package/dist/collections/behaviors/synchronized.js +294 -0
- package/dist/collections/behaviors/synchronized.js.map +1 -0
- package/dist/collections/behaviors/ttl.d.ts +118 -0
- package/dist/collections/behaviors/ttl.d.ts.map +1 -0
- package/dist/collections/behaviors/ttl.js +338 -0
- package/dist/collections/behaviors/ttl.js.map +1 -0
- package/dist/collections/core/effects.d.ts +176 -0
- package/dist/collections/core/effects.d.ts.map +1 -0
- package/dist/collections/core/effects.js +180 -0
- package/dist/collections/core/effects.js.map +1 -0
- package/dist/collections/core/events.d.ts +192 -0
- package/dist/collections/core/events.d.ts.map +1 -0
- package/dist/collections/core/events.js +291 -0
- package/dist/collections/core/events.js.map +1 -0
- package/dist/collections/core/middleware.d.ts +231 -0
- package/dist/collections/core/middleware.d.ts.map +1 -0
- package/dist/collections/core/middleware.js +161 -0
- package/dist/collections/core/middleware.js.map +1 -0
- package/dist/collections/core/policies.d.ts +220 -0
- package/dist/collections/core/policies.d.ts.map +1 -0
- package/dist/collections/core/policies.js +48 -0
- package/dist/collections/core/policies.js.map +1 -0
- package/dist/collections/core/traits.d.ts +142 -0
- package/dist/collections/core/traits.d.ts.map +1 -0
- package/dist/collections/core/traits.js +8 -0
- package/dist/collections/core/traits.js.map +1 -0
- package/dist/collections/examples.d.ts +13 -0
- package/dist/collections/examples.d.ts.map +1 -0
- package/dist/collections/examples.js +302 -0
- package/dist/collections/examples.js.map +1 -0
- package/dist/collections/fx/collectors.d.ts +190 -0
- package/dist/collections/fx/collectors.d.ts.map +1 -0
- package/dist/collections/fx/collectors.js +369 -0
- package/dist/collections/fx/collectors.js.map +1 -0
- package/dist/collections/fx/iter.d.ts +166 -0
- package/dist/collections/fx/iter.d.ts.map +1 -0
- package/dist/collections/fx/iter.js +421 -0
- package/dist/collections/fx/iter.js.map +1 -0
- package/dist/collections/impl/array-deque.d.ts +107 -0
- package/dist/collections/impl/array-deque.d.ts.map +1 -0
- package/dist/collections/impl/array-deque.js +381 -0
- package/dist/collections/impl/array-deque.js.map +1 -0
- package/dist/collections/impl/array-list.d.ts +101 -0
- package/dist/collections/impl/array-list.d.ts.map +1 -0
- package/dist/collections/impl/array-list.js +387 -0
- package/dist/collections/impl/array-list.js.map +1 -0
- package/dist/collections/impl/hash-map.d.ts +141 -0
- package/dist/collections/impl/hash-map.d.ts.map +1 -0
- package/dist/collections/impl/hash-map.js +450 -0
- package/dist/collections/impl/hash-map.js.map +1 -0
- package/dist/collections/impl/hash-set.d.ts +125 -0
- package/dist/collections/impl/hash-set.d.ts.map +1 -0
- package/dist/collections/impl/hash-set.js +264 -0
- package/dist/collections/impl/hash-set.js.map +1 -0
- package/dist/collections/impl/linked-hash-map.d.ts +141 -0
- package/dist/collections/impl/linked-hash-map.d.ts.map +1 -0
- package/dist/collections/impl/linked-hash-map.js +472 -0
- package/dist/collections/impl/linked-hash-map.js.map +1 -0
- package/dist/collections/impl/linked-list.d.ts +109 -0
- package/dist/collections/impl/linked-list.d.ts.map +1 -0
- package/dist/collections/impl/linked-list.js +491 -0
- package/dist/collections/impl/linked-list.js.map +1 -0
- package/dist/collections/impl/priority-queue.d.ts +134 -0
- package/dist/collections/impl/priority-queue.d.ts.map +1 -0
- package/dist/collections/impl/priority-queue.js +336 -0
- package/dist/collections/impl/priority-queue.js.map +1 -0
- package/dist/collections/impl/tree-map.d.ts +146 -0
- package/dist/collections/impl/tree-map.d.ts.map +1 -0
- package/dist/collections/impl/tree-map.js +781 -0
- package/dist/collections/impl/tree-map.js.map +1 -0
- package/dist/collections/impl/tree-set.d.ts +112 -0
- package/dist/collections/impl/tree-set.d.ts.map +1 -0
- package/dist/collections/impl/tree-set.js +374 -0
- package/dist/collections/impl/tree-set.js.map +1 -0
- package/dist/collections/index.d.ts +105 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/index.js +135 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/collections/interfaces/collection.d.ts +119 -0
- package/dist/collections/interfaces/collection.d.ts.map +1 -0
- package/dist/collections/interfaces/collection.js +8 -0
- package/dist/collections/interfaces/collection.js.map +1 -0
- package/dist/collections/interfaces/list.d.ts +247 -0
- package/dist/collections/interfaces/list.d.ts.map +1 -0
- package/dist/collections/interfaces/list.js +8 -0
- package/dist/collections/interfaces/list.js.map +1 -0
- package/dist/collections/interfaces/map.d.ts +344 -0
- package/dist/collections/interfaces/map.d.ts.map +1 -0
- package/dist/collections/interfaces/map.js +8 -0
- package/dist/collections/interfaces/map.js.map +1 -0
- package/dist/collections/interfaces/queue.d.ts +304 -0
- package/dist/collections/interfaces/queue.d.ts.map +1 -0
- package/dist/collections/interfaces/queue.js +8 -0
- package/dist/collections/interfaces/queue.js.map +1 -0
- package/dist/collections/interfaces/set.d.ts +137 -0
- package/dist/collections/interfaces/set.d.ts.map +1 -0
- package/dist/collections/interfaces/set.js +8 -0
- package/dist/collections/interfaces/set.js.map +1 -0
- package/dist/collections/storage/api.d.ts +109 -0
- package/dist/collections/storage/api.d.ts.map +1 -0
- package/dist/collections/storage/api.js +182 -0
- package/dist/collections/storage/api.js.map +1 -0
- package/dist/collections/storage/hybrid.d.ts +164 -0
- package/dist/collections/storage/hybrid.d.ts.map +1 -0
- package/dist/collections/storage/hybrid.js +416 -0
- package/dist/collections/storage/hybrid.js.map +1 -0
- package/dist/collections/storage/index.d.ts +16 -0
- package/dist/collections/storage/index.d.ts.map +1 -0
- package/dist/collections/storage/index.js +13 -0
- package/dist/collections/storage/index.js.map +1 -0
- package/dist/collections/storage/interface.d.ts +141 -0
- package/dist/collections/storage/interface.d.ts.map +1 -0
- package/dist/collections/storage/interface.js +23 -0
- package/dist/collections/storage/interface.js.map +1 -0
- package/dist/collections/storage/memory.d.ts +68 -0
- package/dist/collections/storage/memory.d.ts.map +1 -0
- package/dist/collections/storage/memory.js +154 -0
- package/dist/collections/storage/memory.js.map +1 -0
- package/dist/collections/utils/defaults.d.ts +135 -0
- package/dist/collections/utils/defaults.d.ts.map +1 -0
- package/dist/collections/utils/defaults.js +322 -0
- package/dist/collections/utils/defaults.js.map +1 -0
- package/dist/collections/utils/factories.d.ts +144 -0
- package/dist/collections/utils/factories.d.ts.map +1 -0
- package/dist/collections/utils/factories.js +293 -0
- package/dist/collections/utils/factories.js.map +1 -0
- package/dist/collections/utils/helpers.d.ts +137 -0
- package/dist/collections/utils/helpers.d.ts.map +1 -0
- package/dist/collections/utils/helpers.js +221 -0
- package/dist/collections/utils/helpers.js.map +1 -0
- package/dist/collections.d.ts +12 -0
- package/dist/collections.d.ts.map +1 -0
- package/dist/collections.js +10 -0
- package/dist/collections.js.map +1 -0
- package/dist/components/define.d.ts +134 -0
- package/dist/components/define.d.ts.map +1 -0
- package/dist/components/define.js +486 -0
- package/dist/components/define.js.map +1 -0
- package/dist/components/index.d.ts +39 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +38 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/types.d.ts +264 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/types.js +46 -0
- package/dist/components/types.js.map +1 -0
- package/dist/events/bus.d.ts +193 -0
- package/dist/events/bus.d.ts.map +1 -0
- package/dist/events/bus.js +511 -0
- package/dist/events/bus.js.map +1 -0
- package/dist/events/index.d.ts +34 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +36 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +242 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +8 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/compose.d.ts +88 -0
- package/dist/middleware/compose.d.ts.map +1 -0
- package/dist/middleware/compose.js +108 -0
- package/dist/middleware/compose.js.map +1 -0
- package/dist/middleware/index.d.ts +12 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +11 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/types.d.ts +112 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +14 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/procedures/capability.d.ts +111 -0
- package/dist/procedures/capability.d.ts.map +1 -0
- package/dist/procedures/capability.js +269 -0
- package/dist/procedures/capability.js.map +1 -0
- package/dist/procedures/cli/announce.d.ts +67 -0
- package/dist/procedures/cli/announce.d.ts.map +1 -0
- package/dist/procedures/cli/announce.js +392 -0
- package/dist/procedures/cli/announce.js.map +1 -0
- package/dist/procedures/cli/discover.d.ts +66 -0
- package/dist/procedures/cli/discover.d.ts.map +1 -0
- package/dist/procedures/cli/discover.js +310 -0
- package/dist/procedures/cli/discover.js.map +1 -0
- package/dist/procedures/cli/index.d.ts +13 -0
- package/dist/procedures/cli/index.d.ts.map +1 -0
- package/dist/procedures/cli/index.js +203 -0
- package/dist/procedures/cli/index.js.map +1 -0
- package/dist/procedures/cli/init.d.ts +17 -0
- package/dist/procedures/cli/init.d.ts.map +1 -0
- package/dist/procedures/cli/init.js +336 -0
- package/dist/procedures/cli/init.js.map +1 -0
- package/dist/procedures/collection/index.d.ts +10 -0
- package/dist/procedures/collection/index.d.ts.map +1 -0
- package/dist/procedures/collection/index.js +10 -0
- package/dist/procedures/collection/index.js.map +1 -0
- package/dist/procedures/collection/procedures.d.ts +21 -0
- package/dist/procedures/collection/procedures.d.ts.map +1 -0
- package/dist/procedures/collection/procedures.js +210 -0
- package/dist/procedures/collection/procedures.js.map +1 -0
- package/dist/procedures/collection/schemas.d.ts +131 -0
- package/dist/procedures/collection/schemas.d.ts.map +1 -0
- package/dist/procedures/collection/schemas.js +422 -0
- package/dist/procedures/collection/schemas.js.map +1 -0
- package/dist/procedures/collection/storage.d.ts +53 -0
- package/dist/procedures/collection/storage.d.ts.map +1 -0
- package/dist/procedures/collection/storage.js +2 -0
- package/dist/procedures/collection/storage.js.map +1 -0
- package/dist/procedures/core/array.d.ts +276 -0
- package/dist/procedures/core/array.d.ts.map +1 -0
- package/dist/procedures/core/array.js +639 -0
- package/dist/procedures/core/array.js.map +1 -0
- package/dist/procedures/core/comparison.d.ts +85 -0
- package/dist/procedures/core/comparison.d.ts.map +1 -0
- package/dist/procedures/core/comparison.js +158 -0
- package/dist/procedures/core/comparison.js.map +1 -0
- package/dist/procedures/core/index.d.ts +261 -0
- package/dist/procedures/core/index.d.ts.map +1 -0
- package/dist/procedures/core/index.js +588 -0
- package/dist/procedures/core/index.js.map +1 -0
- package/dist/procedures/core/logic.d.ts +144 -0
- package/dist/procedures/core/logic.d.ts.map +1 -0
- package/dist/procedures/core/logic.js +169 -0
- package/dist/procedures/core/logic.js.map +1 -0
- package/dist/procedures/core/math.d.ts +139 -0
- package/dist/procedures/core/math.d.ts.map +1 -0
- package/dist/procedures/core/math.js +275 -0
- package/dist/procedures/core/math.js.map +1 -0
- package/dist/procedures/core/meta.d.ts +111 -0
- package/dist/procedures/core/meta.d.ts.map +1 -0
- package/dist/procedures/core/meta.js +244 -0
- package/dist/procedures/core/meta.js.map +1 -0
- package/dist/procedures/core/object.d.ts +109 -0
- package/dist/procedures/core/object.d.ts.map +1 -0
- package/dist/procedures/core/object.js +272 -0
- package/dist/procedures/core/object.js.map +1 -0
- package/dist/procedures/core/operands.d.ts +51 -0
- package/dist/procedures/core/operands.d.ts.map +1 -0
- package/dist/procedures/core/operands.js +90 -0
- package/dist/procedures/core/operands.js.map +1 -0
- package/dist/procedures/core/outputs.d.ts +28 -0
- package/dist/procedures/core/outputs.d.ts.map +1 -0
- package/dist/procedures/core/outputs.js +42 -0
- package/dist/procedures/core/outputs.js.map +1 -0
- package/dist/procedures/core/results.d.ts +202 -0
- package/dist/procedures/core/results.d.ts.map +1 -0
- package/dist/procedures/core/results.js +106 -0
- package/dist/procedures/core/results.js.map +1 -0
- package/dist/procedures/core/schemas.d.ts +48 -0
- package/dist/procedures/core/schemas.d.ts.map +1 -0
- package/dist/procedures/core/schemas.js +102 -0
- package/dist/procedures/core/schemas.js.map +1 -0
- package/dist/procedures/core/string.d.ts +138 -0
- package/dist/procedures/core/string.d.ts.map +1 -0
- package/dist/procedures/core/string.js +270 -0
- package/dist/procedures/core/string.js.map +1 -0
- package/dist/procedures/core/type.d.ts +101 -0
- package/dist/procedures/core/type.d.ts.map +1 -0
- package/dist/procedures/core/type.js +210 -0
- package/dist/procedures/core/type.js.map +1 -0
- package/dist/procedures/define-procedure.d.ts +187 -0
- package/dist/procedures/define-procedure.d.ts.map +1 -0
- package/dist/procedures/define-procedure.js +357 -0
- package/dist/procedures/define-procedure.js.map +1 -0
- package/dist/procedures/define.d.ts +228 -0
- package/dist/procedures/define.d.ts.map +1 -0
- package/dist/procedures/define.js +300 -0
- package/dist/procedures/define.js.map +1 -0
- package/dist/procedures/discovery.d.ts +57 -0
- package/dist/procedures/discovery.d.ts.map +1 -0
- package/dist/procedures/discovery.js +68 -0
- package/dist/procedures/discovery.js.map +1 -0
- package/dist/procedures/effects.d.ts +15 -0
- package/dist/procedures/effects.d.ts.map +1 -0
- package/dist/procedures/effects.js +18 -0
- package/dist/procedures/effects.js.map +1 -0
- package/dist/procedures/index.d.ts +27 -0
- package/dist/procedures/index.d.ts.map +1 -0
- package/dist/procedures/index.js +54 -0
- package/dist/procedures/index.js.map +1 -0
- package/dist/procedures/interceptors.d.ts +82 -0
- package/dist/procedures/interceptors.d.ts.map +1 -0
- package/dist/procedures/interceptors.js +194 -0
- package/dist/procedures/interceptors.js.map +1 -0
- package/dist/procedures/invoke.d.ts +155 -0
- package/dist/procedures/invoke.d.ts.map +1 -0
- package/dist/procedures/invoke.js +343 -0
- package/dist/procedures/invoke.js.map +1 -0
- package/dist/procedures/module.d.ts +54 -0
- package/dist/procedures/module.d.ts.map +1 -0
- package/dist/procedures/module.js +103 -0
- package/dist/procedures/module.js.map +1 -0
- package/dist/procedures/policy.d.ts +70 -0
- package/dist/procedures/policy.d.ts.map +1 -0
- package/dist/procedures/policy.js +138 -0
- package/dist/procedures/policy.js.map +1 -0
- package/dist/procedures/ref.d.ts +606 -0
- package/dist/procedures/ref.d.ts.map +1 -0
- package/dist/procedures/ref.js +895 -0
- package/dist/procedures/ref.js.map +1 -0
- package/dist/procedures/registry.d.ts +208 -0
- package/dist/procedures/registry.d.ts.map +1 -0
- package/dist/procedures/registry.js +402 -0
- package/dist/procedures/registry.js.map +1 -0
- package/dist/procedures/schema.d.ts +126 -0
- package/dist/procedures/schema.d.ts.map +1 -0
- package/dist/procedures/schema.js +108 -0
- package/dist/procedures/schema.js.map +1 -0
- package/dist/procedures/storage/adapter.d.ts +148 -0
- package/dist/procedures/storage/adapter.d.ts.map +1 -0
- package/dist/procedures/storage/adapter.js +214 -0
- package/dist/procedures/storage/adapter.js.map +1 -0
- package/dist/procedures/storage/api.d.ts +125 -0
- package/dist/procedures/storage/api.d.ts.map +1 -0
- package/dist/procedures/storage/api.js +220 -0
- package/dist/procedures/storage/api.js.map +1 -0
- package/dist/procedures/storage/factory.d.ts +134 -0
- package/dist/procedures/storage/factory.d.ts.map +1 -0
- package/dist/procedures/storage/factory.js +166 -0
- package/dist/procedures/storage/factory.js.map +1 -0
- package/dist/procedures/storage/hybrid.d.ts +193 -0
- package/dist/procedures/storage/hybrid.d.ts.map +1 -0
- package/dist/procedures/storage/hybrid.js +519 -0
- package/dist/procedures/storage/hybrid.js.map +1 -0
- package/dist/procedures/storage/index.d.ts +17 -0
- package/dist/procedures/storage/index.d.ts.map +1 -0
- package/dist/procedures/storage/index.js +17 -0
- package/dist/procedures/storage/index.js.map +1 -0
- package/dist/procedures/storage/procedures.d.ts +39 -0
- package/dist/procedures/storage/procedures.d.ts.map +1 -0
- package/dist/procedures/storage/procedures.js +261 -0
- package/dist/procedures/storage/procedures.js.map +1 -0
- package/dist/procedures/storage/serialization.d.ts +123 -0
- package/dist/procedures/storage/serialization.d.ts.map +1 -0
- package/dist/procedures/storage/serialization.js +216 -0
- package/dist/procedures/storage/serialization.js.map +1 -0
- package/dist/procedures/storage/synced-registry.d.ts +246 -0
- package/dist/procedures/storage/synced-registry.d.ts.map +1 -0
- package/dist/procedures/storage/synced-registry.js +575 -0
- package/dist/procedures/storage/synced-registry.js.map +1 -0
- package/dist/procedures/storage/types.d.ts +130 -0
- package/dist/procedures/storage/types.d.ts.map +1 -0
- package/dist/procedures/storage/types.js +8 -0
- package/dist/procedures/storage/types.js.map +1 -0
- package/dist/procedures/types.d.ts +468 -0
- package/dist/procedures/types.d.ts.map +1 -0
- package/dist/procedures/types.js +23 -0
- package/dist/procedures/types.js.map +1 -0
- package/dist/register.d.ts +8 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +9 -0
- package/dist/register.js.map +1 -0
- package/dist/server/browser-guard.d.ts +69 -0
- package/dist/server/browser-guard.d.ts.map +1 -0
- package/dist/server/browser-guard.js +103 -0
- package/dist/server/browser-guard.js.map +1 -0
- package/dist/server/host-policy.d.ts +81 -0
- package/dist/server/host-policy.d.ts.map +1 -0
- package/dist/server/host-policy.js +104 -0
- package/dist/server/host-policy.js.map +1 -0
- package/dist/server/index.d.ts +46 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +42 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/method.d.ts +24 -0
- package/dist/server/method.d.ts.map +1 -0
- package/dist/server/method.js +29 -0
- package/dist/server/method.js.map +1 -0
- package/dist/server/procedure-server.d.ts +226 -0
- package/dist/server/procedure-server.d.ts.map +1 -0
- package/dist/server/procedure-server.js +348 -0
- package/dist/server/procedure-server.js.map +1 -0
- package/dist/server/server.d.ts +161 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +279 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/types.d.ts +106 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +29 -0
- package/dist/server/types.js.map +1 -0
- package/package.json +117 -3
- package/src/adapters/http/client/index.ts +51 -0
- package/src/adapters/http/client/transport.ts +338 -0
- package/src/adapters/http/client/types.ts +33 -0
- package/src/adapters/http/index.ts +7 -0
- package/src/adapters/http/server/index.ts +14 -0
- package/src/adapters/http/server/strategies.ts +105 -0
- package/src/adapters/http/server/transport.ts +623 -0
- package/src/adapters/http/server/types.ts +81 -0
- package/src/adapters/http/shared/constants.ts +108 -0
- package/src/adapters/http/shared/errors.ts +199 -0
- package/src/adapters/http/shared/headers.ts +291 -0
- package/src/adapters/http/shared/index.ts +21 -0
- package/src/adapters/http/shared/status-codes.ts +212 -0
- package/src/adapters/http/shared/strategies.ts +255 -0
- package/src/adapters/local/client/index.ts +11 -0
- package/src/adapters/local/client/transport.ts +188 -0
- package/src/adapters/local/client/types.ts +50 -0
- package/src/adapters/metadata.ts +17 -0
- package/src/adapters/mock/client/builder.ts +64 -0
- package/src/adapters/mock/client/index.ts +19 -0
- package/src/adapters/mock/client/transport.ts +352 -0
- package/src/adapters/mock/client/types.ts +99 -0
- package/src/adapters/websocket/client/index.ts +18 -0
- package/src/adapters/websocket/client/transport.ts +733 -0
- package/src/adapters/websocket/client/types.ts +235 -0
- package/src/adapters/websocket/index.ts +24 -0
- package/src/adapters/websocket/server/index.ts +18 -0
- package/src/adapters/websocket/server/transport.ts +705 -0
- package/src/adapters/websocket/server/types.ts +169 -0
- package/src/browser.ts +401 -0
- package/src/client/batch-executor.ts +514 -0
- package/src/client/call-types.ts +491 -0
- package/src/client/client.ts +1229 -0
- package/src/client/consumption.ts +288 -0
- package/src/client/context.ts +228 -0
- package/src/client/errors/README.md +279 -0
- package/src/client/errors/codes.ts +88 -0
- package/src/client/errors/factory.ts +263 -0
- package/src/client/errors/http-errors.ts +601 -0
- package/src/client/errors/http-status.ts +82 -0
- package/src/client/errors/index.ts +72 -0
- package/src/client/errors/registry.ts +595 -0
- package/src/client/errors/types.ts +139 -0
- package/src/client/index.ts +124 -0
- package/src/client/middleware/auth.ts +132 -0
- package/src/client/middleware/cache.ts +316 -0
- package/src/client/middleware/circuit-breaker.ts +339 -0
- package/src/client/middleware/contexts.ts +319 -0
- package/src/client/middleware/items.ts +114 -0
- package/src/client/middleware/lru.ts +66 -0
- package/src/client/middleware/pagination.ts +213 -0
- package/src/client/middleware/rate-limit.ts +315 -0
- package/src/client/middleware/retry.ts +236 -0
- package/src/client/middleware/timeout.ts +308 -0
- package/src/client/middleware/tracing.ts +191 -0
- package/src/client/route-resolver.ts +407 -0
- package/src/client/typed-method.ts +65 -0
- package/src/client/typed.ts +140 -0
- package/src/client/types.ts +372 -0
- package/src/client/validation/index.ts +56 -0
- package/src/client/validation/middleware.ts +254 -0
- package/src/client/validation/types.ts +162 -0
- package/src/events/bus.ts +594 -0
- package/src/events/index.ts +67 -0
- package/src/events/types.ts +263 -0
- package/src/index.ts +33 -0
- package/src/middleware/compose.ts +159 -0
- package/src/middleware/index.ts +28 -0
- package/src/middleware/types.ts +166 -0
- package/src/procedures/capability.ts +333 -0
- package/src/procedures/cli/announce.ts +470 -0
- package/src/procedures/cli/discover.ts +390 -0
- package/src/procedures/cli/index.ts +231 -0
- package/src/procedures/cli/init.ts +370 -0
- package/src/procedures/collection/index.ts +51 -0
- package/src/procedures/collection/procedures.ts +257 -0
- package/src/procedures/collection/schemas.ts +550 -0
- package/src/procedures/collection/storage.ts +53 -0
- package/src/procedures/core/array.ts +1026 -0
- package/src/procedures/core/comparison.ts +265 -0
- package/src/procedures/core/index.ts +898 -0
- package/src/procedures/core/logic.ts +225 -0
- package/src/procedures/core/math.ts +471 -0
- package/src/procedures/core/meta.ts +389 -0
- package/src/procedures/core/object.ts +429 -0
- package/src/procedures/core/operands.ts +119 -0
- package/src/procedures/core/outputs.ts +48 -0
- package/src/procedures/core/results.ts +296 -0
- package/src/procedures/core/schemas.ts +123 -0
- package/src/procedures/core/string.ts +460 -0
- package/src/procedures/core/type.ts +346 -0
- package/src/procedures/define-procedure.ts +532 -0
- package/src/procedures/define.ts +387 -0
- package/src/procedures/discovery.ts +76 -0
- package/src/procedures/effects.ts +24 -0
- package/src/procedures/index.ts +239 -0
- package/src/procedures/interceptors.ts +273 -0
- package/src/procedures/invoke.ts +506 -0
- package/src/procedures/module.ts +117 -0
- package/src/procedures/policy.ts +171 -0
- package/src/procedures/ref.ts +1305 -0
- package/src/procedures/registry.ts +473 -0
- package/src/procedures/schema.ts +225 -0
- package/src/procedures/types.ts +596 -0
- package/src/register.ts +10 -0
- package/src/server/browser-guard.ts +147 -0
- package/src/server/host-policy.ts +163 -0
- package/src/server/index.ts +70 -0
- package/src/server/method.ts +33 -0
- package/src/server/procedure-server.ts +459 -0
- package/src/server/server.ts +364 -0
- package/src/server/types.ts +147 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set interfaces that mirror Java's Set interface hierarchy.
|
|
3
|
+
*
|
|
4
|
+
* Sets are collections that contain no duplicate elements.
|
|
5
|
+
* They provide efficient membership testing.
|
|
6
|
+
*/
|
|
7
|
+
import type { Collection, ReadonlyCollection } from "./collection.js";
|
|
8
|
+
import type { Compare } from "../core/traits.js";
|
|
9
|
+
/**
|
|
10
|
+
* ReadonlySet<T> - Readonly set with no duplicates.
|
|
11
|
+
*/
|
|
12
|
+
export interface ReadonlySet<T> extends ReadonlyCollection<T> {
|
|
13
|
+
/**
|
|
14
|
+
* Returns true if this set contains the specified element.
|
|
15
|
+
*/
|
|
16
|
+
contains(element: T): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if this set contains all elements in the specified collection.
|
|
19
|
+
*/
|
|
20
|
+
containsAll(other: Iterable<T>): boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Set<T> - Mutable set with no duplicates.
|
|
24
|
+
*
|
|
25
|
+
* Mirrors java.util.Set.
|
|
26
|
+
* Elements are unique based on the set's equality function.
|
|
27
|
+
*/
|
|
28
|
+
export interface Set<T> extends ReadonlySet<T>, Collection<T> {
|
|
29
|
+
/**
|
|
30
|
+
* Adds the specified element to this set if it is not already present.
|
|
31
|
+
*
|
|
32
|
+
* @returns true if this set did not already contain the element
|
|
33
|
+
*/
|
|
34
|
+
add(element: T): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Removes the specified element from this set if it is present.
|
|
37
|
+
*
|
|
38
|
+
* @returns true if this set contained the element
|
|
39
|
+
*/
|
|
40
|
+
remove(element: T): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Adds all elements in the specified collection to this set.
|
|
43
|
+
* This is a union operation.
|
|
44
|
+
*
|
|
45
|
+
* @returns true if this set changed
|
|
46
|
+
*/
|
|
47
|
+
addAll(other: Iterable<T>): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Removes from this set all of its elements that are contained in the specified collection.
|
|
50
|
+
* This is a difference operation.
|
|
51
|
+
*
|
|
52
|
+
* @returns true if this set changed
|
|
53
|
+
*/
|
|
54
|
+
removeAll(other: Iterable<T>): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Retains only the elements in this set that are contained in the specified collection.
|
|
57
|
+
* This is an intersection operation.
|
|
58
|
+
*
|
|
59
|
+
* @returns true if this set changed
|
|
60
|
+
*/
|
|
61
|
+
retainAll(other: Iterable<T>): boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* SortedSet<T> - Set that maintains elements in sorted order.
|
|
65
|
+
*
|
|
66
|
+
* Mirrors java.util.SortedSet.
|
|
67
|
+
*/
|
|
68
|
+
export interface SortedSet<T> extends Set<T> {
|
|
69
|
+
/**
|
|
70
|
+
* Returns the comparator used to order elements in this set.
|
|
71
|
+
*/
|
|
72
|
+
readonly comparator: Compare<T>;
|
|
73
|
+
/**
|
|
74
|
+
* Returns the first (lowest) element in this set.
|
|
75
|
+
*
|
|
76
|
+
* @throws Error if set is empty
|
|
77
|
+
*/
|
|
78
|
+
first(): T;
|
|
79
|
+
/**
|
|
80
|
+
* Returns the last (highest) element in this set.
|
|
81
|
+
*
|
|
82
|
+
* @throws Error if set is empty
|
|
83
|
+
*/
|
|
84
|
+
last(): T;
|
|
85
|
+
/**
|
|
86
|
+
* Returns a view of the portion of this set whose elements are strictly less than toElement.
|
|
87
|
+
*/
|
|
88
|
+
headSet(toElement: T): SortedSet<T>;
|
|
89
|
+
/**
|
|
90
|
+
* Returns a view of the portion of this set whose elements are greater than or equal to fromElement.
|
|
91
|
+
*/
|
|
92
|
+
tailSet(fromElement: T): SortedSet<T>;
|
|
93
|
+
/**
|
|
94
|
+
* Returns a view of the portion of this set whose elements range from fromElement to toElement.
|
|
95
|
+
*/
|
|
96
|
+
subSet(fromElement: T, toElement: T): SortedSet<T>;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* NavigableSet<T> - Extended sorted set with navigation methods.
|
|
100
|
+
*
|
|
101
|
+
* Mirrors java.util.NavigableSet.
|
|
102
|
+
*/
|
|
103
|
+
export interface NavigableSet<T> extends SortedSet<T> {
|
|
104
|
+
/**
|
|
105
|
+
* Returns the greatest element less than or equal to the given element, or undefined if none.
|
|
106
|
+
*/
|
|
107
|
+
floor(element: T): T | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Returns the least element greater than or equal to the given element, or undefined if none.
|
|
110
|
+
*/
|
|
111
|
+
ceiling(element: T): T | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Returns the greatest element strictly less than the given element, or undefined if none.
|
|
114
|
+
*/
|
|
115
|
+
lower(element: T): T | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Returns the least element strictly greater than the given element, or undefined if none.
|
|
118
|
+
*/
|
|
119
|
+
higher(element: T): T | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* Retrieves and removes the first (lowest) element, or returns undefined if empty.
|
|
122
|
+
*/
|
|
123
|
+
pollFirst(): T | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* Retrieves and removes the last (highest) element, or returns undefined if empty.
|
|
126
|
+
*/
|
|
127
|
+
pollLast(): T | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Returns a reverse order view of this set.
|
|
130
|
+
*/
|
|
131
|
+
descendingSet(): NavigableSet<T>;
|
|
132
|
+
/**
|
|
133
|
+
* Returns a reverse order iterator over the elements in this set.
|
|
134
|
+
*/
|
|
135
|
+
descendingIterator(): Iterator<T>;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/collections/interfaces/set.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAE9B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3D;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAEzB;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAE5B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAEvC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhC;;;;OAIG;IACH,KAAK,IAAI,CAAC,CAAC;IAEX;;;;OAIG;IACH,IAAI,IAAI,CAAC,CAAC;IAEV;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEpC;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAElC;;OAEG;IACH,SAAS,IAAI,CAAC,GAAG,SAAS,CAAC;IAE3B;;OAEG;IACH,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC;IAE1B;;OAEG;IACH,aAAa,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IAEjC;;OAEG;IACH,kBAAkB,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/collections/interfaces/set.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Storage Implementation
|
|
3
|
+
*
|
|
4
|
+
* Remote storage backed by universal client.
|
|
5
|
+
* Enables collections to be persisted on a server.
|
|
6
|
+
*
|
|
7
|
+
* This is the KEY integration between Collections and Universal Client!
|
|
8
|
+
*/
|
|
9
|
+
import type { CollectionStorage, StorageMetadata } from "./interface.js";
|
|
10
|
+
import type { Client } from "../../client/client.js";
|
|
11
|
+
/**
|
|
12
|
+
* API storage configuration options.
|
|
13
|
+
*/
|
|
14
|
+
export interface ApiStorageOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Service name for RPC calls
|
|
17
|
+
* @example "users", "orders", "products"
|
|
18
|
+
*/
|
|
19
|
+
service: string;
|
|
20
|
+
/**
|
|
21
|
+
* Optional API version
|
|
22
|
+
* @example "v1", "v2"
|
|
23
|
+
*/
|
|
24
|
+
version?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Custom operation names (override defaults)
|
|
27
|
+
*/
|
|
28
|
+
operations?: {
|
|
29
|
+
get?: string;
|
|
30
|
+
getAll?: string;
|
|
31
|
+
find?: string;
|
|
32
|
+
has?: string;
|
|
33
|
+
size?: string;
|
|
34
|
+
set?: string;
|
|
35
|
+
delete?: string;
|
|
36
|
+
clear?: string;
|
|
37
|
+
setBatch?: string;
|
|
38
|
+
deleteBatch?: string;
|
|
39
|
+
getBatch?: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Request timeout in milliseconds
|
|
43
|
+
* @default 30000 (30 seconds)
|
|
44
|
+
*/
|
|
45
|
+
timeout?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Enable automatic retry on failures
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
retry?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* AbortSignal for cancelling requests
|
|
53
|
+
*/
|
|
54
|
+
signal?: AbortSignal;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* API storage backed by universal client.
|
|
58
|
+
*
|
|
59
|
+
* Maps collection operations to RPC calls:
|
|
60
|
+
* - get(id) → client.call({ service, operation: "get" }, { id })
|
|
61
|
+
* - set(id, value) → client.call({ service, operation: "set" }, { id, value })
|
|
62
|
+
* - etc.
|
|
63
|
+
*
|
|
64
|
+
* Features:
|
|
65
|
+
* - Remote persistence via any transport (HTTP, WebSocket, gRPC)
|
|
66
|
+
* - Automatic retry and timeout (via client middleware)
|
|
67
|
+
* - Type-safe with full TypeScript inference
|
|
68
|
+
* - Async operations (all return Promises)
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* // Create API storage
|
|
73
|
+
* const client = new Client({
|
|
74
|
+
* transport: new HttpTransport({ baseUrl: "https://api.example.com" })
|
|
75
|
+
* });
|
|
76
|
+
*
|
|
77
|
+
* const storage = new ApiStorage(client, { service: "users" });
|
|
78
|
+
*
|
|
79
|
+
* // Use with collection
|
|
80
|
+
* const users = createCollection(storage);
|
|
81
|
+
*
|
|
82
|
+
* // Operations are automatically sent to server
|
|
83
|
+
* await users.set("123", { name: "John" });
|
|
84
|
+
* const user = await users.get("123"); // Fetched from server
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare class ApiStorage<T> implements CollectionStorage<T> {
|
|
88
|
+
private client;
|
|
89
|
+
private options;
|
|
90
|
+
constructor(client: Client, options: ApiStorageOptions);
|
|
91
|
+
get(id: string): Promise<T | undefined>;
|
|
92
|
+
getAll(): Promise<T[]>;
|
|
93
|
+
find(predicate: (item: T) => boolean): Promise<T[]>;
|
|
94
|
+
has(id: string): Promise<boolean>;
|
|
95
|
+
size(): Promise<number>;
|
|
96
|
+
set(id: string, value: T): Promise<void>;
|
|
97
|
+
delete(id: string): Promise<boolean>;
|
|
98
|
+
clear(): Promise<void>;
|
|
99
|
+
setBatch(items: Array<[string, T]>): Promise<void>;
|
|
100
|
+
deleteBatch(ids: string[]): Promise<number>;
|
|
101
|
+
getBatch(ids: string[]): Promise<Map<string, T>>;
|
|
102
|
+
close(): Promise<void>;
|
|
103
|
+
getMetadata(): Promise<StorageMetadata>;
|
|
104
|
+
/**
|
|
105
|
+
* Make RPC call via universal client.
|
|
106
|
+
*/
|
|
107
|
+
private call;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/collections/storage/api.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,iBAAiB,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAOb;gBAEU,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;IA6BhD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOvC,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAKtB,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAanD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IASvB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAkBhD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAkB7C;;OAEG;YACW,IAAI;CAkCnB"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Storage Implementation
|
|
3
|
+
*
|
|
4
|
+
* Remote storage backed by universal client.
|
|
5
|
+
* Enables collections to be persisted on a server.
|
|
6
|
+
*
|
|
7
|
+
* This is the KEY integration between Collections and Universal Client!
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* API storage backed by universal client.
|
|
11
|
+
*
|
|
12
|
+
* Maps collection operations to RPC calls:
|
|
13
|
+
* - get(id) → client.call({ service, operation: "get" }, { id })
|
|
14
|
+
* - set(id, value) → client.call({ service, operation: "set" }, { id, value })
|
|
15
|
+
* - etc.
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - Remote persistence via any transport (HTTP, WebSocket, gRPC)
|
|
19
|
+
* - Automatic retry and timeout (via client middleware)
|
|
20
|
+
* - Type-safe with full TypeScript inference
|
|
21
|
+
* - Async operations (all return Promises)
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Create API storage
|
|
26
|
+
* const client = new Client({
|
|
27
|
+
* transport: new HttpTransport({ baseUrl: "https://api.example.com" })
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* const storage = new ApiStorage(client, { service: "users" });
|
|
31
|
+
*
|
|
32
|
+
* // Use with collection
|
|
33
|
+
* const users = createCollection(storage);
|
|
34
|
+
*
|
|
35
|
+
* // Operations are automatically sent to server
|
|
36
|
+
* await users.set("123", { name: "John" });
|
|
37
|
+
* const user = await users.get("123"); // Fetched from server
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export class ApiStorage {
|
|
41
|
+
client;
|
|
42
|
+
options;
|
|
43
|
+
constructor(client, options) {
|
|
44
|
+
this.client = client;
|
|
45
|
+
this.options = {
|
|
46
|
+
service: options.service,
|
|
47
|
+
...(options.version !== undefined && { version: options.version }),
|
|
48
|
+
operations: {
|
|
49
|
+
get: "get",
|
|
50
|
+
getAll: "getAll",
|
|
51
|
+
find: "find",
|
|
52
|
+
has: "has",
|
|
53
|
+
size: "size",
|
|
54
|
+
set: "set",
|
|
55
|
+
delete: "delete",
|
|
56
|
+
clear: "clear",
|
|
57
|
+
setBatch: "setBatch",
|
|
58
|
+
deleteBatch: "deleteBatch",
|
|
59
|
+
getBatch: "getBatch",
|
|
60
|
+
...options.operations,
|
|
61
|
+
},
|
|
62
|
+
timeout: options.timeout ?? 30000,
|
|
63
|
+
retry: options.retry ?? true,
|
|
64
|
+
...(options.signal !== undefined && { signal: options.signal }),
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//
|
|
68
|
+
// ═══ Read Operations ═══
|
|
69
|
+
//
|
|
70
|
+
async get(id) {
|
|
71
|
+
const response = await this.call("get", {
|
|
72
|
+
id,
|
|
73
|
+
});
|
|
74
|
+
return response.data ?? undefined;
|
|
75
|
+
}
|
|
76
|
+
async getAll() {
|
|
77
|
+
const response = await this.call("getAll", {});
|
|
78
|
+
return response.data;
|
|
79
|
+
}
|
|
80
|
+
async find(predicate) {
|
|
81
|
+
// Note: Predicate functions can't be serialized over network
|
|
82
|
+
// Options:
|
|
83
|
+
// 1. Fetch all and filter client-side (simple but inefficient)
|
|
84
|
+
// 2. Use query language (e.g., MongoDB query, GraphQL)
|
|
85
|
+
// 3. Pre-defined server-side filters
|
|
86
|
+
// For now: Fetch all and filter client-side
|
|
87
|
+
// TODO: Consider adding query language support
|
|
88
|
+
const all = await this.getAll();
|
|
89
|
+
return all.filter(predicate);
|
|
90
|
+
}
|
|
91
|
+
async has(id) {
|
|
92
|
+
const response = await this.call("has", {
|
|
93
|
+
id,
|
|
94
|
+
});
|
|
95
|
+
return response.data;
|
|
96
|
+
}
|
|
97
|
+
async size() {
|
|
98
|
+
const response = await this.call("size", {});
|
|
99
|
+
return response.data;
|
|
100
|
+
}
|
|
101
|
+
//
|
|
102
|
+
// ═══ Write Operations ═══
|
|
103
|
+
//
|
|
104
|
+
async set(id, value) {
|
|
105
|
+
await this.call("set", {
|
|
106
|
+
id,
|
|
107
|
+
value,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
async delete(id) {
|
|
111
|
+
const response = await this.call("delete", { id });
|
|
112
|
+
return response.data;
|
|
113
|
+
}
|
|
114
|
+
async clear() {
|
|
115
|
+
await this.call("clear", {});
|
|
116
|
+
}
|
|
117
|
+
//
|
|
118
|
+
// ═══ Bulk Operations ═══
|
|
119
|
+
//
|
|
120
|
+
async setBatch(items) {
|
|
121
|
+
await this.call("setBatch", { items });
|
|
122
|
+
}
|
|
123
|
+
async deleteBatch(ids) {
|
|
124
|
+
const response = await this.call("deleteBatch", { ids });
|
|
125
|
+
return response.data;
|
|
126
|
+
}
|
|
127
|
+
async getBatch(ids) {
|
|
128
|
+
const response = await this.call("getBatch", { ids });
|
|
129
|
+
// Convert object to Map
|
|
130
|
+
const result = new Map();
|
|
131
|
+
for (const [id, value] of Object.entries(response.data)) {
|
|
132
|
+
result.set(id, value);
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
//
|
|
137
|
+
// ═══ Lifecycle & Metadata ═══
|
|
138
|
+
//
|
|
139
|
+
async close() {
|
|
140
|
+
// Close underlying client transport
|
|
141
|
+
await this.client.close();
|
|
142
|
+
}
|
|
143
|
+
async getMetadata() {
|
|
144
|
+
const storageSize = await this.size();
|
|
145
|
+
return {
|
|
146
|
+
type: "api",
|
|
147
|
+
size: storageSize,
|
|
148
|
+
stats: {
|
|
149
|
+
service: this.options.service,
|
|
150
|
+
version: this.options.version,
|
|
151
|
+
timeout: this.options.timeout,
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
//
|
|
156
|
+
// ═══ Internal Helpers ═══
|
|
157
|
+
//
|
|
158
|
+
/**
|
|
159
|
+
* Make RPC call via universal client.
|
|
160
|
+
*/
|
|
161
|
+
async call(operation, payload) {
|
|
162
|
+
const operationName = this.options.operations?.[operation] ?? operation;
|
|
163
|
+
const method = {
|
|
164
|
+
service: this.options.service,
|
|
165
|
+
operation: operationName,
|
|
166
|
+
...(this.options.version !== undefined && { version: this.options.version }),
|
|
167
|
+
};
|
|
168
|
+
const metadata = {};
|
|
169
|
+
if (this.options.timeout) {
|
|
170
|
+
metadata["timeout"] = {
|
|
171
|
+
overall: this.options.timeout,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
if (this.options.signal) {
|
|
175
|
+
metadata["signal"] = this.options.signal;
|
|
176
|
+
}
|
|
177
|
+
// Call via universal client (uses configured transport and middleware)
|
|
178
|
+
const response = await this.client.call(method, payload, metadata);
|
|
179
|
+
return response;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/collections/storage/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid Storage Implementation
|
|
3
|
+
*
|
|
4
|
+
* Combines local cache (InMemoryStorage) with remote persistence (ApiStorage).
|
|
5
|
+
* Provides fast local reads with remote backup and sync.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Local cache for fast reads
|
|
9
|
+
* - Write-through or write-back strategies
|
|
10
|
+
* - Automatic sync on initialization
|
|
11
|
+
* - Conflict resolution
|
|
12
|
+
* - Offline operation queue
|
|
13
|
+
*/
|
|
14
|
+
import type { CollectionStorage, StorageMetadata } from "./interface.js";
|
|
15
|
+
import type { ApiStorage } from "./api.js";
|
|
16
|
+
/**
|
|
17
|
+
* Conflict resolution strategy.
|
|
18
|
+
*/
|
|
19
|
+
export type ConflictResolution = "local" | "remote" | "merge" | "error";
|
|
20
|
+
/**
|
|
21
|
+
* Write strategy for hybrid storage.
|
|
22
|
+
*/
|
|
23
|
+
export type WriteStrategy = "write-through" | "write-back";
|
|
24
|
+
/**
|
|
25
|
+
* Hybrid storage configuration options.
|
|
26
|
+
*/
|
|
27
|
+
export interface HybridStorageOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Write strategy
|
|
30
|
+
* - write-through: Write to both local and remote immediately
|
|
31
|
+
* - write-back: Write to local immediately, sync to remote later
|
|
32
|
+
* @default "write-through"
|
|
33
|
+
*/
|
|
34
|
+
writeStrategy?: WriteStrategy;
|
|
35
|
+
/**
|
|
36
|
+
* Conflict resolution strategy
|
|
37
|
+
* - local: Local changes win
|
|
38
|
+
* - remote: Remote changes win
|
|
39
|
+
* - merge: Custom merge function (requires mergeFn)
|
|
40
|
+
* - error: Throw error on conflict
|
|
41
|
+
* @default "remote"
|
|
42
|
+
*/
|
|
43
|
+
conflictResolution?: ConflictResolution;
|
|
44
|
+
/**
|
|
45
|
+
* Custom merge function for conflict resolution.
|
|
46
|
+
* Only used when conflictResolution is "merge".
|
|
47
|
+
*
|
|
48
|
+
* @param local - Local version
|
|
49
|
+
* @param remote - Remote version
|
|
50
|
+
* @returns Merged value
|
|
51
|
+
*/
|
|
52
|
+
mergeFn?: <T>(local: T, remote: T) => T;
|
|
53
|
+
/**
|
|
54
|
+
* Automatic sync interval in milliseconds (for write-back mode).
|
|
55
|
+
* Set to 0 to disable automatic sync.
|
|
56
|
+
* @default 5000 (5 seconds)
|
|
57
|
+
*/
|
|
58
|
+
syncInterval?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Initialize by syncing from remote on construction.
|
|
61
|
+
* @default true
|
|
62
|
+
*/
|
|
63
|
+
syncOnInit?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Maximum offline operations to queue.
|
|
66
|
+
* @default 1000
|
|
67
|
+
*/
|
|
68
|
+
maxOfflineOps?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Enable offline operation queue.
|
|
71
|
+
* When remote is unavailable, operations are queued and retried.
|
|
72
|
+
* @default true
|
|
73
|
+
*/
|
|
74
|
+
offlineQueue?: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Hybrid storage combining local cache with remote persistence.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const client = new Client({
|
|
82
|
+
* transport: new HttpTransport({ baseUrl: "https://api.example.com" })
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* const remote = new ApiStorage(client, { service: "users" });
|
|
86
|
+
* const hybrid = new HybridStorage(remote, {
|
|
87
|
+
* writeStrategy: "write-through",
|
|
88
|
+
* conflictResolution: "remote",
|
|
89
|
+
* syncInterval: 5000
|
|
90
|
+
* });
|
|
91
|
+
*
|
|
92
|
+
* // Fast local reads
|
|
93
|
+
* const user = hybrid.get("123"); // From cache
|
|
94
|
+
*
|
|
95
|
+
* // Writes go to both local and remote
|
|
96
|
+
* await hybrid.set("123", { name: "John" });
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export declare class HybridStorage<T> implements CollectionStorage<T> {
|
|
100
|
+
private local;
|
|
101
|
+
private remote;
|
|
102
|
+
private options;
|
|
103
|
+
private offlineOps;
|
|
104
|
+
private syncTimer;
|
|
105
|
+
private isOnline;
|
|
106
|
+
private stats;
|
|
107
|
+
constructor(remote: ApiStorage<T>, options?: HybridStorageOptions);
|
|
108
|
+
get(id: string): Promise<T | undefined>;
|
|
109
|
+
getAll(): Promise<T[]>;
|
|
110
|
+
find(predicate: (item: T) => boolean): Promise<T[]>;
|
|
111
|
+
has(id: string): Promise<boolean>;
|
|
112
|
+
size(): Promise<number>;
|
|
113
|
+
set(id: string, value: T): Promise<void>;
|
|
114
|
+
delete(id: string): Promise<boolean>;
|
|
115
|
+
clear(): Promise<void>;
|
|
116
|
+
setBatch(items: Array<[string, T]>): Promise<void>;
|
|
117
|
+
deleteBatch(ids: string[]): Promise<number>;
|
|
118
|
+
getBatch(ids: string[]): Promise<Map<string, T>>;
|
|
119
|
+
/**
|
|
120
|
+
* Sync all data from remote to local.
|
|
121
|
+
* Handles conflicts according to conflict resolution strategy.
|
|
122
|
+
*/
|
|
123
|
+
syncFromRemote(): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Sync all pending offline operations to remote.
|
|
126
|
+
* Processes queued operations in order.
|
|
127
|
+
*/
|
|
128
|
+
syncToRemote(): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Force a full sync (both directions).
|
|
131
|
+
*/
|
|
132
|
+
sync(): Promise<void>;
|
|
133
|
+
close(): Promise<void>;
|
|
134
|
+
getMetadata(): Promise<StorageMetadata>;
|
|
135
|
+
/**
|
|
136
|
+
* Resolve conflict between local and remote versions.
|
|
137
|
+
*/
|
|
138
|
+
private resolveConflict;
|
|
139
|
+
/**
|
|
140
|
+
* Queue operation for later sync.
|
|
141
|
+
*/
|
|
142
|
+
private queueOperation;
|
|
143
|
+
/**
|
|
144
|
+
* Execute a queued operation against remote storage.
|
|
145
|
+
*/
|
|
146
|
+
private executeOperation;
|
|
147
|
+
/**
|
|
148
|
+
* Handle remote operation failure.
|
|
149
|
+
*/
|
|
150
|
+
private handleRemoteFailure;
|
|
151
|
+
/**
|
|
152
|
+
* Start periodic background sync.
|
|
153
|
+
*/
|
|
154
|
+
private startPeriodicSync;
|
|
155
|
+
/**
|
|
156
|
+
* Get current online status.
|
|
157
|
+
*/
|
|
158
|
+
isRemoteOnline(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Get pending offline operations count.
|
|
161
|
+
*/
|
|
162
|
+
getPendingOpsCount(): number;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=hybrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid.d.ts","sourceRoot":"","sources":["../../../src/collections/storage/hybrid.ts"],"names":[],"mappings":"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"}
|