Fix size call.

This commit is contained in:
Dermot Duffy
2023-04-05 18:25:53 -07:00
parent 4d47b6ea73
commit 1734e5ae69
4 changed files with 12 additions and 10 deletions
+1 -1
View File
@@ -5,5 +5,5 @@
"i18n-ally.keepFulfilled": true,
"i18n-ally.editor.preferEditor": true,
"i18n-ally.translate.saveAsCandidates": true,
"vitest.commandLine": "npx vitest --root /home/dizer/src/frigate-hass-card"
"vitest.commandLine": "npx vitest --root ."
}
+6 -2
View File
@@ -107,6 +107,10 @@ class MemoryRangedCache<Data> {
return output;
}
public getSize(): number {
return this._data.length;
}
/**
* Remove old data that matches a given predicate. No change to the covered
* ranges is made, i.e. this is asserting authoritiatively that this data does
@@ -146,8 +150,8 @@ export class RecordingSegmentsCache {
return this._segments.get(cameraID)?.get(range) ?? null;
}
public getCache(cameraID: string): MemoryRangedCache<RecordingSegment> | null {
return this._segments.get(cameraID) ?? null;
public getSize(cameraID: string): number | null {
return this._segments.get(cameraID)?.getSize() ?? null;
}
public getCameraIDs(): string[] {
+1 -1
View File
@@ -990,7 +990,7 @@ export class FrigateCameraManagerEngine
const countSegments = () =>
sum(
cameraIDs.map(
(cameraID) => this._recordingSegmentsCache.getCache(cameraID)?.size() ?? 0,
(cameraID) => this._recordingSegmentsCache.getSize(cameraID) ?? 0,
),
);
const segmentsStart = countSegments();
+4 -6
View File
@@ -112,15 +112,13 @@ describe('RecordingSegmentsCache', () => {
expect(cache.hasCoverage('camera-1', range)).toBeFalsy();
});
it('should return internal cache', () => {
it('should get size', () => {
cache.add('camera-1', range, segments);
const internalCache = cache.getCache('camera-1');
expect(internalCache).toBeTruthy();
expect(internalCache?.get(range)).toEqual(segments);
expect(cache.getSize("camera-1")).toBe(3);
});
it('should not return internal cache for wrong camera', () => {
it('should not size for other camera', () => {
cache.add('camera-1', range, segments);
expect(cache.getCache('camera-2')).toBeNull();
expect(cache.getSize("camera-2")).toBeNull();
});
it('should return cameraIDs', () => {