raiden-ts
Version:
Raiden Light Client Typescript/Javascript SDK
33 lines • 1.56 kB
JavaScript
/* eslint-disable @typescript-eslint/no-namespace */
import * as t from 'io-ts';
import { ServiceC } from '../services/types';
import { Via } from '../transport/types';
import { createAction, createAsyncAction } from '../utils/actions';
import { Address, Signed } from '../utils/types';
import { Message } from './types';
/**
* One-shot send payload.message to meta.address user in transport
*/
export const messageSend = createAsyncAction(t.type({ address: Address, msgId: t.string }), 'message/send', t.intersection([
t.type({ message: t.union([t.string, Signed(Message)]) }),
t.partial({ msgtype: t.string }),
Via,
]), t.union([t.undefined, t.type({ via: t.string, tookMs: t.number, retries: t.number })]));
/** One-shot send payload.message to a service room in transport */
export const messageServiceSend = createAsyncAction(t.type({ service: ServiceC, msgId: t.string }), 'message/service/send', t.type({ message: Signed(Message) }), t.union([t.undefined, t.type({ via: t.unknown, tookMs: t.number, retries: t.number })]));
/**
* payload.message was received on payload.ts (timestamp) from meta.address
* payload.userId is optional and specific to matrix transport, as sender info
*/
export const messageReceived = createAction('message/received', t.intersection([
t.type({
text: t.string,
ts: t.number,
}),
t.partial({
message: t.union([Message, Signed(Message)]),
userId: t.string,
msgtype: t.string,
}),
]), t.type({ address: Address }));
//# sourceMappingURL=actions.js.map