Merge pull request #21 from movie-web/dev

Provider package v1.0.3
This commit is contained in:
mrjvs
2023-10-29 21:02:51 +01:00
committed by GitHub
3 changed files with 57 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "@movie-web/providers",
"version": "1.0.2",
"version": "1.0.3",
"description": "Package that contains all the providers of movie-web",
"main": "./lib/index.umd.js",
"types": "./lib/index.d.ts",

View File

@@ -0,0 +1,55 @@
import { makeStandardFetcher } from "@/fetchers/standardFetch";
import { makeProviders } from "@/main/builder";
import { targets } from "@/main/targets";
import { isValidStream } from "@/utils/valid";
import fetch from "node-fetch";
import { describe, it, expect } from "vitest";
describe('isValidStream()', () => {
it('should pass valid streams', () => {
expect(isValidStream({
type: "file",
flags: [],
qualities: {
"1080": {
type: "mp4",
url: "hello-world"
}
}
})).toBe(true);
expect(isValidStream({
type: "hls",
flags: [],
playlist: "hello-world"
})).toBe(true);
});
it('should detect empty qualities', () => {
expect(isValidStream({
type: "file",
flags: [],
qualities: {}
})).toBe(false);
});
it('should detect empty stream urls', () => {
expect(isValidStream({
type: "file",
flags: [],
qualities: {
"1080": {
type: "mp4",
url: "",
}
}
})).toBe(false);
});
it('should detect emtpy HLS playlists', () => {
expect(isValidStream({
type: "hls",
flags: [],
playlist: "",
})).toBe(false);
});
});

View File

@@ -80,7 +80,7 @@ export async function runAllProviders(list: ProviderList, ops: ProviderRunnerOpt
...contextBase,
media: ops.media,
});
if (!isValidStream(output?.stream)) {
if (output?.stream && !isValidStream(output?.stream)) {
throw new NotFoundError('stream is incomplete');
}
if (output?.stream && !flagsAllowedInFeatures(ops.features, output.stream.flags)) {