
rx-parse
Easy to use parse with RxJS. A Parse utilities library and cli.
Before:
var query = new Parse.Query("User");
all(query).then(function(users) {
for (var i = 0; i < users.length && i < 128; i++) {
console.log(users[i].get('email'));
}
});
function all(query) { // It's sync/blocking until collected all objects
var promise = new Parse.Promise();
query.descending('createdAt');
var list = [];
var _all = function (_query) {
_query.find().then(function (_list) {
list = list.concat(_list);
if (_list.length < 100) {
promise.resolve(list);
return;
}
_query.lessThanOrEqualTo('createdAt', _list[_list.length - 1].createdAt);
_all(_query);
}, function (e) {
promise.reject(e);
});
};
_all(query);
return promise;
}
Better but still blocking:
var query = new Parse.Query("User");
all(query, 128).then(function(users) {
for (var i = 0; i < users.length; i++) {
console.log(users[i].get('email'));
}
});
function all(query, limit) { // It's sync/blocking until collected due to limit
var promise = new Parse.Promise();
query.descending('createdAt');
var list = [];
var _all = function (_query) {
_query.find().then(function (_list) {
list = list.concat(_list);
if (_list.length < 100 || list.length >= limit) {
promise.resolve(list);
return;
}
_query.lessThanOrEqualTo('createdAt', _list[_list.length - 1].createdAt);
_all(_query);
}, function (e) {
promise.reject(e);
});
};
_all(query);
return promise;
}
After:
var Parses = require('parses');
var query = new Parse.Query("User");
Parses.all(query).take(128).subscribe(function(user) { // async
console.log(user.get('email'));
});
$ npm install parses
$ ./node_modules/.bin/parse-emails --appId fff --jsKey fff --masterKey fff
docker run -it yongjhih/parses parse-emails --appId fff --jsKey fff --masterKey fff
~/.parse/config.json:
{
"dev": {
"appId": "ffffffffffffffffffffffffffffffffffffffff",
"jsKey": "ffffffffffffffffffffffffffffffffffffffff",
"masterKey": "ffffffffffffffffffffffffffffffffffffffff"
},
"production": {
"appId": "ffffffffffffffffffffffffffffffffffffffff",
"jsKey": "ffffffffffffffffffffffffffffffffffffffff",
"masterKey": "ffffffffffffffffffffffffffffffffffffffff"
}
}
$ npm install parses
$ ./node_modules/.bin/parse-emails --production # default 'dev'
$ npm install parses
Copyright (C) 2016 8tory, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Content type
Image
Digest
Size
247.4 MB
Last updated
almost 10 years ago
docker pull yongjhih/parses