Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: lib/subscriptionClasses.js

Issue 29802575: Issue 6559 - Replace fromObject with fromMap (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Created June 8, 2018, 1:59 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/filterStorage.js ('k') | test/filterClasses.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/subscriptionClasses.js
===================================================================
--- a/lib/subscriptionClasses.js
+++ b/lib/subscriptionClasses.js
@@ -174,61 +174,81 @@
if (url[0] != "~")
return new DownloadableSubscription(url, null);
return new SpecialSubscription(url);
};
/**
* Deserializes a subscription
*
- * @param {Object} obj
+ * @param {Map.<string,string>} map
* map of serialized properties and their values
* @return {Subscription}
* subscription or null if the subscription couldn't be created
*/
-Subscription.fromObject = function(obj)
+Subscription.fromMap = function(map)
{
let result;
- if (obj.url[0] != "~")
+
+ let url = map.get("url");
+ let title = map.get("title");
+ if (url[0] != "~")
{
// URL is valid - this is a downloadable subscription
- result = new DownloadableSubscription(obj.url, obj.title);
- if ("downloadStatus" in obj)
- result._downloadStatus = obj.downloadStatus;
- if ("lastSuccess" in obj)
- result.lastSuccess = parseInt(obj.lastSuccess, 10) || 0;
- if ("lastCheck" in obj)
- result._lastCheck = parseInt(obj.lastCheck, 10) || 0;
- if ("expires" in obj)
- result.expires = parseInt(obj.expires, 10) || 0;
- if ("softExpiration" in obj)
- result.softExpiration = parseInt(obj.softExpiration, 10) || 0;
- if ("errors" in obj)
- result._errors = parseInt(obj.errors, 10) || 0;
- if ("version" in obj)
- result.version = parseInt(obj.version, 10) || 0;
- if ("requiredVersion" in obj)
- result.requiredVersion = obj.requiredVersion;
- if ("homepage" in obj)
- result._homepage = obj.homepage;
- if ("lastDownload" in obj)
- result._lastDownload = parseInt(obj.lastDownload, 10) || 0;
- if ("downloadCount" in obj)
- result.downloadCount = parseInt(obj.downloadCount, 10) || 0;
+ result = new DownloadableSubscription(url, title);
+
+ let downloadStatus = map.get("downloadStatus");
+ let lastSuccess = map.get("lastSuccess");
+ let lastCheck = map.get("lastCheck");
+ let expires = map.get("expires");
+ let softExpiration = map.get("softExpiration");
+ let errors = map.get("errors");
+ let version = map.get("version");
+ let requiredVersion = map.get("requiredVersion");
+ let homepage = map.get("homepage");
+ let lastDownload = map.get("lastDownload");
+ let downloadCount = map.get("downloadCount");
+ if (typeof downloadStatus != "undefined")
+ result._downloadStatus = downloadStatus;
+ if (typeof lastSuccess != "undefined")
+ result.lastSuccess = parseInt(lastSuccess, 10) || 0;
+ if (typeof lastCheck != "undefined")
+ result._lastCheck = parseInt(lastCheck, 10) || 0;
+ if (typeof expires != "undefined")
+ result.expires = parseInt(expires, 10) || 0;
+ if (typeof softExpiration != "undefined")
+ result.softExpiration = parseInt(softExpiration, 10) || 0;
+ if (typeof errors != "undefined")
+ result._errors = parseInt(errors, 10) || 0;
+ if (typeof version != "undefined")
+ result.version = parseInt(version, 10) || 0;
+ if (typeof requiredVersion != "undefined")
+ result.requiredVersion = requiredVersion;
+ if (typeof homepage != "undefined")
+ result._homepage = homepage;
+ if (typeof lastDownload != "undefined")
+ result._lastDownload = parseInt(lastDownload, 10) || 0;
+ if (typeof downloadCount != "undefined")
+ result.downloadCount = parseInt(downloadCount, 10) || 0;
}
else
{
- result = new SpecialSubscription(obj.url, obj.title);
- if ("defaults" in obj)
- result.defaults = obj.defaults.split(" ");
+ result = new SpecialSubscription(url, title);
+
+ let defaults = map.get("defaults");
+ if (typeof defaults != "undefined")
+ result.defaults = defaults.split(" ");
}
- if ("fixedTitle" in obj)
- result._fixedTitle = (obj.fixedTitle == "true");
- if ("disabled" in obj)
- result._disabled = (obj.disabled == "true");
+
+ let fixedTitle = map.get("fixedTitle");
+ let disabled = map.get("disabled");
+ if (typeof fixedTitle != "undefined")
+ result._fixedTitle = (fixedTitle == "true");
+ if (typeof disabled != "undefined")
+ result._disabled = (disabled == "true");
return result;
};
/**
* Class for special filter subscriptions (user's filters)
* @param {string} url see Subscription()
* @param {string} [title] see Subscription()
« no previous file with comments | « lib/filterStorage.js ('k') | test/filterClasses.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld