31 lines
519 B
TypeScript
31 lines
519 B
TypeScript
import { Syncable, Addressable, mergeKey } from 'crdt-meta';
|
|
|
|
class Phone extends Syncable implements Addressable {
|
|
|
|
address: string
|
|
value: number
|
|
|
|
constructor(address:string, v:string) {
|
|
const o = {
|
|
msisdn: v,
|
|
}
|
|
super('', o);
|
|
Phone.toKey(v).then((phid) => {
|
|
this.id = phid;
|
|
this.address = address;
|
|
});
|
|
}
|
|
|
|
public static async toKey(msisdn:string) {
|
|
return await mergeKey(Buffer.from(msisdn), Buffer.from(':cic.phone'));
|
|
}
|
|
|
|
public key(): string {
|
|
return this.id;
|
|
}
|
|
}
|
|
|
|
export {
|
|
Phone,
|
|
}
|