Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@splitsoftware/splitio-browserjs",
"version": "0.8.0",
"version": "0.8.1-rc.0",
"description": "Split SDK for Javascript on Browser",
"main": "cjs/index.js",
"module": "esm/index.js",
Expand Down Expand Up @@ -61,7 +61,7 @@
"bugs": "https://github.com/splitio/javascript-browser-client/issues",
"homepage": "https://github.com/splitio/javascript-browser-client#readme",
"dependencies": {
"@splitsoftware/splitio-commons": "1.6.1",
"@splitsoftware/splitio-commons": "1.6.2-rc.4",
"@types/google.analytics": "0.0.40"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/browserSuites/ready-promise.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -562,7 +562,7 @@ export default function readyPromiseAssertions(fetchMock, assert) {
t.end();
});
});
}, 0);
}, 10);
});
}, fromSecondsToMillis(0.2));

Expand Down
3 changes: 1 addition & 2 deletions src/full/splitFactory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import { getFetch } from '../platform/getFetchFull';
import { getEventSource } from '../platform/getEventSource';
import { EventEmitter } from '@splitsoftware/splitio-commons/src/utils/MinEvents';
import { now } from '@splitsoftware/splitio-commons/src/utils/timeTracker/now/browser';
import { IBrowserSettings } from '../../types/splitio';

const platform = { getFetch, getEventSource, EventEmitter, now };

Expand All @@ -19,7 +18,7 @@ const platform = { getFetch, getEventSource, EventEmitter, now };
* caution since, unlike `config`, this param is not validated neither considered part of the public API.
* @throws Will throw an error if the provided config is invalid.
*/
export function SplitFactory(config: IBrowserSettings, __updateModules?: (modules: ISdkFactoryParams) => void) {
export function SplitFactory(config: any, __updateModules?: (modules: ISdkFactoryParams) => void) {
const settings = settingsFactory(config);
const modules = getModules(settings, platform);
if (__updateModules) __updateModules(modules);
Expand Down
6 changes: 3 additions & 3 deletions src/platform/getModules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { pluggableIntegrationsManagerFactory } from '@splitsoftware/splitio-comm

import { shouldAddPt } from '@splitsoftware/splitio-commons/src/trackers/impressionObserver/utils';
import { IPlatform, ISdkFactoryParams } from '@splitsoftware/splitio-commons/src/sdkFactory/types';
import { ISettings } from '@splitsoftware/splitio-commons/src/types';
import { IntegrationFactory, ISettings } from '@splitsoftware/splitio-commons/src/types';
import { CONSUMER_MODE, CONSUMER_PARTIAL_MODE, LOCALHOST_MODE } from '@splitsoftware/splitio-commons/src/utils/constants';
import { createUserConsentAPI } from '@splitsoftware/splitio-commons/src/consent/sdkUserConsent';

Expand All @@ -26,7 +26,7 @@ export function getModules(settings: ISettings, platform: IPlatform): ISdkFactor

platform,

storageFactory: settings.storage,
storageFactory: settings.storage as ISdkFactoryParams['storageFactory'],

splitApiFactory,

Expand All @@ -38,7 +38,7 @@ export function getModules(settings: ISettings, platform: IPlatform): ISdkFactor

SignalListener: BrowserSignalListener as ISdkFactoryParams['SignalListener'],

integrationsManagerFactory: settings.integrations && settings.integrations.length > 0 ? pluggableIntegrationsManagerFactory.bind(null, settings.integrations) : undefined,
integrationsManagerFactory: settings.integrations && settings.integrations.length > 0 ? pluggableIntegrationsManagerFactory.bind(null, settings.integrations as IntegrationFactory[]) : undefined,

impressionsObserverFactory: shouldAddPt(settings) ? impressionObserverCSFactory : undefined,

Expand Down
2 changes: 1 addition & 1 deletion src/settings/defaults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { LogLevels, isLogLevelString } from '@splitsoftware/splitio-commons/src/
import { ConsentStatus, LogLevel } from '@splitsoftware/splitio-commons/src/types';
import { CONSENT_GRANTED } from '@splitsoftware/splitio-commons/src/utils/constants';

const packageVersion = '0.8.0';
const packageVersion = '0.8.1-rc.0';

/**
* In browser, the default debug level, can be set via the `localStorage.splitio_debug` item.
Expand Down
3 changes: 1 addition & 2 deletions src/splitFactory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import { getFetch } from './platform/getFetchSlim';
import { getEventSource } from './platform/getEventSource';
import { EventEmitter } from '@splitsoftware/splitio-commons/src/utils/MinEvents';
import { now } from '@splitsoftware/splitio-commons/src/utils/timeTracker/now/browser';
import { IBrowserSettings } from '../types/splitio';

const platform = { getFetch, getEventSource, EventEmitter, now };

Expand All @@ -19,7 +18,7 @@ const platform = { getFetch, getEventSource, EventEmitter, now };
* caution since, unlike `config`, this param is not validated neither considered part of the public API.
* @throws Will throw an error if the provided config is invalid.
*/
export function SplitFactory(config: IBrowserSettings, __updateModules?: (modules: ISdkFactoryParams) => void) {
export function SplitFactory(config: any, __updateModules?: (modules: ISdkFactoryParams) => void) {
const settings = settingsFactory(config);
const modules = getModules(settings, platform);
if (__updateModules) __updateModules(modules);
Expand Down
13 changes: 3 additions & 10 deletions ts-tests/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ let trackPromise: Promise<boolean>;
/**** Interfaces ****/

// Facade return interface
// let SDK: SplitIO.ISDK;
let AsyncSDK: SplitIO.IAsyncSDK;
let SDK: SplitIO.ISDK;
// Settings interfaces
Expand All @@ -44,7 +43,6 @@ let SDK: SplitIO.ISDK;
let browserSettings: SplitIO.IBrowserSettings;
let browserAsyncSettings: SplitIO.IBrowserAsyncSettings;
// Client & Manager APIs
// let client: SplitIO.IClient;
let client: SplitIO.IClient;
let manager: SplitIO.IManager;
let asyncClient: SplitIO.IAsyncClient;
Expand Down Expand Up @@ -193,18 +191,18 @@ AsyncSDK = SplitFactory(browserAsyncSettings);
// The settings values the SDK expose.
const instantiatedSettingsCore: {
authorizationKey: string,
key: SplitIO.SplitKey,
key?: SplitIO.SplitKey,
trafficType?: string,
labelsEnabled: boolean,
IPAddressesEnabled: boolean
IPAddressesEnabled?: boolean
} = SDK.settings.core;
// const instantiatedSettingsMode: ('standalone' | 'consumer') = SDK.settings.mode;
const instantiatedSettingsScheduler: { [key: string]: number } = SDK.settings.scheduler;
const instantiatedSettingsStartup: { [key: string]: number } = SDK.settings.startup;
const instantiatedStorage: SplitIO.StorageSync = SDK.settings.storage;
const instantiatedSettingsUrls: { [key: string]: string } = SDK.settings.urls;
const instantiatedSettingsVersion: string = SDK.settings.version;
let instantiatedSettingsFeatures = SDK.settings.features;
let instantiatedSettingsFeatures = SDK.settings.features as SplitIO.MockedFeaturesMap;
// // We should be able to write on features prop. The rest are readonly props.
instantiatedSettingsFeatures.something = 'something';
SDK.settings.features = { 'split_x': 'on' };
Expand Down Expand Up @@ -572,11 +570,6 @@ let fullBrowserAsyncSettings: SplitIO.IBrowserAsyncSettings = {
}),
impressionListener: impressionListener,
debug: true,
integrations: [
GoogleAnalyticsToSplit(), SplitToGoogleAnalytics(),
GoogleAnalyticsToSplit(minimalGoogleAnalyticsToSplitConfig), SplitToGoogleAnalytics(emptySplitToGoogleAnalyticsConfig),
GoogleAnalyticsToSplit(customGoogleAnalyticsToSplitConfig), SplitToGoogleAnalytics(customSplitToGoogleAnalyticsConfig)
],
streamingEnabled: true,
sync: {
impressionsMode: 'DEBUG',
Expand Down
2 changes: 1 addition & 1 deletion types/full/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ declare module '@splitsoftware/splitio-browserjs/full' {
*
* @see {@link https://help.split.io/hc/en-us/articles/360058730852-Browser-SDK#sharing-state-with-a-pluggable-storage}
*/
export function PluggableStorage(options: SplitIO.PluggableStorageOptions): SplitIO.StorageAsyncFactory;
export function PluggableStorage(options: SplitIO.PluggableStorageOptions): SplitIO.StorageAsyncFactory;

/**
* Enable 'Google Analytics to Split' integration, to track Google Analytics hits as Split events.
Expand Down
Loading