ts-japi 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/.commitlintrc.ts +3 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +5 -6
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +4 -5
  4. package/.github/ISSUE_TEMPLATE/request-for-comments.md +29 -42
  5. package/.github/release-please.yml +4 -0
  6. package/.github/workflows/ci.yaml +73 -0
  7. package/.github/workflows/publish.yaml +29 -0
  8. package/.husky/pre-commit +4 -0
  9. package/.husky/pre-push +4 -0
  10. package/.prettierignore +2 -0
  11. package/.release-please-manifest.json +3 -0
  12. package/CHANGELOG.md +14 -1
  13. package/Makefile +1 -27
  14. package/README.md +145 -75
  15. package/api-extractor.json +14 -0
  16. package/lib/classes/cache.d.ts +2 -2
  17. package/lib/classes/cache.js +26 -48
  18. package/lib/classes/cache.js.map +1 -1
  19. package/lib/classes/error-serializer.d.ts +6 -6
  20. package/lib/classes/error-serializer.js +58 -125
  21. package/lib/classes/error-serializer.js.map +1 -1
  22. package/lib/classes/linker.d.ts +5 -5
  23. package/lib/classes/linker.d.ts.map +1 -1
  24. package/lib/classes/linker.js +15 -41
  25. package/lib/classes/linker.js.map +1 -1
  26. package/lib/classes/metaizer.d.ts +4 -4
  27. package/lib/classes/metaizer.d.ts.map +1 -1
  28. package/lib/classes/metaizer.js +12 -38
  29. package/lib/classes/metaizer.js.map +1 -1
  30. package/lib/classes/paginator.d.ts +3 -3
  31. package/lib/classes/paginator.js +17 -16
  32. package/lib/classes/paginator.js.map +1 -1
  33. package/lib/classes/relator.d.ts +7 -7
  34. package/lib/classes/relator.d.ts.map +1 -1
  35. package/lib/classes/relator.js +75 -135
  36. package/lib/classes/relator.js.map +1 -1
  37. package/lib/classes/serializer.d.ts +9 -9
  38. package/lib/classes/serializer.d.ts.map +1 -1
  39. package/lib/classes/serializer.js +216 -316
  40. package/lib/classes/serializer.js.map +1 -1
  41. package/lib/index.js +17 -10
  42. package/lib/index.js.map +1 -1
  43. package/lib/interfaces/cache.interface.d.ts +2 -2
  44. package/lib/interfaces/cache.interface.js +1 -1
  45. package/lib/interfaces/error-serializer.interface.d.ts +11 -11
  46. package/lib/interfaces/error-serializer.interface.js +1 -1
  47. package/lib/interfaces/error.interface.js +1 -1
  48. package/lib/interfaces/json-api.interface.js +1 -1
  49. package/lib/interfaces/linker.interface.d.ts +1 -1
  50. package/lib/interfaces/linker.interface.js +1 -1
  51. package/lib/interfaces/paginator.interface.js +1 -1
  52. package/lib/interfaces/relator.interface.d.ts +5 -4
  53. package/lib/interfaces/relator.interface.d.ts.map +1 -1
  54. package/lib/interfaces/relator.interface.js +1 -1
  55. package/lib/interfaces/serializer.interface.d.ts +24 -24
  56. package/lib/interfaces/serializer.interface.js +1 -1
  57. package/lib/models/error.model.d.ts +1 -1
  58. package/lib/models/error.model.d.ts.map +1 -1
  59. package/lib/models/error.model.js +67 -22
  60. package/lib/models/error.model.js.map +1 -1
  61. package/lib/models/link.model.js +11 -10
  62. package/lib/models/link.model.js.map +1 -1
  63. package/lib/models/meta.model.js +5 -6
  64. package/lib/models/meta.model.js.map +1 -1
  65. package/lib/models/relationship.model.js +8 -6
  66. package/lib/models/relationship.model.js.map +1 -1
  67. package/lib/models/resource-identifier.model.js +11 -9
  68. package/lib/models/resource-identifier.model.js.map +1 -1
  69. package/lib/models/resource.model.js +13 -28
  70. package/lib/models/resource.model.js.map +1 -1
  71. package/lib/types/global.types.js +1 -1
  72. package/lib/utils/is-error-document.d.ts +1 -1
  73. package/lib/utils/is-error-document.js +6 -8
  74. package/lib/utils/is-error-document.js.map +1 -1
  75. package/lib/utils/is-object.js +1 -1
  76. package/lib/utils/is-plain-object.js +4 -4
  77. package/lib/utils/is-plain-object.js.map +1 -1
  78. package/lib/utils/merge.d.ts +2 -2
  79. package/lib/utils/merge.js +16 -63
  80. package/lib/utils/merge.js.map +1 -1
  81. package/lib/utils/serializer.utils.js +56 -202
  82. package/lib/utils/serializer.utils.js.map +1 -1
  83. package/package.json +47 -30
  84. package/release-please-config.json +10 -0
  85. package/tools/generate_docs.ts +33 -0
  86. package/tools/internal/custom_markdown_action.ts +32 -0
  87. package/tools/internal/custom_markdown_documenter.ts +1337 -0
  88. package/tsconfig.json +56 -80
  89. package/.changeset/README.md +0 -8
  90. package/.changeset/config.json +0 -10
  91. package/CONTRIBUTING.md +0 -127
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var ResourceIdentifier = /** @class */ (function () {
4
- function ResourceIdentifier(id, type, options) {
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ResourceIdentifier {
4
+ type;
5
+ id;
6
+ meta;
7
+ constructor(id, type, options) {
5
8
  this.type = type;
6
9
  this.id = id;
7
10
  if (options.meta)
8
11
  this.meta = options.meta;
9
12
  }
10
- ResourceIdentifier.prototype.getKey = function () {
11
- return "[" + this.type + ":" + this.id + "]";
12
- };
13
- return ResourceIdentifier;
14
- }());
15
- exports["default"] = ResourceIdentifier;
13
+ getKey() {
14
+ return `[${this.type}:${this.id}]`;
15
+ }
16
+ }
17
+ exports.default = ResourceIdentifier;
16
18
  //# sourceMappingURL=resource-identifier.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-identifier.model.js","sourceRoot":"","sources":["../../src/models/resource-identifier.model.ts"],"names":[],"mappings":";;AAOA;IAIE,4BAAmB,EAAU,EAAE,IAAY,EAAE,OAAkC;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;IACM,mCAAM,GAAb;QACE,OAAO,MAAI,IAAI,CAAC,IAAI,SAAI,IAAI,CAAC,EAAE,MAAG,CAAC;IACrC,CAAC;IACH,yBAAC;AAAD,CAAC,AAZD,IAYC"}
1
+ {"version":3,"file":"resource-identifier.model.js","sourceRoot":"","sources":["../../src/models/resource-identifier.model.ts"],"names":[],"mappings":";;AAOA,MAAqB,kBAAkB;IAC9B,IAAI,CAAS;IACb,EAAE,CAAS;IACX,IAAI,CAAQ;IACnB,YAAmB,EAAU,EAAE,IAAY,EAAE,OAAkC;QAC7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;IACM,MAAM;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;IACrC,CAAC;CACF;AAZD,qCAYC"}
@@ -1,37 +1,22 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
4
  };
20
- exports.__esModule = true;
21
- var resource_identifier_model_1 = __importDefault(require("./resource-identifier.model"));
22
- var Resource = /** @class */ (function (_super) {
23
- __extends(Resource, _super);
24
- function Resource(id, type, options) {
25
- var _this = _super.call(this, id, type, options) || this;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const resource_identifier_model_1 = __importDefault(require("./resource-identifier.model"));
7
+ class Resource extends resource_identifier_model_1.default {
8
+ attributes;
9
+ links;
10
+ relationships;
11
+ constructor(id, type, options) {
12
+ super(id, type, options);
26
13
  if (options.attributes)
27
- _this.attributes = options.attributes;
14
+ this.attributes = options.attributes;
28
15
  if (options.relationships)
29
- _this.relationships = options.relationships;
16
+ this.relationships = options.relationships;
30
17
  if (options.links)
31
- _this.links = options.links;
32
- return _this;
18
+ this.links = options.links;
33
19
  }
34
- return Resource;
35
- }(resource_identifier_model_1["default"]));
36
- exports["default"] = Resource;
20
+ }
21
+ exports.default = Resource;
37
22
  //# sourceMappingURL=resource.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.model.js","sourceRoot":"","sources":["../../src/models/resource.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,0FAA4F;AAS5F;IAA2D,4BAAkB;IAI3E,kBAAmB,EAAU,EAAE,IAAY,EAAE,OAA2B;QAAxE,YACE,kBAAM,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAIzB;QAHC,IAAI,OAAO,CAAC,UAAU;YAAE,KAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC7D,IAAI,OAAO,CAAC,aAAa;YAAE,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACtE,IAAI,OAAO,CAAC,KAAK;YAAE,KAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;IAChD,CAAC;IACH,eAAC;AAAD,CAAC,AAVD,CAA2D,sCAAkB,GAU5E"}
1
+ {"version":3,"file":"resource.model.js","sourceRoot":"","sources":["../../src/models/resource.model.ts"],"names":[],"mappings":";;;;;AAGA,4FAA4F;AAS5F,MAAqB,QAA8B,SAAQ,mCAAkB;IACpE,UAAU,CAAc;IACxB,KAAK,CAA8B;IACnC,aAAa,CAAgC;IACpD,YAAmB,EAAU,EAAE,IAAY,EAAE,OAA2B;QACtE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,OAAO,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC7D,IAAI,OAAO,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QACtE,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAChD,CAAC;CACF;AAVD,2BAUC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=global.types.js.map
@@ -2,7 +2,7 @@ import { ErrorDocument } from '../interfaces/json-api.interface';
2
2
  /**
3
3
  * Detects an `ErrorDocument` like object
4
4
  *
5
- * @param document An unknown object
5
+ * @param document - An unknown object
6
6
  */
7
7
  export declare function isErrorDocument(document: unknown): document is ErrorDocument;
8
8
  //# sourceMappingURL=is-error-document.d.ts.map
@@ -2,22 +2,20 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
- exports.__esModule = true;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isErrorDocument = void 0;
7
- var is_plain_object_1 = require("./is-plain-object");
8
- var error_model_1 = __importDefault(require("../models/error.model"));
7
+ const is_plain_object_1 = require("./is-plain-object");
8
+ const error_model_1 = __importDefault(require("../models/error.model"));
9
9
  /**
10
10
  * Detects an `ErrorDocument` like object
11
11
  *
12
- * @param document An unknown object
12
+ * @param document - An unknown object
13
13
  */
14
14
  function isErrorDocument(document) {
15
- return (is_plain_object_1.isPlainObject(document) &&
15
+ return ((0, is_plain_object_1.isPlainObject)(document) &&
16
16
  Array.isArray(document.errors) &&
17
17
  ('jsonapi' in document ||
18
- document.errors.every(function (error) {
19
- return error instanceof error_model_1["default"] ? true : error_model_1["default"].isLikeJapiError(error);
20
- })));
18
+ document.errors.every((error) => error instanceof error_model_1.default ? true : error_model_1.default.isLikeJapiError(error))));
21
19
  }
22
20
  exports.isErrorDocument = isErrorDocument;
23
21
  //# sourceMappingURL=is-error-document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-error-document.js","sourceRoot":"","sources":["../../src/utils/is-error-document.ts"],"names":[],"mappings":";;;;;;AACA,qDAAkD;AAClD,sEAA8C;AAE9C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,QAAiB;IAC/C,OAAO,CACL,+BAAa,CAAC,QAAQ,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,CAAC,SAAS,IAAI,QAAQ;YACpB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAC,KAAK;gBAC1B,OAAA,KAAK,YAAY,wBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAS,CAAC,eAAe,CAAC,KAAK,CAAC;YAApE,CAAoE,CACrE,CAAC,CACL,CAAC;AACJ,CAAC;AATD,0CASC"}
1
+ {"version":3,"file":"is-error-document.js","sourceRoot":"","sources":["../../src/utils/is-error-document.ts"],"names":[],"mappings":";;;;;;AACA,uDAAkD;AAClD,wEAA8C;AAE9C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,QAAiB;IAC/C,OAAO,CACL,IAAA,+BAAa,EAAC,QAAQ,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,CAAC,SAAS,IAAI,QAAQ;YACpB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9B,KAAK,YAAY,qBAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CACrE,CAAC,CACL,CAAC;AACJ,CAAC;AATD,0CASC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isObject = void 0;
4
4
  function isObject(o) {
5
5
  return typeof o === 'object' && Object.prototype.toString.call(o) === '[object Object]';
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPlainObject = void 0;
4
- var is_object_1 = require("./is-object");
4
+ const is_object_1 = require("./is-object");
5
5
  function isPlainObject(o) {
6
- if (!is_object_1.isObject(o))
6
+ if (!(0, is_object_1.isObject)(o))
7
7
  return false;
8
8
  // If constructor was modified
9
9
  if (typeof o.constructor !== 'function')
10
10
  return false;
11
11
  // If prototype was modified
12
- if (!is_object_1.isObject(o.constructor.prototype))
12
+ if (!(0, is_object_1.isObject)(o.constructor.prototype))
13
13
  return false;
14
14
  // eslint-disable-next-line no-prototype-builtins
15
15
  if (!o.constructor.prototype.hasOwnProperty('isPrototypeOf'))
@@ -1 +1 @@
1
- {"version":3,"file":"is-plain-object.js","sourceRoot":"","sources":["../../src/utils/is-plain-object.ts"],"names":[],"mappings":";;;AAAA,yCAAuC;AAEvC,SAAgB,aAAa,CAAC,CAAU;IACtC,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,8BAA8B;IAC9B,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACtD,4BAA4B;IAC5B,IAAI,CAAC,oBAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,iDAAiD;IACjD,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AATD,sCASC"}
1
+ {"version":3,"file":"is-plain-object.js","sourceRoot":"","sources":["../../src/utils/is-plain-object.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAEvC,SAAgB,aAAa,CAAC,CAAU;IACtC,IAAI,CAAC,IAAA,oBAAQ,EAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,8BAA8B;IAC9B,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACtD,4BAA4B;IAC5B,IAAI,CAAC,IAAA,oBAAQ,EAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,iDAAiD;IACjD,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AATD,sCASC"}
@@ -2,8 +2,8 @@ import { Dictionary, UnionToIntersection } from '../types/global.types';
2
2
  /**
3
3
  * Deep merge two objects over their enumerable properties.
4
4
  *
5
- * @param target The object to merge into
6
- * @param source The objects to use for merging
5
+ * @param target - The object to merge into
6
+ * @param source - The objects to use for merging
7
7
  */
8
8
  export default function merge<T extends Dictionary<any>, U extends Dictionary<any>[]>(target: T, ...sources: U): T & UnionToIntersection<U[number]>;
9
9
  //# sourceMappingURL=merge.d.ts.map
@@ -1,76 +1,29 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
30
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
31
- to[j] = from[i];
32
- return to;
33
- };
34
- exports.__esModule = true;
35
- var is_plain_object_1 = require("./is-plain-object");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const is_plain_object_1 = require("./is-plain-object");
36
4
  /**
37
5
  * Deep merge two objects over their enumerable properties.
38
6
  *
39
- * @param target The object to merge into
40
- * @param source The objects to use for merging
7
+ * @param target - The object to merge into
8
+ * @param source - The objects to use for merging
41
9
  */
42
- function merge(target) {
43
- var e_1, _a, _b, _c;
44
- var sources = [];
45
- for (var _i = 1; _i < arguments.length; _i++) {
46
- sources[_i - 1] = arguments[_i];
47
- }
10
+ function merge(target, ...sources) {
48
11
  if (!sources.length)
49
12
  return target;
50
- var source = sources.shift();
51
- if (is_plain_object_1.isPlainObject(target) && is_plain_object_1.isPlainObject(source)) {
52
- try {
53
- for (var _d = __values(Object.keys(source)), _e = _d.next(); !_e.done; _e = _d.next()) {
54
- var key = _e.value;
55
- if (is_plain_object_1.isPlainObject(source[key])) {
56
- if (!target[key])
57
- Object.assign(target, (_b = {}, _b[key] = {}, _b));
58
- merge(target[key], source[key]);
59
- }
60
- else {
61
- Object.assign(target, (_c = {}, _c[key] = source[key], _c));
62
- }
13
+ const source = sources.shift();
14
+ if ((0, is_plain_object_1.isPlainObject)(target) && (0, is_plain_object_1.isPlainObject)(source)) {
15
+ for (const key of Object.keys(source)) {
16
+ if ((0, is_plain_object_1.isPlainObject)(source[key])) {
17
+ if (!target[key])
18
+ Object.assign(target, { [key]: {} });
19
+ merge(target[key], source[key]);
63
20
  }
64
- }
65
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
66
- finally {
67
- try {
68
- if (_e && !_e.done && (_a = _d["return"])) _a.call(_d);
21
+ else {
22
+ Object.assign(target, { [key]: source[key] });
69
23
  }
70
- finally { if (e_1) throw e_1.error; }
71
24
  }
72
25
  }
73
- return merge.apply(void 0, __spreadArray([target], __read(sources)));
26
+ return merge(target, ...sources);
74
27
  }
75
- exports["default"] = merge;
28
+ exports.default = merge;
76
29
  //# sourceMappingURL=merge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAAkD;AAElD;;;;;GAKG;AACH,SAAwB,KAAK,CAC3B,MAAS;;IACT,iBAAa;SAAb,UAAa,EAAb,qBAAa,EAAb,IAAa;QAAb,gCAAa;;IAEb,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAA4C,CAAC;IACzE,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,+BAAa,CAAC,MAAM,CAAC,IAAI,+BAAa,CAAC,MAAM,CAAC,EAAE;;YAClD,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,gBAAA,4BAAE;gBAAlC,IAAM,GAAG,WAAA;gBACZ,IAAI,+BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;wBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,EAAE,MAAG,CAAC;oBACvD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBACjC;qBAAM;oBACL,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG,CAAC;iBAC/C;aACF;;;;;;;;;KACF;IAED,OAAO,KAAK,8BAAC,MAAM,UAAK,OAAO,IAAE;AACnC,CAAC;AAnBD,2BAmBC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":";;AACA,uDAAkD;AAElD;;;;;GAKG;AACH,SAAwB,KAAK,CAC3B,MAAS,EACT,GAAG,OAAU;IAEb,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAA4C,CAAC;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,IAAA,+BAAa,EAAC,MAAM,CAAC,IAAI,IAAA,+BAAa,EAAC,MAAM,CAAC,EAAE;QAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACrC,IAAI,IAAA,+BAAa,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aACjC;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC/C;SACF;KACF;IAED,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACnC,CAAC;AAnBD,wBAmBC"}
@@ -1,201 +1,54 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
4
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Helpers = exports.normalizeRelators = exports.recurseRelators = void 0;
7
+ const relator_1 = __importDefault(require("../classes/relator"));
8
+ async function recurseRelators(data, relators, depth, keys, relatorDataCache) {
9
+ const included = [];
10
+ let curRelatorDataCache = relatorDataCache || new Map();
11
+ // Required to support backwards compatability where the first dataCache may
12
+ // not be passed in. All subsequent iterations will contain a dataCache
13
+ if (!relatorDataCache && depth > 0) {
14
+ for (const name in relators) {
15
+ const cache = curRelatorDataCache.get(relators[name]) || [];
16
+ curRelatorDataCache.set(relators[name], cache);
17
+ for (const datum of data) {
18
+ const relatedData = await relators[name].getRelatedData(datum);
19
+ if (relatedData !== null) {
20
+ cache.push(...(Array.isArray(relatedData) ? relatedData : [relatedData]));
21
+ }
32
22
  }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __values = (this && this.__values) || function(o) {
39
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
- if (m) return m.call(o);
41
- if (o && typeof o.length === "number") return {
42
- next: function () {
43
- if (o && i >= o.length) o = void 0;
44
- return { value: o && o[i++], done: !o };
45
23
  }
46
- };
47
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
24
  }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
25
+ while (depth-- > 0 && curRelatorDataCache.size > 0) {
26
+ const newRelatorDataCache = new Map();
27
+ for (const [relator, cache] of curRelatorDataCache) {
28
+ for (let i = 0; i < cache.length; i++) {
29
+ const resource = await relator.getRelatedResource(cache[i], undefined, undefined, newRelatorDataCache);
30
+ const key = resource.getKey();
31
+ if (!keys.includes(key)) {
32
+ keys.push(key);
33
+ included.push(resource);
34
+ }
35
+ }
60
36
  }
61
- finally { if (e) throw e.error; }
37
+ curRelatorDataCache = newRelatorDataCache;
62
38
  }
63
- return ar;
64
- };
65
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
66
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
67
- to[j] = from[i];
68
- return to;
69
- };
70
- var __importDefault = (this && this.__importDefault) || function (mod) {
71
- return (mod && mod.__esModule) ? mod : { "default": mod };
72
- };
73
- exports.__esModule = true;
74
- exports.Helpers = exports.normalizeRelators = exports.recurseRelators = void 0;
75
- var relator_1 = __importDefault(require("../classes/relator"));
76
- function recurseRelators(data, relators, depth, keys, relatorDataCache) {
77
- return __awaiter(this, void 0, void 0, function () {
78
- var included, curRelatorDataCache, _a, _b, _i, name_1, cache, data_1, data_1_1, datum, relatedData, e_1_1, newRelatorDataCache, curRelatorDataCache_1, curRelatorDataCache_1_1, _c, relator, cache, i, resource, key, e_2_1;
79
- var e_1, _d, e_2, _e;
80
- return __generator(this, function (_f) {
81
- switch (_f.label) {
82
- case 0:
83
- included = [];
84
- curRelatorDataCache = relatorDataCache || new Map();
85
- if (!(!relatorDataCache && depth > 0)) return [3 /*break*/, 10];
86
- _a = [];
87
- for (_b in relators)
88
- _a.push(_b);
89
- _i = 0;
90
- _f.label = 1;
91
- case 1:
92
- if (!(_i < _a.length)) return [3 /*break*/, 10];
93
- name_1 = _a[_i];
94
- cache = curRelatorDataCache.get(relators[name_1]) || [];
95
- curRelatorDataCache.set(relators[name_1], cache);
96
- _f.label = 2;
97
- case 2:
98
- _f.trys.push([2, 7, 8, 9]);
99
- data_1 = (e_1 = void 0, __values(data)), data_1_1 = data_1.next();
100
- _f.label = 3;
101
- case 3:
102
- if (!!data_1_1.done) return [3 /*break*/, 6];
103
- datum = data_1_1.value;
104
- return [4 /*yield*/, relators[name_1].getRelatedData(datum)];
105
- case 4:
106
- relatedData = _f.sent();
107
- if (relatedData !== null) {
108
- cache.push.apply(cache, __spreadArray([], __read((Array.isArray(relatedData) ? relatedData : [relatedData]))));
109
- }
110
- _f.label = 5;
111
- case 5:
112
- data_1_1 = data_1.next();
113
- return [3 /*break*/, 3];
114
- case 6: return [3 /*break*/, 9];
115
- case 7:
116
- e_1_1 = _f.sent();
117
- e_1 = { error: e_1_1 };
118
- return [3 /*break*/, 9];
119
- case 8:
120
- try {
121
- if (data_1_1 && !data_1_1.done && (_d = data_1["return"])) _d.call(data_1);
122
- }
123
- finally { if (e_1) throw e_1.error; }
124
- return [7 /*endfinally*/];
125
- case 9:
126
- _i++;
127
- return [3 /*break*/, 1];
128
- case 10:
129
- if (!(depth-- > 0 && curRelatorDataCache.size > 0)) return [3 /*break*/, 21];
130
- newRelatorDataCache = new Map();
131
- _f.label = 11;
132
- case 11:
133
- _f.trys.push([11, 18, 19, 20]);
134
- curRelatorDataCache_1 = (e_2 = void 0, __values(curRelatorDataCache)), curRelatorDataCache_1_1 = curRelatorDataCache_1.next();
135
- _f.label = 12;
136
- case 12:
137
- if (!!curRelatorDataCache_1_1.done) return [3 /*break*/, 17];
138
- _c = __read(curRelatorDataCache_1_1.value, 2), relator = _c[0], cache = _c[1];
139
- i = 0;
140
- _f.label = 13;
141
- case 13:
142
- if (!(i < cache.length)) return [3 /*break*/, 16];
143
- return [4 /*yield*/, relator.getRelatedResource(cache[i], undefined, undefined, newRelatorDataCache)];
144
- case 14:
145
- resource = _f.sent();
146
- key = resource.getKey();
147
- if (!keys.includes(key)) {
148
- keys.push(key);
149
- included.push(resource);
150
- }
151
- _f.label = 15;
152
- case 15:
153
- i++;
154
- return [3 /*break*/, 13];
155
- case 16:
156
- curRelatorDataCache_1_1 = curRelatorDataCache_1.next();
157
- return [3 /*break*/, 12];
158
- case 17: return [3 /*break*/, 20];
159
- case 18:
160
- e_2_1 = _f.sent();
161
- e_2 = { error: e_2_1 };
162
- return [3 /*break*/, 20];
163
- case 19:
164
- try {
165
- if (curRelatorDataCache_1_1 && !curRelatorDataCache_1_1.done && (_e = curRelatorDataCache_1["return"])) _e.call(curRelatorDataCache_1);
166
- }
167
- finally { if (e_2) throw e_2.error; }
168
- return [7 /*endfinally*/];
169
- case 20:
170
- curRelatorDataCache = newRelatorDataCache;
171
- return [3 /*break*/, 10];
172
- case 21: return [2 /*return*/, included];
173
- }
174
- });
175
- });
39
+ return included;
176
40
  }
177
41
  exports.recurseRelators = recurseRelators;
178
42
  function normalizeRelators(relators) {
179
- var e_3, _a;
180
- var normalizedRelators = {};
43
+ const normalizedRelators = {};
181
44
  if (relators) {
182
- if (relators instanceof relator_1["default"]) {
45
+ if (relators instanceof relator_1.default) {
183
46
  normalizedRelators[relators.relatedName] = relators;
184
47
  return normalizedRelators;
185
48
  }
186
49
  else if (relators instanceof Array) {
187
- try {
188
- for (var relators_1 = __values(relators), relators_1_1 = relators_1.next(); !relators_1_1.done; relators_1_1 = relators_1.next()) {
189
- var relator = relators_1_1.value;
190
- normalizedRelators[relator.relatedName] = relator;
191
- }
192
- }
193
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
194
- finally {
195
- try {
196
- if (relators_1_1 && !relators_1_1.done && (_a = relators_1["return"])) _a.call(relators_1);
197
- }
198
- finally { if (e_3) throw e_3.error; }
50
+ for (const relator of relators) {
51
+ normalizedRelators[relator.relatedName] = relator;
199
52
  }
200
53
  return normalizedRelators;
201
54
  }
@@ -206,30 +59,32 @@ function normalizeRelators(relators) {
206
59
  return undefined;
207
60
  }
208
61
  exports.normalizeRelators = normalizeRelators;
209
- var Helpers = /** @class */ (function () {
210
- function Helpers(options) {
62
+ class Helpers {
63
+ projectAttributes;
64
+ relators;
65
+ constructor(options) {
211
66
  // Relators
212
67
  this.relators = normalizeRelators(options.relators);
213
68
  // Projection
214
69
  if (options.projection === undefined) {
215
- this.projectAttributes = function () { return undefined; };
70
+ this.projectAttributes = () => undefined;
216
71
  }
217
72
  else if (options.projection === null) {
218
- this.projectAttributes = function (data) {
219
- var attributes = Object.assign({}, data);
73
+ this.projectAttributes = (data) => {
74
+ const attributes = Object.assign({}, data);
220
75
  delete attributes[options.idKey];
221
76
  return attributes;
222
77
  };
223
78
  }
224
79
  else {
225
- var projection_1 = options.projection;
226
- var type = Object.values(projection_1)[0];
80
+ const projection = options.projection;
81
+ const type = Object.values(projection)[0];
227
82
  if (type === 0) {
228
- this.projectAttributes = function (data) {
229
- var keys = Object.keys(data);
230
- var attributes = {};
231
- for (var i = 0, len = keys.length; i < len; i++) {
232
- if (!(keys[i] in projection_1)) {
83
+ this.projectAttributes = (data) => {
84
+ const keys = Object.keys(data);
85
+ const attributes = {};
86
+ for (let i = 0, len = keys.length; i < len; i++) {
87
+ if (!(keys[i] in projection)) {
233
88
  attributes[keys[i]] = data[keys[i]];
234
89
  }
235
90
  }
@@ -238,11 +93,11 @@ var Helpers = /** @class */ (function () {
238
93
  };
239
94
  }
240
95
  else {
241
- var keys_1 = Object.keys(projection_1);
242
- this.projectAttributes = function (data) {
243
- var attributes = {};
244
- for (var i = 0, len = keys_1.length; i < len; i++) {
245
- attributes[keys_1[i]] = data[keys_1[i]];
96
+ const keys = Object.keys(projection);
97
+ this.projectAttributes = (data) => {
98
+ const attributes = {};
99
+ for (let i = 0, len = keys.length; i < len; i++) {
100
+ attributes[keys[i]] = data[keys[i]];
246
101
  }
247
102
  delete attributes[options.idKey];
248
103
  return attributes;
@@ -250,7 +105,6 @@ var Helpers = /** @class */ (function () {
250
105
  }
251
106
  }
252
107
  }
253
- return Helpers;
254
- }());
108
+ }
255
109
  exports.Helpers = Helpers;
256
110
  //# sourceMappingURL=serializer.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.utils.js","sourceRoot":"","sources":["../../src/utils/serializer.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.utils.js","sourceRoot":"","sources":["../../src/utils/serializer.utils.ts"],"names":[],"mappings":"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"}