verani 0.6.1 → 0.7.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/dist/typed.cjs +1 -1
- package/dist/typed.d.cts +5 -5
- package/dist/typed.d.mts +5 -5
- package/dist/typed.mjs +1 -1
- package/package.json +1 -1
package/dist/typed.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const require_actor_runtime=require(`./actor-runtime-v4YHMnw9.cjs`);require(`./encode-BYFW_6TI.cjs`);const require_validation=require(`./validation-DvWPGkXK.cjs`);function createTypedSocketEmit(e){let n=((n,r)=>{e.emit(n,r)});return n.to=n=>{let r=e.to(n);return{emit:(e,n)=>r.emit(e,n)}},n}function createTypedActorEmit(e){let n=((n,r)=>e.emit.emit(n,r));return n.to=n=>{let r=e.emit.to(n);return{emit:(e,n)=>r.emit(e,n)}},n}function wrapContext(e){return{actor:Object.assign({},e.actor,{emit:createTypedActorEmit(e.actor)}),ws:e.ws,meta:e.meta,emit:createTypedSocketEmit(e.emit)}}function wrapMessageContext(e){return{...wrapContext(e),frame:e.frame}}function createTypedRoom(r,i){let o=require_actor_runtime.i({name:i.name,websocketPath:i.websocketPath??`/ws`,extractMeta:i.extractMeta,onConnect:i.onConnect?e=>i.onConnect(wrapContext(e)):void 0,onDisconnect:i.onDisconnect?e=>i.onDisconnect(wrapContext(e)):void 0,onError:i.onError?(e,n)=>i.onError(e,wrapContext(n)):void 0,onHibernationRestore:i.onHibernationRestore}),s=require_validation.o(r),c=s?require_validation.a(r):void 0;return{
|
|
1
|
+
const require_actor_runtime=require(`./actor-runtime-v4YHMnw9.cjs`);require(`./encode-BYFW_6TI.cjs`);const require_validation=require(`./validation-DvWPGkXK.cjs`);function createTypedSocketEmit(e){let n=((n,r)=>{e.emit(n,r)});return n.to=n=>{let r=e.to(n);return{emit:(e,n)=>r.emit(e,n)}},n}function createTypedActorEmit(e){let n=((n,r)=>e.emit.emit(n,r));return n.to=n=>{let r=e.emit.to(n);return{emit:(e,n)=>r.emit(e,n)}},n}function wrapContext(e){return{actor:Object.assign({},e.actor,{emit:createTypedActorEmit(e.actor)}),ws:e.ws,meta:e.meta,emit:createTypedSocketEmit(e.emit)}}function wrapMessageContext(e){return{...wrapContext(e),frame:e.frame}}function createTypedRoom(r,i){let o=require_actor_runtime.i({name:i.name,websocketPath:i.websocketPath??`/ws`,extractMeta:i.extractMeta,onConnect:i.onConnect?e=>i.onConnect(wrapContext(e)):void 0,onDisconnect:i.onDisconnect?e=>i.onDisconnect(wrapContext(e)):void 0,onError:i.onError?(e,n)=>i.onError(e,wrapContext(n)):void 0,onHibernationRestore:i.onHibernationRestore}),s=require_validation.o(r),c=s?require_validation.a(r):void 0;return{on(e,i){o.on(e,(a,o)=>{let l=wrapMessageContext(a);if(s){let a=require_validation.r(r,e);if(a){let r=require_validation.s(a,o,e,`client`,c);return r===void 0?void 0:i(l,r)}}return i(l,o)})},off(e,n){o.off(e)},get definition(){return o},contract:r}}exports.createActorHandler=require_actor_runtime.t,exports.createTypedRoom=createTypedRoom,exports.createValidatedHandler=require_validation.t,exports.defineContract=require_validation.l,exports.getClientValidator=require_validation.r,exports.getValidationErrorHandler=require_validation.a,exports.isContract=require_validation.u,exports.isValidatedContract=require_validation.o,exports.payload=require_validation.d,exports.validateData=require_validation.s,exports.withValidation=require_validation.c;
|
package/dist/typed.d.cts
CHANGED
|
@@ -110,7 +110,7 @@ interface TypedRoomConfig<C extends Contract, TMeta extends ConnectionMeta = Con
|
|
|
110
110
|
*/
|
|
111
111
|
type TypedEventHandler<C extends Contract, E extends ClientEventNames<C>, TMeta extends ConnectionMeta = ConnectionMeta, TEnv = unknown> = (ctx: TypedMessageContext<C, TMeta, TEnv>, data: ClientPayload<C, E>) => void | Promise<void>;
|
|
112
112
|
/**
|
|
113
|
-
* Typed room with contract-aware
|
|
113
|
+
* Typed room with contract-aware event handling (Socket.io-like API).
|
|
114
114
|
*/
|
|
115
115
|
interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = ConnectionMeta, E = unknown> {
|
|
116
116
|
/**
|
|
@@ -122,13 +122,13 @@ interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = Connectio
|
|
|
122
122
|
*
|
|
123
123
|
* @example
|
|
124
124
|
* ```typescript
|
|
125
|
-
* room.
|
|
125
|
+
* room.on("message.send", (ctx, data) => {
|
|
126
126
|
* // data: { text: string } - inferred from contract!
|
|
127
127
|
* ctx.emit("chat.message", { from: ctx.meta.userId, text: data.text });
|
|
128
128
|
* });
|
|
129
129
|
* ```
|
|
130
130
|
*/
|
|
131
|
-
|
|
131
|
+
on<TEvent extends ClientEventNames<C>>(event: TEvent, handler: TypedEventHandler<C, TEvent, TMeta, E>): void;
|
|
132
132
|
/**
|
|
133
133
|
* Remove an event handler.
|
|
134
134
|
* @param event - Event name
|
|
@@ -148,7 +148,7 @@ interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = Connectio
|
|
|
148
148
|
* Creates a type-safe room based on a contract definition.
|
|
149
149
|
*
|
|
150
150
|
* This wraps the base `defineRoom()` function and adds:
|
|
151
|
-
* - Typed `
|
|
151
|
+
* - Typed `on()` method for registering event handlers
|
|
152
152
|
* - Typed `emit` on context for sending server events
|
|
153
153
|
* - Compile-time validation of event names and payloads
|
|
154
154
|
*
|
|
@@ -174,7 +174,7 @@ interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = Connectio
|
|
|
174
174
|
* },
|
|
175
175
|
* });
|
|
176
176
|
*
|
|
177
|
-
* room.
|
|
177
|
+
* room.on("message.send", (ctx, data) => {
|
|
178
178
|
* ctx.emit("chat.message", { from: ctx.meta.userId, text: data.text });
|
|
179
179
|
* });
|
|
180
180
|
*
|
package/dist/typed.d.mts
CHANGED
|
@@ -110,7 +110,7 @@ interface TypedRoomConfig<C extends Contract, TMeta extends ConnectionMeta = Con
|
|
|
110
110
|
*/
|
|
111
111
|
type TypedEventHandler<C extends Contract, E extends ClientEventNames<C>, TMeta extends ConnectionMeta = ConnectionMeta, TEnv = unknown> = (ctx: TypedMessageContext<C, TMeta, TEnv>, data: ClientPayload<C, E>) => void | Promise<void>;
|
|
112
112
|
/**
|
|
113
|
-
* Typed room with contract-aware
|
|
113
|
+
* Typed room with contract-aware event handling (Socket.io-like API).
|
|
114
114
|
*/
|
|
115
115
|
interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = ConnectionMeta, E = unknown> {
|
|
116
116
|
/**
|
|
@@ -122,13 +122,13 @@ interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = Connectio
|
|
|
122
122
|
*
|
|
123
123
|
* @example
|
|
124
124
|
* ```typescript
|
|
125
|
-
* room.
|
|
125
|
+
* room.on("message.send", (ctx, data) => {
|
|
126
126
|
* // data: { text: string } - inferred from contract!
|
|
127
127
|
* ctx.emit("chat.message", { from: ctx.meta.userId, text: data.text });
|
|
128
128
|
* });
|
|
129
129
|
* ```
|
|
130
130
|
*/
|
|
131
|
-
|
|
131
|
+
on<TEvent extends ClientEventNames<C>>(event: TEvent, handler: TypedEventHandler<C, TEvent, TMeta, E>): void;
|
|
132
132
|
/**
|
|
133
133
|
* Remove an event handler.
|
|
134
134
|
* @param event - Event name
|
|
@@ -148,7 +148,7 @@ interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = Connectio
|
|
|
148
148
|
* Creates a type-safe room based on a contract definition.
|
|
149
149
|
*
|
|
150
150
|
* This wraps the base `defineRoom()` function and adds:
|
|
151
|
-
* - Typed `
|
|
151
|
+
* - Typed `on()` method for registering event handlers
|
|
152
152
|
* - Typed `emit` on context for sending server events
|
|
153
153
|
* - Compile-time validation of event names and payloads
|
|
154
154
|
*
|
|
@@ -174,7 +174,7 @@ interface TypedRoom<C extends Contract, TMeta extends ConnectionMeta = Connectio
|
|
|
174
174
|
* },
|
|
175
175
|
* });
|
|
176
176
|
*
|
|
177
|
-
* room.
|
|
177
|
+
* room.on("message.send", (ctx, data) => {
|
|
178
178
|
* ctx.emit("chat.message", { from: ctx.meta.userId, text: data.text });
|
|
179
179
|
* });
|
|
180
180
|
*
|
package/dist/typed.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as defineRoom,t as createActorHandler}from"./actor-runtime-DamIMiBw.mjs";import"./encode-BhJqnsto.mjs";import{a as getValidationErrorHandler,c as withValidation,d as payload,l as defineContract,o as isValidatedContract,r as getClientValidator,s as validateData,t as createValidatedHandler,u as isContract}from"./validation-NB7a2Sf1.mjs";function createTypedSocketEmit(e){let l=((l,u)=>{e.emit(l,u)});return l.to=l=>{let u=e.to(l);return{emit:(e,l)=>u.emit(e,l)}},l}function createTypedActorEmit(e){let l=((l,u)=>e.emit.emit(l,u));return l.to=l=>{let u=e.emit.to(l);return{emit:(e,l)=>u.emit(e,l)}},l}function wrapContext(e){return{actor:Object.assign({},e.actor,{emit:createTypedActorEmit(e.actor)}),ws:e.ws,meta:e.meta,emit:createTypedSocketEmit(e.emit)}}function wrapMessageContext(e){return{...wrapContext(e),frame:e.frame}}function createTypedRoom(l,d){let f=defineRoom({name:d.name,websocketPath:d.websocketPath??`/ws`,extractMeta:d.extractMeta,onConnect:d.onConnect?e=>d.onConnect(wrapContext(e)):void 0,onDisconnect:d.onDisconnect?e=>d.onDisconnect(wrapContext(e)):void 0,onError:d.onError?(e,l)=>d.onError(e,wrapContext(l)):void 0,onHibernationRestore:d.onHibernationRestore}),p=isValidatedContract(l),h=p?getValidationErrorHandler(l):void 0;return{
|
|
1
|
+
import{i as defineRoom,t as createActorHandler}from"./actor-runtime-DamIMiBw.mjs";import"./encode-BhJqnsto.mjs";import{a as getValidationErrorHandler,c as withValidation,d as payload,l as defineContract,o as isValidatedContract,r as getClientValidator,s as validateData,t as createValidatedHandler,u as isContract}from"./validation-NB7a2Sf1.mjs";function createTypedSocketEmit(e){let l=((l,u)=>{e.emit(l,u)});return l.to=l=>{let u=e.to(l);return{emit:(e,l)=>u.emit(e,l)}},l}function createTypedActorEmit(e){let l=((l,u)=>e.emit.emit(l,u));return l.to=l=>{let u=e.emit.to(l);return{emit:(e,l)=>u.emit(e,l)}},l}function wrapContext(e){return{actor:Object.assign({},e.actor,{emit:createTypedActorEmit(e.actor)}),ws:e.ws,meta:e.meta,emit:createTypedSocketEmit(e.emit)}}function wrapMessageContext(e){return{...wrapContext(e),frame:e.frame}}function createTypedRoom(l,d){let f=defineRoom({name:d.name,websocketPath:d.websocketPath??`/ws`,extractMeta:d.extractMeta,onConnect:d.onConnect?e=>d.onConnect(wrapContext(e)):void 0,onDisconnect:d.onDisconnect?e=>d.onDisconnect(wrapContext(e)):void 0,onError:d.onError?(e,l)=>d.onError(e,wrapContext(l)):void 0,onHibernationRestore:d.onHibernationRestore}),p=isValidatedContract(l),h=p?getValidationErrorHandler(l):void 0;return{on(e,u){f.on(e,(d,f)=>{let m=wrapMessageContext(d);if(p){let d=getClientValidator(l,e);if(d){let l=validateData(d,f,e,`client`,h);return l===void 0?void 0:u(m,l)}}return u(m,f)})},off(e,l){f.off(e)},get definition(){return f},contract:l}}export{createActorHandler,createTypedRoom,createValidatedHandler,defineContract,getClientValidator,getValidationErrorHandler,isContract,isValidatedContract,payload,validateData,withValidation};
|