tsarr 1.8.0 → 1.9.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/dist/clients/lidarr.js +62 -45
- package/dist/clients/prowlarr.js +62 -45
- package/dist/clients/radarr.d.ts +57 -0
- package/dist/clients/radarr.d.ts.map +1 -1
- package/dist/clients/radarr.js +131 -45
- package/dist/clients/readarr.js +62 -45
- package/dist/clients/sonarr.js +62 -45
- package/dist/generated/lidarr/client/client.gen.d.ts.map +1 -1
- package/dist/generated/lidarr/client/index.d.ts +1 -0
- package/dist/generated/lidarr/client/index.d.ts.map +1 -1
- package/dist/generated/lidarr/client/utils.gen.d.ts +6 -11
- package/dist/generated/lidarr/client/utils.gen.d.ts.map +1 -1
- package/dist/generated/lidarr/client.gen.d.ts +3 -3
- package/dist/generated/lidarr/client.gen.d.ts.map +1 -1
- package/dist/generated/lidarr/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/generated/lidarr/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/generated/lidarr/core/utils.gen.d.ts +6 -1
- package/dist/generated/lidarr/core/utils.gen.d.ts.map +1 -1
- package/dist/generated/lidarr/index.d.ts +1 -1
- package/dist/generated/lidarr/index.d.ts.map +1 -1
- package/dist/generated/lidarr/sdk.gen.d.ts +3 -3
- package/dist/generated/lidarr/sdk.gen.d.ts.map +1 -1
- package/dist/generated/lidarr/types.gen.d.ts +7 -4
- package/dist/generated/lidarr/types.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/client/client.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/client/index.d.ts +1 -0
- package/dist/generated/prowlarr/client/index.d.ts.map +1 -1
- package/dist/generated/prowlarr/client/utils.gen.d.ts +6 -11
- package/dist/generated/prowlarr/client/utils.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/client.gen.d.ts +3 -3
- package/dist/generated/prowlarr/client.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/generated/prowlarr/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/generated/prowlarr/core/utils.gen.d.ts +6 -1
- package/dist/generated/prowlarr/core/utils.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/index.d.ts +1 -1
- package/dist/generated/prowlarr/index.d.ts.map +1 -1
- package/dist/generated/prowlarr/sdk.gen.d.ts +3 -3
- package/dist/generated/prowlarr/sdk.gen.d.ts.map +1 -1
- package/dist/generated/prowlarr/types.gen.d.ts +3 -3
- package/dist/generated/prowlarr/types.gen.d.ts.map +1 -1
- package/dist/generated/radarr/client/client.gen.d.ts.map +1 -1
- package/dist/generated/radarr/client/index.d.ts +1 -0
- package/dist/generated/radarr/client/index.d.ts.map +1 -1
- package/dist/generated/radarr/client/utils.gen.d.ts +6 -11
- package/dist/generated/radarr/client/utils.gen.d.ts.map +1 -1
- package/dist/generated/radarr/client.gen.d.ts +3 -3
- package/dist/generated/radarr/client.gen.d.ts.map +1 -1
- package/dist/generated/radarr/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/generated/radarr/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/generated/radarr/core/utils.gen.d.ts +6 -1
- package/dist/generated/radarr/core/utils.gen.d.ts.map +1 -1
- package/dist/generated/radarr/index.d.ts +1 -1
- package/dist/generated/radarr/index.d.ts.map +1 -1
- package/dist/generated/radarr/sdk.gen.d.ts +3 -3
- package/dist/generated/radarr/sdk.gen.d.ts.map +1 -1
- package/dist/generated/radarr/types.gen.d.ts +3 -3
- package/dist/generated/radarr/types.gen.d.ts.map +1 -1
- package/dist/generated/readarr/client/client.gen.d.ts.map +1 -1
- package/dist/generated/readarr/client/index.d.ts +1 -0
- package/dist/generated/readarr/client/index.d.ts.map +1 -1
- package/dist/generated/readarr/client/utils.gen.d.ts +6 -11
- package/dist/generated/readarr/client/utils.gen.d.ts.map +1 -1
- package/dist/generated/readarr/client.gen.d.ts +3 -3
- package/dist/generated/readarr/client.gen.d.ts.map +1 -1
- package/dist/generated/readarr/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/generated/readarr/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/generated/readarr/core/utils.gen.d.ts +6 -1
- package/dist/generated/readarr/core/utils.gen.d.ts.map +1 -1
- package/dist/generated/readarr/index.d.ts +1 -1
- package/dist/generated/readarr/index.d.ts.map +1 -1
- package/dist/generated/readarr/sdk.gen.d.ts +3 -3
- package/dist/generated/readarr/sdk.gen.d.ts.map +1 -1
- package/dist/generated/readarr/types.gen.d.ts +3 -3
- package/dist/generated/readarr/types.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/client/client.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/client/index.d.ts +1 -0
- package/dist/generated/sonarr/client/index.d.ts.map +1 -1
- package/dist/generated/sonarr/client/utils.gen.d.ts +6 -11
- package/dist/generated/sonarr/client/utils.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/client.gen.d.ts +3 -3
- package/dist/generated/sonarr/client.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/generated/sonarr/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/generated/sonarr/core/utils.gen.d.ts +6 -1
- package/dist/generated/sonarr/core/utils.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/index.d.ts +1 -1
- package/dist/generated/sonarr/index.d.ts.map +1 -1
- package/dist/generated/sonarr/sdk.gen.d.ts +3 -3
- package/dist/generated/sonarr/sdk.gen.d.ts.map +1 -1
- package/dist/generated/sonarr/types.gen.d.ts +3 -3
- package/dist/generated/sonarr/types.gen.d.ts.map +1 -1
- package/dist/index.js +16 -16
- package/dist/tsarr-1.9.0.tgz +0 -0
- package/package.json +8 -8
- package/dist/tsarr-1.8.0.tgz +0 -0
package/dist/clients/radarr.js
CHANGED
|
@@ -187,21 +187,6 @@ var createSseClient = ({
|
|
|
187
187
|
return { stream };
|
|
188
188
|
};
|
|
189
189
|
|
|
190
|
-
// src/generated/radarr/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;
|
|
203
|
-
};
|
|
204
|
-
|
|
205
190
|
// src/generated/radarr/core/pathSerializer.gen.ts
|
|
206
191
|
var separatorArrayExplode = (style) => {
|
|
207
192
|
switch (style) {
|
|
@@ -399,6 +384,36 @@ var getUrl = ({
|
|
|
399
384
|
}
|
|
400
385
|
return url;
|
|
401
386
|
};
|
|
387
|
+
function getValidRequestBody(options) {
|
|
388
|
+
const hasBody = options.body !== undefined;
|
|
389
|
+
const isSerializedBody = hasBody && options.bodySerializer;
|
|
390
|
+
if (isSerializedBody) {
|
|
391
|
+
if ("serializedBody" in options) {
|
|
392
|
+
const hasSerializedBody = options.serializedBody !== undefined && options.serializedBody !== "";
|
|
393
|
+
return hasSerializedBody ? options.serializedBody : null;
|
|
394
|
+
}
|
|
395
|
+
return options.body !== "" ? options.body : null;
|
|
396
|
+
}
|
|
397
|
+
if (hasBody) {
|
|
398
|
+
return options.body;
|
|
399
|
+
}
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// src/generated/radarr/core/auth.gen.ts
|
|
404
|
+
var getAuthToken = async (auth, callback) => {
|
|
405
|
+
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
406
|
+
if (!token) {
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
if (auth.scheme === "bearer") {
|
|
410
|
+
return `Bearer ${token}`;
|
|
411
|
+
}
|
|
412
|
+
if (auth.scheme === "basic") {
|
|
413
|
+
return `Basic ${btoa(token)}`;
|
|
414
|
+
}
|
|
415
|
+
return token;
|
|
416
|
+
};
|
|
402
417
|
|
|
403
418
|
// src/generated/radarr/client/utils.gen.ts
|
|
404
419
|
var createQuerySerializer = ({
|
|
@@ -527,13 +542,20 @@ var mergeConfigs = (a, b) => {
|
|
|
527
542
|
config.headers = mergeHeaders(a.headers, b.headers);
|
|
528
543
|
return config;
|
|
529
544
|
};
|
|
545
|
+
var headersEntries = (headers) => {
|
|
546
|
+
const entries = [];
|
|
547
|
+
headers.forEach((value, key) => {
|
|
548
|
+
entries.push([key, value]);
|
|
549
|
+
});
|
|
550
|
+
return entries;
|
|
551
|
+
};
|
|
530
552
|
var mergeHeaders = (...headers) => {
|
|
531
553
|
const mergedHeaders = new Headers;
|
|
532
554
|
for (const header of headers) {
|
|
533
|
-
if (!header
|
|
555
|
+
if (!header) {
|
|
534
556
|
continue;
|
|
535
557
|
}
|
|
536
|
-
const iterator = header instanceof Headers ? header
|
|
558
|
+
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
|
|
537
559
|
for (const [key, value] of iterator) {
|
|
538
560
|
if (value === null) {
|
|
539
561
|
mergedHeaders.delete(key);
|
|
@@ -550,42 +572,37 @@ var mergeHeaders = (...headers) => {
|
|
|
550
572
|
};
|
|
551
573
|
|
|
552
574
|
class Interceptors {
|
|
553
|
-
|
|
554
|
-
constructor() {
|
|
555
|
-
this._fns = [];
|
|
556
|
-
}
|
|
575
|
+
fns = [];
|
|
557
576
|
clear() {
|
|
558
|
-
this.
|
|
577
|
+
this.fns = [];
|
|
559
578
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
return this._fns.indexOf(id);
|
|
579
|
+
eject(id) {
|
|
580
|
+
const index = this.getInterceptorIndex(id);
|
|
581
|
+
if (this.fns[index]) {
|
|
582
|
+
this.fns[index] = null;
|
|
565
583
|
}
|
|
566
584
|
}
|
|
567
585
|
exists(id) {
|
|
568
586
|
const index = this.getInterceptorIndex(id);
|
|
569
|
-
return
|
|
587
|
+
return Boolean(this.fns[index]);
|
|
570
588
|
}
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
this._fns[index] = null;
|
|
589
|
+
getInterceptorIndex(id) {
|
|
590
|
+
if (typeof id === "number") {
|
|
591
|
+
return this.fns[id] ? id : -1;
|
|
575
592
|
}
|
|
593
|
+
return this.fns.indexOf(id);
|
|
576
594
|
}
|
|
577
595
|
update(id, fn) {
|
|
578
596
|
const index = this.getInterceptorIndex(id);
|
|
579
|
-
if (this.
|
|
580
|
-
this.
|
|
597
|
+
if (this.fns[index]) {
|
|
598
|
+
this.fns[index] = fn;
|
|
581
599
|
return id;
|
|
582
|
-
} else {
|
|
583
|
-
return false;
|
|
584
600
|
}
|
|
601
|
+
return false;
|
|
585
602
|
}
|
|
586
603
|
use(fn) {
|
|
587
|
-
this.
|
|
588
|
-
return this.
|
|
604
|
+
this.fns.push(fn);
|
|
605
|
+
return this.fns.length - 1;
|
|
589
606
|
}
|
|
590
607
|
}
|
|
591
608
|
var createInterceptors = () => ({
|
|
@@ -641,10 +658,10 @@ var createClient = (config = {}) => {
|
|
|
641
658
|
if (opts.requestValidator) {
|
|
642
659
|
await opts.requestValidator(opts);
|
|
643
660
|
}
|
|
644
|
-
if (opts.body && opts.bodySerializer) {
|
|
661
|
+
if (opts.body !== undefined && opts.bodySerializer) {
|
|
645
662
|
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
646
663
|
}
|
|
647
|
-
if (opts.
|
|
664
|
+
if (opts.body === undefined || opts.serializedBody === "") {
|
|
648
665
|
opts.headers.delete("Content-Type");
|
|
649
666
|
}
|
|
650
667
|
const url = buildUrl(opts);
|
|
@@ -655,17 +672,17 @@ var createClient = (config = {}) => {
|
|
|
655
672
|
const requestInit = {
|
|
656
673
|
redirect: "follow",
|
|
657
674
|
...opts,
|
|
658
|
-
body: opts
|
|
675
|
+
body: getValidRequestBody(opts)
|
|
659
676
|
};
|
|
660
677
|
let request2 = new Request(url, requestInit);
|
|
661
|
-
for (const fn of interceptors.request.
|
|
678
|
+
for (const fn of interceptors.request.fns) {
|
|
662
679
|
if (fn) {
|
|
663
680
|
request2 = await fn(request2, opts);
|
|
664
681
|
}
|
|
665
682
|
}
|
|
666
683
|
const _fetch = opts.fetch;
|
|
667
684
|
let response = await _fetch(request2);
|
|
668
|
-
for (const fn of interceptors.response.
|
|
685
|
+
for (const fn of interceptors.response.fns) {
|
|
669
686
|
if (fn) {
|
|
670
687
|
response = await fn(response, request2, opts);
|
|
671
688
|
}
|
|
@@ -735,7 +752,7 @@ var createClient = (config = {}) => {
|
|
|
735
752
|
} catch {}
|
|
736
753
|
const error = jsonError ?? textError;
|
|
737
754
|
let finalError = error;
|
|
738
|
-
for (const fn of interceptors.error.
|
|
755
|
+
for (const fn of interceptors.error.fns) {
|
|
739
756
|
if (fn) {
|
|
740
757
|
finalError = await fn(error, response, request2, opts);
|
|
741
758
|
}
|
|
@@ -759,7 +776,7 @@ var createClient = (config = {}) => {
|
|
|
759
776
|
method,
|
|
760
777
|
onRequest: async (url2, init) => {
|
|
761
778
|
let request2 = new Request(url2, init);
|
|
762
|
-
for (const fn of interceptors.request.
|
|
779
|
+
for (const fn of interceptors.request.fns) {
|
|
763
780
|
if (fn) {
|
|
764
781
|
request2 = await fn(request2, opts);
|
|
765
782
|
}
|
|
@@ -1990,6 +2007,40 @@ var postApiV3MovieImport = (options) => {
|
|
|
1990
2007
|
}
|
|
1991
2008
|
});
|
|
1992
2009
|
};
|
|
2010
|
+
var getApiV3MovieLookupTmdb = (options) => {
|
|
2011
|
+
return (options?.client ?? client).get({
|
|
2012
|
+
security: [
|
|
2013
|
+
{
|
|
2014
|
+
name: "X-Api-Key",
|
|
2015
|
+
type: "apiKey"
|
|
2016
|
+
},
|
|
2017
|
+
{
|
|
2018
|
+
in: "query",
|
|
2019
|
+
name: "apikey",
|
|
2020
|
+
type: "apiKey"
|
|
2021
|
+
}
|
|
2022
|
+
],
|
|
2023
|
+
url: "/api/v3/movie/lookup/tmdb",
|
|
2024
|
+
...options
|
|
2025
|
+
});
|
|
2026
|
+
};
|
|
2027
|
+
var getApiV3MovieLookupImdb = (options) => {
|
|
2028
|
+
return (options?.client ?? client).get({
|
|
2029
|
+
security: [
|
|
2030
|
+
{
|
|
2031
|
+
name: "X-Api-Key",
|
|
2032
|
+
type: "apiKey"
|
|
2033
|
+
},
|
|
2034
|
+
{
|
|
2035
|
+
in: "query",
|
|
2036
|
+
name: "apikey",
|
|
2037
|
+
type: "apiKey"
|
|
2038
|
+
}
|
|
2039
|
+
],
|
|
2040
|
+
url: "/api/v3/movie/lookup/imdb",
|
|
2041
|
+
...options
|
|
2042
|
+
});
|
|
2043
|
+
};
|
|
1993
2044
|
var getApiV3MovieLookup = (options) => {
|
|
1994
2045
|
return (options?.client ?? client).get({
|
|
1995
2046
|
security: [
|
|
@@ -2787,6 +2838,41 @@ class RadarrClient {
|
|
|
2787
2838
|
async searchMovies(term) {
|
|
2788
2839
|
return getApiV3MovieLookup({ query: { term } });
|
|
2789
2840
|
}
|
|
2841
|
+
async lookupMovieByTmdbId(tmdbId) {
|
|
2842
|
+
return getApiV3MovieLookupTmdb({ query: { tmdbId } });
|
|
2843
|
+
}
|
|
2844
|
+
async lookupMovieByImdbId(imdbId) {
|
|
2845
|
+
return getApiV3MovieLookupImdb({ query: { imdbId } });
|
|
2846
|
+
}
|
|
2847
|
+
async lookupMovieById(id) {
|
|
2848
|
+
const parts = id.split(":");
|
|
2849
|
+
if (parts.length !== 2) {
|
|
2850
|
+
throw new Error('Invalid ID format. Must contain exactly one colon. Use "tmdb:123" or "imdb:tt0175142"');
|
|
2851
|
+
}
|
|
2852
|
+
const [providerRaw, value] = parts;
|
|
2853
|
+
if (!providerRaw || !value) {
|
|
2854
|
+
throw new Error('Invalid ID format. Both provider and value must be non-empty. Use "tmdb:123" or "imdb:tt0175142"');
|
|
2855
|
+
}
|
|
2856
|
+
const provider = providerRaw.toLowerCase();
|
|
2857
|
+
if (provider !== "tmdb" && provider !== "imdb") {
|
|
2858
|
+
throw new Error(`Invalid provider "${providerRaw}". Must be either "tmdb" or "imdb"`);
|
|
2859
|
+
}
|
|
2860
|
+
if (provider === "tmdb") {
|
|
2861
|
+
const tmdbId = Number.parseInt(value, 10);
|
|
2862
|
+
if (Number.isNaN(tmdbId)) {
|
|
2863
|
+
throw new Error(`Invalid TMDB ID "${value}". Must be a numeric value`);
|
|
2864
|
+
}
|
|
2865
|
+
if (!Number.isInteger(tmdbId) || tmdbId <= 0) {
|
|
2866
|
+
throw new Error(`Invalid TMDB ID "${value}". Must be a positive integer`);
|
|
2867
|
+
}
|
|
2868
|
+
return getApiV3MovieLookupTmdb({ query: { tmdbId } });
|
|
2869
|
+
}
|
|
2870
|
+
const imdbPattern = /^tt\d+$/;
|
|
2871
|
+
if (!imdbPattern.test(value)) {
|
|
2872
|
+
throw new Error(`Invalid IMDB ID "${value}". Must match pattern "tt" followed by digits (e.g., "tt0175142")`);
|
|
2873
|
+
}
|
|
2874
|
+
return getApiV3MovieLookupImdb({ query: { imdbId: value } });
|
|
2875
|
+
}
|
|
2790
2876
|
async runCommand(command) {
|
|
2791
2877
|
return postApiV3Command({ body: command });
|
|
2792
2878
|
}
|
package/dist/clients/readarr.js
CHANGED
|
@@ -187,21 +187,6 @@ var createSseClient = ({
|
|
|
187
187
|
return { stream };
|
|
188
188
|
};
|
|
189
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;
|
|
203
|
-
};
|
|
204
|
-
|
|
205
190
|
// src/generated/readarr/core/pathSerializer.gen.ts
|
|
206
191
|
var separatorArrayExplode = (style) => {
|
|
207
192
|
switch (style) {
|
|
@@ -399,6 +384,36 @@ var getUrl = ({
|
|
|
399
384
|
}
|
|
400
385
|
return url;
|
|
401
386
|
};
|
|
387
|
+
function getValidRequestBody(options) {
|
|
388
|
+
const hasBody = options.body !== undefined;
|
|
389
|
+
const isSerializedBody = hasBody && options.bodySerializer;
|
|
390
|
+
if (isSerializedBody) {
|
|
391
|
+
if ("serializedBody" in options) {
|
|
392
|
+
const hasSerializedBody = options.serializedBody !== undefined && options.serializedBody !== "";
|
|
393
|
+
return hasSerializedBody ? options.serializedBody : null;
|
|
394
|
+
}
|
|
395
|
+
return options.body !== "" ? options.body : null;
|
|
396
|
+
}
|
|
397
|
+
if (hasBody) {
|
|
398
|
+
return options.body;
|
|
399
|
+
}
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// src/generated/readarr/core/auth.gen.ts
|
|
404
|
+
var getAuthToken = async (auth, callback) => {
|
|
405
|
+
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
406
|
+
if (!token) {
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
if (auth.scheme === "bearer") {
|
|
410
|
+
return `Bearer ${token}`;
|
|
411
|
+
}
|
|
412
|
+
if (auth.scheme === "basic") {
|
|
413
|
+
return `Basic ${btoa(token)}`;
|
|
414
|
+
}
|
|
415
|
+
return token;
|
|
416
|
+
};
|
|
402
417
|
|
|
403
418
|
// src/generated/readarr/client/utils.gen.ts
|
|
404
419
|
var createQuerySerializer = ({
|
|
@@ -527,13 +542,20 @@ var mergeConfigs = (a, b) => {
|
|
|
527
542
|
config.headers = mergeHeaders(a.headers, b.headers);
|
|
528
543
|
return config;
|
|
529
544
|
};
|
|
545
|
+
var headersEntries = (headers) => {
|
|
546
|
+
const entries = [];
|
|
547
|
+
headers.forEach((value, key) => {
|
|
548
|
+
entries.push([key, value]);
|
|
549
|
+
});
|
|
550
|
+
return entries;
|
|
551
|
+
};
|
|
530
552
|
var mergeHeaders = (...headers) => {
|
|
531
553
|
const mergedHeaders = new Headers;
|
|
532
554
|
for (const header of headers) {
|
|
533
|
-
if (!header
|
|
555
|
+
if (!header) {
|
|
534
556
|
continue;
|
|
535
557
|
}
|
|
536
|
-
const iterator = header instanceof Headers ? header
|
|
558
|
+
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
|
|
537
559
|
for (const [key, value] of iterator) {
|
|
538
560
|
if (value === null) {
|
|
539
561
|
mergedHeaders.delete(key);
|
|
@@ -550,42 +572,37 @@ var mergeHeaders = (...headers) => {
|
|
|
550
572
|
};
|
|
551
573
|
|
|
552
574
|
class Interceptors {
|
|
553
|
-
|
|
554
|
-
constructor() {
|
|
555
|
-
this._fns = [];
|
|
556
|
-
}
|
|
575
|
+
fns = [];
|
|
557
576
|
clear() {
|
|
558
|
-
this.
|
|
577
|
+
this.fns = [];
|
|
559
578
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
return this._fns.indexOf(id);
|
|
579
|
+
eject(id) {
|
|
580
|
+
const index = this.getInterceptorIndex(id);
|
|
581
|
+
if (this.fns[index]) {
|
|
582
|
+
this.fns[index] = null;
|
|
565
583
|
}
|
|
566
584
|
}
|
|
567
585
|
exists(id) {
|
|
568
586
|
const index = this.getInterceptorIndex(id);
|
|
569
|
-
return
|
|
587
|
+
return Boolean(this.fns[index]);
|
|
570
588
|
}
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
this._fns[index] = null;
|
|
589
|
+
getInterceptorIndex(id) {
|
|
590
|
+
if (typeof id === "number") {
|
|
591
|
+
return this.fns[id] ? id : -1;
|
|
575
592
|
}
|
|
593
|
+
return this.fns.indexOf(id);
|
|
576
594
|
}
|
|
577
595
|
update(id, fn) {
|
|
578
596
|
const index = this.getInterceptorIndex(id);
|
|
579
|
-
if (this.
|
|
580
|
-
this.
|
|
597
|
+
if (this.fns[index]) {
|
|
598
|
+
this.fns[index] = fn;
|
|
581
599
|
return id;
|
|
582
|
-
} else {
|
|
583
|
-
return false;
|
|
584
600
|
}
|
|
601
|
+
return false;
|
|
585
602
|
}
|
|
586
603
|
use(fn) {
|
|
587
|
-
this.
|
|
588
|
-
return this.
|
|
604
|
+
this.fns.push(fn);
|
|
605
|
+
return this.fns.length - 1;
|
|
589
606
|
}
|
|
590
607
|
}
|
|
591
608
|
var createInterceptors = () => ({
|
|
@@ -641,10 +658,10 @@ var createClient = (config = {}) => {
|
|
|
641
658
|
if (opts.requestValidator) {
|
|
642
659
|
await opts.requestValidator(opts);
|
|
643
660
|
}
|
|
644
|
-
if (opts.body && opts.bodySerializer) {
|
|
661
|
+
if (opts.body !== undefined && opts.bodySerializer) {
|
|
645
662
|
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
646
663
|
}
|
|
647
|
-
if (opts.
|
|
664
|
+
if (opts.body === undefined || opts.serializedBody === "") {
|
|
648
665
|
opts.headers.delete("Content-Type");
|
|
649
666
|
}
|
|
650
667
|
const url = buildUrl(opts);
|
|
@@ -655,17 +672,17 @@ var createClient = (config = {}) => {
|
|
|
655
672
|
const requestInit = {
|
|
656
673
|
redirect: "follow",
|
|
657
674
|
...opts,
|
|
658
|
-
body: opts
|
|
675
|
+
body: getValidRequestBody(opts)
|
|
659
676
|
};
|
|
660
677
|
let request2 = new Request(url, requestInit);
|
|
661
|
-
for (const fn of interceptors.request.
|
|
678
|
+
for (const fn of interceptors.request.fns) {
|
|
662
679
|
if (fn) {
|
|
663
680
|
request2 = await fn(request2, opts);
|
|
664
681
|
}
|
|
665
682
|
}
|
|
666
683
|
const _fetch = opts.fetch;
|
|
667
684
|
let response = await _fetch(request2);
|
|
668
|
-
for (const fn of interceptors.response.
|
|
685
|
+
for (const fn of interceptors.response.fns) {
|
|
669
686
|
if (fn) {
|
|
670
687
|
response = await fn(response, request2, opts);
|
|
671
688
|
}
|
|
@@ -735,7 +752,7 @@ var createClient = (config = {}) => {
|
|
|
735
752
|
} catch {}
|
|
736
753
|
const error = jsonError ?? textError;
|
|
737
754
|
let finalError = error;
|
|
738
|
-
for (const fn of interceptors.error.
|
|
755
|
+
for (const fn of interceptors.error.fns) {
|
|
739
756
|
if (fn) {
|
|
740
757
|
finalError = await fn(error, response, request2, opts);
|
|
741
758
|
}
|
|
@@ -759,7 +776,7 @@ var createClient = (config = {}) => {
|
|
|
759
776
|
method,
|
|
760
777
|
onRequest: async (url2, init) => {
|
|
761
778
|
let request2 = new Request(url2, init);
|
|
762
|
-
for (const fn of interceptors.request.
|
|
779
|
+
for (const fn of interceptors.request.fns) {
|
|
763
780
|
if (fn) {
|
|
764
781
|
request2 = await fn(request2, opts);
|
|
765
782
|
}
|
package/dist/clients/sonarr.js
CHANGED
|
@@ -187,21 +187,6 @@ var createSseClient = ({
|
|
|
187
187
|
return { stream };
|
|
188
188
|
};
|
|
189
189
|
|
|
190
|
-
// src/generated/sonarr/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;
|
|
203
|
-
};
|
|
204
|
-
|
|
205
190
|
// src/generated/sonarr/core/pathSerializer.gen.ts
|
|
206
191
|
var separatorArrayExplode = (style) => {
|
|
207
192
|
switch (style) {
|
|
@@ -399,6 +384,36 @@ var getUrl = ({
|
|
|
399
384
|
}
|
|
400
385
|
return url;
|
|
401
386
|
};
|
|
387
|
+
function getValidRequestBody(options) {
|
|
388
|
+
const hasBody = options.body !== undefined;
|
|
389
|
+
const isSerializedBody = hasBody && options.bodySerializer;
|
|
390
|
+
if (isSerializedBody) {
|
|
391
|
+
if ("serializedBody" in options) {
|
|
392
|
+
const hasSerializedBody = options.serializedBody !== undefined && options.serializedBody !== "";
|
|
393
|
+
return hasSerializedBody ? options.serializedBody : null;
|
|
394
|
+
}
|
|
395
|
+
return options.body !== "" ? options.body : null;
|
|
396
|
+
}
|
|
397
|
+
if (hasBody) {
|
|
398
|
+
return options.body;
|
|
399
|
+
}
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// src/generated/sonarr/core/auth.gen.ts
|
|
404
|
+
var getAuthToken = async (auth, callback) => {
|
|
405
|
+
const token = typeof callback === "function" ? await callback(auth) : callback;
|
|
406
|
+
if (!token) {
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
if (auth.scheme === "bearer") {
|
|
410
|
+
return `Bearer ${token}`;
|
|
411
|
+
}
|
|
412
|
+
if (auth.scheme === "basic") {
|
|
413
|
+
return `Basic ${btoa(token)}`;
|
|
414
|
+
}
|
|
415
|
+
return token;
|
|
416
|
+
};
|
|
402
417
|
|
|
403
418
|
// src/generated/sonarr/client/utils.gen.ts
|
|
404
419
|
var createQuerySerializer = ({
|
|
@@ -527,13 +542,20 @@ var mergeConfigs = (a, b) => {
|
|
|
527
542
|
config.headers = mergeHeaders(a.headers, b.headers);
|
|
528
543
|
return config;
|
|
529
544
|
};
|
|
545
|
+
var headersEntries = (headers) => {
|
|
546
|
+
const entries = [];
|
|
547
|
+
headers.forEach((value, key) => {
|
|
548
|
+
entries.push([key, value]);
|
|
549
|
+
});
|
|
550
|
+
return entries;
|
|
551
|
+
};
|
|
530
552
|
var mergeHeaders = (...headers) => {
|
|
531
553
|
const mergedHeaders = new Headers;
|
|
532
554
|
for (const header of headers) {
|
|
533
|
-
if (!header
|
|
555
|
+
if (!header) {
|
|
534
556
|
continue;
|
|
535
557
|
}
|
|
536
|
-
const iterator = header instanceof Headers ? header
|
|
558
|
+
const iterator = header instanceof Headers ? headersEntries(header) : Object.entries(header);
|
|
537
559
|
for (const [key, value] of iterator) {
|
|
538
560
|
if (value === null) {
|
|
539
561
|
mergedHeaders.delete(key);
|
|
@@ -550,42 +572,37 @@ var mergeHeaders = (...headers) => {
|
|
|
550
572
|
};
|
|
551
573
|
|
|
552
574
|
class Interceptors {
|
|
553
|
-
|
|
554
|
-
constructor() {
|
|
555
|
-
this._fns = [];
|
|
556
|
-
}
|
|
575
|
+
fns = [];
|
|
557
576
|
clear() {
|
|
558
|
-
this.
|
|
577
|
+
this.fns = [];
|
|
559
578
|
}
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
return this._fns.indexOf(id);
|
|
579
|
+
eject(id) {
|
|
580
|
+
const index = this.getInterceptorIndex(id);
|
|
581
|
+
if (this.fns[index]) {
|
|
582
|
+
this.fns[index] = null;
|
|
565
583
|
}
|
|
566
584
|
}
|
|
567
585
|
exists(id) {
|
|
568
586
|
const index = this.getInterceptorIndex(id);
|
|
569
|
-
return
|
|
587
|
+
return Boolean(this.fns[index]);
|
|
570
588
|
}
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
this._fns[index] = null;
|
|
589
|
+
getInterceptorIndex(id) {
|
|
590
|
+
if (typeof id === "number") {
|
|
591
|
+
return this.fns[id] ? id : -1;
|
|
575
592
|
}
|
|
593
|
+
return this.fns.indexOf(id);
|
|
576
594
|
}
|
|
577
595
|
update(id, fn) {
|
|
578
596
|
const index = this.getInterceptorIndex(id);
|
|
579
|
-
if (this.
|
|
580
|
-
this.
|
|
597
|
+
if (this.fns[index]) {
|
|
598
|
+
this.fns[index] = fn;
|
|
581
599
|
return id;
|
|
582
|
-
} else {
|
|
583
|
-
return false;
|
|
584
600
|
}
|
|
601
|
+
return false;
|
|
585
602
|
}
|
|
586
603
|
use(fn) {
|
|
587
|
-
this.
|
|
588
|
-
return this.
|
|
604
|
+
this.fns.push(fn);
|
|
605
|
+
return this.fns.length - 1;
|
|
589
606
|
}
|
|
590
607
|
}
|
|
591
608
|
var createInterceptors = () => ({
|
|
@@ -641,10 +658,10 @@ var createClient = (config = {}) => {
|
|
|
641
658
|
if (opts.requestValidator) {
|
|
642
659
|
await opts.requestValidator(opts);
|
|
643
660
|
}
|
|
644
|
-
if (opts.body && opts.bodySerializer) {
|
|
661
|
+
if (opts.body !== undefined && opts.bodySerializer) {
|
|
645
662
|
opts.serializedBody = opts.bodySerializer(opts.body);
|
|
646
663
|
}
|
|
647
|
-
if (opts.
|
|
664
|
+
if (opts.body === undefined || opts.serializedBody === "") {
|
|
648
665
|
opts.headers.delete("Content-Type");
|
|
649
666
|
}
|
|
650
667
|
const url = buildUrl(opts);
|
|
@@ -655,17 +672,17 @@ var createClient = (config = {}) => {
|
|
|
655
672
|
const requestInit = {
|
|
656
673
|
redirect: "follow",
|
|
657
674
|
...opts,
|
|
658
|
-
body: opts
|
|
675
|
+
body: getValidRequestBody(opts)
|
|
659
676
|
};
|
|
660
677
|
let request2 = new Request(url, requestInit);
|
|
661
|
-
for (const fn of interceptors.request.
|
|
678
|
+
for (const fn of interceptors.request.fns) {
|
|
662
679
|
if (fn) {
|
|
663
680
|
request2 = await fn(request2, opts);
|
|
664
681
|
}
|
|
665
682
|
}
|
|
666
683
|
const _fetch = opts.fetch;
|
|
667
684
|
let response = await _fetch(request2);
|
|
668
|
-
for (const fn of interceptors.response.
|
|
685
|
+
for (const fn of interceptors.response.fns) {
|
|
669
686
|
if (fn) {
|
|
670
687
|
response = await fn(response, request2, opts);
|
|
671
688
|
}
|
|
@@ -735,7 +752,7 @@ var createClient = (config = {}) => {
|
|
|
735
752
|
} catch {}
|
|
736
753
|
const error = jsonError ?? textError;
|
|
737
754
|
let finalError = error;
|
|
738
|
-
for (const fn of interceptors.error.
|
|
755
|
+
for (const fn of interceptors.error.fns) {
|
|
739
756
|
if (fn) {
|
|
740
757
|
finalError = await fn(error, response, request2, opts);
|
|
741
758
|
}
|
|
@@ -759,7 +776,7 @@ var createClient = (config = {}) => {
|
|
|
759
776
|
method,
|
|
760
777
|
onRequest: async (url2, init) => {
|
|
761
778
|
let request2 = new Request(url2, init);
|
|
762
|
-
for (const fn of interceptors.request.
|
|
779
|
+
for (const fn of interceptors.request.fns) {
|
|
763
780
|
if (fn) {
|
|
764
781
|
request2 = await fn(request2, opts);
|
|
765
782
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.gen.d.ts","sourceRoot":"","sources":["../../../../src/generated/lidarr/client/client.gen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.gen.d.ts","sourceRoot":"","sources":["../../../../src/generated/lidarr/client/client.gen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EAGP,MAAM,aAAa,CAAC;AAgBrB,eAAO,MAAM,YAAY,GAAI,SAAQ,MAAW,KAAG,MAiPlD,CAAC"}
|
|
@@ -2,6 +2,7 @@ export type { Auth } from '../core/auth.gen';
|
|
|
2
2
|
export type { QuerySerializerOptions } from '../core/bodySerializer.gen';
|
|
3
3
|
export { formDataBodySerializer, jsonBodySerializer, urlSearchParamsBodySerializer, } from '../core/bodySerializer.gen';
|
|
4
4
|
export { buildClientParams } from '../core/params.gen';
|
|
5
|
+
export { serializeQueryKeyValue } from '../core/queryKeySerializer.gen';
|
|
5
6
|
export { createClient } from './client.gen';
|
|
6
7
|
export type { Client, ClientOptions, Config, CreateClientConfig, Options, OptionsLegacyParser, RequestOptions, RequestResult, ResolvedRequestOptions, ResponseStyle, TDataShape, } from './types.gen';
|
|
7
8
|
export { createConfig, mergeHeaders } from './utils.gen';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generated/lidarr/client/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EACV,MAAM,EACN,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generated/lidarr/client/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EACV,MAAM,EACN,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|