nes-lokijs-repository-plugin
Version:
Network Event Simulator LokiJS plugin
33 lines (31 loc) • 3.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const uuidV4 = require("uuid/v4");
class SimulationRepository {
constructor(collection) {
this.collection = collection;
}
create(name) {
return Promise.resolve(this.collection
.insert({
id: uuidV4(),
name: name,
map: null
}));
}
get(simulationId) {
return Promise.resolve(this.collection
.by('id', simulationId));
}
addMap(simulationId, map) {
const simulation = this.collection
.by('id', simulationId);
if (simulation) {
simulation.map = map;
this.collection.update(simulation);
}
return Promise.resolve();
}
}
exports.default = SimulationRepository;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpbXVsYXRpb24ucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGtDQUFrQztBQUVsQztJQUNFLFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO0lBQUcsQ0FBQztJQUV0RCxNQUFNLENBQUMsSUFBWTtRQUNqQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVTthQUNuQyxNQUFNLENBQUM7WUFDTixFQUFFLEVBQUUsTUFBTSxFQUFFO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixHQUFHLEVBQUUsSUFBSTtTQUNWLENBQXdCLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLFlBQW9CO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVO2FBQ25DLEVBQUUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUF3QixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFvQixFQUFFLEdBQTJCO1FBQ3RELE1BQU0sVUFBVSxHQUF3QixJQUFJLENBQUMsVUFBVTthQUNwRCxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBd0IsQ0FBQztRQUVqRCxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2YsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBNUJELHVDQTRCQyIsImZpbGUiOiJzaW11bGF0aW9uLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbnRpdGllcyB9IGZyb20gJ25lcy1jb3JlJztcbmltcG9ydCB7IHJlcG9zaXRvcmllcyB9IGZyb20gJ25lcy1jb3JlJztcbmltcG9ydCAqIGFzIExva2lKUyBmcm9tICdsb2tpanMnO1xuaW1wb3J0ICogYXMgdXVpZFY0IGZyb20gJ3V1aWQvdjQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaW11bGF0aW9uUmVwb3NpdG9yeSBpbXBsZW1lbnRzIHJlcG9zaXRvcmllcy5TaW11bGF0aW9uUmVwb3NpdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29sbGVjdGlvbjogTG9raUNvbGxlY3Rpb248e30+KSB7fVxuXG4gIGNyZWF0ZShuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGVudGl0aWVzLlNpbXVsYXRpb24+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY29sbGVjdGlvblxuICAgICAgLmluc2VydCh7XG4gICAgICAgIGlkOiB1dWlkVjQoKSxcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgbWFwOiBudWxsXG4gICAgICB9KSBhcyBlbnRpdGllcy5TaW11bGF0aW9uKTtcbiAgfVxuXG4gIGdldChzaW11bGF0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8ZW50aXRpZXMuU2ltdWxhdGlvbj4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5jb2xsZWN0aW9uXG4gICAgICAuYnkoJ2lkJywgc2ltdWxhdGlvbklkKSBhcyBlbnRpdGllcy5TaW11bGF0aW9uKTtcbiAgfVxuXG4gIGFkZE1hcChzaW11bGF0aW9uSWQ6IHN0cmluZywgbWFwOiBlbnRpdGllcy5TaW11bGF0aW9uTWFwKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2ltdWxhdGlvbjogZW50aXRpZXMuU2ltdWxhdGlvbiA9IHRoaXMuY29sbGVjdGlvblxuICAgICAgLmJ5KCdpZCcsIHNpbXVsYXRpb25JZCkgYXMgZW50aXRpZXMuU2ltdWxhdGlvbjtcblxuICAgIGlmIChzaW11bGF0aW9uKSB7XG4gICAgICBzaW11bGF0aW9uLm1hcCA9IG1hcDtcbiAgICAgIHRoaXMuY29sbGVjdGlvbi51cGRhdGUoc2ltdWxhdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=