Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marius-wieschollek/passwords-webextension.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/Converter/ThemeConverter.js')
-rw-r--r--src/js/Converter/ThemeConverter.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/js/Converter/ThemeConverter.js b/src/js/Converter/ThemeConverter.js
new file mode 100644
index 0000000..77133a6
--- /dev/null
+++ b/src/js/Converter/ThemeConverter.js
@@ -0,0 +1,45 @@
+import Theme from '@js/Models/Theme/Theme';
+
+export default class ThemeConverter {
+ /**
+ *
+ * @param {Message} message
+ * @returns {Message}
+ */
+ convert(message) {
+ if(message.getType() === 'theme.items') {
+ return this._covertItems(message);
+ } else {
+ return this._covertItem(message);
+ }
+ }
+
+ /**
+ *
+ * @param {Message} message
+ * @returns {Message}
+ */
+ _covertItems(message) {
+ let payload = message.getPayload(),
+ servers = [];
+
+ if(payload !== null) {
+ for(let data of payload) {
+ servers.push(new Theme(data));
+ }
+ }
+
+ return message.setPayload(servers);
+ }
+
+ /**
+ *
+ * @param {Message} message
+ * @returns {Message}
+ */
+ _covertItem(message) {
+ let payload = message.getPayload();
+
+ return message.setPayload(new Theme(payload));
+ }
+} \ No newline at end of file