mirror of
https://github.com/LukeHagar/plexjs.git
synced 2025-12-10 04:20:58 +00:00
120 lines
3.6 KiB
TypeScript
120 lines
3.6 KiB
TypeScript
/*
|
|
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
*/
|
|
|
|
import { remap as remap$ } from "../../lib/primitives";
|
|
import * as z from "zod";
|
|
|
|
export type GetPlaylistsErrors = {
|
|
code?: number | undefined;
|
|
message?: string | undefined;
|
|
status?: number | undefined;
|
|
};
|
|
|
|
/**
|
|
* Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
|
*/
|
|
export type GetPlaylistsResponseBodyData = {
|
|
errors?: Array<GetPlaylistsErrors> | undefined;
|
|
/**
|
|
* Raw HTTP response; suitable for custom response parsing
|
|
*/
|
|
rawResponse?: Response | undefined;
|
|
};
|
|
|
|
/**
|
|
* Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
|
|
*/
|
|
export class GetPlaylistsResponseBody extends Error {
|
|
errors?: Array<GetPlaylistsErrors> | undefined;
|
|
/**
|
|
* Raw HTTP response; suitable for custom response parsing
|
|
*/
|
|
rawResponse?: Response | undefined;
|
|
|
|
/** The original data that was passed to this error instance. */
|
|
data$: GetPlaylistsResponseBodyData;
|
|
|
|
constructor(err: GetPlaylistsResponseBodyData) {
|
|
super("");
|
|
this.data$ = err;
|
|
|
|
if (err.errors != null) {
|
|
this.errors = err.errors;
|
|
}
|
|
if (err.rawResponse != null) {
|
|
this.rawResponse = err.rawResponse;
|
|
}
|
|
|
|
this.message =
|
|
"message" in err && typeof err.message === "string"
|
|
? err.message
|
|
: "API error occurred";
|
|
|
|
this.name = "GetPlaylistsResponseBody";
|
|
}
|
|
}
|
|
|
|
/** @internal */
|
|
export namespace GetPlaylistsErrors$ {
|
|
export const inboundSchema: z.ZodType<GetPlaylistsErrors, z.ZodTypeDef, unknown> = z.object({
|
|
code: z.number().optional(),
|
|
message: z.string().optional(),
|
|
status: z.number().optional(),
|
|
});
|
|
|
|
export type Outbound = {
|
|
code?: number | undefined;
|
|
message?: string | undefined;
|
|
status?: number | undefined;
|
|
};
|
|
|
|
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistsErrors> = z.object({
|
|
code: z.number().optional(),
|
|
message: z.string().optional(),
|
|
status: z.number().optional(),
|
|
});
|
|
}
|
|
|
|
/** @internal */
|
|
export namespace GetPlaylistsResponseBody$ {
|
|
export const inboundSchema: z.ZodType<GetPlaylistsResponseBody, z.ZodTypeDef, unknown> = z
|
|
.object({
|
|
errors: z.array(z.lazy(() => GetPlaylistsErrors$.inboundSchema)).optional(),
|
|
RawResponse: z.instanceof(Response).optional(),
|
|
})
|
|
.transform((v) => {
|
|
const remapped = remap$(v, {
|
|
RawResponse: "rawResponse",
|
|
});
|
|
|
|
return new GetPlaylistsResponseBody(remapped);
|
|
});
|
|
|
|
export type Outbound = {
|
|
errors?: Array<GetPlaylistsErrors$.Outbound> | undefined;
|
|
RawResponse?: never | undefined;
|
|
};
|
|
|
|
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistsResponseBody> = z
|
|
.instanceof(GetPlaylistsResponseBody)
|
|
.transform((v) => v.data$)
|
|
.pipe(
|
|
z
|
|
.object({
|
|
errors: z.array(z.lazy(() => GetPlaylistsErrors$.outboundSchema)).optional(),
|
|
rawResponse: z
|
|
.instanceof(Response)
|
|
.transform(() => {
|
|
throw new Error("Response cannot be serialized");
|
|
})
|
|
.optional(),
|
|
})
|
|
.transform((v) => {
|
|
return remap$(v, {
|
|
rawResponse: "RawResponse",
|
|
});
|
|
})
|
|
);
|
|
}
|