File: FileSystemBlobStore-mock.js

package info (click to toggle)
node-v8-compile-cache 2.3.0-3%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 268 kB
  • sloc: javascript: 880; sh: 11; makefile: 2
file content (40 lines) | stat: -rw-r--r-- 958 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'use strict';

module.exports = class FileSystemBlobStoreMock {
  constructor() {
    this._cachedFiles = [];
  }

  has(key, invalidationKey) {
    return !!this._cachedFiles.find(
      file => file.key === key && file.invalidationKey === invalidationKey
    );
  }

  get(key, invalidationKey) {
    if (this.has(key, invalidationKey)) {
      return this._cachedFiles.find(
        file => file.key === key && file.invalidationKey === invalidationKey
      ).buffer;
    }
  }

  set(key, invalidationKey, buffer) {
    const entry = this._cachedFiles.find(
      file => file.key === key && file.invalidationKey === invalidationKey
    );
    if (entry == null) {
    this._cachedFiles.push({key, invalidationKey, buffer});
    } else {
      entry.buffer = buffer;
    }
    return buffer;
  }

  delete(key) {
    const i = this._cachedFiles.findIndex(file => file.key === key);
    if (i != null) {
      this._cachedFiles.splice(i, 1);
    }
  }
};