lib/dialects/mssql/resource-lock.js
- 'use strict';
-
- const Promise = require('../../promise');
-
- class ResourceLock {
- constructor(resource) {
- this.resource = resource;
- this.previous = Promise.resolve(resource);
- }
-
- unwrap() {
- return this.resource;
- }
-
- lock() {
- const lock = this.previous;
- let resolve;
- this.previous = new Promise(r => {
- resolve = r;
- });
- return lock.disposer(resolve);
- }
- }
-
- module.exports = ResourceLock;