tsarr 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/clients/lidarr.d.ts +10 -10
- package/dist/clients/lidarr.d.ts.map +1 -1
- package/dist/clients/lidarr.js +1183 -246
- package/dist/clients/prowlarr.d.ts +5 -5
- package/dist/clients/prowlarr.d.ts.map +1 -1
- package/dist/clients/prowlarr.js +825 -177
- package/dist/clients/radarr.d.ts +23 -23
- package/dist/clients/radarr.d.ts.map +1 -1
- package/dist/clients/radarr.js +1817 -347
- package/dist/clients/readarr.d.ts +5 -5
- package/dist/clients/readarr.d.ts.map +1 -1
- package/dist/clients/readarr.js +877 -192
- package/dist/clients/sonarr.d.ts +9 -9
- package/dist/clients/sonarr.d.ts.map +1 -1
- package/dist/clients/sonarr.js +847 -184
- package/dist/core/response.d.ts +1 -1
- package/dist/core/response.d.ts.map +1 -1
- package/dist/generated/lidarr/client/client.gen.d.ts +3 -0
- package/dist/generated/lidarr/client/client.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/client/index.d.ts +8 -0
- package/dist/generated/lidarr/client/index.d.ts.map +1 -0
- package/dist/generated/lidarr/client/types.gen.d.ts +125 -0
- package/dist/generated/lidarr/client/types.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/client/utils.gen.d.ts +39 -0
- package/dist/generated/lidarr/client/utils.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/client.gen.d.ts +13 -0
- package/dist/generated/lidarr/client.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/auth.gen.d.ts +19 -0
- package/dist/generated/lidarr/core/auth.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/bodySerializer.gen.d.ts +18 -0
- package/dist/generated/lidarr/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/params.gen.d.ts +34 -0
- package/dist/generated/lidarr/core/params.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/pathSerializer.gen.d.ts +34 -0
- package/dist/generated/lidarr/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/generated/lidarr/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/types.gen.d.ts +79 -0
- package/dist/generated/lidarr/core/types.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/utils.gen.d.ts +15 -0
- package/dist/generated/lidarr/core/utils.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/index.d.ts +1 -2
- package/dist/generated/lidarr/index.d.ts.map +1 -1
- package/dist/generated/lidarr/sdk.gen.d.ts +252 -0
- package/dist/generated/lidarr/sdk.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/types.gen.d.ts +3117 -1056
- package/dist/generated/lidarr/types.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/client/client.gen.d.ts +3 -0
- package/dist/generated/prowlarr/client/client.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/client/index.d.ts +8 -0
- package/dist/generated/prowlarr/client/index.d.ts.map +1 -0
- package/dist/generated/prowlarr/client/types.gen.d.ts +125 -0
- package/dist/generated/prowlarr/client/types.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/client/utils.gen.d.ts +39 -0
- package/dist/generated/prowlarr/client/utils.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/client.gen.d.ts +13 -0
- package/dist/generated/prowlarr/client.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/auth.gen.d.ts +19 -0
- package/dist/generated/prowlarr/core/auth.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/bodySerializer.gen.d.ts +18 -0
- package/dist/generated/prowlarr/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/params.gen.d.ts +34 -0
- package/dist/generated/prowlarr/core/params.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/pathSerializer.gen.d.ts +34 -0
- package/dist/generated/prowlarr/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/generated/prowlarr/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/types.gen.d.ts +79 -0
- package/dist/generated/prowlarr/core/types.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/utils.gen.d.ts +15 -0
- package/dist/generated/prowlarr/core/utils.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/index.d.ts +1 -2
- package/dist/generated/prowlarr/index.d.ts.map +1 -1
- package/dist/generated/prowlarr/sdk.gen.d.ts +145 -0
- package/dist/generated/prowlarr/sdk.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/types.gen.d.ts +1747 -592
- package/dist/generated/prowlarr/types.gen.d.ts.map +1 -1
- package/dist/generated/radarr/client/client.gen.d.ts +3 -0
- package/dist/generated/radarr/client/client.gen.d.ts.map +1 -0
- package/dist/generated/radarr/client/index.d.ts +8 -0
- package/dist/generated/radarr/client/index.d.ts.map +1 -0
- package/dist/generated/radarr/client/types.gen.d.ts +125 -0
- package/dist/generated/radarr/client/types.gen.d.ts.map +1 -0
- package/dist/generated/radarr/client/utils.gen.d.ts +39 -0
- package/dist/generated/radarr/client/utils.gen.d.ts.map +1 -0
- package/dist/generated/radarr/client.gen.d.ts +13 -0
- package/dist/generated/radarr/client.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/auth.gen.d.ts +19 -0
- package/dist/generated/radarr/core/auth.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/bodySerializer.gen.d.ts +18 -0
- package/dist/generated/radarr/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/params.gen.d.ts +34 -0
- package/dist/generated/radarr/core/params.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/pathSerializer.gen.d.ts +34 -0
- package/dist/generated/radarr/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/generated/radarr/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/types.gen.d.ts +79 -0
- package/dist/generated/radarr/core/types.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/utils.gen.d.ts +15 -0
- package/dist/generated/radarr/core/utils.gen.d.ts.map +1 -0
- package/dist/generated/radarr/index.d.ts +1 -2
- package/dist/generated/radarr/index.d.ts.map +1 -1
- package/dist/generated/radarr/sdk.gen.d.ts +260 -0
- package/dist/generated/radarr/sdk.gen.d.ts.map +1 -0
- package/dist/generated/radarr/types.gen.d.ts +3066 -1064
- package/dist/generated/radarr/types.gen.d.ts.map +1 -1
- package/dist/generated/readarr/client/client.gen.d.ts +3 -0
- package/dist/generated/readarr/client/client.gen.d.ts.map +1 -0
- package/dist/generated/readarr/client/index.d.ts +8 -0
- package/dist/generated/readarr/client/index.d.ts.map +1 -0
- package/dist/generated/readarr/client/types.gen.d.ts +125 -0
- package/dist/generated/readarr/client/types.gen.d.ts.map +1 -0
- package/dist/generated/readarr/client/utils.gen.d.ts +39 -0
- package/dist/generated/readarr/client/utils.gen.d.ts.map +1 -0
- package/dist/generated/readarr/client.gen.d.ts +13 -0
- package/dist/generated/readarr/client.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/auth.gen.d.ts +19 -0
- package/dist/generated/readarr/core/auth.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/bodySerializer.gen.d.ts +18 -0
- package/dist/generated/readarr/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/params.gen.d.ts +34 -0
- package/dist/generated/readarr/core/params.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/pathSerializer.gen.d.ts +34 -0
- package/dist/generated/readarr/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/generated/readarr/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/types.gen.d.ts +79 -0
- package/dist/generated/readarr/core/types.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/utils.gen.d.ts +15 -0
- package/dist/generated/readarr/core/utils.gen.d.ts.map +1 -0
- package/dist/generated/readarr/index.d.ts +1 -2
- package/dist/generated/readarr/index.d.ts.map +1 -1
- package/dist/generated/readarr/sdk.gen.d.ts +250 -0
- package/dist/generated/readarr/sdk.gen.d.ts.map +1 -0
- package/dist/generated/readarr/types.gen.d.ts +3219 -1142
- package/dist/generated/readarr/types.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/client/client.gen.d.ts +3 -0
- package/dist/generated/sonarr/client/client.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/client/index.d.ts +8 -0
- package/dist/generated/sonarr/client/index.d.ts.map +1 -0
- package/dist/generated/sonarr/client/types.gen.d.ts +125 -0
- package/dist/generated/sonarr/client/types.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/client/utils.gen.d.ts +39 -0
- package/dist/generated/sonarr/client/utils.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/client.gen.d.ts +13 -0
- package/dist/generated/sonarr/client.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/auth.gen.d.ts +19 -0
- package/dist/generated/sonarr/core/auth.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/bodySerializer.gen.d.ts +18 -0
- package/dist/generated/sonarr/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/params.gen.d.ts +34 -0
- package/dist/generated/sonarr/core/params.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/pathSerializer.gen.d.ts +34 -0
- package/dist/generated/sonarr/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/generated/sonarr/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/types.gen.d.ts +79 -0
- package/dist/generated/sonarr/core/types.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/utils.gen.d.ts +15 -0
- package/dist/generated/sonarr/core/utils.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/index.d.ts +1 -2
- package/dist/generated/sonarr/index.d.ts.map +1 -1
- package/dist/generated/sonarr/sdk.gen.d.ts +37 -0
- package/dist/generated/sonarr/sdk.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/types.gen.d.ts +349 -107
- package/dist/generated/sonarr/types.gen.d.ts.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -1
- package/dist/tsarr-1.3.0.tgz +0 -0
- package/package.json +40 -43
- package/dist/generated/lidarr/schemas.gen.d.ts +0 -4584
- package/dist/generated/lidarr/schemas.gen.d.ts.map +0 -1
- package/dist/generated/lidarr/services.gen.d.ts +0 -242
- package/dist/generated/lidarr/services.gen.d.ts.map +0 -1
- package/dist/generated/prowlarr/schemas.gen.d.ts +0 -2151
- package/dist/generated/prowlarr/schemas.gen.d.ts.map +0 -1
- package/dist/generated/prowlarr/services.gen.d.ts +0 -135
- package/dist/generated/prowlarr/services.gen.d.ts.map +0 -1
- package/dist/generated/radarr/schemas.gen.d.ts +0 -4402
- package/dist/generated/radarr/schemas.gen.d.ts.map +0 -1
- package/dist/generated/radarr/services.gen.d.ts +0 -250
- package/dist/generated/radarr/services.gen.d.ts.map +0 -1
- package/dist/generated/readarr/schemas.gen.d.ts +0 -5250
- package/dist/generated/readarr/schemas.gen.d.ts.map +0 -1
- package/dist/generated/readarr/services.gen.d.ts +0 -240
- package/dist/generated/readarr/services.gen.d.ts.map +0 -1
- package/dist/generated/sonarr/schemas.gen.d.ts +0 -612
- package/dist/generated/sonarr/schemas.gen.d.ts.map +0 -1
- package/dist/generated/sonarr/services.gen.d.ts +0 -27
- package/dist/generated/sonarr/services.gen.d.ts.map +0 -1
- package/dist/tsarr-1.2.0.tgz +0 -0
package/dist/clients/readarr.js
CHANGED
|
@@ -49,17 +49,162 @@ function createServarrClient(config) {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
//
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
// src/generated/readarr/core/bodySerializer.gen.ts
|
|
53
|
+
var jsonBodySerializer = {
|
|
54
|
+
bodySerializer: (body) => JSON.stringify(body, (_key, value) => typeof value === "bigint" ? value.toString() : value)
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// src/generated/readarr/core/serverSentEvents.gen.ts
|
|
58
|
+
var createSseClient = ({
|
|
59
|
+
onRequest,
|
|
60
|
+
onSseError,
|
|
61
|
+
onSseEvent,
|
|
62
|
+
responseTransformer,
|
|
63
|
+
responseValidator,
|
|
64
|
+
sseDefaultRetryDelay,
|
|
65
|
+
sseMaxRetryAttempts,
|
|
66
|
+
sseMaxRetryDelay,
|
|
67
|
+
sseSleepFn,
|
|
68
|
+
url,
|
|
69
|
+
...options
|
|
70
|
+
}) => {
|
|
71
|
+
let lastEventId;
|
|
72
|
+
const sleep = sseSleepFn ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
73
|
+
const createStream = async function* () {
|
|
74
|
+
let retryDelay = sseDefaultRetryDelay ?? 3000;
|
|
75
|
+
let attempt = 0;
|
|
76
|
+
const signal = options.signal ?? new AbortController().signal;
|
|
77
|
+
while (true) {
|
|
78
|
+
if (signal.aborted)
|
|
79
|
+
break;
|
|
80
|
+
attempt++;
|
|
81
|
+
const headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers);
|
|
82
|
+
if (lastEventId !== undefined) {
|
|
83
|
+
headers.set("Last-Event-ID", lastEventId);
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
const requestInit = {
|
|
87
|
+
redirect: "follow",
|
|
88
|
+
...options,
|
|
89
|
+
body: options.serializedBody,
|
|
90
|
+
headers,
|
|
91
|
+
signal
|
|
92
|
+
};
|
|
93
|
+
let request = new Request(url, requestInit);
|
|
94
|
+
if (onRequest) {
|
|
95
|
+
request = await onRequest(url, requestInit);
|
|
96
|
+
}
|
|
97
|
+
const _fetch = options.fetch ?? globalThis.fetch;
|
|
98
|
+
const response = await _fetch(request);
|
|
99
|
+
if (!response.ok)
|
|
100
|
+
throw new Error(`SSE failed: ${response.status} ${response.statusText}`);
|
|
101
|
+
if (!response.body)
|
|
102
|
+
throw new Error("No body in SSE response");
|
|
103
|
+
const reader = response.body.pipeThrough(new TextDecoderStream).getReader();
|
|
104
|
+
let buffer = "";
|
|
105
|
+
const abortHandler = () => {
|
|
106
|
+
try {
|
|
107
|
+
reader.cancel();
|
|
108
|
+
} catch {}
|
|
109
|
+
};
|
|
110
|
+
signal.addEventListener("abort", abortHandler);
|
|
111
|
+
try {
|
|
112
|
+
while (true) {
|
|
113
|
+
const { done, value } = await reader.read();
|
|
114
|
+
if (done)
|
|
115
|
+
break;
|
|
116
|
+
buffer += value;
|
|
117
|
+
const chunks = buffer.split(`
|
|
118
|
+
|
|
119
|
+
`);
|
|
120
|
+
buffer = chunks.pop() ?? "";
|
|
121
|
+
for (const chunk of chunks) {
|
|
122
|
+
const lines = chunk.split(`
|
|
123
|
+
`);
|
|
124
|
+
const dataLines = [];
|
|
125
|
+
let eventName;
|
|
126
|
+
for (const line of lines) {
|
|
127
|
+
if (line.startsWith("data:")) {
|
|
128
|
+
dataLines.push(line.replace(/^data:\s*/, ""));
|
|
129
|
+
} else if (line.startsWith("event:")) {
|
|
130
|
+
eventName = line.replace(/^event:\s*/, "");
|
|
131
|
+
} else if (line.startsWith("id:")) {
|
|
132
|
+
lastEventId = line.replace(/^id:\s*/, "");
|
|
133
|
+
} else if (line.startsWith("retry:")) {
|
|
134
|
+
const parsed = Number.parseInt(line.replace(/^retry:\s*/, ""), 10);
|
|
135
|
+
if (!Number.isNaN(parsed)) {
|
|
136
|
+
retryDelay = parsed;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
let data;
|
|
141
|
+
let parsedJson = false;
|
|
142
|
+
if (dataLines.length) {
|
|
143
|
+
const rawData = dataLines.join(`
|
|
144
|
+
`);
|
|
145
|
+
try {
|
|
146
|
+
data = JSON.parse(rawData);
|
|
147
|
+
parsedJson = true;
|
|
148
|
+
} catch {
|
|
149
|
+
data = rawData;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (parsedJson) {
|
|
153
|
+
if (responseValidator) {
|
|
154
|
+
await responseValidator(data);
|
|
155
|
+
}
|
|
156
|
+
if (responseTransformer) {
|
|
157
|
+
data = await responseTransformer(data);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
onSseEvent?.({
|
|
161
|
+
data,
|
|
162
|
+
event: eventName,
|
|
163
|
+
id: lastEventId,
|
|
164
|
+
retry: retryDelay
|
|
165
|
+
});
|
|
166
|
+
if (dataLines.length) {
|
|
167
|
+
yield data;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
} finally {
|
|
172
|
+
signal.removeEventListener("abort", abortHandler);
|
|
173
|
+
reader.releaseLock();
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
} catch (error) {
|
|
177
|
+
onSseError?.(error);
|
|
178
|
+
if (sseMaxRetryAttempts !== undefined && attempt >= sseMaxRetryAttempts) {
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
const backoff = Math.min(retryDelay * 2 ** (attempt - 1), sseMaxRetryDelay ?? 30000);
|
|
182
|
+
await sleep(backoff);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
const stream = createStream();
|
|
187
|
+
return { stream };
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
// src/generated/readarr/core/auth.gen.ts
|
|
191
|
+
var getAuthToken = async (auth, callback) => {
|
|
192
|
+
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
193
|
+
if (!token) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (auth.scheme === "bearer") {
|
|
197
|
+
return `Bearer ${token}`;
|
|
198
|
+
}
|
|
199
|
+
if (auth.scheme === "basic") {
|
|
200
|
+
return `Basic ${btoa(token)}`;
|
|
201
|
+
}
|
|
202
|
+
return token;
|
|
60
203
|
};
|
|
61
|
-
|
|
62
|
-
|
|
204
|
+
|
|
205
|
+
// src/generated/readarr/core/pathSerializer.gen.ts
|
|
206
|
+
var separatorArrayExplode = (style) => {
|
|
207
|
+
switch (style) {
|
|
63
208
|
case "label":
|
|
64
209
|
return ".";
|
|
65
210
|
case "matrix":
|
|
@@ -70,8 +215,8 @@ var U = (i) => {
|
|
|
70
215
|
return "&";
|
|
71
216
|
}
|
|
72
217
|
};
|
|
73
|
-
var
|
|
74
|
-
switch (
|
|
218
|
+
var separatorArrayNoExplode = (style) => {
|
|
219
|
+
switch (style) {
|
|
75
220
|
case "form":
|
|
76
221
|
return ",";
|
|
77
222
|
case "pipeDelimited":
|
|
@@ -82,8 +227,8 @@ var $ = (i) => {
|
|
|
82
227
|
return ",";
|
|
83
228
|
}
|
|
84
229
|
};
|
|
85
|
-
var
|
|
86
|
-
switch (
|
|
230
|
+
var separatorObjectExplode = (style) => {
|
|
231
|
+
switch (style) {
|
|
87
232
|
case "label":
|
|
88
233
|
return ".";
|
|
89
234
|
case "matrix":
|
|
@@ -94,132 +239,317 @@ var D = (i) => {
|
|
|
94
239
|
return "&";
|
|
95
240
|
}
|
|
96
241
|
};
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
242
|
+
var serializeArrayParam = ({
|
|
243
|
+
allowReserved,
|
|
244
|
+
explode,
|
|
245
|
+
name,
|
|
246
|
+
style,
|
|
247
|
+
value
|
|
248
|
+
}) => {
|
|
249
|
+
if (!explode) {
|
|
250
|
+
const joinedValues2 = (allowReserved ? value : value.map((v) => encodeURIComponent(v))).join(separatorArrayNoExplode(style));
|
|
251
|
+
switch (style) {
|
|
101
252
|
case "label":
|
|
102
|
-
return `.${
|
|
253
|
+
return `.${joinedValues2}`;
|
|
103
254
|
case "matrix":
|
|
104
|
-
return `;${
|
|
255
|
+
return `;${name}=${joinedValues2}`;
|
|
105
256
|
case "simple":
|
|
106
|
-
return
|
|
257
|
+
return joinedValues2;
|
|
107
258
|
default:
|
|
108
|
-
return `${
|
|
259
|
+
return `${name}=${joinedValues2}`;
|
|
109
260
|
}
|
|
110
261
|
}
|
|
111
|
-
|
|
112
|
-
|
|
262
|
+
const separator = separatorArrayExplode(style);
|
|
263
|
+
const joinedValues = value.map((v) => {
|
|
264
|
+
if (style === "label" || style === "simple") {
|
|
265
|
+
return allowReserved ? v : encodeURIComponent(v);
|
|
266
|
+
}
|
|
267
|
+
return serializePrimitiveParam({
|
|
268
|
+
allowReserved,
|
|
269
|
+
name,
|
|
270
|
+
value: v
|
|
271
|
+
});
|
|
272
|
+
}).join(separator);
|
|
273
|
+
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
274
|
+
};
|
|
275
|
+
var serializePrimitiveParam = ({
|
|
276
|
+
allowReserved,
|
|
277
|
+
name,
|
|
278
|
+
value
|
|
279
|
+
}) => {
|
|
280
|
+
if (value === undefined || value === null) {
|
|
281
|
+
return "";
|
|
282
|
+
}
|
|
283
|
+
if (typeof value === "object") {
|
|
284
|
+
throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");
|
|
285
|
+
}
|
|
286
|
+
return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;
|
|
113
287
|
};
|
|
114
|
-
var
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
288
|
+
var serializeObjectParam = ({
|
|
289
|
+
allowReserved,
|
|
290
|
+
explode,
|
|
291
|
+
name,
|
|
292
|
+
style,
|
|
293
|
+
value,
|
|
294
|
+
valueOnly
|
|
295
|
+
}) => {
|
|
296
|
+
if (value instanceof Date) {
|
|
297
|
+
return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;
|
|
298
|
+
}
|
|
299
|
+
if (style !== "deepObject" && !explode) {
|
|
300
|
+
let values = [];
|
|
301
|
+
Object.entries(value).forEach(([key, v]) => {
|
|
302
|
+
values = [
|
|
303
|
+
...values,
|
|
304
|
+
key,
|
|
305
|
+
allowReserved ? v : encodeURIComponent(v)
|
|
306
|
+
];
|
|
121
307
|
});
|
|
122
|
-
|
|
123
|
-
switch (
|
|
308
|
+
const joinedValues2 = values.join(",");
|
|
309
|
+
switch (style) {
|
|
124
310
|
case "form":
|
|
125
|
-
return `${
|
|
311
|
+
return `${name}=${joinedValues2}`;
|
|
126
312
|
case "label":
|
|
127
|
-
return `.${
|
|
313
|
+
return `.${joinedValues2}`;
|
|
128
314
|
case "matrix":
|
|
129
|
-
return `;${
|
|
315
|
+
return `;${name}=${joinedValues2}`;
|
|
130
316
|
default:
|
|
131
|
-
return
|
|
317
|
+
return joinedValues2;
|
|
132
318
|
}
|
|
133
319
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
320
|
+
const separator = separatorObjectExplode(style);
|
|
321
|
+
const joinedValues = Object.entries(value).map(([key, v]) => serializePrimitiveParam({
|
|
322
|
+
allowReserved,
|
|
323
|
+
name: style === "deepObject" ? `${name}[${key}]` : key,
|
|
324
|
+
value: v
|
|
325
|
+
})).join(separator);
|
|
326
|
+
return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
// src/generated/readarr/core/utils.gen.ts
|
|
330
|
+
var PATH_PARAM_RE = /\{[^{}]+\}/g;
|
|
331
|
+
var defaultPathSerializer = ({ path, url: _url }) => {
|
|
332
|
+
let url = _url;
|
|
333
|
+
const matches = _url.match(PATH_PARAM_RE);
|
|
334
|
+
if (matches) {
|
|
335
|
+
for (const match of matches) {
|
|
336
|
+
let explode = false;
|
|
337
|
+
let name = match.substring(1, match.length - 1);
|
|
338
|
+
let style = "simple";
|
|
339
|
+
if (name.endsWith("*")) {
|
|
340
|
+
explode = true;
|
|
341
|
+
name = name.substring(0, name.length - 1);
|
|
342
|
+
}
|
|
343
|
+
if (name.startsWith(".")) {
|
|
344
|
+
name = name.substring(1);
|
|
345
|
+
style = "label";
|
|
346
|
+
} else if (name.startsWith(";")) {
|
|
347
|
+
name = name.substring(1);
|
|
348
|
+
style = "matrix";
|
|
349
|
+
}
|
|
350
|
+
const value = path[name];
|
|
351
|
+
if (value === undefined || value === null) {
|
|
145
352
|
continue;
|
|
146
|
-
|
|
147
|
-
|
|
353
|
+
}
|
|
354
|
+
if (Array.isArray(value)) {
|
|
355
|
+
url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
|
|
148
356
|
continue;
|
|
149
357
|
}
|
|
150
|
-
if (typeof
|
|
151
|
-
|
|
358
|
+
if (typeof value === "object") {
|
|
359
|
+
url = url.replace(match, serializeObjectParam({
|
|
360
|
+
explode,
|
|
361
|
+
name,
|
|
362
|
+
style,
|
|
363
|
+
value,
|
|
364
|
+
valueOnly: true
|
|
365
|
+
}));
|
|
152
366
|
continue;
|
|
153
367
|
}
|
|
154
|
-
if (
|
|
155
|
-
|
|
368
|
+
if (style === "matrix") {
|
|
369
|
+
url = url.replace(match, `;${serializePrimitiveParam({
|
|
370
|
+
name,
|
|
371
|
+
value
|
|
372
|
+
})}`);
|
|
156
373
|
continue;
|
|
157
374
|
}
|
|
158
|
-
|
|
159
|
-
|
|
375
|
+
const replaceValue = encodeURIComponent(style === "label" ? `.${value}` : value);
|
|
376
|
+
url = url.replace(match, replaceValue);
|
|
160
377
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
378
|
+
}
|
|
379
|
+
return url;
|
|
380
|
+
};
|
|
381
|
+
var getUrl = ({
|
|
382
|
+
baseUrl,
|
|
383
|
+
path,
|
|
384
|
+
query,
|
|
385
|
+
querySerializer,
|
|
386
|
+
url: _url
|
|
387
|
+
}) => {
|
|
388
|
+
const pathUrl = _url.startsWith("/") ? _url : `/${_url}`;
|
|
389
|
+
let url = (baseUrl ?? "") + pathUrl;
|
|
390
|
+
if (path) {
|
|
391
|
+
url = defaultPathSerializer({ path, url });
|
|
392
|
+
}
|
|
393
|
+
let search = query ? querySerializer(query) : "";
|
|
394
|
+
if (search.startsWith("?")) {
|
|
395
|
+
search = search.substring(1);
|
|
396
|
+
}
|
|
397
|
+
if (search) {
|
|
398
|
+
url += `?${search}`;
|
|
399
|
+
}
|
|
400
|
+
return url;
|
|
401
|
+
};
|
|
402
|
+
|
|
403
|
+
// src/generated/readarr/client/utils.gen.ts
|
|
404
|
+
var createQuerySerializer = ({
|
|
405
|
+
allowReserved,
|
|
406
|
+
array,
|
|
407
|
+
object
|
|
408
|
+
} = {}) => {
|
|
409
|
+
const querySerializer = (queryParams) => {
|
|
410
|
+
const search = [];
|
|
411
|
+
if (queryParams && typeof queryParams === "object") {
|
|
412
|
+
for (const name in queryParams) {
|
|
413
|
+
const value = queryParams[name];
|
|
414
|
+
if (value === undefined || value === null) {
|
|
171
415
|
continue;
|
|
172
416
|
}
|
|
173
|
-
if (
|
|
174
|
-
|
|
175
|
-
|
|
417
|
+
if (Array.isArray(value)) {
|
|
418
|
+
const serializedArray = serializeArrayParam({
|
|
419
|
+
allowReserved,
|
|
420
|
+
explode: true,
|
|
421
|
+
name,
|
|
422
|
+
style: "form",
|
|
423
|
+
value,
|
|
424
|
+
...array
|
|
425
|
+
});
|
|
426
|
+
if (serializedArray)
|
|
427
|
+
search.push(serializedArray);
|
|
428
|
+
} else if (typeof value === "object") {
|
|
429
|
+
const serializedObject = serializeObjectParam({
|
|
430
|
+
allowReserved,
|
|
431
|
+
explode: true,
|
|
432
|
+
name,
|
|
433
|
+
style: "deepObject",
|
|
434
|
+
value,
|
|
435
|
+
...object
|
|
436
|
+
});
|
|
437
|
+
if (serializedObject)
|
|
438
|
+
search.push(serializedObject);
|
|
439
|
+
} else {
|
|
440
|
+
const serializedPrimitive = serializePrimitiveParam({
|
|
441
|
+
allowReserved,
|
|
442
|
+
name,
|
|
443
|
+
value
|
|
444
|
+
});
|
|
445
|
+
if (serializedPrimitive)
|
|
446
|
+
search.push(serializedPrimitive);
|
|
176
447
|
}
|
|
177
|
-
s = [...s, h({ allowReserved: i, name: t, value: r })];
|
|
178
448
|
}
|
|
179
449
|
}
|
|
180
|
-
|
|
450
|
+
return search.join("&");
|
|
451
|
+
};
|
|
452
|
+
return querySerializer;
|
|
181
453
|
};
|
|
182
|
-
var
|
|
183
|
-
if (!
|
|
454
|
+
var getParseAs = (contentType) => {
|
|
455
|
+
if (!contentType) {
|
|
456
|
+
return "stream";
|
|
457
|
+
}
|
|
458
|
+
const cleanContent = contentType.split(";")[0]?.trim();
|
|
459
|
+
if (!cleanContent) {
|
|
184
460
|
return;
|
|
185
|
-
|
|
186
|
-
if (
|
|
461
|
+
}
|
|
462
|
+
if (cleanContent.startsWith("application/json") || cleanContent.endsWith("+json")) {
|
|
187
463
|
return "json";
|
|
188
|
-
|
|
464
|
+
}
|
|
465
|
+
if (cleanContent === "multipart/form-data") {
|
|
189
466
|
return "formData";
|
|
190
|
-
|
|
467
|
+
}
|
|
468
|
+
if (["application/", "audio/", "image/", "video/"].some((type) => cleanContent.startsWith(type))) {
|
|
191
469
|
return "blob";
|
|
192
|
-
|
|
470
|
+
}
|
|
471
|
+
if (cleanContent.startsWith("text/")) {
|
|
193
472
|
return "text";
|
|
473
|
+
}
|
|
474
|
+
return;
|
|
194
475
|
};
|
|
195
|
-
var
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
476
|
+
var checkForExistence = (options, name) => {
|
|
477
|
+
if (!name) {
|
|
478
|
+
return false;
|
|
479
|
+
}
|
|
480
|
+
if (options.headers.has(name) || options.query?.[name] || options.headers.get("Cookie")?.includes(`${name}=`)) {
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
return false;
|
|
484
|
+
};
|
|
485
|
+
var setAuthParams = async ({
|
|
486
|
+
security,
|
|
487
|
+
...options
|
|
488
|
+
}) => {
|
|
489
|
+
for (const auth of security) {
|
|
490
|
+
if (checkForExistence(options, auth.name)) {
|
|
491
|
+
continue;
|
|
492
|
+
}
|
|
493
|
+
const token = await getAuthToken(auth, options.auth);
|
|
494
|
+
if (!token) {
|
|
495
|
+
continue;
|
|
496
|
+
}
|
|
497
|
+
const name = auth.name ?? "Authorization";
|
|
498
|
+
switch (auth.in) {
|
|
499
|
+
case "query":
|
|
500
|
+
if (!options.query) {
|
|
501
|
+
options.query = {};
|
|
502
|
+
}
|
|
503
|
+
options.query[name] = token;
|
|
504
|
+
break;
|
|
505
|
+
case "cookie":
|
|
506
|
+
options.headers.append("Cookie", `${name}=${token}`);
|
|
507
|
+
break;
|
|
508
|
+
case "header":
|
|
509
|
+
default:
|
|
510
|
+
options.headers.set(name, token);
|
|
511
|
+
break;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
200
514
|
};
|
|
201
|
-
var
|
|
202
|
-
|
|
203
|
-
|
|
515
|
+
var buildUrl = (options) => getUrl({
|
|
516
|
+
baseUrl: options.baseUrl,
|
|
517
|
+
path: options.path,
|
|
518
|
+
query: options.query,
|
|
519
|
+
querySerializer: typeof options.querySerializer === "function" ? options.querySerializer : createQuerySerializer(options.querySerializer),
|
|
520
|
+
url: options.url
|
|
521
|
+
});
|
|
522
|
+
var mergeConfigs = (a, b) => {
|
|
523
|
+
const config = { ...a, ...b };
|
|
524
|
+
if (config.baseUrl?.endsWith("/")) {
|
|
525
|
+
config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);
|
|
526
|
+
}
|
|
527
|
+
config.headers = mergeHeaders(a.headers, b.headers);
|
|
528
|
+
return config;
|
|
204
529
|
};
|
|
205
|
-
var
|
|
206
|
-
|
|
207
|
-
for (
|
|
208
|
-
if (!
|
|
530
|
+
var mergeHeaders = (...headers) => {
|
|
531
|
+
const mergedHeaders = new Headers;
|
|
532
|
+
for (const header of headers) {
|
|
533
|
+
if (!header || typeof header !== "object") {
|
|
209
534
|
continue;
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
|
|
535
|
+
}
|
|
536
|
+
const iterator = header instanceof Headers ? header.entries() : Object.entries(header);
|
|
537
|
+
for (const [key, value] of iterator) {
|
|
538
|
+
if (value === null) {
|
|
539
|
+
mergedHeaders.delete(key);
|
|
540
|
+
} else if (Array.isArray(value)) {
|
|
541
|
+
for (const v of value) {
|
|
542
|
+
mergedHeaders.append(key, v);
|
|
543
|
+
}
|
|
544
|
+
} else if (value !== undefined) {
|
|
545
|
+
mergedHeaders.set(key, typeof value === "object" ? JSON.stringify(value) : value);
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
return mergedHeaders;
|
|
550
|
+
};
|
|
551
|
+
|
|
552
|
+
class Interceptors {
|
|
223
553
|
_fns;
|
|
224
554
|
constructor() {
|
|
225
555
|
this._fns = [];
|
|
@@ -227,139 +557,502 @@ var y = class {
|
|
|
227
557
|
clear() {
|
|
228
558
|
this._fns = [];
|
|
229
559
|
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
560
|
+
getInterceptorIndex(id) {
|
|
561
|
+
if (typeof id === "number") {
|
|
562
|
+
return this._fns[id] ? id : -1;
|
|
563
|
+
} else {
|
|
564
|
+
return this._fns.indexOf(id);
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
exists(id) {
|
|
568
|
+
const index = this.getInterceptorIndex(id);
|
|
569
|
+
return !!this._fns[index];
|
|
570
|
+
}
|
|
571
|
+
eject(id) {
|
|
572
|
+
const index = this.getInterceptorIndex(id);
|
|
573
|
+
if (this._fns[index]) {
|
|
574
|
+
this._fns[index] = null;
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
update(id, fn) {
|
|
578
|
+
const index = this.getInterceptorIndex(id);
|
|
579
|
+
if (this._fns[index]) {
|
|
580
|
+
this._fns[index] = fn;
|
|
581
|
+
return id;
|
|
582
|
+
} else {
|
|
583
|
+
return false;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
use(fn) {
|
|
587
|
+
this._fns = [...this._fns, fn];
|
|
588
|
+
return this._fns.length - 1;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
var createInterceptors = () => ({
|
|
592
|
+
error: new Interceptors,
|
|
593
|
+
request: new Interceptors,
|
|
594
|
+
response: new Interceptors
|
|
595
|
+
});
|
|
596
|
+
var defaultQuerySerializer = createQuerySerializer({
|
|
597
|
+
allowReserved: false,
|
|
598
|
+
array: {
|
|
599
|
+
explode: true,
|
|
600
|
+
style: "form"
|
|
601
|
+
},
|
|
602
|
+
object: {
|
|
603
|
+
explode: true,
|
|
604
|
+
style: "deepObject"
|
|
605
|
+
}
|
|
606
|
+
});
|
|
607
|
+
var defaultHeaders = {
|
|
608
|
+
"Content-Type": "application/json"
|
|
609
|
+
};
|
|
610
|
+
var createConfig = (override = {}) => ({
|
|
611
|
+
...jsonBodySerializer,
|
|
612
|
+
headers: defaultHeaders,
|
|
613
|
+
parseAs: "auto",
|
|
614
|
+
querySerializer: defaultQuerySerializer,
|
|
615
|
+
...override
|
|
616
|
+
});
|
|
617
|
+
|
|
618
|
+
// src/generated/readarr/client/client.gen.ts
|
|
619
|
+
var createClient = (config = {}) => {
|
|
620
|
+
let _config = mergeConfigs(createConfig(), config);
|
|
621
|
+
const getConfig = () => ({ ..._config });
|
|
622
|
+
const setConfig = (config2) => {
|
|
623
|
+
_config = mergeConfigs(_config, config2);
|
|
624
|
+
return getConfig();
|
|
625
|
+
};
|
|
626
|
+
const interceptors = createInterceptors();
|
|
627
|
+
const beforeRequest = async (options) => {
|
|
628
|
+
const opts = {
|
|
629
|
+
..._config,
|
|
630
|
+
...options,
|
|
631
|
+
fetch: options.fetch ?? _config.fetch ?? globalThis.fetch,
|
|
632
|
+
headers: mergeHeaders(_config.headers, options.headers),
|
|
633
|
+
serializedBody: undefined
|
|
634
|
+
};
|
|
635
|
+
if (opts.security) {
|
|
636
|
+
await setAuthParams({
|
|
637
|
+
...opts,
|
|
638
|
+
security: opts.security
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
if (opts.requestValidator) {
|
|
642
|
+
await opts.requestValidator(opts);
|
|
643
|
+
}
|
|
644
|
+
if (opts.body && opts.bodySerializer) {
|
|
645
|
+
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
646
|
+
}
|
|
647
|
+
if (opts.serializedBody === undefined || opts.serializedBody === "") {
|
|
648
|
+
opts.headers.delete("Content-Type");
|
|
649
|
+
}
|
|
650
|
+
const url = buildUrl(opts);
|
|
651
|
+
return { opts, url };
|
|
652
|
+
};
|
|
653
|
+
const request = async (options) => {
|
|
654
|
+
const { opts, url } = await beforeRequest(options);
|
|
655
|
+
const requestInit = {
|
|
656
|
+
redirect: "follow",
|
|
657
|
+
...opts,
|
|
658
|
+
body: opts.serializedBody
|
|
659
|
+
};
|
|
660
|
+
let request2 = new Request(url, requestInit);
|
|
661
|
+
for (const fn of interceptors.request._fns) {
|
|
662
|
+
if (fn) {
|
|
663
|
+
request2 = await fn(request2, opts);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
const _fetch = opts.fetch;
|
|
667
|
+
let response = await _fetch(request2);
|
|
668
|
+
for (const fn of interceptors.response._fns) {
|
|
669
|
+
if (fn) {
|
|
670
|
+
response = await fn(response, request2, opts);
|
|
671
|
+
}
|
|
264
672
|
}
|
|
265
|
-
|
|
673
|
+
const result = {
|
|
674
|
+
request: request2,
|
|
675
|
+
response
|
|
676
|
+
};
|
|
677
|
+
if (response.ok) {
|
|
678
|
+
const parseAs = (opts.parseAs === "auto" ? getParseAs(response.headers.get("Content-Type")) : opts.parseAs) ?? "json";
|
|
679
|
+
if (response.status === 204 || response.headers.get("Content-Length") === "0") {
|
|
680
|
+
let emptyData;
|
|
681
|
+
switch (parseAs) {
|
|
682
|
+
case "arrayBuffer":
|
|
683
|
+
case "blob":
|
|
684
|
+
case "text":
|
|
685
|
+
emptyData = await response[parseAs]();
|
|
686
|
+
break;
|
|
687
|
+
case "formData":
|
|
688
|
+
emptyData = new FormData;
|
|
689
|
+
break;
|
|
690
|
+
case "stream":
|
|
691
|
+
emptyData = response.body;
|
|
692
|
+
break;
|
|
693
|
+
case "json":
|
|
694
|
+
default:
|
|
695
|
+
emptyData = {};
|
|
696
|
+
break;
|
|
697
|
+
}
|
|
698
|
+
return opts.responseStyle === "data" ? emptyData : {
|
|
699
|
+
data: emptyData,
|
|
700
|
+
...result
|
|
701
|
+
};
|
|
702
|
+
}
|
|
703
|
+
let data;
|
|
704
|
+
switch (parseAs) {
|
|
705
|
+
case "arrayBuffer":
|
|
706
|
+
case "blob":
|
|
707
|
+
case "formData":
|
|
708
|
+
case "json":
|
|
709
|
+
case "text":
|
|
710
|
+
data = await response[parseAs]();
|
|
711
|
+
break;
|
|
712
|
+
case "stream":
|
|
713
|
+
return opts.responseStyle === "data" ? response.body : {
|
|
714
|
+
data: response.body,
|
|
715
|
+
...result
|
|
716
|
+
};
|
|
717
|
+
}
|
|
718
|
+
if (parseAs === "json") {
|
|
719
|
+
if (opts.responseValidator) {
|
|
720
|
+
await opts.responseValidator(data);
|
|
721
|
+
}
|
|
722
|
+
if (opts.responseTransformer) {
|
|
723
|
+
data = await opts.responseTransformer(data);
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
return opts.responseStyle === "data" ? data : {
|
|
727
|
+
data,
|
|
728
|
+
...result
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
const textError = await response.text();
|
|
732
|
+
let jsonError;
|
|
266
733
|
try {
|
|
267
|
-
|
|
734
|
+
jsonError = JSON.parse(textError);
|
|
268
735
|
} catch {}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
736
|
+
const error = jsonError ?? textError;
|
|
737
|
+
let finalError = error;
|
|
738
|
+
for (const fn of interceptors.error._fns) {
|
|
739
|
+
if (fn) {
|
|
740
|
+
finalError = await fn(error, response, request2, opts);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
finalError = finalError || {};
|
|
744
|
+
if (opts.throwOnError) {
|
|
745
|
+
throw finalError;
|
|
746
|
+
}
|
|
747
|
+
return opts.responseStyle === "data" ? undefined : {
|
|
748
|
+
error: finalError,
|
|
749
|
+
...result
|
|
750
|
+
};
|
|
751
|
+
};
|
|
752
|
+
const makeMethodFn = (method) => (options) => request({ ...options, method });
|
|
753
|
+
const makeSseFn = (method) => async (options) => {
|
|
754
|
+
const { opts, url } = await beforeRequest(options);
|
|
755
|
+
return createSseClient({
|
|
756
|
+
...opts,
|
|
757
|
+
body: opts.body,
|
|
758
|
+
headers: opts.headers,
|
|
759
|
+
method,
|
|
760
|
+
onRequest: async (url2, init) => {
|
|
761
|
+
let request2 = new Request(url2, init);
|
|
762
|
+
for (const fn of interceptors.request._fns) {
|
|
763
|
+
if (fn) {
|
|
764
|
+
request2 = await fn(request2, opts);
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
return request2;
|
|
768
|
+
},
|
|
769
|
+
url
|
|
770
|
+
});
|
|
771
|
+
};
|
|
772
|
+
return {
|
|
773
|
+
buildUrl,
|
|
774
|
+
connect: makeMethodFn("CONNECT"),
|
|
775
|
+
delete: makeMethodFn("DELETE"),
|
|
776
|
+
get: makeMethodFn("GET"),
|
|
777
|
+
getConfig,
|
|
778
|
+
head: makeMethodFn("HEAD"),
|
|
779
|
+
interceptors,
|
|
780
|
+
options: makeMethodFn("OPTIONS"),
|
|
781
|
+
patch: makeMethodFn("PATCH"),
|
|
782
|
+
post: makeMethodFn("POST"),
|
|
783
|
+
put: makeMethodFn("PUT"),
|
|
784
|
+
request,
|
|
785
|
+
setConfig,
|
|
786
|
+
sse: {
|
|
787
|
+
connect: makeSseFn("CONNECT"),
|
|
788
|
+
delete: makeSseFn("DELETE"),
|
|
789
|
+
get: makeSseFn("GET"),
|
|
790
|
+
head: makeSseFn("HEAD"),
|
|
791
|
+
options: makeSseFn("OPTIONS"),
|
|
792
|
+
patch: makeSseFn("PATCH"),
|
|
793
|
+
post: makeSseFn("POST"),
|
|
794
|
+
put: makeSseFn("PUT"),
|
|
795
|
+
trace: makeSseFn("TRACE")
|
|
796
|
+
},
|
|
797
|
+
trace: makeMethodFn("TRACE")
|
|
275
798
|
};
|
|
276
|
-
return { connect: (t) => s({ ...t, method: "CONNECT" }), delete: (t) => s({ ...t, method: "DELETE" }), get: (t) => s({ ...t, method: "GET" }), getConfig: e, head: (t) => s({ ...t, method: "HEAD" }), interceptors: o, options: (t) => s({ ...t, method: "OPTIONS" }), patch: (t) => s({ ...t, method: "PATCH" }), post: (t) => s({ ...t, method: "POST" }), put: (t) => s({ ...t, method: "PUT" }), request: s, setConfig: a, trace: (t) => s({ ...t, method: "TRACE" }) };
|
|
277
799
|
};
|
|
800
|
+
// src/generated/readarr/client.gen.ts
|
|
801
|
+
var client = createClient(createConfig());
|
|
278
802
|
|
|
279
|
-
// src/generated/readarr/
|
|
280
|
-
var client = J(x());
|
|
803
|
+
// src/generated/readarr/sdk.gen.ts
|
|
281
804
|
var getApiV1Author = (options) => {
|
|
282
805
|
return (options?.client ?? client).get({
|
|
283
|
-
|
|
284
|
-
|
|
806
|
+
security: [
|
|
807
|
+
{
|
|
808
|
+
name: "X-Api-Key",
|
|
809
|
+
type: "apiKey"
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
in: "query",
|
|
813
|
+
name: "apikey",
|
|
814
|
+
type: "apiKey"
|
|
815
|
+
}
|
|
816
|
+
],
|
|
817
|
+
url: "/api/v1/author",
|
|
818
|
+
...options
|
|
285
819
|
});
|
|
286
820
|
};
|
|
287
821
|
var postApiV1Author = (options) => {
|
|
288
822
|
return (options?.client ?? client).post({
|
|
823
|
+
security: [
|
|
824
|
+
{
|
|
825
|
+
name: "X-Api-Key",
|
|
826
|
+
type: "apiKey"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
in: "query",
|
|
830
|
+
name: "apikey",
|
|
831
|
+
type: "apiKey"
|
|
832
|
+
}
|
|
833
|
+
],
|
|
834
|
+
url: "/api/v1/author",
|
|
289
835
|
...options,
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return (options?.client ?? client).put({
|
|
295
|
-
...options,
|
|
296
|
-
url: "/api/v1/author/{id}"
|
|
836
|
+
headers: {
|
|
837
|
+
"Content-Type": "application/json",
|
|
838
|
+
...options?.headers
|
|
839
|
+
}
|
|
297
840
|
});
|
|
298
841
|
};
|
|
299
842
|
var deleteApiV1AuthorById = (options) => {
|
|
300
|
-
return (options
|
|
301
|
-
|
|
302
|
-
|
|
843
|
+
return (options.client ?? client).delete({
|
|
844
|
+
security: [
|
|
845
|
+
{
|
|
846
|
+
name: "X-Api-Key",
|
|
847
|
+
type: "apiKey"
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
in: "query",
|
|
851
|
+
name: "apikey",
|
|
852
|
+
type: "apiKey"
|
|
853
|
+
}
|
|
854
|
+
],
|
|
855
|
+
url: "/api/v1/author/{id}",
|
|
856
|
+
...options
|
|
303
857
|
});
|
|
304
858
|
};
|
|
305
859
|
var getApiV1AuthorById = (options) => {
|
|
306
|
-
return (options
|
|
860
|
+
return (options.client ?? client).get({
|
|
861
|
+
security: [
|
|
862
|
+
{
|
|
863
|
+
name: "X-Api-Key",
|
|
864
|
+
type: "apiKey"
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
in: "query",
|
|
868
|
+
name: "apikey",
|
|
869
|
+
type: "apiKey"
|
|
870
|
+
}
|
|
871
|
+
],
|
|
872
|
+
url: "/api/v1/author/{id}",
|
|
873
|
+
...options
|
|
874
|
+
});
|
|
875
|
+
};
|
|
876
|
+
var putApiV1AuthorById = (options) => {
|
|
877
|
+
return (options.client ?? client).put({
|
|
878
|
+
security: [
|
|
879
|
+
{
|
|
880
|
+
name: "X-Api-Key",
|
|
881
|
+
type: "apiKey"
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
in: "query",
|
|
885
|
+
name: "apikey",
|
|
886
|
+
type: "apiKey"
|
|
887
|
+
}
|
|
888
|
+
],
|
|
889
|
+
url: "/api/v1/author/{id}",
|
|
307
890
|
...options,
|
|
308
|
-
|
|
891
|
+
headers: {
|
|
892
|
+
"Content-Type": "application/json",
|
|
893
|
+
...options.headers
|
|
894
|
+
}
|
|
309
895
|
});
|
|
310
896
|
};
|
|
311
897
|
var getApiV1AuthorLookup = (options) => {
|
|
312
898
|
return (options?.client ?? client).get({
|
|
313
|
-
|
|
314
|
-
|
|
899
|
+
security: [
|
|
900
|
+
{
|
|
901
|
+
name: "X-Api-Key",
|
|
902
|
+
type: "apiKey"
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
in: "query",
|
|
906
|
+
name: "apikey",
|
|
907
|
+
type: "apiKey"
|
|
908
|
+
}
|
|
909
|
+
],
|
|
910
|
+
url: "/api/v1/author/lookup",
|
|
911
|
+
...options
|
|
315
912
|
});
|
|
316
913
|
};
|
|
317
914
|
var getApiV1Book = (options) => {
|
|
318
915
|
return (options?.client ?? client).get({
|
|
319
|
-
|
|
320
|
-
|
|
916
|
+
security: [
|
|
917
|
+
{
|
|
918
|
+
name: "X-Api-Key",
|
|
919
|
+
type: "apiKey"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
in: "query",
|
|
923
|
+
name: "apikey",
|
|
924
|
+
type: "apiKey"
|
|
925
|
+
}
|
|
926
|
+
],
|
|
927
|
+
url: "/api/v1/book",
|
|
928
|
+
...options
|
|
321
929
|
});
|
|
322
930
|
};
|
|
323
931
|
var getApiV1BookById = (options) => {
|
|
932
|
+
return (options.client ?? client).get({
|
|
933
|
+
security: [
|
|
934
|
+
{
|
|
935
|
+
name: "X-Api-Key",
|
|
936
|
+
type: "apiKey"
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
in: "query",
|
|
940
|
+
name: "apikey",
|
|
941
|
+
type: "apiKey"
|
|
942
|
+
}
|
|
943
|
+
],
|
|
944
|
+
url: "/api/v1/book/{id}",
|
|
945
|
+
...options
|
|
946
|
+
});
|
|
947
|
+
};
|
|
948
|
+
var getApiV1Command = (options) => {
|
|
324
949
|
return (options?.client ?? client).get({
|
|
325
|
-
|
|
326
|
-
|
|
950
|
+
security: [
|
|
951
|
+
{
|
|
952
|
+
name: "X-Api-Key",
|
|
953
|
+
type: "apiKey"
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
in: "query",
|
|
957
|
+
name: "apikey",
|
|
958
|
+
type: "apiKey"
|
|
959
|
+
}
|
|
960
|
+
],
|
|
961
|
+
url: "/api/v1/command",
|
|
962
|
+
...options
|
|
327
963
|
});
|
|
328
964
|
};
|
|
329
965
|
var postApiV1Command = (options) => {
|
|
330
966
|
return (options?.client ?? client).post({
|
|
967
|
+
security: [
|
|
968
|
+
{
|
|
969
|
+
name: "X-Api-Key",
|
|
970
|
+
type: "apiKey"
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
in: "query",
|
|
974
|
+
name: "apikey",
|
|
975
|
+
type: "apiKey"
|
|
976
|
+
}
|
|
977
|
+
],
|
|
978
|
+
url: "/api/v1/command",
|
|
331
979
|
...options,
|
|
332
|
-
|
|
980
|
+
headers: {
|
|
981
|
+
"Content-Type": "application/json",
|
|
982
|
+
...options?.headers
|
|
983
|
+
}
|
|
333
984
|
});
|
|
334
985
|
};
|
|
335
|
-
var
|
|
986
|
+
var getApiV1Health = (options) => {
|
|
336
987
|
return (options?.client ?? client).get({
|
|
337
|
-
|
|
338
|
-
|
|
988
|
+
security: [
|
|
989
|
+
{
|
|
990
|
+
name: "X-Api-Key",
|
|
991
|
+
type: "apiKey"
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
in: "query",
|
|
995
|
+
name: "apikey",
|
|
996
|
+
type: "apiKey"
|
|
997
|
+
}
|
|
998
|
+
],
|
|
999
|
+
url: "/api/v1/health",
|
|
1000
|
+
...options
|
|
339
1001
|
});
|
|
340
1002
|
};
|
|
341
|
-
var
|
|
1003
|
+
var getApiV1Rootfolder = (options) => {
|
|
342
1004
|
return (options?.client ?? client).get({
|
|
343
|
-
|
|
344
|
-
|
|
1005
|
+
security: [
|
|
1006
|
+
{
|
|
1007
|
+
name: "X-Api-Key",
|
|
1008
|
+
type: "apiKey"
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
in: "query",
|
|
1012
|
+
name: "apikey",
|
|
1013
|
+
type: "apiKey"
|
|
1014
|
+
}
|
|
1015
|
+
],
|
|
1016
|
+
url: "/api/v1/rootfolder",
|
|
1017
|
+
...options
|
|
345
1018
|
});
|
|
346
1019
|
};
|
|
347
1020
|
var postApiV1Rootfolder = (options) => {
|
|
348
1021
|
return (options?.client ?? client).post({
|
|
1022
|
+
security: [
|
|
1023
|
+
{
|
|
1024
|
+
name: "X-Api-Key",
|
|
1025
|
+
type: "apiKey"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
in: "query",
|
|
1029
|
+
name: "apikey",
|
|
1030
|
+
type: "apiKey"
|
|
1031
|
+
}
|
|
1032
|
+
],
|
|
1033
|
+
url: "/api/v1/rootfolder",
|
|
349
1034
|
...options,
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
return (options?.client ?? client).get({
|
|
355
|
-
...options,
|
|
356
|
-
url: "/api/v1/rootfolder"
|
|
1035
|
+
headers: {
|
|
1036
|
+
"Content-Type": "application/json",
|
|
1037
|
+
...options?.headers
|
|
1038
|
+
}
|
|
357
1039
|
});
|
|
358
1040
|
};
|
|
359
1041
|
var getApiV1SystemStatus = (options) => {
|
|
360
1042
|
return (options?.client ?? client).get({
|
|
361
|
-
|
|
362
|
-
|
|
1043
|
+
security: [
|
|
1044
|
+
{
|
|
1045
|
+
name: "X-Api-Key",
|
|
1046
|
+
type: "apiKey"
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
in: "query",
|
|
1050
|
+
name: "apikey",
|
|
1051
|
+
type: "apiKey"
|
|
1052
|
+
}
|
|
1053
|
+
],
|
|
1054
|
+
url: "/api/v1/system/status",
|
|
1055
|
+
...options
|
|
363
1056
|
});
|
|
364
1057
|
};
|
|
365
1058
|
|
|
@@ -368,10 +1061,6 @@ class ReadarrClient {
|
|
|
368
1061
|
clientConfig;
|
|
369
1062
|
constructor(config) {
|
|
370
1063
|
this.clientConfig = createServarrClient(config);
|
|
371
|
-
client.setConfig({
|
|
372
|
-
baseUrl: this.clientConfig.getBaseUrl(),
|
|
373
|
-
headers: this.clientConfig.getHeaders()
|
|
374
|
-
});
|
|
375
1064
|
}
|
|
376
1065
|
async getSystemStatus() {
|
|
377
1066
|
return getApiV1SystemStatus();
|
|
@@ -420,10 +1109,6 @@ class ReadarrClient {
|
|
|
420
1109
|
updateConfig(newConfig) {
|
|
421
1110
|
const updatedConfig = { ...this.clientConfig.config, ...newConfig };
|
|
422
1111
|
this.clientConfig = createServarrClient(updatedConfig);
|
|
423
|
-
client.setConfig({
|
|
424
|
-
baseUrl: this.clientConfig.getBaseUrl(),
|
|
425
|
-
headers: this.clientConfig.getHeaders()
|
|
426
|
-
});
|
|
427
1112
|
return this.clientConfig.config;
|
|
428
1113
|
}
|
|
429
1114
|
}
|