ts-japi 1.12.1 → 1.12.2

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 (113) hide show
  1. package/.commitlintrc.ts +1 -1
  2. package/.github/workflows/ci.yml +32 -0
  3. package/.github/workflows/release-notes.yml +53 -0
  4. package/.github/workflows/{release-please.yaml → release-please.yml} +6 -7
  5. package/.github/workflows/release.yml +147 -0
  6. package/.node-version +1 -0
  7. package/.release-please-manifest.json +1 -1
  8. package/CHANGELOG.md +7 -0
  9. package/LICENSE +2 -1
  10. package/README.md +9 -7
  11. package/benchmarks/playground.benchmark.ts +12 -12
  12. package/benchmarks/serializer.benchmark.ts +10 -10
  13. package/biome.json +141 -0
  14. package/lefthook.yml +12 -0
  15. package/lib/classes/cache.d.ts +4 -4
  16. package/lib/classes/cache.d.ts.map +1 -1
  17. package/lib/classes/cache.js +7 -5
  18. package/lib/classes/cache.js.map +1 -1
  19. package/lib/classes/error-serializer.d.ts +3 -3
  20. package/lib/classes/error-serializer.d.ts.map +1 -1
  21. package/lib/classes/error-serializer.js +18 -15
  22. package/lib/classes/error-serializer.js.map +1 -1
  23. package/lib/classes/linker.d.ts +3 -3
  24. package/lib/classes/linker.d.ts.map +1 -1
  25. package/lib/classes/metaizer.d.ts +2 -2
  26. package/lib/classes/metaizer.d.ts.map +1 -1
  27. package/lib/classes/paginator.d.ts +5 -5
  28. package/lib/classes/paginator.d.ts.map +1 -1
  29. package/lib/classes/paginator.js +6 -5
  30. package/lib/classes/paginator.js.map +1 -1
  31. package/lib/classes/polymorphic-serialiser.d.ts +9 -10
  32. package/lib/classes/polymorphic-serialiser.d.ts.map +1 -1
  33. package/lib/classes/polymorphic-serialiser.js +15 -6
  34. package/lib/classes/polymorphic-serialiser.js.map +1 -1
  35. package/lib/classes/relator.d.ts +11 -11
  36. package/lib/classes/relator.d.ts.map +1 -1
  37. package/lib/classes/relator.js +15 -6
  38. package/lib/classes/relator.js.map +1 -1
  39. package/lib/classes/serializer.d.ts +9 -9
  40. package/lib/classes/serializer.d.ts.map +1 -1
  41. package/lib/classes/serializer.js +38 -27
  42. package/lib/classes/serializer.js.map +1 -1
  43. package/lib/index.d.ts +21 -21
  44. package/lib/index.d.ts.map +1 -1
  45. package/lib/index.js +9 -9
  46. package/lib/index.js.map +1 -1
  47. package/lib/interfaces/cache.interface.d.ts +1 -1
  48. package/lib/interfaces/cache.interface.d.ts.map +1 -1
  49. package/lib/interfaces/error-serializer.interface.d.ts +37 -37
  50. package/lib/interfaces/error-serializer.interface.d.ts.map +1 -1
  51. package/lib/interfaces/error.interface.d.ts +21 -21
  52. package/lib/interfaces/error.interface.d.ts.map +1 -1
  53. package/lib/interfaces/json-api.interface.d.ts +12 -12
  54. package/lib/interfaces/json-api.interface.d.ts.map +1 -1
  55. package/lib/interfaces/linker.interface.d.ts +1 -1
  56. package/lib/interfaces/linker.interface.d.ts.map +1 -1
  57. package/lib/interfaces/paginator.interface.d.ts +2 -2
  58. package/lib/interfaces/paginator.interface.d.ts.map +1 -1
  59. package/lib/interfaces/relator.interface.d.ts +3 -3
  60. package/lib/interfaces/relator.interface.d.ts.map +1 -1
  61. package/lib/interfaces/serializer.interface.d.ts +78 -78
  62. package/lib/interfaces/serializer.interface.d.ts.map +1 -1
  63. package/lib/models/error.model.d.ts +4 -4
  64. package/lib/models/error.model.d.ts.map +1 -1
  65. package/lib/models/error.model.js +29 -18
  66. package/lib/models/error.model.js.map +1 -1
  67. package/lib/models/link.model.d.ts +1 -1
  68. package/lib/models/link.model.d.ts.map +1 -1
  69. package/lib/models/relationship.model.d.ts +5 -5
  70. package/lib/models/relationship.model.d.ts.map +1 -1
  71. package/lib/models/relationship.model.js +8 -5
  72. package/lib/models/relationship.model.js.map +1 -1
  73. package/lib/models/resource-identifier.model.d.ts +1 -1
  74. package/lib/models/resource-identifier.model.d.ts.map +1 -1
  75. package/lib/models/resource-identifier.model.js +2 -1
  76. package/lib/models/resource-identifier.model.js.map +1 -1
  77. package/lib/models/resource.model.d.ts +5 -5
  78. package/lib/models/resource.model.d.ts.map +1 -1
  79. package/lib/models/resource.model.js +6 -3
  80. package/lib/models/resource.model.js.map +1 -1
  81. package/lib/types/global.types.d.ts +9 -9
  82. package/lib/types/global.types.d.ts.map +1 -1
  83. package/lib/utils/is-error-document.d.ts +1 -1
  84. package/lib/utils/is-error-document.d.ts.map +1 -1
  85. package/lib/utils/is-error-document.js +3 -4
  86. package/lib/utils/is-error-document.js.map +1 -1
  87. package/lib/utils/is-object.d.ts.map +1 -1
  88. package/lib/utils/is-object.js +3 -3
  89. package/lib/utils/is-object.js.map +1 -1
  90. package/lib/utils/is-plain-object.d.ts.map +1 -1
  91. package/lib/utils/is-plain-object.js +9 -6
  92. package/lib/utils/is-plain-object.js.map +1 -1
  93. package/lib/utils/merge.d.ts +1 -1
  94. package/lib/utils/merge.d.ts.map +1 -1
  95. package/lib/utils/merge.js +5 -3
  96. package/lib/utils/merge.js.map +1 -1
  97. package/lib/utils/serializer.utils.d.ts +4 -4
  98. package/lib/utils/serializer.utils.d.ts.map +1 -1
  99. package/lib/utils/serializer.utils.js +27 -22
  100. package/lib/utils/serializer.utils.js.map +1 -1
  101. package/package.json +53 -65
  102. package/release-please-config.json +8 -3
  103. package/tools/generate_docs.ts +7 -9
  104. package/tools/internal/custom_markdown_action.ts +3 -3
  105. package/tools/internal/custom_markdown_documenter.ts +348 -244
  106. package/tsconfig.json +4 -3
  107. package/.github/release-please.yml +0 -4
  108. package/.github/workflows/ci.yaml +0 -73
  109. package/.github/workflows/publish.yaml +0 -29
  110. package/.husky/pre-commit +0 -4
  111. package/.husky/pre-push +0 -4
  112. package/.prettierignore +0 -4
  113. package/.prettierrc +0 -10
@@ -1,4 +1,4 @@
1
- import { Dictionary, UnionToIntersection } from '../types/global.types';
1
+ import type { Dictionary, UnionToIntersection } from "../types/global.types";
2
2
  /**
3
3
  * Deep merge two objects over their enumerable properties.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGxE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,EAClF,MAAM,EAAE,CAAC,EACT,GAAG,OAAO,EAAE,CAAC,GACZ,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAiBpC"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG7E;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EACzB,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,EAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAqB9D"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = merge;
3
4
  const is_plain_object_1 = require("./is-plain-object");
4
5
  /**
5
6
  * Deep merge two objects over their enumerable properties.
@@ -8,15 +9,17 @@ const is_plain_object_1 = require("./is-plain-object");
8
9
  * @param source - The objects to use for merging
9
10
  */
10
11
  function merge(target, ...sources) {
11
- if (!sources.length)
12
+ if (!sources.length) {
12
13
  return target;
14
+ }
13
15
  const source = sources.shift();
14
16
  if ((0, is_plain_object_1.isPlainObject)(target) && (0, is_plain_object_1.isPlainObject)(source)) {
15
17
  for (const key of Object.keys(source)) {
16
18
  const sourceItem = source[key];
17
19
  if ((0, is_plain_object_1.isPlainObject)(sourceItem)) {
18
- if (!target[key])
20
+ if (!target[key]) {
19
21
  Object.assign(target, { [key]: {} });
22
+ }
20
23
  merge(target[key], sourceItem);
21
24
  }
22
25
  else {
@@ -26,5 +29,4 @@ function merge(target, ...sources) {
26
29
  }
27
30
  return merge(target, ...sources);
28
31
  }
29
- exports.default = merge;
30
32
  //# sourceMappingURL=merge.js.map
@@ -1 +1 @@
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,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,IAAA,+BAAa,EAAC,UAAU,CAAC,EAAE;gBAC7B,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,UAAU,CAAC,CAAC;aAChC;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;AApBD,wBAoBC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":";;AASA,wBAwBC;AAhCD,uDAAkD;AAElD;;;;;GAKG;AACH,SAAwB,KAAK,CAG3B,MAAS,EAAE,GAAG,OAAU;IACxB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,IAAA,+BAAa,EAAC,MAAM,CAAC,IAAI,IAAA,+BAAa,EAAC,MAAM,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,IAAA,+BAAa,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACnC,CAAC"}
@@ -1,8 +1,8 @@
1
- import Relator from '../classes/relator';
2
- import { SerializerOptions } from '../interfaces/serializer.interface';
3
- import { Dictionary } from '../types/global.types';
1
+ import Relator from "../classes/relator";
2
+ import type { SerializerOptions } from "../interfaces/serializer.interface";
3
+ import type { Dictionary } from "../types/global.types";
4
4
  export declare function recurseRelators(data: any[], relators: Record<string, Relator<any>>, include: number | string[] | undefined, keys: string[], relatorDataCache?: Map<Relator<any>, Dictionary<any>[]>): Promise<any[]>;
5
- export declare function normalizeRelators<T extends Dictionary<any>>(relators: SerializerOptions<T>['relators']): Record<string, Relator<T, any>> | undefined;
5
+ export declare function normalizeRelators<T extends Dictionary<any>>(relators: SerializerOptions<T>["relators"]): Record<string, Relator<T, any>> | undefined;
6
6
  export declare class Helpers<PrimaryType extends Dictionary<any> = any> {
7
7
  projectAttributes: (data: PrimaryType) => Partial<PrimaryType> | undefined;
8
8
  relators: Record<string, Relator<PrimaryType, any>> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.utils.d.ts","sourceRoot":"","sources":["../../src/utils/serializer.utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsDnD,wBAAsB,eAAe,CACnC,IAAI,EAAE,GAAG,EAAE,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EACtC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,kBAgFxD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EACzD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,+CAiB3C;AAED,qBAAa,OAAO,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAC3E,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBACpD,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC;CA0C3D"}
1
+ {"version":3,"file":"serializer.utils.d.ts","sourceRoot":"","sources":["../../src/utils/serializer.utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA0DxD,wBAAsB,eAAe,CACnC,IAAI,EAAE,GAAG,EAAE,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EACtC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EAAE,EACd,gBAAgB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,kBAsGxD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EACzD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,+CAiB3C;AAED,qBAAa,OAAO,CAAC,WAAW,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG;IACrD,iBAAiB,EAAE,CACxB,IAAI,EAAE,WAAW,KACd,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;gBACpD,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC;CA0C3D"}
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Helpers = exports.normalizeRelators = exports.recurseRelators = void 0;
6
+ exports.Helpers = void 0;
7
+ exports.recurseRelators = recurseRelators;
8
+ exports.normalizeRelators = normalizeRelators;
7
9
  const relator_1 = __importDefault(require("../classes/relator"));
8
10
  async function recurseRelatorsDepth(data, relators, depth, keys, relatorDataCache) {
9
11
  const included = [];
@@ -11,7 +13,7 @@ async function recurseRelatorsDepth(data, relators, depth, keys, relatorDataCach
11
13
  // Required to support backwards compatability where the first dataCache may
12
14
  // not be passed in. All subsequent iterations will contain a dataCache
13
15
  if (!relatorDataCache && depth > 0) {
14
- for (const name in relators) {
16
+ for (const name of Object.keys(relators)) {
15
17
  const cache = curRelatorDataCache.get(relators[name]) || [];
16
18
  curRelatorDataCache.set(relators[name], cache);
17
19
  for (const datum of data) {
@@ -22,11 +24,12 @@ async function recurseRelatorsDepth(data, relators, depth, keys, relatorDataCach
22
24
  }
23
25
  }
24
26
  }
25
- while (depth-- > 0 && curRelatorDataCache.size > 0) {
27
+ let remainingDepth = depth;
28
+ while (remainingDepth-- > 0 && curRelatorDataCache.size > 0) {
26
29
  const newRelatorDataCache = new Map();
27
30
  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);
31
+ for (const item of cache) {
32
+ const resource = await relator.getRelatedResource(item, undefined, undefined, newRelatorDataCache);
30
33
  const key = resource.getKey();
31
34
  if (!keys.includes(key)) {
32
35
  keys.push(key);
@@ -39,7 +42,7 @@ async function recurseRelatorsDepth(data, relators, depth, keys, relatorDataCach
39
42
  return included;
40
43
  }
41
44
  async function recurseRelators(data, relators, include, keys, relatorDataCache) {
42
- if (include === undefined || typeof include === 'number') {
45
+ if (include === undefined || typeof include === "number") {
43
46
  return recurseRelatorsDepth(data, relators, include ?? 0, keys, relatorDataCache);
44
47
  }
45
48
  const included = [];
@@ -47,7 +50,7 @@ async function recurseRelators(data, relators, include, keys, relatorDataCache)
47
50
  // Required to support backwards compatability where the first dataCache may
48
51
  // not be passed in. All subsequent iterations will contain a dataCache
49
52
  if (!relatorDataCache && include.length > 0) {
50
- for (const name in relators) {
53
+ for (const name of Object.keys(relators)) {
51
54
  const cache = curRelatorDataCache.get(relators[name]) || [];
52
55
  curRelatorDataCache.set(relators[name], cache);
53
56
  for (const datum of data) {
@@ -58,14 +61,17 @@ async function recurseRelators(data, relators, include, keys, relatorDataCache)
58
61
  }
59
62
  }
60
63
  }
61
- const maxDepth = Math.max(...include.map((i) => i.split('.').length));
64
+ const maxDepth = Math.max(...include.map((i) => i.split(".").length));
62
65
  let currentDepth = 0;
63
66
  while (currentDepth < maxDepth) {
64
67
  const newRelatorDataCache = new Map();
65
68
  const includeFields = include
66
- .map((i) => i.split('.'))
69
+ .map((i) => i.split("."))
67
70
  .filter((i) => i[currentDepth])
68
- .map((i) => ({ field: i[currentDepth], hasMore: i.length > currentDepth + 1 }))
71
+ .map((i) => ({
72
+ field: i[currentDepth],
73
+ hasMore: i.length > currentDepth + 1,
74
+ }))
69
75
  .reduce((acc, i) => {
70
76
  const match = acc.find((j) => j.field === i.field);
71
77
  if (match) {
@@ -78,17 +84,20 @@ async function recurseRelators(data, relators, include, keys, relatorDataCache)
78
84
  }, []);
79
85
  for (const [relator, cache] of curRelatorDataCache) {
80
86
  const shouldBuildRelatedCache = (!includeFields ||
81
- includeFields?.filter((i) => i.field === relator.relatedName)?.some((i) => i.hasMore)) ??
87
+ includeFields
88
+ ?.filter((i) => i.field === relator.relatedName)
89
+ ?.some((i) => i.hasMore)) ??
82
90
  false;
83
- for (let i = 0; i < cache.length; i++) {
91
+ for (const cacheItem of cache) {
84
92
  // Include if,
85
93
  // - includeFields !== undefined
86
94
  // - includeFields has entry where field = relatedName
87
- if (!includeFields || includeFields.map((i) => i.field).includes(relator.relatedName)) {
88
- const key = `${relator.serializer.collectionName}:${cache[i][relator.serializer.getIdKeyFieldName()]}`;
95
+ if (!includeFields ||
96
+ includeFields.map((i) => i.field).includes(relator.relatedName)) {
97
+ const key = `${relator.serializer.collectionName}:${cacheItem[relator.serializer.getIdKeyFieldName()]}`;
89
98
  if (!keys.includes(key)) {
90
99
  // const key = resource.getKey();
91
- const resource = await relator.getRelatedResource(cache[i], undefined, undefined,
100
+ const resource = await relator.getRelatedResource(cacheItem, undefined, undefined,
92
101
  // Only build the cache for the next iteration if needed.
93
102
  shouldBuildRelatedCache ? newRelatorDataCache : undefined);
94
103
  keys.push(key);
@@ -102,7 +111,6 @@ async function recurseRelators(data, relators, include, keys, relatorDataCache)
102
111
  }
103
112
  return included;
104
113
  }
105
- exports.recurseRelators = recurseRelators;
106
114
  function normalizeRelators(relators) {
107
115
  const normalizedRelators = {};
108
116
  if (relators) {
@@ -110,19 +118,16 @@ function normalizeRelators(relators) {
110
118
  normalizedRelators[relators.relatedName] = relators;
111
119
  return normalizedRelators;
112
120
  }
113
- else if (relators instanceof Array) {
121
+ if (Array.isArray(relators)) {
114
122
  for (const relator of relators) {
115
123
  normalizedRelators[relator.relatedName] = relator;
116
124
  }
117
125
  return normalizedRelators;
118
126
  }
119
- else {
120
- return relators;
121
- }
127
+ return relators;
122
128
  }
123
129
  return undefined;
124
130
  }
125
- exports.normalizeRelators = normalizeRelators;
126
131
  class Helpers {
127
132
  projectAttributes;
128
133
  relators;
@@ -135,7 +140,7 @@ class Helpers {
135
140
  }
136
141
  else if (options.projection === null) {
137
142
  this.projectAttributes = (data) => {
138
- const attributes = Object.assign({}, data);
143
+ const attributes = { ...data };
139
144
  delete attributes[options.idKey];
140
145
  return attributes;
141
146
  };
@@ -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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"}
package/package.json CHANGED
@@ -1,87 +1,61 @@
1
1
  {
2
2
  "name": "ts-japi",
3
- "version": "1.12.1",
3
+ "version": "1.12.2",
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
- "scripts": {
7
- "api-extractor": "api-extractor run",
8
- "benchmark": "ts-node ./benchmarks/serializer.benchmark",
9
- "build": "tsc",
10
- "clean": "make clean",
11
- "commitlint": "commitlint --from=HEAD~1",
12
- "docs": "npm run api-extractor && ts-node tools/generate_docs.ts",
13
- "format": "run-s format:*",
14
- "format:prettier": "prettier --write .",
15
- "format:eslint": "eslint --fix .",
16
- "examples": "ts-node ./examples/",
17
- "lint": "run-s lint:*",
18
- "lint:prettier": "prettier --check .",
19
- "lint:eslint": "eslint .",
20
- "playground": "ts-node ./benchmarks/playground.benchmark",
21
- "prepare": "husky install",
22
- "test": "jest --runInBand --verbose --coverage",
23
- "test:watch": "jest --runInBand --verbose --watch"
24
- },
25
6
  "publishConfig": {
26
7
  "access": "public",
27
8
  "registry": "https://registry.npmjs.org/"
28
9
  },
29
- "author": "jun-sheaf <rjung@mathematic.io>",
30
- "license": "MIT",
10
+ "author": "Mathematic Inc",
11
+ "license": "Apache-2.0",
31
12
  "keywords": [
32
- "json",
33
- "api",
34
- "json-api",
35
13
  "json:api",
14
+ "json-api",
36
15
  "serializer",
37
16
  "normalizer",
38
- "formatter",
39
- "typescript",
40
- "ts",
41
- "backend",
42
- "front-end"
17
+ "typescript"
43
18
  ],
44
- "repository": "mathematic-inc/ts-japi",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/mathematic-inc/ts-japi.git"
22
+ },
45
23
  "engines": {
46
24
  "node": ">=10"
47
25
  },
48
26
  "devDependencies": {
49
- "@babel/cli": "^7.18.6",
50
- "@babel/core": "^7.18.6",
27
+ "@babel/cli": "^7.28.6",
28
+ "@babel/core": "^7.29.0",
51
29
  "@babel/plugin-proposal-class-properties": "^7.18.6",
52
- "@babel/plugin-proposal-export-namespace-from": "^7.18.6",
53
- "@babel/plugin-proposal-object-rest-spread": "^7.18.6",
54
- "@babel/preset-env": "^7.18.6",
55
- "@babel/preset-typescript": "^7.18.6",
56
- "@changesets/cli": "^2.23.0",
57
- "@commitlint/cli": "^17.0.1",
58
- "@commitlint/config-conventional": "^17.0.2",
59
- "@microsoft/api-documenter": "^7.18.0",
60
- "@microsoft/api-extractor": "^7.28.2",
61
- "@types/benchmark": "^2.1.1",
62
- "@types/jest": "^28.1.4",
63
- "@types/lodash": "^4.14.182",
64
- "@types/uuid": "^8.3.4",
65
- "@typescript-eslint/eslint-plugin": "^5.30.3",
66
- "@typescript-eslint/parser": "^5.30.3",
67
- "babel-jest": "^28.1.2",
30
+ "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
31
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
32
+ "@babel/preset-env": "^7.29.0",
33
+ "@babel/preset-typescript": "^7.28.5",
34
+ "@biomejs/biome": "^2.4.6",
35
+ "@changesets/cli": "^2.30.0",
36
+ "@commitlint/cli": "^20.4.3",
37
+ "@commitlint/config-conventional": "^20.4.3",
38
+ "@microsoft/api-documenter": "^7.29.7",
39
+ "@microsoft/api-extractor": "^7.57.7",
40
+ "@types/benchmark": "^2.1.5",
41
+ "@types/jest": "^30.0.0",
42
+ "@types/lodash": "^4.17.24",
43
+ "@types/node": "^25.4.0",
44
+ "@types/uuid": "^11.0.0",
45
+ "babel-jest": "^30.3.0",
68
46
  "benchmark": "^2.1.4",
69
- "core-js": "^3.23.3",
70
- "eslint": "^8.19.0",
71
- "eslint-config-prettier": "^8.5.0",
72
- "eslint-plugin-prettier": "^4.2.1",
73
- "eslint-plugin-tsdoc": "^0.2.16",
74
- "husky": "^8.0.1",
75
- "jest": "^28.1.2",
76
- "lodash": "^4.17.21",
47
+ "core-js": "^3.48.0",
48
+ "jest": "^30.3.0",
49
+ "lefthook": "^2.1.3",
50
+ "lodash": "^4.17.23",
77
51
  "npm-run-all": "^4.1.5",
78
- "prettier": "^2.7.1",
79
- "regenerator-runtime": "^0.13.9",
80
- "ts-node": "^10.8.2",
81
- "typedoc": "^0.23.5",
82
- "typedoc-plugin-markdown": "^3.13.2",
83
- "typescript": "^4.7.4",
84
- "uuid": "^8.3.2"
52
+ "regenerator-runtime": "^0.14.1",
53
+ "ts-node": "^10.9.2",
54
+ "typedoc": "^0.28.17",
55
+ "typedoc-plugin-markdown": "^4.10.0",
56
+ "typescript": "^5.9.3",
57
+ "ultracite": "^7.2.5",
58
+ "uuid": "^13.0.0"
85
59
  },
86
60
  "babel": {
87
61
  "presets": [
@@ -105,5 +79,19 @@
105
79
  "./test/setup/per-test.ts"
106
80
  ],
107
81
  "testEnvironment": "node"
82
+ },
83
+ "scripts": {
84
+ "api-extractor": "api-extractor run",
85
+ "benchmark": "ts-node ./benchmarks/serializer.benchmark",
86
+ "build": "tsc",
87
+ "clean": "make clean",
88
+ "commitlint": "commitlint --from=HEAD~1",
89
+ "docs": "npm run api-extractor && ts-node tools/generate_docs.ts",
90
+ "format": "ultracite fix",
91
+ "examples": "ts-node ./examples/",
92
+ "lint": "ultracite check",
93
+ "playground": "ts-node ./benchmarks/playground.benchmark",
94
+ "test": "jest --runInBand --verbose --coverage",
95
+ "test:watch": "jest --runInBand --verbose --watch"
108
96
  }
109
- }
97
+ }
@@ -1,8 +1,13 @@
1
1
  {
2
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3
+ "bump-minor-pre-major": true,
4
+ "bump-patch-for-minor-pre-major": true,
5
+ "initial-version": "0.1.0",
2
6
  "packages": {
3
7
  ".": {
4
- "releaseType": "node",
5
- "include-component-in-tag": false
8
+ "include-component-in-tag": false,
9
+ "release-type": "node"
6
10
  }
7
- }
11
+ },
12
+ "plugins": ["sentence-case"]
8
13
  }
@@ -14,20 +14,18 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { copyFileSync } from 'fs';
18
- import { join } from 'path';
19
- import { chdir } from 'process';
17
+ import { copyFileSync } from "node:fs";
18
+ import { join } from "node:path";
19
+ import { chdir } from "node:process";
20
20
 
21
21
  // eslint-disable-next-line import/extensions
22
- import { generateDocs } from './internal/custom_markdown_action';
22
+ import { generateDocs } from "./internal/custom_markdown_action";
23
23
 
24
24
  // Change to root directory
25
- chdir(join(__dirname, '..'));
25
+ chdir(join(import.meta.dirname, ".."));
26
26
 
27
27
  // README
28
- {
29
- copyFileSync('README.md', 'docs/index.md');
30
- }
28
+ copyFileSync("README.md", "docs/index.md");
31
29
 
32
30
  // Generate documentation
33
- generateDocs('docs/ts-japi.api.json', 'docs/api');
31
+ generateDocs("docs/ts-japi.api.json", "docs/api");
@@ -14,17 +14,17 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { ApiModel } from '@microsoft/api-extractor-model';
17
+ import { ApiModel } from "@microsoft/api-extractor-model";
18
18
 
19
19
  // eslint-disable-next-line import/extensions
20
- import { MarkdownDocumenter } from './custom_markdown_documenter';
20
+ import { MarkdownDocumenter } from "./custom_markdown_documenter";
21
21
 
22
22
  export const generateDocs = (jsonPath: string, outputDir: string): void => {
23
23
  const apiModel = new ApiModel();
24
24
  apiModel.loadPackage(jsonPath);
25
25
 
26
26
  const markdownDocumenter: MarkdownDocumenter = new MarkdownDocumenter({
27
- apiModel: apiModel,
27
+ apiModel,
28
28
  documenterConfig: undefined,
29
29
  outputFolder: outputDir,
30
30
  });