@trpc/server
Version:
30 lines (28 loc) • 854 B
JavaScript
//#region src/unstable-core-do-not-import/http/contentTypeParsers.ts
/**
* An input validator for binary data, such as a `File` or `Blob`. The
* resolver gets the input as a `ReadableStream`.
* @example
* ```ts
* t.procedure.input(octetInputParser).mutation(async ({ input }) => {
* const bytes = await new Response(input).arrayBuffer();
* return { size: bytes.byteLength };
* });
* ```
* @see https://trpc.io/docs/server/non-json-content-types#file-and-other-binary-type-inputs
*/
const octetInputParser = {
_input: null,
_output: null,
parse(input) {
if (input instanceof ReadableStream) return input;
throw new Error(`Parsed input was expected to be a ReadableStream but was: ${typeof input}`);
}
};
//#endregion
Object.defineProperty(exports, "octetInputParser", {
enumerable: true,
get: function() {
return octetInputParser;
}
});