Skip to content

Commit

Permalink
Add load type to snippet (#615)
Browse files Browse the repository at this point in the history
* add load type to snippet

* add changeset
  • Loading branch information
silesky authored Oct 6, 2022
1 parent 29c3bd7 commit 6d51d38
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 5 deletions.
5 changes: 5 additions & 0 deletions .changeset/clean-pandas-peel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@segment/analytics-next': patch
---

Add the load function type to AnalyticsSnippet
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -99,7 +99,7 @@ describe('standalone bundle', () => {

const spy = jest
.spyOn(AnalyticsBrowser, 'standalone')
.mockResolvedValueOnce(fakeAjs as AnalyticsSnippet)
.mockResolvedValueOnce(fakeAjs as AnalyticsStandalone)

await install()

Expand All @@ -114,7 +114,7 @@ describe('standalone bundle', () => {
}
const spy = jest
.spyOn(AnalyticsBrowser, 'standalone')
.mockResolvedValueOnce(fakeAjs as AnalyticsSnippet)
.mockResolvedValueOnce(fakeAjs as AnalyticsStandalone)

await install()

Expand Down
8 changes: 6 additions & 2 deletions packages/browser/src/browser/standalone-analytics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@ 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
}

declare global {
interface Window {
analytics: AnalyticsSnippet
analytics: AnalyticsStandalone
}
}

Expand Down

0 comments on commit 6d51d38

Please sign in to comment.