reduct-js
Version:
ReductStore Client SDK for Javascript/NodeJS/Typescript
71 lines (70 loc) • 1.7 kB
JavaScript
import { ReplicationSettings, } from "./ReplicationSettings";
import { Diagnostics } from "./Diagnostics";
/**
* Original Replication Info
*/
export class OriginalReplicationInfo {
constructor() {
this.name = "";
this.is_active = false;
this.is_provisioned = false;
this.pending_records = 0n;
}
}
/**
* Replication info
*/
export class ReplicationInfo {
constructor() {
/**
* Replication name
*/
this.name = "";
/**
* Remote instance is available and replication is active
*/
this.isActive = false;
/**
* Replication is provisioned
*/
this.isProvisioned = false;
/**
* Number of records pending replication
*/
this.pendingRecords = 0n;
}
static parse(data) {
return {
name: data.name,
isActive: data.is_active,
isProvisioned: data.is_provisioned,
pendingRecords: BigInt(data.pending_records),
};
}
}
/**
* Replication full info
*/
export class FullReplicationInfo {
constructor() {
/**
* Replication info
*/
this.info = new ReplicationInfo();
/**
* Replication settings
*/
this.settings = new ReplicationSettings();
/**
* Replication statistics
*/
this.diagnostics = new Diagnostics();
}
static parse(data) {
return {
info: ReplicationInfo.parse(data.info),
settings: ReplicationSettings.parse(data.settings),
diagnostics: Diagnostics.parse(data.diagnostics),
};
}
}