@gradientedge/commercetools-utils 2.5.0 → 3.0.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.
- package/README.md +16 -16
- package/build/api/types.d.ts +2 -2
- package/build/api/types.d.ts.map +1 -1
- package/build/auth/CommercetoolsAuth.d.ts +12 -2
- package/build/auth/CommercetoolsAuth.d.ts.map +1 -1
- package/build/auth/CommercetoolsAuth.js +34 -1
- package/build/auth/CommercetoolsAuth.js.map +1 -1
- package/build/auth/CommercetoolsAuthApi.d.ts +19 -2
- package/build/auth/CommercetoolsAuthApi.d.ts.map +1 -1
- package/build/auth/CommercetoolsAuthApi.js +53 -0
- package/build/auth/CommercetoolsAuthApi.js.map +1 -1
- package/build/auth/types.d.ts +27 -1
- package/build/auth/types.d.ts.map +1 -1
- package/build/auth/types.js.map +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
+
[](https://github.com/semantic-release/semantic-release)
|
|
2
|
+
[](http://commitizen.github.io/cz-cli/)
|
|
3
|
+
|
|
1
4
|
# Gradient Edge commercetools utils
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
This library is undergoing many changes, and will not be ready for public consumption until
|
|
6
|
-
at least version 2. This message will be removed when the API has been stabilised. Your
|
|
7
|
-
comments and PRs are however very welcome.
|
|
8
|
-
# ************************
|
|
6
|
+
An easy-to-use toolkit for working with the commercetools HTTP API:
|
|
7
|
+
https://docs.commercetools.com/api/
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
**Please note:** this API is being built out bit by bit. If you're looking to use a method
|
|
10
|
+
that doesn't appear to exist, please either raise an issue or feel free to make the change
|
|
11
|
+
yourself and raise a PR 👍
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
See full documentation here: [API documentation](https://gradientedge.github.io/commercetools-utils/).
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## How does this compare to the official commercetools SDK?
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
We think it's easier to use and less verbose. On the flip side, the
|
|
18
|
+
[official commercetools SDK](https://github.com/commercetools/commercetools-sdk-typescript) is
|
|
19
|
+
more flexible and certainly more complete and up to date.
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
npm install --save @gradientedge/commercetools-utils
|
|
21
|
-
```
|
|
21
|
+
## Installation
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Simply install the `@gradientedge/commercetools-utils` package using your package manager, e.g.:
|
|
24
24
|
|
|
25
25
|
```shell
|
|
26
|
-
|
|
26
|
+
npm install --save @gradientedge/commercetools-utils
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
## Code examples
|
package/build/api/types.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { CommercetoolsBaseConfig } from '../types';
|
|
3
2
|
import * as https from 'https';
|
|
3
|
+
import { CommercetoolsAuthConfig } from '../auth';
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for constructing the {@see CommercetoolsApi} class.
|
|
6
6
|
*/
|
|
7
|
-
export interface CommercetoolsApiConfig extends
|
|
7
|
+
export interface CommercetoolsApiConfig extends CommercetoolsAuthConfig {
|
|
8
8
|
retry?: CommercetoolsRetryConfig;
|
|
9
9
|
httpsAgent?: https.Agent;
|
|
10
10
|
}
|
package/build/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/api/types.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/api/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnonymousGrantOptions, CommercetoolsAuthConfig, LoginOptions } from './types';
|
|
1
|
+
import { AnonymousGrantOptions, CommercetoolsAuthConfig, LoginOptions, LogoutOptions, RevokeTokenOptions } from './types';
|
|
2
2
|
import { CommercetoolsGrant } from './CommercetoolsGrant';
|
|
3
3
|
/**
|
|
4
4
|
* This interface used for holding the internal config of {@see CommercetoolsAuth}.
|
|
@@ -9,7 +9,6 @@ import { CommercetoolsGrant } from './CommercetoolsGrant';
|
|
|
9
9
|
*/
|
|
10
10
|
interface Config extends CommercetoolsAuthConfig {
|
|
11
11
|
clientScopes: string[];
|
|
12
|
-
customerScopes?: string[];
|
|
13
12
|
refreshIfWithinSecs: number;
|
|
14
13
|
timeoutMs: number;
|
|
15
14
|
storeKey?: string;
|
|
@@ -167,6 +166,17 @@ export declare class CommercetoolsAuth {
|
|
|
167
166
|
* ```
|
|
168
167
|
*/
|
|
169
168
|
getAnonymousGrant(options?: AnonymousGrantOptions): Promise<CommercetoolsGrant>;
|
|
169
|
+
/**
|
|
170
|
+
* Logout the customer
|
|
171
|
+
*/
|
|
172
|
+
logout(options: LogoutOptions): Promise<void>;
|
|
173
|
+
/**
|
|
174
|
+
* Revoke the given access/refresh token
|
|
175
|
+
*
|
|
176
|
+
* Remember that you can only revoke tokens that were generated using
|
|
177
|
+
* this client access token.
|
|
178
|
+
*/
|
|
179
|
+
revokeToken(options: RevokeTokenOptions): Promise<void>;
|
|
170
180
|
}
|
|
171
181
|
export {};
|
|
172
182
|
//# sourceMappingURL=CommercetoolsAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommercetoolsAuth.d.ts","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuth.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CommercetoolsAuth.d.ts","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGzD;;;;;;GAMG;AACH,UAAU,MAAO,SAAQ,uBAAuB;IAC9C,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,iBAAiB;IAC5B;;;;OAIG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,OAAO,CAAC,KAAK,CAAC,CAAoB;IAElC;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAkC;IAEtD;;;OAGG;IACH,OAAO,CAAC,GAAG,CAAsB;IAEjC;;;;;OAKG;gBACS,MAAM,EAAE,uBAAuB;IAU3C;;;;;;OAMG;IACU,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAa1D;;OAEG;IACU,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACU,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsB5F;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;;;;OAKG;IACU,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrE"}
|
|
@@ -217,7 +217,7 @@ var CommercetoolsAuth = /** @class */ (function () {
|
|
|
217
217
|
return [4 /*yield*/, this.getClientGrant()];
|
|
218
218
|
case 1:
|
|
219
219
|
_a.sent();
|
|
220
|
-
return [4 /*yield*/, this.api.login(__assign(__assign({}, options), { scopes: scopes
|
|
220
|
+
return [4 /*yield*/, this.api.login(__assign(__assign({}, options), { scopes: scopes }))];
|
|
221
221
|
case 2:
|
|
222
222
|
data = _a.sent();
|
|
223
223
|
return [2 /*return*/, new CommercetoolsGrant_1.CommercetoolsGrant(data)];
|
|
@@ -287,6 +287,39 @@ var CommercetoolsAuth = /** @class */ (function () {
|
|
|
287
287
|
});
|
|
288
288
|
});
|
|
289
289
|
};
|
|
290
|
+
/**
|
|
291
|
+
* Logout the customer
|
|
292
|
+
*/
|
|
293
|
+
CommercetoolsAuth.prototype.logout = function (options) {
|
|
294
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
295
|
+
return __generator(this, function (_a) {
|
|
296
|
+
switch (_a.label) {
|
|
297
|
+
case 0: return [4 /*yield*/, this.api.logout(options)];
|
|
298
|
+
case 1:
|
|
299
|
+
_a.sent();
|
|
300
|
+
return [2 /*return*/];
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* Revoke the given access/refresh token
|
|
307
|
+
*
|
|
308
|
+
* Remember that you can only revoke tokens that were generated using
|
|
309
|
+
* this client access token.
|
|
310
|
+
*/
|
|
311
|
+
CommercetoolsAuth.prototype.revokeToken = function (options) {
|
|
312
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
313
|
+
return __generator(this, function (_a) {
|
|
314
|
+
switch (_a.label) {
|
|
315
|
+
case 0: return [4 /*yield*/, this.api.revokeToken(options)];
|
|
316
|
+
case 1:
|
|
317
|
+
_a.sent();
|
|
318
|
+
return [2 /*return*/];
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
};
|
|
290
323
|
return CommercetoolsAuth;
|
|
291
324
|
}());
|
|
292
325
|
exports.CommercetoolsAuth = CommercetoolsAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommercetoolsAuth.js","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"CommercetoolsAuth.js","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CommercetoolsAuthApiConfig, CommercetoolsGrantResponse } from './types';
|
|
1
|
+
import { CommercetoolsAuthApiConfig, CommercetoolsGrantResponse, LoginOptions, LogoutOptions, RevokeTokenOptions } from './types';
|
|
2
2
|
import { RegionEndpoints } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Provides an easy to use set of methods for communicating with the commercetools
|
|
@@ -36,7 +36,24 @@ export declare class CommercetoolsAuthApi {
|
|
|
36
36
|
* Login the customer using the given options:
|
|
37
37
|
* https://docs.commercetools.com/api/authorization#password-flow
|
|
38
38
|
*/
|
|
39
|
-
login(options:
|
|
39
|
+
login(options: LoginOptions & {
|
|
40
|
+
scopes: string[];
|
|
41
|
+
}): Promise<CommercetoolsGrantResponse>;
|
|
42
|
+
/**
|
|
43
|
+
* Revoke a refresh or access token:
|
|
44
|
+
* https://docs.commercetools.com/api/authorization#revoking-tokens
|
|
45
|
+
*
|
|
46
|
+
* If you're logging out a customer, you will likely want to call this method twice;
|
|
47
|
+
* once with the access token and once with the refresh token (you can call these in parallel).
|
|
48
|
+
*/
|
|
49
|
+
revokeToken(options: RevokeTokenOptions): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Log the customer out
|
|
52
|
+
*
|
|
53
|
+
* This is a convenience mechanism which makes 2 calls to the `revokeToken` method under
|
|
54
|
+
* the hood (in parallel). One with the access token and one with the refresh token.
|
|
55
|
+
*/
|
|
56
|
+
logout(options: LogoutOptions): Promise<void>;
|
|
40
57
|
/**
|
|
41
58
|
* Get a grant an anonymous customer:
|
|
42
59
|
* https://docs.commercetools.com/api/authorization#tokens-for-anonymous-sessions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommercetoolsAuthApi.d.ts","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CommercetoolsAuthApi.d.ts","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAE1B,YAAY,EACZ,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAKhB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAK1C;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B;;;;OAIG;IACH,SAAgB,MAAM,EAAE,0BAA0B,CAAA;IAElD;;;OAGG;IACH,SAAgB,SAAS,EAAE,eAAe,CAAA;IAE1C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEtB,MAAM,EAAE,0BAA0B;IAM9C;;;OAGG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOlF;;;OAGG;IACU,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOpF;;;OAGG;IACU,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;IASrG;;;;;;OAMG;IACU,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpE;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,aAAa;IAgB1C;;;OAGG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE;QACvC,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAavC;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA4B/F;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAQ7D"}
|
|
@@ -116,6 +116,59 @@ var CommercetoolsAuthApi = /** @class */ (function () {
|
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* Revoke a refresh or access token:
|
|
121
|
+
* https://docs.commercetools.com/api/authorization#revoking-tokens
|
|
122
|
+
*
|
|
123
|
+
* If you're logging out a customer, you will likely want to call this method twice;
|
|
124
|
+
* once with the access token and once with the refresh token (you can call these in parallel).
|
|
125
|
+
*/
|
|
126
|
+
CommercetoolsAuthApi.prototype.revokeToken = function (options) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
128
|
+
return __generator(this, function (_a) {
|
|
129
|
+
switch (_a.label) {
|
|
130
|
+
case 0: return [4 /*yield*/, this.post('/token/revoke', {
|
|
131
|
+
token: options.tokenValue,
|
|
132
|
+
token_type_hint: options.tokenType,
|
|
133
|
+
})];
|
|
134
|
+
case 1:
|
|
135
|
+
_a.sent();
|
|
136
|
+
return [2 /*return*/];
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Log the customer out
|
|
143
|
+
*
|
|
144
|
+
* This is a convenience mechanism which makes 2 calls to the `revokeToken` method under
|
|
145
|
+
* the hood (in parallel). One with the access token and one with the refresh token.
|
|
146
|
+
*/
|
|
147
|
+
CommercetoolsAuthApi.prototype.logout = function (options) {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
149
|
+
var settlements, errors;
|
|
150
|
+
return __generator(this, function (_a) {
|
|
151
|
+
switch (_a.label) {
|
|
152
|
+
case 0: return [4 /*yield*/, Promise.allSettled([
|
|
153
|
+
this.revokeToken({ tokenType: 'access_token', tokenValue: options.accessToken }),
|
|
154
|
+
this.revokeToken({ tokenType: 'refresh_token', tokenValue: options.refreshToken }),
|
|
155
|
+
])];
|
|
156
|
+
case 1:
|
|
157
|
+
settlements = _a.sent();
|
|
158
|
+
errors = settlements.reduce(function (errors, settlement) {
|
|
159
|
+
if (settlement.status === 'rejected') {
|
|
160
|
+
errors.push(settlement.reason);
|
|
161
|
+
}
|
|
162
|
+
return errors;
|
|
163
|
+
}, []);
|
|
164
|
+
if (errors.length) {
|
|
165
|
+
throw new __1.CommercetoolsError("Logout failed in one or more calls to the token revocation endpoint", errors);
|
|
166
|
+
}
|
|
167
|
+
return [2 /*return*/];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
};
|
|
119
172
|
/**
|
|
120
173
|
* Get a grant an anonymous customer:
|
|
121
174
|
* https://docs.commercetools.com/api/authorization#tokens-for-anonymous-sessions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommercetoolsAuthApi.js","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"CommercetoolsAuthApi.js","sourceRoot":"","sources":["../../src/lib/auth/CommercetoolsAuthApi.ts"],"names":[],"mappings":"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"}
|
package/build/auth/types.d.ts
CHANGED
|
@@ -46,10 +46,36 @@ export interface LoginOptions {
|
|
|
46
46
|
*/
|
|
47
47
|
scopes?: string[];
|
|
48
48
|
/**
|
|
49
|
-
* The
|
|
49
|
+
* The key of the store to login to
|
|
50
50
|
*/
|
|
51
51
|
storeKey?: string;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* RevokeTokenOptions
|
|
55
|
+
*/
|
|
56
|
+
export interface RevokeTokenOptions {
|
|
57
|
+
/**
|
|
58
|
+
* The type of token to be revoked
|
|
59
|
+
*/
|
|
60
|
+
tokenType: 'access_token' | 'refresh_token';
|
|
61
|
+
/**
|
|
62
|
+
* The value of the token to be revoked
|
|
63
|
+
*/
|
|
64
|
+
tokenValue: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* LogoutOptions
|
|
68
|
+
*/
|
|
69
|
+
export interface LogoutOptions {
|
|
70
|
+
/**
|
|
71
|
+
* The customer's access token
|
|
72
|
+
*/
|
|
73
|
+
accessToken: string;
|
|
74
|
+
/**
|
|
75
|
+
* The customer's refresh token
|
|
76
|
+
*/
|
|
77
|
+
refreshToken: string;
|
|
78
|
+
}
|
|
53
79
|
export interface AnonymousGrantOptions {
|
|
54
80
|
/**
|
|
55
81
|
* The scopes of the anonymous customer must be less than or equal to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAE1D;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,oBAAY,SAAS;IACnB;;;;;OAKG;IACH,kBAAkB,uBAAuB;IACzC;;;OAGG;IACH,aAAa,kBAAkB;IAC/B;;;OAGG;IACH,QAAQ,aAAa;CACtB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAE1D;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,EAAE,cAAc,GAAG,eAAe,CAAA;IAE3C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,oBAAY,SAAS;IACnB;;;;;OAKG;IACH,kBAAkB,uBAAuB;IACzC;;;OAGG;IACH,aAAa,kBAAkB;IAC/B;;;OAGG;IACH,QAAQ,aAAa;CACtB"}
|
package/build/auth/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/auth/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/auth/types.ts"],"names":[],"mappings":";;;AA6GA;;;GAGG;AACH,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACnB;;;;;OAKG;IACH,sDAAyC,CAAA;IACzC;;;OAGG;IACH,4CAA+B,CAAA;IAC/B;;;OAGG;IACH,kCAAqB,CAAA;AACvB,CAAC,EAlBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAkBpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gradientedge/commercetools-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"description": "Provide utility classes and functions for interacting with the commercetools API",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -37,34 +37,34 @@
|
|
|
37
37
|
"homepage": "https://github.com/gradientedge/commercetools-utils#readme",
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@sinonjs/fake-timers": "^8.1.0",
|
|
40
|
-
"@types/jest": "^27.0
|
|
40
|
+
"@types/jest": "^27.4.0",
|
|
41
41
|
"@types/json-stringify-safe": "^5.0.0",
|
|
42
42
|
"@types/lodash": "^4.14.178",
|
|
43
43
|
"@types/lodash.clonedeep": "^4.5.6",
|
|
44
|
-
"@types/node": "
|
|
44
|
+
"@types/node": "17.0.8",
|
|
45
45
|
"@types/node-fetch": "^3.0.2",
|
|
46
46
|
"@types/qs": "^6.9.7",
|
|
47
47
|
"@types/sinonjs__fake-timers": "^8.1.1",
|
|
48
48
|
"@types/traverse": "^0.6.32",
|
|
49
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
50
|
-
"@typescript-eslint/parser": "^5.
|
|
49
|
+
"@typescript-eslint/eslint-plugin": "^5.9.0",
|
|
50
|
+
"@typescript-eslint/parser": "^5.9.0",
|
|
51
51
|
"commitizen": "^4.2.4",
|
|
52
52
|
"cz-conventional-changelog": "^3.3.0",
|
|
53
|
-
"eslint": "^8.
|
|
53
|
+
"eslint": "^8.6.0",
|
|
54
54
|
"eslint-config-prettier": "^8.3.0",
|
|
55
55
|
"husky": "^7.0.4",
|
|
56
|
-
"jest": "^27.4.
|
|
56
|
+
"jest": "^27.4.7",
|
|
57
57
|
"jest-matcher-specific-error": "^1.0.0",
|
|
58
58
|
"nock": "^13.2.1",
|
|
59
59
|
"prettier": "^2.5.1",
|
|
60
60
|
"semantic-release": "^18.0.1",
|
|
61
|
-
"ts-jest": "^27.1.
|
|
61
|
+
"ts-jest": "^27.1.2",
|
|
62
62
|
"ts-node": "^10.4.0",
|
|
63
63
|
"typedoc": "^0.22.10",
|
|
64
64
|
"typescript": "~4.5.4"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@commercetools/platform-sdk": "^
|
|
67
|
+
"@commercetools/platform-sdk": "^2.0.1",
|
|
68
68
|
"axios": "^0.24.0",
|
|
69
69
|
"json-stringify-safe": "^5.0.1",
|
|
70
70
|
"lodash.clonedeep": "^4.5.0",
|