@payburner/keyburner-sidewinder-core
Version:
Core library for Keyburner Sidewinder
49 lines • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestGlobalAddressService = void 0;
class TestGlobalAddressService {
constructor() {
this.addresses = {};
}
sequenceKey(address, environment) {
return environment + '/' + address;
}
setSequence(address, environment, sequence) {
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.addresses[this.sequenceKey(address, environment)] === 'undefined') {
if (sequence === 0) {
self.addresses[this.sequenceKey(address, environment)] = 0;
resolve(true);
}
else {
console.log('FAIL HERE 1');
resolve(false);
}
}
else {
if (self.addresses[this.sequenceKey(address, environment)] === sequence - 1) {
self.addresses[this.sequenceKey(address, environment)] = sequence;
resolve(true);
}
else {
console.log('FAIL HERE 2:' + JSON.stringify(self.addresses, null, 2) + ' ' + address + ' ' + sequence);
resolve(false);
}
}
});
}
getSequence(address, environment) {
const self = this;
return new Promise((resolve, reject) => {
if (typeof self.addresses[this.sequenceKey(address, environment)] === 'undefined') {
resolve(0);
}
else {
resolve(self.addresses[this.sequenceKey(address, environment)]);
}
});
}
}
exports.TestGlobalAddressService = TestGlobalAddressService;
//# sourceMappingURL=TestGlobalAddressService.js.map