Skip to content

Commit fc893c5

Browse files
committed
simplify types
1 parent c3dbd52 commit fc893c5

File tree

14 files changed

+52
-46
lines changed

14 files changed

+52
-46
lines changed

.changeset/chilly-mugs-applaud.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@segment/analytics-core': patch
3+
---
4+
5+
Fix integration type

packages/browser/src/browser/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ async function registerPlugins(
301301
basePlugins.push(
302302
await segmentio(
303303
analytics,
304-
mergedSettings['Segment.io'] as SegmentioSettings,
304+
mergedSettings['Segment.io'],
305305
cdnSettings.integrations
306306
)
307307
)

packages/browser/src/core/analytics/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { Emitter } from '@segment/analytics-generic-utils'
1818
import {
1919
Callback,
2020
EventFactory,
21-
Integrations,
21+
IntegrationsOptions,
2222
Plan,
2323
EventProperties,
2424
SegmentEvent,
@@ -135,7 +135,7 @@ export interface InitOptions {
135135
storage?: StorageSettings
136136
user?: UserOptions
137137
group?: UserOptions
138-
integrations?: Integrations
138+
integrations?: IntegrationsOptions
139139
plan?: Plan
140140
retryQueue?: boolean
141141
obfuscate?: boolean
@@ -197,7 +197,7 @@ export class Analytics
197197
private _universalStorage: UniversalStorage
198198

199199
initialized = false
200-
integrations: Integrations
200+
integrations: IntegrationsOptions
201201
options: InitOptions
202202
queue: EventQueue
203203

packages/browser/src/core/events/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { v4 as uuid } from '@lukeed/uuid'
22
import { ID, User } from '../user'
33
import {
44
Options,
5-
Integrations,
5+
IntegrationsOptions,
66
EventProperties,
77
Traits,
88
SegmentEvent,
@@ -53,7 +53,7 @@ export class EventFactory extends CoreEventFactory {
5353
event: string,
5454
properties?: EventProperties,
5555
options?: Options,
56-
globalIntegrations?: Integrations,
56+
globalIntegrations?: IntegrationsOptions,
5757
pageCtx?: PageContext
5858
): SegmentEvent {
5959
const ev = super.track(event, properties, options, globalIntegrations)
@@ -66,7 +66,7 @@ export class EventFactory extends CoreEventFactory {
6666
page: string | null,
6767
properties?: EventProperties,
6868
options?: Options,
69-
globalIntegrations?: Integrations,
69+
globalIntegrations?: IntegrationsOptions,
7070
pageCtx?: PageContext
7171
): SegmentEvent {
7272
const ev = super.page(
@@ -85,7 +85,7 @@ export class EventFactory extends CoreEventFactory {
8585
screen: string | null,
8686
properties?: EventProperties,
8787
options?: Options,
88-
globalIntegrations?: Integrations,
88+
globalIntegrations?: IntegrationsOptions,
8989
pageCtx?: PageContext
9090
): SegmentEvent {
9191
const ev = super.screen(
@@ -103,7 +103,7 @@ export class EventFactory extends CoreEventFactory {
103103
userId: ID,
104104
traits?: Traits,
105105
options?: Options,
106-
globalIntegrations?: Integrations,
106+
globalIntegrations?: IntegrationsOptions,
107107
pageCtx?: PageContext
108108
): SegmentEvent {
109109
const ev = super.identify(userId, traits, options, globalIntegrations)
@@ -115,7 +115,7 @@ export class EventFactory extends CoreEventFactory {
115115
groupId: ID,
116116
traits?: Traits,
117117
options?: Options,
118-
globalIntegrations?: Integrations,
118+
globalIntegrations?: IntegrationsOptions,
119119
pageCtx?: PageContext
120120
): SegmentEvent {
121121
const ev = super.group(groupId, traits, options, globalIntegrations)
@@ -127,7 +127,7 @@ export class EventFactory extends CoreEventFactory {
127127
to: string,
128128
from: string | null,
129129
options?: Options,
130-
globalIntegrations?: Integrations,
130+
globalIntegrations?: IntegrationsOptions,
131131
pageCtx?: PageContext
132132
): SegmentEvent {
133133
const ev = super.alias(to, from, options, globalIntegrations)

packages/browser/src/core/events/interfaces.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {
22
CoreOptions,
33
CoreSegmentEvent,
44
Callback,
5-
Integrations,
5+
IntegrationsOptions,
66
Plan,
77
TrackPlan,
88
PlanEvent,
@@ -24,7 +24,7 @@ export type EventProperties = Record<string, any>
2424
export interface SegmentEvent extends CoreSegmentEvent {}
2525

2626
export type {
27-
Integrations,
27+
IntegrationsOptions,
2828
Plan,
2929
TrackPlan,
3030
PlanEvent,

packages/browser/src/lib/merged-options.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { JSONObject, Options } from '../core/events/interfaces'
1+
import { Options } from '../core/events/interfaces'
22
import { CDNSettings } from '../browser'
33

44
/**
@@ -13,7 +13,7 @@ import { CDNSettings } from '../browser'
1313
export function mergedOptions(
1414
cdnSettings: CDNSettings,
1515
options: Options
16-
): Record<string, JSONObject> {
16+
): Record<string, any> {
1717
const optionOverrides = Object.entries(options.integrations ?? {}).reduce(
1818
(overrides, [integration, options]) => {
1919
if (typeof options === 'object') {
@@ -28,7 +28,7 @@ export function mergedOptions(
2828
[integration]: {},
2929
}
3030
},
31-
{} as Record<string, JSONObject>
31+
{} as Record<string, any>
3232
)
3333

3434
return Object.entries(cdnSettings.integrations).reduce(
@@ -41,6 +41,6 @@ export function mergedOptions(
4141
},
4242
}
4343
},
44-
{} as Record<string, JSONObject>
44+
{} as Record<string, any>
4545
)
4646
}

packages/browser/src/plugins/ajs-destination/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Integrations, JSONObject } from '../../core/events'
1+
import { IntegrationsOptions, JSONObject } from '../../core/events'
22
import { Alias, Facade, Group, Identify, Page, Track } from '@segment/facade'
33
import { Analytics, InitOptions } from '../../core/analytics'
44
import { CDNSettings } from '../../browser'
@@ -332,7 +332,7 @@ export class LegacyDestination implements InternalPluginWithAddMiddleware {
332332
export function ajsDestinations(
333333
writeKey: string,
334334
settings: CDNSettings,
335-
globalIntegrations: Integrations = {},
335+
globalIntegrations: IntegrationsOptions = {},
336336
options: InitOptions = {},
337337
routingMiddleware?: DestinationMiddlewareFunction,
338338
legacyIntegrationSources?: ClassicIntegrationSource[]

packages/browser/src/plugins/ajs-destination/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Integrations } from '@segment/analytics-core'
1+
import { IntegrationsOptions } from '@segment/analytics-core'
22
import { RemoteIntegrationSettings } from '../..'
33

44
export const isInstallableIntegration = (
@@ -20,7 +20,7 @@ export const isInstallableIntegration = (
2020

2121
export const isDisabledIntegration = (
2222
integrationName: string,
23-
globalIntegrations: Integrations
23+
globalIntegrations: IntegrationsOptions
2424
) => {
2525
const allDisableAndNotDefined =
2626
globalIntegrations.All === false &&

packages/browser/src/plugins/remote-loader/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Integrations } from '../../core/events/interfaces'
1+
import type { IntegrationsOptions } from '../../core/events/interfaces'
22
import { CDNSettings } from '../../browser'
33
import { JSONObject, JSONValue } from '../../core/events'
44
import { Plugin, InternalPluginWithAddMiddleware } from '../../core/plugin'
@@ -198,7 +198,7 @@ function validate(pluginLike: unknown): pluginLike is Plugin[] {
198198
}
199199

200200
function isPluginDisabled(
201-
userIntegrations: Integrations,
201+
userIntegrations: IntegrationsOptions,
202202
remotePlugin: RemotePlugin
203203
) {
204204
const creationNameEnabled = userIntegrations[remotePlugin.creationName]
@@ -260,7 +260,7 @@ async function loadPluginFactory(
260260

261261
export async function remoteLoader(
262262
settings: CDNSettings,
263-
userIntegrations: Integrations,
263+
userIntegrations: IntegrationsOptions,
264264
mergedIntegrations: Record<string, JSONObject>,
265265
options?: InitOptions,
266266
routingMiddleware?: DestinationMiddlewareFunction,
@@ -281,9 +281,10 @@ export async function remoteLoader(
281281
) || (await loadPluginFactory(remotePlugin, options?.obfuscate))
282282

283283
if (pluginFactory) {
284+
const intg = mergedIntegrations[remotePlugin.name]
284285
const plugin = await pluginFactory({
285286
...remotePlugin.settings,
286-
...mergedIntegrations[remotePlugin.name],
287+
...intg,
287288
})
288289
const plugins = Array.isArray(plugin) ? plugin : [plugin]
289290

packages/browser/src/tester/ajs-tester.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ function makeStub(page: playwright.Page) {
2424
async track(
2525
...args: Parameters<Analytics['track']>
2626
): Promise<SerializedContext> {
27-
// @ts-expect-error
2827
const ctx = await page.evaluate((innerArgs) => {
2928
// @ts-ignore
3029
return window.analytics.track(...innerArgs).then((ctx) => {

0 commit comments

Comments
 (0)