@cronstamp/clientlib
Version:
Client library for cronstamp, a blockchain-based document timestamping and verification service.
41 lines • 1.39 kB
JavaScript
import { LOG_LEVELS } from './logger.js';
export const DefaultConfig = {
LOG_LEVEL: LOG_LEVELS.WARN,
BLOCKCHAIN_XRP_SERVERS: ['wss://xrplcluster.com', 'wss://s2.ripple.com:51234'],
BLOCKCHAIN_SOLANA_SERVERS: ['https://api.mainnet-beta.solana.com', 'https://free.rpcpool.com'],
API_URL: 'https://api.cronstamp.com',
CERT_REQUEST_TIMEOUT: 2000,
CERT_REQUEST_INTERVAL: 1
};
/**
* Update config with values from new config or default, if value is set in neither old/new config
* Result is guaranteed to have all config options set
* @param oldConfig
* @param newPartialConfig
* @param log
*/
export function updateConfig(oldConfig, newPartialConfig, log) {
let newConfig = structuredClone(oldConfig);
let changed = false;
for (let key in newPartialConfig) {
if (newPartialConfig[key] !== undefined) {
newConfig[key] = newPartialConfig[key];
changed = true;
}
}
// update logger log level immediately
log.setLogLevel(newConfig.LOG_LEVEL);
if (changed) {
log.debug('Loaded provided config values: ', newConfig);
}
return newConfig;
}
export function apiLinesStringToArray(rawLines) {
return rawLines
? rawLines
.split(/\r?\n/g)
.map((val) => val.trim())
.filter((val) => val.length > 0)
: [];
}
//# sourceMappingURL=config.js.map