@sudoplatform/sudo-user 10.1.0 → 12.0.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.
Files changed (195) hide show
  1. package/{lib → cjs/src}/client/apiClient.d.ts +0 -0
  2. package/cjs/src/client/apiClient.js +149 -0
  3. package/cjs/src/client/apiClient.js.map +1 -0
  4. package/{lib → cjs/src}/core/api-key-names.d.ts +0 -0
  5. package/cjs/src/core/api-key-names.js +12 -0
  6. package/cjs/src/core/api-key-names.js.map +1 -0
  7. package/{lib → cjs/src}/core/auth-store.d.ts +0 -0
  8. package/cjs/src/core/auth-store.js +92 -0
  9. package/cjs/src/core/auth-store.js.map +1 -0
  10. package/{lib → cjs/src}/core/crypto.d.ts +0 -0
  11. package/cjs/src/core/crypto.js +3 -0
  12. package/cjs/src/core/crypto.js.map +1 -0
  13. package/{lib → cjs/src}/core/key-manager.d.ts +0 -0
  14. package/cjs/src/core/key-manager.js +113 -0
  15. package/cjs/src/core/key-manager.js.map +1 -0
  16. package/cjs/src/core/protected-store.d.ts +5 -0
  17. package/cjs/src/core/protected-store.js +3 -0
  18. package/cjs/src/core/protected-store.js.map +1 -0
  19. package/{lib → cjs/src}/core/publisher.d.ts +0 -0
  20. package/cjs/src/core/publisher.js +3 -0
  21. package/cjs/src/core/publisher.js.map +1 -0
  22. package/{lib → cjs/src}/core/sdk-config.d.ts +0 -0
  23. package/cjs/src/core/sdk-config.js +61 -0
  24. package/cjs/src/core/sdk-config.js.map +1 -0
  25. package/{lib → cjs/src}/core/subscriber.d.ts +0 -0
  26. package/cjs/src/core/subscriber.js +3 -0
  27. package/cjs/src/core/subscriber.js.map +1 -0
  28. package/{lib → cjs/src}/gen/graphql-types.d.ts +5 -4
  29. package/cjs/src/gen/graphql-types.js +105 -0
  30. package/cjs/src/gen/graphql-types.js.map +1 -0
  31. package/{lib → cjs/src}/index.d.ts +0 -0
  32. package/cjs/src/index.js +13 -0
  33. package/cjs/src/index.js.map +1 -0
  34. package/{lib/runtimes/node/node-crypto.d.ts → cjs/src/runtimes/browser/browser-crypto.d.ts} +0 -0
  35. package/cjs/src/runtimes/browser/browser-crypto.js +10 -0
  36. package/cjs/src/runtimes/browser/browser-crypto.js.map +1 -0
  37. package/cjs/src/runtimes/node/node-crypto.d.ts +2 -0
  38. package/cjs/src/runtimes/node/node-crypto.js +9 -0
  39. package/cjs/src/runtimes/node/node-crypto.js.map +1 -0
  40. package/{lib → cjs/src}/sdk.d.ts +0 -0
  41. package/cjs/src/sdk.js +9 -0
  42. package/cjs/src/sdk.js.map +1 -0
  43. package/{lib → cjs/src}/user/auth-provider.d.ts +0 -0
  44. package/cjs/src/user/auth-provider.js +116 -0
  45. package/cjs/src/user/auth-provider.js.map +1 -0
  46. package/{lib → cjs/src}/user/auth.d.ts +0 -0
  47. package/cjs/src/user/auth.js +136 -0
  48. package/cjs/src/user/auth.js.map +1 -0
  49. package/{lib → cjs/src}/user/error.d.ts +0 -0
  50. package/{lib → cjs/src}/user/error.js +16 -29
  51. package/cjs/src/user/error.js.map +1 -0
  52. package/{lib → cjs/src}/user/identity-provider.d.ts +0 -0
  53. package/cjs/src/user/identity-provider.js +245 -0
  54. package/cjs/src/user/identity-provider.js.map +1 -0
  55. package/{lib → cjs/src}/user/user-client-interface.d.ts +0 -0
  56. package/cjs/src/user/user-client-interface.js +3 -0
  57. package/cjs/src/user/user-client-interface.js.map +1 -0
  58. package/{lib → cjs/src}/user/user-client.d.ts +0 -0
  59. package/cjs/src/user/user-client.js +440 -0
  60. package/cjs/src/user/user-client.js.map +1 -0
  61. package/{lib → cjs/src}/user/user-key-names.d.ts +0 -0
  62. package/cjs/src/user/user-key-names.js +10 -0
  63. package/cjs/src/user/user-key-names.js.map +1 -0
  64. package/{lib → cjs/src}/utils/resolvable-promise.d.ts +0 -0
  65. package/cjs/src/utils/resolvable-promise.js +20 -0
  66. package/cjs/src/utils/resolvable-promise.js.map +1 -0
  67. package/cjs/test/integration/user-client-int.spec.d.ts +1 -0
  68. package/cjs/test/integration/user-client-int.spec.js +206 -0
  69. package/cjs/test/integration/user-client-int.spec.js.map +1 -0
  70. package/cjs/test/unit/core/sdk-config.spec.d.ts +1 -0
  71. package/cjs/test/unit/core/sdk-config.spec.js +51 -0
  72. package/cjs/test/unit/core/sdk-config.spec.js.map +1 -0
  73. package/cjs/test/unit/key-manager.spec.d.ts +1 -0
  74. package/cjs/test/unit/key-manager.spec.js +23 -0
  75. package/cjs/test/unit/key-manager.spec.js.map +1 -0
  76. package/cjs/test/unit/user-client.spec.d.ts +1 -0
  77. package/cjs/test/unit/user-client.spec.js +323 -0
  78. package/cjs/test/unit/user-client.spec.js.map +1 -0
  79. package/docs/assets/highlight.css +3 -3
  80. package/docs/assets/main.js +4 -2
  81. package/docs/assets/search.js +1 -1
  82. package/docs/assets/style.css +427 -617
  83. package/docs/classes/AlreadyRegisteredError.html +163 -8
  84. package/docs/classes/DefaultSudoUserClient.html +568 -57
  85. package/docs/classes/IdentityServiceConfigNotFoundError.html +163 -8
  86. package/docs/classes/LocalAuthenticationProvider.html +131 -12
  87. package/docs/classes/TESTAuthenticationProvider.html +146 -11
  88. package/docs/index.html +47 -2
  89. package/docs/interfaces/AuthenticationProvider.html +89 -6
  90. package/docs/interfaces/AuthenticationTokens.html +97 -7
  91. package/docs/interfaces/SudoUserClient.html +431 -80
  92. package/docs/modules.html +62 -1
  93. package/lib/src/client/apiClient.d.ts +25 -0
  94. package/lib/src/client/apiClient.js +145 -0
  95. package/lib/src/client/apiClient.js.map +1 -0
  96. package/lib/src/core/api-key-names.d.ts +8 -0
  97. package/lib/src/core/api-key-names.js +9 -0
  98. package/lib/src/core/api-key-names.js.map +1 -0
  99. package/lib/src/core/auth-store.d.ts +51 -0
  100. package/lib/src/core/auth-store.js +88 -0
  101. package/lib/src/core/auth-store.js.map +1 -0
  102. package/lib/src/core/crypto.d.ts +3 -0
  103. package/lib/src/core/crypto.js +2 -0
  104. package/lib/src/core/crypto.js.map +1 -0
  105. package/lib/src/core/key-manager.d.ts +31 -0
  106. package/lib/src/core/key-manager.js +108 -0
  107. package/lib/src/core/key-manager.js.map +1 -0
  108. package/lib/src/core/protected-store.d.ts +5 -0
  109. package/lib/src/core/protected-store.js +2 -0
  110. package/lib/src/core/protected-store.js.map +1 -0
  111. package/lib/src/core/publisher.d.ts +6 -0
  112. package/lib/src/core/publisher.js +2 -0
  113. package/lib/src/core/publisher.js.map +1 -0
  114. package/lib/src/core/sdk-config.d.ts +52 -0
  115. package/lib/src/core/sdk-config.js +56 -0
  116. package/lib/src/core/sdk-config.js.map +1 -0
  117. package/lib/src/core/subscriber.d.ts +3 -0
  118. package/lib/src/core/subscriber.js +2 -0
  119. package/lib/src/core/subscriber.js.map +1 -0
  120. package/lib/src/gen/graphql-types.d.ts +101 -0
  121. package/lib/src/gen/graphql-types.js +102 -0
  122. package/lib/src/gen/graphql-types.js.map +1 -0
  123. package/lib/src/index.d.ts +4 -0
  124. package/lib/src/index.js +6 -0
  125. package/lib/src/index.js.map +1 -0
  126. package/lib/src/runtimes/browser/browser-crypto.d.ts +2 -0
  127. package/lib/src/runtimes/browser/browser-crypto.js +7 -0
  128. package/lib/src/runtimes/browser/browser-crypto.js.map +1 -0
  129. package/lib/src/runtimes/node/node-crypto.d.ts +2 -0
  130. package/lib/src/runtimes/node/node-crypto.js +6 -0
  131. package/lib/src/runtimes/node/node-crypto.js.map +1 -0
  132. package/lib/src/sdk.d.ts +1 -0
  133. package/lib/src/sdk.js +6 -0
  134. package/lib/src/sdk.js.map +1 -0
  135. package/lib/src/user/auth-provider.d.ts +97 -0
  136. package/lib/src/user/auth-provider.js +108 -0
  137. package/lib/src/user/auth-provider.js.map +1 -0
  138. package/lib/src/user/auth.d.ts +64 -0
  139. package/lib/src/user/auth.js +131 -0
  140. package/lib/src/user/auth.js.map +1 -0
  141. package/lib/src/user/error.d.ts +18 -0
  142. package/lib/src/user/error.js +28 -0
  143. package/lib/src/user/error.js.map +1 -0
  144. package/lib/src/user/identity-provider.d.ts +73 -0
  145. package/lib/src/user/identity-provider.js +241 -0
  146. package/lib/src/user/identity-provider.js.map +1 -0
  147. package/lib/src/user/user-client-interface.d.ts +168 -0
  148. package/lib/src/user/user-client-interface.js +2 -0
  149. package/lib/src/user/user-client-interface.js.map +1 -0
  150. package/lib/src/user/user-client.d.ts +82 -0
  151. package/lib/src/user/user-client.js +435 -0
  152. package/lib/src/user/user-client.js.map +1 -0
  153. package/lib/src/user/user-key-names.d.ts +6 -0
  154. package/lib/src/user/user-key-names.js +7 -0
  155. package/lib/src/user/user-key-names.js.map +1 -0
  156. package/lib/src/utils/resolvable-promise.d.ts +9 -0
  157. package/lib/src/utils/resolvable-promise.js +16 -0
  158. package/lib/src/utils/resolvable-promise.js.map +1 -0
  159. package/lib/test/integration/user-client-int.spec.d.ts +1 -0
  160. package/lib/test/integration/user-client-int.spec.js +203 -0
  161. package/lib/test/integration/user-client-int.spec.js.map +1 -0
  162. package/lib/test/unit/core/sdk-config.spec.d.ts +1 -0
  163. package/lib/test/unit/core/sdk-config.spec.js +49 -0
  164. package/lib/test/unit/core/sdk-config.spec.js.map +1 -0
  165. package/lib/test/unit/key-manager.spec.d.ts +1 -0
  166. package/lib/test/unit/key-manager.spec.js +21 -0
  167. package/lib/test/unit/key-manager.spec.js.map +1 -0
  168. package/lib/test/unit/user-client.spec.d.ts +1 -0
  169. package/lib/test/unit/user-client.spec.js +320 -0
  170. package/lib/test/unit/user-client.spec.js.map +1 -0
  171. package/package.json +47 -41
  172. package/docs/assets/icons.css +0 -1043
  173. package/docs/assets/icons.png +0 -0
  174. package/docs/assets/icons@2x.png +0 -0
  175. package/lib/client/apiClient.js +0 -206
  176. package/lib/core/api-key-names.js +0 -15
  177. package/lib/core/auth-store.js +0 -144
  178. package/lib/core/crypto.js +0 -5
  179. package/lib/core/key-manager.js +0 -158
  180. package/lib/core/protected-store.js +0 -5
  181. package/lib/core/publisher.js +0 -5
  182. package/lib/core/sdk-config.js +0 -56
  183. package/lib/core/subscriber.js +0 -5
  184. package/lib/gen/graphql-types.js +0 -141
  185. package/lib/index.js +0 -67
  186. package/lib/runtimes/browser/browser-crypto.js +0 -15
  187. package/lib/runtimes/node/node-crypto.js +0 -12
  188. package/lib/sdk.js +0 -18
  189. package/lib/user/auth-provider.js +0 -158
  190. package/lib/user/auth.js +0 -185
  191. package/lib/user/identity-provider.js +0 -272
  192. package/lib/user/user-client-interface.js +0 -5
  193. package/lib/user/user-client.js +0 -530
  194. package/lib/user/user-key-names.js +0 -13
  195. package/lib/utils/resolvable-promise.js +0 -22
@@ -1,272 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CognitoUserPoolIdentityProvider = void 0;
7
-
8
- var _clientCognitoIdentityProvider = require("@aws-sdk/client-cognito-identity-provider");
9
-
10
- var _apiKeyNames = require("../core/api-key-names");
11
-
12
- var _uuid = require("uuid");
13
-
14
- var _sudoCommon = require("@sudoplatform/sudo-common");
15
-
16
- var _error = require("./error");
17
-
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
20
- class CognitoUserPoolIdentityProvider {
21
- constructor(keyManager, config, logger) {
22
- this.keyManager = keyManager;
23
- this.config = config;
24
-
25
- _defineProperty(this, "idpService", void 0);
26
-
27
- _defineProperty(this, "refreshTokenLifetime", void 0);
28
-
29
- _defineProperty(this, "logger", void 0);
30
-
31
- this.idpService = this.initCognitoIdpService();
32
- const refreshTokenLifetime = this.config.identityService.refreshTokenLifetime;
33
- this.refreshTokenLifetime = refreshTokenLifetime ?? 60;
34
- this.logger = logger;
35
- }
36
-
37
- initCognitoIdpService() {
38
- const idpService = new _clientCognitoIdentityProvider.CognitoIdentityProviderClient({
39
- region: this.config.identityService.region
40
- });
41
- return idpService;
42
- }
43
-
44
- async globalSignOut(accessToken) {
45
- return new Promise((resolve, reject) => {
46
- const params = {
47
- AccessToken: accessToken
48
- };
49
- const globalSignOut = new _clientCognitoIdentityProvider.GlobalSignOutCommand(params);
50
- this.idpService.send(globalSignOut, (error, data) => {
51
- if (error) {
52
- this.logger.error(error.message);
53
- reject(new _sudoCommon.SignOutError(error.message));
54
- } else {
55
- this.logger.info('User successfully signed out.', {
56
- data
57
- });
58
- resolve();
59
- }
60
- });
61
- });
62
- }
63
-
64
- async register(uid, validationData) {
65
- try {
66
- const signUp = new _clientCognitoIdentityProvider.SignUpCommand({
67
- ValidationData: validationData,
68
- Username: uid,
69
- Password: `@FF57&Z1)123!-${(0, _uuid.v4)()}`,
70
- ClientId: this.config.identityService.clientId
71
- });
72
- const response = await this.idpService.send(signUp);
73
-
74
- if (response.UserConfirmed) {
75
- this.logger.info('User successfully signed up.', {
76
- uid
77
- });
78
- return uid;
79
- } else {
80
- throw new _sudoCommon.UserNotConfirmedError();
81
- }
82
- } catch (err) {
83
- const error = err;
84
- const errorMsg = error.message;
85
-
86
- if (errorMsg.includes('sudoplatform.ServiceError')) {
87
- throw new _sudoCommon.ServiceError(errorMsg);
88
- } else if (errorMsg.includes('sudoplatform.identity.UserValidationFailed') || errorMsg.includes('sudoplatform.identity.TestRegCheckFailed')) {
89
- throw new _sudoCommon.NotAuthorizedError(errorMsg);
90
- } else if (errorMsg.includes('sudoplatform.identity.AlreadyRegistered')) {
91
- throw new _error.AlreadyRegisteredError();
92
- } else {
93
- throw new _sudoCommon.FatalError(errorMsg);
94
- }
95
- }
96
- }
97
-
98
- async signInWithKey(userId, keyId) {
99
- return new Promise(async (resolve, reject) => {
100
- const initiateAuthCommand = new _clientCognitoIdentityProvider.InitiateAuthCommand({
101
- ClientId: this.config.identityService.clientId,
102
- AuthFlow: 'CUSTOM_AUTH',
103
- AuthParameters: {
104
- USERNAME: userId
105
- }
106
- });
107
- const initiateAuthResult = await this.idpService.send(initiateAuthCommand);
108
- const challengeName = initiateAuthResult.ChallengeName;
109
- const session = initiateAuthResult.Session;
110
- const params = initiateAuthResult.ChallengeParameters;
111
-
112
- if (params && params['nonce'] && params['audience'] && challengeName && session) {
113
- const nonce = params['nonce'];
114
- const audience = params['audience'];
115
- const answer = await this.keyManager.signJWT(keyId, {
116
- jti: nonce,
117
- iss: userId,
118
- aud: audience,
119
- sub: userId,
120
- exp: Math.floor(+new Date() / 1000) + 300
121
- });
122
- const respondToAuthChallenge = new _clientCognitoIdentityProvider.RespondToAuthChallengeCommand({
123
- Session: session,
124
- ClientId: this.config.identityService.clientId,
125
- ChallengeName: challengeName,
126
- ChallengeResponses: {
127
- USERNAME: userId,
128
- ANSWER: answer
129
- }
130
- });
131
- const respondToAuthChallengeResult = await this.idpService.send(respondToAuthChallenge);
132
- const authResult = respondToAuthChallengeResult.AuthenticationResult;
133
- const idToken = authResult === null || authResult === void 0 ? void 0 : authResult.IdToken;
134
- const accessToken = authResult === null || authResult === void 0 ? void 0 : authResult.AccessToken;
135
- const refreshToken = authResult === null || authResult === void 0 ? void 0 : authResult.RefreshToken;
136
- const tokenExpiry = authResult === null || authResult === void 0 ? void 0 : authResult.ExpiresIn;
137
-
138
- if (idToken && accessToken && refreshToken && tokenExpiry) {
139
- const authTokens = {
140
- idToken: idToken,
141
- accessToken: accessToken,
142
- refreshToken: refreshToken,
143
- tokenExpiry: tokenExpiry
144
- };
145
- await this.storeRefreshTokenLifetime(this.refreshTokenLifetime);
146
- resolve(authTokens);
147
- } else {
148
- reject(new _sudoCommon.AuthenticationError('Authentication tokens not found.'));
149
- }
150
- } else {
151
- reject(new _sudoCommon.AuthenticationError('Invalid initiate auth result.'));
152
- }
153
- });
154
- }
155
-
156
- async signInWithToken(userId, token, type) {
157
- return new Promise(async (resolve, reject) => {
158
- const initiateAuth = new _clientCognitoIdentityProvider.InitiateAuthCommand({
159
- ClientId: this.config.identityService.clientId,
160
- AuthFlow: 'CUSTOM_AUTH',
161
- AuthParameters: {
162
- USERNAME: userId
163
- }
164
- });
165
- const initiateAuthResult = await this.idpService.send(initiateAuth);
166
- const challengeName = initiateAuthResult.ChallengeName;
167
- const session = initiateAuthResult.Session;
168
-
169
- if (challengeName && session) {
170
- const respondToAuthChallenge = new _clientCognitoIdentityProvider.RespondToAuthChallengeCommand({
171
- Session: session,
172
- ClientId: this.config.identityService.clientId,
173
- ChallengeName: challengeName,
174
- ChallengeResponses: {
175
- USERNAME: userId,
176
- ANSWER: token
177
- },
178
- ClientMetadata: {
179
- challengeType: type
180
- }
181
- });
182
- const respondToAuthChallengeResult = await this.idpService.send(respondToAuthChallenge);
183
- const authResult = respondToAuthChallengeResult.AuthenticationResult;
184
- const idToken = authResult === null || authResult === void 0 ? void 0 : authResult.IdToken;
185
- const accessToken = authResult === null || authResult === void 0 ? void 0 : authResult.AccessToken;
186
- const refreshToken = authResult === null || authResult === void 0 ? void 0 : authResult.RefreshToken;
187
- const tokenExpiry = authResult === null || authResult === void 0 ? void 0 : authResult.ExpiresIn;
188
-
189
- if (idToken && accessToken && refreshToken && tokenExpiry) {
190
- const authTokens = {
191
- idToken: idToken,
192
- accessToken: accessToken,
193
- refreshToken: refreshToken,
194
- tokenExpiry: tokenExpiry
195
- };
196
- await this.storeRefreshTokenLifetime(this.refreshTokenLifetime);
197
- resolve(authTokens);
198
- } else {
199
- reject(new _sudoCommon.AuthenticationError('Authentication tokens not found.'));
200
- }
201
- } else {
202
- reject(new _sudoCommon.AuthenticationError('Invalid initiate auth result.'));
203
- }
204
- });
205
- }
206
-
207
- async refreshTokens(refreshToken) {
208
- return new Promise(async (resolve, reject) => {
209
- try {
210
- var _initiateAuthResult$A, _initiateAuthResult$A2, _initiateAuthResult$A3;
211
-
212
- const initiateAuth = new _clientCognitoIdentityProvider.InitiateAuthCommand({
213
- ClientId: this.config.identityService.clientId,
214
- AuthFlow: 'REFRESH_TOKEN_AUTH',
215
- AuthParameters: {
216
- REFRESH_TOKEN: refreshToken
217
- }
218
- });
219
- const initiateAuthResult = await this.idpService.send(initiateAuth);
220
- const idToken = (_initiateAuthResult$A = initiateAuthResult.AuthenticationResult) === null || _initiateAuthResult$A === void 0 ? void 0 : _initiateAuthResult$A.IdToken;
221
- const accessToken = (_initiateAuthResult$A2 = initiateAuthResult.AuthenticationResult) === null || _initiateAuthResult$A2 === void 0 ? void 0 : _initiateAuthResult$A2.AccessToken;
222
- const tokenExpiry = (_initiateAuthResult$A3 = initiateAuthResult.AuthenticationResult) === null || _initiateAuthResult$A3 === void 0 ? void 0 : _initiateAuthResult$A3.ExpiresIn;
223
-
224
- if (idToken && accessToken && tokenExpiry) {
225
- const authTokens = {
226
- idToken: idToken,
227
- accessToken: accessToken,
228
- refreshToken: refreshToken,
229
- tokenExpiry: tokenExpiry
230
- };
231
- await this.storeRefreshTokenLifetime(this.refreshTokenLifetime);
232
- resolve(authTokens);
233
- } else {
234
- reject(new _sudoCommon.AuthenticationError('Authentication tokens not found.'));
235
- }
236
- } catch (err) {
237
- const error = err;
238
- reject(new _sudoCommon.AuthenticationError(error.message));
239
- }
240
- });
241
- }
242
-
243
- async signOut(refreshToken) {
244
- return new Promise((resolve, reject) => {
245
- const params = {
246
- Token: refreshToken,
247
- ClientId: this.config.identityService.clientId
248
- };
249
- const revokeToken = new _clientCognitoIdentityProvider.RevokeTokenCommand(params);
250
- this.idpService.send(revokeToken, (error, data) => {
251
- if (error) {
252
- this.logger.error(error.message);
253
- reject(new _sudoCommon.SignOutError(error.message));
254
- } else {
255
- this.logger.info('User successfully signed out.', {
256
- data
257
- });
258
- resolve();
259
- }
260
- });
261
- });
262
- }
263
-
264
- async storeRefreshTokenLifetime(refreshTokenLifetime) {
265
- const tokenLifetime = refreshTokenLifetime * 24 * 60 * 60 * 1000 + new Date().getTime();
266
- await this.keyManager.removeItem(_apiKeyNames.apiKeyNames.refreshTokenExpiry);
267
- await this.keyManager.addString(_apiKeyNames.apiKeyNames.refreshTokenExpiry, tokenLifetime.toString());
268
- }
269
-
270
- }
271
-
272
- exports.CognitoUserPoolIdentityProvider = CognitoUserPoolIdentityProvider;
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });