Skip to content
Permalink
Browse files Browse the repository at this point in the history
Removed useless methods.
  • Loading branch information
petersirka committed Jun 4, 2021
1 parent 9163b92 commit 8a72d8c
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 144 deletions.
4 changes: 4 additions & 0 deletions changelog.txt
Expand Up @@ -3,6 +3,10 @@
========================

- improved `flowinstance.newmessage(data)` method
- removed method `U.set()`
- removed method `U.get()`
- removed method `U.sync()` and `global.sync()`
- removed method `U.sync2()` and `global.sync2()`

========================
0.0.42
Expand Down
144 changes: 0 additions & 144 deletions utils.js
Expand Up @@ -5203,64 +5203,6 @@ FLP.next = function() {
self.onComplete(self.file, self.directory);
};

exports.sync = function(fn, owner) {
return function() {

var args = [].slice.call(arguments);
var params;
var callback;
var executed = false;
var self = owner || this;

args.push(function() {
params = arguments;
if (!executed && callback) {
executed = true;
callback.apply(self, params);
}
});

fn.apply(self, args);

return function(cb) {
callback = cb;
if (!executed && params) {
executed = true;
callback.apply(self, params);
}
};
};
};

exports.sync2 = function(fn, owner) {
return (function() {

var params;
var callback;
var executed = false;
var self = owner || this;
var args = [].slice.call(arguments);

args.push(function() {
params = arguments;
if (!executed && callback) {
executed = true;
callback.apply(self, params);
}
});

fn.apply(self, args);

return function(cb) {
callback = cb;
if (!executed && params) {
executed = true;
callback.apply(self, params);
}
};
})();
};

exports.async = function(fn, isApply) {
var context = this;
return function(complete) {
Expand Down Expand Up @@ -5475,92 +5417,6 @@ exports.parseTheme = function(value) {
return value === '?' ? CONF.default_theme : value;
};

exports.set = function(obj, path, value) {
var cachekey = 'S+' + path;

if (F.temporary.other[cachekey])
return F.temporary.other[cachekey](obj, value);

var arr = parsepath(path);
var builder = [];

for (var i = 0; i < arr.length - 1; i++) {
var type = arr[i + 1] ? (REGISARR.test(arr[i + 1]) ? '[]' : '{}') : '{}';
var p = 'w' + (arr[i][0] === '[' ? '' : '.') + arr[i];
builder.push('if(typeof(' + p + ')!==\'object\'||' + p + '==null)' + p + '=' + type + ';');
}

var v = arr[arr.length - 1];
var ispush = v.lastIndexOf('[]') !== -1;
var a = builder.join(';') + ';var v=typeof(a)===\'function\'?a(U.get(b)):a;w' + (v[0] === '[' ? '' : '.') + (ispush ? v.replace(REGREPLACEARR, '.push(v)') : (v + '=v')) + ';return v';

if ((/__proto__|constructor|prototype|eval/).test(a))
throw new Error('Potential vulnerability');

var fn = new Function('w', 'a', 'b', a);
F.temporary.other[cachekey] = fn;
fn(obj, value, path);
};

exports.get = function(obj, path) {

var cachekey = 'G=' + path;

if (F.temporary.other[cachekey])
return F.temporary.other[cachekey](obj);

var arr = parsepath(path);
var builder = [];

for (var i = 0, length = arr.length - 1; i < length; i++)
builder.push('if(!w' + (!arr[i] || arr[i][0] === '[' ? '' : '.') + arr[i] + ')return');

var v = arr[arr.length - 1];
var fn = (new Function('w', builder.join(';') + ';return w' + (v[0] === '[' ? '' : '.') + v));
F.temporary.other[cachekey] = fn;
return fn(obj);
};

function parsepath(path) {

var arr = path.split('.');
var builder = [];
var all = [];

for (var i = 0; i < arr.length; i++) {
var p = arr[i];
var index = p.indexOf('[');
if (index === -1) {
if (p.indexOf('-') === -1) {
all.push(p);
builder.push(all.join('.'));
} else {
var a = all.splice(all.length - 1);
all.push(a + '[\'' + p + '\']');
builder.push(all.join('.'));
}
} else {
if (p.indexOf('-') === -1) {
all.push(p.substring(0, index));
builder.push(all.join('.'));
all.splice(all.length - 1);
all.push(p);
builder.push(all.join('.'));
} else {
all.push('[\'' + p.substring(0, index) + '\']');
builder.push(all.join(''));
all.push(p.substring(index));
builder.push(all.join(''));
}
}
}

return builder;
}

global.sync = exports.sync;
global.sync2 = exports.sync2;

// =============================================
// SHELL SORT IMPLEMENTATION OF ALGORITHM
// =============================================
Expand Down

0 comments on commit 8a72d8c

Please sign in to comment.