UNPKG

@mirawision/chrome-api

Version:

A comprehensive TypeScript library for Chrome Extension API, providing type-safe wrappers and utilities for bookmarks, commands, context menus, cookies, downloads, storage, notifications, runtime, scripting, and side panel functionalities.

118 lines (117 loc) 3.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Windows = void 0; class Windows { static async get(windowId, getInfo) { return new Promise((resolve, reject) => { chrome.windows.get(windowId, getInfo || {}, (window) => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { resolve(window); } }); }); } static async getCurrent(getInfo) { return new Promise((resolve, reject) => { chrome.windows.getCurrent(getInfo || {}, (window) => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { resolve(window); } }); }); } static async getLastFocused(getInfo) { return new Promise((resolve, reject) => { chrome.windows.getLastFocused(getInfo || {}, (window) => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { resolve(window); } }); }); } static async getAll(getInfo) { return new Promise((resolve, reject) => { chrome.windows.getAll(getInfo || {}, (windows) => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { resolve(windows); } }); }); } static async create(createData) { return new Promise((resolve, reject) => { chrome.windows.create(createData || {}, (window) => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { if (!window) reject(new Error('Window not created')); else resolve(window); } }); }); } static async update(windowId, updateInfo) { return new Promise((resolve, reject) => { chrome.windows.update(windowId, updateInfo, (window) => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { resolve(window); } }); }); } static async remove(windowId) { return new Promise((resolve, reject) => { chrome.windows.remove(windowId, () => { if (chrome.runtime.lastError) { reject(chrome.runtime.lastError); } else { resolve(); } }); }); } static addCreatedListener(callback) { chrome.windows.onCreated.addListener(callback); } static addRemovedListener(callback) { chrome.windows.onRemoved.addListener(callback); } static addFocusChangedListener(callback) { chrome.windows.onFocusChanged.addListener(callback); } static addBoundsChangedListener(callback) { chrome.windows.onBoundsChanged.addListener(callback); } static removeCreatedListener(callback) { chrome.windows.onCreated.removeListener(callback); } static removeRemovedListener(callback) { chrome.windows.onRemoved.removeListener(callback); } static removeFocusChangedListener(callback) { chrome.windows.onFocusChanged.removeListener(callback); } static removeBoundsChangedListener(callback) { chrome.windows.onBoundsChanged.removeListener(callback); } } exports.Windows = Windows;