@leapdev/auth-agent 2.0.0-alpha.6 → 2.0.0-beta.0

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 CHANGED
@@ -1,312 +1,328 @@
1
- <!-- Generated by documentation.js. Update this documentation by updating the source code. -->
2
-
3
- ### Table of Contents
4
-
5
- - [init][1]
6
- - [Parameters][2]
7
- - [login][3]
8
- - [logout][4]
9
- - [changePassword][5]
10
- - [Parameters][6]
11
- - [registerHook][7]
12
- - [Parameters][8]
13
- - [getAccessToken][9]
14
- - [Parameters][10]
15
- - [getDecodedAccessToken][11]
16
- - [userInfo][12]
17
- - [getCloudProviderToken][13]
18
- - [Parameters][14]
19
- - [cloudProviderUserInfo][15]
20
- - [getAdminConsent][16]
21
- - [Parameters][17]
22
- - [revokeAdminConsent][18]
23
- - [statusAdminConsent][19]
24
- - [getLinkMap][20]
25
- - [setLinkMap][21]
26
- - [Parameters][22]
27
- - [linkUser][23]
28
- - [Parameters][24]
29
- - [unlinkUser][25]
30
- - [Parameters][26]
31
- - [cloudProviderReauthenticate][27]
32
- - [Parameters][28]
33
- - [cloudProviderUpdate][29]
34
- - [Parameters][30]
35
- - [registerEventListener][31]
36
- - [Parameters][32]
37
- - [authoriseSupport][33]
38
- - [Parameters][34]
39
-
40
- ## init
41
-
42
- Initialize the Auth Agent. This function needs to be called at the very beginning of the loading of the app.
43
- If the query contains parameters "code" and "state", the Auth Agent will exchange the auth code for an access_token and store the access_token in memory for later use.
44
-
45
- ### Parameters
46
-
47
- - `authHost` **[string][36]** : LEAP Auth url (required)
48
- - `clientId` **[string][36]** : LEAP Auth client id (required)
49
- - `scopes` **[Array<string>][36]** : a list of scopes for the access_token (required)
50
- - `autoLogin` **[boolean][37]** : If true, the login function is called once the Auth Agent is initialized (optional, default `true`)
51
- - `autoLogout` **[boolean][37]** : If true, the user will be automatically logged out after a configurable time interval if no activity detected (optional, default `true`)
52
- - `idleTimeoutInMinutes` **[number][37]** : In minutes, the time interval after which the user is automatically logged out if no activity detected (optional, default `30`)
53
- - `uniqueSession` **[boolean][37]** : If true, the same user can't have more than one active session for the same app, based on authHost and clientId (optional, default `true`)
54
- - `hooks` **[object][38]** : callback functions(optional, default: no hooks)
55
- * afterLogin: Callback function that take the access_token, executed after login.
56
- * beforeLogout: Callback function executed before logout.
57
-
58
-
59
- Returns **[Promise][39]** Nothing if autoLogin is turned off, the access_token if autoLogin is turned on
60
-
61
- ## login
62
-
63
- Login function using PKCE flow.
64
- Executes hook afterLogin if any.
65
-
66
- Returns **[Promise][39]** The access_token
67
-
68
- ## logout
69
-
70
- Executes hook beforeLogout if any.
71
-
72
- ## changePassword
73
-
74
- Change Password function.
75
-
76
- ### Parameters
77
-
78
- - `redirectUrl` **[string][36]** Url to redirect the browser to after password changed when newWindow = false (current URL by default) (optional, default `currentUrl`)
79
- - `newWindow` **[boolean][37]** If newWindow = false, changingPassword process will be executed in the same window. Once this done, user would be force to logout and the browser will be redirected to the redirectUrl (current url by default).
80
- If newWindow = true, changingPassword process will be executed in a new window. Once this done, user would be force to logout by pubnub presence message
81
- 1) if there is callback fn, the dedicated window will be closed and the callback will be executed.
82
- 2) if there is no callback fn, the dedicated window will stay open and user would be navigated to a changePasswordSuccess confirm page (optional, default `false`)
83
- - `callback` **[function][38]** The callback function to be executed after changingPassword is done when newWindow = true
84
-
85
- ## registerHook
86
-
87
- Allows to register hook on the fly.
88
-
89
- ### Parameters
90
-
91
- - `name` **[string][36]** The name of the hook : afterLogin or beforeLogout
92
- - `callback` **[function][38]** The callback
93
-
94
- ## getAccessToken
95
-
96
- Allows to retrieve the encoded access_token.
97
- If refresh is true, make a request to Leap Auth to get a new access token, and return a promise.
98
- Otherwise, get the access token stored by JSO and return a string
99
-
100
- ### Parameters
101
-
102
- - `refresh` **[boolean][37]** Force refresh token (optional, default `false`)
103
-
104
- Returns **[Promise][39]** The access_token (promise if refresh is true, otherwise string)
105
-
106
- ## getDecodedAccessToken
107
-
108
- Allows to retrieve the decoded access_token stored by JSO
109
-
110
- Returns **[object][35]** The decoded access_token
111
-
112
- ## userInfo
113
-
114
- Returns user info, including external user info if the user is linked to a cloud provider account.
115
-
116
- Returns **[object][35]** user info
117
-
118
- ## getCloudProviderToken
119
-
120
- Get a cloud proiver token for the current user.
121
- Get the token by jti if the paramter exists.
122
-
123
- ### Parameters
124
-
125
- - `jti` **[string][36]** The token id (optional)
126
-
127
- Returns **[Promise][39]** The token
128
-
129
- ## cloudProviderUserInfo
130
-
131
- Returns the cloud provider info related to the current user.
132
-
133
- Returns **[Promise][39]** The info
134
-
135
- ## getAdminConsent
136
-
137
- Redirects the browser to the admin consent page of the current user's cloud provider.
138
- Then, the browser is redirected to the redirectUrl.
139
-
140
- ### Parameters
141
-
142
- - `domain` **[string][36]** The cloud provider domain of the firm (optional)
143
- - `redirectUrl` **[string][36]** Url to redirect the browser to after getting the admin consent when newWindow is not true (current URL by default) (optional, default `currentUrl`)
144
- - `newWindow` **[boolean][37]** If true, admin consent process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, admin consent process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
145
- - `callback` **[function][38]** The callback to execute after admin consent is given when newWindow = true
146
-
147
- ## revokeAdminConsent
148
-
149
- Revoke admin consent.
150
-
151
- Returns **[Promise][39]**
152
-
153
- ## statusAdminConsent
154
-
155
- Returns the status of admin consent for the firm
156
-
157
- Returns **[Promise][39]** true if admin consent have been given, otherwise false
158
-
159
- ## getLinkMap
160
-
161
- Returns the list of all the users of the tenant, each one mapped with it's internal linked user if any.
162
-
163
- Returns **[Promise][39]** The map
164
-
165
- ## setLinkMap
166
-
167
- Allows to save the mapping between users of the tenant and internal linked users.
168
-
169
- ### Parameters
170
-
171
- - `linkmap` **[array][40]** The map
172
-
173
- Returns **[Promise][39]**
174
-
175
- ## linkUser
176
-
177
- Link current user to a cloud provider account.
178
-
179
- ### Parameters
180
-
181
- - `redirectUrl` **[string][36]** Url to redirect the browser to after linking the user when newWindow is not true (current URL by default) (optional, default `currentUrl`)
182
- - `newWindow` **[boolean][37]** If true, linking process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, linking process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
183
- - `callback` **[function][38]** The callback to execute after linking is done when newWindow = true
184
-
185
- ## unlinkUser
186
-
187
- Unlink current user from cloud provider account.
188
-
189
- ### Parameters
190
-
191
- - `redirectUrl` **[string][36]** Url to redirect the browser to after unlinking the user when newWindow is not true (current URL by default) (optional, default `currentUrl`)
192
- - `newWindow` **[boolean][37]** If true, unlinking process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, unlinking process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
193
- - `callback` **[function][38]** The callback to execute after unlinking is done when newWindow = true
194
-
195
- ## cloudProviderReauthenticate
196
-
197
- Allows to reauthenticate the user against it's cloud provider to renew the access token
198
-
199
- ### Parameters
200
-
201
- - `nonce` **[string][36]** A nonce generated by Leap Auth, required but can be null (required)
202
- - `redirectUrl` **[string][36]** Url to redirect the browser to after reauthentication when newWindow is not true (current URL by default) (optional, default `currentUrl`)
203
- - `newWindow` **[boolean][37]** If true, re-authentication process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, re-authentication process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
204
- - `callback` **[function][38]** The callback to execute after re-authentication is done when newWindow = true
205
-
206
- ## cloudProviderUpdate
207
-
208
- Updates the firm's cloud provider
209
-
210
- ### Parameters
211
-
212
- - `cloudProviderId` **[string][36]** "microsoft", "google" (required)
213
-
214
- ## registerEventListener
215
-
216
- Allows to register a callback to execute when receiving a user event for the topic and message type passed as paramters.
217
-
218
- ### Parameters
219
-
220
- - `topic` **[string][36]** The topic (required)
221
- - `messageType` **[string][36]** The type of message (required)
222
- - `callback` **[function][38]** The callback to execute when receiving the message (required)
223
-
224
- ## authoriseSupport
225
-
226
- Allows to authorise a support request from a support agent.
227
-
228
- ### Parameters
229
-
230
- - `code` **[string][36]** The code of the support request received (required)
231
- - `duration` **[string][36]** The duration of the support request can be modified by the user. It has to be in momentjs format (optional)
232
-
233
- [1]: #init
234
-
235
- [2]: #parameters
236
-
237
- [3]: #login
238
-
239
- [4]: #logout
240
-
241
- [5]: #changepassword
242
-
243
- [6]: #parameters-1
244
-
245
- [7]: #registerhook
246
-
247
- [8]: #parameters-2
248
-
249
- [9]: #getaccesstoken
250
-
251
- [10]: #parameters-3
252
-
253
- [11]: #getdecodedaccesstoken
254
-
255
- [12]: #userinfo
256
-
257
- [13]: #getcloudprovidertoken
258
-
259
- [14]: #parameters-4
260
-
261
- [15]: #cloudprovideruserinfo
262
-
263
- [16]: #getadminconsent
264
-
265
- [17]: #parameters-5
266
-
267
- [18]: #revokeadminconsent
268
-
269
- [19]: #statusadminconsent
270
-
271
- [20]: #getlinkmap
272
-
273
- [21]: #setlinkmap
274
-
275
- [22]: #parameters-6
276
-
277
- [23]: #linkuser
278
-
279
- [24]: #parameters-7
280
-
281
- [25]: #unlinkuser
282
-
283
- [26]: #parameters-8
284
-
285
- [27]: #cloudproviderreauthenticate
286
-
287
- [28]: #parameters-9
288
-
289
- [29]: #cloudproviderupdate
290
-
291
- [30]: #parameters-10
292
-
293
- [31]: #registereventlistener
294
-
295
- [32]: #parameters-11
296
-
297
- [33]: #authorisesupport
298
-
299
- [34]: #parameters-12
300
-
301
- [35]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
302
-
303
- [36]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
304
-
305
- [37]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
306
-
307
- [38]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
308
-
309
- [39]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
310
-
311
- [40]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
312
-
1
+ <!-- Generated by documentation.js. Update this documentation by updating the source code. -->
2
+
3
+ ### Table of Contents
4
+
5
+ - [init][1]
6
+ - [Parameters][2]
7
+ - [login][3]
8
+ - [logout][4]
9
+ - [changePassword][5]
10
+ - [Parameters][6]
11
+ - [registerHook][7]
12
+ - [Parameters][8]
13
+ - [getAccessToken][9]
14
+ - [Parameters][10]
15
+ - [getDecodedAccessToken][11]
16
+ - [userInfo][12]
17
+ - [getCloudProviderToken][13]
18
+ - [Parameters][14]
19
+ - [cloudProviderUserInfo][15]
20
+ - [getAdminConsent][16]
21
+ - [Parameters][17]
22
+ - [revokeAdminConsent][18]
23
+ - [statusAdminConsent][19]
24
+ - [getLinkMap][20]
25
+ - [setLinkMap][21]
26
+ - [Parameters][22]
27
+ - [linkUser][23]
28
+ - [Parameters][24]
29
+ - [unlinkUser][25]
30
+ - [Parameters][26]
31
+ - [cloudProviderReauthenticate][27]
32
+ - [Parameters][28]
33
+ - [cloudProviderUpdate][29]
34
+ - [Parameters][30]
35
+ - [registerEventListener][31]
36
+ - [Parameters][32]
37
+ - [authoriseSupport][33]
38
+ - [Parameters][34]
39
+ - [passthrough][41]
40
+ - [Parameters][42]
41
+
42
+ ## init
43
+
44
+ Initialize the Auth Agent. This function needs to be called at the very beginning of the loading of the app.
45
+ If the query contains parameters "code" and "state", the Auth Agent will exchange the auth code for an access_token and store the access_token in memory for later use.
46
+
47
+ ### Parameters
48
+
49
+ - `authHost` **[string][36]** : LEAP Auth url (required)
50
+ - `clientId` **[string][36]** : LEAP Auth client id (required)
51
+ - `scopes` **[Array<string>][36]** : a list of scopes for the access_token (required)
52
+ - `autoLogin` **[boolean][37]** : If true, the login function is called once the Auth Agent is initialized (optional, default `true`)
53
+ - `autoLogout` **[boolean][37]** : If true, the user will be automatically logged out after a configurable time interval if no activity detected (optional, default `true`)
54
+ - `idleTimeoutInMinutes` **[number][37]** : In minutes, the time interval after which the user is automatically logged out if no activity detected (optional, default `30`)
55
+ - `uniqueSession` **[boolean][37]** : If true, the same user can't have more than one active session for the same app, based on authHost and clientId (optional, default `true`)
56
+ - `hooks` **[object][38]** : callback functions(optional, default: no hooks)
57
+ * afterLogin: Callback function that take the access_token, executed after login.
58
+ * beforeLogout: Callback function executed before logout.
59
+
60
+
61
+ Returns **[Promise][39]** Nothing if autoLogin is turned off, the access_token if autoLogin is turned on
62
+
63
+ ## login
64
+
65
+ Login function using PKCE flow.
66
+ Executes hook afterLogin if any.
67
+
68
+ Returns **[Promise][39]** The access_token
69
+
70
+ ## logout
71
+
72
+ Executes hook beforeLogout if any.
73
+
74
+ ## changePassword
75
+
76
+ Change Password function.
77
+
78
+ ### Parameters
79
+
80
+ - `redirectUrl` **[string][36]** Url to redirect the browser to after password changed when newWindow = false (current URL by default) (optional, default `currentUrl`)
81
+ - `newWindow` **[boolean][37]** If newWindow = false, changingPassword process will be executed in the same window. Once this done, user would be force to logout and the browser will be redirected to the redirectUrl (current url by default).
82
+ If newWindow = true, changingPassword process will be executed in a new window. Once this done, user would be force to logout by pubnub presence message
83
+ 1) if there is callback fn, the dedicated window will be closed and the callback will be executed.
84
+ 2) if there is no callback fn, the dedicated window will stay open and user would be navigated to a changePasswordSuccess confirm page (optional, default `false`)
85
+ - `callback` **[function][38]** The callback function to be executed after changingPassword is done when newWindow = true
86
+
87
+ ## registerHook
88
+
89
+ Allows to register hook on the fly.
90
+
91
+ ### Parameters
92
+
93
+ - `name` **[string][36]** The name of the hook : afterLogin or beforeLogout
94
+ - `callback` **[function][38]** The callback
95
+
96
+ ## getAccessToken
97
+
98
+ Allows to retrieve the encoded access_token.
99
+ If refresh is true, make a request to Leap Auth to get a new access token, and return a promise.
100
+ Otherwise, get the access token stored by JSO and return a string
101
+
102
+ ### Parameters
103
+
104
+ - `refresh` **[boolean][37]** Force refresh token (optional, default `false`)
105
+
106
+ Returns **[Promise][39]** The access_token (promise if refresh is true, otherwise string)
107
+
108
+ ## getDecodedAccessToken
109
+
110
+ Allows to retrieve the decoded access_token stored by JSO
111
+
112
+ Returns **[object][35]** The decoded access_token
113
+
114
+ ## userInfo
115
+
116
+ Returns user info, including external user info if the user is linked to a cloud provider account.
117
+
118
+ Returns **[object][35]** user info
119
+
120
+ ## getCloudProviderToken
121
+
122
+ Get a cloud proiver token for the current user.
123
+ Get the token by jti if the paramter exists.
124
+
125
+ ### Parameters
126
+
127
+ - `jti` **[string][36]** The token id (optional)
128
+
129
+ Returns **[Promise][39]** The token
130
+
131
+ ## cloudProviderUserInfo
132
+
133
+ Returns the cloud provider info related to the current user.
134
+
135
+ Returns **[Promise][39]** The info
136
+
137
+ ## getAdminConsent
138
+
139
+ Redirects the browser to the admin consent page of the current user's cloud provider.
140
+ Then, the browser is redirected to the redirectUrl.
141
+
142
+ ### Parameters
143
+
144
+ - `domain` **[string][36]** The cloud provider domain of the firm (optional)
145
+ - `redirectUrl` **[string][36]** Url to redirect the browser to after getting the admin consent when newWindow is not true (current URL by default) (optional, default `currentUrl`)
146
+ - `newWindow` **[boolean][37]** If true, admin consent process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, admin consent process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
147
+ - `callback` **[function][38]** The callback to execute after admin consent is given when newWindow = true
148
+
149
+ ## revokeAdminConsent
150
+
151
+ Revoke admin consent.
152
+
153
+ Returns **[Promise][39]**
154
+
155
+ ## statusAdminConsent
156
+
157
+ Returns the status of admin consent for the firm
158
+
159
+ Returns **[Promise][39]** true if admin consent have been given, otherwise false
160
+
161
+ ## getLinkMap
162
+
163
+ Returns the list of all the users of the tenant, each one mapped with it's internal linked user if any.
164
+
165
+ Returns **[Promise][39]** The map
166
+
167
+ ## setLinkMap
168
+
169
+ Allows to save the mapping between users of the tenant and internal linked users.
170
+
171
+ ### Parameters
172
+
173
+ - `linkmap` **[array][40]** The map
174
+
175
+ Returns **[Promise][39]**
176
+
177
+ ## linkUser
178
+
179
+ Link current user to a cloud provider account.
180
+
181
+ ### Parameters
182
+
183
+ - `redirectUrl` **[string][36]** Url to redirect the browser to after linking the user when newWindow is not true (current URL by default) (optional, default `currentUrl`)
184
+ - `newWindow` **[boolean][37]** If true, linking process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, linking process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
185
+ - `callback` **[function][38]** The callback to execute after linking is done when newWindow = true
186
+
187
+ ## unlinkUser
188
+
189
+ Unlink current user from cloud provider account.
190
+
191
+ ### Parameters
192
+
193
+ - `redirectUrl` **[string][36]** Url to redirect the browser to after unlinking the user when newWindow is not true (current URL by default) (optional, default `currentUrl`)
194
+ - `newWindow` **[boolean][37]** If true, unlinking process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, unlinking process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
195
+ - `callback` **[function][38]** The callback to execute after unlinking is done when newWindow = true
196
+
197
+ ## cloudProviderReauthenticate
198
+
199
+ Allows to reauthenticate the user against it's cloud provider to renew the access token
200
+
201
+ ### Parameters
202
+
203
+ - `nonce` **[string][36]** A nonce generated by Leap Auth, required but can be null (required)
204
+ - `redirectUrl` **[string][36]** Url to redirect the browser to after reauthentication when newWindow is not true (current URL by default) (optional, default `currentUrl`)
205
+ - `newWindow` **[boolean][37]** If true, re-authentication process will be executed in a new window. Once done, the dedicated window will be closed and the callback will be executed. If false, re-authentication process will be executed in the same window and once done, the browser will be redirected to the redirectUrl. (optional, default `false`)
206
+ - `callback` **[function][38]** The callback to execute after re-authentication is done when newWindow = true
207
+
208
+ ## cloudProviderUpdate
209
+
210
+ Updates the firm's cloud provider
211
+
212
+ ### Parameters
213
+
214
+ - `cloudProviderId` **[string][36]** "microsoft", "google" (required)
215
+
216
+ ## registerEventListener
217
+
218
+ Allows to register a callback to execute when receiving a user event for the topic and message type passed as paramters.
219
+
220
+ ### Parameters
221
+
222
+ - `topic` **[string][36]** The topic (required)
223
+ - `messageType` **[string][36]** The type of message (required)
224
+ - `callback` **[function][38]** The callback to execute when receiving the message (required)
225
+
226
+ ## authoriseSupport
227
+
228
+ Allows to authorise a support request from a support agent.
229
+
230
+ ### Parameters
231
+
232
+ - `code` **[string][36]** The code of the support request received (required)
233
+ - `duration` **[string][36]** The duration of the support request can be modified by the user. It has to be in momentjs format (optional)
234
+
235
+ ## passthrough
236
+
237
+ Create an auth session and open a new app
238
+
239
+ ### Parameters
240
+
241
+ - `url` **[string][36]** Url of the app (requried)
242
+ - `newWindow` **[boolean][37]** If true, the new app will be open in the new browser tab. If false, app will be open in the current browser tab. (optional, default `false`)
243
+ - `authHost` **[string][36]** The authHost that the new app is using. (optional, default value is the same authHost as current app)
244
+
245
+ [1]: #init
246
+
247
+ [2]: #parameters
248
+
249
+ [3]: #login
250
+
251
+ [4]: #logout
252
+
253
+ [5]: #changepassword
254
+
255
+ [6]: #parameters-1
256
+
257
+ [7]: #registerhook
258
+
259
+ [8]: #parameters-2
260
+
261
+ [9]: #getaccesstoken
262
+
263
+ [10]: #parameters-3
264
+
265
+ [11]: #getdecodedaccesstoken
266
+
267
+ [12]: #userinfo
268
+
269
+ [13]: #getcloudprovidertoken
270
+
271
+ [14]: #parameters-4
272
+
273
+ [15]: #cloudprovideruserinfo
274
+
275
+ [16]: #getadminconsent
276
+
277
+ [17]: #parameters-5
278
+
279
+ [18]: #revokeadminconsent
280
+
281
+ [19]: #statusadminconsent
282
+
283
+ [20]: #getlinkmap
284
+
285
+ [21]: #setlinkmap
286
+
287
+ [22]: #parameters-6
288
+
289
+ [23]: #linkuser
290
+
291
+ [24]: #parameters-7
292
+
293
+ [25]: #unlinkuser
294
+
295
+ [26]: #parameters-8
296
+
297
+ [27]: #cloudproviderreauthenticate
298
+
299
+ [28]: #parameters-9
300
+
301
+ [29]: #cloudproviderupdate
302
+
303
+ [30]: #parameters-10
304
+
305
+ [31]: #registereventlistener
306
+
307
+ [32]: #parameters-11
308
+
309
+ [33]: #authorisesupport
310
+
311
+ [34]: #parameters-12
312
+
313
+ [35]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
314
+
315
+ [36]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
316
+
317
+ [37]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
318
+
319
+ [38]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
320
+
321
+ [39]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
322
+
323
+ [40]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
324
+
325
+ [41]: #passthrough
326
+
327
+ [42]: #parameters-14
328
+