@bagelink/sdk 1.9.164 → 1.9.168

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.
package/dist/index.cjs CHANGED
@@ -1457,12 +1457,14 @@ class ApiResponse extends Array {
1457
1457
  /** Raw axios response */
1458
1458
  $raw;
1459
1459
  /** Total number of items (from x-total-count header) */
1460
- totalCount;
1461
- /** Current page number (from x-page header) */
1460
+ total;
1461
+ /** Number of items per page (from x-limit header) */
1462
+ limit;
1463
+ /** Number of items skipped (from x-offset header) */
1464
+ offset;
1465
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
1462
1466
  page;
1463
- /** Items per page (from x-per-page header) */
1464
- perPage;
1465
- /** Total number of pages (calculated) */
1467
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
1466
1468
  totalPages;
1467
1469
  /** Rate limit remaining (from x-ratelimit-remaining header) */
1468
1470
  rateLimit;
@@ -1477,9 +1479,10 @@ class ApiResponse extends Array {
1477
1479
  if (response) {
1478
1480
  this.$raw = response;
1479
1481
  this.$metadata = ApiResponse.parseMetadataStatic(response);
1480
- this.totalCount = this.$metadata.totalCount;
1482
+ this.total = this.$metadata.total;
1483
+ this.limit = this.$metadata.limit;
1484
+ this.offset = this.$metadata.offset;
1481
1485
  this.page = this.$metadata.page;
1482
- this.perPage = this.$metadata.perPage;
1483
1486
  this.totalPages = this.$metadata.totalPages;
1484
1487
  this.rateLimit = this.$metadata.rateLimit;
1485
1488
  this.rateLimitReset = this.$metadata.rateLimitReset;
@@ -1495,16 +1498,17 @@ class ApiResponse extends Array {
1495
1498
  const obj = Object.assign(/* @__PURE__ */ Object.create(null), data);
1496
1499
  obj.$raw = response;
1497
1500
  obj.$metadata = ApiResponse.parseMetadataStatic(response);
1498
- obj.totalCount = obj.$metadata.totalCount;
1501
+ obj.total = obj.$metadata.total;
1502
+ obj.limit = obj.$metadata.limit;
1503
+ obj.offset = obj.$metadata.offset;
1499
1504
  obj.page = obj.$metadata.page;
1500
- obj.perPage = obj.$metadata.perPage;
1501
1505
  obj.totalPages = obj.$metadata.totalPages;
1502
1506
  obj.rateLimit = obj.$metadata.rateLimit;
1503
1507
  obj.rateLimitReset = obj.$metadata.rateLimitReset;
1504
1508
  obj.getHeader = (name) => response?.headers[name.toLowerCase()];
1505
- obj.hasPagination = obj.totalCount !== void 0 || obj.page !== void 0;
1506
- obj.hasNextPage = obj.page && obj.totalPages ? obj.page < obj.totalPages : false;
1507
- obj.hasPrevPage = obj.page ? obj.page > 1 : false;
1509
+ obj.hasPagination = obj.total !== void 0 || obj.offset !== void 0;
1510
+ obj.hasNextPage = obj.total !== void 0 && obj.limit !== void 0 && obj.offset !== void 0 ? obj.offset + obj.limit < obj.total : false;
1511
+ obj.hasPrevPage = obj.offset !== void 0 ? obj.offset > 0 : false;
1508
1512
  return obj;
1509
1513
  }
1510
1514
  const instance = new ApiResponse(data, response);
@@ -1514,16 +1518,19 @@ class ApiResponse extends Array {
1514
1518
  const { headers } = response;
1515
1519
  const metadata = {};
1516
1520
  if (headers["x-total-count"]) {
1517
- metadata.totalCount = Number(headers["x-total-count"]);
1521
+ metadata.total = Number(headers["x-total-count"]);
1518
1522
  }
1519
- if (headers["x-page"]) {
1520
- metadata.page = Number(headers["x-page"]);
1523
+ if (headers["x-limit"]) {
1524
+ metadata.limit = Number(headers["x-limit"]);
1521
1525
  }
1522
- if (headers["x-per-page"]) {
1523
- metadata.perPage = Number(headers["x-per-page"]);
1526
+ if (headers["x-offset"]) {
1527
+ metadata.offset = Number(headers["x-offset"]);
1524
1528
  }
1525
- if (metadata.totalCount && metadata.perPage) {
1526
- metadata.totalPages = Math.ceil(metadata.totalCount / metadata.perPage);
1529
+ if (metadata.total !== void 0 && metadata.limit) {
1530
+ metadata.totalPages = Math.ceil(metadata.total / metadata.limit);
1531
+ }
1532
+ if (metadata.offset !== void 0 && metadata.limit) {
1533
+ metadata.page = Math.floor(metadata.offset / metadata.limit) + 1;
1527
1534
  }
1528
1535
  if (headers["x-ratelimit-remaining"] || headers["x-rate-limit-remaining"]) {
1529
1536
  metadata.rateLimit = Number(
@@ -1546,15 +1553,15 @@ class ApiResponse extends Array {
1546
1553
  return this.$raw.headers[name.toLowerCase()];
1547
1554
  }
1548
1555
  get hasPagination() {
1549
- return this.totalCount !== void 0 || this.page !== void 0;
1556
+ return this.total !== void 0 || this.offset !== void 0;
1550
1557
  }
1551
1558
  get hasNextPage() {
1552
- if (!this.page || !this.totalPages) return false;
1553
- return this.page < this.totalPages;
1559
+ if (this.total === void 0 || this.limit === void 0 || this.offset === void 0) return false;
1560
+ return this.offset + this.limit < this.total;
1554
1561
  }
1555
1562
  get hasPrevPage() {
1556
- if (!this.page) return false;
1557
- return this.page > 1;
1563
+ if (this.offset === void 0) return false;
1564
+ return this.offset > 0;
1558
1565
  }
1559
1566
  }
1560
1567
  function parseApiError(error) {
package/dist/index.d.cts CHANGED
@@ -529,12 +529,14 @@ declare function formatAPIErrorMessage(err: unknown): string;
529
529
  */
530
530
  interface ResponseMetadata {
531
531
  /** Total number of items (from x-total-count header) */
532
- totalCount?: number;
533
- /** Current page number (from x-page header) */
532
+ total?: number;
533
+ /** Number of items per page (from x-limit header) */
534
+ limit?: number;
535
+ /** Number of items skipped (from x-offset header) */
536
+ offset?: number;
537
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
534
538
  page?: number;
535
- /** Items per page (from x-per-page header) */
536
- perPage?: number;
537
- /** Total number of pages */
539
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
538
540
  totalPages?: number;
539
541
  /** Rate limit remaining (from x-rate-limit-remaining header) */
540
542
  rateLimit?: number;
@@ -558,12 +560,14 @@ declare class ApiResponse<TData = any> extends Array<TData extends Array<infer U
558
560
  /** Raw axios response */
559
561
  $raw: AxiosResponse<TData>;
560
562
  /** Total number of items (from x-total-count header) */
561
- totalCount?: number;
562
- /** Current page number (from x-page header) */
563
+ total?: number;
564
+ /** Number of items per page (from x-limit header) */
565
+ limit?: number;
566
+ /** Number of items skipped (from x-offset header) */
567
+ offset?: number;
568
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
563
569
  page?: number;
564
- /** Items per page (from x-per-page header) */
565
- perPage?: number;
566
- /** Total number of pages (calculated) */
570
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
567
571
  totalPages?: number;
568
572
  /** Rate limit remaining (from x-ratelimit-remaining header) */
569
573
  rateLimit?: number;
package/dist/index.d.mts CHANGED
@@ -529,12 +529,14 @@ declare function formatAPIErrorMessage(err: unknown): string;
529
529
  */
530
530
  interface ResponseMetadata {
531
531
  /** Total number of items (from x-total-count header) */
532
- totalCount?: number;
533
- /** Current page number (from x-page header) */
532
+ total?: number;
533
+ /** Number of items per page (from x-limit header) */
534
+ limit?: number;
535
+ /** Number of items skipped (from x-offset header) */
536
+ offset?: number;
537
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
534
538
  page?: number;
535
- /** Items per page (from x-per-page header) */
536
- perPage?: number;
537
- /** Total number of pages */
539
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
538
540
  totalPages?: number;
539
541
  /** Rate limit remaining (from x-rate-limit-remaining header) */
540
542
  rateLimit?: number;
@@ -558,12 +560,14 @@ declare class ApiResponse<TData = any> extends Array<TData extends Array<infer U
558
560
  /** Raw axios response */
559
561
  $raw: AxiosResponse<TData>;
560
562
  /** Total number of items (from x-total-count header) */
561
- totalCount?: number;
562
- /** Current page number (from x-page header) */
563
+ total?: number;
564
+ /** Number of items per page (from x-limit header) */
565
+ limit?: number;
566
+ /** Number of items skipped (from x-offset header) */
567
+ offset?: number;
568
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
563
569
  page?: number;
564
- /** Items per page (from x-per-page header) */
565
- perPage?: number;
566
- /** Total number of pages (calculated) */
570
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
567
571
  totalPages?: number;
568
572
  /** Rate limit remaining (from x-ratelimit-remaining header) */
569
573
  rateLimit?: number;
package/dist/index.d.ts CHANGED
@@ -529,12 +529,14 @@ declare function formatAPIErrorMessage(err: unknown): string;
529
529
  */
530
530
  interface ResponseMetadata {
531
531
  /** Total number of items (from x-total-count header) */
532
- totalCount?: number;
533
- /** Current page number (from x-page header) */
532
+ total?: number;
533
+ /** Number of items per page (from x-limit header) */
534
+ limit?: number;
535
+ /** Number of items skipped (from x-offset header) */
536
+ offset?: number;
537
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
534
538
  page?: number;
535
- /** Items per page (from x-per-page header) */
536
- perPage?: number;
537
- /** Total number of pages */
539
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
538
540
  totalPages?: number;
539
541
  /** Rate limit remaining (from x-rate-limit-remaining header) */
540
542
  rateLimit?: number;
@@ -558,12 +560,14 @@ declare class ApiResponse<TData = any> extends Array<TData extends Array<infer U
558
560
  /** Raw axios response */
559
561
  $raw: AxiosResponse<TData>;
560
562
  /** Total number of items (from x-total-count header) */
561
- totalCount?: number;
562
- /** Current page number (from x-page header) */
563
+ total?: number;
564
+ /** Number of items per page (from x-limit header) */
565
+ limit?: number;
566
+ /** Number of items skipped (from x-offset header) */
567
+ offset?: number;
568
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
563
569
  page?: number;
564
- /** Items per page (from x-per-page header) */
565
- perPage?: number;
566
- /** Total number of pages (calculated) */
570
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
567
571
  totalPages?: number;
568
572
  /** Rate limit remaining (from x-ratelimit-remaining header) */
569
573
  rateLimit?: number;
package/dist/index.mjs CHANGED
@@ -1451,12 +1451,14 @@ class ApiResponse extends Array {
1451
1451
  /** Raw axios response */
1452
1452
  $raw;
1453
1453
  /** Total number of items (from x-total-count header) */
1454
- totalCount;
1455
- /** Current page number (from x-page header) */
1454
+ total;
1455
+ /** Number of items per page (from x-limit header) */
1456
+ limit;
1457
+ /** Number of items skipped (from x-offset header) */
1458
+ offset;
1459
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
1456
1460
  page;
1457
- /** Items per page (from x-per-page header) */
1458
- perPage;
1459
- /** Total number of pages (calculated) */
1461
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
1460
1462
  totalPages;
1461
1463
  /** Rate limit remaining (from x-ratelimit-remaining header) */
1462
1464
  rateLimit;
@@ -1471,9 +1473,10 @@ class ApiResponse extends Array {
1471
1473
  if (response) {
1472
1474
  this.$raw = response;
1473
1475
  this.$metadata = ApiResponse.parseMetadataStatic(response);
1474
- this.totalCount = this.$metadata.totalCount;
1476
+ this.total = this.$metadata.total;
1477
+ this.limit = this.$metadata.limit;
1478
+ this.offset = this.$metadata.offset;
1475
1479
  this.page = this.$metadata.page;
1476
- this.perPage = this.$metadata.perPage;
1477
1480
  this.totalPages = this.$metadata.totalPages;
1478
1481
  this.rateLimit = this.$metadata.rateLimit;
1479
1482
  this.rateLimitReset = this.$metadata.rateLimitReset;
@@ -1489,16 +1492,17 @@ class ApiResponse extends Array {
1489
1492
  const obj = Object.assign(/* @__PURE__ */ Object.create(null), data);
1490
1493
  obj.$raw = response;
1491
1494
  obj.$metadata = ApiResponse.parseMetadataStatic(response);
1492
- obj.totalCount = obj.$metadata.totalCount;
1495
+ obj.total = obj.$metadata.total;
1496
+ obj.limit = obj.$metadata.limit;
1497
+ obj.offset = obj.$metadata.offset;
1493
1498
  obj.page = obj.$metadata.page;
1494
- obj.perPage = obj.$metadata.perPage;
1495
1499
  obj.totalPages = obj.$metadata.totalPages;
1496
1500
  obj.rateLimit = obj.$metadata.rateLimit;
1497
1501
  obj.rateLimitReset = obj.$metadata.rateLimitReset;
1498
1502
  obj.getHeader = (name) => response?.headers[name.toLowerCase()];
1499
- obj.hasPagination = obj.totalCount !== void 0 || obj.page !== void 0;
1500
- obj.hasNextPage = obj.page && obj.totalPages ? obj.page < obj.totalPages : false;
1501
- obj.hasPrevPage = obj.page ? obj.page > 1 : false;
1503
+ obj.hasPagination = obj.total !== void 0 || obj.offset !== void 0;
1504
+ obj.hasNextPage = obj.total !== void 0 && obj.limit !== void 0 && obj.offset !== void 0 ? obj.offset + obj.limit < obj.total : false;
1505
+ obj.hasPrevPage = obj.offset !== void 0 ? obj.offset > 0 : false;
1502
1506
  return obj;
1503
1507
  }
1504
1508
  const instance = new ApiResponse(data, response);
@@ -1508,16 +1512,19 @@ class ApiResponse extends Array {
1508
1512
  const { headers } = response;
1509
1513
  const metadata = {};
1510
1514
  if (headers["x-total-count"]) {
1511
- metadata.totalCount = Number(headers["x-total-count"]);
1515
+ metadata.total = Number(headers["x-total-count"]);
1512
1516
  }
1513
- if (headers["x-page"]) {
1514
- metadata.page = Number(headers["x-page"]);
1517
+ if (headers["x-limit"]) {
1518
+ metadata.limit = Number(headers["x-limit"]);
1515
1519
  }
1516
- if (headers["x-per-page"]) {
1517
- metadata.perPage = Number(headers["x-per-page"]);
1520
+ if (headers["x-offset"]) {
1521
+ metadata.offset = Number(headers["x-offset"]);
1518
1522
  }
1519
- if (metadata.totalCount && metadata.perPage) {
1520
- metadata.totalPages = Math.ceil(metadata.totalCount / metadata.perPage);
1523
+ if (metadata.total !== void 0 && metadata.limit) {
1524
+ metadata.totalPages = Math.ceil(metadata.total / metadata.limit);
1525
+ }
1526
+ if (metadata.offset !== void 0 && metadata.limit) {
1527
+ metadata.page = Math.floor(metadata.offset / metadata.limit) + 1;
1521
1528
  }
1522
1529
  if (headers["x-ratelimit-remaining"] || headers["x-rate-limit-remaining"]) {
1523
1530
  metadata.rateLimit = Number(
@@ -1540,15 +1547,15 @@ class ApiResponse extends Array {
1540
1547
  return this.$raw.headers[name.toLowerCase()];
1541
1548
  }
1542
1549
  get hasPagination() {
1543
- return this.totalCount !== void 0 || this.page !== void 0;
1550
+ return this.total !== void 0 || this.offset !== void 0;
1544
1551
  }
1545
1552
  get hasNextPage() {
1546
- if (!this.page || !this.totalPages) return false;
1547
- return this.page < this.totalPages;
1553
+ if (this.total === void 0 || this.limit === void 0 || this.offset === void 0) return false;
1554
+ return this.offset + this.limit < this.total;
1548
1555
  }
1549
1556
  get hasPrevPage() {
1550
- if (!this.page) return false;
1551
- return this.page > 1;
1557
+ if (this.offset === void 0) return false;
1558
+ return this.offset > 0;
1552
1559
  }
1553
1560
  }
1554
1561
  function parseApiError(error) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/sdk",
3
3
  "type": "module",
4
- "version": "1.9.164",
4
+ "version": "1.9.168",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Bagel Studio",
package/src/index.ts CHANGED
@@ -23,12 +23,14 @@ export { unwrap, type Unwrapped } from './unwrap'
23
23
  */
24
24
  export interface ResponseMetadata {
25
25
  /** Total number of items (from x-total-count header) */
26
- totalCount?: number
27
- /** Current page number (from x-page header) */
26
+ total?: number
27
+ /** Number of items per page (from x-limit header) */
28
+ limit?: number
29
+ /** Number of items skipped (from x-offset header) */
30
+ offset?: number
31
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
28
32
  page?: number
29
- /** Items per page (from x-per-page header) */
30
- perPage?: number
31
- /** Total number of pages */
33
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
32
34
  totalPages?: number
33
35
  /** Rate limit remaining (from x-rate-limit-remaining header) */
34
36
  rateLimit?: number
@@ -55,15 +57,18 @@ export class ApiResponse<TData = any> extends Array<TData extends Array<infer U>
55
57
  public $raw!: AxiosResponse<TData>
56
58
 
57
59
  /** Total number of items (from x-total-count header) */
58
- public totalCount?: number
60
+ public total?: number
59
61
 
60
- /** Current page number (from x-page header) */
61
- public page?: number
62
+ /** Number of items per page (from x-limit header) */
63
+ public limit?: number
64
+
65
+ /** Number of items skipped (from x-offset header) */
66
+ public offset?: number
62
67
 
63
- /** Items per page (from x-per-page header) */
64
- public perPage?: number
68
+ /** Current page number (calculated: Math.floor(offset / limit) + 1) */
69
+ public page?: number
65
70
 
66
- /** Total number of pages (calculated) */
71
+ /** Total number of pages (calculated: Math.ceil(total / limit)) */
67
72
  public totalPages?: number
68
73
 
69
74
  /** Rate limit remaining (from x-ratelimit-remaining header) */
@@ -86,9 +91,10 @@ export class ApiResponse<TData = any> extends Array<TData extends Array<infer U>
86
91
  if (response) {
87
92
  this.$raw = response as AxiosResponse<TData>
88
93
  this.$metadata = ApiResponse.parseMetadataStatic(response)
89
- this.totalCount = this.$metadata.totalCount
94
+ this.total = this.$metadata.total
95
+ this.limit = this.$metadata.limit
96
+ this.offset = this.$metadata.offset
90
97
  this.page = this.$metadata.page
91
- this.perPage = this.$metadata.perPage
92
98
  this.totalPages = this.$metadata.totalPages
93
99
  this.rateLimit = this.$metadata.rateLimit
94
100
  this.rateLimitReset = this.$metadata.rateLimitReset
@@ -106,16 +112,19 @@ export class ApiResponse<TData = any> extends Array<TData extends Array<infer U>
106
112
  const obj = Object.assign(Object.create(null), data) as any
107
113
  obj.$raw = response
108
114
  obj.$metadata = ApiResponse.parseMetadataStatic(response)
109
- obj.totalCount = obj.$metadata.totalCount
115
+ obj.total = obj.$metadata.total
116
+ obj.limit = obj.$metadata.limit
117
+ obj.offset = obj.$metadata.offset
110
118
  obj.page = obj.$metadata.page
111
- obj.perPage = obj.$metadata.perPage
112
119
  obj.totalPages = obj.$metadata.totalPages
113
120
  obj.rateLimit = obj.$metadata.rateLimit
114
121
  obj.rateLimitReset = obj.$metadata.rateLimitReset
115
122
  obj.getHeader = (name: string) => response?.headers[name.toLowerCase()]
116
- obj.hasPagination = obj.totalCount !== undefined || obj.page !== undefined
117
- obj.hasNextPage = obj.page && obj.totalPages ? obj.page < obj.totalPages : false
118
- obj.hasPrevPage = obj.page ? obj.page > 1 : false
123
+ obj.hasPagination = obj.total !== undefined || obj.offset !== undefined
124
+ obj.hasNextPage = obj.total !== undefined && obj.limit !== undefined && obj.offset !== undefined
125
+ ? obj.offset + obj.limit < obj.total
126
+ : false
127
+ obj.hasPrevPage = obj.offset !== undefined ? obj.offset > 0 : false
119
128
  return obj
120
129
  }
121
130
 
@@ -129,17 +138,20 @@ export class ApiResponse<TData = any> extends Array<TData extends Array<infer U>
129
138
  const metadata: ResponseMetadata = {}
130
139
 
131
140
  if (headers['x-total-count']) {
132
- metadata.totalCount = Number(headers['x-total-count'])
141
+ metadata.total = Number(headers['x-total-count'])
133
142
  }
134
- if (headers['x-page']) {
135
- metadata.page = Number(headers['x-page'])
143
+ if (headers['x-limit']) {
144
+ metadata.limit = Number(headers['x-limit'])
136
145
  }
137
- if (headers['x-per-page']) {
138
- metadata.perPage = Number(headers['x-per-page'])
146
+ if (headers['x-offset']) {
147
+ metadata.offset = Number(headers['x-offset'])
139
148
  }
140
149
 
141
- if (metadata.totalCount && metadata.perPage) {
142
- metadata.totalPages = Math.ceil(metadata.totalCount / metadata.perPage)
150
+ if (metadata.total !== undefined && metadata.limit) {
151
+ metadata.totalPages = Math.ceil(metadata.total / metadata.limit)
152
+ }
153
+ if (metadata.offset !== undefined && metadata.limit) {
154
+ metadata.page = Math.floor(metadata.offset / metadata.limit) + 1
143
155
  }
144
156
 
145
157
  if (headers['x-ratelimit-remaining'] || headers['x-rate-limit-remaining']) {
@@ -167,17 +179,17 @@ export class ApiResponse<TData = any> extends Array<TData extends Array<infer U>
167
179
  }
168
180
 
169
181
  public get hasPagination(): boolean {
170
- return this.totalCount !== undefined || this.page !== undefined
182
+ return this.total !== undefined || this.offset !== undefined
171
183
  }
172
184
 
173
185
  public get hasNextPage(): boolean {
174
- if (!this.page || !this.totalPages) return false
175
- return this.page < this.totalPages
186
+ if (this.total === undefined || this.limit === undefined || this.offset === undefined) return false
187
+ return this.offset + this.limit < this.total
176
188
  }
177
189
 
178
190
  public get hasPrevPage(): boolean {
179
- if (!this.page) return false
180
- return this.page > 1
191
+ if (this.offset === undefined) return false
192
+ return this.offset > 0
181
193
  }
182
194
  }
183
195