(zoneId: string, fileName: string)
| 109 | } |
| 110 | |
| 111 | function getFileSubject(zoneId: string, fileName: string): SubjectWithRef<WSFileEventData> { |
| 112 | const subjectKey = zoneId + "|" + fileName; |
| 113 | let subject = fileSubjects.get(subjectKey); |
| 114 | if (subject == null) { |
| 115 | subject = new Subject<any>() as any; |
| 116 | subject.refCount = 0; |
| 117 | subject.release = () => { |
| 118 | subject.refCount--; |
| 119 | if (subject.refCount === 0) { |
| 120 | subject.complete(); |
| 121 | fileSubjects.delete(subjectKey); |
| 122 | } |
| 123 | }; |
| 124 | fileSubjects.set(subjectKey, subject); |
| 125 | } |
| 126 | subject.refCount++; |
| 127 | return subject; |
| 128 | } |
| 129 | |
| 130 | function handleWaveEvent(event: WaveEvent) { |
| 131 | // console.log("handleWaveEvent", event); |
no test coverage detected