Added wallet_* calls to lbry.js with some refactoring

This commit is contained in:
Akinwale Ariwodola 2018-05-02 01:09:00 +01:00
parent 3d06d1474e
commit b5e777ef91
2 changed files with 78 additions and 63 deletions

84
dist/bundle.js vendored
View file

@ -1808,36 +1808,59 @@ function apiCall(method /*: string*/, params /*: ?{}*/, resolve /*: Function*/,
}).catch(reject); }).catch(reject);
} }
var daemonCallWithResult = function daemonCallWithResult(name) {
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new Promise(function (resolve, reject) {
apiCall(name, params, function (result) {
resolve(result);
}, reject);
});
};
// core // core
Lbry.status = function () { Lbry.status = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return new Promise(function (resolve, reject) { return daemonCallWithResult('status', params);
apiCall('status', params, function (status) {
resolve(status);
}, reject);
});
}; };
Lbry.version = function () { Lbry.version = function () {
return new Promise(function (resolve, reject) { return daemonCallWithResult('version', {});
apiCall('version', {}, function (versionInfo) {
resolve(versionInfo);
}, reject);
});
}; };
Lbry.file_delete = function () { Lbry.file_delete = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return new Promise(function (resolve, reject) { return daemonCallWithResult('file_delete', params);
apiCall('file_delete', params, resolve, reject);
});
}; };
Lbry.file_set_status = function () { Lbry.file_set_status = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return new Promise(function (resolve, reject) { return daemonCallWithResult('file_set_status', params);
apiCall('file_set_status', params, resolve, reject); };
});
// wallet
Lbry.wallet_balance = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return daemonCallWithResult('wallet_balance', params);
};
Lbry.wallet_is_address_mine = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return daemonCallWithResult('wallet_is_address_mine', params);
};
Lbry.wallet_new_address = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return daemonCallWithResult('wallet_new_address', params);
};
Lbry.wallet_send = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return daemonCallWithResult('wallet_send', params);
};
Lbry.wallet_encrypt = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return daemonCallWithResult('wallet_encrypt', params);
};
Lbry.wallet_decrypt = function () {
return daemonCallWithResult('wallet_decrypt', {});
};
Lbry.wallet_unlock = function () {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return daemonCallWithResult('wallet_unlock', params);
}; };
Lbry.connectPromise = null; Lbry.connectPromise = null;
@ -1869,20 +1892,15 @@ Lbry.getMediaType = function (contentType, fileName) {
return (/^[^/]+/.exec(contentType)[0] return (/^[^/]+/.exec(contentType)[0]
); );
} else if (fileName) { } else if (fileName) {
var dotIndex = fileName.lastIndexOf('.'); var formats = [[/^.+\.(mp4|m4v|webm|flv|f4v|ogv)$/i, 'video'], [/^.+\.(mp3|m4a|aac|wav|flac|ogg|opus)$/i, 'audio'], [/^.+\.(html|htm|xml|pdf|odf|doc|docx|md|markdown|txt|epub|org)$/i, 'document']];
if (dotIndex === -1) { var res = formats.reduce(function extensionMatch(ret, testpair) {
return 'unknown'; switch (testpair[0].test(ret)) {
} case true:
return testpair[1];
var ext = fileName.substr(dotIndex + 1); default:
if (/^mp4|m4v|webm|flv|f4v|ogv$/i.test(ext)) { return ret;}
return 'video'; }, fileName);
} else if (/^mp3|m4a|aac|wav|flac|ogg|opus$/i.test(ext)) { return res === fileName ? 'unknown' : res;
return 'audio';
} else if (/^html|htm|xml|pdf|odf|doc|docx|md|markdown|txt|epub|org$/i.test(ext)) {
return 'document';
}
return 'unknown';
} }
return 'unknown'; return 'unknown';
}; };

View file

@ -49,40 +49,33 @@ function apiCall(method: string, params: ?{}, resolve: Function, reject: Functio
.catch(reject); .catch(reject);
} }
// core const daemonCallWithResult = (name, params = {}) =>
Lbry.status = (params = {}) =>
new Promise((resolve, reject) => { new Promise((resolve, reject) => {
apiCall( apiCall(
'status', name,
params, params,
status => { result => {
resolve(status); resolve(result);
}, },
reject reject
); );
}); });
Lbry.version = () => // core
new Promise((resolve, reject) => { Lbry.status = (params = {}) => daemonCallWithResult('status', params);
apiCall( Lbry.version = () => daemonCallWithResult('version', {});
'version', Lbry.file_delete = (params = {}) => daemonCallWithResult('file_delete', params);
{}, Lbry.file_set_status = (params = {}) => daemonCallWithResult('file_set_status', params);
versionInfo => {
resolve(versionInfo);
},
reject
);
});
Lbry.file_delete = (params = {}) => // wallet
new Promise((resolve, reject) => { Lbry.wallet_balance = (params = {}) => daemonCallWithResult('wallet_balance', params);
apiCall('file_delete', params, resolve, reject); Lbry.wallet_is_address_mine = (params = {}) =>
}); daemonCallWithResult('wallet_is_address_mine', params);
Lbry.wallet_new_address = (params = {}) => daemonCallWithResult('wallet_new_address', params);
Lbry.file_set_status = (params = {}) => Lbry.wallet_send = (params = {}) => daemonCallWithResult('wallet_send', params);
new Promise((resolve, reject) => { Lbry.wallet_encrypt = (params = {}) => daemonCallWithResult('wallet_encrypt', params);
apiCall('file_set_status', params, resolve, reject); Lbry.wallet_decrypt = () => daemonCallWithResult('wallet_decrypt', {});
}); Lbry.wallet_unlock = (params = {}) => daemonCallWithResult('wallet_unlock', params);
Lbry.connectPromise = null; Lbry.connectPromise = null;
Lbry.connect = () => { Lbry.connect = () => {
@ -117,12 +110,16 @@ Lbry.getMediaType = (contentType, fileName) => {
const formats = [ const formats = [
[/^.+\.(mp4|m4v|webm|flv|f4v|ogv)$/i, 'video'], [/^.+\.(mp4|m4v|webm|flv|f4v|ogv)$/i, 'video'],
[/^.+\.(mp3|m4a|aac|wav|flac|ogg|opus)$/i, 'audio'], [/^.+\.(mp3|m4a|aac|wav|flac|ogg|opus)$/i, 'audio'],
[/^.+\.(html|htm|xml|pdf|odf|doc|docx|md|markdown|txt|epub|org)$/i, 'document']]; [/^.+\.(html|htm|xml|pdf|odf|doc|docx|md|markdown|txt|epub|org)$/i, 'document'],
const res = formats.reduce(function extensionMatch(ret, testpair) { ];
const res = formats.reduce((ret, testpair) => {
switch (testpair[0].test(ret)) { switch (testpair[0].test(ret)) {
case true: return testpair[1]; case true:
default: return ret; } return testpair[1];
}, fileName); default:
return ret;
}
}, fileName);
return res === fileName ? 'unknown' : res; return res === fileName ? 'unknown' : res;
} }
return 'unknown'; return 'unknown';