@sidub-inc/licensing-client 1.3.45 → 1.4.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/dist/index.esm.js CHANGED
@@ -1,9 +1,16 @@
1
1
  import React, { createContext, useMemo, useContext } from 'react';
2
2
 
3
3
  /**
4
- * Error class for licensing-related errors
4
+ * Error class for licensing-related errors.
5
+ * Thrown when API requests fail, authorization is denied, or network errors occur.
5
6
  */
6
7
  class LicensingError extends Error {
8
+ /**
9
+ * Creates a new licensing error.
10
+ * @param message A description of the error.
11
+ * @param statusCode The HTTP status code from the server response, if applicable.
12
+ * @param response The raw response body from the server, if available.
13
+ */
7
14
  constructor(message, statusCode, response) {
8
15
  super(message);
9
16
  this.statusCode = statusCode;
@@ -13,7 +20,8 @@ class LicensingError extends Error {
13
20
  }
14
21
 
15
22
  /**
16
- * License classification types
23
+ * License classification types defining the licensing model.
24
+ * Matches the .NET LicenseClassificationType enum.
17
25
  */
18
26
  var LicenseClassificationType;
19
27
  (function (LicenseClassificationType) {
@@ -32,6 +40,9 @@ const LICENSE_CLASSIFICATION_INT_MAP = {
32
40
  /**
33
41
  * Normalizes a license classification value from server integer or string to the TypeScript enum.
34
42
  * The .NET server serializes enums as integers (0=Trial, 1=Subscription, 2=Perpetual).
43
+ *
44
+ * @param value The raw value from the server response (integer, string, null, or undefined).
45
+ * @returns The normalized enum value, or undefined if the input cannot be mapped.
35
46
  */
36
47
  function normalizeLicenseClassificationType(value) {
37
48
  if (value === null || value === undefined)
@@ -44,14 +55,19 @@ function normalizeLicenseClassificationType(value) {
44
55
  }
45
56
  /**
46
57
  * Billing interval units for subscription licenses.
47
- * Matches .NET BillingIntervalUnit enum with singular names.
58
+ * Matches the .NET BillingIntervalUnit enum with singular names.
48
59
  */
49
60
  var BillingIntervalUnit;
50
61
  (function (BillingIntervalUnit) {
62
+ /** Hourly billing interval. */
51
63
  BillingIntervalUnit["Hour"] = "Hour";
64
+ /** Daily billing interval. */
52
65
  BillingIntervalUnit["Day"] = "Day";
66
+ /** Weekly billing interval. */
53
67
  BillingIntervalUnit["Week"] = "Week";
68
+ /** Monthly billing interval. */
54
69
  BillingIntervalUnit["Month"] = "Month";
70
+ /** Yearly billing interval. */
55
71
  BillingIntervalUnit["Year"] = "Year";
56
72
  })(BillingIntervalUnit || (BillingIntervalUnit = {}));
57
73
  const BILLING_INTERVAL_INT_MAP = {
@@ -63,6 +79,9 @@ const BILLING_INTERVAL_INT_MAP = {
63
79
  };
64
80
  /**
65
81
  * Normalizes a billing interval unit value from server integer or string to the TypeScript enum.
82
+ *
83
+ * @param value The raw value from the server response (integer, string, null, or undefined).
84
+ * @returns The normalized enum value, or undefined if the input cannot be mapped.
66
85
  */
67
86
  function normalizeBillingIntervalUnit(value) {
68
87
  if (value === null || value === undefined)
@@ -238,11 +257,14 @@ class LicenseAssertion {
238
257
  }
239
258
 
240
259
  /**
241
- * Service access level types
260
+ * Service access levels for feature authorization.
261
+ * Matches the .NET ServiceAccessLevel enum.
242
262
  */
243
263
  var ServiceAccessLevel;
244
264
  (function (ServiceAccessLevel) {
265
+ /** Access to the feature is denied. */
245
266
  ServiceAccessLevel["Denied"] = "Denied";
267
+ /** Access to the feature is allowed. */
246
268
  ServiceAccessLevel["Allowed"] = "Allowed";
247
269
  })(ServiceAccessLevel || (ServiceAccessLevel = {}));
248
270
  const SERVICE_ACCESS_INT_MAP = {
@@ -252,6 +274,9 @@ const SERVICE_ACCESS_INT_MAP = {
252
274
  /**
253
275
  * Normalizes a service access level value from server integer or string to the TypeScript enum.
254
276
  * The .NET server serializes enums as integers (0=Denied, 1=Allowed).
277
+ *
278
+ * @param value The raw value from the server response (integer, string, null, or undefined).
279
+ * @returns The normalized enum value, or undefined if the input cannot be mapped.
255
280
  */
256
281
  function normalizeServiceAccessLevel(value) {
257
282
  if (value === null || value === undefined)
@@ -401,6 +426,10 @@ class RateLimitAssertion extends LicenseAssertion {
401
426
  * Implements signature verification using ECDSA with P-256 curve and SHA-256.
402
427
  */
403
428
  class CryptoService {
429
+ /**
430
+ * Creates a new cryptography service instance.
431
+ * @param config The cryptography configuration containing the public key for verification.
432
+ */
404
433
  constructor(config) {
405
434
  this.publicKey = null;
406
435
  this.config = config;
@@ -478,9 +507,15 @@ class CryptoService {
478
507
  }
479
508
  }
480
509
  /**
481
- * Error class for cryptography-related errors
510
+ * Error class for cryptography-related errors.
511
+ * Contains a machine-readable error code for programmatic handling.
482
512
  */
483
513
  class CryptoError extends Error {
514
+ /**
515
+ * Creates a new cryptography error.
516
+ * @param message A description of the cryptographic failure.
517
+ * @param code A machine-readable error code identifying the failure type.
518
+ */
484
519
  constructor(message, code) {
485
520
  super(message);
486
521
  this.code = code;
@@ -610,6 +645,10 @@ class SignatureValidator {
610
645
  * One cache instance per LicensingClient — no singletons.
611
646
  */
612
647
  class AuthorizationCache {
648
+ /**
649
+ * Creates a new authorization cache.
650
+ * @param maxSize The maximum number of entries to store before evicting the oldest. Defaults to 100.
651
+ */
613
652
  constructor(maxSize = 100) {
614
653
  this.cache = new Map();
615
654
  this.maxSize = maxSize;
@@ -617,6 +656,10 @@ class AuthorizationCache {
617
656
  /**
618
657
  * Gets a cached authorization if it exists and has not expired.
619
658
  * On hit, re-inserts the entry to move it to the end (pseudo-LRU freshness).
659
+ *
660
+ * @param licenseId The license identifier.
661
+ * @param serviceKeyId The service key identifier.
662
+ * @returns The cached authorization, or null if not cached or expired.
620
663
  */
621
664
  get(licenseId, serviceKeyId) {
622
665
  const key = `${licenseId}.${serviceKeyId}`;
@@ -636,6 +679,10 @@ class AuthorizationCache {
636
679
  /**
637
680
  * Stores an authorization in the cache.
638
681
  * Evicts the oldest entry if max size is reached.
682
+ *
683
+ * @param licenseId The license identifier.
684
+ * @param serviceKeyId The service key identifier.
685
+ * @param authorization The license authorization to cache.
639
686
  */
640
687
  set(licenseId, serviceKeyId, authorization) {
641
688
  const key = `${licenseId}.${serviceKeyId}`;
@@ -660,7 +707,10 @@ class AuthorizationCache {
660
707
  clearCache() {
661
708
  this.cache.clear();
662
709
  }
663
- /** Removes all cached entries for a specific license across all service keys */
710
+ /**
711
+ * Removes all cached entries for a specific license across all service keys.
712
+ * @param licenseId The license identifier to invalidate.
713
+ */
664
714
  invalidate(licenseId) {
665
715
  const prefix = `${licenseId}.`;
666
716
  for (const key of Array.from(this.cache.keys())) {
@@ -679,15 +729,25 @@ class AuthorizationCache {
679
729
  * Local state is additive/conservative — may over-count (safer than under-counting).
680
730
  */
681
731
  class RateLimitFeatureState {
732
+ /**
733
+ * Creates a new rate limit feature state tracker.
734
+ * @param sampleSeconds The sliding window duration in seconds for rate limit evaluation.
735
+ */
682
736
  constructor(sampleSeconds) {
683
737
  this.metrics = [];
684
738
  this.sampleSeconds = sampleSeconds;
685
739
  }
686
- /** Records a consumption event with the current timestamp */
740
+ /**
741
+ * Records a consumption event with the current timestamp.
742
+ * @param amount The quantity consumed in this event.
743
+ */
687
744
  consumeRate(amount) {
688
745
  this.metrics.push({ timestamp: Date.now(), amount });
689
746
  }
690
- /** Returns total consumption within the sample window, pruning stale entries */
747
+ /**
748
+ * Returns total consumption within the sample window, pruning stale entries.
749
+ * @returns The sum of all consumption amounts within the sliding window.
750
+ */
691
751
  getConsumption() {
692
752
  const cutoff = Date.now() - (this.sampleSeconds * 1000);
693
753
  this.metrics = this.metrics.filter(m => m.timestamp >= cutoff);
@@ -695,7 +755,15 @@ class RateLimitFeatureState {
695
755
  }
696
756
  }
697
757
 
758
+ /**
759
+ * Error thrown when the licensing client is misconfigured.
760
+ * Indicates missing or invalid configuration values such as a missing license ID or service URI.
761
+ */
698
762
  class LicensingConfigurationException extends LicensingError {
763
+ /**
764
+ * Creates a new configuration exception.
765
+ * @param message A description of the configuration error.
766
+ */
699
767
  constructor(message) {
700
768
  super(message);
701
769
  this.name = 'LicensingConfigurationException';
@@ -994,19 +1062,13 @@ class LicensingClient {
994
1062
  return undefined;
995
1063
  }
996
1064
  /**
997
- * Asserts whether a license condition is satisfied using the provided assertion.
998
- * This evaluates the assertion against a license authorization.
1065
+ * Evaluates a license assertion against a license authorization.
1066
+ * Returns whether the assertion condition (feature access, rate limit, etc.) is satisfied.
999
1067
  *
1000
- * @param assertion The license assertion to evaluate
1001
- * @param authorization The license authorization to check against (if not provided, you must call getAuthorization first)
1002
- * @returns True if the assertion is satisfied, false otherwise
1003
- *
1004
- * @example
1005
- * ```typescript
1006
- * const authorization = await client.getAuthorization('license-id');
1007
- * const assertion = ServiceAccessAssertion.create('premium-features');
1008
- * const hasAccess = client.assertLicense(assertion, authorization);
1009
- * ```
1068
+ * @template T The type of license feature the assertion operates on.
1069
+ * @param assertion The license assertion to evaluate.
1070
+ * @param authorization The license authorization to check against.
1071
+ * @returns True if the assertion is satisfied, false otherwise.
1010
1072
  */
1011
1073
  assertLicense(assertion, authorization) {
1012
1074
  // Auto-inject feature states for RateLimitAssertion
@@ -1015,19 +1077,34 @@ class LicensingClient {
1015
1077
  }
1016
1078
  return assertion.isSatisfied(authorization);
1017
1079
  }
1018
- /** Clears all cached authorizations */
1080
+ /**
1081
+ * Clears all cached authorizations.
1082
+ */
1019
1083
  clearCache() {
1020
1084
  this.authorizationCache?.clearCache();
1021
1085
  }
1022
- /** Invalidates all cached authorizations for a specific license */
1086
+ /**
1087
+ * Invalidates all cached authorizations for a specific license.
1088
+ * @param licenseId The license identifier to invalidate.
1089
+ */
1023
1090
  invalidateCache(licenseId) {
1024
1091
  this.authorizationCache?.invalidate(licenseId);
1025
1092
  }
1026
- /** Gets the local feature state for a license+feature combination */
1093
+ /**
1094
+ * Gets the local feature state for a license+feature combination.
1095
+ * @param licenseId The license identifier.
1096
+ * @param featureKey The feature key.
1097
+ * @returns The rate limit feature state tracker, or undefined if no state exists.
1098
+ */
1027
1099
  getFeatureState(licenseId, featureKey) {
1028
1100
  return this.featureStates.get(`${licenseId}.${featureKey}`);
1029
1101
  }
1030
- /** Sets/replaces the local feature state for a license+feature combination */
1102
+ /**
1103
+ * Sets or replaces the local feature state for a license+feature combination.
1104
+ * @param licenseId The license identifier.
1105
+ * @param featureKey The feature key.
1106
+ * @param state The rate limit feature state tracker to associate.
1107
+ */
1031
1108
  setFeatureState(licenseId, featureKey, state) {
1032
1109
  this.featureStates.set(`${licenseId}.${featureKey}`, state);
1033
1110
  }
@@ -1355,7 +1432,8 @@ class LicensingClient {
1355
1432
  throw new LicensingError('Checkout polling timed out');
1356
1433
  }
1357
1434
  /**
1358
- * Gets the current configuration
1435
+ * Gets the current licensing configuration.
1436
+ * @returns A read-only copy of the resolved configuration.
1359
1437
  */
1360
1438
  getConfig() {
1361
1439
  return { ...this.config };
@@ -1587,6 +1665,11 @@ const useLicensingContextValue = () => {
1587
1665
  /**
1588
1666
  * Creates a LicensingContextType from an encoded credential string.
1589
1667
  * Billable fields are NOT included in the encoding (per .NET behavior) and must be provided separately.
1668
+ *
1669
+ * @param encoded The encoded credential string (SIDUB_LIC_...) to decode.
1670
+ * @param billableResourceId Optional billable resource identifier for consumption metering.
1671
+ * @param billablePlanId Optional billable plan identifier for consumption metering.
1672
+ * @returns A fully-populated licensing context.
1590
1673
  */
1591
1674
  function licensingContextFromEncodedString(encoded, billableResourceId, billablePlanId) {
1592
1675
  const credential = decodeCredential(encoded);
@@ -1602,6 +1685,9 @@ function licensingContextFromEncodedString(encoded, billableResourceId, billable
1602
1685
  /**
1603
1686
  * Encodes a LicensingContextType to a portable string.
1604
1687
  * Per .NET behavior: only the 4 credential fields are encoded, NOT billable fields.
1688
+ *
1689
+ * @param context The licensing context to encode.
1690
+ * @returns A portable encoded string prefixed with SIDUB_LIC_.
1605
1691
  */
1606
1692
  function licensingContextToEncodedString(context) {
1607
1693
  return encodeCredential({
@@ -1618,10 +1704,19 @@ function licensingContextToEncodedString(context) {
1618
1704
  * Caches the result after first resolution (lazy, one-shot).
1619
1705
  */
1620
1706
  class ConfigurationContextProvider {
1707
+ /**
1708
+ * Creates a new configuration-based context provider.
1709
+ * @param config The licensing configuration to extract credentials from.
1710
+ */
1621
1711
  constructor(config) {
1622
1712
  this.cached = undefined; // undefined = not yet resolved
1623
1713
  this.config = config;
1624
1714
  }
1715
+ /**
1716
+ * Resolves licensing context from the configured credentials.
1717
+ * Returns null if no credentials are available. Caches the result after first call.
1718
+ * @returns The resolved licensing context, or null if no credentials are configured.
1719
+ */
1625
1720
  async resolveContext() {
1626
1721
  // Return cached result if already resolved
1627
1722
  if (this.cached !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/client/LicensingError.ts","../src/models/Enums.ts","../src/models/LicensingCredential.ts","../src/models/FeatureUtils.ts","../src/assertions/LicenseAssertion.ts","../src/assertions/ServiceAccessAssertion.ts","../src/assertions/RateLimitAssertion.ts","../src/crypto/CryptoService.ts","../src/crypto/SignatureValidator.ts","../src/cache/AuthorizationCache.ts","../src/state/RateLimitFeatureState.ts","../src/client/LicensingConfigurationException.ts","../src/client/LicensingClient.ts","../src/assertions/CommonAssertions.ts","../src/context/LicensingContext.tsx","../src/context/LicensingContextType.ts","../src/context/ConfigurationContextProvider.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/client/LicensingError.ts","../src/models/Enums.ts","../src/models/LicensingCredential.ts","../src/models/FeatureUtils.ts","../src/assertions/LicenseAssertion.ts","../src/assertions/ServiceAccessAssertion.ts","../src/assertions/RateLimitAssertion.ts","../src/crypto/CryptoService.ts","../src/crypto/SignatureValidator.ts","../src/cache/AuthorizationCache.ts","../src/state/RateLimitFeatureState.ts","../src/client/LicensingConfigurationException.ts","../src/client/LicensingClient.ts","../src/assertions/CommonAssertions.ts","../src/context/LicensingContext.tsx","../src/context/LicensingContextType.ts","../src/context/ConfigurationContextProvider.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}