diff options
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/storage.js')
-rw-r--r-- | data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/storage.js | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/storage.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/storage.js deleted file mode 100644 index 3ed13d0..0000000 --- a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/storage.js +++ /dev/null @@ -1,126 +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'; - -const { Cc, Ci, Cu, components } = require('chrome'); -const { id } = require('sdk/self'); -const unload = require('sdk/system/unload'); -const { defer } = require('sdk/core/promise'); - -const { Instances } = require('./chrome/instances'); -const { Services } = require('./chrome/services'); -const { NetUtil } = require('./chrome/net-utils'); - -const { FileUtils } = Cu.import('resource://gre/modules/FileUtils.jsm', {}); - -const JETPACK_DIR_BASENAME = "jetpack"; - -let saving = false; - -function getStorageFile() { - const file = Services.dirsvc.get('ProfD', Ci.nsIFile); - file.append(JETPACK_DIR_BASENAME); - file.append(id); - file.append('pathfinder'); - file.append('storage'); - - if (!file.exists()) - file.create(Ci.nsIFile.DIRECTORY_TYPE, parseInt('0755', 8)); - - file.append('storage.blob'); - return file; -} - -function get(options) { - options = options || {}; - let charset = options.charset || 'UTF-8'; - - const { promise, resolve } = defer(); - const file = getStorageFile(); - const channel = NetUtil.newChannel(file); - - if (!file.exists()) { - resolve({ data: '' }); - } - else { - NetUtil.asyncFetch(channel, function(iStream, aResult) { - if (!components.isSuccessCode(aResult)) { - reject(); - } - else { - let text = NetUtil.readInputStreamToString(iStream, iStream.available()); - - let conv = Instances.suc; - conv.charset = charset; - - text = conv.ConvertToUnicode(text); - - resolve({ - data: text, - charset: charset - }); - } - }); - } - - return promise; -} -exports.get = get; - -function set({ data, charset }) { - charset = charset || 'UTF-8'; - data = data || ''; - const { promise, resolve, reject } = defer(); - const file = getStorageFile(); - - if (data == '') { - if (file.exists()) { - file.remove(false); - } - - resolve({ - data: '', - charset: charset - }); - } - else { - const converter = Instances.suc; - converter.charset = "UTF-8"; - - if (isSaving()) { - throw Error('Storage is currently in the process of saving..'); - } - saving = true; - - let iStream = converter.convertToInputStream(data); - let oStream = FileUtils.openSafeFileOutputStream(file); - - NetUtil.asyncCopy( - iStream, - oStream, - function(aResult) { - FileUtils.closeSafeFileOutputStream(oStream); - saving = false; - - if (!components.isSuccessCode(aResult)) { - reject(); - } - else { - resolve({ - data: data, - charset: charset - }); - } - } - ); - } - - return promise; -} -exports.set = set; - -function isSaving() { - return saving; -} -exports.isSaving = isSaving; |