UNPKG

@imput/youtubei.js

Version:

A JavaScript client for YouTube's private API, known as InnerTube. Fork of youtubei.js

42 lines 2.39 kB
var _AccountManager_actions; import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib"; import AccountInfo from '../../parser/youtube/AccountInfo.js'; import Settings from '../../parser/youtube/Settings.js'; import NavigationEndpoint from '../../parser/classes/NavigationEndpoint.js'; import { InnertubeError } from '../../utils/Utils.js'; import { AccountItem } from '../../parser/nodes.js'; class AccountManager { constructor(actions) { _AccountManager_actions.set(this, void 0); __classPrivateFieldSet(this, _AccountManager_actions, actions, "f"); } async getInfo(all = false) { if (!__classPrivateFieldGet(this, _AccountManager_actions, "f").session.logged_in) throw new InnertubeError('You must be signed in to perform this operation.'); if (!all && !!__classPrivateFieldGet(this, _AccountManager_actions, "f").session.context.user.onBehalfOfUser) { throw new InnertubeError('Boolean argument must be true when "on_behalf_of_user" is specified.'); } if (all) { const get_accounts_list_endpoint = new NavigationEndpoint({ getAccountsListInnertubeEndpoint: { requestType: 'ACCOUNTS_LIST_REQUEST_TYPE_CHANNEL_SWITCHER', callCircumstance: 'SWITCHING_USERS_FULL' } }); const response = await get_accounts_list_endpoint.call(__classPrivateFieldGet(this, _AccountManager_actions, "f"), { client: 'WEB', parse: true }); return response.actions_memo?.getType(AccountItem) || []; } const get_accounts_list_endpoint = new NavigationEndpoint({ getAccountsListInnertubeEndpoint: {} }); const response = await get_accounts_list_endpoint.call(__classPrivateFieldGet(this, _AccountManager_actions, "f"), { client: 'TV' }); return new AccountInfo(response); } /** * Gets YouTube settings. */ async getSettings() { const browse_endpoint = new NavigationEndpoint({ browseEndpoint: { browseId: 'SPaccount_overview' } }); const response = await browse_endpoint.call(__classPrivateFieldGet(this, _AccountManager_actions, "f")); return new Settings(__classPrivateFieldGet(this, _AccountManager_actions, "f"), response); } } _AccountManager_actions = new WeakMap(); export default AccountManager; //# sourceMappingURL=AccountManager.js.map