summaryrefslogtreecommitdiffstats
path: root/services/cloudsync/CloudSyncBookmarksFolderCache.jsm
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-03-13 09:50:54 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-03-13 09:50:54 +0100
commit4c431486433428b18610c3578b693f3e1f1136eb (patch)
tree671b9cb9dc4c1abb5cd3525ca35beff2c762fc66 /services/cloudsync/CloudSyncBookmarksFolderCache.jsm
parentbf0413359245579e9509146d42cd5547e35da695 (diff)
downloadUXP-4c431486433428b18610c3578b693f3e1f1136eb.tar
UXP-4c431486433428b18610c3578b693f3e1f1136eb.tar.gz
UXP-4c431486433428b18610c3578b693f3e1f1136eb.tar.lz
UXP-4c431486433428b18610c3578b693f3e1f1136eb.tar.xz
UXP-4c431486433428b18610c3578b693f3e1f1136eb.zip
Remove CloudSync
Tag #812
Diffstat (limited to 'services/cloudsync/CloudSyncBookmarksFolderCache.jsm')
-rw-r--r--services/cloudsync/CloudSyncBookmarksFolderCache.jsm105
1 files changed, 0 insertions, 105 deletions
diff --git a/services/cloudsync/CloudSyncBookmarksFolderCache.jsm b/services/cloudsync/CloudSyncBookmarksFolderCache.jsm
deleted file mode 100644
index f3c3fc8f2..000000000
--- a/services/cloudsync/CloudSyncBookmarksFolderCache.jsm
+++ /dev/null
@@ -1,105 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-"use strict";
-
-this.EXPORTED_SYMBOLS = ["FolderCache"];
-
-// Cache for bookmarks folder heirarchy.
-var FolderCache = function () {
- this.cache = new Map();
-}
-
-FolderCache.prototype = {
- has: function (id) {
- return this.cache.has(id);
- },
-
- insert: function (id, parentId) {
- if (this.cache.has(id)) {
- return;
- }
-
- if (parentId && !(this.cache.has(parentId))) {
- throw new Error("insert :: parentId not found in cache: " + parentId);
- }
-
- this.cache.set(id, {
- parent: parentId || null,
- children: new Set(),
- });
-
- if (parentId) {
- this.cache.get(parentId).children.add(id);
- }
- },
-
- remove: function (id) {
- if (!(this.cache.has(id))) {
- throw new Error("remote :: id not found in cache: " + id);
- }
-
- let parentId = this.cache.get(id).parent;
- if (parentId) {
- this.cache.get(parentId).children.delete(id);
- }
-
- for (let child of this.cache.get(id).children) {
- this.cache.get(child).parent = null;
- }
-
- this.cache.delete(id);
- },
-
- setParent: function (id, parentId) {
- if (!(this.cache.has(id))) {
- throw new Error("setParent :: id not found in cache: " + id);
- }
-
- if (parentId && !(this.cache.has(parentId))) {
- throw new Error("setParent :: parentId not found in cache: " + parentId);
- }
-
- let oldParent = this.cache.get(id).parent;
- if (oldParent) {
- this.cache.get(oldParent).children.delete(id);
- }
- this.cache.get(id).parent = parentId;
- this.cache.get(parentId).children.add(id);
-
- return true;
- },
-
- getParent: function (id) {
- if (this.cache.has(id)) {
- return this.cache.get(id).parent;
- }
-
- throw new Error("getParent :: id not found in cache: " + id);
- },
-
- getChildren: function (id) {
- if (this.cache.has(id)) {
- return this.cache.get(id).children;
- }
-
- throw new Error("getChildren :: id not found in cache: " + id);
- },
-
- setChildren: function (id, children) {
- for (let child of children) {
- if (!this.cache.has(child)) {
- this.insert(child, id);
- } else {
- this.setParent(child, id);
- }
- }
- },
-
- dump: function () {
- dump("FolderCache: " + JSON.stringify(this.cache) + "\n");
- },
-};
-
-this.FolderCache = FolderCache;