Skip to content

Commit a5b19c1

Browse files
committed
Added a sticky-module to avoid repeating the dance
1 parent 69030d6 commit a5b19c1

File tree

5 files changed

+31
-26
lines changed

5 files changed

+31
-26
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/index.js

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import stickyModule from 'sticky-module';
12
import { $$ } from 'basic-devtools';
23

34
import { handle } from './script-handler.js';
4-
import { assign, defineProperty } from './utils.js';
5+
import { assign } from './utils.js';
56
import { selectors, prefixes } from './interpreters.js';
67
import { CUSTOM_SELECTORS, handleCustomType } from './custom.js';
78
import { listener, addAllListeners } from './listeners.js';
@@ -11,29 +12,26 @@ import { env as $env } from './listeners.js';
1112
import { Hook as $Hook } from './worker/hooks.js';
1213
import $XWorker from './xworker.js';
1314

14-
const polyscript = Symbol.for('polyscript');
15-
const alreadyLive = polyscript in globalThis;
16-
1715
// avoid multiple initialization of the same library
18-
/* c8 ignore start */
19-
const { define, whenDefined, env, Hook, XWorker } = (
20-
alreadyLive ?
21-
globalThis[polyscript] :
22-
defineProperty(
23-
globalThis,
24-
polyscript,
25-
{
26-
value: {
27-
define: $define,
28-
whenDefined: $whenDefined,
29-
env: $env,
30-
Hook: $Hook,
31-
XWorker: $XWorker
32-
}
33-
}
34-
)[polyscript]
16+
const [
17+
{
18+
define,
19+
whenDefined,
20+
env,
21+
Hook,
22+
XWorker
23+
},
24+
alreadyLive
25+
] = stickyModule(
26+
'polyscript',
27+
{
28+
define: $define,
29+
whenDefined: $whenDefined,
30+
env: $env,
31+
Hook: $Hook,
32+
XWorker: $XWorker
33+
}
3534
);
36-
/* c8 ignore stop */
3735

3836
export { define, whenDefined, env, Hook, XWorker };
3937
export * from './errors.js';

package-lock.json

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

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@
7373
"basic-devtools": "^0.1.6",
7474
"codedent": "^0.1.2",
7575
"coincident": "^0.13.5",
76-
"html-escaper": "^3.0.3"
76+
"html-escaper": "^3.0.3",
77+
"sticky-module": "^0.1.0"
7778
},
7879
"worker": {
7980
"blob": "sha256-704aE8aK4Uw8zQP/aNqDV7vYYSPe+xl2V6W8mI5d3W0="

0 commit comments

Comments
 (0)