mirror of
https://github.com/bitwarden/browser.git
synced 2025-02-06 23:51:28 +01:00
* Rename service-factory folder
* Move cryptographic service factories
* Move crypto models
* Move crypto services
* Move domain base class
* Platform code owners
* Move desktop log services
* Move log files
* Establish component library ownership
* Move background listeners
* Move background background
* Move localization to Platform
* Move browser alarms to Platform
* Move browser state to Platform
* Move CLI state to Platform
* Move Desktop native concerns to Platform
* Move flag and misc to Platform
* Lint fixes
* Move electron state to platform
* Move web state to Platform
* Move lib state to Platform
* Fix broken tests
* Rename interface to idiomatic TS
* `npm run prettier` 🤖
* Resolve review feedback
* Set platform as owners of web core and shared
* Expand moved services
* Fix test types
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>
29 lines
900 B
TypeScript
29 lines
900 B
TypeScript
import { Utils } from "@bitwarden/common/platform/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),
|
|
});
|
|
}
|
|
}
|