camelCaseSerializer: {
    type: string;
    serializers: {
        profile: (
            input: XtreamUserProfile,
        ) => {
            username: string;
            password: string;
            message: string;
            auth: number;
            status: string;
            expDate: string;
            isTrial: string;
            activeCons: number;
            createdAt: string;
            maxConnections: string;
            allowedOutputFormats: string[];
        };
        serverInfo: (
            input: XtreamServerInfo,
        ) => {
            xui: boolean;
            version: string;
            revision: null | string;
            url: string;
            port: string;
            httpsPort: string;
            serverProtocol: string;
            rtmpPort: string;
            timezone: string;
            timestampNow: number;
            timeNow: string;
        };
        channelCategories: (
            input: XtreamCategory[],
        ) => { categoryId: string; categoryName: string; parentId: number }[];
        movieCategories: (
            input: XtreamCategory[],
        ) => { categoryId: string; categoryName: string; parentId: number }[];
        showCategories: (
            input: XtreamCategory[],
        ) => { categoryId: string; categoryName: string; parentId: number }[];
        channels: (
            input: XtreamChannel[],
        ) => {
            num: number;
            name: string;
            streamType: string;
            streamId: number;
            streamIcon: string;
            thumbnail: string;
            epgChannelId: string;
            added: string;
            categoryId: string;
            categoryIds: number[];
            customSid: string;
            tvArchive: number;
            directSource: string;
            tvArchiveDuration: number;
            url?: string;
        }[];
        movies: (
            input: XtreamMoviesListing[],
        ) => {
            num: number;
            name: string;
            year: null | string;
            title: string;
            streamType: string;
            streamId: number;
            streamIcon: string;
            rating: number;
            rating5Based: number;
            genre: null | string;
            added: string;
            episodeRunTime: null | number;
            categoryId: string;
            categoryIds: number[];
            containerExtension: string;
            customSid: any;
            directSource: string;
            releaseDate: null | string;
            cast: null | string;
            director: null | string;
            plot: null | string;
            youtubeTrailer: null | string;
            url?: string;
        }[];
        movie: (
            input: XtreamMovie,
        ) => {
            info: {
                kinopoiskUrl: string;
                tmdbId: number;
                name: string;
                oName: string;
                coverBig: string;
                movieImage: string;
                releaseDate: null | string;
                episodeRunTime: null | number;
                youtubeTrailer: null | string;
                director: null | string;
                actors: null | string;
                cast: null | string;
                description: null | string;
                plot: null | string;
                age: string;
                mpaaRating: string;
                ratingCountKinopoisk: number;
                country: string;
                genre: null | string;
                backdropPath: string[];
                durationSecs: number;
                duration: string;
                bitrate: number;
                releasedate: null | string;
                subtitles: string[];
                rating: number;
            };
            movieData: {
                streamId: number;
                name: string;
                title: string;
                year: null
                | string;
                added: string;
                categoryId: string;
                categoryIds: number[];
                containerExtension: string;
                customSid: string;
                directSource: string;
            };
            url?: string;
        };
        shows: (
            input: XtreamShowListing[],
        ) => {
            num: number;
            name: string;
            title: string;
            year: null | string;
            seriesId: number;
            streamType: string;
            cover: string;
            plot: null | string;
            cast: null | string;
            director: null | string;
            genre: null | string;
            releaseDate: null | string;
            lastModified: string;
            rating: string;
            rating5Based: number;
            backdropPath: string[];
            youtubeTrailer: null | string;
            episodeRunTime: null | string;
            categoryId: string;
            categoryIds: number[];
        }[];
        show: (
            input: XtreamShow,
        ) => {
            seasons: {
                id: number;
                name: string;
                episodeCount: number;
                overview: string;
                airDate: null | string;
                cover: string;
                seasonNumber: number;
                coverBig: string;
                voteAverage: number;
            }[];
            info: {
                name: string;
                title: string;
                year: null
                | string;
                cover: string;
                plot: null | string;
                cast: null | string;
                director: null | string;
                genre: null | string;
                releaseDate: null | string;
                lastModified: string;
                rating: string;
                rating5Based: number;
                backdropPath: string[];
                youtubeTrailer: null | string;
                episodeRunTime: null | string;
                categoryId: string;
                categoryIds: number[];
                seriesId?: number;
            };
            episodes: {
                [key: string]: {
                    id: string;
                    episodeNum: string;
                    title: string;
                    containerExtension: string;
                    info: {
                        releaseDate: null
                        | string;
                        plot: null | string;
                        rating: number;
                        movieImage: string;
                        coverBig: string;
                        durationSecs: number;
                        duration: string;
                        tmdbId: number;
                        bitrate: number;
                        season: number;
                        airDate?: string;
                        video?: {
                            index: number;
                            codecName: string;
                            codecLongName: string;
                            profile: string;
                            codecType: string;
                            codecTagString: string;
                            codecTag: string;
                            width: number;
                            height: number;
                            codedWidth: number;
                            codedHeight: number;
                            closedCaptions: number;
                            filmGrain: number;
                            hasBFrames: number;
                            sampleAspectRatio: string;
                            displayAspectRatio: string;
                            pixFmt: string;
                            level: number;
                            colorRange: string;
                            colorSpace: string;
                            colorTransfer: string;
                            colorPrimaries: string;
                            chromaLocation: string;
                            fieldOrder: string;
                            refs: number;
                            isAvc: string;
                            nalLengthSize: string;
                            rFrameRate: string;
                            avgFrameRate: string;
                            timeBase: string;
                            startPts: number;
                            startTime: string;
                            bitsPerRawSample: string;
                            extradataSize: number;
                            disposition: {
                                default: ...;
                                dub: ...;
                                original: ...;
                                comment: ...;
                                lyrics: ...;
                                karaoke: ...;
                                forced: ...;
                                hearingImpaired: ...;
                                visualImpaired: ...;
                                cleanEffects: ...;
                                attachedPic: ...;
                                timedThumbnails: ...;
                                captions: ...;
                                descriptions: ...;
                                metadata: ...;
                                dependent: ...;
                                stillImage: ...;
                            };
                            tags: { [key: ...]: ... };
                        };
                        audio?: {
                            index: number;
                            codecName: string;
                            codecLongName: string;
                            codecType: string;
                            codecTagString: string;
                            codecTag: string;
                            sampleFmt: string;
                            sampleRate: string;
                            channels: number;
                            channelLayout: string;
                            bitsPerSample: number;
                            rFrameRate: string;
                            avgFrameRate: string;
                            timeBase: string;
                            startPts: number;
                            startTime: string;
                            bitRate: string;
                            disposition: {
                                default: ...;
                                dub: ...;
                                original: ...;
                                comment: ...;
                                lyrics: ...;
                                karaoke: ...;
                                forced: ...;
                                hearingImpaired: ...;
                                visualImpaired: ...;
                                cleanEffects: ...;
                                attachedPic: ...;
                                timedThumbnails: ...;
                                captions: ...;
                                descriptions: ...;
                                metadata: ...;
                                dependent: ...;
                                stillImage: ...;
                            };
                            tags: { [key: ...]: ... };
                        };
                    };
                    customSid: string;
                    added: string;
                    season: number;
                    directSource: string;
                    subtitles: string[];
                    url?: string;
                }[];
            };
        };
        shortEPG: (
            input: XtreamShortEPG,
        ) => {
            epgListings: {
                id: string;
                epgId: string;
                title: string;
                lang: string;
                start: string;
                end: string;
                description: string;
                channelId: string;
                startTimestamp: string;
                stopTimestamp: string;
                stop: string;
            }[];
        };
        fullEPG: (
            input: XtreamFullEPG,
        ) => {
            epgListings: {
                id: string;
                epgId: string;
                title: string;
                lang: string;
                start: string;
                end: string;
                description: string;
                channelId: string;
                startTimestamp: string;
                stopTimestamp: string;
                nowPlaying: number;
                hasArchive: number;
            }[];
        };
    };
} = ...

CamelCase serializers for the Xtream API

These serializers transform the API response into a camelCase format only, no other transformations are applied

Type declaration

  • type: string
  • serializers: {
        profile: (
            input: XtreamUserProfile,
        ) => {
            username: string;
            password: string;
            message: string;
            auth: number;
            status: string;
            expDate: string;
            isTrial: string;
            activeCons: number;
            createdAt: string;
            maxConnections: string;
            allowedOutputFormats: string[];
        };
        serverInfo: (
            input: XtreamServerInfo,
        ) => {
            xui: boolean;
            version: string;
            revision: null | string;
            url: string;
            port: string;
            httpsPort: string;
            serverProtocol: string;
            rtmpPort: string;
            timezone: string;
            timestampNow: number;
            timeNow: string;
        };
        channelCategories: (
            input: XtreamCategory[],
        ) => { categoryId: string; categoryName: string; parentId: number }[];
        movieCategories: (
            input: XtreamCategory[],
        ) => { categoryId: string; categoryName: string; parentId: number }[];
        showCategories: (
            input: XtreamCategory[],
        ) => { categoryId: string; categoryName: string; parentId: number }[];
        channels: (
            input: XtreamChannel[],
        ) => {
            num: number;
            name: string;
            streamType: string;
            streamId: number;
            streamIcon: string;
            thumbnail: string;
            epgChannelId: string;
            added: string;
            categoryId: string;
            categoryIds: number[];
            customSid: string;
            tvArchive: number;
            directSource: string;
            tvArchiveDuration: number;
            url?: string;
        }[];
        movies: (
            input: XtreamMoviesListing[],
        ) => {
            num: number;
            name: string;
            year: null | string;
            title: string;
            streamType: string;
            streamId: number;
            streamIcon: string;
            rating: number;
            rating5Based: number;
            genre: null | string;
            added: string;
            episodeRunTime: null | number;
            categoryId: string;
            categoryIds: number[];
            containerExtension: string;
            customSid: any;
            directSource: string;
            releaseDate: null | string;
            cast: null | string;
            director: null | string;
            plot: null | string;
            youtubeTrailer: null | string;
            url?: string;
        }[];
        movie: (
            input: XtreamMovie,
        ) => {
            info: {
                kinopoiskUrl: string;
                tmdbId: number;
                name: string;
                oName: string;
                coverBig: string;
                movieImage: string;
                releaseDate: null | string;
                episodeRunTime: null | number;
                youtubeTrailer: null | string;
                director: null | string;
                actors: null | string;
                cast: null | string;
                description: null | string;
                plot: null | string;
                age: string;
                mpaaRating: string;
                ratingCountKinopoisk: number;
                country: string;
                genre: null | string;
                backdropPath: string[];
                durationSecs: number;
                duration: string;
                bitrate: number;
                releasedate: null | string;
                subtitles: string[];
                rating: number;
            };
            movieData: {
                streamId: number;
                name: string;
                title: string;
                year: null
                | string;
                added: string;
                categoryId: string;
                categoryIds: number[];
                containerExtension: string;
                customSid: string;
                directSource: string;
            };
            url?: string;
        };
        shows: (
            input: XtreamShowListing[],
        ) => {
            num: number;
            name: string;
            title: string;
            year: null | string;
            seriesId: number;
            streamType: string;
            cover: string;
            plot: null | string;
            cast: null | string;
            director: null | string;
            genre: null | string;
            releaseDate: null | string;
            lastModified: string;
            rating: string;
            rating5Based: number;
            backdropPath: string[];
            youtubeTrailer: null | string;
            episodeRunTime: null | string;
            categoryId: string;
            categoryIds: number[];
        }[];
        show: (
            input: XtreamShow,
        ) => {
            seasons: {
                id: number;
                name: string;
                episodeCount: number;
                overview: string;
                airDate: null | string;
                cover: string;
                seasonNumber: number;
                coverBig: string;
                voteAverage: number;
            }[];
            info: {
                name: string;
                title: string;
                year: null
                | string;
                cover: string;
                plot: null | string;
                cast: null | string;
                director: null | string;
                genre: null | string;
                releaseDate: null | string;
                lastModified: string;
                rating: string;
                rating5Based: number;
                backdropPath: string[];
                youtubeTrailer: null | string;
                episodeRunTime: null | string;
                categoryId: string;
                categoryIds: number[];
                seriesId?: number;
            };
            episodes: {
                [key: string]: {
                    id: string;
                    episodeNum: string;
                    title: string;
                    containerExtension: string;
                    info: {
                        releaseDate: null
                        | string;
                        plot: null | string;
                        rating: number;
                        movieImage: string;
                        coverBig: string;
                        durationSecs: number;
                        duration: string;
                        tmdbId: number;
                        bitrate: number;
                        season: number;
                        airDate?: string;
                        video?: {
                            index: number;
                            codecName: string;
                            codecLongName: string;
                            profile: string;
                            codecType: string;
                            codecTagString: string;
                            codecTag: string;
                            width: number;
                            height: number;
                            codedWidth: number;
                            codedHeight: number;
                            closedCaptions: number;
                            filmGrain: number;
                            hasBFrames: number;
                            sampleAspectRatio: string;
                            displayAspectRatio: string;
                            pixFmt: string;
                            level: number;
                            colorRange: string;
                            colorSpace: string;
                            colorTransfer: string;
                            colorPrimaries: string;
                            chromaLocation: string;
                            fieldOrder: string;
                            refs: number;
                            isAvc: string;
                            nalLengthSize: string;
                            rFrameRate: string;
                            avgFrameRate: string;
                            timeBase: string;
                            startPts: number;
                            startTime: string;
                            bitsPerRawSample: string;
                            extradataSize: number;
                            disposition: {
                                default: ...;
                                dub: ...;
                                original: ...;
                                comment: ...;
                                lyrics: ...;
                                karaoke: ...;
                                forced: ...;
                                hearingImpaired: ...;
                                visualImpaired: ...;
                                cleanEffects: ...;
                                attachedPic: ...;
                                timedThumbnails: ...;
                                captions: ...;
                                descriptions: ...;
                                metadata: ...;
                                dependent: ...;
                                stillImage: ...;
                            };
                            tags: { [key: ...]: ... };
                        };
                        audio?: {
                            index: number;
                            codecName: string;
                            codecLongName: string;
                            codecType: string;
                            codecTagString: string;
                            codecTag: string;
                            sampleFmt: string;
                            sampleRate: string;
                            channels: number;
                            channelLayout: string;
                            bitsPerSample: number;
                            rFrameRate: string;
                            avgFrameRate: string;
                            timeBase: string;
                            startPts: number;
                            startTime: string;
                            bitRate: string;
                            disposition: {
                                default: ...;
                                dub: ...;
                                original: ...;
                                comment: ...;
                                lyrics: ...;
                                karaoke: ...;
                                forced: ...;
                                hearingImpaired: ...;
                                visualImpaired: ...;
                                cleanEffects: ...;
                                attachedPic: ...;
                                timedThumbnails: ...;
                                captions: ...;
                                descriptions: ...;
                                metadata: ...;
                                dependent: ...;
                                stillImage: ...;
                            };
                            tags: { [key: ...]: ... };
                        };
                    };
                    customSid: string;
                    added: string;
                    season: number;
                    directSource: string;
                    subtitles: string[];
                    url?: string;
                }[];
            };
        };
        shortEPG: (
            input: XtreamShortEPG,
        ) => {
            epgListings: {
                id: string;
                epgId: string;
                title: string;
                lang: string;
                start: string;
                end: string;
                description: string;
                channelId: string;
                startTimestamp: string;
                stopTimestamp: string;
                stop: string;
            }[];
        };
        fullEPG: (
            input: XtreamFullEPG,
        ) => {
            epgListings: {
                id: string;
                epgId: string;
                title: string;
                lang: string;
                start: string;
                end: string;
                description: string;
                channelId: string;
                startTimestamp: string;
                stopTimestamp: string;
                nowPlaying: number;
                hasArchive: number;
            }[];
        };
    }