Skip to content

Commit

Permalink
feat(src/.): refator to include "now" naming convention
Browse files Browse the repository at this point in the history
Functions that end with “now” return a transaction or operation that needs to be awaited. This naming convention will hopefully make the library easier to use.
vespertilian committed Feb 16, 2018
1 parent 64cc3fc commit c6a1f8d
Showing 25 changed files with 377 additions and 48 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#### DGraph JS Extras

A library of helper functions to accompany the dgraph-js library.

Functions with the postfix "now" indicate they are transactions or operations and can be awaited.

Other operations like JS set return a mutation that needs to be used in conjunction with a transaction.
6 changes: 6 additions & 0 deletions lib/get-schema-map-now/get-schema-map-now.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import * as dgraph from 'dgraph-js';
import { SchemaNode } from 'dgraph-js';
export interface ISchemaMap {
[predicate: string]: SchemaNode;
}
export declare function XGetSchemaMapNow(dgraphClient: dgraph.DgraphClient): Promise<ISchemaMap>;
62 changes: 62 additions & 0 deletions lib/get-schema-map-now/get-schema-map-now.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [0, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
function XGetSchemaMapNow(dgraphClient) {
return __awaiter(this, void 0, void 0, function () {
var query, res, schemaNodes, schemaMap;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
query = "\n schema {\n type\n index\n reverse\n tokenizer\n }\n ";
return [4 /*yield*/, dgraphClient.newTxn().query(query)];
case 1:
res = _a.sent();
schemaNodes = res.getSchemaList();
schemaMap = schemaNodes.reduce(function (accumulator, schemaNode) {
var predicate = schemaNode.getPredicate();
// only return predicates we created
if (predicate !== '_predicate_') {
accumulator[predicate] = schemaNode;
}
return accumulator;
}, {});
return [2 /*return*/, schemaMap];
}
});
});
}
exports.XGetSchemaMapNow = XGetSchemaMapNow;
8 changes: 4 additions & 4 deletions lib/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export * from './create-client/create-dgraph-client';
export * from './find-or-create/find-or-create';
export * from './get-schema/get-schema';
export * from './upsert-now/upsert-now';
export * from './get-schema-map-now/get-schema-map-now';
export * from './js-set/js-set';
export * from './set-schema/set-schema';
export * from './trx-set-now/trx-set-now';
export * from './set-schema-now/set-schema-now';
export * from './js-set-now/js-set-now';
8 changes: 4 additions & 4 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -4,8 +4,8 @@ function __export(m) {
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./create-client/create-dgraph-client"));
__export(require("./find-or-create/find-or-create"));
__export(require("./get-schema/get-schema"));
__export(require("./upsert-now/upsert-now"));
__export(require("./get-schema-map-now/get-schema-map-now"));
__export(require("./js-set/js-set"));
__export(require("./set-schema/set-schema"));
__export(require("./trx-set-now/trx-set-now"));
__export(require("./set-schema-now/set-schema-now"));
__export(require("./js-set-now/js-set-now"));
3 changes: 3 additions & 0 deletions lib/js-set-now/js-set-now.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import * as dgraph from 'dgraph-js';
import * as messages from "dgraph-js/generated/api_pb";
export declare function XTrxSetJSNow(object: object, dgraphClient: dgraph.DgraphClient, _dgraph?: typeof dgraph): Promise<messages.Assigned>;
48 changes: 48 additions & 0 deletions lib/js-set-now/js-set-now.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [0, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
var dgraph = require("dgraph-js");
var js_set_1 = require("../js-set/js-set");
function XTrxSetJSNow(object, dgraphClient, _dgraph) {
if (_dgraph === void 0) { _dgraph = dgraph; }
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, dgraphClient.newTxn().mutate(js_set_1.XSetJSCommitNow(object))];
});
});
}
exports.XTrxSetJSNow = XTrxSetJSNow;
2 changes: 1 addition & 1 deletion lib/js-set/js-set.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as dgraph from 'dgraph-js';
import { Mutation } from 'dgraph-js';
export declare function XSetJs(object: object, _dgraph?: typeof dgraph): Mutation;
export declare function XSetJSNow(object: object, _dgraph?: typeof dgraph): Mutation;
export declare function XSetJSCommitNow(object: object, _dgraph?: typeof dgraph): Mutation;
4 changes: 2 additions & 2 deletions lib/js-set/js-set.js
Original file line number Diff line number Diff line change
@@ -8,10 +8,10 @@ function XSetJs(object, _dgraph) {
return mu;
}
exports.XSetJs = XSetJs;
function XSetJSNow(object, _dgraph) {
function XSetJSCommitNow(object, _dgraph) {
if (_dgraph === void 0) { _dgraph = dgraph; }
var mu = XSetJs(object, _dgraph);
mu.setCommitNow(true);
return mu;
}
exports.XSetJSNow = XSetJSNow;
exports.XSetJSCommitNow = XSetJSCommitNow;
2 changes: 2 additions & 0 deletions lib/set-schema-now/set-schema-now.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import * as dgraph from 'dgraph-js';
export declare function XSetSchemaNow(schema: string, dgraphClient: dgraph.DgraphClient, _dgraph?: typeof dgraph): Promise<dgraph.Payload>;
50 changes: 50 additions & 0 deletions lib/set-schema-now/set-schema-now.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [0, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
var dgraph = require("dgraph-js");
function XSetSchemaNow(schema, dgraphClient, _dgraph) {
if (_dgraph === void 0) { _dgraph = dgraph; }
return __awaiter(this, void 0, void 0, function () {
var op;
return __generator(this, function (_a) {
op = new _dgraph.Operation();
op.setSchema(schema);
return [2 /*return*/, dgraphClient.alter(op)];
});
});
}
exports.XSetSchemaNow = XSetSchemaNow;
2 changes: 2 additions & 0 deletions lib/upsert-now/upsert-now.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import * as dgraph from 'dgraph-js';
export declare function XUpsertNow(keyPredicate: string, data: object, dgraphClient: dgraph.DgraphClient, _dgraph?: typeof dgraph): Promise<void>;
Loading

0 comments on commit c6a1f8d

Please sign in to comment.