@amplitude/analytics-core 0.1.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1 +1,10 @@
1
+ <p align="center">
2
+ <a href="https://amplitude.com" target="_blank" align="center">
3
+ <img src="https://static.amplitude.com/lightning/46c85bfd91905de8047f1ee65c7c93d6fa9ee6ea/static/media/amplitude-logo-with-text.4fb9e463.svg" width="280">
4
+ </a>
5
+ <br />
6
+ </p>
7
+
1
8
  # @amplitude/analytics-core
9
+
10
+ > Internal Node package for Amplitude
@@ -40,5 +40,5 @@ export declare class Config implements IConfig {
40
40
  export declare const createConfig: (config: IConfig) => IConfig;
41
41
  export declare const getConfig: () => IConfig;
42
42
  export declare const resetInstances: () => void;
43
- export declare const getApiHost: (config: Config | IConfig) => string;
43
+ export declare const getApiHost: (config: IConfig) => string;
44
44
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,eAAO,MAAM,UAAU;mBACO,OAAO;mBACP,OAAO;CACpC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAC;AAEF,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAwB1C;AAED,eAAO,MAAM,YAAY,WAAY,OAAO,YAO3C,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,MAAM,GAAG,OAAO,WAElD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,eAAO,MAAM,UAAU;mBACO,OAAO;mBACP,OAAO;CACpC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAC;AAEF,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAwB1C;AAED,eAAO,MAAM,YAAY,WAAY,OAAO,YAO3C,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,OAAO,WAEzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n InitOptions,\n LogLevel,\n Storage,\n Transport,\n Plugin,\n ServerZone,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nconst DEFAULT_INSTANCE = 'default';\nconst instances: Record<string, IConfig> = {};\n\nexport const serverUrls = {\n [ServerZone.US]: (useBatch: boolean) => (useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL),\n [ServerZone.EU]: (useBatch: boolean) => (useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL),\n};\n\nexport const defaultConfig = {\n flushMaxRetries: 5,\n flushQueueSize: 10,\n flushIntervalMillis: 1000,\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n saveEvents: true,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: ServerZone.US,\n useBatch: false,\n};\n\nexport class Config implements IConfig {\n apiKey: string;\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n partnerId?: string;\n plugins: Plugin[];\n optOut: boolean;\n saveEvents: boolean;\n serverUrl: string | undefined;\n serverZone: ServerZone;\n transportProvider: Transport;\n storageProvider: Storage<Event[]>;\n useBatch: boolean;\n\n constructor(options: InitOptions<IConfig>) {\n this.apiKey = options.apiKey;\n this.userId = options.userId;\n this.deviceId = options.deviceId;\n this.sessionId = options.sessionId;\n this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel || defaultConfig.logLevel;\n this.partnerId = options.partnerId;\n this.plugins = [];\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.saveEvents = options.saveEvents ?? defaultConfig.saveEvents;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n\n this.loggerProvider.enable(this.logLevel);\n\n configApiHost(this);\n }\n}\n\nexport const createConfig = (config: IConfig) => {\n // If config for an instance already exists, perform Object.assign() to reuse reference\n // to config object. This is useful when config object reference is used in plugins\n instances[DEFAULT_INSTANCE] = instances[DEFAULT_INSTANCE]\n ? Object.assign(instances[DEFAULT_INSTANCE], config)\n : config;\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const getConfig = () => {\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const resetInstances = () => {\n for (const name in instances) {\n delete instances[name];\n }\n};\n\nexport const getApiHost = (config: Config | IConfig) => {\n return configApiHost(config);\n};\n\nconst configApiHost = (config: Config | IConfig) => {\n if (!config.serverUrl) {\n // Log a warning if server zone is neither US nor EU\n if (![ServerZone.US, ServerZone.EU].includes(config.serverZone)) {\n config.loggerProvider.warn(`Unknown server zone \"${config.serverZone}\". Replaced with US server zone`);\n config.serverZone = ServerZone.US;\n }\n config.serverUrl = serverUrls[config.serverZone](config.useBatch);\n }\n return config.serverUrl;\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n InitOptions,\n LogLevel,\n Storage,\n Transport,\n Plugin,\n ServerZone,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nconst DEFAULT_INSTANCE = 'default';\nconst instances: Record<string, IConfig> = {};\n\nexport const serverUrls = {\n [ServerZone.US]: (useBatch: boolean) => (useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL),\n [ServerZone.EU]: (useBatch: boolean) => (useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL),\n};\n\nexport const defaultConfig = {\n flushMaxRetries: 5,\n flushQueueSize: 10,\n flushIntervalMillis: 1000,\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n saveEvents: true,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: ServerZone.US,\n useBatch: false,\n};\n\nexport class Config implements IConfig {\n apiKey: string;\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n partnerId?: string;\n plugins: Plugin[];\n optOut: boolean;\n saveEvents: boolean;\n serverUrl: string | undefined;\n serverZone: ServerZone;\n transportProvider: Transport;\n storageProvider: Storage<Event[]>;\n useBatch: boolean;\n\n constructor(options: InitOptions<IConfig>) {\n this.apiKey = options.apiKey;\n this.userId = options.userId;\n this.deviceId = options.deviceId;\n this.sessionId = options.sessionId;\n this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel || defaultConfig.logLevel;\n this.partnerId = options.partnerId;\n this.plugins = [];\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.saveEvents = options.saveEvents ?? defaultConfig.saveEvents;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n\n this.loggerProvider.enable(this.logLevel);\n\n configApiHost(this);\n }\n}\n\nexport const createConfig = (config: IConfig) => {\n // If config for an instance already exists, perform Object.assign() to reuse reference\n // to config object. This is useful when config object reference is used in plugins\n instances[DEFAULT_INSTANCE] = instances[DEFAULT_INSTANCE]\n ? Object.assign(instances[DEFAULT_INSTANCE], config)\n : config;\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const getConfig = () => {\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const resetInstances = () => {\n for (const name in instances) {\n delete instances[name];\n }\n};\n\nexport const getApiHost = (config: IConfig) => {\n return configApiHost(config);\n};\n\nconst configApiHost = (config: IConfig) => {\n if (!config.serverUrl) {\n // Log a warning if server zone is neither US nor EU\n if (![ServerZone.US, ServerZone.EU].includes(config.serverZone)) {\n config.loggerProvider.warn(`Unknown server zone \"${config.serverZone}\". Replaced with US server zone`);\n config.serverZone = ServerZone.US;\n }\n config.serverUrl = serverUrls[config.serverZone](config.useBatch);\n }\n return config.serverUrl;\n};\n"]}
@@ -40,5 +40,5 @@ export declare class Config implements IConfig {
40
40
  export declare const createConfig: (config: IConfig) => IConfig;
41
41
  export declare const getConfig: () => IConfig;
42
42
  export declare const resetInstances: () => void;
43
- export declare const getApiHost: (config: Config | IConfig) => string;
43
+ export declare const getApiHost: (config: IConfig) => string;
44
44
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,eAAO,MAAM,UAAU;mBACO,OAAO;mBACP,OAAO;CACpC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAC;AAEF,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAwB1C;AAED,eAAO,MAAM,YAAY,WAAY,OAAO,YAO3C,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,MAAM,GAAG,OAAO,WAElD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,eAAO,MAAM,UAAU;mBACO,OAAO;mBACP,OAAO;CACpC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAC;AAEF,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAwB1C;AAED,eAAO,MAAM,YAAY,WAAY,OAAO,YAO3C,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,OAAO,WAEzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n InitOptions,\n LogLevel,\n Storage,\n Transport,\n Plugin,\n ServerZone,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nconst DEFAULT_INSTANCE = 'default';\nconst instances: Record<string, IConfig> = {};\n\nexport const serverUrls = {\n [ServerZone.US]: (useBatch: boolean) => (useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL),\n [ServerZone.EU]: (useBatch: boolean) => (useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL),\n};\n\nexport const defaultConfig = {\n flushMaxRetries: 5,\n flushQueueSize: 10,\n flushIntervalMillis: 1000,\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n saveEvents: true,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: ServerZone.US,\n useBatch: false,\n};\n\nexport class Config implements IConfig {\n apiKey: string;\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n partnerId?: string;\n plugins: Plugin[];\n optOut: boolean;\n saveEvents: boolean;\n serverUrl: string | undefined;\n serverZone: ServerZone;\n transportProvider: Transport;\n storageProvider: Storage<Event[]>;\n useBatch: boolean;\n\n constructor(options: InitOptions<IConfig>) {\n this.apiKey = options.apiKey;\n this.userId = options.userId;\n this.deviceId = options.deviceId;\n this.sessionId = options.sessionId;\n this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel || defaultConfig.logLevel;\n this.partnerId = options.partnerId;\n this.plugins = [];\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.saveEvents = options.saveEvents ?? defaultConfig.saveEvents;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n\n this.loggerProvider.enable(this.logLevel);\n\n configApiHost(this);\n }\n}\n\nexport const createConfig = (config: IConfig) => {\n // If config for an instance already exists, perform Object.assign() to reuse reference\n // to config object. This is useful when config object reference is used in plugins\n instances[DEFAULT_INSTANCE] = instances[DEFAULT_INSTANCE]\n ? Object.assign(instances[DEFAULT_INSTANCE], config)\n : config;\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const getConfig = () => {\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const resetInstances = () => {\n for (const name in instances) {\n delete instances[name];\n }\n};\n\nexport const getApiHost = (config: Config | IConfig) => {\n return configApiHost(config);\n};\n\nconst configApiHost = (config: Config | IConfig) => {\n if (!config.serverUrl) {\n // Log a warning if server zone is neither US nor EU\n if (![ServerZone.US, ServerZone.EU].includes(config.serverZone)) {\n config.loggerProvider.warn(`Unknown server zone \"${config.serverZone}\". Replaced with US server zone`);\n config.serverZone = ServerZone.US;\n }\n config.serverUrl = serverUrls[config.serverZone](config.useBatch);\n }\n return config.serverUrl;\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n InitOptions,\n LogLevel,\n Storage,\n Transport,\n Plugin,\n ServerZone,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nconst DEFAULT_INSTANCE = 'default';\nconst instances: Record<string, IConfig> = {};\n\nexport const serverUrls = {\n [ServerZone.US]: (useBatch: boolean) => (useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL),\n [ServerZone.EU]: (useBatch: boolean) => (useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL),\n};\n\nexport const defaultConfig = {\n flushMaxRetries: 5,\n flushQueueSize: 10,\n flushIntervalMillis: 1000,\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n saveEvents: true,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: ServerZone.US,\n useBatch: false,\n};\n\nexport class Config implements IConfig {\n apiKey: string;\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n partnerId?: string;\n plugins: Plugin[];\n optOut: boolean;\n saveEvents: boolean;\n serverUrl: string | undefined;\n serverZone: ServerZone;\n transportProvider: Transport;\n storageProvider: Storage<Event[]>;\n useBatch: boolean;\n\n constructor(options: InitOptions<IConfig>) {\n this.apiKey = options.apiKey;\n this.userId = options.userId;\n this.deviceId = options.deviceId;\n this.sessionId = options.sessionId;\n this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel || defaultConfig.logLevel;\n this.partnerId = options.partnerId;\n this.plugins = [];\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.saveEvents = options.saveEvents ?? defaultConfig.saveEvents;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n\n this.loggerProvider.enable(this.logLevel);\n\n configApiHost(this);\n }\n}\n\nexport const createConfig = (config: IConfig) => {\n // If config for an instance already exists, perform Object.assign() to reuse reference\n // to config object. This is useful when config object reference is used in plugins\n instances[DEFAULT_INSTANCE] = instances[DEFAULT_INSTANCE]\n ? Object.assign(instances[DEFAULT_INSTANCE], config)\n : config;\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const getConfig = () => {\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const resetInstances = () => {\n for (const name in instances) {\n delete instances[name];\n }\n};\n\nexport const getApiHost = (config: IConfig) => {\n return configApiHost(config);\n};\n\nconst configApiHost = (config: IConfig) => {\n if (!config.serverUrl) {\n // Log a warning if server zone is neither US nor EU\n if (![ServerZone.US, ServerZone.EU].includes(config.serverZone)) {\n config.loggerProvider.warn(`Unknown server zone \"${config.serverZone}\". Replaced with US server zone`);\n config.serverZone = ServerZone.US;\n }\n config.serverUrl = serverUrls[config.serverZone](config.useBatch);\n }\n return config.serverUrl;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/analytics-core",
3
- "version": "0.1.0",
3
+ "version": "0.2.2",
4
4
  "description": "",
5
5
  "author": "Amplitude Inc",
6
6
  "homepage": "https://github.com/amplitude/Amplitude-TypeScript",
@@ -32,10 +32,11 @@
32
32
  "url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
33
33
  },
34
34
  "dependencies": {
35
- "@amplitude/analytics-types": "^0.1.0"
35
+ "@amplitude/analytics-types": "^0.1.2",
36
+ "tslib": "^2.3.1"
36
37
  },
37
38
  "files": [
38
39
  "lib"
39
40
  ],
40
- "gitHead": "e7d36d91aab1483b3d686f7f5570c6334c27ab23"
41
+ "gitHead": "a35ed76bc2eabf535c093bd744fc6683da23f035"
41
42
  }