From 80cfd063e20e6779fc03da20cd53e6d05df8a181 Mon Sep 17 00:00:00 2001 From: Mihai Bazon Date: Tue, 17 Mar 2015 10:05:49 +0200 Subject: [PATCH] Export readNameCache / writeNameCache --- bin/uglifyjs | 31 ++----------------------------- tools/node.js | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/bin/uglifyjs b/bin/uglifyjs index f2f8f0d9..e1deaf5e 100755 --- a/bin/uglifyjs +++ b/bin/uglifyjs @@ -171,38 +171,11 @@ if (ARGS.reserved_file) (function(){ })(); function readNameCache(key) { - var cache = null; - if (ARGS.name_cache) { - try { - var cache = fs.readFileSync(ARGS.name_cache, "utf8"); - cache = JSON.parse(cache)[key]; - if (!cache) throw "init"; - cache.props = UglifyJS.Dictionary.fromObject(cache.props); - } catch(ex) { - cache = { - cname: -1, - props: new UglifyJS.Dictionary() - }; - } - } - return cache; + return UglifyJS.readNameCache(ARGS.name_cache, key); } function writeNameCache(key, cache) { - if (ARGS.name_cache) { - var data; - try { - data = fs.readFileSync(ARGS.name_cache, "utf8"); - data = JSON.parse(data); - } catch(ex) { - data = {}; - } - data[key] = { - cname: cache.cname, - props: cache.props.toObject() - }; - fs.writeFileSync(ARGS.name_cache, JSON.stringify(data, null, 2), "utf8"); - } + return UglifyJS.writeNameCache(ARGS.name_cache, key, cache); } if (ARGS.quotes === true) { diff --git a/tools/node.js b/tools/node.js index af540e0c..a8e734d9 100644 --- a/tools/node.js +++ b/tools/node.js @@ -193,3 +193,38 @@ exports.describe_ast = function() { doitem(UglifyJS.AST_Node); return out + ""; }; + +exports.readNameCache = function(filename, key) { + var cache = null; + if (filename) { + try { + var cache = fs.readFileSync(filename, "utf8"); + cache = JSON.parse(cache)[key]; + if (!cache) throw "init"; + cache.props = UglifyJS.Dictionary.fromObject(cache.props); + } catch(ex) { + cache = { + cname: -1, + props: new UglifyJS.Dictionary() + }; + } + } + return cache; +}; + +exports.writeNameCache = function(filename, key, cache) { + if (filename) { + var data; + try { + data = fs.readFileSync(filename, "utf8"); + data = JSON.parse(data); + } catch(ex) { + data = {}; + } + data[key] = { + cname: cache.cname, + props: cache.props.toObject() + }; + fs.writeFileSync(filename, JSON.stringify(data, null, 2), "utf8"); + } +}; -- 2.34.1