@explorins/pers-sdk 1.3.4 → 1.3.6

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 (56) hide show
  1. package/README.md +107 -339
  2. package/dist/business/index.d.ts +9 -9
  3. package/dist/campaign/index.d.ts +19 -19
  4. package/dist/chunks/{pers-sdk-Ct_uUMJl.cjs → pers-sdk-DiwCwBiC.cjs} +279 -4
  5. package/dist/chunks/pers-sdk-DiwCwBiC.cjs.map +1 -0
  6. package/dist/chunks/{pers-sdk-tKHGQr5x.js → pers-sdk-Rc8YKyNc.js} +279 -5
  7. package/dist/chunks/pers-sdk-Rc8YKyNc.js.map +1 -0
  8. package/dist/core/index.d.ts +1 -0
  9. package/dist/core/index.d.ts.map +1 -1
  10. package/dist/core.cjs +2 -1
  11. package/dist/core.cjs.map +1 -1
  12. package/dist/core.js +1 -1
  13. package/dist/donation/index.d.ts +1 -1
  14. package/dist/index.cjs +3 -6
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.js +3 -6
  17. package/dist/index.js.map +1 -1
  18. package/dist/package.json +148 -147
  19. package/dist/payment/index.d.ts +6 -6
  20. package/dist/redemption/index.d.ts +10 -10
  21. package/dist/tenant/index.d.ts +4 -4
  22. package/dist/transaction/index.d.ts +4 -4
  23. package/dist/web3/application/web3-application.service.d.ts +3 -3
  24. package/dist/web3/application/web3-application.service.d.ts.map +1 -1
  25. package/dist/web3/domain/models/index.d.ts.map +1 -1
  26. package/dist/web3/domain/services/contract-domain.service.d.ts +2 -4
  27. package/dist/web3/domain/services/contract-domain.service.d.ts.map +1 -1
  28. package/dist/web3/domain/services/token-domain.service.d.ts +5 -5
  29. package/dist/web3/domain/services/token-domain.service.d.ts.map +1 -1
  30. package/dist/web3/index.d.ts +5 -5
  31. package/dist/web3/index.d.ts.map +1 -1
  32. package/dist/web3/infrastructure/api/web3-api.d.ts +4 -4
  33. package/dist/web3/infrastructure/api/web3-api.d.ts.map +1 -1
  34. package/dist/web3-chain/index.d.ts +3 -5
  35. package/dist/web3-chain/index.d.ts.map +1 -1
  36. package/dist/web3-chain/services/ethers-provider.service.d.ts +11 -0
  37. package/dist/web3-chain/services/ethers-provider.service.d.ts.map +1 -0
  38. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +1 -1
  39. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
  40. package/dist/web3-chain/services/web3-chain-service.d.ts +7 -7
  41. package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -1
  42. package/dist/web3-chain/services/web3-provider.service.d.ts +1 -0
  43. package/dist/web3-chain/services/web3-provider.service.d.ts.map +1 -0
  44. package/dist/web3-chain.cjs +108 -231
  45. package/dist/web3-chain.cjs.map +1 -1
  46. package/dist/web3-chain.js +106 -228
  47. package/dist/web3-chain.js.map +1 -1
  48. package/dist/web3.cjs +19 -27
  49. package/dist/web3.cjs.map +1 -1
  50. package/dist/web3.js +17 -25
  51. package/dist/web3.js.map +1 -1
  52. package/package.json +148 -147
  53. package/dist/chunks/pers-sdk-Ct_uUMJl.cjs.map +0 -1
  54. package/dist/chunks/pers-sdk-tKHGQr5x.js.map +0 -1
  55. package/dist/web3-chain/services/provider.service.d.ts +0 -13
  56. package/dist/web3-chain/services/provider.service.d.ts.map +0 -1
@@ -242,6 +242,18 @@ const AUTH_STORAGE_KEYS = {
242
242
  PROVIDER_TOKEN: 'pers_provider_token', // Generic external JWT (Firebase, Auth0, etc.)
243
243
  AUTH_TYPE: 'pers_auth_type',
244
244
  };
245
+ /**
246
+ * Generate prefixed storage keys for different auth types
247
+ */
248
+ function createStorageKey(baseKey, authType = 'user') {
249
+ if (baseKey === AUTH_STORAGE_KEYS.ACCESS_TOKEN) {
250
+ return `pers_access_token_${authType}`;
251
+ }
252
+ if (baseKey === AUTH_STORAGE_KEYS.REFRESH_TOKEN) {
253
+ return `pers_refresh_token_${authType}`;
254
+ }
255
+ return baseKey;
256
+ }
245
257
  /**
246
258
  * Authentication method types
247
259
  */
@@ -260,7 +272,7 @@ const AUTH_METHODS = {
260
272
  /**
261
273
  * LocalStorage-based token storage
262
274
  */
263
- class LocalStorageTokenStorage {
275
+ let LocalStorageTokenStorage$1 = class LocalStorageTokenStorage {
264
276
  async setToken(key, value) {
265
277
  if (typeof localStorage !== 'undefined') {
266
278
  localStorage.setItem(key, value);
@@ -284,12 +296,12 @@ class LocalStorageTokenStorage {
284
296
  });
285
297
  }
286
298
  }
287
- }
299
+ };
288
300
  /**
289
301
  * Token Manager - High-level token management
290
302
  */
291
303
  class TokenManager {
292
- constructor(storage = new LocalStorageTokenStorage()) {
304
+ constructor(storage = new LocalStorageTokenStorage$1()) {
293
305
  this.storage = storage;
294
306
  }
295
307
  async setAccessToken(token) {
@@ -1340,6 +1352,268 @@ class PersApiClient {
1340
1352
  }
1341
1353
  }
1342
1354
 
1355
+ /**
1356
+ * Memory-based token storage (default)
1357
+ */
1358
+ class MemoryTokenStorage {
1359
+ constructor() {
1360
+ this.storage = new Map();
1361
+ }
1362
+ async setItem(key, value) {
1363
+ this.storage.set(key, value);
1364
+ }
1365
+ async getItem(key) {
1366
+ return this.storage.get(key) || null;
1367
+ }
1368
+ async removeItem(key) {
1369
+ this.storage.delete(key);
1370
+ }
1371
+ }
1372
+ /**
1373
+ * localStorage-based token storage (browser only)
1374
+ */
1375
+ class LocalStorageTokenStorage {
1376
+ async setItem(key, value) {
1377
+ if (typeof localStorage !== 'undefined') {
1378
+ localStorage.setItem(key, value);
1379
+ }
1380
+ else {
1381
+ throw new Error('localStorage is not available in this environment');
1382
+ }
1383
+ }
1384
+ async getItem(key) {
1385
+ if (typeof localStorage !== 'undefined') {
1386
+ return localStorage.getItem(key);
1387
+ }
1388
+ return null;
1389
+ }
1390
+ async removeItem(key) {
1391
+ if (typeof localStorage !== 'undefined') {
1392
+ localStorage.removeItem(key);
1393
+ }
1394
+ }
1395
+ }
1396
+ /**
1397
+ * Creates a platform-agnostic AuthProvider from simple configuration
1398
+ *
1399
+ * This factory function is completely platform-agnostic and can be used
1400
+ * across Angular, React, Vue, Node.js, or any other JavaScript environment.
1401
+ *
1402
+ * Features:
1403
+ * - Token caching with refresh support
1404
+ * - Automatic token refresh on expiration
1405
+ * - Configurable token providers
1406
+ * - Token storage (memory, localStorage, custom)
1407
+ * - Platform-independent
1408
+ *
1409
+ * @param config - Simple auth configuration
1410
+ * @returns AuthProvider implementation
1411
+ */
1412
+ function createAuthProvider(config) {
1413
+ // Initialize token storage
1414
+ let tokenStorage;
1415
+ switch (config.tokenStorage) {
1416
+ case 'localStorage':
1417
+ tokenStorage = new LocalStorageTokenStorage();
1418
+ break;
1419
+ case 'custom':
1420
+ if (!config.customTokenStorage) {
1421
+ throw new Error('Custom token storage configuration is required when tokenStorage is "custom"');
1422
+ }
1423
+ tokenStorage = config.customTokenStorage;
1424
+ break;
1425
+ case 'memory':
1426
+ default:
1427
+ tokenStorage = new MemoryTokenStorage();
1428
+ break;
1429
+ }
1430
+ // Token storage keys
1431
+ const ACCESS_TOKEN_KEY = createStorageKey(AUTH_STORAGE_KEYS.ACCESS_TOKEN, config.authType || 'user');
1432
+ const REFRESH_TOKEN_KEY = createStorageKey(AUTH_STORAGE_KEYS.REFRESH_TOKEN, config.authType || 'user');
1433
+ // Store current token for refresh scenarios and caching
1434
+ let currentToken = config.token || null;
1435
+ let isRefreshing = false; // Prevent concurrent refresh attempts
1436
+ let refreshPromise = null;
1437
+ return {
1438
+ authType: config.authType || 'user',
1439
+ async getToken() {
1440
+ // If currently refreshing, wait for it to complete
1441
+ if (isRefreshing && refreshPromise) {
1442
+ await refreshPromise;
1443
+ return currentToken;
1444
+ }
1445
+ // Use cached current token (updated after refresh)
1446
+ if (currentToken) {
1447
+ return currentToken;
1448
+ }
1449
+ // Try to get token from storage
1450
+ try {
1451
+ const storedToken = await tokenStorage.getItem(ACCESS_TOKEN_KEY);
1452
+ if (storedToken) {
1453
+ currentToken = storedToken;
1454
+ return storedToken;
1455
+ }
1456
+ }
1457
+ catch (error) {
1458
+ // Token retrieval failed - continuing without storage
1459
+ }
1460
+ // Custom token provider function (always fresh)
1461
+ if (config.tokenProvider) {
1462
+ const token = await config.tokenProvider();
1463
+ currentToken = token; // Cache for future calls
1464
+ return token;
1465
+ }
1466
+ // No token available
1467
+ return null;
1468
+ },
1469
+ async getProjectKey() {
1470
+ return config.projectKey || null;
1471
+ },
1472
+ // Token storage methods
1473
+ async setAccessToken(token) {
1474
+ currentToken = token;
1475
+ try {
1476
+ await tokenStorage.setItem(ACCESS_TOKEN_KEY, token);
1477
+ }
1478
+ catch (error) {
1479
+ throw error;
1480
+ }
1481
+ },
1482
+ async setRefreshToken(token) {
1483
+ try {
1484
+ await tokenStorage.setItem(REFRESH_TOKEN_KEY, token);
1485
+ }
1486
+ catch (error) {
1487
+ throw error;
1488
+ }
1489
+ },
1490
+ async getRefreshToken() {
1491
+ try {
1492
+ return await tokenStorage.getItem(REFRESH_TOKEN_KEY);
1493
+ }
1494
+ catch (error) {
1495
+ return null;
1496
+ }
1497
+ },
1498
+ async clearTokens() {
1499
+ currentToken = null;
1500
+ try {
1501
+ await Promise.all([
1502
+ tokenStorage.removeItem(ACCESS_TOKEN_KEY),
1503
+ tokenStorage.removeItem(REFRESH_TOKEN_KEY)
1504
+ ]);
1505
+ }
1506
+ catch (error) {
1507
+ throw error;
1508
+ }
1509
+ },
1510
+ async onTokenExpired() {
1511
+ // Prevent concurrent refresh attempts
1512
+ if (isRefreshing) {
1513
+ if (refreshPromise) {
1514
+ await refreshPromise;
1515
+ }
1516
+ return;
1517
+ }
1518
+ // No refresh logic provided
1519
+ if (!config.onTokenExpired) {
1520
+ currentToken = null;
1521
+ try {
1522
+ await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
1523
+ }
1524
+ catch (error) {
1525
+ // Token clearing failed - continuing
1526
+ }
1527
+ return;
1528
+ }
1529
+ // Start refresh process
1530
+ isRefreshing = true;
1531
+ refreshPromise = (async () => {
1532
+ try {
1533
+ // Execute refresh logic (should update token source)
1534
+ await config.onTokenExpired();
1535
+ // After refresh, get the new token
1536
+ if (config.tokenProvider) {
1537
+ const newToken = await config.tokenProvider();
1538
+ if (newToken && newToken !== currentToken) {
1539
+ currentToken = newToken;
1540
+ // Store the new token
1541
+ try {
1542
+ await tokenStorage.setItem(ACCESS_TOKEN_KEY, newToken);
1543
+ }
1544
+ catch (error) {
1545
+ // Token storage failed - token still valid in memory
1546
+ }
1547
+ // Notify about successful token refresh
1548
+ if (config.onTokenRefreshed) {
1549
+ config.onTokenRefreshed(newToken);
1550
+ }
1551
+ }
1552
+ else {
1553
+ currentToken = null;
1554
+ try {
1555
+ await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
1556
+ }
1557
+ catch (error) {
1558
+ // Token clearing failed - continuing
1559
+ }
1560
+ }
1561
+ }
1562
+ else {
1563
+ // For static token configs, clear the token since we can't refresh
1564
+ currentToken = null;
1565
+ try {
1566
+ await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
1567
+ }
1568
+ catch (error) {
1569
+ // Token clearing failed - continuing
1570
+ }
1571
+ }
1572
+ }
1573
+ catch (error) {
1574
+ currentToken = null; // Clear token on refresh failure
1575
+ try {
1576
+ await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
1577
+ }
1578
+ catch (storageError) {
1579
+ // Token clearing failed - continuing
1580
+ }
1581
+ throw error; // Re-throw to let SDK handle the error
1582
+ }
1583
+ finally {
1584
+ isRefreshing = false;
1585
+ refreshPromise = null;
1586
+ }
1587
+ })();
1588
+ await refreshPromise;
1589
+ }
1590
+ };
1591
+ }
1592
+ /**
1593
+ * Platform-specific localStorage token provider for browsers
1594
+ * This is a convenience function for browser environments
1595
+ */
1596
+ /* export function createBrowserTokenProvider(tokenKey: string = 'userJwt'): () => Promise<string | null> {
1597
+ return async () => {
1598
+ if (typeof localStorage !== 'undefined') {
1599
+ return localStorage.getItem(tokenKey);
1600
+ }
1601
+ return null;
1602
+ };
1603
+ } */
1604
+ /**
1605
+ * Platform-specific environment variable token provider for Node.js
1606
+ * This is a convenience function for Node.js environments
1607
+ */
1608
+ /* export function createNodeTokenProvider(envVar: string = 'JWT_TOKEN'): () => Promise<string | null> {
1609
+ return async () => {
1610
+ if (typeof process !== 'undefined' && process.env) {
1611
+ return process.env[envVar] || null;
1612
+ }
1613
+ return null;
1614
+ };
1615
+ } */
1616
+
1343
1617
  /**
1344
1618
  * PERS SDK - Platform-agnostic TypeScript SDK for PERS API
1345
1619
  *
@@ -1419,6 +1693,7 @@ exports.DEFAULT_PERS_CONFIG = DEFAULT_PERS_CONFIG;
1419
1693
  exports.PersApiClient = PersApiClient;
1420
1694
  exports.PersSDK = PersSDK;
1421
1695
  exports.buildApiRoot = buildApiRoot;
1696
+ exports.createAuthProvider = createAuthProvider;
1422
1697
  exports.createPersSDK = createPersSDK;
1423
1698
  exports.mergeWithDefaults = mergeWithDefaults;
1424
- //# sourceMappingURL=pers-sdk-Ct_uUMJl.cjs.map
1699
+ //# sourceMappingURL=pers-sdk-DiwCwBiC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pers-sdk-DiwCwBiC.cjs","sources":["../../src/core/pers-config.ts","../../src/core/auth/api/auth-api.ts","../../src/core/auth/services/auth-service.ts","../../src/core/auth/auth-constants.ts","../../src/core/auth/token-storage.ts","../../src/core/errors/index.ts","../../src/core/auth/token-refresh.ts","../../src/core/auth/default-auth-provider.ts","../../src/core/pers-api-client.ts","../../src/core/auth/create-auth-provider.ts","../../src/pers-sdk.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["AccountOwnerType","LocalStorageTokenStorage"],"mappings":"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"}