UNPKG

wakitsu

Version:

Hobby project for managing anime watch list on Kitsu through CLI

51 lines 1.49 kB
export class KitsuUrlAPI { #url; constructor(url) { this.#url = new URL(url); } get url() { return this.#url; } setQueryText(text) { this.#url.searchParams.append('filter[text]', text); return this; } setPageLimit(limit) { this.#url.searchParams.append('page[limit]', limit.toString()); return this; } filterAnimeFields(fields) { this.#url.searchParams.append(`fields[anime]`, fields.join(',')); return this; } filterUserName(name) { this.#url.searchParams.append('filter[name]', name); return this; } filterUserID(id) { this.#url.searchParams.append('filter[user_id]', id); return this; } filterLibraryID(ids) { this.#url.searchParams.append('filter[id]', ids.join(',')); return this; } filterAnimeType(type) { this.#url.searchParams.append(`filter[subtype]`, type); return this; } filterStatus(status) { const normalizedStatus = status == 'current' ? 'current,upcoming' : status; this.#url.searchParams.append('filter[status]', normalizedStatus); return this; } filterMediaType(type) { this.#url.searchParams.append('filter[kind]', type); return this; } includeCategory(categories) { this.#url.searchParams.append('include', categories.join(',')); return this; } } //# sourceMappingURL=kitsu-url-api.js.map