ts-japi 1.8.0 → 1.8.1

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.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "1.8.0"
2
+ ".": "1.8.1"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.8.1](https://github.com/mathematic-inc/ts-japi/compare/v1.8.0...v1.8.1) (2023-08-10)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * allow relator serializer to be a getter ([#63](https://github.com/mathematic-inc/ts-japi/issues/63)) ([a55b4e9](https://github.com/mathematic-inc/ts-japi/commit/a55b4e9b7c36b28087397973eee6025db7d6299b))
9
+
3
10
  ## [1.8.0](https://github.com/mathematic-inc/ts-japi/compare/v1.7.0...v1.8.0) (2022-09-30)
4
11
 
5
12
 
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # ts:japi
2
2
 
3
3
  <br/>
4
- <img src="https://raw.githubusercontent.com/mathematic-inc/ts-japi/master/docs/assets/images/logo.svg" alt="{ts:japi}" width="350"/>
4
+ <img src="https://raw.githubusercontent.com/mathematic-inc/ts-japi/main/src/docs/assets/images/logo.svg" alt="{ts:japi}" width="350"/>
5
5
  <br/>
6
6
 
7
7
  ![node-current](https://img.shields.io/node/v/ts-japi)
@@ -29,6 +29,8 @@ export default class Relator<PrimaryType, RelatedType extends Dictionary<any> =
29
29
  */
30
30
  private options;
31
31
  relatedName: string;
32
+ private internalSerializer;
33
+ private _serializer;
32
34
  /**
33
35
  * Creates a {@link Relator}.
34
36
  *
@@ -37,14 +39,24 @@ export default class Relator<PrimaryType, RelatedType extends Dictionary<any> =
37
39
  * @param options - Options for the relator.
38
40
  */
39
41
  constructor(fetch: (data: PrimaryType) => Promise<RelatedType | RelatedType[] | nullish>, serializer: Serializer<RelatedType>, options?: Partial<RelatorOptions<PrimaryType, RelatedType>>);
42
+ /**
43
+ * Creates a {@link Relator}.
44
+ *
45
+ * @param fetch - Fetches related data from primary data.
46
+ * @param serializer - A getter for the `Serializer` to use for related data.
47
+ * @param options - Options for the relator, a `relatedName` is required
48
+ * as it cannot always be loaded from the serializer.
49
+ */
50
+ constructor(fetch: (data: PrimaryType) => Promise<RelatedType | RelatedType[] | nullish>, serializer: () => Serializer<RelatedType>, options: Partial<RelatorOptions<PrimaryType, RelatedType>> & Required<Pick<RelatorOptions<PrimaryType, RelatedType>, 'relatedName'>>);
51
+ private get serializer();
40
52
  /** @internal Gets related data from primary data. */
41
53
  getRelatedData: (data: PrimaryType) => Promise<RelatedType | RelatedType[] | nullish>;
42
54
  /** @internal Gets related relators */
43
- getRelatedRelators: () => Record<string, Relator<RelatedType, any>> | undefined;
55
+ getRelatedRelators(): Record<string, Relator<RelatedType, any>> | undefined;
44
56
  /** @internal Creates related identifiers */
45
- getRelatedIdentifier: (data: RelatedType, options?: SerializerOptions<RelatedType> | undefined) => ResourceIdentifier;
57
+ getRelatedIdentifier(data: RelatedType, options?: SerializerOptions<RelatedType> | undefined): ResourceIdentifier;
46
58
  /** @internal Creates related resources */
47
- getRelatedResource: (data: RelatedType, options?: Partial<SerializerOptions<RelatedType>>, helpers?: Helpers<RelatedType>, relatorDataCache?: Map<Relator<any>, Dictionary<any>[]>) => Promise<Resource<RelatedType>>;
59
+ getRelatedResource(data: RelatedType, options?: Partial<SerializerOptions<RelatedType>>, helpers?: Helpers<RelatedType>, relatorDataCache?: Map<Relator<any>, Dictionary<any>[]>): Promise<Resource<RelatedType>>;
48
60
  /** @internal Gets related links from primary data and related data */
49
61
  getRelatedLinks(data: PrimaryType, relatedData: RelatedType | RelatedType[] | nullish): Dictionary<nullish | Link> | undefined;
50
62
  /** @internal Gets related meta from primary data and related data */
@@ -1 +1 @@
1
- {"version":3,"file":"relator.d.ts","sourceRoot":"","sources":["../../src/classes/relator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,YAAqC,MAAM,8BAA8B,CAAC;AACjF,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,WAAW,EAAE,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;IACjF;;OAEG;IACH,OAAc,cAAc;;MAE1B;IAEF;;OAEG;IACH,OAAO,CAAC,OAAO,CAA2C;IAEnD,WAAW,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;gBAED,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,EAC5E,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EACnC,OAAO,GAAE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAM;IAWjE,qDAAqD;IAC9C,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;IAE7F,sCAAsC;IAC/B,kBAAkB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IAEvF,4CAA4C;IACrC,oBAAoB,EAAE,CAC3B,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAG,SAAS,KACjD,kBAAkB,CAAC;IAExB,0CAA0C;IACnC,kBAAkB,EAAE,CACzB,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,EACjD,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,KACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpC,sEAAsE;IAC/D,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO;IAW5F,qEAAqE;IAC9D,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO;IAQ3F,gDAAgD;IACnC,eAAe,CAC1B,IAAI,EAAE,WAAW,EACjB,gBAAgB,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GACnC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CAmCrC"}
1
+ {"version":3,"file":"relator.d.ts","sourceRoot":"","sources":["../../src/classes/relator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,YAAqC,MAAM,8BAA8B,CAAC;AACjF,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AACrE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO,CAAC,WAAW,EAAE,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;IACjF;;OAEG;IACH,OAAc,cAAc;;MAE1B;IAEF;;OAEG;IACH,OAAO,CAAC,OAAO,CAA2C;IAEnD,WAAW,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,kBAAkB,CAA4D;IAEtF,OAAO,CAAC,WAAW,CAAsC;IAEzD;;;;;;OAMG;gBAED,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,EAC5E,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EACnC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAG7D;;;;;;;OAOG;gBAED,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,EAC5E,UAAU,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC,EACzC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,GACxD,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;IAgB3E,OAAO,KAAK,UAAU,GASrB;IAED,qDAAqD;IAC9C,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC;IAE7F,sCAAsC;IAC/B,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS;IAIlF,4CAA4C;IACrC,oBAAoB,CACzB,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,GAAG,SAAS,GACnD,kBAAkB;IAIrB,0CAA0C;IAC7B,kBAAkB,CAC7B,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,EACjD,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAIjC,sEAAsE;IAC/D,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO;IAW5F,qEAAqE;IAC9D,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,OAAO;IAQ3F,gDAAgD;IACnC,eAAe,CAC1B,IAAI,EAAE,WAAW,EACjB,gBAAgB,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,GACnC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;CAmCrC"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const relationship_model_1 = __importDefault(require("../models/relationship.model"));
7
7
  const merge_1 = __importDefault(require("../utils/merge"));
8
+ const serializer_1 = __importDefault(require("./serializer"));
8
9
  /**
9
10
  * The {@link Relator} class is used to generate top-level [included data](https://jsonapi.org/format/#document-top-level)
10
11
  * as well as resource-level [relationships](https://jsonapi.org/format/#document-resource-object-relationships).
@@ -26,30 +27,41 @@ class Relator {
26
27
  */
27
28
  options;
28
29
  relatedName;
29
- /**
30
- * Creates a {@link Relator}.
31
- *
32
- * @param fetch - Fetches related data from primary data.
33
- * @param serializer - The `Serializer` to use for related data.
34
- * @param options - Options for the relator.
35
- */
36
- constructor(fetch, serializer, options = {}) {
30
+ internalSerializer;
31
+ _serializer;
32
+ constructor(fetch, serializer, options) {
37
33
  // Setting default options
38
- this.relatedName = options.relatedName || serializer.collectionName;
39
- this.options = (0, merge_1.default)({}, Relator.defaultOptions, options);
34
+ this.relatedName =
35
+ options?.relatedName ||
36
+ (serializer instanceof serializer_1.default ? serializer : serializer()).collectionName;
37
+ this.internalSerializer = serializer;
38
+ this.options = (0, merge_1.default)({}, Relator.defaultOptions, options ?? {});
40
39
  this.getRelatedData = fetch;
41
- this.getRelatedResource = serializer.createResource.bind(serializer);
42
- this.getRelatedIdentifier = serializer.createIdentifier.bind(serializer);
43
- this.getRelatedRelators = serializer.getRelators.bind(serializer);
40
+ }
41
+ get serializer() {
42
+ // Instantiate _serializer if not already instantiated
43
+ if (!this._serializer) {
44
+ this._serializer =
45
+ this.internalSerializer instanceof serializer_1.default
46
+ ? this.internalSerializer
47
+ : this.internalSerializer();
48
+ }
49
+ return this._serializer;
44
50
  }
45
51
  /** @internal Gets related data from primary data. */
46
52
  getRelatedData;
47
53
  /** @internal Gets related relators */
48
- getRelatedRelators;
54
+ getRelatedRelators() {
55
+ return this.serializer.getRelators();
56
+ }
49
57
  /** @internal Creates related identifiers */
50
- getRelatedIdentifier;
58
+ getRelatedIdentifier(data, options) {
59
+ return this.serializer.createIdentifier(data, options);
60
+ }
51
61
  /** @internal Creates related resources */
52
- getRelatedResource;
62
+ async getRelatedResource(data, options, helpers, relatorDataCache) {
63
+ return this.serializer.createResource(data, options, helpers, relatorDataCache);
64
+ }
53
65
  /** @internal Gets related links from primary data and related data */
54
66
  getRelatedLinks(data, relatedData) {
55
67
  let links;
@@ -1 +1 @@
1
- {"version":3,"file":"relator.js","sourceRoot":"","sources":["../../src/classes/relator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relator.js","sourceRoot":"","sources":["../../src/classes/relator.ts"],"names":[],"mappings":";;;;;AAIA,sFAAiF;AAIjF,2DAAmC;AAEnC,8DAAsC;AAEtC;;;;;;;;GAQG;AACH,MAAqB,OAAO;IAC1B;;OAEG;IACI,MAAM,CAAC,cAAc,GAAG;QAC7B,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF;;OAEG;IACK,OAAO,CAA2C;IAEnD,WAAW,CAAS;IAEnB,kBAAkB,CAA4D;IAE9E,WAAW,CAAsC;IA6BzD,YACE,KAA4E,EAC5E,UAAqE,EACrE,OAA2D;QAE3D,0BAA0B;QAC1B,IAAI,CAAC,WAAW;YACd,OAAO,EAAE,WAAW;gBACpB,CAAC,UAAU,YAAY,oBAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC;QAChF,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAA,eAAK,EAAC,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAY,UAAU;QACpB,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW;gBACd,IAAI,CAAC,kBAAkB,YAAY,oBAAU;oBAC3C,CAAC,CAAC,IAAI,CAAC,kBAAkB;oBACzB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACjC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,qDAAqD;IAC9C,cAAc,CAAwE;IAE7F,sCAAsC;IAC/B,kBAAkB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,4CAA4C;IACrC,oBAAoB,CACzB,IAAiB,EACjB,OAAoD;QAEpD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,0CAA0C;IACnC,KAAK,CAAC,kBAAkB,CAC7B,IAAiB,EACjB,OAAiD,EACjD,OAA8B,EAC9B,gBAAuD;QAEvD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClF,CAAC;IAED,sEAAsE;IAC/D,eAAe,CAAC,IAAiB,EAAE,WAAkD;QAC1F,IAAI,KAA6C,CAAC;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;YACrC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;SACvF;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC;SACrF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qEAAqE;IAC9D,cAAc,CAAC,IAAiB,EAAE,WAAkD;QACzF,IAAI,IAAsB,CAAC;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IACzC,KAAK,CAAC,eAAe,CAC1B,IAAiB,EACjB,gBAAoC;QAEpC,sBAAsB;QACtB,MAAM,mBAAmB,GAAwB,EAAE,CAAC;QAEpD,oBAAoB;QACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,WAAW,IAAI,gBAAgB,EAAE;YACnC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACtF;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,KAAK;YAAE,mBAAmB,CAAC,KAAK,GAAG,KAAK,CAAC;QAE7C,+BAA+B;QAC/B,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,IAAI,WAAW,KAAK,IAAI,EAAE;gBACxB,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;aACjC;iBAAM;gBACL,mBAAmB,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBAC5D,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;aAC5C;SACF;QAED,YAAY;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,IAAI;YAAE,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,IAAI,YAAsC,CAAC;QAC3C,IAAI,WAAW,KAAK,SAAS,IAAI,IAAI,IAAI,KAAK,EAAE;YAC9C,YAAY,GAAG,IAAI,4BAAY,CAAC,mBAAmB,CAAC,CAAC;SACtD;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;;AA5JH,0BA6JC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-japi",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "description": "A highly-modular (typescript-friendly)-framework agnostic library for serializing data to the JSON:API specification",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {