mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-11 14:48:46 +01:00
e238ea20a9
* Move send in libs/common * Move send in libs/angular * Move send in browser * Move send in cli * Move send in desktop * Move send in web
29 lines
891 B
TypeScript
29 lines
891 B
TypeScript
import { Utils } from "@bitwarden/common/misc/utils";
|
|
import { SendType } from "@bitwarden/common/tools/send/enums/send-type";
|
|
import { SendView } from "@bitwarden/common/tools/send/models/view/send.view";
|
|
import { DeepJsonify } from "@bitwarden/common/types/deep-jsonify";
|
|
|
|
import { BrowserComponentState } from "./browserComponentState";
|
|
|
|
export class BrowserSendComponentState extends BrowserComponentState {
|
|
sends: SendView[];
|
|
typeCounts: Map<SendType, number>;
|
|
|
|
toJSON() {
|
|
return Utils.merge(this, {
|
|
typeCounts: Utils.mapToRecord(this.typeCounts),
|
|
});
|
|
}
|
|
|
|
static fromJSON(json: DeepJsonify<BrowserSendComponentState>) {
|
|
if (json == null) {
|
|
return null;
|
|
}
|
|
|
|
return Object.assign(new BrowserSendComponentState(), json, {
|
|
sends: json.sends?.map((s) => SendView.fromJSON(s)),
|
|
typeCounts: Utils.recordToMap(json.typeCounts),
|
|
});
|
|
}
|
|
}
|