typeferry 0.6.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/README.md +88 -0
- package/dist/auth/client/cross-tab-sync.d.ts +21 -0
- package/dist/auth/client/cross-tab-sync.js +56 -0
- package/dist/auth/client/cross-tab-sync.js.map +1 -0
- package/dist/auth/client/index.d.ts +2 -0
- package/dist/auth/client/index.js +3 -0
- package/dist/auth/client/index.js.map +1 -0
- package/dist/auth/client/oauth/google-provider.d.ts +11 -0
- package/dist/auth/client/oauth/google-provider.js +11 -0
- package/dist/auth/client/oauth/google-provider.js.map +1 -0
- package/dist/auth/client/oauth/index.d.ts +4 -0
- package/dist/auth/client/oauth/index.js +3 -0
- package/dist/auth/client/oauth/index.js.map +1 -0
- package/dist/auth/client/oauth/use-google-login.d.ts +39 -0
- package/dist/auth/client/oauth/use-google-login.js +55 -0
- package/dist/auth/client/oauth/use-google-login.js.map +1 -0
- package/dist/auth/client/token-refresh.d.ts +21 -0
- package/dist/auth/client/token-refresh.js +212 -0
- package/dist/auth/client/token-refresh.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.js +9 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/server/cookie-utils.d.ts +42 -0
- package/dist/auth/server/cookie-utils.js +91 -0
- package/dist/auth/server/cookie-utils.js.map +1 -0
- package/dist/auth/server/device-info.d.ts +23 -0
- package/dist/auth/server/device-info.js +52 -0
- package/dist/auth/server/device-info.js.map +1 -0
- package/dist/auth/server/index.d.ts +4 -0
- package/dist/auth/server/index.js +5 -0
- package/dist/auth/server/index.js.map +1 -0
- package/dist/auth/server/jwt-utils.d.ts +29 -0
- package/dist/auth/server/jwt-utils.js +53 -0
- package/dist/auth/server/jwt-utils.js.map +1 -0
- package/dist/auth/server/oauth/google.d.ts +31 -0
- package/dist/auth/server/oauth/google.js +40 -0
- package/dist/auth/server/oauth/google.js.map +1 -0
- package/dist/auth/server/oauth/index.d.ts +3 -0
- package/dist/auth/server/oauth/index.js +2 -0
- package/dist/auth/server/oauth/index.js.map +1 -0
- package/dist/auth/server/oauth/types.d.ts +37 -0
- package/dist/auth/server/oauth/types.js +2 -0
- package/dist/auth/server/oauth/types.js.map +1 -0
- package/dist/auth/server/session-manager.d.ts +46 -0
- package/dist/auth/server/session-manager.js +167 -0
- package/dist/auth/server/session-manager.js.map +1 -0
- package/dist/auth/types.d.ts +197 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/client/call-method-proxy.d.ts +2 -0
- package/dist/client/call-method-proxy.js +22 -0
- package/dist/client/call-method-proxy.js.map +1 -0
- package/dist/client/client-channel.d.ts +43 -0
- package/dist/client/client-channel.js +148 -0
- package/dist/client/client-channel.js.map +1 -0
- package/dist/client/client-http.d.ts +27 -0
- package/dist/client/client-http.js +106 -0
- package/dist/client/client-http.js.map +1 -0
- package/dist/client/client-socket.d.ts +85 -0
- package/dist/client/client-socket.js +317 -0
- package/dist/client/client-socket.js.map +1 -0
- package/dist/client/client.d.ts +149 -0
- package/dist/client/client.js +401 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/context-manager.d.ts +54 -0
- package/dist/client/context-manager.js +89 -0
- package/dist/client/context-manager.js.map +1 -0
- package/dist/client/idle-timer.d.ts +35 -0
- package/dist/client/idle-timer.js +101 -0
- package/dist/client/idle-timer.js.map +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/logger.d.ts +76 -0
- package/dist/client/logger.js +129 -0
- package/dist/client/logger.js.map +1 -0
- package/dist/client/visibility-manager.d.ts +62 -0
- package/dist/client/visibility-manager.js +177 -0
- package/dist/client/visibility-manager.js.map +1 -0
- package/dist/ejson/adjust-types-from-json-value.d.ts +1 -0
- package/dist/ejson/adjust-types-from-json-value.js +35 -0
- package/dist/ejson/adjust-types-from-json-value.js.map +1 -0
- package/dist/ejson/base64.d.ts +11 -0
- package/dist/ejson/base64.js +87 -0
- package/dist/ejson/base64.js.map +1 -0
- package/dist/ejson/built-in-converters.d.ts +1 -0
- package/dist/ejson/built-in-converters.js +137 -0
- package/dist/ejson/built-in-converters.js.map +1 -0
- package/dist/ejson/clone.d.ts +1 -0
- package/dist/ejson/clone.js +80 -0
- package/dist/ejson/clone.js.map +1 -0
- package/dist/ejson/custom-models.d.ts +38 -0
- package/dist/ejson/custom-models.js +76 -0
- package/dist/ejson/custom-models.js.map +1 -0
- package/dist/ejson/custom-types.d.ts +1 -0
- package/dist/ejson/custom-types.js +2 -0
- package/dist/ejson/custom-types.js.map +1 -0
- package/dist/ejson/equals.d.ts +1 -0
- package/dist/ejson/equals.js +117 -0
- package/dist/ejson/equals.js.map +1 -0
- package/dist/ejson/from-json-value.d.ts +1 -0
- package/dist/ejson/from-json-value.js +13 -0
- package/dist/ejson/from-json-value.js.map +1 -0
- package/dist/ejson/helpers/adjust-types-to-json-value.d.ts +1 -0
- package/dist/ejson/helpers/adjust-types-to-json-value.js +36 -0
- package/dist/ejson/helpers/adjust-types-to-json-value.js.map +1 -0
- package/dist/ejson/helpers/from-json-value-helper.d.ts +1 -0
- package/dist/ejson/helpers/from-json-value-helper.js +24 -0
- package/dist/ejson/helpers/from-json-value-helper.js.map +1 -0
- package/dist/ejson/helpers/to-json-value-helper.d.ts +1 -0
- package/dist/ejson/helpers/to-json-value-helper.js +15 -0
- package/dist/ejson/helpers/to-json-value-helper.js.map +1 -0
- package/dist/ejson/index.d.ts +27 -0
- package/dist/ejson/index.js +54 -0
- package/dist/ejson/index.js.map +1 -0
- package/dist/ejson/is-binary.d.ts +2 -0
- package/dist/ejson/is-binary.js +5 -0
- package/dist/ejson/is-binary.js.map +1 -0
- package/dist/ejson/parse.d.ts +6 -0
- package/dist/ejson/parse.js +12 -0
- package/dist/ejson/parse.js.map +1 -0
- package/dist/ejson/stable-stringify.d.ts +10 -0
- package/dist/ejson/stable-stringify.js +25 -0
- package/dist/ejson/stable-stringify.js.map +1 -0
- package/dist/ejson/stringify.d.ts +5 -0
- package/dist/ejson/stringify.js +15 -0
- package/dist/ejson/stringify.js.map +1 -0
- package/dist/ejson/to-json-value.d.ts +1 -0
- package/dist/ejson/to-json-value.js +17 -0
- package/dist/ejson/to-json-value.js.map +1 -0
- package/dist/ejson/utils.d.ts +18 -0
- package/dist/ejson/utils.js +43 -0
- package/dist/ejson/utils.js.map +1 -0
- package/dist/mongodb/change-streams.d.ts +31 -0
- package/dist/mongodb/change-streams.js +142 -0
- package/dist/mongodb/change-streams.js.map +1 -0
- package/dist/mongodb/client.d.ts +13 -0
- package/dist/mongodb/client.js +30 -0
- package/dist/mongodb/client.js.map +1 -0
- package/dist/mongodb/decorators/collection.d.ts +9 -0
- package/dist/mongodb/decorators/collection.js +26 -0
- package/dist/mongodb/decorators/collection.js.map +1 -0
- package/dist/mongodb/decorators/index.d.ts +4 -0
- package/dist/mongodb/decorators/index.js +5 -0
- package/dist/mongodb/decorators/index.js.map +1 -0
- package/dist/mongodb/decorators/metadata.d.ts +21 -0
- package/dist/mongodb/decorators/metadata.js +29 -0
- package/dist/mongodb/decorators/metadata.js.map +1 -0
- package/dist/mongodb/decorators/register.d.ts +3 -0
- package/dist/mongodb/decorators/register.js +10 -0
- package/dist/mongodb/decorators/register.js.map +1 -0
- package/dist/mongodb/decorators/watch.d.ts +4 -0
- package/dist/mongodb/decorators/watch.js +10 -0
- package/dist/mongodb/decorators/watch.js.map +1 -0
- package/dist/mongodb/filters.d.ts +20 -0
- package/dist/mongodb/filters.js +40 -0
- package/dist/mongodb/filters.js.map +1 -0
- package/dist/mongodb/find-one-or-create.d.ts +4 -0
- package/dist/mongodb/find-one-or-create.js +16 -0
- package/dist/mongodb/find-one-or-create.js.map +1 -0
- package/dist/mongodb/index.d.ts +10 -0
- package/dist/mongodb/index.js +11 -0
- package/dist/mongodb/index.js.map +1 -0
- package/dist/mongodb/live/client.d.ts +52 -0
- package/dist/mongodb/live/client.js +266 -0
- package/dist/mongodb/live/client.js.map +1 -0
- package/dist/mongodb/live/engine.d.ts +55 -0
- package/dist/mongodb/live/engine.js +440 -0
- package/dist/mongodb/live/engine.js.map +1 -0
- package/dist/mongodb/live/index.d.ts +5 -0
- package/dist/mongodb/live/index.js +6 -0
- package/dist/mongodb/live/index.js.map +1 -0
- package/dist/mongodb/live/observer.d.ts +58 -0
- package/dist/mongodb/live/observer.js +246 -0
- package/dist/mongodb/live/observer.js.map +1 -0
- package/dist/mongodb/live/publication.d.ts +4 -0
- package/dist/mongodb/live/publication.js +30 -0
- package/dist/mongodb/live/publication.js.map +1 -0
- package/dist/mongodb/live/source.d.ts +55 -0
- package/dist/mongodb/live/source.js +197 -0
- package/dist/mongodb/live/source.js.map +1 -0
- package/dist/mongodb/live/types.d.ts +266 -0
- package/dist/mongodb/live/types.js +29 -0
- package/dist/mongodb/live/types.js.map +1 -0
- package/dist/mongodb/live/window.d.ts +7 -0
- package/dist/mongodb/live/window.js +93 -0
- package/dist/mongodb/live/window.js.map +1 -0
- package/dist/mongodb/registry.d.ts +35 -0
- package/dist/mongodb/registry.js +129 -0
- package/dist/mongodb/registry.js.map +1 -0
- package/dist/mongodb/schema.d.ts +16 -0
- package/dist/mongodb/schema.js +43 -0
- package/dist/mongodb/schema.js.map +1 -0
- package/dist/mongodb/timestamps.d.ts +17 -0
- package/dist/mongodb/timestamps.js +27 -0
- package/dist/mongodb/timestamps.js.map +1 -0
- package/dist/mongodb/types.d.ts +120 -0
- package/dist/mongodb/types.js +10 -0
- package/dist/mongodb/types.js.map +1 -0
- package/dist/react/components/client-provider.d.ts +8 -0
- package/dist/react/components/client-provider.js +23 -0
- package/dist/react/components/client-provider.js.map +1 -0
- package/dist/react/components/index.d.ts +1 -0
- package/dist/react/components/index.js +2 -0
- package/dist/react/components/index.js.map +1 -0
- package/dist/react/hooks/index.d.ts +13 -0
- package/dist/react/hooks/index.js +14 -0
- package/dist/react/hooks/index.js.map +1 -0
- package/dist/react/hooks/use-auth.d.ts +4 -0
- package/dist/react/hooks/use-auth.js +35 -0
- package/dist/react/hooks/use-auth.js.map +1 -0
- package/dist/react/hooks/use-caller.d.ts +5 -0
- package/dist/react/hooks/use-caller.js +13 -0
- package/dist/react/hooks/use-caller.js.map +1 -0
- package/dist/react/hooks/use-channel.d.ts +1 -0
- package/dist/react/hooks/use-channel.js +7 -0
- package/dist/react/hooks/use-channel.js.map +1 -0
- package/dist/react/hooks/use-circuit-breaker.d.ts +6 -0
- package/dist/react/hooks/use-circuit-breaker.js +16 -0
- package/dist/react/hooks/use-circuit-breaker.js.map +1 -0
- package/dist/react/hooks/use-client.d.ts +3 -0
- package/dist/react/hooks/use-client.js +13 -0
- package/dist/react/hooks/use-client.js.map +1 -0
- package/dist/react/hooks/use-connection-state.d.ts +13 -0
- package/dist/react/hooks/use-connection-state.js +55 -0
- package/dist/react/hooks/use-connection-state.js.map +1 -0
- package/dist/react/hooks/use-creation.d.ts +5 -0
- package/dist/react/hooks/use-creation.js +17 -0
- package/dist/react/hooks/use-creation.js.map +1 -0
- package/dist/react/hooks/use-deps-change.d.ts +1 -0
- package/dist/react/hooks/use-deps-change.js +11 -0
- package/dist/react/hooks/use-deps-change.js.map +1 -0
- package/dist/react/hooks/use-local-event.d.ts +13 -0
- package/dist/react/hooks/use-local-event.js +32 -0
- package/dist/react/hooks/use-local-event.js.map +1 -0
- package/dist/react/hooks/use-method-refresh.d.ts +15 -0
- package/dist/react/hooks/use-method-refresh.js +48 -0
- package/dist/react/hooks/use-method-refresh.js.map +1 -0
- package/dist/react/hooks/use-method.d.ts +26 -0
- package/dist/react/hooks/use-method.js +161 -0
- package/dist/react/hooks/use-method.js.map +1 -0
- package/dist/react/hooks/use-mongodb-live-publication.d.ts +13 -0
- package/dist/react/hooks/use-mongodb-live-publication.js +26 -0
- package/dist/react/hooks/use-mongodb-live-publication.js.map +1 -0
- package/dist/react/hooks/use-object.d.ts +2 -0
- package/dist/react/hooks/use-object.js +22 -0
- package/dist/react/hooks/use-object.js.map +1 -0
- package/dist/react/hooks/use-subscribe.d.ts +8 -0
- package/dist/react/hooks/use-subscribe.js +49 -0
- package/dist/react/hooks/use-subscribe.js.map +1 -0
- package/dist/react/hooks/use-throttled-events.d.ts +7 -0
- package/dist/react/hooks/use-throttled-events.js +11 -0
- package/dist/react/hooks/use-throttled-events.js.map +1 -0
- package/dist/react/hooks/use-token-refresh.d.ts +13 -0
- package/dist/react/hooks/use-token-refresh.js +40 -0
- package/dist/react/hooks/use-token-refresh.js.map +1 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -0
- package/dist/server/client-node.d.ts +76 -0
- package/dist/server/client-node.js +159 -0
- package/dist/server/client-node.js.map +1 -0
- package/dist/server/create-method-proxy.d.ts +2 -0
- package/dist/server/create-method-proxy.js +16 -0
- package/dist/server/create-method-proxy.js.map +1 -0
- package/dist/server/decorators/cached.d.ts +37 -0
- package/dist/server/decorators/cached.js +65 -0
- package/dist/server/decorators/cached.js.map +1 -0
- package/dist/server/decorators/index.d.ts +14 -0
- package/dist/server/decorators/index.js +13 -0
- package/dist/server/decorators/index.js.map +1 -0
- package/dist/server/decorators/infer.d.ts +78 -0
- package/dist/server/decorators/infer.js +11 -0
- package/dist/server/decorators/infer.js.map +1 -0
- package/dist/server/decorators/metadata.d.ts +60 -0
- package/dist/server/decorators/metadata.js +77 -0
- package/dist/server/decorators/metadata.js.map +1 -0
- package/dist/server/decorators/method.d.ts +14 -0
- package/dist/server/decorators/method.js +25 -0
- package/dist/server/decorators/method.js.map +1 -0
- package/dist/server/decorators/namespace.d.ts +25 -0
- package/dist/server/decorators/namespace.js +34 -0
- package/dist/server/decorators/namespace.js.map +1 -0
- package/dist/server/decorators/protected.d.ts +36 -0
- package/dist/server/decorators/protected.js +61 -0
- package/dist/server/decorators/protected.js.map +1 -0
- package/dist/server/decorators/register.d.ts +25 -0
- package/dist/server/decorators/register.js +72 -0
- package/dist/server/decorators/register.js.map +1 -0
- package/dist/server/decorators/schema.d.ts +17 -0
- package/dist/server/decorators/schema.js +27 -0
- package/dist/server/decorators/schema.js.map +1 -0
- package/dist/server/decorators/use.d.ts +22 -0
- package/dist/server/decorators/use.js +32 -0
- package/dist/server/decorators/use.js.map +1 -0
- package/dist/server/default-methods.d.ts +8 -0
- package/dist/server/default-methods.js +8 -0
- package/dist/server/default-methods.js.map +1 -0
- package/dist/server/event.d.ts +42 -0
- package/dist/server/event.js +53 -0
- package/dist/server/event.js.map +1 -0
- package/dist/server/index.d.ts +10 -0
- package/dist/server/index.js +11 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/method.d.ts +95 -0
- package/dist/server/method.js +113 -0
- package/dist/server/method.js.map +1 -0
- package/dist/server/methods.d.ts +11 -0
- package/dist/server/methods.js +74 -0
- package/dist/server/methods.js.map +1 -0
- package/dist/server/request-types.d.ts +20 -0
- package/dist/server/request-types.js +8 -0
- package/dist/server/request-types.js.map +1 -0
- package/dist/server/room-registry.d.ts +28 -0
- package/dist/server/room-registry.js +83 -0
- package/dist/server/room-registry.js.map +1 -0
- package/dist/server/server-channel.d.ts +32 -0
- package/dist/server/server-channel.js +104 -0
- package/dist/server/server-channel.js.map +1 -0
- package/dist/server/server.d.ts +124 -0
- package/dist/server/server.js +243 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/transports/hono-rate-limit.d.ts +15 -0
- package/dist/server/transports/hono-rate-limit.js +36 -0
- package/dist/server/transports/hono-rate-limit.js.map +1 -0
- package/dist/server/transports/index.d.ts +4 -0
- package/dist/server/transports/index.js +5 -0
- package/dist/server/transports/index.js.map +1 -0
- package/dist/server/transports/node-hono-transport-contract.d.ts +16 -0
- package/dist/server/transports/node-hono-transport-contract.js +18 -0
- package/dist/server/transports/node-hono-transport-contract.js.map +1 -0
- package/dist/server/transports/node-hono-transport.d.ts +47 -0
- package/dist/server/transports/node-hono-transport.js +327 -0
- package/dist/server/transports/node-hono-transport.js.map +1 -0
- package/dist/server/transports/redis-transport.d.ts +34 -0
- package/dist/server/transports/redis-transport.js +84 -0
- package/dist/server/transports/redis-transport.js.map +1 -0
- package/dist/server/transports/websocket-transport.d.ts +42 -0
- package/dist/server/transports/websocket-transport.js +174 -0
- package/dist/server/transports/websocket-transport.js.map +1 -0
- package/dist/server/transports/ws-shared.d.ts +37 -0
- package/dist/server/transports/ws-shared.js +188 -0
- package/dist/server/transports/ws-shared.js.map +1 -0
- package/dist/server/typeferry-async-local-storage.d.ts +5 -0
- package/dist/server/typeferry-async-local-storage.js +6 -0
- package/dist/server/typeferry-async-local-storage.js.map +1 -0
- package/dist/server/types.d.ts +27 -0
- package/dist/server/types.js +11 -0
- package/dist/server/types.js.map +1 -0
- package/dist/utils/constants.d.ts +72 -0
- package/dist/utils/constants.js +79 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/environment.d.ts +8 -0
- package/dist/utils/environment.js +17 -0
- package/dist/utils/environment.js.map +1 -0
- package/dist/utils/errors.d.ts +26 -0
- package/dist/utils/errors.js +35 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/event-emitter.d.ts +37 -0
- package/dist/utils/event-emitter.js +104 -0
- package/dist/utils/event-emitter.js.map +1 -0
- package/dist/utils/events.d.ts +7 -0
- package/dist/utils/events.js +23 -0
- package/dist/utils/events.js.map +1 -0
- package/dist/utils/helpers.d.ts +14 -0
- package/dist/utils/helpers.js +40 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +12 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/intercept.d.ts +7 -0
- package/dist/utils/intercept.js +21 -0
- package/dist/utils/intercept.js.map +1 -0
- package/dist/utils/iterator.d.ts +9 -0
- package/dist/utils/iterator.js +28 -0
- package/dist/utils/iterator.js.map +1 -0
- package/dist/utils/lodash.d.ts +33 -0
- package/dist/utils/lodash.js +123 -0
- package/dist/utils/lodash.js.map +1 -0
- package/dist/utils/presentation.d.ts +19 -0
- package/dist/utils/presentation.js +25 -0
- package/dist/utils/presentation.js.map +1 -0
- package/dist/utils/promise.d.ts +6 -0
- package/dist/utils/promise.js +17 -0
- package/dist/utils/promise.js.map +1 -0
- package/dist/utils/protocol.d.ts +110 -0
- package/dist/utils/protocol.js +59 -0
- package/dist/utils/protocol.js.map +1 -0
- package/dist/utils/types.d.ts +23 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/types.js.map +1 -0
- package/package.json +187 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const gp = (() => {
|
|
2
|
+
if (typeof process === 'undefined')
|
|
3
|
+
return null;
|
|
4
|
+
return process;
|
|
5
|
+
})();
|
|
6
|
+
export var Environment;
|
|
7
|
+
(function (Environment) {
|
|
8
|
+
Environment.isNode = !!gp?.versions?.node;
|
|
9
|
+
Environment.isBrowser = typeof window === 'object' && typeof process === 'undefined';
|
|
10
|
+
Environment.isTest = process.env.NODE_ENV === 'test';
|
|
11
|
+
Environment.isDevelopment = process.env.NODE_ENV === 'development';
|
|
12
|
+
Environment.canUseDOM = !!(typeof window !== 'undefined' &&
|
|
13
|
+
window.document &&
|
|
14
|
+
window.document.createElement);
|
|
15
|
+
Environment.isServer = !Environment.canUseDOM;
|
|
16
|
+
})(Environment || (Environment = {}));
|
|
17
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/utils/environment.ts"],"names":[],"mappings":"AAAA,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IACf,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAC/C,OAAO,OAAO,CAAA;AAChB,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,KAAW,WAAW,CAc3B;AAdD,WAAiB,WAAW;IACb,kBAAM,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAA;IAC7B,qBAAS,GACpB,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,WAAW,CAAA;IACjD,kBAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAA;IACxC,yBAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAA;IAEtD,qBAAS,GAAG,CAAC,CAAC,CACzB,OAAO,MAAM,KAAK,WAAW;QAC7B,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,CAAC,aAAa,CAC9B,CAAA;IAEY,oBAAQ,GAAG,CAAC,YAAA,SAAS,CAAA;AACpC,CAAC,EAdgB,WAAW,KAAX,WAAW,QAc3B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare class PublicError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
export declare class SchemaValidationError extends Error {
|
|
5
|
+
errors: string[];
|
|
6
|
+
constructor(message: string, errors?: string[]);
|
|
7
|
+
}
|
|
8
|
+
export declare enum Errors {
|
|
9
|
+
AUTHENTICATION_FAILED = "Authentication Failed",
|
|
10
|
+
EVENT_FORBIDDEN = "Event Forbidden",
|
|
11
|
+
EVENT_NOT_FOUND = "Event Not Found",
|
|
12
|
+
EVENT_NOT_PROVIDED = "Event Not Provided",
|
|
13
|
+
EVENT_NOT_SUBSCRIBED = "Event Not Subscribed",
|
|
14
|
+
INTERNAL_ERROR = "Internal Error",
|
|
15
|
+
INVALID_METHOD_NAME = "Invalid Method Name",
|
|
16
|
+
INVALID_PARAMS = "Invalid Params",
|
|
17
|
+
INVALID_REQUEST = "Invalid Request",
|
|
18
|
+
INVALID_TOKEN = "Invalid Token",
|
|
19
|
+
METHOD_FORBIDDEN = "Method Forbidden",
|
|
20
|
+
METHOD_NOT_FOUND = "Method Not Found",
|
|
21
|
+
METHOD_NOT_SPECIFIED = "Method Not Specified",
|
|
22
|
+
PARAMS_NOT_FOUND = "Params Not Found",
|
|
23
|
+
PARSE_ERROR = "Parse Error",
|
|
24
|
+
SUBSCRIPTION_ERROR = "Subscription Error",
|
|
25
|
+
RATE_LIMIT_EXCEEDED = "Rate Limit Exceeded"
|
|
26
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class PublicError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = 'TypeFerry Error';
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class SchemaValidationError extends Error {
|
|
8
|
+
errors;
|
|
9
|
+
constructor(message, errors) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = 'Schema Validation Error';
|
|
12
|
+
this.errors = errors;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export var Errors;
|
|
16
|
+
(function (Errors) {
|
|
17
|
+
Errors["AUTHENTICATION_FAILED"] = "Authentication Failed";
|
|
18
|
+
Errors["EVENT_FORBIDDEN"] = "Event Forbidden";
|
|
19
|
+
Errors["EVENT_NOT_FOUND"] = "Event Not Found";
|
|
20
|
+
Errors["EVENT_NOT_PROVIDED"] = "Event Not Provided";
|
|
21
|
+
Errors["EVENT_NOT_SUBSCRIBED"] = "Event Not Subscribed";
|
|
22
|
+
Errors["INTERNAL_ERROR"] = "Internal Error";
|
|
23
|
+
Errors["INVALID_METHOD_NAME"] = "Invalid Method Name";
|
|
24
|
+
Errors["INVALID_PARAMS"] = "Invalid Params";
|
|
25
|
+
Errors["INVALID_REQUEST"] = "Invalid Request";
|
|
26
|
+
Errors["INVALID_TOKEN"] = "Invalid Token";
|
|
27
|
+
Errors["METHOD_FORBIDDEN"] = "Method Forbidden";
|
|
28
|
+
Errors["METHOD_NOT_FOUND"] = "Method Not Found";
|
|
29
|
+
Errors["METHOD_NOT_SPECIFIED"] = "Method Not Specified";
|
|
30
|
+
Errors["PARAMS_NOT_FOUND"] = "Params Not Found";
|
|
31
|
+
Errors["PARSE_ERROR"] = "Parse Error";
|
|
32
|
+
Errors["SUBSCRIPTION_ERROR"] = "Subscription Error";
|
|
33
|
+
Errors["RATE_LIMIT_EXCEEDED"] = "Rate Limit Exceeded";
|
|
34
|
+
})(Errors || (Errors = {}));
|
|
35
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAU;IAEhB,YAAY,OAAe,EAAE,MAAiB;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED,MAAM,CAAN,IAAY,MAkBX;AAlBD,WAAY,MAAM;IAChB,yDAA+C,CAAA;IAC/C,6CAAmC,CAAA;IACnC,6CAAmC,CAAA;IACnC,mDAAyC,CAAA;IACzC,uDAA6C,CAAA;IAC7C,2CAAiC,CAAA;IACjC,qDAA2C,CAAA;IAC3C,2CAAiC,CAAA;IACjC,6CAAmC,CAAA;IACnC,yCAA+B,CAAA;IAC/B,+CAAqC,CAAA;IACrC,+CAAqC,CAAA;IACrC,uDAA6C,CAAA;IAC7C,+CAAqC,CAAA;IACrC,qCAA2B,CAAA;IAC3B,mDAAyC,CAAA;IACzC,qDAA2C,CAAA;AAC7C,CAAC,EAlBW,MAAM,KAAN,MAAM,QAkBjB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe event emitter used across TypeFerry runtime paths.
|
|
3
|
+
*
|
|
4
|
+
* This replaces `eventemitter2` in source-first builds so consumers do not
|
|
5
|
+
* depend on CommonJS interop at runtime, while keeping the listener cleanup
|
|
6
|
+
* semantics TypeFerry relies on to avoid subscription leaks.
|
|
7
|
+
*/
|
|
8
|
+
export type EventListener = (...args: any[]) => void;
|
|
9
|
+
type AnyEventListener = (event: string, ...args: any[]) => void;
|
|
10
|
+
type EventEntry = EventListener | EventListener[];
|
|
11
|
+
type EventEmitterOptions = {
|
|
12
|
+
maxListeners?: number;
|
|
13
|
+
};
|
|
14
|
+
export default class EventEmitter2 {
|
|
15
|
+
_events?: Record<string, EventEntry | undefined>;
|
|
16
|
+
private anyListeners;
|
|
17
|
+
private maxListeners;
|
|
18
|
+
constructor(options?: EventEmitterOptions);
|
|
19
|
+
on(event: string, listener: EventListener): this;
|
|
20
|
+
off(event: string, listener: EventListener): this;
|
|
21
|
+
once(event: string, listener: EventListener): this;
|
|
22
|
+
emit(event: string, ...args: any[]): boolean;
|
|
23
|
+
onAny(listener: AnyEventListener): this;
|
|
24
|
+
offAny(listener: AnyEventListener): this;
|
|
25
|
+
removeAllListeners(event?: string): this;
|
|
26
|
+
listenerCount(event: string): number;
|
|
27
|
+
setMaxListeners(maxListeners: number): this;
|
|
28
|
+
waitFor(event: string, timeout?: number): Promise<any[]>;
|
|
29
|
+
private listeners;
|
|
30
|
+
private setListeners;
|
|
31
|
+
private matchesListener;
|
|
32
|
+
private warnMaxListeners;
|
|
33
|
+
private createTimer;
|
|
34
|
+
private clearTimer;
|
|
35
|
+
private reset;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export default class EventEmitter2 {
|
|
2
|
+
_events = {};
|
|
3
|
+
anyListeners = new Set();
|
|
4
|
+
maxListeners = Number.POSITIVE_INFINITY;
|
|
5
|
+
constructor(options = {}) {
|
|
6
|
+
this.maxListeners = options.maxListeners ?? Number.POSITIVE_INFINITY;
|
|
7
|
+
}
|
|
8
|
+
on(event, listener) {
|
|
9
|
+
this.setListeners(event, [...this.listeners(event), listener]);
|
|
10
|
+
this.warnMaxListeners(event);
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
off(event, listener) {
|
|
14
|
+
const listeners = this.listeners(event).filter(current => !this.matchesListener(current, listener));
|
|
15
|
+
this.setListeners(event, listeners);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
once(event, listener) {
|
|
19
|
+
const wrapped = (...args) => {
|
|
20
|
+
this.off(event, wrapped);
|
|
21
|
+
listener(...args);
|
|
22
|
+
};
|
|
23
|
+
wrapped.originalListener = listener;
|
|
24
|
+
return this.on(event, wrapped);
|
|
25
|
+
}
|
|
26
|
+
emit(event, ...args) {
|
|
27
|
+
const listeners = this.listeners(event);
|
|
28
|
+
const anyListeners = [...this.anyListeners];
|
|
29
|
+
listeners.forEach(listener => listener(...args));
|
|
30
|
+
anyListeners.forEach(listener => listener(event, ...args));
|
|
31
|
+
return listeners.length > 0 || anyListeners.length > 0;
|
|
32
|
+
}
|
|
33
|
+
onAny(listener) {
|
|
34
|
+
this.anyListeners.add(listener);
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
offAny(listener) {
|
|
38
|
+
this.anyListeners.delete(listener);
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
removeAllListeners(event) {
|
|
42
|
+
if (event)
|
|
43
|
+
delete this._events[event];
|
|
44
|
+
else
|
|
45
|
+
this.reset();
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
listenerCount(event) {
|
|
49
|
+
return this.listeners(event).length;
|
|
50
|
+
}
|
|
51
|
+
setMaxListeners(maxListeners) {
|
|
52
|
+
this.maxListeners = maxListeners;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
waitFor(event, timeout) {
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
const listener = (...args) => {
|
|
58
|
+
this.clearTimer(timer);
|
|
59
|
+
resolve(args);
|
|
60
|
+
};
|
|
61
|
+
const timer = this.createTimer(timeout, event, listener, reject);
|
|
62
|
+
this.once(event, listener);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
listeners(event) {
|
|
66
|
+
const entry = this._events?.[event];
|
|
67
|
+
if (!entry)
|
|
68
|
+
return [];
|
|
69
|
+
return Array.isArray(entry) ? [...entry] : [entry];
|
|
70
|
+
}
|
|
71
|
+
setListeners(event, listeners) {
|
|
72
|
+
if (listeners.length === 0) {
|
|
73
|
+
delete this._events[event];
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this._events[event] = listeners.length === 1 ? listeners[0] : listeners;
|
|
77
|
+
}
|
|
78
|
+
matchesListener(current, target) {
|
|
79
|
+
const onceListener = current;
|
|
80
|
+
return current === target || onceListener.originalListener === target;
|
|
81
|
+
}
|
|
82
|
+
warnMaxListeners(event) {
|
|
83
|
+
if (this.listenerCount(event) <= this.maxListeners)
|
|
84
|
+
return;
|
|
85
|
+
console.warn(`[TypeFerry] Listener count exceeded for "${event}"`);
|
|
86
|
+
}
|
|
87
|
+
createTimer(timeout, event, listener, reject) {
|
|
88
|
+
if (!timeout || timeout <= 0)
|
|
89
|
+
return null;
|
|
90
|
+
return setTimeout(() => {
|
|
91
|
+
this.off(event, listener);
|
|
92
|
+
reject(new Error(`Timed out waiting for "${event}"`));
|
|
93
|
+
}, timeout);
|
|
94
|
+
}
|
|
95
|
+
clearTimer(timer) {
|
|
96
|
+
if (timer)
|
|
97
|
+
clearTimeout(timer);
|
|
98
|
+
}
|
|
99
|
+
reset() {
|
|
100
|
+
this._events = {};
|
|
101
|
+
this.anyListeners.clear();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/utils/event-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type EventEmitter2 from './event-emitter.js';
|
|
2
|
+
export declare const onceAll: (emitter: EventEmitter2, events: string[]) => Promise<void>;
|
|
3
|
+
export declare const waitForAll: (emitter: EventEmitter2, events: string[], timeout?: number) => Promise<void>;
|
|
4
|
+
export declare const onAllThrottled: (emitter: EventEmitter2, events: string[], callback: (...args: any[]) => void, throttleMs?: number, throttleOptions?: {
|
|
5
|
+
leading?: boolean;
|
|
6
|
+
trailing?: boolean;
|
|
7
|
+
}) => () => void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { throttle } from './lodash.js';
|
|
2
|
+
export const onceAll = async (emitter, events) => {
|
|
3
|
+
const promises = events.map(event => new Promise(resolve => {
|
|
4
|
+
emitter.once(event, () => {
|
|
5
|
+
resolve();
|
|
6
|
+
});
|
|
7
|
+
}));
|
|
8
|
+
await Promise.all(promises);
|
|
9
|
+
};
|
|
10
|
+
export const waitForAll = async (emitter, events, timeout = 30000) => {
|
|
11
|
+
await Promise.all(events.map(event => emitter.waitFor(event, timeout)));
|
|
12
|
+
};
|
|
13
|
+
export const onAllThrottled = (emitter, events, callback, throttleMs = 1000, throttleOptions) => {
|
|
14
|
+
const throttled = throttle(callback, throttleMs, throttleOptions);
|
|
15
|
+
events.forEach(event => emitter.on(event, throttled));
|
|
16
|
+
/**
|
|
17
|
+
* Cleanup function
|
|
18
|
+
*/
|
|
19
|
+
return () => {
|
|
20
|
+
events.forEach(event => emitter.off(event, throttled));
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/utils/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAsB,EAAE,MAAgB,EAAE,EAAE;IACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CACzB,KAAK,CAAC,EAAE,CACN,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;QAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YACvB,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CACL,CAAA;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,OAAsB,EACtB,MAAgB,EAChB,OAAO,GAAG,KAAK,EACf,EAAE;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAsB,EACtB,MAAgB,EAChB,QAAkC,EAClC,UAAU,GAAG,IAAI,EACjB,eAA2D,EAC3D,EAAE;IACF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IAEjE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;IAErD;;OAEG;IACH,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare namespace Helpers {
|
|
2
|
+
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
|
|
3
|
+
type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
4
|
+
interface IRPCError {
|
|
5
|
+
code: number;
|
|
6
|
+
message: string;
|
|
7
|
+
data?: string;
|
|
8
|
+
}
|
|
9
|
+
function isSecure(): boolean;
|
|
10
|
+
function extend(target: object, source: object): void;
|
|
11
|
+
function getCircularReplacer(): (key: any, value: any) => any;
|
|
12
|
+
function ensureArray(value: any): any[];
|
|
13
|
+
function toString(id: any): any;
|
|
14
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export var Helpers;
|
|
2
|
+
(function (Helpers) {
|
|
3
|
+
function isSecure() {
|
|
4
|
+
return (typeof window === 'object' && document?.location?.protocol === 'https:');
|
|
5
|
+
}
|
|
6
|
+
Helpers.isSecure = isSecure;
|
|
7
|
+
function extend(target, source) {
|
|
8
|
+
Object.entries(source).forEach(([key, fn]) => {
|
|
9
|
+
target[key] = fn.bind(target);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
Helpers.extend = extend;
|
|
13
|
+
function getCircularReplacer() {
|
|
14
|
+
const seen = new WeakSet();
|
|
15
|
+
return (key, value) => {
|
|
16
|
+
if (typeof value === 'object' && value !== null) {
|
|
17
|
+
if (seen.has(value)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
seen.add(value);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
Helpers.getCircularReplacer = getCircularReplacer;
|
|
26
|
+
function ensureArray(value) {
|
|
27
|
+
return Array.isArray(value) ? value : [value];
|
|
28
|
+
}
|
|
29
|
+
Helpers.ensureArray = ensureArray;
|
|
30
|
+
function toString(id) {
|
|
31
|
+
if (id != null &&
|
|
32
|
+
typeof id === 'object' &&
|
|
33
|
+
id.constructor.name === 'ObjectId') {
|
|
34
|
+
return id.toString();
|
|
35
|
+
}
|
|
36
|
+
return String(id);
|
|
37
|
+
}
|
|
38
|
+
Helpers.toString = toString;
|
|
39
|
+
})(Helpers || (Helpers = {}));
|
|
40
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,OAAO,CAmDvB;AAnDD,WAAiB,OAAO;IAUtB,SAAgB,QAAQ;QACtB,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CACxE,CAAA;IACH,CAAC;IAJe,gBAAQ,WAIvB,CAAA;IAED,SAAgB,MAAM,CAAC,MAAc,EAAE,MAAc;QACnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAJe,cAAM,SAIrB,CAAA;IAED,SAAgB,mBAAmB;QACjC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAA;QAE1B,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;IACH,CAAC;IAZe,2BAAmB,sBAYlC,CAAA;IAED,SAAgB,WAAW,CAAC,KAAU;QACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IAFe,mBAAW,cAE1B,CAAA;IAED,SAAgB,QAAQ,CAAC,EAAO;QAC9B,IACE,EAAE,IAAI,IAAI;YACV,OAAO,EAAE,KAAK,QAAQ;YACtB,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAA;QACtB,CAAC;QAED,OAAO,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IAVe,gBAAQ,WAUvB,CAAA;AACH,CAAC,EAnDgB,OAAO,KAAP,OAAO,QAmDvB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './constants.js';
|
|
2
|
+
export * from './environment.js';
|
|
3
|
+
export * from './errors.js';
|
|
4
|
+
export * from './events.js';
|
|
5
|
+
export * from './helpers.js';
|
|
6
|
+
export * from './intercept.js';
|
|
7
|
+
export * from './iterator.js';
|
|
8
|
+
export * from './presentation.js';
|
|
9
|
+
export * from './protocol.js';
|
|
10
|
+
export * from './promise.js';
|
|
11
|
+
export * from './types.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './constants.js';
|
|
2
|
+
export * from './environment.js';
|
|
3
|
+
export * from './errors.js';
|
|
4
|
+
export * from './events.js';
|
|
5
|
+
export * from './helpers.js';
|
|
6
|
+
export * from './intercept.js';
|
|
7
|
+
export * from './iterator.js';
|
|
8
|
+
export * from './presentation.js';
|
|
9
|
+
export * from './protocol.js';
|
|
10
|
+
export * from './promise.js';
|
|
11
|
+
export * from './types.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { isPlainObject } from './lodash.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get the params and the result and combine in a single output.
|
|
4
|
+
*
|
|
5
|
+
* @param func
|
|
6
|
+
*/
|
|
7
|
+
export function intercept(func) {
|
|
8
|
+
return async function (params) {
|
|
9
|
+
let result = func.call(this, params);
|
|
10
|
+
if (func.constructor.name === 'AsyncFunction' || result instanceof Promise)
|
|
11
|
+
result = await result;
|
|
12
|
+
/**
|
|
13
|
+
* If the result is not an object, return it as is. We need to support primitives.
|
|
14
|
+
*/
|
|
15
|
+
if (result != null && !isPlainObject(result)) {
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
return Object.assign({}, params, result ?? {});
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=intercept.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/utils/intercept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAIxC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,OAAO,KAAK,WAAW,MAAW;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAEpC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,IAAI,MAAM,YAAY,OAAO;YACxE,MAAM,GAAG,MAAM,MAAM,CAAA;QAEvB;;WAEG;QACH,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type EventEmitter2 from './event-emitter.js';
|
|
2
|
+
export declare function createIterator(emitter: EventEmitter2, event: string): {
|
|
3
|
+
[Symbol.asyncIterator](): any;
|
|
4
|
+
next(): Promise<unknown>;
|
|
5
|
+
return(): {
|
|
6
|
+
done: boolean;
|
|
7
|
+
};
|
|
8
|
+
throw(error: unknown): Promise<never>;
|
|
9
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function createIterator(emitter, event) {
|
|
2
|
+
let done = false;
|
|
3
|
+
return {
|
|
4
|
+
[Symbol.asyncIterator]() {
|
|
5
|
+
return this;
|
|
6
|
+
},
|
|
7
|
+
next() {
|
|
8
|
+
return new Promise(resolve => {
|
|
9
|
+
if (done) {
|
|
10
|
+
resolve({ done: true });
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
emitter.once(event, (value) => {
|
|
14
|
+
resolve({ value, done: false });
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
return() {
|
|
19
|
+
done = true;
|
|
20
|
+
return { done: true };
|
|
21
|
+
},
|
|
22
|
+
throw(error) {
|
|
23
|
+
done = true;
|
|
24
|
+
return Promise.reject(error);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=iterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterator.js","sourceRoot":"","sources":["../../src/utils/iterator.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,OAAsB,EAAE,KAAa;IAClE,IAAI,IAAI,GAAG,KAAK,CAAA;IAEhB,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI;YACF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;oBACvB,OAAM;gBACR,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAc,EAAE,EAAE;oBACrC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM;YACJ,IAAI,GAAG,IAAI,CAAA;YACX,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACvB,CAAC;QACD,KAAK,CAAC,KAAc;YAClB,IAAI,GAAG,IAAI,CAAA;YACX,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native replacements for lodash functions used by TypeFerry.
|
|
3
|
+
*
|
|
4
|
+
* These pure functions replace the lodash subset this package needs,
|
|
5
|
+
* avoiding the dependency on lodash which has unpatched CVEs.
|
|
6
|
+
*/
|
|
7
|
+
/** Returns true if the value is a plain object (not an array, null, etc). */
|
|
8
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
9
|
+
/** Checks if a value is empty (null, undefined, empty string, empty array/object). */
|
|
10
|
+
export declare function isEmpty(value: unknown): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Deep-merges source into target. Mutates and returns target.
|
|
13
|
+
* Skips `undefined` source values to match lodash's merge semantics.
|
|
14
|
+
*/
|
|
15
|
+
export declare function merge<T extends Record<string, unknown>>(target: T, ...sources: Record<string, unknown>[]): T;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a throttled version of a function.
|
|
18
|
+
* @param fn - Function to throttle
|
|
19
|
+
* @param wait - Milliseconds between invocations
|
|
20
|
+
* @param options - leading/trailing control
|
|
21
|
+
*/
|
|
22
|
+
export declare function throttle<A extends unknown[], R>(fn: (...args: A) => R, wait: number, options?: {
|
|
23
|
+
leading?: boolean;
|
|
24
|
+
trailing?: boolean;
|
|
25
|
+
}): ((...args: A) => void) & {
|
|
26
|
+
cancel: () => void;
|
|
27
|
+
};
|
|
28
|
+
/** Generates an array of numbers from 0 to n-1 (or start to end). */
|
|
29
|
+
export declare function range(start: number, end?: number): number[];
|
|
30
|
+
/** Returns a new object with the specified keys omitted. */
|
|
31
|
+
export declare function omit<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
32
|
+
/** Returns a new object with only the specified keys. */
|
|
33
|
+
export declare function pick<T extends Record<string, unknown>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native replacements for lodash functions used by TypeFerry.
|
|
3
|
+
*
|
|
4
|
+
* These pure functions replace the lodash subset this package needs,
|
|
5
|
+
* avoiding the dependency on lodash which has unpatched CVEs.
|
|
6
|
+
*/
|
|
7
|
+
/** Returns true if the value is a plain object (not an array, null, etc). */
|
|
8
|
+
export function isPlainObject(value) {
|
|
9
|
+
if (value == null || typeof value !== 'object')
|
|
10
|
+
return false;
|
|
11
|
+
const proto = Object.getPrototypeOf(value);
|
|
12
|
+
return proto === Object.prototype || proto === null;
|
|
13
|
+
}
|
|
14
|
+
/** Checks if a value is empty (null, undefined, empty string, empty array/object). */
|
|
15
|
+
export function isEmpty(value) {
|
|
16
|
+
if (value == null)
|
|
17
|
+
return true;
|
|
18
|
+
if (typeof value === 'string' || Array.isArray(value))
|
|
19
|
+
return value.length === 0;
|
|
20
|
+
if (typeof value === 'object')
|
|
21
|
+
return Object.keys(value).length === 0;
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Deep-merges source into target. Mutates and returns target.
|
|
26
|
+
* Skips `undefined` source values to match lodash's merge semantics.
|
|
27
|
+
*/
|
|
28
|
+
export function merge(target, ...sources) {
|
|
29
|
+
for (const source of sources) {
|
|
30
|
+
for (const [key, val] of Object.entries(source)) {
|
|
31
|
+
if (val === undefined)
|
|
32
|
+
continue;
|
|
33
|
+
const targetVal = target[key];
|
|
34
|
+
if (isPlainObject(targetVal) && isPlainObject(val)) {
|
|
35
|
+
;
|
|
36
|
+
target[key] = merge({ ...targetVal }, val);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
;
|
|
40
|
+
target[key] = val;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return target;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Creates a throttled version of a function.
|
|
48
|
+
* @param fn - Function to throttle
|
|
49
|
+
* @param wait - Milliseconds between invocations
|
|
50
|
+
* @param options - leading/trailing control
|
|
51
|
+
*/
|
|
52
|
+
export function throttle(fn, wait, options = {}) {
|
|
53
|
+
const { leading = true, trailing = true } = options;
|
|
54
|
+
let timer = null;
|
|
55
|
+
let lastArgs = null;
|
|
56
|
+
let lastCallTime = 0;
|
|
57
|
+
const invoke = (args) => {
|
|
58
|
+
lastCallTime = Date.now();
|
|
59
|
+
fn(...args);
|
|
60
|
+
};
|
|
61
|
+
const throttled = ((...args) => {
|
|
62
|
+
const now = Date.now();
|
|
63
|
+
const remaining = wait - (now - lastCallTime);
|
|
64
|
+
if (remaining <= 0 || remaining > wait) {
|
|
65
|
+
if (timer) {
|
|
66
|
+
clearTimeout(timer);
|
|
67
|
+
timer = null;
|
|
68
|
+
}
|
|
69
|
+
if (leading)
|
|
70
|
+
invoke(args);
|
|
71
|
+
else {
|
|
72
|
+
lastArgs = args;
|
|
73
|
+
if (trailing) {
|
|
74
|
+
timer = setTimeout(() => {
|
|
75
|
+
timer = null;
|
|
76
|
+
if (lastArgs) {
|
|
77
|
+
invoke(lastArgs);
|
|
78
|
+
lastArgs = null;
|
|
79
|
+
}
|
|
80
|
+
}, wait);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
lastArgs = args;
|
|
86
|
+
if (!timer && trailing) {
|
|
87
|
+
timer = setTimeout(() => {
|
|
88
|
+
timer = null;
|
|
89
|
+
if (lastArgs) {
|
|
90
|
+
invoke(lastArgs);
|
|
91
|
+
lastArgs = null;
|
|
92
|
+
}
|
|
93
|
+
}, remaining);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
throttled.cancel = () => {
|
|
98
|
+
if (timer) {
|
|
99
|
+
clearTimeout(timer);
|
|
100
|
+
timer = null;
|
|
101
|
+
}
|
|
102
|
+
lastArgs = null;
|
|
103
|
+
lastCallTime = 0;
|
|
104
|
+
};
|
|
105
|
+
return throttled;
|
|
106
|
+
}
|
|
107
|
+
/** Generates an array of numbers from 0 to n-1 (or start to end). */
|
|
108
|
+
export function range(start, end) {
|
|
109
|
+
if (end === undefined) {
|
|
110
|
+
return Array.from({ length: start }, (_, i) => i);
|
|
111
|
+
}
|
|
112
|
+
return Array.from({ length: end - start }, (_, i) => start + i);
|
|
113
|
+
}
|
|
114
|
+
/** Returns a new object with the specified keys omitted. */
|
|
115
|
+
export function omit(obj, keys) {
|
|
116
|
+
const set = new Set(keys);
|
|
117
|
+
return Object.fromEntries(Object.entries(obj).filter(([k]) => !set.has(k)));
|
|
118
|
+
}
|
|
119
|
+
/** Returns a new object with only the specified keys. */
|
|
120
|
+
export function pick(obj, keys) {
|
|
121
|
+
return Object.fromEntries(keys.filter(k => k in obj).map(k => [k, obj[k]]));
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=lodash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lodash.js","sourceRoot":"","sources":["../../src/utils/lodash.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAC3B,KAAc;IAEd,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAA;AACrD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACnD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAA;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IACrE,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CACnB,MAAS,EACT,GAAG,OAAkC;IAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAQ;YAE/B,MAAM,SAAS,GAAI,MAAkC,CAAC,GAAG,CAAC,CAAA;YAC1D,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,CAAC;gBAAC,MAAkC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,CAAC,CAAA;YAC1E,CAAC;iBAAM,CAAC;gBACN,CAAC;gBAAC,MAAkC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,EAAqB,EACrB,IAAY,EACZ,UAAqD,EAAE;IAEvD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACnD,IAAI,KAAK,GAAyC,IAAI,CAAA;IACtD,IAAI,QAAQ,GAAa,IAAI,CAAA;IAC7B,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,MAAM,MAAM,GAAG,CAAC,IAAO,EAAQ,EAAE;QAC/B,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACzB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IACb,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,IAAO,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,CAAA;QAE7C,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;YACD,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAA;iBACpB,CAAC;gBACJ,QAAQ,GAAG,IAAI,CAAA;gBACf,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBACtB,KAAK,GAAG,IAAI,CAAA;wBACZ,IAAI,QAAQ,EAAE,CAAC;4BACb,MAAM,CAAC,QAAQ,CAAC,CAAA;4BAChB,QAAQ,GAAG,IAAI,CAAA;wBACjB,CAAC;oBACH,CAAC,EAAE,IAAI,CAAC,CAAA;gBACV,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAA;YACf,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACvB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,KAAK,GAAG,IAAI,CAAA;oBACZ,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,CAAC,QAAQ,CAAC,CAAA;wBAChB,QAAQ,GAAG,IAAI,CAAA;oBACjB,CAAC;gBACH,CAAC,EAAE,SAAS,CAAC,CAAA;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAoD,CAAA;IAErD,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;QACD,QAAQ,GAAG,IAAI,CAAA;QACf,YAAY,GAAG,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAY;IAC/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;AACjE,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,IAAI,CAClB,GAAM,EACN,IAAS;IAET,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,IAAgB,CAAC,CAAA;IAC7C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACnC,CAAA;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,IAAI,CAClB,GAAM,EACN,IAAS;IAET,OAAO,MAAM,CAAC,WAAW,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACnC,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { v4 } from '@lukeed/uuid';
|
|
2
|
+
export declare enum PayloadType {
|
|
3
|
+
METHOD = "method",
|
|
4
|
+
RESULT = "result",
|
|
5
|
+
EVENT = "event",
|
|
6
|
+
ERROR = "error",
|
|
7
|
+
AUTH_RESULT = "auth:result"
|
|
8
|
+
}
|
|
9
|
+
export declare namespace Presentation {
|
|
10
|
+
const uuid: typeof v4;
|
|
11
|
+
type Payload = {
|
|
12
|
+
type: PayloadType;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
function decode<T = Payload>(payload: string | {
|
|
16
|
+
data: string;
|
|
17
|
+
}): T;
|
|
18
|
+
function encode<T = Payload>(payload: T): string;
|
|
19
|
+
}
|