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

fmfe / vue-class-setup / #228

07 Nov 2025 07:01AM UTC coverage: 95.814% (-2.0%) from 97.806%
#228

push

travis-pro

lzxb
release: vue-class-setup@1.4.5

139 of 156 branches covered (89.1%)

Branch coverage included in aggregate %.

479 of 489 relevant lines covered (97.96%)

10.85 hits per line

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

86.67
/src/setup-reference.ts
1
let count = 0;
21✔
2
let isBind = false;
21✔
3

4
export function addCount() {
5
    // 如果还是处于绑定状态,说明上一次解绑的过程中程序执行报错了,需要重置
6
    if (isBind) {
33✔
7
        isBind = false;
2✔
8
        count = 1;
2✔
9
    } else {
10
        count++;
31✔
11
    }
12
}
13

14
const weakMap = new WeakMap<object, number>();
21✔
15

16
export function unBindTarget(target: object): boolean {
17
    let count = weakMap.get(target);
33✔
18
    if (typeof count === 'number') {
33!
19
        count--;
33✔
20
        if (count) {
33✔
21
            weakMap.set(target, count);
7✔
22
            return false;
7✔
23
        } else {
24
            weakMap.delete(target);
26✔
25
            isBind = false;
26✔
26
            return true;
26✔
27
        }
28
    }
29
    return false;
×
30
}
31

32
export function bindTarget(target: object) {
33
    if (count > 0) {
26!
34
        weakMap.set(target, count);
26✔
35
        count = 0;
26✔
36
        isBind = true;
26✔
37
    } else {
38
        console.warn(`The instance did not use the '@Setup' decorator`);
×
39
    }
40
}
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

© 2025 Coveralls, Inc