Skip to content

Commit fe146c7

Browse files
chore(build): Generate latest bundle [skip ci]
1 parent c21436a commit fe146c7

58 files changed

Lines changed: 3097 additions & 3 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

dist/mparticle.common.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/mparticle.esm.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/mparticle.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ var mParticle = (function () {
203203
Base64: Base64$1
204204
};
205205

206-
var version = "2.61.0";
206+
var version = "2.62.0";
207207

208208
var Constants = {
209209
sdkVersion: version,

dist/types/src/apiClient.d.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { BatchUploader } from './batchUploader';
2+
import { SDKEvent, SDKDataPlan } from './sdkRuntimeModels';
3+
import KitBlocker from './kitBlocking';
4+
import { Dictionary } from './utils';
5+
import { IUploadObject } from './serverModel';
6+
import { MPForwarder } from './forwarders.interfaces';
7+
import { IMParticleUser, ISDKUserAttributes } from './identity-user-interfaces';
8+
import { AsyncUploader } from './uploaders';
9+
import { IMParticleWebSDKInstance } from './mp-instance';
10+
export interface IAPIClient {
11+
uploader: BatchUploader | null;
12+
queueEventForBatchUpload: (event: SDKEvent) => void;
13+
processQueuedEvents: () => void;
14+
appendUserInfoToEvents: (user: IMParticleUser, events: SDKEvent[]) => void;
15+
sendEventToServer: (event: SDKEvent, _options?: Dictionary<any>) => void;
16+
sendSingleEventToServer: (event: SDKEvent) => void;
17+
sendBatchForwardingStatsToServer: (forwardingStatsData: IForwardingStatsData, xhr: XMLHttpRequest) => void;
18+
initializeForwarderStatsUploader: () => AsyncUploader;
19+
prepareForwardingStats: (forwarder: MPForwarder, event: IUploadObject) => void;
20+
}
21+
export interface IForwardingStatsData {
22+
mid: number;
23+
esid: number;
24+
n: string;
25+
attrs: ISDKUserAttributes;
26+
sdk: string;
27+
dt: number;
28+
et: number;
29+
dbg: boolean;
30+
ct: number;
31+
eec: number;
32+
dp: SDKDataPlan;
33+
}
34+
export default function APIClient(this: IAPIClient, mpInstance: IMParticleWebSDKInstance, kitBlocker: KitBlocker): void;

dist/types/src/audience.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default class Audience {
2+
audience_id: number;
3+
constructor(audience_id: number);
4+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { SDKLoggerApi } from './sdkRuntimeModels';
2+
import { AsyncUploader } from './uploaders';
3+
import Audience from './audience';
4+
export interface IAudienceMembershipsServerResponse {
5+
dt: 'cam';
6+
ct: number;
7+
id: string;
8+
audience_memberships: Audience[];
9+
}
10+
export interface IAudienceMemberships {
11+
currentAudienceMemberships: Audience[];
12+
}
13+
export default class AudienceManager {
14+
url: string;
15+
userAudienceAPI: AsyncUploader;
16+
logger: SDKLoggerApi;
17+
constructor(userAudienceUrl: string, apiKey: string, logger: SDKLoggerApi);
18+
sendGetUserAudienceRequest(mpid: string, callback: (userAudiences: IAudienceMemberships) => void): Promise<void>;
19+
}

dist/types/src/batchUploader.d.ts

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
import { Batch } from '@mparticle/event-models';
2+
import { SDKEvent } from './sdkRuntimeModels';
3+
import { IMParticleWebSDKInstance } from './mp-instance';
4+
/**
5+
* BatchUploader contains all the logic to store/retrieve events and batches
6+
* to/from persistence, and upload batches to mParticle.
7+
* It queues events as they come in, storing them in persistence, then at set
8+
* intervals turns them into batches and transfers between event and batch
9+
* persistence.
10+
* It then attempts to upload them to mParticle, purging batch persistence if
11+
* the upload is successful
12+
*
13+
* These uploads happen on an interval basis using window.fetch or XHR
14+
* requests, depending on what is available in the browser.
15+
*
16+
* Uploads can also be triggered on browser visibility/focus changes via an
17+
* event listener, which then uploads to mPartice via the browser's Beacon API.
18+
*/
19+
export declare class BatchUploader {
20+
static readonly CONTENT_TYPE: string;
21+
static readonly MINIMUM_INTERVAL_MILLIS: number;
22+
uploadIntervalMillis: number;
23+
eventsQueuedForProcessing: SDKEvent[];
24+
batchesQueuedForProcessing: Batch[];
25+
mpInstance: IMParticleWebSDKInstance;
26+
uploadUrl: string;
27+
batchingEnabled: boolean;
28+
private eventVault;
29+
private batchVault;
30+
private offlineStorageEnabled;
31+
private uploader;
32+
private lastASTEventTime;
33+
private readonly AST_DEBOUNCE_MS;
34+
/**
35+
* Creates an instance of a BatchUploader
36+
* @param {IMParticleWebSDKInstance} mpInstance - the mParticle SDK instance
37+
* @param {number} uploadInterval - the desired upload interval in milliseconds
38+
*/
39+
constructor(mpInstance: IMParticleWebSDKInstance, uploadInterval: number);
40+
private isOfflineStorageAvailable;
41+
private shouldDebounceAndUpdateLastASTTime;
42+
private createBackgroundASTEvent;
43+
private addEventListeners;
44+
private isBeaconAvailable;
45+
private triggerUploadInterval;
46+
/**
47+
* This method will queue a single Event which will eventually be processed into a Batch
48+
* @param event event that should be queued
49+
*/
50+
queueEvent(event: SDKEvent): void;
51+
private shouldTriggerImmediateUpload;
52+
/**
53+
* This implements crucial logic to:
54+
* - bucket pending events by MPID, and then by Session, and upload individual batches for each bucket.
55+
*
56+
* In the future this should enforce other requirements such as maximum batch size.
57+
*
58+
* @param sdkEvents current pending events
59+
* @param defaultUser the user to reference for events that are missing data
60+
*/
61+
private static createNewBatches;
62+
/**
63+
* This is the main loop function:
64+
* - take all pending events and turn them into batches
65+
* - attempt to upload each batch
66+
*
67+
* @param triggerFuture whether to trigger the loop again - for manual/forced uploads this should be false
68+
* @param useBeacon whether to use the beacon API - used when the page is being unloaded
69+
*/
70+
prepareAndUpload(triggerFuture?: boolean, useBeacon?: boolean): Promise<void>;
71+
private uploadBatches;
72+
}

0 commit comments

Comments
 (0)