• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

streetsidesoftware / regexp-worker / 15810503912

22 Jun 2025 08:28PM UTC coverage: 81.02% (-15.7%) from 96.703%
15810503912

Pull #975

github

web-flow
Merge 4ca3ad71e into 91a06790a
Pull Request #975: feat: Add browser support

375 of 468 branches covered (80.13%)

Branch coverage included in aggregate %.

19 of 100 new or added lines in 10 files covered. (19.0%)

6 existing lines in 1 file now uncovered.

419 of 512 relevant lines covered (81.84%)

116.3 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/worker/workerCodeBrowser.ts
1
import { procedures } from '../Procedures/procedures.js';
2
import type { MessagePort } from './MessagePort.js';
3
import { createHandler } from './WorkerMessageHandler.js';
4

5
class BrowserMessagePort implements MessagePort {
NEW
6
    #messageListeners: Set<(value: unknown) => void> = new Set();
×
7

8
    constructor() {
NEW
9
        globalThis.addEventListener('message', this.#listenerMessage);
×
10
    }
11

12
    postMessage(value: unknown): void {
NEW
13
        globalThis.postMessage(value);
×
14
    }
15

16
    on(event: 'close', listener: () => void): this;
17
    on(event: 'message', listener: (value: unknown) => void): this;
18
    on(event: string, listener: (value?: unknown) => void): this {
NEW
19
        if (event === 'message') {
×
NEW
20
            this.#messageListeners.add(listener);
×
21
        }
NEW
22
        return this;
×
23
    }
24

25
    off(event: 'close', listener: () => void): this;
26
    off(event: 'message', listener: (value: unknown) => void): this;
27
    off(event: string, listener: (value?: unknown) => void): this {
NEW
28
        if (event === 'message') {
×
NEW
29
            this.#messageListeners.delete(listener);
×
30
        }
NEW
31
        return this;
×
32
    }
33

NEW
34
    #listenerMessage: (value: MessageEvent) => void = (event: MessageEvent) => {
×
NEW
35
        for (const listener of this.#messageListeners) {
×
NEW
36
            listener(event.data);
×
37
        }
38
    };
39
}
40

NEW
41
createHandler(new BrowserMessagePort(), procedures);
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc