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

restorecommerce / rendering-srv / 27626258803

16 Jun 2026 02:49PM UTC coverage: 72.772% (-0.5%) from 73.267%
27626258803

push

github

Arun-KumarH
fix: up RC deps and node version

28 of 57 branches covered (49.12%)

Branch coverage included in aggregate %.

119 of 145 relevant lines covered (82.07%)

3.28 hits per line

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

64.71
/test/ResourceAwaitQueue.ts
1

2
export type ResourceAwaitFunc<T> = (resource: T | PromiseLike<T>) => void;
3

4
export type ResourceAwaitMutex<T> = {
5
  resolve: ResourceAwaitFunc<T>;
6
  reject: (error?: any) => void;
7
};
8

9
export class ResourceAwaitQueue<T, K = string> extends Map<K, ResourceAwaitMutex<T>> {
10
  public override set(key: K, value: ResourceAwaitMutex<T>) {
11
    if (this.has(key)) {
9!
12
      value.reject(new Error('Resource in use!'));
×
13
    }
14
    else {
15
      super.set(key, value);
9✔
16
    }
17
    return this;
9✔
18
  }
19

20
  public async await(key: K, timeout?: number) {
21
    return new Promise<T>(
9✔
22
      (resolve, reject) => {
23
        this.set(key, { resolve, reject });
9✔
24
        if (timeout) {
9!
25
          setTimeout(
9✔
26
            () => reject({
×
27
              code: 500,
28
              message: `Event ${key} did not respond before timeout of ${timeout}ms!`
29
            }), timeout
30
          );
31
        }
32
      }
33
    );
34
  }
35

36
  public resolve(key: K, resource?: T) {
37
    this.get(key)?.resolve(resource);
9✔
38
    this.delete(key);
9✔
39
  }
40

41
  public reject(key: K, error?: any) {
42
    this.get(key)?.reject(error);
×
43
    this.delete(key);
×
44
  }
45
}
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