mongoose-transaction-plugin
Version:
A mongoose plugin for transaction-like semantics between multiple documents.
19 lines (17 loc) • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const mongoose = require("mongoose");
class ObjectId {
static str(timestamp, inc = 0) {
const time = Math.floor(timestamp / 1000).toString(16);
const increment = inc.toString(16);
return '00000000'.substr(0, 8 - time.length) + time +
'0000000000' +
'000000'.substr(0, 6 - increment.length) + increment; // );
}
static get(timestamp, inc = 0) {
return new mongoose.Types.ObjectId(this.str(timestamp, inc));
}
}
exports.ObjectId = ObjectId;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBcUM7QUFFckMsTUFBYSxRQUFRO0lBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFpQixFQUFFLE1BQWMsQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSTtZQUM1QyxZQUFZO1lBQ1osUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxLQUFLO0lBQ3BFLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQWlCLEVBQUUsTUFBYyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQVpELDRCQVlDIiwiZmlsZSI6InV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9uZ29vc2UgZnJvbSAnbW9uZ29vc2UnO1xuXG5leHBvcnQgY2xhc3MgT2JqZWN0SWQge1xuICBwdWJsaWMgc3RhdGljIHN0cih0aW1lc3RhbXA6IG51bWJlciwgaW5jOiBudW1iZXIgPSAwKSB7XG4gICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IodGltZXN0YW1wIC8gMTAwMCkudG9TdHJpbmcoMTYpO1xuICAgIGNvbnN0IGluY3JlbWVudCA9IGluYy50b1N0cmluZygxNik7XG4gICAgcmV0dXJuICcwMDAwMDAwMCcuc3Vic3RyKDAsIDggLSB0aW1lLmxlbmd0aCkgKyB0aW1lICtcbiAgICAgICAgICAgJzAwMDAwMDAwMDAnICtcbiAgICAgICAgICAgJzAwMDAwMCcuc3Vic3RyKDAsIDYgLSBpbmNyZW1lbnQubGVuZ3RoKSArIGluY3JlbWVudDsgLy8gKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KHRpbWVzdGFtcDogbnVtYmVyLCBpbmM6IG51bWJlciA9IDApOiBtb25nb29zZS5UeXBlcy5PYmplY3RJZCB7XG4gICAgcmV0dXJuIG5ldyBtb25nb29zZS5UeXBlcy5PYmplY3RJZCh0aGlzLnN0cih0aW1lc3RhbXAsIGluYykpO1xuICB9XG59XG4iXX0=