Fix: use proxy to reflect API

This commit is contained in:
eight 2018-09-02 12:18:58 +08:00
parent bb3f9e28e0
commit 9cfc812fcc

View File

@ -2,20 +2,15 @@
var editorWorker = (() => { // eslint-disable-line no-var var editorWorker = (() => { // eslint-disable-line no-var
let worker; let worker;
return createAPI(['csslint', 'stylelint', 'parseMozFormat', 'getStylelintRules', 'getCsslintRules']); return new Proxy({}, {
get: (target, prop) =>
function createAPI(keys) { (...args) => {
const output = {};
for (const key of keys) {
output[key] = (...args) => {
if (!worker) { if (!worker) {
worker = createWorker(); worker = createWorker();
} }
return worker.invoke(key, args); return worker.invoke(prop, args);
}; }
} });
return output;
}
function createWorker() { function createWorker() {
let requestId = 0; let requestId = 0;