UNPKG

trpc-browser

Version:

tRPC adapters and links for everywhere in the browser

31 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isTRPCRequestWithId = exports.isTRPCRequest = exports.isTRPCResponse = exports.isTRPCMessage = void 0; function isPlainObject(obj) { return typeof obj === 'object' && obj !== null && !Array.isArray(obj); } function isNullOrUndefined(x) { return x === null || x === undefined; } function isTRPCMessage(message) { return Boolean(isPlainObject(message) && 'trpc' in message && isPlainObject(message.trpc)); } exports.isTRPCMessage = isTRPCMessage; function isTRPCMessageWithId(message) { return isTRPCMessage(message) && 'id' in message.trpc && !isNullOrUndefined(message.trpc.id); } // reponse needs error or result function isTRPCResponse(message) { return isTRPCMessageWithId(message) && ('error' in message.trpc || 'result' in message.trpc); } exports.isTRPCResponse = isTRPCResponse; // request needs method function isTRPCRequest(message) { return isTRPCMessageWithId(message) && 'method' in message.trpc; } exports.isTRPCRequest = isTRPCRequest; function isTRPCRequestWithId(message) { return isTRPCRequest(message) && isTRPCMessageWithId(message); } exports.isTRPCRequestWithId = isTRPCRequestWithId; //# sourceMappingURL=trpcMessage.js.map