UNPKG

mongoose-transaction-plugin

Version:

A mongoose plugin for transaction-like semantics between multiple documents.

19 lines (17 loc) 2.33 kB
"use strict"; 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=