@abstract-filesystem/filesystem
Version:
A abstract filesystem
67 lines (66 loc) • 1.82 kB
JavaScript
var __awaiter =
(this && this.__awaiter) ||
function (thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P
? value
: new P(function (resolve) {
resolve(value)
})
}
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value))
} catch (e) {
reject(e)
}
}
function rejected(value) {
try {
step(generator['throw'](value))
} catch (e) {
reject(e)
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected)
}
step((generator = generator.apply(thisArg, _arguments || [])).next())
})
}
Object.defineProperty(exports, '__esModule', { value: true })
const base_1 = require('@abstract-filesystem/types')
class MemoryDriver extends base_1.AbstractDriver {
constructor() {
super(...arguments)
this.options = {}
this.fs = new Map()
}
has(file) {
return __awaiter(this, void 0, void 0, function* () {
return this.fs.has(file)
})
}
create(file, content) {
return __awaiter(this, void 0, void 0, function* () {
if (this.fs.has(file)) throw new Error(`File already exists: ${file}`)
this.fs.set(file, content)
return true
})
}
remove(file) {
return __awaiter(this, void 0, void 0, function* () {
return this.fs.delete(file)
})
}
read(file) {
return __awaiter(this, void 0, void 0, function* () {
if (!this.fs.has(file)) throw new Error(`File not found: ${file}`)
return this.fs.get(file)
})
}
}
exports.default = MemoryDriver
//# sourceMappingURL=driver-memory.js.map