UNPKG

@payburner/keyburner-sidewinder-core

Version:
60 lines 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemoryGlobalAddressService = void 0; class MemoryGlobalAddressService { constructor() { this.addresses = {}; } sequenceKey(address, environment) { return environment + '/' + address; } setEnvironmentAddressState(address, environment, sequence, txn_id) { 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)] = { address: address, environment: environment, last_txn_id: 'NONE', sequence: 0 }; resolve(true); } else { console.log('FAIL HERE 1'); resolve(false); } } else { if (self.addresses[this.sequenceKey(address, environment)].sequence === sequence - 1) { self.addresses[this.sequenceKey(address, environment)].sequence = sequence; self.addresses[this.sequenceKey(address, environment)].last_txn_id = txn_id; resolve(true); } else { console.log('FAIL HERE 2:' + JSON.stringify(self.addresses, null, 2) + ' ' + address + ' ' + sequence); resolve(false); } } }); } getEnvironmentAddressState(address, environment) { const self = this; return new Promise((resolve, reject) => { if (typeof self.addresses[this.sequenceKey(address, environment)] === 'undefined') { resolve({ address: address, environment: environment, last_txn_id: 'NONE', sequence: 0 }); } else { resolve(self.addresses[this.sequenceKey(address, environment)]); } }); } } exports.MemoryGlobalAddressService = MemoryGlobalAddressService; //# sourceMappingURL=MemoryGlobalAddressService.js.map