UNPKG

@segment/analytics-react-native

Version:

The hassle-free way to add Segment analytics to your React-Native app.

81 lines (77 loc) 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StubDestinationPlugin = exports.ManualResumeWaitingPlugin = exports.ExampleWaitingPlugin1 = exports.ExampleWaitingPlugin = void 0; var _types = require("../types"); var _plugin = require("../plugin"); /** * Example WaitingPlugin that automatically resumes after 1 second. * Used for testing the waiting plugin mechanism. */ class ExampleWaitingPlugin extends _plugin.WaitingPlugin { type = _types.PluginType.enrichment; tracked = false; configure(analytics) { super.configure(analytics); // Simulate async work (network, native module init, etc.) setTimeout(() => { this.resume(); }, 1000); } execute(event) { super.execute(event); this.tracked = true; return event; } } /** * Example WaitingPlugin that resumes after 3 seconds when settings are updated. * Mimics the Kotlin SDK's ExampleWaitingPlugin behavior. */ exports.ExampleWaitingPlugin = ExampleWaitingPlugin; class ExampleWaitingPlugin1 extends _plugin.WaitingPlugin { type = _types.PluginType.before; tracked = false; update(_settings, type) { if (type === _types.UpdateType.initial) { // Simulate async initialization that takes 3 seconds setTimeout(() => { this.resume(); }, 3000); } } execute(event) { this.tracked = true; return event; } } /** * Example WaitingPlugin that requires manual resume() call. * Used for testing manual control of event processing. */ exports.ExampleWaitingPlugin1 = ExampleWaitingPlugin1; class ManualResumeWaitingPlugin extends _plugin.WaitingPlugin { type = _types.PluginType.enrichment; tracked = false; configure(analytics) { super.configure(analytics); } execute(event) { this.tracked = true; return event; } } /** * Stub destination plugin for testing. * Always enabled and accepts all events. */ exports.ManualResumeWaitingPlugin = ManualResumeWaitingPlugin; class StubDestinationPlugin extends _plugin.DestinationPlugin { key = 'StubDestination'; isEnabled(_event) { return true; } } exports.StubDestinationPlugin = StubDestinationPlugin; //# sourceMappingURL=exampleWaitingPlugin.js.map