summaryrefslogtreecommitdiff
path: root/jsonapi.js
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-05-12 15:18:27 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2017-05-12 15:18:27 +0200
commit11df42bb77a22fa698a910bdb0173a98bbc1ad6a (patch)
tree28e34810822201f7a2b69222e4178c95f7d26475 /jsonapi.js
parent11793ebeedd4d6ed3b5ff3a98b136571e50053e1 (diff)
downloadapigrabber-11df42bb77a22fa698a910bdb0173a98bbc1ad6a.tar.gz
apigrabber-11df42bb77a22fa698a910bdb0173a98bbc1ad6a.zip
move api logic to orm
Diffstat (limited to 'jsonapi.js')
-rw-r--r--jsonapi.js64
1 files changed, 0 insertions, 64 deletions
diff --git a/jsonapi.js b/jsonapi.js
deleted file mode 100644
index fa3b6ef..0000000
--- a/jsonapi.js
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/node
-/* https://github.com/alex94puchades/superagent-jsonapify/blob/master/common.js */
-
-"use strict";
-
-var _isUndefined = require('lodash/isUndefined');
-var _isArray = require('lodash/isArray');
-var _map = require('lodash/map');
-var _partial = require('lodash/partial');
-var _each = require('lodash/each');
-var _camelCase = require('lodash/camelCase');
-var _memoize = require('lodash/memoize');
-var _chain = require('lodash/chain');
-var _find = require('lodash/find');
-var _clone = require('lodash/clone');
-var _compact = require('lodash/compact');
-
-exports.parse = (obj) => {
- let response = obj,
- data = obj.data;
- if (!data) {
- return data;
- } else if (_isArray(data)) {
- return _map(data, _partial(parseResourceDataObject, response));
- } else {
- return parseResourceDataObject(response, data);
- }
-}
-
-function parseResourceDataObject(response, data) {
- var result = _clone(data);
- _each(data.attributes, function(value, name) {
- Object.defineProperty(result, _camelCase(name), { value: value, enumerable: true });
- });
- _each(data.relationships, function(value, name) {
- if (_isArray(value.data)) {
- Object.defineProperty(result, _camelCase(name), {
- get: _memoize(function() {
- const related = _map(value.data, function(related) {
- var resdata = _find(response.included, function(included) {
- return included.id === related.id && included.type === related.type;
- });
- if(resdata)
- return parseResourceDataObject(response, resdata);
- });
- return _compact(related);
- }),
- enumerable: true
- });
- } else if (value.data) {
- Object.defineProperty(result, _camelCase(name), {
- get: _memoize(function() {
- var resdata = _find(response.included, function(included) {
- return included.id === value.data.id && included.type === value.data.type;
- });
- return resdata ? parseResourceDataObject(response, resdata)
- : null;
- }),
- enumerable: true
- });
- }
- });
- return result;
-}