@bytexbyte/ike-app-api 1.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 (42) hide show
  1. package/README.md +17 -0
  2. package/lib/App.d.ts +23 -0
  3. package/lib/App.js +126 -0
  4. package/lib/Auth/index.d.ts +156 -0
  5. package/lib/Auth/index.js +392 -0
  6. package/lib/Auth/type.d.ts +73 -0
  7. package/lib/Auth/type.js +2 -0
  8. package/lib/Batch/index.d.ts +26 -0
  9. package/lib/Batch/index.js +136 -0
  10. package/lib/Contract/index.d.ts +26 -0
  11. package/lib/Contract/index.js +109 -0
  12. package/lib/DigitalCustomization/index.d.ts +34 -0
  13. package/lib/DigitalCustomization/index.js +128 -0
  14. package/lib/DigitalCustomization/shopifyType.d.ts +72 -0
  15. package/lib/DigitalCustomization/shopifyType.js +2 -0
  16. package/lib/File/UploadFileType.d.ts +5 -0
  17. package/lib/File/UploadFileType.js +16 -0
  18. package/lib/File/index.d.ts +34 -0
  19. package/lib/File/index.js +131 -0
  20. package/lib/InAppNotification/index.d.ts +23 -0
  21. package/lib/InAppNotification/index.js +89 -0
  22. package/lib/InAppNotification/type.d.ts +1 -0
  23. package/lib/InAppNotification/type.js +2 -0
  24. package/lib/Mfa/index.d.ts +47 -0
  25. package/lib/Mfa/index.js +139 -0
  26. package/lib/Redeem/index.d.ts +23 -0
  27. package/lib/Redeem/index.js +90 -0
  28. package/lib/RegisterDeviceCode/index.d.ts +18 -0
  29. package/lib/RegisterDeviceCode/index.js +88 -0
  30. package/lib/Scan/index.d.ts +39 -0
  31. package/lib/Scan/index.js +121 -0
  32. package/lib/Tags/index.d.ts +75 -0
  33. package/lib/Tags/index.js +264 -0
  34. package/lib/User/index.d.ts +140 -0
  35. package/lib/User/index.js +478 -0
  36. package/lib/config.d.ts +3 -0
  37. package/lib/config.js +8 -0
  38. package/lib/index.d.ts +42 -0
  39. package/lib/index.js +98 -0
  40. package/lib/types.d.ts +587 -0
  41. package/lib/types.js +64 -0
  42. package/package.json +79 -0
package/lib/types.d.ts ADDED
@@ -0,0 +1,587 @@
1
+ /**
2
+ * Model Account
3
+ *
4
+ */
5
+ export declare type Account = {
6
+ id: string;
7
+ userId: string;
8
+ type: string;
9
+ provider: string;
10
+ providerAccountId: string;
11
+ refresh_token: string | null;
12
+ access_token: string | null;
13
+ expires_at: bigint | null;
14
+ token_type: string | null;
15
+ scope: string | null;
16
+ id_token: string | null;
17
+ session_state: string | null;
18
+ };
19
+ /**
20
+ * Model Session
21
+ *
22
+ */
23
+ export declare type Session = {
24
+ id: string;
25
+ sessionToken: string;
26
+ userId: string;
27
+ expires: Date;
28
+ };
29
+ /**
30
+ * Model User
31
+ *
32
+ */
33
+ export declare type User = {
34
+ id: string;
35
+ webUserId: string | null;
36
+ email: string | null;
37
+ emailVerified: Date | null;
38
+ phone: string | null;
39
+ phoneVerified: Date | null;
40
+ image: string | null;
41
+ firstName: string | null;
42
+ lastName: string | null;
43
+ password: string | null;
44
+ salt: string | null;
45
+ biometricsKey: string | null;
46
+ isDelete: boolean;
47
+ isActive: boolean | null;
48
+ isAdmin: boolean;
49
+ isIKEToolTutorialReaded: boolean;
50
+ };
51
+ /**
52
+ * Model VerificationToken
53
+ *
54
+ */
55
+ export declare type VerificationToken = {
56
+ identifier: string;
57
+ token: string;
58
+ expires: Date;
59
+ };
60
+ /**
61
+ * Model ForgotPassword
62
+ *
63
+ */
64
+ export declare type ForgotPassword = {
65
+ id: string;
66
+ userId: string;
67
+ expires: Date;
68
+ };
69
+ /**
70
+ * Model ProductImage
71
+ *
72
+ */
73
+ export declare type ProductImage = {
74
+ id: number;
75
+ productId: number;
76
+ src: string;
77
+ };
78
+ /**
79
+ * Model Product
80
+ *
81
+ */
82
+ export declare type Product = {
83
+ id: number;
84
+ name: string;
85
+ description: string | null;
86
+ detail: string | null;
87
+ };
88
+ /**
89
+ * Model Promo
90
+ *
91
+ */
92
+ export declare type Promo = {
93
+ id: number;
94
+ productId: number;
95
+ title: string | null;
96
+ description: string | null;
97
+ imgSrc: string | null;
98
+ link: string | null;
99
+ bitlyUrl: string | null;
100
+ longTailUrl: string | null;
101
+ buttonText: string | null;
102
+ isCanShare: boolean;
103
+ isActive: boolean | null;
104
+ };
105
+ /**
106
+ * Model Tag
107
+ *
108
+ */
109
+ export declare type Tag = {
110
+ tokenId: string;
111
+ batchId: string;
112
+ cartItemId: number;
113
+ goldenTicketId: number | null;
114
+ goldenTicketRedeemId: number | null;
115
+ batchSerialNumber: number;
116
+ isVisiableHash: boolean;
117
+ uid: string | null;
118
+ isScanningAllow: boolean;
119
+ updatedAt: Date;
120
+ createdAt: Date;
121
+ isInfoVisible: boolean;
122
+ };
123
+ /**
124
+ * Model TagReplaceOwner
125
+ *
126
+ */
127
+ export declare type TagReplaceOwner = {
128
+ id: number;
129
+ tagTokenId: string;
130
+ originUserId: string | null;
131
+ replaceUserId: string;
132
+ latestOwnerReplace: boolean;
133
+ createdAt: Date;
134
+ };
135
+ /**
136
+ * Model TagNft
137
+ *
138
+ */
139
+ export declare type TagNft = {
140
+ id: number;
141
+ tagTokenId: string | null;
142
+ contractId: string;
143
+ canHook: boolean | null;
144
+ blockChainTokenId: string | null;
145
+ blockchainStatus: BlockChainStatusType;
146
+ hash: string | null;
147
+ to: string | null;
148
+ updatedAt: Date;
149
+ };
150
+ /**
151
+ * Model Metadata
152
+ *
153
+ */
154
+ export declare type Metadata = {
155
+ id: number;
156
+ digitalCustomizationId: number | null;
157
+ tagTokenId: string | null;
158
+ order: number | null;
159
+ title: string;
160
+ value: string;
161
+ };
162
+ /**
163
+ * Model Batch
164
+ *
165
+ */
166
+ export declare type Batch = {
167
+ id: string;
168
+ companyId: number;
169
+ name: string;
170
+ updatedAt: Date;
171
+ createdAt: Date;
172
+ };
173
+ /**
174
+ * Model Location
175
+ *
176
+ */
177
+ export declare type Location = {
178
+ id: number;
179
+ name: string;
180
+ lat: number;
181
+ lng: number;
182
+ radius: number;
183
+ latMax: number;
184
+ latMin: number;
185
+ lngMax: number;
186
+ lngMin: number;
187
+ digitalCustomizationId: number | null;
188
+ };
189
+ /**
190
+ * Model DigitalCustomization
191
+ *
192
+ */
193
+ export declare type DigitalCustomization = {
194
+ id: number;
195
+ productId: number | null;
196
+ brandLogoSrc: string | null;
197
+ successVideoSrc: string | null;
198
+ successText: string | null;
199
+ shopLink: string | null;
200
+ bitlyShopLink: string | null;
201
+ longTailShopLink: string | null;
202
+ exploreLink: string | null;
203
+ ageVerification: AgeVerificationType;
204
+ bitlyExploreLink: string | null;
205
+ longTailExploreLink: string | null;
206
+ isShopLink: boolean;
207
+ beginAt: Date | null;
208
+ endAt: Date | null;
209
+ successLink: string | null;
210
+ downloadAppLink: string | null;
211
+ isDiscarded: boolean | null;
212
+ isShowShopifyProducts: boolean;
213
+ };
214
+ /**
215
+ * Model GoldenTicket
216
+ *
217
+ */
218
+ export declare type GoldenTicket = {
219
+ id: number;
220
+ digitalCustomizationId: number;
221
+ amount: number;
222
+ name: string;
223
+ type: string | null;
224
+ contactEmail: string;
225
+ imgSrc: string | null;
226
+ startAt: Date | null;
227
+ endAt: Date | null;
228
+ legalUrl: string | null;
229
+ };
230
+ /**
231
+ * Model Redeem
232
+ *
233
+ */
234
+ export declare type Redeem = {
235
+ id: number;
236
+ userId: string;
237
+ goldenTicketId: number | null;
238
+ ip: string;
239
+ createdAt: Date;
240
+ email: string;
241
+ };
242
+ /**
243
+ * Model Scan
244
+ *
245
+ */
246
+ export declare type Scan = {
247
+ id: number;
248
+ tagTokenId: string;
249
+ userId: string | null;
250
+ digitalCustomizationId: number | null;
251
+ deviceId: string | null;
252
+ isAppClip: boolean;
253
+ longitude: number | null;
254
+ latitude: number | null;
255
+ location: string | null;
256
+ locationId: number | null;
257
+ isHidden: boolean;
258
+ createdAt: Date;
259
+ isDelete: boolean;
260
+ isVisitedPromo: boolean;
261
+ isVisitedShop: boolean;
262
+ isVisitedExplore: boolean;
263
+ isDeviceFirstScan: boolean | null;
264
+ shopLink: string | null;
265
+ exploreLink: string | null;
266
+ promoLink: string | null;
267
+ tail: 'off' | 'on';
268
+ };
269
+ /**
270
+ * Model Nft
271
+ *
272
+ */
273
+ export declare type Nft = {
274
+ id: number;
275
+ batchId: string;
276
+ contractId: string;
277
+ name: string;
278
+ description: string;
279
+ assetSrc: string;
280
+ status: NftStatusType;
281
+ };
282
+ /**
283
+ * Model NftTransferLog
284
+ *
285
+ */
286
+ export declare type NftTransferLog = {
287
+ id: number;
288
+ userId: string;
289
+ tagNftId: number | null;
290
+ blockchainTokenId: string;
291
+ toAddress: string;
292
+ hash: string;
293
+ createdAt: Date;
294
+ };
295
+ /**
296
+ * Model SavedProduct
297
+ *
298
+ */
299
+ export declare type SavedProduct = {
300
+ id: number;
301
+ userId: string;
302
+ digitalCustomizationId: number;
303
+ };
304
+ /**
305
+ * Model Notification
306
+ *
307
+ */
308
+ export declare type Notification = {
309
+ id: number;
310
+ userId: string;
311
+ digitalCustomizationId: number;
312
+ enabled: boolean;
313
+ };
314
+ /**
315
+ * Model MFA
316
+ *
317
+ */
318
+ export declare type MFA = {
319
+ id: number;
320
+ userId: string;
321
+ code: number;
322
+ from: FromType;
323
+ createdAt: Date;
324
+ used: boolean;
325
+ };
326
+ /**
327
+ * Model Wallet
328
+ *
329
+ */
330
+ export declare type Wallet = {
331
+ id: number;
332
+ userId: string;
333
+ address: string;
334
+ };
335
+ /**
336
+ * Model PushToken
337
+ *
338
+ */
339
+ export declare type PushToken = {
340
+ id: number;
341
+ token: string;
342
+ device: string;
343
+ userId: string;
344
+ endpointArn: string | null;
345
+ deviceOsType: osType;
346
+ };
347
+ /**
348
+ * Model Company
349
+ *
350
+ */
351
+ export declare type Company = {
352
+ id: number;
353
+ name: string;
354
+ logo: string | null;
355
+ rewardsLogo: string | null;
356
+ };
357
+ /**
358
+ * Model ApiKeys
359
+ *
360
+ */
361
+ export declare type ApiKeys = {
362
+ id: string;
363
+ secretKey: string;
364
+ companyName: string;
365
+ expiredAt: Date;
366
+ };
367
+ /**
368
+ * Model PointRule
369
+ *
370
+ */
371
+ export declare type PointRule = {
372
+ id: string;
373
+ companyId: number;
374
+ name: string;
375
+ point: number;
376
+ limitDays: number | null;
377
+ limitPoint: number | null;
378
+ type: RuleType;
379
+ maxTimes: number | null;
380
+ reviewDays: number;
381
+ createdAt: Date;
382
+ isActive: boolean | null;
383
+ };
384
+ /**
385
+ * Model PointRuleAssign
386
+ *
387
+ */
388
+ export declare type PointRuleAssign = {
389
+ id: string;
390
+ digitalCustomizationId: number;
391
+ pointRuleId: string;
392
+ createdAt: Date;
393
+ isActive: boolean | null;
394
+ };
395
+ /**
396
+ * Model Point
397
+ *
398
+ */
399
+ export declare type Point = {
400
+ id: string;
401
+ userId: string;
402
+ pointRuleAssignId: string;
403
+ createdAt: Date;
404
+ };
405
+ /**
406
+ * Model RewardRule
407
+ *
408
+ */
409
+ export declare type RewardRule = {
410
+ id: string;
411
+ payPoint: number;
412
+ companyId: number;
413
+ name: string;
414
+ value: number;
415
+ type: RewardType;
416
+ minimumPurchaseRequirements: number | null;
417
+ minimumPurchaseRequirementsType: MinimumPurchaseRequirementsType | null;
418
+ appliesOncePerCustomer: number | null;
419
+ usageLimitPerCode: number | null;
420
+ status: boolean | null;
421
+ startAt: Date;
422
+ endAt: Date | null;
423
+ createdAt: Date;
424
+ };
425
+ /**
426
+ * Model RewardCode
427
+ *
428
+ */
429
+ export declare type RewardCode = {
430
+ id: string;
431
+ rewardRuleId: string;
432
+ rewardId: string | null;
433
+ code: string;
434
+ createdAt: Date;
435
+ isUsed: boolean;
436
+ };
437
+ /**
438
+ * Model Reward
439
+ *
440
+ */
441
+ export declare type Reward = {
442
+ id: string;
443
+ userId: string;
444
+ rewardRuleId: string;
445
+ createdAt: Date;
446
+ isUsed: boolean;
447
+ };
448
+ /**
449
+ * Model Contract
450
+ *
451
+ */
452
+ export declare type Contract = {
453
+ id: string;
454
+ nickName: string;
455
+ companyId: number;
456
+ walletAddress: string;
457
+ walletPrivateKey: string;
458
+ rpcUrl: string;
459
+ apiKey: string;
460
+ platformApiHost: string;
461
+ address: string;
462
+ abi: string;
463
+ createdAt: Date;
464
+ type: ContractType;
465
+ status: ContractStatusType;
466
+ transformMethodName: string;
467
+ isDefault: boolean | null;
468
+ isActive: boolean | null;
469
+ };
470
+ /**
471
+ * Model PointLog
472
+ *
473
+ */
474
+ export declare type PointLog = {
475
+ id: number;
476
+ pointId: string;
477
+ pointRuleAssignId: string;
478
+ logId: number;
479
+ };
480
+ /**
481
+ * Model PendingPointLog
482
+ *
483
+ */
484
+ export declare type PendingPointLog = {
485
+ id: number;
486
+ pointLogId: number;
487
+ logId: number;
488
+ };
489
+ /**
490
+ * Model RewardLog
491
+ *
492
+ */
493
+ export declare type RewardLog = {
494
+ id: number;
495
+ rewardId: string;
496
+ logId: number;
497
+ };
498
+ /**
499
+ * Model Log
500
+ *
501
+ */
502
+ export declare type Log = {
503
+ id: number;
504
+ createdAt: Date;
505
+ logType: LogType;
506
+ };
507
+ /**
508
+ * Model WebUser
509
+ *
510
+ */
511
+ export declare type WebUser = {
512
+ id: string;
513
+ imageSrc: string | null;
514
+ email: string;
515
+ firstName: string;
516
+ lastName: string;
517
+ };
518
+ /**
519
+ * Enums
520
+ */
521
+ export declare const BlockChainStatusType: {
522
+ queued: string;
523
+ processing: string;
524
+ minted: string;
525
+ transferring: string;
526
+ transferred: string;
527
+ fail: string;
528
+ };
529
+ export declare type BlockChainStatusType = (typeof BlockChainStatusType)[keyof typeof BlockChainStatusType];
530
+ export declare const AgeVerificationType: {
531
+ none: string;
532
+ eighteen: string;
533
+ twentyOne: string;
534
+ };
535
+ export declare type AgeVerificationType = (typeof AgeVerificationType)[keyof typeof AgeVerificationType];
536
+ export declare const NftStatusType: {
537
+ none: string;
538
+ denied: string;
539
+ approved: string;
540
+ pending: string;
541
+ };
542
+ export declare type NftStatusType = (typeof NftStatusType)[keyof typeof NftStatusType];
543
+ export declare const FromType: {
544
+ email: string;
545
+ phone: string;
546
+ };
547
+ export declare type FromType = (typeof FromType)[keyof typeof FromType];
548
+ export declare const osType: {
549
+ ios: string;
550
+ android: string;
551
+ };
552
+ export declare type osType = (typeof osType)[keyof typeof osType];
553
+ export declare const RuleType: {
554
+ scan: string;
555
+ referral: string;
556
+ redeemNFT: string;
557
+ redeemGoldenTicket: string;
558
+ };
559
+ export declare type RuleType = (typeof RuleType)[keyof typeof RuleType];
560
+ export declare const RewardType: {
561
+ fixedAmount: string;
562
+ percentage: string;
563
+ };
564
+ export declare type RewardType = (typeof RewardType)[keyof typeof RewardType];
565
+ export declare const MinimumPurchaseRequirementsType: {
566
+ quantity: string;
567
+ amount: string;
568
+ };
569
+ export declare type MinimumPurchaseRequirementsType = (typeof MinimumPurchaseRequirementsType)[keyof typeof MinimumPurchaseRequirementsType];
570
+ export declare const ContractType: {
571
+ Erc721: string;
572
+ Erc1155: string;
573
+ };
574
+ export declare type ContractType = (typeof ContractType)[keyof typeof ContractType];
575
+ export declare const ContractStatusType: {
576
+ none: string;
577
+ denied: string;
578
+ approved: string;
579
+ pending: string;
580
+ };
581
+ export declare type ContractStatusType = (typeof ContractStatusType)[keyof typeof ContractStatusType];
582
+ export declare const LogType: {
583
+ pointLog: string;
584
+ rewardLog: string;
585
+ pendingPointLog: string;
586
+ };
587
+ export declare type LogType = (typeof LogType)[keyof typeof LogType];
package/lib/types.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogType = exports.ContractStatusType = exports.ContractType = exports.MinimumPurchaseRequirementsType = exports.RewardType = exports.RuleType = exports.osType = exports.FromType = exports.NftStatusType = exports.AgeVerificationType = exports.BlockChainStatusType = void 0;
4
+ /**
5
+ * Enums
6
+ */
7
+ // Based on
8
+ // https://github.com/microsoft/TypeScript/issues/3192#issuecomment-261720275
9
+ exports.BlockChainStatusType = {
10
+ queued: 'queued',
11
+ processing: 'processing',
12
+ minted: 'minted',
13
+ transferring: 'transferring',
14
+ transferred: 'transferred',
15
+ fail: 'fail'
16
+ };
17
+ exports.AgeVerificationType = {
18
+ none: 'none',
19
+ eighteen: 'eighteen',
20
+ twentyOne: 'twentyOne'
21
+ };
22
+ exports.NftStatusType = {
23
+ none: 'none',
24
+ denied: 'denied',
25
+ approved: 'approved',
26
+ pending: 'pending'
27
+ };
28
+ exports.FromType = {
29
+ email: 'email',
30
+ phone: 'phone'
31
+ };
32
+ exports.osType = {
33
+ ios: 'ios',
34
+ android: 'android'
35
+ };
36
+ exports.RuleType = {
37
+ scan: 'scan',
38
+ referral: 'referral',
39
+ redeemNFT: 'redeemNFT',
40
+ redeemGoldenTicket: 'redeemGoldenTicket'
41
+ };
42
+ exports.RewardType = {
43
+ fixedAmount: 'fixedAmount',
44
+ percentage: 'percentage'
45
+ };
46
+ exports.MinimumPurchaseRequirementsType = {
47
+ quantity: 'quantity',
48
+ amount: 'amount'
49
+ };
50
+ exports.ContractType = {
51
+ Erc721: 'Erc721',
52
+ Erc1155: 'Erc1155'
53
+ };
54
+ exports.ContractStatusType = {
55
+ none: 'none',
56
+ denied: 'denied',
57
+ approved: 'approved',
58
+ pending: 'pending'
59
+ };
60
+ exports.LogType = {
61
+ pointLog: 'pointLog',
62
+ rewardLog: 'rewardLog',
63
+ pendingPointLog: 'pendingPointLog'
64
+ };
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@bytexbyte/ike-app-api",
3
+ "version": "1.0.0",
4
+ "description": "app api",
5
+ "main": "lib/index.js",
6
+ "types": "lib/index.d.ts",
7
+ "scripts": {
8
+ "test": "echo \"Error: no test specified\" && exit 1",
9
+ "build": "tsc",
10
+ "format": "prettier --write \"src/**/*.ts\"",
11
+ "lint": "tslint -p tsconfig.json",
12
+ "prepublishOnly": "npm run lint",
13
+ "preversion": "npm run lint",
14
+ "version": "npm run format && git add -A src",
15
+ "postversion": "git push && git push --tags"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://ByteXByte@dev.azure.com/ByteXByte/IKE/_git/IKE-web"
20
+ },
21
+ "keywords": [],
22
+ "author": "Matt",
23
+ "license": "ISC",
24
+ "homepage": "https://dev.azure.com/ByteXByte/IKE/_git/IKE-web?path=/next/app-api",
25
+ "devDependencies": {
26
+ "@types/node": "^18.7.1",
27
+ "prettier": "^2.7.1",
28
+ "tslint": "^6.1.3",
29
+ "tslint-config-prettier": "^1.18.0",
30
+ "typescript": "^4.7.4"
31
+ },
32
+ "files": [
33
+ "lib/**/*"
34
+ ],
35
+ "directories": {
36
+ "lib": "lib"
37
+ },
38
+ "dependencies": {
39
+ "@bytexbyte/berify-api": "^2.0.8",
40
+ "@bytexbyte/bxb-api": "^1.0.4",
41
+ "ansi-styles": "^3.2.1",
42
+ "argparse": "^1.0.10",
43
+ "balanced-match": "^1.0.2",
44
+ "brace-expansion": "^1.1.11",
45
+ "builtin-modules": "^1.1.1",
46
+ "chalk": "^2.4.2",
47
+ "color-convert": "^1.9.3",
48
+ "color-name": "^1.1.3",
49
+ "commander": "^2.20.3",
50
+ "concat-map": "^0.0.1",
51
+ "diff": "^4.0.2",
52
+ "escape-string-regexp": "^1.0.5",
53
+ "esprima": "^4.0.1",
54
+ "fs.realpath": "^1.0.0",
55
+ "function-bind": "^1.1.1",
56
+ "glob": "^7.2.3",
57
+ "has": "^1.0.3",
58
+ "has-flag": "^3.0.0",
59
+ "inflight": "^1.0.6",
60
+ "inherits": "^2.0.4",
61
+ "is-core-module": "^2.10.0",
62
+ "js-tokens": "^4.0.0",
63
+ "js-yaml": "^3.14.1",
64
+ "minimatch": "^3.1.2",
65
+ "minimist": "^1.2.6",
66
+ "mkdirp": "^0.5.6",
67
+ "once": "^1.4.0",
68
+ "path-is-absolute": "^1.0.1",
69
+ "path-parse": "^1.0.7",
70
+ "resolve": "^1.22.1",
71
+ "semver": "^5.7.1",
72
+ "sprintf-js": "^1.0.3",
73
+ "supports-color": "^5.5.0",
74
+ "supports-preserve-symlinks-flag": "^1.0.0",
75
+ "tslib": "^1.14.1",
76
+ "tsutils": "^2.29.0",
77
+ "wrappy": "^1.0.2"
78
+ }
79
+ }