Fix: use proxy to reflect API
This commit is contained in:
parent
bb3f9e28e0
commit
9cfc812fcc
|
@ -2,20 +2,15 @@
|
|||
|
||||
var editorWorker = (() => { // eslint-disable-line no-var
|
||||
let worker;
|
||||
return createAPI(['csslint', 'stylelint', 'parseMozFormat', 'getStylelintRules', 'getCsslintRules']);
|
||||
|
||||
function createAPI(keys) {
|
||||
const output = {};
|
||||
for (const key of keys) {
|
||||
output[key] = (...args) => {
|
||||
return new Proxy({}, {
|
||||
get: (target, prop) =>
|
||||
(...args) => {
|
||||
if (!worker) {
|
||||
worker = createWorker();
|
||||
}
|
||||
return worker.invoke(key, args);
|
||||
};
|
||||
}
|
||||
return output;
|
||||
}
|
||||
return worker.invoke(prop, args);
|
||||
}
|
||||
});
|
||||
|
||||
function createWorker() {
|
||||
let requestId = 0;
|
||||
|
|
Loading…
Reference in New Issue
Block a user