Skip to content

Commit

Permalink
add enum (#2356)
Browse files Browse the repository at this point in the history
  • Loading branch information
Karlie-777 committed May 29, 2024
1 parent 1f3dee1 commit 767790b
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 6 deletions.
27 changes: 24 additions & 3 deletions channels/offline-channel-js/src/Interfaces/IOfflineBatch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

import { IOfflineListener } from "@microsoft/applicationinsights-common";
import {
IPayloadData, IProcessTelemetryUnloadContext, ITelemetryUnloadState, IXHROverride
IPayloadData, IProcessTelemetryUnloadContext, ITelemetryUnloadState, IXHROverride,
createEnumStyle
} from "@microsoft/applicationinsights-core-js";
import { IPromise } from "@nevware21/ts-async";

Expand Down Expand Up @@ -35,19 +36,39 @@ export const enum eStorageType {
SessionStorage = 2,
IndexDb = 3
}

export const StorageType = createEnumStyle<typeof eStorageType>({
Unknown: eStorageType.Unknown,
LocalStorage: eStorageType.LocalStorage,
SessionStorage: eStorageType.SessionStorage,
IndexDb: eStorageType.IndexDb
});
export type StorageType = number | eStorageType;

export const enum eBatchSendStatus {
Complete = 1,
Retry = 2,
Drop = 3,
Failure = 4
}
}
export const BatchSendStatus = createEnumStyle<typeof eBatchSendStatus>({
Complete: eBatchSendStatus.Complete,
Retry: eBatchSendStatus.Retry,
Drop: eBatchSendStatus.Drop,
Failure: eBatchSendStatus.Failure
});
export type BatchSendStatus = number | eBatchSendStatus;


export const enum eBatchStoreStatus {
Success = 1,
Failure = 2
}
}
export const BatchStoreStatus = createEnumStyle<typeof eBatchStoreStatus>({
Success: eBatchStoreStatus.Success,
Failure: eBatchStoreStatus.Failure
});
export type BatchStoreStatus = number | eBatchStoreStatus;

export interface IOfflineBatchHandlerCfg {
batchMaxSize?: number; // default 10000
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the MIT License.

import { EventPersistence } from "@microsoft/applicationinsights-common";
import { INotificationManager, IPayloadData, IProcessTelemetryContext, IXHROverride } from "@microsoft/applicationinsights-core-js";
import { INotificationManager, IPayloadData, IProcessTelemetryContext, IXHROverride, createEnumStyle } from "@microsoft/applicationinsights-core-js";
import { IPromise } from "@nevware21/ts-async";

/**
Expand All @@ -25,6 +25,13 @@ export const enum eStorageProviders {
IndexedDb = 3
}

export const StorageProviders = createEnumStyle<typeof eStorageProviders>({
LocalStorage: eStorageProviders.LocalStorage,
SessionStorage: eStorageProviders.SessionStorage,
IndexedDb: eStorageProviders.IndexedDb
});
export type StorageProviders = number | eStorageProviders;

/**
* The IOfflineChannelConfiguration interface defines the configuration options for offline channel,
* supports offline events storage, retrieval and re-sending.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
export { IInMemoryBatch, IPostTransmissionTelemetryItem } from "./Interfaces/IInMemoryBatch";
export { IOfflineBatchCleanResponse, IOfflineBatchHandler, IOfflineBatchHandlerCfg, IOfflineBatchResponse,
IOfflineBatchStoreResponse, eBatchSendStatus, eBatchStoreStatus, eStorageType,
IOfflineBatchStoreResponse, eBatchSendStatus, BatchSendStatus, eBatchStoreStatus, BatchStoreStatus, eStorageType, StorageType,
OfflineBatchSendCallback, OfflineBatchStoreCallback,OfflineBatchCallback,
createDefaultOfflineDetector, createNoopOfflineDetector, IOfflineDetector, IOfflineDetectorCfg } from "./Interfaces/IOfflineBatch";
export {IOfflineChannelConfiguration, ILocalStorageProviderContext, IOfflineProvider, IOfflineSenderConfig, IStorageTelemetryItem,
eStorageProviders } from "./Interfaces/IOfflineProvider";
eStorageProviders, StorageProviders } from "./Interfaces/IOfflineProvider";
export { WebStorageProvider } from "./Providers/WebStorageProvider";
export { IndexedDbProvider } from "./Providers/IndexDbProvider";
export { OfflineBatchHandler } from "./OfflineBatchHandler";
Expand Down

0 comments on commit 767790b

Please sign in to comment.