Вы можете использовать концепцию сервиса / провайдера. Однако для создания сервиса вам нужен одноэлементный объект. JS это сложно сделать. Я прочитал несколько статей, как создать синглтон. Ниже приведен образец может соответствовать вашему требованию.
const singleton = clName => {
return new Proxy(clName.prototype.constructor, {
inst: null,
construct: (target, args) => {
if (!this.inst) this.inst = new target(...args);
return this.inst;
}
});
};
class Util {
constructor(configs) {
this.time = +new Date();
this.configs = configs;
}
printMsg() {
console.log(this.msg);
}
}
UtilClass = singleton(Util);
const myObj = new UtilClass({ timeout: 100 });
console.log(myObj)
const myObj2 = new UtilClass({ timeout: 200 });
console.log(myObj2)
.as-console-wrapper { max-height: 100% !important; top: 0; color: blue; background: #fff}