Socket
Socket
Sign inDemoInstall

ts-japi

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-japi - npm Package Compare versions

Comparing version 1.2.3 to 1.2.4

6

CHANGELOG.md

@@ -8,2 +8,8 @@ # Changelog

## [1.2.4] - 2020-06-19
### Changed
* Smaller packaging
## [1.2.3] - 2020-06-06

@@ -10,0 +16,0 @@

2

lib/classes/serializer.d.ts

@@ -41,3 +41,3 @@ import { DataDocument } from "../interfaces/json:api.interface";

*/
options: SerializerOptions<PrimaryType>;
private options;
/**

@@ -44,0 +44,0 @@ * The set of helper functions for the serializer

@@ -191,6 +191,6 @@ "use strict";

return __awaiter(this, void 0, void 0, function () {
var o, h, cache, storedDocument, document, relator_1, relatedData, links, meta, createIdentifier, keys_1, relators, createResource, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, pagination, createIdentifier, keys_2, relators, createResource, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
var o, h, cache, storedDocument, document, keys, wasSingle, dto, createIdentifier, createResource, relators, relator_1, relatedData, links, meta, pagination, _a, _b, _c, _d, _e;
var _this = this;
return __generator(this, function (_w) {
switch (_w.label) {
return __generator(this, function (_f) {
switch (_f.label) {
case 0:

@@ -218,3 +218,5 @@ o = this.options;

}
if (!o.onlyRelationship) return [3 /*break*/, 15];
keys = [];
wasSingle = false;
if (!o.onlyRelationship) return [3 /*break*/, 2];
// Validate options.

@@ -233,3 +235,3 @@ if (h.relators === undefined) {

case 1:
relatedData = _w.sent();
relatedData = _f.sent();
links = relator_1.getRelatedLinks(data, relatedData);

@@ -241,19 +243,3 @@ if (links)

document.meta = meta;
if (relatedData === undefined) {
return [2 /*return*/, cache.set(data, document, options)];
}
if (o.nullData || relatedData === null) {
document.data = null;
return [2 /*return*/, cache.set(data, document, options)];
}
createIdentifier = function (datum) { return relator_1.getRelatedIdentifier(datum); };
// Handle `onlyIdentifier` option
if (o.onlyIdentifier) {
document.data = Array.isArray(relatedData)
? relatedData.map(createIdentifier)
: createIdentifier(relatedData);
return [2 /*return*/, cache.set(data, document, options)];
}
keys_1 = [];
relators = relator_1.getRelatedRelators();
createResource = function (datum) { return __awaiter(_this, void 0, void 0, function () {

@@ -266,3 +252,3 @@ var resource;

resource = _a.sent();
keys_1.push(resource.getKey());
keys.push(resource.getKey());
return [2 /*return*/, resource];

@@ -272,49 +258,6 @@ }

}); };
if (!Array.isArray(relatedData)) return [3 /*break*/, 8];
if (!o.asIncluded) return [3 /*break*/, 3];
document.data = relatedData.map(createIdentifier);
_a = document;
return [4 /*yield*/, Promise.all(relatedData.map(createResource))];
relators = relator_1.getRelatedRelators();
dto = relatedData;
return [3 /*break*/, 3];
case 2:
_a.included = _w.sent();
return [3 /*break*/, 5];
case 3:
_b = document;
return [4 /*yield*/, Promise.all(relatedData.map(createResource))];
case 4:
_b.data = _w.sent();
_w.label = 5;
case 5:
if (!(relators && o.depth > 0)) return [3 /*break*/, 7];
_c = document;
_e = (_d = (document.included || [])).concat;
return [4 /*yield*/, serializer_utils_1.recurseRelators(relatedData, relators, o.depth, keys_1)];
case 6:
_c.included = _e.apply(_d, [_w.sent()]);
_w.label = 7;
case 7: return [3 /*break*/, 14];
case 8:
if (!o.asIncluded) return [3 /*break*/, 10];
document.data = createIdentifier(relatedData);
_f = document;
return [4 /*yield*/, createResource(relatedData)];
case 9:
_f.included = [_w.sent()];
return [3 /*break*/, 12];
case 10:
_g = document;
return [4 /*yield*/, createResource(relatedData)];
case 11:
_g.data = _w.sent();
_w.label = 12;
case 12:
if (!(relators && o.depth > 0)) return [3 /*break*/, 14];
_h = document;
_k = (_j = (document.included || [])).concat;
return [4 /*yield*/, serializer_utils_1.recurseRelators([relatedData], relators, o.depth, keys_1)];
case 13:
_h.included = _k.apply(_j, [_w.sent()]);
_w.label = 14;
case 14: return [2 /*return*/, cache.set(data, document, options)];
case 15:
// Handle meta

@@ -328,10 +271,3 @@ if (o.metaizers.document) {

}
if (data === undefined) {
return [2 /*return*/, cache.set(data, document, options)];
}
if (o.nullData || data === null) {
document.data = null;
return [2 /*return*/, cache.set(data, document, options)];
}
// Data-based document links
// Handle pagination links
if (o.linkers.paginator) {

@@ -344,9 +280,2 @@ pagination = o.linkers.paginator.paginate(data);

createIdentifier = function (datum) { return _this.createIdentifier(datum, o); };
// Handle `onlyIdentifier` option
if (o.onlyIdentifier) {
document.data = Array.isArray(data) ? data.map(createIdentifier) : createIdentifier(data);
return [2 /*return*/, cache.set(data, document, options)];
}
keys_2 = [];
relators = h.relators;
createResource = function (datum) { return __awaiter(_this, void 0, void 0, function () {

@@ -359,3 +288,3 @@ var resource;

resource = _a.sent();
keys_2.push(resource.getKey());
keys.push(resource.getKey());
return [2 /*return*/, resource];

@@ -365,48 +294,48 @@ }

}); };
if (!Array.isArray(data)) return [3 /*break*/, 22];
if (!o.asIncluded) return [3 /*break*/, 17];
document.data = data.map(createIdentifier);
_l = document;
return [4 /*yield*/, Promise.all(data.map(createResource))];
case 16:
_l.included = _w.sent();
return [3 /*break*/, 19];
case 17:
_m = document;
return [4 /*yield*/, Promise.all(data.map(createResource))];
case 18:
_m.data = _w.sent();
_w.label = 19;
case 19:
if (!(relators && o.depth > 0)) return [3 /*break*/, 21];
_o = document;
_q = (_p = (document.included || [])).concat;
return [4 /*yield*/, serializer_utils_1.recurseRelators(data, relators, o.depth, keys_2)];
case 20:
_o.included = _q.apply(_p, [_w.sent()]);
_w.label = 21;
case 21: return [3 /*break*/, 28];
case 22:
if (!o.asIncluded) return [3 /*break*/, 24];
document.data = createIdentifier(data);
_r = document;
return [4 /*yield*/, createResource(data)];
case 23:
_r.included = [_w.sent()];
return [3 /*break*/, 26];
case 24:
_s = document;
return [4 /*yield*/, createResource(data)];
case 25:
_s.data = _w.sent();
_w.label = 26;
case 26:
if (!(relators && o.depth > 0)) return [3 /*break*/, 28];
_t = document;
_v = (_u = (document.included || [])).concat;
return [4 /*yield*/, serializer_utils_1.recurseRelators([data], relators, o.depth, keys_2)];
case 27:
_t.included = _v.apply(_u, [_w.sent()]);
_w.label = 28;
case 28: return [2 /*return*/, cache.set(data, document, options)];
relators = h.relators;
dto = data;
_f.label = 3;
case 3:
if (dto === undefined) {
return [2 /*return*/, cache.set(data, document, options)];
}
if (o.nullData || dto === null) {
document.data = null;
return [2 /*return*/, cache.set(data, document, options)];
}
// Handle `onlyIdentifier` option
if (o.onlyIdentifier) {
document.data = Array.isArray(dto) ? dto.map(createIdentifier) : createIdentifier(dto);
return [2 /*return*/, cache.set(data, document, options)];
}
if (!Array.isArray(dto)) {
wasSingle = true;
dto = [dto];
}
if (!o.asIncluded) return [3 /*break*/, 5];
document.data = dto.map(createIdentifier);
_a = document;
return [4 /*yield*/, Promise.all(dto.map(createResource))];
case 4:
_a.included = _f.sent();
return [3 /*break*/, 7];
case 5:
_b = document;
return [4 /*yield*/, Promise.all(dto.map(createResource))];
case 6:
_b.data = _f.sent();
_f.label = 7;
case 7:
if (!(relators && o.depth > 0)) return [3 /*break*/, 9];
_c = document;
_e = (_d = (document.included || [])).concat;
return [4 /*yield*/, serializer_utils_1.recurseRelators(dto, relators, o.depth, keys)];
case 8:
_c.included = _e.apply(_d, [_f.sent()]);
_f.label = 9;
case 9:
if (wasSingle) {
document.data = document.data[0];
}
return [2 /*return*/, cache.set(data, document, options)];
}

@@ -413,0 +342,0 @@ });

@@ -96,9 +96,7 @@ import Linker from "../classes/linker";

*
* *Note*: You can add more relators by editing the `options` of the serializer directly. For example,
* ```typescript
* someserializer.options.relators = ...
* ```
* This is useful in case you have a cycle of relators among serializers.
* *Note*: You can add more relators by using {@linkcode Serializer.setRelators}. This is useful in
* case you have a cycle of relators among serializers.
*
* See [relationships objects](https://jsonapi.org/format/#document-resource-object-relationships) for more information.
* See [relationships objects](https://jsonapi.org/format/#document-resource-object-relationships)
* for more information.
*/

@@ -105,0 +103,0 @@ relators?: Relator<PrimaryType> | Array<Relator<PrimaryType>> | Record<string, Relator<PrimaryType>>;

{
"name": "ts-japi",
"version": "1.2.3",
"version": "1.2.4",
"description": "A highly-modular (typescript-friendly)-framework agnostic library for serializing data to the JSON:API specification",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -321,3 +321,3 @@ <br />

Feel free to submit an issue, but please do not submit pull requests unless it is to fix some issue.
For more information, read the [contribution guide](https://github.com/jun-sheaf/ts-japi/blob/master/CONTRIBUTING.html).
For more information, read the [contribution guide](https://github.com/jun-sheaf/ts-japi/blob/master/CONTRIBUTING.md).

@@ -324,0 +324,0 @@ ## License

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc