Skip to content

Commit 95ffe0b

Browse files
committed
Better override of the method
1 parent c581de2 commit 95ffe0b

File tree

6 files changed

+10
-16
lines changed

6 files changed

+10
-16
lines changed

docs/core.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/core.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

esm/custom.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,12 @@ export const handleCustomType = (node) => {
125125
}
126126

127127
if (before || after) {
128-
createOverload(module, `r${suffix.slice(1)}`).push(
128+
createOverload(
129+
module,
130+
`r${suffix.slice(1)}`,
129131
before,
130132
after,
131-
)
133+
);
132134
}
133135

134136
let beforeCB, afterCB;

esm/utils.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,27 +57,23 @@ export const createResolved = (module, type, config, interpreter) => ({
5757

5858
const dropLine0 = code => code.replace(/^(?:\n|\r\n)/, '');
5959

60-
export const createOverload = (module, name) => {
60+
export const createOverload = (module, name, before, after) => {
6161
const method = module[name].bind(module);
62-
const stack = [];
6362
module[name] = name === 'run' ?
6463
// patch the sync method
6564
(interpreter, code, ...args) => {
66-
const [before, after] = stack;
6765
if (before) method(interpreter, before, ...args);
6866
const result = method(interpreter, dropLine0(code), ...args);
6967
if (after) method(interpreter, after, ...args);
7068
return result;
7169
} :
7270
// patch the async one
7371
async (interpreter, code, ...args) => {
74-
const [before, after] = stack;
7572
if (before) await method(interpreter, before, ...args);
7673
const result = await method(interpreter, dropLine0(code), ...args);
7774
if (after) await method(interpreter, after, ...args);
7875
return result;
7976
};
80-
return stack;
8177
};
8278

8379
export const js_modules = Symbol.for('polyscript.js_modules');

esm/worker/_template.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,8 @@ add('message', ({ data: { options, config: baseURL, configURL, code, hooks } })
123123
}
124124
}
125125

126-
if (before || after) {
127-
createOverload(details, name).push(
128-
before,
129-
after,
130-
)
131-
}
126+
if (before || after)
127+
createOverload(details, name, before, after);
132128

133129
let beforeCB, afterCB;
134130
// exclude onWorker and onReady

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,6 @@
8585
"to-json-callback": "^0.1.1"
8686
},
8787
"worker": {
88-
"blob": "sha256-tieuPF75mQ1iVZM1I5J3Kp5tBoQ1KKU9CtxBnPUJB9s="
88+
"blob": "sha256-owJFgVoUOJeIuUGPm3mbCyTma7juwI4Ty3NCYLms/jo="
8989
}
9090
}

0 commit comments

Comments
 (0)