UNPKG

webextensions-api-mock

Version:
33 lines (32 loc) 1.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const update_1 = require("./update"); const stub_1 = require("./stub"); class WebExtensionsApiMock { constructor() { this.update = async () => { this.namespaces = await new update_1.Update().run(); }; } createBrowserStub() { if (!this.namespaces) { this.readSchema(); } return new stub_1.BrowserGenerator(this.namespaces).out(); } readSchema() { this.namespaces = JSON.parse(fs_1.default .readFileSync(path_1.default.join(__dirname, 'generated', 'schema.json')) .toString()); } } exports.WebExtensionsApiMock = WebExtensionsApiMock; const mock = new WebExtensionsApiMock(); const webExtensionsApiMock = () => mock.createBrowserStub(); exports.default = webExtensionsApiMock; exports.update = mock.update;