Skip to content

Commit

Permalink
get rid of ts-nocheck
Browse files Browse the repository at this point in the history
  • Loading branch information
mschuwalow committed Sep 19, 2023
1 parent 1de9941 commit 0c9d51d
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 22 deletions.
17 changes: 10 additions & 7 deletions src/minimal-live-connect.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/* eslint-disable */
import { IdentityResolver } from './idex'
import { enrichPrivacyMode } from './enrichers/privacy-config'
import { removeInvalidPairs } from './config-validators/remove-invalid-pairs'
Expand All @@ -11,11 +10,12 @@ import { WrappedReadOnlyStorageHandler } from './handlers/storage-handler'
import { WrappedCallHandler } from './handlers/call-handler'
import { enrichIdentifiers } from './enrichers/identifiers-nohash'

// @ts-ignore
function _minimalInitialization(liveConnectConfig: LiveConnectConfig, externalStorageHandler: ReadOnlyStorageHandler, externalCallHandler: CallHandler, eventBus: EventBus, push: (event: unknown) => void): ILiveConnect {
try {
const validLiveConnectConfig = {
...removeInvalidPairs(liveConnectConfig, eventBus),
identifiersToResolve: liveConnectConfig.identifiersToResolve || [],
identifiersToResolve: liveConnectConfig.identifiersToResolve || []
}

const stateWithStorage =
Expand All @@ -42,7 +42,8 @@ function _minimalInitialization(liveConnectConfig: LiveConnectConfig, externalSt
resolve: resolver.resolve.bind(resolver),
resolutionCallUrl: resolver.getUrl.bind(resolver),
config: validLiveConnectConfig,
eventBus: eventBus,
eventBus,
// @ts-ignore
storageHandler
}
} catch (x) {
Expand All @@ -51,13 +52,14 @@ function _minimalInitialization(liveConnectConfig: LiveConnectConfig, externalSt
}

function _initializeWithoutGlobalName(liveConnectConfig: LiveConnectConfig, externalStorageHandler: ReadOnlyStorageHandler, externalCallHandler: CallHandler, eventBus: EventBus) {
const lc = _minimalInitialization(liveConnectConfig, externalStorageHandler, externalCallHandler, eventBus, (event: unknown) => {})
const lc = _minimalInitialization(liveConnectConfig, externalStorageHandler, externalCallHandler, eventBus, () => {})
window.liQ_instances = window.liQ_instances || []
window.liQ_instances.push(lc)
return lc
}

function _initializeWithGlobalName(liveConnectConfig: LiveConnectConfig, externalStorageHandler: ReadOnlyStorageHandler, externalCallHandler: CallHandler, eventBus: EventBus) {
// @ts-ignore
const queue = window[liveConnectConfig.globalVarName] = window[liveConnectConfig.globalVarName] || []
const push = queue.push.bind(queue)
const lc = _minimalInitialization(liveConnectConfig, externalStorageHandler, externalCallHandler, eventBus, push)
Expand All @@ -73,11 +75,12 @@ export function MinimalLiveConnect(liveConnectConfig: LiveConnectConfig, externa
const configuration = (isObject(liveConnectConfig) && liveConnectConfig) || {}
const eventBus = externalEventBus || LocalEventBus()
try {
return configuration.globalVarName ?
_initializeWithGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus) :
_initializeWithoutGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus)
return configuration.globalVarName
? _initializeWithGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus)
: _initializeWithoutGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus)
} catch (x) {
console.error(x)
}
// @ts-ignore
return {}
}
37 changes: 23 additions & 14 deletions src/standard-live-connect.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
/* eslint-disable */
import { PixelSender } from './pixel/sender'
import * as C from './utils/consts'
import { StateWrapper } from './pixel/state'
import { EnrichmentContext, mergeObjects } from './pixel/fiddler'
import { mergeObjects } from './pixel/fiddler'
import { enrichPage } from './enrichers/page'
import { enrichIdentifiers } from './enrichers/identifiers'
import { enrichPrivacyMode } from './enrichers/privacy-config'
Expand All @@ -21,8 +20,9 @@ import { StorageHandlerBackedCache } from './cache'
import { WrappedCallHandler } from './handlers/call-handler'

const hemStore: State = {}
function _pushSingleEvent (event: any, pixelClient: PixelSender, enrichedState: State, eventBus: EventBus) {
function _pushSingleEvent(event: unknown, pixelClient: PixelSender, enrichedState: State, eventBus: EventBus) {
if (!event || !isObject(event)) {
// @ts-ignore
eventBus.emitErrorWithMessage('EventNotAnObject', 'Received event was not an object', new Error(event))
} else if ('config' in event) {
eventBus.emitErrorWithMessage('StrayConfig', 'Received a config after LC has already been initialised', new Error(JSON.stringify(event)))
Expand All @@ -38,7 +38,7 @@ function _pushSingleEvent (event: any, pixelClient: PixelSender, enrichedState:
}
}

function _configMatcher (previousConfig: LiveConnectConfig, newConfig: LiveConnectConfig): ConfigMismatch | undefined {
function _configMatcher(previousConfig: LiveConnectConfig, newConfig: LiveConnectConfig): ConfigMismatch | undefined {
const equalConfigs = previousConfig.appId === newConfig.appId &&
previousConfig.wrapperName === newConfig.wrapperName &&
previousConfig.collectorUrl === newConfig.collectorUrl
Expand All @@ -51,7 +51,7 @@ function _configMatcher (previousConfig: LiveConnectConfig, newConfig: LiveConne
}
}

function _processArgs (args: any[], pixelClient: PixelSender, enrichedState: State, eventBus: EventBus) {
function _processArgs(args: unknown[], pixelClient: PixelSender, enrichedState: State, eventBus: EventBus) {
try {
args.forEach(arg => {
const event = arg
Expand All @@ -67,26 +67,32 @@ function _processArgs (args: any[], pixelClient: PixelSender, enrichedState: Sta
}
}

function _getInitializedLiveConnect (liveConnectConfig: LiveConnectConfig): ILiveConnect | undefined {
function _getInitializedLiveConnect(liveConnectConfig: LiveConnectConfig): ILiveConnect | undefined {
try {
// @ts-ignore
if (window && window[liveConnectConfig.globalVarName] && window[liveConnectConfig.globalVarName].ready) {
// @ts-ignore
const mismatchedConfig = window[liveConnectConfig.globalVarName].config && _configMatcher(window[liveConnectConfig.globalVarName].config, liveConnectConfig)
if (mismatchedConfig) {
const error = new Error()
error.name = 'ConfigSent'
error.message = 'Additional configuration received'
// @ts-ignore
const eventBus = getAvailableBus(liveConnectConfig.globalVarName)
// @ts-ignore
window[liveConnectConfig.globalVarName].eventBus = eventBus
eventBus.emitErrorWithMessage('LCDuplication', JSON.stringify(mismatchedConfig), error)
}
// @ts-ignore
return window[liveConnectConfig.globalVarName]
}
} catch (e) {
console.error('Could not initialize error bus')
}
}

function _standardInitialization (liveConnectConfig: LiveConnectConfig, externalStorageHandler: StorageHandler, externalCallHandler: CallHandler, eventBus: EventBus): ILiveConnect {
// @ts-ignore
function _standardInitialization(liveConnectConfig: LiveConnectConfig, externalStorageHandler: StorageHandler, externalCallHandler: CallHandler, eventBus: EventBus): ILiveConnect {
try {
// TODO: proper config validation
const validLiveConnectConfig = {
Expand Down Expand Up @@ -116,7 +122,7 @@ function _standardInitialization (liveConnectConfig: LiveConnectConfig, external
enrichDecisionIds(storageHandler, eventBus)(
enrichIdentifiers(storageHandler, eventBus)(
stateWithDomain
)))
)))

const pixelSender = new PixelSender({
collectorUrl: validLiveConnectConfig.collectorUrl,
Expand All @@ -129,7 +135,7 @@ function _standardInitialization (liveConnectConfig: LiveConnectConfig, external

const resolver = IdentityResolver.make(enrichedState, cache, callHandler, eventBus)

const _push = (...args: any[]) => _processArgs(args, pixelSender, enrichedState, eventBus)
const _push = (...args: unknown[]) => _processArgs(args, pixelSender, enrichedState, eventBus)

return {
push: _push,
Expand All @@ -140,7 +146,7 @@ function _standardInitialization (liveConnectConfig: LiveConnectConfig, external
resolutionCallUrl: resolver.getUrl.bind(resolver),
config: validLiveConnectConfig,
eventBus,
storageHandler: storageHandler
storageHandler
}
} catch (x) {
console.error(x)
Expand All @@ -156,6 +162,7 @@ function _initializeWithoutGlobalName(liveConnectConfig: LiveConnectConfig, exte
}

function _initializeWithGlobalName(liveConnectConfig: LiveConnectConfig, externalStorageHandler: StorageHandler, externalCallHandler: CallHandler, eventBus: EventBus): ILiveConnect {
// @ts-ignore
const queue = window[liveConnectConfig.globalVarName] || []
const lc = _getInitializedLiveConnect(liveConnectConfig) || _standardInitialization(liveConnectConfig, externalStorageHandler, externalCallHandler, eventBus) || queue

Expand All @@ -165,6 +172,7 @@ function _initializeWithGlobalName(liveConnectConfig: LiveConnectConfig, externa
}
}

// @ts-ignore
window[lc.config.globalVarName] = lc

window.liQ_instances = window.liQ_instances || []
Expand All @@ -174,18 +182,19 @@ function _initializeWithGlobalName(liveConnectConfig: LiveConnectConfig, externa
return lc
}

export function StandardLiveConnect (liveConnectConfig: LiveConnectConfig, externalStorageHandler: StorageHandler, externalCallHandler: CallHandler, externalEventBus?: EventBus): ILiveConnect {
export function StandardLiveConnect(liveConnectConfig: LiveConnectConfig, externalStorageHandler: StorageHandler, externalCallHandler: CallHandler, externalEventBus?: EventBus): ILiveConnect {
const configuration = (isObject(liveConnectConfig) && liveConnectConfig) || {}
const eventBus = externalEventBus || LocalEventBus()

let lc
try {
lc = configuration.globalVarName ?
_initializeWithGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus) :
_initializeWithoutGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus)
lc = configuration.globalVarName
? _initializeWithGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus)
: _initializeWithoutGlobalName(configuration, externalStorageHandler, externalCallHandler, eventBus)
} catch (e) {
console.error(e)
eventBus.emitErrorWithMessage('LCConstruction', 'Failed to build LC', e)
}
// @ts-ignore
return lc
}
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"sourceMap": true,
"moduleResolution": "Node",
"module": "ESNext",
"noEmitOnError": false,
"noEmitOnError": true,
},
"include": ["./src/**/*", "./test/**/*"]
}

0 comments on commit 0c9d51d

Please sign in to comment.