UNPKG

@api.global/typedrequest

Version:

A TypeScript library for making typed requests towards APIs, including facilities for handling requests, routing, and virtual stream handling.

48 lines 3.88 kB
import * as plugins from './plugins.js'; export class VirtualStream { constructor() { this.streamId = plugins.isounique.uni(); } static encodePayloadForNetwork(objectPayload) { if (objectPayload instanceof VirtualStream) { return { _isVirtualStream: true, streamId: objectPayload.streamId, }; } else if (Array.isArray(objectPayload)) { return objectPayload.map(VirtualStream.encodePayloadForNetwork); } else if (objectPayload !== null && typeof objectPayload === 'object') { return Object.keys(objectPayload).reduce((acc, key) => { acc[key] = VirtualStream.encodePayloadForNetwork(objectPayload[key]); return acc; }, {}); } else { return objectPayload; } } static decodePayloadFromNetwork(objectPayload) { if (objectPayload !== null && typeof objectPayload === 'object') { if (objectPayload._isVirtualStream) { const virtualStream = new VirtualStream(); virtualStream.streamId = objectPayload.streamId; return virtualStream; } else if (Array.isArray(objectPayload)) { return objectPayload.map(VirtualStream.decodePayloadFromNetwork); } else { return Object.keys(objectPayload).reduce((acc, key) => { acc[key] = VirtualStream.decodePayloadFromNetwork(objectPayload[key]); return acc; }, {}); } } else { return objectPayload; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRyZXF1ZXN0LmNsYXNzZXMuc3RyZWFtb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdHlwZWRyZXF1ZXN0LmNsYXNzZXMuc3RyZWFtb2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE1BQU0sT0FBTyxhQUFhO0lBR3hCO1FBRk8sYUFBUSxHQUFXLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFbkMsQ0FBQztJQUVULE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxhQUFrQjtRQUN0RCxJQUFJLGFBQWEsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUMzQyxPQUFPO2dCQUNMLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUTthQUNqQyxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNsRSxDQUFDO2FBQU0sSUFBSSxhQUFhLEtBQUssSUFBSSxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3BELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxhQUFrQjtRQUN2RCxJQUFJLGFBQWEsS0FBSyxJQUFJLElBQUksT0FBTyxhQUFhLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEUsSUFBSSxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDMUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUNoRCxPQUFPLGFBQWEsQ0FBQztZQUN2QixDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDbkUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7b0JBQ3BELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3RFLE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNULENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==