@stigg/js-client-sdk 0.24.0 → 0.26.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.
@@ -0,0 +1,10 @@
1
+ import EntitlementsApi from '../api/EntitlementsApi';
2
+ import { LoggerService } from './loggerService';
3
+ import { EntitlementCheckResult } from '../api/generated/types';
4
+ export declare class EntitlementCheckReportingService {
5
+ private readonly entitlementsApi;
6
+ private readonly customerId;
7
+ private readonly loggerService;
8
+ constructor(entitlementsApi: EntitlementsApi, customerId: string, loggerService: LoggerService);
9
+ reportEntitlementCheckRequested(featureId: string, entitlement: EntitlementCheckResult, requestedUsage?: number): Promise<void>;
10
+ }
@@ -4,6 +4,7 @@ import { BooleanEntitlement, MeteredEntitlement, MeteredEntitlementOptions, Nume
4
4
  import CachedEntitlement from './cachedEntitlement';
5
5
  import { CacheService } from './cacheService';
6
6
  import { Decision } from './entitlementDecisionService';
7
+ import { LoggerService } from './loggerService';
7
8
  export declare class EntitlementsService {
8
9
  private readonly customerId;
9
10
  private readonly cacheService;
@@ -11,12 +12,13 @@ export declare class EntitlementsService {
11
12
  private readonly modelMapper;
12
13
  private loadingEntitlements;
13
14
  private entitlementsPollingObserver;
14
- constructor(customerId: string, cacheService: CacheService, client: ApolloClient<NormalizedCacheObject>);
15
+ private entitlementCheckReportingService;
16
+ constructor(customerId: string, cacheService: CacheService, client: ApolloClient<NormalizedCacheObject>, batchedGraphClient: ApolloClient<NormalizedCacheObject>, loggerService: LoggerService);
15
17
  startPolling(interval: number): void;
16
18
  refresh(): Promise<void>;
17
- getBooleanEntitlement(featureId: string): BooleanEntitlement;
18
- getNumericEntitlement(featureId: string): NumericEntitlement;
19
- getMeteredEntitlement(featureId: string, options?: MeteredEntitlementOptions): MeteredEntitlement;
19
+ getBooleanEntitlement(featureId: string, fallbackEntitlement: BooleanEntitlement): BooleanEntitlement;
20
+ getNumericEntitlement(featureId: string, fallbackEntitlement: NumericEntitlement): NumericEntitlement;
21
+ getMeteredEntitlement(featureId: string, fallbackEntitlement: MeteredEntitlement, options?: MeteredEntitlementOptions): MeteredEntitlement;
20
22
  loadEntitlements(): Promise<void>;
21
23
  private loadEntitlementsFromRemote;
22
24
  protected storeFetchedEntitlementsInCache(entitlements: EntitlementFragment[]): void;
@@ -1,5 +1,6 @@
1
1
  export interface Logger {
2
2
  log: (message: string, object?: Record<string, string>) => void;
3
+ debug: (message: string, object?: Record<string, string>) => void;
3
4
  error: (message: string, error?: Record<string, string>) => void;
4
5
  }
5
6
  export interface LogConfiguration {
@@ -18,4 +19,5 @@ export declare class LoggerService implements Logger {
18
19
  constructor(logger: Logger, logLevel: LogLevel);
19
20
  error(message: string, error?: Record<string, string>): void;
20
21
  log(message: string, object?: Record<string, string>): void;
22
+ debug(message: string, object?: Record<string, string> | undefined): void;
21
23
  }
@@ -1,5 +1,5 @@
1
- import { CustomerFragment, EntitlementFragment, GetPlansQuery, FeatureType as ApiFeatureType, EntitlementResetPeriod as ApiEntitlementResetPeriod } from '../api/generated/types';
2
- import { BooleanEntitlement, Customer, FeatureType, MeteredEntitlement, NumericEntitlement, Plan, EntitlementResetPeriod } from '../models';
1
+ import { CustomerFragment, EntitlementCheckResult, EntitlementFragment, EntitlementResetPeriod as ApiEntitlementResetPeriod, FeatureType as ApiFeatureType, GetPlansQuery } from '../api/generated/types';
2
+ import { BooleanEntitlement, BooleanEntitlementFallback, Customer, EntitlementResetPeriod, FeatureType, MeteredEntitlement, MeteredEntitlementFallback, NumericEntitlement, NumericEntitlementFallback, Plan } from '../models';
3
3
  import CachedEntitlement from '../services/cachedEntitlement';
4
4
  import { Decision } from '../services/entitlementDecisionService';
5
5
  export declare class ModelMapper {
@@ -9,6 +9,7 @@ export declare class ModelMapper {
9
9
  mapEntitlement(entitlement: CachedEntitlement, decision: Decision, requestedUsage?: number): BooleanEntitlement;
10
10
  mapFeatureType(featureType: ApiFeatureType): FeatureType;
11
11
  mapEntitlementResetPeriod(resetPeriod: ApiEntitlementResetPeriod): EntitlementResetPeriod;
12
+ mapApiEntitlementResetPeriod(resetPeriod: EntitlementResetPeriod): ApiEntitlementResetPeriod;
12
13
  mapCachedEntitlement(entitlement: EntitlementFragment, currentUsage?: number, nextResetDate?: number | null): CachedEntitlement;
13
14
  mapCachedEntitlements(updatedEntitlements: EntitlementFragment[]): Map<string, CachedEntitlement>;
14
15
  mapPlans(resultData: GetPlansQuery): Plan[];
@@ -20,4 +21,10 @@ export declare class ModelMapper {
20
21
  private mapSubscription;
21
22
  private mapAddon;
22
23
  private sortPlans;
24
+ private mapAccessDeniedReason;
25
+ private getResetPeriodData;
26
+ mapFallbackBooleanEntitlementResult(entitlement: BooleanEntitlementFallback, decision: Decision): EntitlementCheckResult;
27
+ mapFallbackNumericEntitlementResult(entitlement: NumericEntitlementFallback, decision: Decision): EntitlementCheckResult;
28
+ mapEntitlementResult(decision: Decision, entitlement?: CachedEntitlement, requestedUsage?: number): EntitlementCheckResult;
29
+ mapFallbackMeteredEntitlementResult(entitlement: MeteredEntitlementFallback, decision: Decision, requestedUsage?: number): EntitlementCheckResult;
23
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigg/js-client-sdk",
3
- "version": "0.24.0",
3
+ "version": "0.26.0",
4
4
  "description": "Stigg client-side SDK for Browser",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -1,8 +0,0 @@
1
- /**
2
- * @license
3
- * Lodash <https://lodash.com/>
4
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
5
- * Released under MIT license <https://lodash.com/license>
6
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
7
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
8
- */