diff --git a/.changeset/clean-pandas-peel.md b/.changeset/clean-pandas-peel.md new file mode 100644 index 000000000..c3788d0bd --- /dev/null +++ b/.changeset/clean-pandas-peel.md @@ -0,0 +1,5 @@ +--- +'@segment/analytics-next': patch +--- + +Add the load function type to AnalyticsSnippet diff --git a/packages/browser/src/browser/__tests__/standalone-analytics.test.ts b/packages/browser/src/browser/__tests__/standalone-analytics.test.ts index de6c63a19..f318a2abe 100644 --- a/packages/browser/src/browser/__tests__/standalone-analytics.test.ts +++ b/packages/browser/src/browser/__tests__/standalone-analytics.test.ts @@ -2,7 +2,7 @@ import jsdom, { JSDOM } from 'jsdom' import { InitOptions } from '../../' import { AnalyticsBrowser, loadLegacySettings } from '../../browser' import { snippet } from '../../tester/__fixtures__/segment-snippet' -import { install, AnalyticsSnippet } from '../standalone-analytics' +import { install, AnalyticsStandalone } from '../standalone-analytics' import unfetch from 'unfetch' import { PersistedPriorityQueue } from '../../lib/priority-queue/persisted' import { sleep } from '../../test-helpers/sleep' @@ -99,7 +99,7 @@ describe('standalone bundle', () => { const spy = jest .spyOn(AnalyticsBrowser, 'standalone') - .mockResolvedValueOnce(fakeAjs as AnalyticsSnippet) + .mockResolvedValueOnce(fakeAjs as AnalyticsStandalone) await install() @@ -114,7 +114,7 @@ describe('standalone bundle', () => { } const spy = jest .spyOn(AnalyticsBrowser, 'standalone') - .mockResolvedValueOnce(fakeAjs as AnalyticsSnippet) + .mockResolvedValueOnce(fakeAjs as AnalyticsStandalone) await install() diff --git a/packages/browser/src/browser/standalone-analytics.ts b/packages/browser/src/browser/standalone-analytics.ts index dbafe2cf1..18b73e76a 100644 --- a/packages/browser/src/browser/standalone-analytics.ts +++ b/packages/browser/src/browser/standalone-analytics.ts @@ -2,7 +2,11 @@ import { Analytics, InitOptions } from '../core/analytics' import { AnalyticsBrowser } from '.' import { embeddedWriteKey } from '../lib/embedded-write-key' -export type AnalyticsSnippet = Analytics & { +export interface AnalyticsSnippet extends AnalyticsStandalone { + load: (writeKey: string, options?: InitOptions) => void +} + +export interface AnalyticsStandalone extends Analytics { _loadOptions?: InitOptions _writeKey?: string _cdn?: string @@ -10,7 +14,7 @@ export type AnalyticsSnippet = Analytics & { declare global { interface Window { - analytics: AnalyticsSnippet + analytics: AnalyticsStandalone } }