wyzie-lib 2.2.8 → 2.4.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 CHANGED
@@ -5,5 +5,5 @@
5
5
  </a>
6
6
  </p>
7
7
 
8
- Wyzie Lib is a package made for easily implementing [Wyzie Subs](https://sub.wyzie.ru) into your
9
- project without all the fuss. [Read the docs](https://docs.wyzie.ru/subs/usage/package).
8
+ Wyzie Lib is a package made for easily implementing [Wyzie Subs](https:
9
+ project without all the fuss. [Read the docs](https:
package/lib/main.amd.js CHANGED
@@ -17,7 +17,13 @@ define(["exports"], function(exports) {
17
17
  language,
18
18
  format,
19
19
  source,
20
+ release,
21
+ filename,
22
+ file,
23
+ fileName,
24
+ origin,
20
25
  hi,
26
+ refresh,
21
27
  ...extraParams
22
28
  }) {
23
29
  if (!tmdb_id && !imdb_id) {
@@ -37,7 +43,13 @@ define(["exports"], function(exports) {
37
43
  language: Array.isArray(language) ? language.join(",") : language,
38
44
  format: Array.isArray(format) ? format.join(",") : format,
39
45
  source: Array.isArray(source) ? source.join(",") : source,
40
- hi
46
+ release: Array.isArray(release) ? release.join(",") : release,
47
+ filename: Array.isArray(filename) ? filename.join(",") : filename,
48
+ file: Array.isArray(file) ? file.join(",") : file,
49
+ fileName: Array.isArray(fileName) ? fileName.join(",") : fileName,
50
+ origin: Array.isArray(origin) ? origin.join(",") : origin,
51
+ hi,
52
+ refresh
41
53
  };
42
54
  Object.entries(queryParams).forEach(([key, value]) => {
43
55
  if (value !== void 0) {
@@ -136,8 +148,18 @@ ${textLines.join("\n")}
136
148
  }
137
149
  return response.json();
138
150
  }
151
+ async function getSources() {
152
+ const url = `${config.baseUrl}/sources`;
153
+ const response = await fetch(url);
154
+ if (!response.ok) {
155
+ throw new Error(`Failed to fetch sources: ${response.status}`);
156
+ }
157
+ const data = await response.json();
158
+ return data.sources;
159
+ }
139
160
  exports.configure = configure;
140
161
  exports.getSeasonDetails = getSeasonDetails;
162
+ exports.getSources = getSources;
141
163
  exports.getTvDetails = getTvDetails;
142
164
  exports.parseToVTT = parseToVTT;
143
165
  exports.searchSubtitles = searchSubtitles;
package/lib/main.cjs CHANGED
@@ -17,7 +17,13 @@ async function constructUrl({
17
17
  language,
18
18
  format,
19
19
  source,
20
+ release,
21
+ filename,
22
+ file,
23
+ fileName,
24
+ origin,
20
25
  hi,
26
+ refresh,
21
27
  ...extraParams
22
28
  }) {
23
29
  if (!tmdb_id && !imdb_id) {
@@ -37,7 +43,13 @@ async function constructUrl({
37
43
  language: Array.isArray(language) ? language.join(",") : language,
38
44
  format: Array.isArray(format) ? format.join(",") : format,
39
45
  source: Array.isArray(source) ? source.join(",") : source,
40
- hi
46
+ release: Array.isArray(release) ? release.join(",") : release,
47
+ filename: Array.isArray(filename) ? filename.join(",") : filename,
48
+ file: Array.isArray(file) ? file.join(",") : file,
49
+ fileName: Array.isArray(fileName) ? fileName.join(",") : fileName,
50
+ origin: Array.isArray(origin) ? origin.join(",") : origin,
51
+ hi,
52
+ refresh
41
53
  };
42
54
  Object.entries(queryParams).forEach(([key, value]) => {
43
55
  if (value !== void 0) {
@@ -136,8 +148,18 @@ async function getSeasonDetails(id, season) {
136
148
  }
137
149
  return response.json();
138
150
  }
151
+ async function getSources() {
152
+ const url = `${config.baseUrl}/sources`;
153
+ const response = await fetch(url);
154
+ if (!response.ok) {
155
+ throw new Error(`Failed to fetch sources: ${response.status}`);
156
+ }
157
+ const data = await response.json();
158
+ return data.sources;
159
+ }
139
160
  exports.configure = configure;
140
161
  exports.getSeasonDetails = getSeasonDetails;
162
+ exports.getSources = getSources;
141
163
  exports.getTvDetails = getTvDetails;
142
164
  exports.parseToVTT = parseToVTT;
143
165
  exports.searchSubtitles = searchSubtitles;
package/lib/main.d.ts CHANGED
@@ -42,6 +42,13 @@ export declare type EpisodeDetails = {
42
42
  */
43
43
  export declare function getSeasonDetails(id: number, season: number): Promise<SeasonDetails>;
44
44
 
45
+ /**
46
+ * Fetches the list of currently enabled subtitle sources.
47
+ *
48
+ * @returns {Promise<string[]>} A promise that resolves to an array of enabled source names.
49
+ */
50
+ export declare function getSources(): Promise<string[]>;
51
+
45
52
  /**
46
53
  * Fetches details for a TV show from TMDB.
47
54
  *
@@ -83,6 +90,12 @@ export declare type QueryParams = {
83
90
  release?: string;
84
91
  /** Filter by filename. */
85
92
  filename?: string;
93
+ file?: string;
94
+ fileName?: string;
95
+ /** Filter by content origin (e.g., WEB, BluRay). */
96
+ origin?: string;
97
+ /** Bypass cache and fetch fresh results from sources. */
98
+ refresh?: boolean;
86
99
  };
87
100
 
88
101
  /**
@@ -119,10 +132,16 @@ export declare type SearchSubtitlesParams = (
119
132
  hi?: boolean;
120
133
  /** The source where the subtitle will be scraped. Accepts a single value or a list. */
121
134
  source?: string | string[];
122
- /** Filter by specific release group or name. */
135
+ /** Filter by specific release group or name (can be a list). */
123
136
  release?: string | string[];
124
- /** Filter by filename. */
137
+ /** Filter by filename (aliases: file, fileName). */
125
138
  filename?: string | string[];
139
+ file?: string | string[];
140
+ fileName?: string | string[];
141
+ /** Filter by content origin (e.g., WEB, BluRay). */
142
+ origin?: string | string[];
143
+ /** Bypass cache and fetch fresh results from sources. */
144
+ refresh?: boolean;
126
145
  /** Additional parameters that can be used for filtering or other purposes. */
127
146
  [key: string]: any;
128
147
  } & (
@@ -169,6 +188,14 @@ export declare type SeasonSummary = {
169
188
  vote_average?: number;
170
189
  };
171
190
 
191
+ /**
192
+ * Response from the /sources endpoint.
193
+ */
194
+ export declare type SourcesResponse = {
195
+ /** List of currently enabled subtitle sources. */
196
+ sources: string[];
197
+ };
198
+
172
199
  /**
173
200
  * Data structure representing a single subtitle object.
174
201
  */
@@ -194,13 +221,19 @@ export declare type SubtitleData = {
194
221
  /** The subtitle's source (ex: subdl, subf2m, opensubtitles). */
195
222
  source?: string | string[];
196
223
  /** The release name of the subtitle. */
197
- release?: string;
224
+ release?: string | null;
198
225
  /** List of releases compatible with this subtitle. */
199
226
  releases?: string[];
200
227
  /** The original filename of the subtitle. */
201
- fileName?: string;
228
+ fileName?: string | null;
229
+ /** Number of downloads on the source platform (if available). */
230
+ downloadCount?: number | null;
202
231
  /** The origin of the subtitle (e.g. DVD, WEB, BluRay). */
203
- origin?: string;
232
+ origin?: string | null;
233
+ /** Which release value matched the user filter. */
234
+ matchedRelease?: string | null;
235
+ /** Which user-supplied filter matched. */
236
+ matchedFilter?: string | null;
204
237
  };
205
238
 
206
239
  /**
package/lib/main.iife.js CHANGED
@@ -17,7 +17,13 @@ var main = function(exports) {
17
17
  language,
18
18
  format,
19
19
  source,
20
+ release,
21
+ filename,
22
+ file,
23
+ fileName,
24
+ origin,
20
25
  hi,
26
+ refresh,
21
27
  ...extraParams
22
28
  }) {
23
29
  if (!tmdb_id && !imdb_id) {
@@ -37,7 +43,13 @@ var main = function(exports) {
37
43
  language: Array.isArray(language) ? language.join(",") : language,
38
44
  format: Array.isArray(format) ? format.join(",") : format,
39
45
  source: Array.isArray(source) ? source.join(",") : source,
40
- hi
46
+ release: Array.isArray(release) ? release.join(",") : release,
47
+ filename: Array.isArray(filename) ? filename.join(",") : filename,
48
+ file: Array.isArray(file) ? file.join(",") : file,
49
+ fileName: Array.isArray(fileName) ? fileName.join(",") : fileName,
50
+ origin: Array.isArray(origin) ? origin.join(",") : origin,
51
+ hi,
52
+ refresh
41
53
  };
42
54
  Object.entries(queryParams).forEach(([key, value]) => {
43
55
  if (value !== void 0) {
@@ -136,8 +148,18 @@ ${textLines.join("\n")}
136
148
  }
137
149
  return response.json();
138
150
  }
151
+ async function getSources() {
152
+ const url = `${config.baseUrl}/sources`;
153
+ const response = await fetch(url);
154
+ if (!response.ok) {
155
+ throw new Error(`Failed to fetch sources: ${response.status}`);
156
+ }
157
+ const data = await response.json();
158
+ return data.sources;
159
+ }
139
160
  exports.configure = configure;
140
161
  exports.getSeasonDetails = getSeasonDetails;
162
+ exports.getSources = getSources;
141
163
  exports.getTvDetails = getTvDetails;
142
164
  exports.parseToVTT = parseToVTT;
143
165
  exports.searchSubtitles = searchSubtitles;
package/lib/main.js CHANGED
@@ -15,7 +15,13 @@ async function constructUrl({
15
15
  language,
16
16
  format,
17
17
  source,
18
+ release,
19
+ filename,
20
+ file,
21
+ fileName,
22
+ origin,
18
23
  hi,
24
+ refresh,
19
25
  ...extraParams
20
26
  }) {
21
27
  if (!tmdb_id && !imdb_id) {
@@ -35,7 +41,13 @@ async function constructUrl({
35
41
  language: Array.isArray(language) ? language.join(",") : language,
36
42
  format: Array.isArray(format) ? format.join(",") : format,
37
43
  source: Array.isArray(source) ? source.join(",") : source,
38
- hi
44
+ release: Array.isArray(release) ? release.join(",") : release,
45
+ filename: Array.isArray(filename) ? filename.join(",") : filename,
46
+ file: Array.isArray(file) ? file.join(",") : file,
47
+ fileName: Array.isArray(fileName) ? fileName.join(",") : fileName,
48
+ origin: Array.isArray(origin) ? origin.join(",") : origin,
49
+ hi,
50
+ refresh
39
51
  };
40
52
  Object.entries(queryParams).forEach(([key, value]) => {
41
53
  if (value !== void 0) {
@@ -134,9 +146,19 @@ async function getSeasonDetails(id, season) {
134
146
  }
135
147
  return response.json();
136
148
  }
149
+ async function getSources() {
150
+ const url = `${config.baseUrl}/sources`;
151
+ const response = await fetch(url);
152
+ if (!response.ok) {
153
+ throw new Error(`Failed to fetch sources: ${response.status}`);
154
+ }
155
+ const data = await response.json();
156
+ return data.sources;
157
+ }
137
158
  export {
138
159
  configure,
139
160
  getSeasonDetails,
161
+ getSources,
140
162
  getTvDetails,
141
163
  parseToVTT,
142
164
  searchSubtitles,
package/lib/main.umd.cjs CHANGED
@@ -19,7 +19,13 @@
19
19
  language,
20
20
  format,
21
21
  source,
22
+ release,
23
+ filename,
24
+ file,
25
+ fileName,
26
+ origin,
22
27
  hi,
28
+ refresh,
23
29
  ...extraParams
24
30
  }) {
25
31
  if (!tmdb_id && !imdb_id) {
@@ -39,7 +45,13 @@
39
45
  language: Array.isArray(language) ? language.join(",") : language,
40
46
  format: Array.isArray(format) ? format.join(",") : format,
41
47
  source: Array.isArray(source) ? source.join(",") : source,
42
- hi
48
+ release: Array.isArray(release) ? release.join(",") : release,
49
+ filename: Array.isArray(filename) ? filename.join(",") : filename,
50
+ file: Array.isArray(file) ? file.join(",") : file,
51
+ fileName: Array.isArray(fileName) ? fileName.join(",") : fileName,
52
+ origin: Array.isArray(origin) ? origin.join(",") : origin,
53
+ hi,
54
+ refresh
43
55
  };
44
56
  Object.entries(queryParams).forEach(([key, value]) => {
45
57
  if (value !== void 0) {
@@ -138,8 +150,18 @@ ${textLines.join("\n")}
138
150
  }
139
151
  return response.json();
140
152
  }
153
+ async function getSources() {
154
+ const url = `${config.baseUrl}/sources`;
155
+ const response = await fetch(url);
156
+ if (!response.ok) {
157
+ throw new Error(`Failed to fetch sources: ${response.status}`);
158
+ }
159
+ const data = await response.json();
160
+ return data.sources;
161
+ }
141
162
  exports2.configure = configure;
142
163
  exports2.getSeasonDetails = getSeasonDetails;
164
+ exports2.getSources = getSources;
143
165
  exports2.getTvDetails = getTvDetails;
144
166
  exports2.parseToVTT = parseToVTT;
145
167
  exports2.searchSubtitles = searchSubtitles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wyzie-lib",
3
- "version": "2.2.8",
3
+ "version": "2.4.0",
4
4
  "icon": "https://i.postimg.cc/L5ppKYC5/cclogo.png",
5
5
  "license": "MIT",
6
6
  "keywords": [