Public | Automated Build

Last pushed: a year ago
Short Description
parses
Full Description

Parses






rx-parse

Easy to use parse with RxJS. A Parse utilities library and cli.

  • Get all emails with paging for example:

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'));
});

Usage

  • A parse-emails command line:
$ npm install parses
$ ./node_modules/.bin/parse-emails --appId fff --jsKey fff --masterKey fff
  • A parse-emails docker command line:
docker run -it yongjhih/parses parse-emails --appId fff --jsKey fff --masterKey fff

Persistent Configuration

~/.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'

Installation

$ npm install parses

Reference

LICENSE

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.
Docker Pull Command
Owner
yongjhih
Source Repository