You can use this third-party tool to help you quickly bootstrap a folder locally
npxseanime-toolg-template
Types
online-streaming-provider.d.ts
declaretypeSearchResult={id:stringtitle:stringurl:stringsubOrDub:SubOrDub}declaretypeSubOrDub="sub"|"dub"|"both"declaretypeEpisodeDetails={id:stringnumber:numberurl:stringtitle?:string}declaretypeEpisodeServer={server:stringheaders:{ [key:string]:string}videoSources:VideoSource[]}declaretypeVideoSourceType="mp4"|"m3u8"|"unknown"declaretypeVideoSource={url:stringtype:VideoSourceType // Quality or label of the video source, should be unique (e.g. "1080p", "1080p - English")quality:string // Secondary label of the video source (e.g. "English")label?:stringsubtitles:VideoSubtitle[]}declaretypeVideoSubtitle={id:stringurl:stringlanguage:stringisDefault:boolean}declareinterfaceMedia{id:numberidMal?:numberstatus?:stringformat?:stringenglishTitle?:stringromajiTitle?:stringepisodeCount?:numberabsoluteSeasonOffset?:numbersynonyms:string[]isAdult:booleanstartDate?:FuzzyDate}declareinterfaceFuzzyDate{year:numbermonth?:numberday?:number}declaretypeSearchOptions={media:Mediaquery:stringdub:booleanyear?:number}declaretypeSettings={episodeServers:string[]supportsDub:boolean}declareabstractclassAnimeProvider{search(opts:SearchOptions):Promise<SearchResult[]>findEpisodes(id:string):Promise<EpisodeDetails[]>findEpisodeServer(episode:EpisodeDetails,server:string):Promise<EpisodeServer>getSettings():Settings}
Code
Do not change the name of the class. It must be Provider.