Skip to content

Commit 18c0e83

Browse files
Added array of values in includereference method (#50)
1 parent 6d62249 commit 18c0e83

File tree

8 files changed

+41
-29
lines changed

8 files changed

+41
-29
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
## Change log
22

3+
### Version: 4.3.0
4+
#### Date: Septmber-09-2024
5+
Feat: Include refernce accepts array of values
6+
37
### Version: 4.2.0
48
#### Date: Septmber-04-2024
59
Feat: Variants support added

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@contentstack/delivery-sdk",
3-
"version": "4.2.0",
3+
"version": "4.3.0",
44
"type": "commonjs",
55
"main": "./dist/cjs/src/index.js",
66
"types": "./dist/types/src/index.d.ts",

src/lib/entries.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,17 @@ export class Entries extends EntryQueryable {
111111
* @param {string} referenceFieldUid - UID of the reference field to include.
112112
* @returns {Entries} - Returns the Entries instance for chaining.
113113
*/
114-
includeReference(referenceFieldUid: string): Entries {
115-
this._queryParams['include[]'] = referenceFieldUid;
116-
114+
includeReference(...referenceFieldUid: (string | string[])[]): Entries {
115+
if (referenceFieldUid.length) {
116+
referenceFieldUid.forEach(value => {
117+
if (!Array.isArray(this._queryParams['include[]'])) {
118+
this._queryParams['include[]'] = [];
119+
}
120+
(this._queryParams['include[]'] as string[]).push(...(Array.isArray(value) ? value : [value]));
121+
});
122+
} else {
123+
console.error("Argument should be a String or an Array.");
124+
}
117125
return this;
118126
}
119127

src/lib/entry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export class Entry {
88
private _contentTypeUid: string;
99
private _entryUid: string;
1010
private _urlPath: string;
11-
_queryParams: { [key: string]: string | number } = {};
11+
_queryParams: { [key: string]: string | number | string[] } = {};
1212

1313
constructor(client: AxiosInstance, contentTypeUid: string, entryUid: string) {
1414
this._client = client;

src/lib/internal-types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ export type params = {
33
}
44

55
export type queryParams = {
6-
[key: string]: string | boolean | number
6+
[key: string]: string | boolean | number | string[]
77
}

test/unit/entries.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ describe('Entries class', () => {
3535
it('should set the include parameter to the given reference field UID', () => {
3636
const referenceFieldUid = 'referenceFieldUid';
3737
entry.includeReference(referenceFieldUid);
38+
expect(entry._queryParams['include[]']).toContain(referenceFieldUid);
39+
});
3840

39-
expect(entry._queryParams['include[]']).toBe(referenceFieldUid);
40-
});
4141

4242
it('should add "include_fallback" in _queryParams when includeFallback method is called', () => {
4343
const returnedValue = entry.includeFallback();

test/utils/mocks.ts

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ const assetQueryFindResponseDataMock = {
8181
"environment": "blta39a4441696e35e0",
8282
"locale": "en-us",
8383
"time": "2019-08-19T12:28:47.432Z",
84-
"user": "***REMOVED***"
84+
"user": "blt587a89fc7883c56700a95bfe"
8585
}
8686
},
8787
{
@@ -122,7 +122,7 @@ const assetQueryFindResponseDataMock = {
122122
"environment": "blta39a4441696e35e0",
123123
"locale": "en-us",
124124
"time": "2019-08-19T12:28:47.432Z",
125-
"user": "***REMOVED***"
125+
"user": "blt587a89fc7883c56700a95bfe"
126126
}
127127
},
128128
{
@@ -163,7 +163,7 @@ const assetQueryFindResponseDataMock = {
163163
"environment": "blta39a4441696e35e0",
164164
"locale": "en-us",
165165
"time": "2019-08-19T12:28:47.432Z",
166-
"user": "***REMOVED***"
166+
"user": "blt587a89fc7883c56700a95bfe"
167167
}
168168
},
169169
{
@@ -204,7 +204,7 @@ const assetQueryFindResponseDataMock = {
204204
"environment": "blta39a4441696e35e0",
205205
"locale": "en-us",
206206
"time": "2019-08-19T12:28:47.432Z",
207-
"user": "***REMOVED***"
207+
"user": "blt587a89fc7883c56700a95bfe"
208208
}
209209
},
210210
{
@@ -245,7 +245,7 @@ const assetQueryFindResponseDataMock = {
245245
"environment": "blta39a4441696e35e0",
246246
"locale": "en-us",
247247
"time": "2019-08-19T12:28:47.432Z",
248-
"user": "***REMOVED***"
248+
"user": "blt587a89fc7883c56700a95bfe"
249249
}
250250
},
251251
{
@@ -286,7 +286,7 @@ const assetQueryFindResponseDataMock = {
286286
"environment": "blta39a4441696e35e0",
287287
"locale": "en-us",
288288
"time": "2019-08-19T12:28:47.432Z",
289-
"user": "***REMOVED***"
289+
"user": "blt587a89fc7883c56700a95bfe"
290290
}
291291
},
292292
]
@@ -1077,7 +1077,7 @@ const assetFetchDataMock = {
10771077
"environment": "blta39a4441696e35e0",
10781078
"locale": "en-us",
10791079
"time": "2019-08-19T12:28:47.432Z",
1080-
"user": "***REMOVED***"
1080+
"user": "blt587a89fc7883c56700a95bfe"
10811081
}
10821082

10831083
}
@@ -1226,7 +1226,7 @@ const entryFindMock = {
12261226
"environment": "blta39a4441696e35e0",
12271227
"locale": "en-us",
12281228
"time": "2019-08-19T12:28:56.964Z",
1229-
"user": "***REMOVED***"
1229+
"user": "blt587a89fc7883c56700a95bfe"
12301230
}
12311231
}
12321232
],
@@ -1291,7 +1291,7 @@ const entryFindMock = {
12911291
"ACL": {},
12921292
"uid": "blt4f1fd991ec80e52f",
12931293
"created_by": "bltcd82b2c6bf913241",
1294-
"updated_by": "***REMOVED***",
1294+
"updated_by": "blt42e55757d70d5f81026a2b9f",
12951295
"created_at": "2019-08-16T08:19:25.397Z",
12961296
"updated_at": "2019-08-23T13:02:21.457Z",
12971297
"_version": 4,
@@ -1300,7 +1300,7 @@ const entryFindMock = {
13001300
"environment": "blta39a4441696e35e0",
13011301
"locale": "en-us",
13021302
"time": "2019-08-23T13:02:25.439Z",
1303-
"user": "***REMOVED***"
1303+
"user": "blt42e55757d70d5f81026a2b9f"
13041304
}
13051305
},
13061306
{
@@ -1328,7 +1328,7 @@ const entryFindMock = {
13281328
"environment": "blta39a4441696e35e0",
13291329
"locale": "en-us",
13301330
"time": "2019-08-19T12:28:47.432Z",
1331-
"user": "***REMOVED***"
1331+
"user": "blt587a89fc7883c56700a95bfe"
13321332
}
13331333
}
13341334
],
@@ -1387,7 +1387,7 @@ const entryFindMock = {
13871387
"ACL": {},
13881388
"uid": "blta278bb5672180c94",
13891389
"created_by": "bltcd82b2c6bf913241",
1390-
"updated_by": "***REMOVED***",
1390+
"updated_by": "blt42e55757d70d5f81026a2b9f",
13911391
"created_at": "2019-08-16T08:19:27.182Z",
13921392
"updated_at": "2019-08-23T13:01:19.866Z",
13931393
"_version": 4,
@@ -1396,7 +1396,7 @@ const entryFindMock = {
13961396
"environment": "blta39a4441696e35e0",
13971397
"locale": "en-us",
13981398
"time": "2019-08-23T13:01:23.290Z",
1399-
"user": "***REMOVED***"
1399+
"user": "blt42e55757d70d5f81026a2b9f"
14001400
}
14011401
},
14021402
{
@@ -1424,7 +1424,7 @@ const entryFindMock = {
14241424
"environment": "blta39a4441696e35e0",
14251425
"locale": "en-us",
14261426
"time": "2019-08-19T12:28:56.964Z",
1427-
"user": "***REMOVED***"
1427+
"user": "blt587a89fc7883c56700a95bfe"
14281428
}
14291429
}
14301430
],
@@ -1476,7 +1476,7 @@ const entryFindMock = {
14761476
"ACL": {},
14771477
"uid": "bltbd92ac498e3d5f96",
14781478
"created_by": "bltcd82b2c6bf913241",
1479-
"updated_by": "***REMOVED***",
1479+
"updated_by": "blt42e55757d70d5f81026a2b9f",
14801480
"created_at": "2019-08-16T08:19:20.072Z",
14811481
"updated_at": "2019-08-23T12:50:53.424Z",
14821482
"_version": 13,
@@ -1485,7 +1485,7 @@ const entryFindMock = {
14851485
"environment": "blta39a4441696e35e0",
14861486
"locale": "en-us",
14871487
"time": "2019-08-23T12:50:56.727Z",
1488-
"user": "***REMOVED***"
1488+
"user": "blt42e55757d70d5f81026a2b9f"
14891489
}
14901490
}
14911491
]
@@ -1517,7 +1517,7 @@ const entryFetchMock = {
15171517
"environment": "blta39a4441696e35e0",
15181518
"locale": "en-us",
15191519
"time": "2019-08-19T12:28:47.432Z",
1520-
"user": "***REMOVED***"
1520+
"user": "blt587a89fc7883c56700a95bfe"
15211521
}
15221522
}
15231523
],
@@ -1576,7 +1576,7 @@ const entryFetchMock = {
15761576
"ACL": {},
15771577
"uid": "blta278bb5672180c94",
15781578
"created_by": "bltcd82b2c6bf913241",
1579-
"updated_by": "***REMOVED***",
1579+
"updated_by": "blt42e55757d70d5f81026a2b9f",
15801580
"created_at": "2019-08-16T08:19:27.182Z",
15811581
"updated_at": "2019-08-23T13:01:19.866Z",
15821582
"_version": 4,
@@ -1585,7 +1585,7 @@ const entryFetchMock = {
15851585
"environment": "blta39a4441696e35e0",
15861586
"locale": "en-us",
15871587
"time": "2019-08-23T13:01:23.290Z",
1588-
"user": "***REMOVED***"
1588+
"user": "blt42e55757d70d5f81026a2b9f"
15891589
}
15901590
}
15911591
}

0 commit comments

Comments
 (0)