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);
}
}
};
|