"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pickSearchChannelQuery = exports.pickSearchPlaylistQuery = exports.pickSearchVideoQuery = exports.pickCommonVideoQuery = void 0;
const core_utils_1 = require("../../shared/core-utils");
function pickCommonVideoQuery(query) {
    return (0, core_utils_1.pick)(query, [
        'start',
        'count',
        'sort',
        'nsfw',
        'isLive',
        'categoryOneOf',
        'licenceOneOf',
        'languageOneOf',
        'privacyOneOf',
        'tagsOneOf',
        'tagsAllOf',
        'isLocal',
        'include',
        'skipCount',
        'hasHLSFiles',
        'hasWebtorrentFiles',
        'search'
    ]);
}
exports.pickCommonVideoQuery = pickCommonVideoQuery;
function pickSearchVideoQuery(query) {
    return Object.assign(Object.assign({}, pickCommonVideoQuery(query)), (0, core_utils_1.pick)(query, [
        'searchTarget',
        'host',
        'startDate',
        'endDate',
        'originallyPublishedStartDate',
        'originallyPublishedEndDate',
        'durationMin',
        'durationMax',
        'uuids'
    ]));
}
exports.pickSearchVideoQuery = pickSearchVideoQuery;
function pickSearchChannelQuery(query) {
    return (0, core_utils_1.pick)(query, [
        'searchTarget',
        'search',
        'start',
        'count',
        'sort',
        'host',
        'handles'
    ]);
}
exports.pickSearchChannelQuery = pickSearchChannelQuery;
function pickSearchPlaylistQuery(query) {
    return (0, core_utils_1.pick)(query, [
        'searchTarget',
        'search',
        'start',
        'count',
        'sort',
        'host',
        'uuids'
    ]);
}
exports.pickSearchPlaylistQuery = pickSearchPlaylistQuery;
//# sourceMappingURL=query.js.map