Sitelet https://github.com/icatjs/worker-dom/commit/55797266578ec1f4be81e9c33bf04762bb9d9b46
Skip to content

Commit 5579726

Browse files
committed
feat: support upgrade by main-thread
1 parent 201bbe0 commit 5579726

3 files changed

Lines changed: 21 additions & 7 deletions

File tree

‎package.json‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
{
2-
"name": "@ampproject/worker-dom",
3-
"version": "0.25.1",
2+
"name": "@icatjs/worker-dom",
3+
"version": "0.0.0-experimental-0",
4+
"originalName": "@ampproject/worker-dom",
5+
"originalVersion": "0.25.1",
46
"description": "A facsimile of a modern DOM implementation intended to run in a Web Worker.",
57
"main": "dist/main",
68
"files": [
79
"dist"
810
],
911
"repository": {
1012
"type": "git",
11-
"url": "https://github.com/ampproject/worker-dom.git"
13+
"url": "https://github.com/icatjs/worker-dom.git"
1214
},
1315
"engines": {
1416
"node": ">=10.14"
1517
},
16-
"author": "The AMP HTML Authors",
18+
"author": "vk(valleykiddy@gmail.com) && The AMP HTML Authors",
1719
"license": "Apache-2.0",
1820
"scripts": {
1921
"tsc:worker": "tsc -p src/worker-thread/tsconfig.json",

‎src/main-thread/index.ts‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { fetchAndInstall } from './install';
17+
import { fetchAndInstall, install } from './install';
18+
import { WorkerDOMConfiguration } from './configuration';
1819
import { ExportedWorker } from './exported-worker';
1920

2021
export function upgradeElement(baseElement: Element, domURL: string): Promise<ExportedWorker | null> {
@@ -27,3 +28,15 @@ export function upgradeElement(baseElement: Element, domURL: string): Promise<Ex
2728
}
2829
return Promise.resolve(null);
2930
}
31+
32+
/**
33+
* @param baseElement
34+
* @param fetchPromise Promise that resolves containing worker script, and author script.
35+
*/
36+
export function upgrade(
37+
baseElement: Element,
38+
fetchPromise: Promise<[string, string]>,
39+
config: WorkerDOMConfiguration,
40+
): Promise<ExportedWorker | null> {
41+
return install(fetchPromise, baseElement as HTMLElement, config);
42+
}

‎src/main-thread/worker.ts‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ export class WorkerContext {
5555
}
5656

5757
const code = `
58-
'use strict';
59-
(function(){
58+
;(function(){
6059
${workerDOMScript}
6160
self['window'] = self;
6261
var workerDOM = WorkerThread.workerDOM;

0 commit comments

Comments
 (0)