@matrixai/async-locks
Advanced tools
@@ -15,3 +15,2 @@ import type { MutexInterface } from 'async-mutex'; | ||
| protected _writerCount: number; | ||
| protected activeLock: 'read' | 'write' | null; | ||
| lock(type: 'read' | 'write', timeout?: number): ResourceAcquire<RWLockReader>; | ||
@@ -27,3 +26,3 @@ read(timeout?: number): ResourceAcquire<RWLockReader>; | ||
| */ | ||
| isLocked(type?: 'read' | 'write'): boolean; | ||
| isLocked(): boolean; | ||
| waitForUnlock(timeout?: number): Promise<void>; | ||
@@ -30,0 +29,0 @@ withF<T>(...params: [ |
+2
-14
@@ -17,3 +17,2 @@ "use strict"; | ||
| this._writerCount = 0; | ||
| this.activeLock = null; | ||
| } | ||
@@ -62,7 +61,5 @@ lock(type, timeout) { | ||
| readersRelease(); | ||
| this.activeLock = 'read'; | ||
| } | ||
| else { | ||
| readersRelease(); | ||
| this.activeLock = 'read'; | ||
| // Yield for the first reader to finish locking | ||
@@ -80,3 +77,2 @@ await (0, utils_1.yieldMicro)(); | ||
| readersRelease(); | ||
| this.activeLock = null; | ||
| // Allow semaphore to settle https://github.com/DirtyHairy/async-mutex/issues/54 | ||
@@ -104,3 +100,2 @@ await (0, utils_1.yieldMicro)(); | ||
| } | ||
| this.activeLock = 'write'; | ||
| return [ | ||
@@ -110,3 +105,2 @@ async () => { | ||
| --this._writerCount; | ||
| this.activeLock = null; | ||
| // Allow semaphore to settle https://github.com/DirtyHairy/async-mutex/issues/54 | ||
@@ -132,10 +126,4 @@ await (0, utils_1.yieldMicro)(); | ||
| */ | ||
| isLocked(type) { | ||
| if (type != null) { | ||
| return (this.activeLock === type && | ||
| (this.readersLock.isLocked() || this.writersLock.isLocked())); | ||
| } | ||
| else { | ||
| return this.readersLock.isLocked() || this.writersLock.isLocked(); | ||
| } | ||
| isLocked() { | ||
| return this.readersLock.isLocked() || this.writersLock.isLocked(); | ||
| } | ||
@@ -142,0 +130,0 @@ async waitForUnlock(timeout) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"RWLockReader.js","sourceRoot":"","sources":["../src/RWLockReader.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"RWLockReader.js","sourceRoot":"","sources":["../src/RWLockReader.ts"],"names":[],"mappings":"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"} |
@@ -15,3 +15,2 @@ import type { MutexInterface } from 'async-mutex'; | ||
| protected _writerCount: number; | ||
| protected activeLock: 'read' | 'write' | null; | ||
| lock(type: 'read' | 'write', timeout?: number): ResourceAcquire<RWLockWriter>; | ||
@@ -18,0 +17,0 @@ read(timeout?: number): ResourceAcquire<RWLockWriter>; |
@@ -18,3 +18,2 @@ "use strict"; | ||
| this._writerCount = 0; | ||
| this.activeLock = null; | ||
| } | ||
@@ -67,6 +66,4 @@ lock(type, timeout) { | ||
| } | ||
| this.activeLock = 'read'; | ||
| } | ||
| else { | ||
| this.activeLock = 'read'; | ||
| // Yield for the first reader to finish locking | ||
@@ -81,3 +78,2 @@ await (0, utils_1.yieldMicro)(); | ||
| this.readersRelease(); | ||
| this.activeLock = null; | ||
| // Allow semaphore to settle https://github.com/DirtyHairy/async-mutex/issues/54 | ||
@@ -122,3 +118,2 @@ await (0, utils_1.yieldMicro)(); | ||
| } | ||
| this.activeLock = 'write'; | ||
| return [ | ||
@@ -129,3 +124,2 @@ async () => { | ||
| --this._writerCount; | ||
| this.activeLock = null; | ||
| // Allow semaphore to settle https://github.com/DirtyHairy/async-mutex/issues/54 | ||
@@ -152,6 +146,8 @@ await (0, utils_1.yieldMicro)(); | ||
| isLocked(type) { | ||
| if (type != null) { | ||
| return (this.activeLock === type && | ||
| (this.readersLock.isLocked() || this.writersLock.isLocked())); | ||
| if (type === 'read') { | ||
| return this.readersLock.isLocked(); | ||
| } | ||
| else if (type === 'write') { | ||
| return this.writersLock.isLocked(); | ||
| } | ||
| else { | ||
@@ -158,0 +154,0 @@ return this.readersLock.isLocked() || this.writersLock.isLocked(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"RWLockWriter.js","sourceRoot":"","sources":["../src/RWLockWriter.ts"],"names":[],"mappings":";;AAGA,2CAAyC;AACzC,6CAAiD;AACjD,mDAAmD;AACnD,mCAA4C;AAC5C,qCAAkD;AAElD;;GAEG;AACH,MAAM,YAAY;IAAlB;QACY,gBAAW,GAAU,IAAI,mBAAK,EAAE,CAAC;QACjC,gBAAW,GAAU,IAAI,mBAAK,EAAE,CAAC;QAEjC,uBAAkB,GAAW,CAAC,CAAC;QAC/B,iBAAY,GAAW,CAAC,CAAC;QACzB,iBAAY,GAAW,CAAC,CAAC;QACzB,eAAU,GAA4B,IAAI,CAAC;IAiQvD,CAAC;IA/PQ,IAAI,CACT,IAAsB,EACtB,OAAgB;QAEhB,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC9B;IACH,CAAC;IAEM,IAAI,CAAC,OAAgB;QAC1B,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,EAAE,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;gBACzB,EAAE,IAAI,CAAC,kBAAkB,CAAC;gBAC1B,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,MAAM,OAAO,CAAC,IAAI,CAAC;wBACjB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;wBAChC,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;4BACvB,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC,CAAC;qBACH,CAAC,CAAC;oBACH,IAAI,QAAQ,EAAE;wBACZ,EAAE,IAAI,CAAC,kBAAkB,CAAC;wBAC1B,MAAM,IAAI,+BAAsB,EAAE,CAAC;qBACpC;iBACF;qBAAM;oBACL,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;iBACxC;gBACD,EAAE,IAAI,CAAC,kBAAkB,CAAC;aAC3B;YACD,MAAM,WAAW,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC;YACxC,yBAAyB;YACzB,IAAI,WAAW,KAAK,CAAC,EAAE;gBACrB,IAAI,WAAW,GAAmB,IAAI,CAAC,WAAW,CAAC;gBACnD,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,OAAO,GAAG,OAAO,GAAG,CAAC,wBAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7C,WAAW,GAAG,IAAA,yBAAW,EACvB,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,IAAI,+BAAsB,EAAE,CAC7B,CAAC;iBACH;gBACD,IAAI;oBACF,IAAI,CAAC,cAAc,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;iBACnD;gBAAC,OAAO,CAAC,EAAE;oBACV,EAAE,IAAI,CAAC,YAAY,CAAC;oBACpB,MAAM,CAAC,CAAC;iBACT;gBACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;gBACzB,+CAA+C;gBAC/C,MAAM,IAAA,kBAAU,GAAE,CAAC;aACpB;YACD,OAAO;gBACL,KAAK,IAAI,EAAE;oBACT,MAAM,WAAW,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC;oBACxC,0BAA0B;oBAC1B,IAAI,WAAW,KAAK,CAAC,EAAE;wBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,gFAAgF;wBAChF,MAAM,IAAA,kBAAU,GAAE,CAAC;qBACpB;gBACH,CAAC;gBACD,IAAI;aACL,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,OAAgB;QAC3B,OAAO,KAAK,IAAI,EAAE;YAChB,EAAE,IAAI,CAAC,YAAY,CAAC;YACpB,IAAI,WAAW,GAAmB,IAAI,CAAC,WAAW,CAAC;YACnD,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,WAAW,GAAG,IAAA,yBAAW,EACvB,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,IAAI,+BAAsB,EAAE,CAC7B,CAAC;aACH;YACD,MAAM,EAAE,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,cAAuC,CAAC;YAC5C,IAAI;gBACF,cAAc,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;aAC9C;YAAC,OAAO,CAAC,EAAE;gBACV,EAAE,IAAI,CAAC,YAAY,CAAC;gBACpB,MAAM,CAAC,CAAC;aACT;YACD,IAAI,WAAW,GAAmB,IAAI,CAAC,WAAW,CAAC;YACnD,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,GAAG,OAAO,GAAG,CAAC,wBAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC7C,WAAW,GAAG,IAAA,yBAAW,EACvB,IAAI,CAAC,WAAW,EAChB,OAAO,EACP,IAAI,+BAAsB,EAAE,CAC7B,CAAC;aACH;YACD,IAAI;gBACF,IAAI,CAAC,cAAc,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;aACnD;YAAC,OAAO,CAAC,EAAE;gBACV,cAAc,EAAE,CAAC;gBACjB,EAAE,IAAI,CAAC,YAAY,CAAC;gBACpB,gFAAgF;gBAChF,MAAM,IAAA,kBAAU,GAAE,CAAC;gBACnB,MAAM,CAAC,CAAC;aACT;YACD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,OAAO;gBACL,KAAK,IAAI,EAAE;oBACT,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,cAAc,EAAE,CAAC;oBACjB,EAAE,IAAI,CAAC,YAAY,CAAC;oBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,gFAAgF;oBAChF,MAAM,IAAA,kBAAU,GAAE,CAAC;gBACrB,CAAC;gBACD,IAAI;aACL,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,IAAuB;QACrC,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,CACL,IAAI,CAAC,UAAU,KAAK,IAAI;gBACxB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAC7D,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;SACnE;IACH,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAgB;QACzC,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC;oBACV,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;oBAChC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;iBACjC,CAAC;gBACF,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvB,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE;gBACZ,MAAM,IAAI,+BAAsB,EAAE,CAAC;aACpC;SACF;aAAM;YACL,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;gBAChC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;aACjC,CAAC,CAAC;SACJ;IACH,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,GAAG,MAOF;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAsB,CAAC;QAChD,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,GAAI,MAAc,CAAC,CAAC;YAC5C,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,UAAU,CAAC,GAAI,MAAc,CAAC,CAAC;SAC9C;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,GAAG,MAAyE;QAE5E,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAwC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;QACpC,OAAO,IAAA,iBAAK,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,GAAG,MAAyE;QAE5E,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAAwC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;QACpC,OAAO,IAAA,iBAAK,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CACV,GAAG,MAOF;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAsB,CAAC;QAChD,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,GAAI,MAAc,CAAC,CAAC;YAC5C,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,UAAU,CAAC,GAAI,MAAc,CAAC,CAAC;SAC9C;IACH,CAAC;IAEM,SAAS,CACd,GAAG,MAGF;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAEkB,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;QACpC,OAAO,IAAA,iBAAK,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,UAAU,CACf,GAAG,MAGF;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,EAEkB,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;QACpC,OAAO,IAAA,iBAAK,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AAED,kBAAe,YAAY,CAAC"} | ||
| {"version":3,"file":"RWLockWriter.js","sourceRoot":"","sources":["../src/RWLockWriter.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@matrixai/async-locks", | ||
| "version": "2.3.0", | ||
| "version": "2.3.1", | ||
| "author": "Roger Qiu", | ||
@@ -5,0 +5,0 @@ "description": "Asynchronous locking utilities", |
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
0
-100%63286
-2.18%839
-2.1%