First commit
This commit is contained in:
98
framework/client/promiseManager.js
Normal file
98
framework/client/promiseManager.js
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
|
||||
Copyright (c) 2020, 2023, The Unified Company.
|
||||
|
||||
This code is part of Unify.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE,
|
||||
as published by the Free Software Foundation.
|
||||
See the GNU AFFERO GENERAL PUBLIC LICENSE, for more details.
|
||||
|
||||
https://unifyjs.org
|
||||
|
||||
*/
|
||||
|
||||
export default class promiseManager{
|
||||
|
||||
promises = new Array();
|
||||
|
||||
messages = new Array();
|
||||
|
||||
socketManager;
|
||||
|
||||
addPromise( promiseObject ) {
|
||||
|
||||
this.promises.push( promiseObject );
|
||||
|
||||
}
|
||||
|
||||
addMessage( message ) {
|
||||
|
||||
this.messages.push( message );
|
||||
|
||||
}
|
||||
|
||||
getPromiseByID( id ) {
|
||||
|
||||
var promises = this.promises;
|
||||
|
||||
for(var c = 0; c<promises.length; c++) {
|
||||
|
||||
var currentPromise = promises[c];
|
||||
|
||||
if( currentPromise.id == id ) {
|
||||
|
||||
return currentPromise;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
console.error("Promise with id " + id + " not found:", this);
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
getMessageByID( id ) {
|
||||
|
||||
var messages = this.messages;
|
||||
|
||||
for(var c = 0; c<messages.length; c++) {
|
||||
|
||||
var message = messages[c];
|
||||
|
||||
if( message.id == id ) {
|
||||
|
||||
return message;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
createPromiseFunction( messageID, object = false ) {
|
||||
|
||||
var promiseManager = this;
|
||||
|
||||
function promiseFunction( resolveFunction ){
|
||||
|
||||
var promiseObject = {};
|
||||
|
||||
promiseObject.id = messageID;
|
||||
|
||||
promiseObject.resolve = resolveFunction;
|
||||
|
||||
promiseObject.object = object;
|
||||
|
||||
|
||||
promiseManager.addPromise( promiseObject );
|
||||
|
||||
}
|
||||
|
||||
return promiseFunction;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user