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,25 @@
|
|
|
1
|
+
import { v4 } from '@lukeed/uuid';
|
|
2
|
+
import { EJSON } from '../ejson/index.js';
|
|
3
|
+
export var PayloadType;
|
|
4
|
+
(function (PayloadType) {
|
|
5
|
+
PayloadType["METHOD"] = "method";
|
|
6
|
+
PayloadType["RESULT"] = "result";
|
|
7
|
+
PayloadType["EVENT"] = "event";
|
|
8
|
+
PayloadType["ERROR"] = "error";
|
|
9
|
+
PayloadType["AUTH_RESULT"] = "auth:result";
|
|
10
|
+
})(PayloadType || (PayloadType = {}));
|
|
11
|
+
export var Presentation;
|
|
12
|
+
(function (Presentation) {
|
|
13
|
+
Presentation.uuid = v4;
|
|
14
|
+
function decode(payload) {
|
|
15
|
+
return EJSON.parse(typeof payload === 'string'
|
|
16
|
+
? payload
|
|
17
|
+
: payload.data);
|
|
18
|
+
}
|
|
19
|
+
Presentation.decode = decode;
|
|
20
|
+
function encode(payload) {
|
|
21
|
+
return EJSON.stringify(payload);
|
|
22
|
+
}
|
|
23
|
+
Presentation.encode = encode;
|
|
24
|
+
})(Presentation || (Presentation = {}));
|
|
25
|
+
//# sourceMappingURL=presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation.js","sourceRoot":"","sources":["../../src/utils/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,0CAA2B,CAAA;AAC7B,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,KAAW,YAAY,CAmB5B;AAnBD,WAAiB,YAAY;IACd,iBAAI,GAAG,EAAE,CAAA;IAOtB,SAAgB,MAAM,CAAc,OAAkC;QACpE,OAAO,KAAK,CAAC,KAAK,CAChB,OAAO,OAAO,KAAK,QAAQ;YACzB,CAAC,CAAC,OAAO;YACT,CAAC,CAAE,OAA4B,CAAC,IAAI,CACvC,CAAA;IACH,CAAC;IANe,mBAAM,SAMrB,CAAA;IAED,SAAgB,MAAM,CAAc,OAAU;QAC5C,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAFe,mBAAM,SAErB,CAAA;AACH,CAAC,EAnBgB,YAAY,KAAZ,YAAY,QAmB5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function getPromise() {
|
|
2
|
+
let resolve = null;
|
|
3
|
+
const promise = new Promise(r => {
|
|
4
|
+
resolve = r;
|
|
5
|
+
});
|
|
6
|
+
return {
|
|
7
|
+
promise,
|
|
8
|
+
resolve,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function sleep(ms) {
|
|
12
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
13
|
+
}
|
|
14
|
+
export async function randomSleep(min = 50, max = 200) {
|
|
15
|
+
return sleep(Math.floor(Math.random() * (max - min) + min));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../src/utils/promise.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU;IACxB,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QAC9B,OAAO,GAAG,CAAC,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,OAAO;QACP,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;AAC7D,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire protocol for TypeFerry WebSocket communication.
|
|
3
|
+
*
|
|
4
|
+
* Replaces Socket.IO's multi-event system with a single JSON envelope per
|
|
5
|
+
* WebSocket frame. Every message is EJSON-encoded text (preserving existing
|
|
6
|
+
* Date/Binary/ObjectId round-tripping via Presentation.encode/decode).
|
|
7
|
+
*
|
|
8
|
+
* The `t` field is the discriminator that determines message shape.
|
|
9
|
+
*/
|
|
10
|
+
/** Discriminator for all WebSocket frame types. */
|
|
11
|
+
export declare enum MessageType {
|
|
12
|
+
/** Client → Server: RPC call expecting a response */
|
|
13
|
+
RPC = "rpc",
|
|
14
|
+
/** Client → Server: fire-and-forget RPC (no response) */
|
|
15
|
+
RPC_VOID = "rpc:void",
|
|
16
|
+
/** Server → Client: RPC response correlated by `id` */
|
|
17
|
+
RPC_RESPONSE = "rpc:res",
|
|
18
|
+
/** Server → Client: push event from a subscription */
|
|
19
|
+
EVENT = "event",
|
|
20
|
+
/** Server → Client: authentication result after connection */
|
|
21
|
+
AUTH = "auth",
|
|
22
|
+
/** Bidirectional: keep-alive ping (server-initiated) */
|
|
23
|
+
PING = "ping",
|
|
24
|
+
/** Bidirectional: keep-alive pong (client response) */
|
|
25
|
+
PONG = "pong"
|
|
26
|
+
}
|
|
27
|
+
/** RPC call that expects a correlated response. */
|
|
28
|
+
export interface RpcMessage {
|
|
29
|
+
readonly t: MessageType.RPC;
|
|
30
|
+
/** UUID for request/response correlation */
|
|
31
|
+
readonly id: string;
|
|
32
|
+
readonly method: string;
|
|
33
|
+
readonly params?: unknown;
|
|
34
|
+
}
|
|
35
|
+
/** Fire-and-forget RPC call (no response expected). */
|
|
36
|
+
export interface RpcVoidMessage {
|
|
37
|
+
readonly t: MessageType.RPC_VOID;
|
|
38
|
+
readonly method: string;
|
|
39
|
+
readonly params?: unknown;
|
|
40
|
+
}
|
|
41
|
+
/** Client ping response. */
|
|
42
|
+
export interface PongMessage {
|
|
43
|
+
readonly t: MessageType.PONG;
|
|
44
|
+
}
|
|
45
|
+
/** Union of all client-to-server message types. */
|
|
46
|
+
export type ClientMessage = RpcMessage | RpcVoidMessage | PongMessage;
|
|
47
|
+
/** Successful RPC response. */
|
|
48
|
+
export interface RpcResponseSuccess {
|
|
49
|
+
readonly t: MessageType.RPC_RESPONSE;
|
|
50
|
+
readonly id: string;
|
|
51
|
+
readonly result: unknown;
|
|
52
|
+
}
|
|
53
|
+
/** Failed RPC response. */
|
|
54
|
+
export interface RpcResponseError {
|
|
55
|
+
readonly t: MessageType.RPC_RESPONSE;
|
|
56
|
+
readonly id: string;
|
|
57
|
+
readonly error: string;
|
|
58
|
+
readonly errors?: unknown;
|
|
59
|
+
}
|
|
60
|
+
/** Union of RPC response shapes. */
|
|
61
|
+
export type RpcResponseMessage = RpcResponseSuccess | RpcResponseError;
|
|
62
|
+
/** Push event from a subscription channel. */
|
|
63
|
+
export interface EventMessage {
|
|
64
|
+
readonly t: MessageType.EVENT;
|
|
65
|
+
readonly uuid: string;
|
|
66
|
+
readonly event: string;
|
|
67
|
+
readonly channel?: string;
|
|
68
|
+
readonly params?: unknown;
|
|
69
|
+
}
|
|
70
|
+
/** Authentication result sent after WebSocket connection. */
|
|
71
|
+
export interface AuthMessage {
|
|
72
|
+
readonly t: MessageType.AUTH;
|
|
73
|
+
readonly authenticated: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** Server-initiated keep-alive ping. */
|
|
76
|
+
export interface PingMessage {
|
|
77
|
+
readonly t: MessageType.PING;
|
|
78
|
+
}
|
|
79
|
+
/** Union of all server-to-client message types. */
|
|
80
|
+
export type ServerMessage = RpcResponseMessage | EventMessage | AuthMessage | PingMessage;
|
|
81
|
+
/** Any message that can travel over the wire. */
|
|
82
|
+
export type WireMessage = ClientMessage | ServerMessage;
|
|
83
|
+
/** Narrows a parsed envelope to an RPC call. */
|
|
84
|
+
export declare function isRpcMessage(msg: {
|
|
85
|
+
t: string;
|
|
86
|
+
}): msg is RpcMessage;
|
|
87
|
+
/** Narrows a parsed envelope to a void RPC call. */
|
|
88
|
+
export declare function isRpcVoidMessage(msg: {
|
|
89
|
+
t: string;
|
|
90
|
+
}): msg is RpcVoidMessage;
|
|
91
|
+
/** Narrows a parsed envelope to an RPC response. */
|
|
92
|
+
export declare function isRpcResponse(msg: {
|
|
93
|
+
t: string;
|
|
94
|
+
}): msg is RpcResponseMessage;
|
|
95
|
+
/** Narrows a parsed envelope to a push event. */
|
|
96
|
+
export declare function isEventMessage(msg: {
|
|
97
|
+
t: string;
|
|
98
|
+
}): msg is EventMessage;
|
|
99
|
+
/** Narrows a parsed envelope to an auth result. */
|
|
100
|
+
export declare function isAuthMessage(msg: {
|
|
101
|
+
t: string;
|
|
102
|
+
}): msg is AuthMessage;
|
|
103
|
+
/** Narrows a parsed envelope to a ping. */
|
|
104
|
+
export declare function isPingMessage(msg: {
|
|
105
|
+
t: string;
|
|
106
|
+
}): msg is PingMessage;
|
|
107
|
+
/** Narrows a parsed envelope to a pong. */
|
|
108
|
+
export declare function isPongMessage(msg: {
|
|
109
|
+
t: string;
|
|
110
|
+
}): msg is PongMessage;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire protocol for TypeFerry WebSocket communication.
|
|
3
|
+
*
|
|
4
|
+
* Replaces Socket.IO's multi-event system with a single JSON envelope per
|
|
5
|
+
* WebSocket frame. Every message is EJSON-encoded text (preserving existing
|
|
6
|
+
* Date/Binary/ObjectId round-tripping via Presentation.encode/decode).
|
|
7
|
+
*
|
|
8
|
+
* The `t` field is the discriminator that determines message shape.
|
|
9
|
+
*/
|
|
10
|
+
/** Discriminator for all WebSocket frame types. */
|
|
11
|
+
export var MessageType;
|
|
12
|
+
(function (MessageType) {
|
|
13
|
+
/** Client → Server: RPC call expecting a response */
|
|
14
|
+
MessageType["RPC"] = "rpc";
|
|
15
|
+
/** Client → Server: fire-and-forget RPC (no response) */
|
|
16
|
+
MessageType["RPC_VOID"] = "rpc:void";
|
|
17
|
+
/** Server → Client: RPC response correlated by `id` */
|
|
18
|
+
MessageType["RPC_RESPONSE"] = "rpc:res";
|
|
19
|
+
/** Server → Client: push event from a subscription */
|
|
20
|
+
MessageType["EVENT"] = "event";
|
|
21
|
+
/** Server → Client: authentication result after connection */
|
|
22
|
+
MessageType["AUTH"] = "auth";
|
|
23
|
+
/** Bidirectional: keep-alive ping (server-initiated) */
|
|
24
|
+
MessageType["PING"] = "ping";
|
|
25
|
+
/** Bidirectional: keep-alive pong (client response) */
|
|
26
|
+
MessageType["PONG"] = "pong";
|
|
27
|
+
})(MessageType || (MessageType = {}));
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Type guards
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
/** Narrows a parsed envelope to an RPC call. */
|
|
32
|
+
export function isRpcMessage(msg) {
|
|
33
|
+
return msg.t === MessageType.RPC;
|
|
34
|
+
}
|
|
35
|
+
/** Narrows a parsed envelope to a void RPC call. */
|
|
36
|
+
export function isRpcVoidMessage(msg) {
|
|
37
|
+
return msg.t === MessageType.RPC_VOID;
|
|
38
|
+
}
|
|
39
|
+
/** Narrows a parsed envelope to an RPC response. */
|
|
40
|
+
export function isRpcResponse(msg) {
|
|
41
|
+
return msg.t === MessageType.RPC_RESPONSE;
|
|
42
|
+
}
|
|
43
|
+
/** Narrows a parsed envelope to a push event. */
|
|
44
|
+
export function isEventMessage(msg) {
|
|
45
|
+
return msg.t === MessageType.EVENT;
|
|
46
|
+
}
|
|
47
|
+
/** Narrows a parsed envelope to an auth result. */
|
|
48
|
+
export function isAuthMessage(msg) {
|
|
49
|
+
return msg.t === MessageType.AUTH;
|
|
50
|
+
}
|
|
51
|
+
/** Narrows a parsed envelope to a ping. */
|
|
52
|
+
export function isPingMessage(msg) {
|
|
53
|
+
return msg.t === MessageType.PING;
|
|
54
|
+
}
|
|
55
|
+
/** Narrows a parsed envelope to a pong. */
|
|
56
|
+
export function isPongMessage(msg) {
|
|
57
|
+
return msg.t === MessageType.PONG;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/utils/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,mDAAmD;AACnD,MAAM,CAAN,IAAY,WAeX;AAfD,WAAY,WAAW;IACrB,qDAAqD;IACrD,0BAAW,CAAA;IACX,yDAAyD;IACzD,oCAAqB,CAAA;IACrB,uDAAuD;IACvD,uCAAwB,CAAA;IACxB,sDAAsD;IACtD,8BAAe,CAAA;IACf,8DAA8D;IAC9D,4BAAa,CAAA;IACb,wDAAwD;IACxD,4BAAa,CAAA;IACb,uDAAuD;IACvD,4BAAa,CAAA;AACf,CAAC,EAfW,WAAW,KAAX,WAAW,QAetB;AAkFD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,gDAAgD;AAChD,MAAM,UAAU,YAAY,CAAC,GAAkB;IAC7C,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,GAAG,CAAA;AAClC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,QAAQ,CAAA;AACvC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,YAAY,CAAA;AAC3C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,GAAkB;IAC/C,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAA;AACpC,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAA;AACnC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAA;AACnC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
export type AnyFunction = (...args: any[]) => any | Promise<any>;
|
|
3
|
+
export type ServerMethodDefinition<Schema extends z.ZodTypeAny | z.ZodUndefined = z.ZodUndefined, Result = any> = (params: Schema extends z.ZodUndefined ? CallOptions | void : z.input<Schema>, options: Schema extends z.ZodUndefined ? void : CallOptions | void) => Promise<Result>;
|
|
4
|
+
/** Allows flat method definitions, nested namespace objects, or deeply nested. */
|
|
5
|
+
export type ServerMethods = {
|
|
6
|
+
[key: string]: AnyMethodLike | ServerMethodNode;
|
|
7
|
+
};
|
|
8
|
+
/** Any callable that returns a promise — loose constraint for method shapes. */
|
|
9
|
+
type AnyMethodLike = (...args: never[]) => Promise<unknown>;
|
|
10
|
+
/** Recursive namespace node: methods or further nested namespaces. */
|
|
11
|
+
type ServerMethodNode = {
|
|
12
|
+
[key: string]: AnyMethodLike | ServerMethodNode;
|
|
13
|
+
};
|
|
14
|
+
export type MethodParams<T = any> = T;
|
|
15
|
+
export type CallOptions = {
|
|
16
|
+
http?: boolean;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
httpFallback?: boolean;
|
|
19
|
+
ignoreInit?: boolean;
|
|
20
|
+
maxRetries?: number;
|
|
21
|
+
delayBetweenRetriesMs?: number;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "typeferry",
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Type-safe real-time RPC framework for TypeScript",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"exports": {
|
|
12
|
+
"./client": {
|
|
13
|
+
"types": "./dist/client/index.d.ts",
|
|
14
|
+
"import": "./dist/client/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./server": {
|
|
17
|
+
"types": "./dist/server/index.d.ts",
|
|
18
|
+
"import": "./dist/server/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./server/decorators": {
|
|
21
|
+
"types": "./dist/server/decorators/index.d.ts",
|
|
22
|
+
"import": "./dist/server/decorators/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./server/transports": {
|
|
25
|
+
"types": "./dist/server/transports/index.d.ts",
|
|
26
|
+
"import": "./dist/server/transports/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./auth": {
|
|
29
|
+
"types": "./dist/auth/index.d.ts",
|
|
30
|
+
"import": "./dist/auth/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./auth/server/oauth": {
|
|
33
|
+
"types": "./dist/auth/server/oauth/index.d.ts",
|
|
34
|
+
"import": "./dist/auth/server/oauth/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./auth/client/oauth": {
|
|
37
|
+
"types": "./dist/auth/client/oauth/index.d.ts",
|
|
38
|
+
"import": "./dist/auth/client/oauth/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./react": {
|
|
41
|
+
"types": "./dist/react/index.d.ts",
|
|
42
|
+
"import": "./dist/react/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./ejson": {
|
|
45
|
+
"types": "./dist/ejson/index.d.ts",
|
|
46
|
+
"import": "./dist/ejson/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./mongodb": {
|
|
49
|
+
"types": "./dist/mongodb/index.d.ts",
|
|
50
|
+
"import": "./dist/mongodb/index.js"
|
|
51
|
+
},
|
|
52
|
+
"./mongodb/decorators": {
|
|
53
|
+
"types": "./dist/mongodb/decorators/index.d.ts",
|
|
54
|
+
"import": "./dist/mongodb/decorators/index.js"
|
|
55
|
+
},
|
|
56
|
+
"./utils": {
|
|
57
|
+
"types": "./dist/utils/index.d.ts",
|
|
58
|
+
"import": "./dist/utils/index.js"
|
|
59
|
+
},
|
|
60
|
+
"./*": {
|
|
61
|
+
"types": "./dist/*.d.ts",
|
|
62
|
+
"import": "./dist/*.js"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"scripts": {
|
|
66
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json && node scripts/prepare-dist.mjs",
|
|
67
|
+
"typecheck": "tsc --noEmit",
|
|
68
|
+
"test": "npm run test:unit && npm run test:integration && npm run test:browser",
|
|
69
|
+
"test:watch": "npm run test:unit:watch",
|
|
70
|
+
"test:unit": "vitest --config vitest.config.unit.ts --run --watch=false",
|
|
71
|
+
"test:unit:watch": "vitest --config vitest.config.unit.ts --watch",
|
|
72
|
+
"test:coverage": "vitest --config vitest.config.unit.ts --run --coverage",
|
|
73
|
+
"test:integration": "vitest --config vitest.config.integration.ts --run --watch=false",
|
|
74
|
+
"test:integration:watch": "vitest --config vitest.config.integration.ts --watch",
|
|
75
|
+
"test:browser": "vitest --config vitest.config.browser.ts --run --watch=false",
|
|
76
|
+
"test:browser:watch": "vitest --config vitest.config.browser.ts --watch",
|
|
77
|
+
"lint": "eslint src/",
|
|
78
|
+
"lint:fix": "eslint src/ --fix"
|
|
79
|
+
},
|
|
80
|
+
"dependencies": {
|
|
81
|
+
"@hono/node-server": "^2.1.1",
|
|
82
|
+
"@lukeed/uuid": "^2.0.1",
|
|
83
|
+
"fast-deep-equal": "^3.1.3",
|
|
84
|
+
"google-auth-library": "^10.9.0",
|
|
85
|
+
"hono": "^4.13.3",
|
|
86
|
+
"jsonwebtoken": "^9.0.2",
|
|
87
|
+
"limiter": "^2.1.0",
|
|
88
|
+
"memoizee": "^0.4.15",
|
|
89
|
+
"query-string": "^9.5.0",
|
|
90
|
+
"redis": "^4.6.7",
|
|
91
|
+
"ua-parser-js": "^2.0.10",
|
|
92
|
+
"use-debounce": "^10.1.1",
|
|
93
|
+
"ws": "^8.21.3",
|
|
94
|
+
"zod": "^4.4.3"
|
|
95
|
+
},
|
|
96
|
+
"peerDependencies": {
|
|
97
|
+
"@react-oauth/google": ">=0.12",
|
|
98
|
+
"mongodb": ">=6",
|
|
99
|
+
"react": ">=18"
|
|
100
|
+
},
|
|
101
|
+
"peerDependenciesMeta": {
|
|
102
|
+
"mongodb": {
|
|
103
|
+
"optional": true
|
|
104
|
+
},
|
|
105
|
+
"react": {
|
|
106
|
+
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"@react-oauth/google": {
|
|
109
|
+
"optional": true
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"devDependencies": {
|
|
113
|
+
"@eslint/js": "^10.0.1",
|
|
114
|
+
"@react-oauth/google": "^0.12.2",
|
|
115
|
+
"@testing-library/react": "^16.3.2",
|
|
116
|
+
"@types/json-stable-stringify": "^1",
|
|
117
|
+
"@types/jsonwebtoken": "^9.0.2",
|
|
118
|
+
"@types/memoizee": "^0",
|
|
119
|
+
"@types/node": "^24.13.3",
|
|
120
|
+
"@types/sinon": "^10.0.16",
|
|
121
|
+
"@types/ua-parser-js": "^0.7.39",
|
|
122
|
+
"@types/ws": "^8",
|
|
123
|
+
"@vitest/browser": "^4.1.11",
|
|
124
|
+
"@vitest/browser-playwright": "^4.1.11",
|
|
125
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
126
|
+
"esbuild": "^0.28.1",
|
|
127
|
+
"eslint": "^10.9.0",
|
|
128
|
+
"eslint-plugin-security": "^4.0.1",
|
|
129
|
+
"globals": "^17.7.0",
|
|
130
|
+
"jsdom": "^30.0.1",
|
|
131
|
+
"mongodb": "^7.5.0",
|
|
132
|
+
"playwright": "^1.61.1",
|
|
133
|
+
"postcss": "^8.5.26",
|
|
134
|
+
"react": "^19.2.3",
|
|
135
|
+
"react-dom": "^19.2.3",
|
|
136
|
+
"sinon": "^18.0.0",
|
|
137
|
+
"typescript": "^5.9.3",
|
|
138
|
+
"typescript-eslint": "^8.67.0",
|
|
139
|
+
"vite": "^7.3.3",
|
|
140
|
+
"vitest": "^4.1.11"
|
|
141
|
+
},
|
|
142
|
+
"overrides": {
|
|
143
|
+
"body-parser": "^2.3.0",
|
|
144
|
+
"brace-expansion": "^5.0.9",
|
|
145
|
+
"form-data": "^4.0.6",
|
|
146
|
+
"ip-address": "^10.5.0",
|
|
147
|
+
"nanoid": "^6.0.1",
|
|
148
|
+
"postcss": "^8.5.26",
|
|
149
|
+
"qs": "^6.15.3",
|
|
150
|
+
"undici": "^7.29.0",
|
|
151
|
+
"vite": "^7.3.3"
|
|
152
|
+
},
|
|
153
|
+
"engines": {
|
|
154
|
+
"node": "24.19.0",
|
|
155
|
+
"npm": "11.17.0"
|
|
156
|
+
},
|
|
157
|
+
"devEngines": {
|
|
158
|
+
"runtime": {
|
|
159
|
+
"name": "node",
|
|
160
|
+
"version": "24.19.0",
|
|
161
|
+
"onFail": "error"
|
|
162
|
+
},
|
|
163
|
+
"packageManager": {
|
|
164
|
+
"name": "npm",
|
|
165
|
+
"version": "11.17.0",
|
|
166
|
+
"onFail": "error"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"packageManager": "npm@11.17.0",
|
|
170
|
+
"allowScripts": {
|
|
171
|
+
"esbuild": true,
|
|
172
|
+
"es5-ext": true
|
|
173
|
+
},
|
|
174
|
+
"repository": {
|
|
175
|
+
"type": "git",
|
|
176
|
+
"url": "git+https://github.com/leonardoventurini/typeferry.git",
|
|
177
|
+
"directory": "typeferry-ts"
|
|
178
|
+
},
|
|
179
|
+
"homepage": "https://github.com/leonardoventurini/typeferry#readme",
|
|
180
|
+
"bugs": {
|
|
181
|
+
"url": "https://github.com/leonardoventurini/typeferry/issues"
|
|
182
|
+
},
|
|
183
|
+
"publishConfig": {
|
|
184
|
+
"access": "public",
|
|
185
|
+
"registry": "https://registry.npmjs.org/"
|
|
186
|
+
}
|
|
187
|
+
}
|