@amplitude/analytics-core 2.5.5 → 2.6.0
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/lib/cjs/__mocks__/logger.js +1 -0
- package/lib/cjs/__mocks__/logger.js.map +1 -1
- package/lib/cjs/analytics-connector.d.ts +5 -0
- package/lib/cjs/analytics-connector.d.ts.map +1 -0
- package/lib/cjs/analytics-connector.js +20 -0
- package/lib/cjs/analytics-connector.js.map +1 -0
- package/lib/cjs/config.d.ts +107 -3
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +4 -3
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/cookie-name.d.ts +3 -0
- package/lib/cjs/cookie-name.d.ts.map +1 -0
- package/lib/cjs/cookie-name.js +15 -0
- package/lib/cjs/cookie-name.js.map +1 -0
- package/lib/cjs/core-client.d.ts +154 -14
- package/lib/cjs/core-client.d.ts.map +1 -1
- package/lib/cjs/core-client.js +2 -1
- package/lib/cjs/core-client.js.map +1 -1
- package/lib/cjs/event-bridge/event-bridge-channel.d.ts +4 -3
- package/lib/cjs/event-bridge/event-bridge-channel.d.ts.map +1 -1
- package/lib/cjs/event-bridge/event-bridge-channel.js +1 -0
- package/lib/cjs/event-bridge/event-bridge-channel.js.map +1 -1
- package/lib/cjs/event-bridge/event-bridge-container.d.ts +1 -1
- package/lib/cjs/event-bridge/event-bridge-container.d.ts.map +1 -1
- package/lib/cjs/event-bridge/event-bridge-container.js +1 -0
- package/lib/cjs/event-bridge/event-bridge-container.js.map +1 -1
- package/lib/cjs/event-bridge/event-bridge.d.ts +9 -2
- package/lib/cjs/event-bridge/event-bridge.d.ts.map +1 -1
- package/lib/cjs/event-bridge/event-bridge.js +1 -0
- package/lib/cjs/event-bridge/event-bridge.js.map +1 -1
- package/lib/cjs/global-scope.d.ts +2 -0
- package/lib/cjs/global-scope.d.ts.map +1 -0
- package/lib/cjs/global-scope.js +28 -0
- package/lib/cjs/global-scope.js.map +1 -0
- package/lib/cjs/identify.d.ts +48 -1
- package/lib/cjs/identify.d.ts.map +1 -1
- package/lib/cjs/identify.js +33 -16
- package/lib/cjs/identify.js.map +1 -1
- package/lib/cjs/index.d.ts +37 -8
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +40 -6
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/language.d.ts +2 -0
- package/lib/cjs/language.d.ts.map +1 -0
- package/lib/cjs/language.js +13 -0
- package/lib/cjs/language.js.map +1 -0
- package/lib/cjs/logger.d.ts +27 -1
- package/lib/cjs/logger.d.ts.map +1 -1
- package/lib/cjs/logger.js +9 -8
- package/lib/cjs/logger.js.map +1 -1
- package/lib/cjs/plugins/destination.d.ts +20 -7
- package/lib/cjs/plugins/destination.d.ts.map +1 -1
- package/lib/cjs/plugins/destination.js +70 -56
- package/lib/cjs/plugins/destination.js.map +1 -1
- package/lib/cjs/plugins/identity.d.ts +11 -0
- package/lib/cjs/plugins/identity.d.ts.map +1 -0
- package/lib/cjs/plugins/identity.js +37 -0
- package/lib/cjs/plugins/identity.js.map +1 -0
- package/lib/cjs/query-params.d.ts +3 -0
- package/lib/cjs/query-params.d.ts.map +1 -0
- package/lib/cjs/query-params.js +36 -0
- package/lib/cjs/query-params.js.map +1 -0
- package/lib/cjs/revenue.d.ts +45 -1
- package/lib/cjs/revenue.d.ts.map +1 -1
- package/lib/cjs/revenue.js +33 -7
- package/lib/cjs/revenue.js.map +1 -1
- package/lib/cjs/session.d.ts +2 -0
- package/lib/cjs/session.d.ts.map +1 -0
- package/lib/cjs/session.js +11 -0
- package/lib/cjs/session.js.map +1 -0
- package/lib/cjs/storage/cookie.d.ts +13 -0
- package/lib/cjs/storage/cookie.d.ts.map +1 -0
- package/lib/cjs/storage/cookie.js +172 -0
- package/lib/cjs/storage/cookie.js.map +1 -0
- package/lib/cjs/storage/helpers.d.ts +2 -0
- package/lib/cjs/storage/helpers.d.ts.map +1 -0
- package/lib/cjs/storage/helpers.js +11 -0
- package/lib/cjs/storage/helpers.js.map +1 -0
- package/lib/cjs/storage/memory.d.ts +1 -1
- package/lib/cjs/storage/memory.d.ts.map +1 -1
- package/lib/cjs/storage/memory.js +1 -0
- package/lib/cjs/storage/memory.js.map +1 -1
- package/lib/cjs/timeline.d.ts +8 -3
- package/lib/cjs/timeline.d.ts.map +1 -1
- package/lib/cjs/timeline.js +1 -0
- package/lib/cjs/timeline.js.map +1 -1
- package/lib/cjs/transports/base.d.ts +4 -1
- package/lib/cjs/transports/base.d.ts.map +1 -1
- package/lib/cjs/transports/base.js +14 -16
- package/lib/cjs/transports/base.js.map +1 -1
- package/lib/cjs/transports/fetch.d.ts +8 -0
- package/lib/cjs/transports/fetch.d.ts.map +1 -0
- package/lib/cjs/transports/fetch.js +50 -0
- package/lib/cjs/transports/fetch.js.map +1 -0
- package/lib/cjs/types/browser-client.d.ts +131 -0
- package/lib/cjs/types/browser-client.d.ts.map +1 -0
- package/lib/cjs/types/browser-client.js +3 -0
- package/lib/cjs/types/browser-client.js.map +1 -0
- package/lib/cjs/types/browser-config.d.ts +216 -0
- package/lib/cjs/types/browser-config.d.ts.map +1 -0
- package/lib/cjs/types/browser-config.js +3 -0
- package/lib/cjs/types/browser-config.js.map +1 -0
- package/lib/cjs/types/constants.d.ts.map +1 -0
- package/lib/cjs/{constants.js → types/constants.js} +1 -0
- package/lib/cjs/types/constants.js.map +1 -0
- package/lib/cjs/types/element-interactions.d.ts +73 -0
- package/lib/cjs/types/element-interactions.d.ts.map +1 -0
- package/lib/cjs/types/element-interactions.js +34 -0
- package/lib/cjs/types/element-interactions.js.map +1 -0
- package/lib/cjs/types/event/base-event.d.ts +64 -0
- package/lib/cjs/types/event/base-event.d.ts.map +1 -0
- package/lib/cjs/types/event/base-event.js +3 -0
- package/lib/cjs/types/event/base-event.js.map +1 -0
- package/lib/cjs/types/event/event.d.ts +68 -0
- package/lib/cjs/types/event/event.d.ts.map +1 -0
- package/lib/cjs/types/event/event.js +31 -0
- package/lib/cjs/types/event/event.js.map +1 -0
- package/lib/cjs/types/event/ingestion-metadata.d.ts +19 -0
- package/lib/cjs/types/event/ingestion-metadata.d.ts.map +1 -0
- package/lib/cjs/types/event/ingestion-metadata.js +3 -0
- package/lib/cjs/types/event/ingestion-metadata.js.map +1 -0
- package/lib/cjs/types/event/plan.d.ts +14 -0
- package/lib/cjs/types/event/plan.d.ts.map +1 -0
- package/lib/cjs/types/event/plan.js +3 -0
- package/lib/cjs/types/event/plan.js.map +1 -0
- package/lib/cjs/types/event-callback.d.ts +3 -0
- package/lib/cjs/types/event-callback.d.ts.map +1 -0
- package/lib/cjs/types/event-callback.js +3 -0
- package/lib/cjs/types/event-callback.js.map +1 -0
- package/lib/cjs/types/loglevel.d.ts +8 -0
- package/lib/cjs/types/loglevel.d.ts.map +1 -0
- package/lib/cjs/types/loglevel.js +12 -0
- package/lib/cjs/types/loglevel.js.map +1 -0
- package/lib/cjs/types/messages.d.ts.map +1 -0
- package/lib/cjs/{messages.js → types/messages.js} +1 -0
- package/lib/cjs/types/messages.js.map +1 -0
- package/lib/cjs/types/offline.d.ts +2 -0
- package/lib/cjs/types/offline.d.ts.map +1 -0
- package/lib/cjs/types/offline.js +5 -0
- package/lib/cjs/types/offline.js.map +1 -0
- package/lib/cjs/types/page-view-tracking.d.ts +9 -0
- package/lib/cjs/types/page-view-tracking.d.ts.map +1 -0
- package/lib/cjs/types/page-view-tracking.js +3 -0
- package/lib/cjs/types/page-view-tracking.js.map +1 -0
- package/lib/cjs/types/payload.d.ts +13 -0
- package/lib/cjs/types/payload.d.ts.map +1 -0
- package/lib/cjs/types/payload.js +3 -0
- package/lib/cjs/types/payload.js.map +1 -0
- package/lib/cjs/types/plugin.d.ts +30 -0
- package/lib/cjs/types/plugin.d.ts.map +1 -0
- package/lib/cjs/types/plugin.js +3 -0
- package/lib/cjs/types/plugin.js.map +1 -0
- package/lib/cjs/types/response.d.ts +81 -0
- package/lib/cjs/types/response.d.ts.map +1 -0
- package/lib/cjs/types/response.js +3 -0
- package/lib/cjs/types/response.js.map +1 -0
- package/lib/cjs/types/result.d.ts +7 -0
- package/lib/cjs/types/result.d.ts.map +1 -0
- package/lib/cjs/types/result.js +3 -0
- package/lib/cjs/types/result.js.map +1 -0
- package/lib/cjs/types/server-zone.d.ts +9 -0
- package/lib/cjs/types/server-zone.d.ts.map +1 -0
- package/lib/cjs/types/server-zone.js +12 -0
- package/lib/cjs/types/server-zone.js.map +1 -0
- package/lib/cjs/types/status.d.ts +22 -0
- package/lib/cjs/types/status.d.ts.map +1 -0
- package/lib/cjs/types/status.js +26 -0
- package/lib/cjs/types/status.js.map +1 -0
- package/lib/cjs/types/storage.d.ts +16 -0
- package/lib/cjs/types/storage.d.ts.map +1 -0
- package/lib/cjs/types/storage.js +3 -0
- package/lib/cjs/types/storage.js.map +1 -0
- package/lib/cjs/types/transport.d.ts +7 -0
- package/lib/cjs/types/transport.d.ts.map +1 -0
- package/lib/cjs/types/transport.js +3 -0
- package/lib/cjs/types/transport.js.map +1 -0
- package/lib/cjs/types/user-session.d.ts +11 -0
- package/lib/cjs/types/user-session.d.ts.map +1 -0
- package/lib/cjs/types/user-session.js +3 -0
- package/lib/cjs/types/user-session.js.map +1 -0
- package/lib/cjs/utils/chunk.js +1 -0
- package/lib/cjs/utils/chunk.js.map +1 -1
- package/lib/cjs/utils/debug.d.ts +1 -1
- package/lib/cjs/utils/debug.d.ts.map +1 -1
- package/lib/cjs/utils/debug.js +3 -6
- package/lib/cjs/utils/debug.js.map +1 -1
- package/lib/cjs/utils/event-builder.d.ts +5 -2
- package/lib/cjs/utils/event-builder.d.ts.map +1 -1
- package/lib/cjs/utils/event-builder.js +6 -5
- package/lib/cjs/utils/event-builder.js.map +1 -1
- package/lib/cjs/utils/result-builder.d.ts +2 -1
- package/lib/cjs/utils/result-builder.d.ts.map +1 -1
- package/lib/cjs/utils/result-builder.js +3 -2
- package/lib/cjs/utils/result-builder.js.map +1 -1
- package/lib/cjs/utils/return-wrapper.d.ts +3 -1
- package/lib/cjs/utils/return-wrapper.d.ts.map +1 -1
- package/lib/cjs/utils/return-wrapper.js +1 -0
- package/lib/cjs/utils/return-wrapper.js.map +1 -1
- package/lib/cjs/utils/uuid.js +1 -0
- package/lib/cjs/utils/uuid.js.map +1 -1
- package/lib/cjs/utils/valid-properties.js +1 -0
- package/lib/cjs/utils/valid-properties.js.map +1 -1
- package/lib/esm/analytics-connector.d.ts +5 -0
- package/lib/esm/analytics-connector.d.ts.map +1 -0
- package/lib/esm/analytics-connector.js +14 -0
- package/lib/esm/analytics-connector.js.map +1 -0
- package/lib/esm/config.d.ts +107 -3
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +2 -2
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/cookie-name.d.ts +3 -0
- package/lib/esm/cookie-name.d.ts.map +1 -0
- package/lib/esm/cookie-name.js +10 -0
- package/lib/esm/cookie-name.js.map +1 -0
- package/lib/esm/core-client.d.ts +154 -14
- package/lib/esm/core-client.d.ts.map +1 -1
- package/lib/esm/core-client.js +1 -1
- package/lib/esm/core-client.js.map +1 -1
- package/lib/esm/event-bridge/event-bridge-channel.d.ts +4 -3
- package/lib/esm/event-bridge/event-bridge-channel.d.ts.map +1 -1
- package/lib/esm/event-bridge/event-bridge-channel.js.map +1 -1
- package/lib/esm/event-bridge/event-bridge-container.d.ts +1 -1
- package/lib/esm/event-bridge/event-bridge-container.d.ts.map +1 -1
- package/lib/esm/event-bridge/event-bridge-container.js.map +1 -1
- package/lib/esm/event-bridge/event-bridge.d.ts +9 -2
- package/lib/esm/event-bridge/event-bridge.d.ts.map +1 -1
- package/lib/esm/event-bridge/event-bridge.js.map +1 -1
- package/lib/esm/global-scope.d.ts +2 -0
- package/lib/esm/global-scope.d.ts.map +1 -0
- package/lib/esm/global-scope.js +24 -0
- package/lib/esm/global-scope.js.map +1 -0
- package/lib/esm/identify.d.ts +48 -1
- package/lib/esm/identify.d.ts.map +1 -1
- package/lib/esm/identify.js +18 -2
- package/lib/esm/identify.js.map +1 -1
- package/lib/esm/index.d.ts +37 -8
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +16 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/language.d.ts +2 -0
- package/lib/esm/language.d.ts.map +1 -0
- package/lib/esm/language.js +9 -0
- package/lib/esm/language.js.map +1 -0
- package/lib/esm/logger.d.ts +27 -1
- package/lib/esm/logger.d.ts.map +1 -1
- package/lib/esm/logger.js +1 -1
- package/lib/esm/logger.js.map +1 -1
- package/lib/esm/plugins/destination.d.ts +20 -7
- package/lib/esm/plugins/destination.d.ts.map +1 -1
- package/lib/esm/plugins/destination.js +64 -51
- package/lib/esm/plugins/destination.js.map +1 -1
- package/lib/esm/plugins/identity.d.ts +11 -0
- package/lib/esm/plugins/identity.d.ts.map +1 -0
- package/lib/esm/plugins/identity.js +34 -0
- package/lib/esm/plugins/identity.js.map +1 -0
- package/lib/esm/query-params.d.ts +3 -0
- package/lib/esm/query-params.d.ts.map +1 -0
- package/lib/esm/query-params.js +31 -0
- package/lib/esm/query-params.js.map +1 -0
- package/lib/esm/revenue.d.ts +45 -1
- package/lib/esm/revenue.d.ts.map +1 -1
- package/lib/esm/revenue.js +26 -1
- package/lib/esm/revenue.js.map +1 -1
- package/lib/esm/session.d.ts +2 -0
- package/lib/esm/session.d.ts.map +1 -0
- package/lib/esm/session.js +7 -0
- package/lib/esm/session.js.map +1 -0
- package/lib/esm/storage/cookie.d.ts +13 -0
- package/lib/esm/storage/cookie.d.ts.map +1 -0
- package/lib/esm/storage/cookie.js +169 -0
- package/lib/esm/storage/cookie.js.map +1 -0
- package/lib/esm/storage/helpers.d.ts +2 -0
- package/lib/esm/storage/helpers.d.ts.map +1 -0
- package/lib/esm/storage/helpers.js +7 -0
- package/lib/esm/storage/helpers.js.map +1 -0
- package/lib/esm/storage/memory.d.ts +1 -1
- package/lib/esm/storage/memory.d.ts.map +1 -1
- package/lib/esm/storage/memory.js.map +1 -1
- package/lib/esm/timeline.d.ts +8 -3
- package/lib/esm/timeline.d.ts.map +1 -1
- package/lib/esm/timeline.js.map +1 -1
- package/lib/esm/transports/base.d.ts +4 -1
- package/lib/esm/transports/base.d.ts.map +1 -1
- package/lib/esm/transports/base.js +1 -4
- package/lib/esm/transports/base.js.map +1 -1
- package/lib/esm/transports/fetch.d.ts +8 -0
- package/lib/esm/transports/fetch.d.ts.map +1 -0
- package/lib/esm/transports/fetch.js +47 -0
- package/lib/esm/transports/fetch.js.map +1 -0
- package/lib/esm/types/browser-client.d.ts +131 -0
- package/lib/esm/types/browser-client.d.ts.map +1 -0
- package/lib/esm/types/browser-client.js +2 -0
- package/lib/esm/types/browser-client.js.map +1 -0
- package/lib/esm/types/browser-config.d.ts +216 -0
- package/lib/esm/types/browser-config.d.ts.map +1 -0
- package/lib/esm/types/browser-config.js +2 -0
- package/lib/esm/types/browser-config.js.map +1 -0
- package/lib/esm/types/constants.d.ts.map +1 -0
- package/lib/esm/types/constants.js.map +1 -0
- package/lib/esm/types/element-interactions.d.ts +73 -0
- package/lib/esm/types/element-interactions.d.ts.map +1 -0
- package/lib/esm/types/element-interactions.js +31 -0
- package/lib/esm/types/element-interactions.js.map +1 -0
- package/lib/esm/types/event/base-event.d.ts +64 -0
- package/lib/esm/types/event/base-event.d.ts.map +1 -0
- package/lib/esm/types/event/base-event.js +2 -0
- package/lib/esm/types/event/base-event.js.map +1 -0
- package/lib/esm/types/event/event.d.ts +68 -0
- package/lib/esm/types/event/event.d.ts.map +1 -0
- package/lib/esm/types/event/event.js +28 -0
- package/lib/esm/types/event/event.js.map +1 -0
- package/lib/esm/types/event/ingestion-metadata.d.ts +19 -0
- package/lib/esm/types/event/ingestion-metadata.d.ts.map +1 -0
- package/lib/esm/types/event/ingestion-metadata.js +2 -0
- package/lib/esm/types/event/ingestion-metadata.js.map +1 -0
- package/lib/esm/types/event/plan.d.ts +14 -0
- package/lib/esm/types/event/plan.d.ts.map +1 -0
- package/lib/esm/types/event/plan.js +2 -0
- package/lib/esm/types/event/plan.js.map +1 -0
- package/lib/esm/types/event-callback.d.ts +3 -0
- package/lib/esm/types/event-callback.d.ts.map +1 -0
- package/lib/esm/types/event-callback.js +2 -0
- package/lib/esm/types/event-callback.js.map +1 -0
- package/lib/esm/types/loglevel.d.ts +8 -0
- package/lib/esm/types/loglevel.d.ts.map +1 -0
- package/lib/esm/types/loglevel.js +9 -0
- package/lib/esm/types/loglevel.js.map +1 -0
- package/lib/esm/types/messages.d.ts.map +1 -0
- package/lib/esm/types/messages.js.map +1 -0
- package/lib/esm/types/offline.d.ts +2 -0
- package/lib/esm/types/offline.d.ts.map +1 -0
- package/lib/esm/types/offline.js +2 -0
- package/lib/esm/types/offline.js.map +1 -0
- package/lib/esm/types/page-view-tracking.d.ts +9 -0
- package/lib/esm/types/page-view-tracking.d.ts.map +1 -0
- package/lib/esm/types/page-view-tracking.js +2 -0
- package/lib/esm/types/page-view-tracking.js.map +1 -0
- package/lib/esm/types/payload.d.ts +13 -0
- package/lib/esm/types/payload.d.ts.map +1 -0
- package/lib/esm/types/payload.js +2 -0
- package/lib/esm/types/payload.js.map +1 -0
- package/lib/esm/types/plugin.d.ts +30 -0
- package/lib/esm/types/plugin.d.ts.map +1 -0
- package/lib/esm/types/plugin.js +2 -0
- package/lib/esm/types/plugin.js.map +1 -0
- package/lib/esm/types/response.d.ts +81 -0
- package/lib/esm/types/response.d.ts.map +1 -0
- package/lib/esm/types/response.js +2 -0
- package/lib/esm/types/response.js.map +1 -0
- package/lib/esm/types/result.d.ts +7 -0
- package/lib/esm/types/result.d.ts.map +1 -0
- package/lib/esm/types/result.js +2 -0
- package/lib/esm/types/result.js.map +1 -0
- package/lib/esm/types/server-zone.d.ts +9 -0
- package/lib/esm/types/server-zone.d.ts.map +1 -0
- package/lib/esm/types/server-zone.js +9 -0
- package/lib/esm/types/server-zone.js.map +1 -0
- package/lib/esm/types/status.d.ts +22 -0
- package/lib/esm/types/status.d.ts.map +1 -0
- package/lib/esm/types/status.js +23 -0
- package/lib/esm/types/status.js.map +1 -0
- package/lib/esm/types/storage.d.ts +16 -0
- package/lib/esm/types/storage.d.ts.map +1 -0
- package/lib/esm/types/storage.js +2 -0
- package/lib/esm/types/storage.js.map +1 -0
- package/lib/esm/types/transport.d.ts +7 -0
- package/lib/esm/types/transport.d.ts.map +1 -0
- package/lib/esm/types/transport.js +2 -0
- package/lib/esm/types/transport.js.map +1 -0
- package/lib/esm/types/user-session.d.ts +11 -0
- package/lib/esm/types/user-session.d.ts.map +1 -0
- package/lib/esm/types/user-session.js +2 -0
- package/lib/esm/types/user-session.js.map +1 -0
- package/lib/esm/utils/debug.d.ts +1 -1
- package/lib/esm/utils/debug.d.ts.map +1 -1
- package/lib/esm/utils/debug.js +1 -5
- package/lib/esm/utils/debug.js.map +1 -1
- package/lib/esm/utils/event-builder.d.ts +5 -2
- package/lib/esm/utils/event-builder.d.ts.map +1 -1
- package/lib/esm/utils/event-builder.js +1 -1
- package/lib/esm/utils/event-builder.js.map +1 -1
- package/lib/esm/utils/result-builder.d.ts +2 -1
- package/lib/esm/utils/result-builder.d.ts.map +1 -1
- package/lib/esm/utils/result-builder.js +1 -1
- package/lib/esm/utils/result-builder.js.map +1 -1
- package/lib/esm/utils/return-wrapper.d.ts +3 -1
- package/lib/esm/utils/return-wrapper.d.ts.map +1 -1
- package/lib/esm/utils/return-wrapper.js.map +1 -1
- package/package.json +2 -3
- package/lib/cjs/constants.d.ts.map +0 -1
- package/lib/cjs/constants.js.map +0 -1
- package/lib/cjs/messages.d.ts.map +0 -1
- package/lib/cjs/messages.js.map +0 -1
- package/lib/esm/constants.d.ts.map +0 -1
- package/lib/esm/constants.js.map +0 -1
- package/lib/esm/messages.d.ts.map +0 -1
- package/lib/esm/messages.js.map +0 -1
- /package/lib/cjs/{constants.d.ts → types/constants.d.ts} +0 -0
- /package/lib/cjs/{messages.d.ts → types/messages.d.ts} +0 -0
- /package/lib/esm/{constants.d.ts → types/constants.d.ts} +0 -0
- /package/lib/esm/{constants.js → types/constants.js} +0 -0
- /package/lib/esm/{messages.d.ts → types/messages.d.ts} +0 -0
- /package/lib/esm/{messages.js → types/messages.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/__mocks__/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/__mocks__/logger.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAoBA,CAAC;IAnBC,wBAAO,GAAP;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAM,GAAN;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAG,GAAH;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qBAAI,GAAJ;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAK,GAAL;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,aAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,wBAAM","sourcesContent":["export class Logger {\n disable(): void {\n return undefined;\n }\n\n enable(): void {\n return undefined;\n }\n\n log(): void {\n return undefined;\n }\n\n warn(): void {\n return undefined;\n }\n\n error(): void {\n return undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AnalyticsConnector } from '@amplitude/analytics-connector';
|
|
2
|
+
export declare const getAnalyticsConnector: (instanceName?: string) => AnalyticsConnector;
|
|
3
|
+
export declare const setConnectorUserId: (userId: string | undefined, instanceName?: string) => void;
|
|
4
|
+
export declare const setConnectorDeviceId: (deviceId: string, instanceName?: string) => void;
|
|
5
|
+
//# sourceMappingURL=analytics-connector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-connector.d.ts","sourceRoot":"","sources":["../../src/analytics-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,6BAAyC,kBAE1E,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,GAAG,SAAS,iBAAiB,MAAM,KAAG,IAItF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,MAAM,iBAAiB,MAAM,KAAG,IAE9E,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setConnectorDeviceId = exports.setConnectorUserId = exports.getAnalyticsConnector = void 0;
|
|
4
|
+
var analytics_connector_1 = require("@amplitude/analytics-connector");
|
|
5
|
+
var getAnalyticsConnector = function (instanceName) {
|
|
6
|
+
if (instanceName === void 0) { instanceName = '$default_instance'; }
|
|
7
|
+
return analytics_connector_1.AnalyticsConnector.getInstance(instanceName);
|
|
8
|
+
};
|
|
9
|
+
exports.getAnalyticsConnector = getAnalyticsConnector;
|
|
10
|
+
var setConnectorUserId = function (userId, instanceName) {
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
(0, exports.getAnalyticsConnector)(instanceName).identityStore.editIdentity().setUserId(userId).commit();
|
|
14
|
+
};
|
|
15
|
+
exports.setConnectorUserId = setConnectorUserId;
|
|
16
|
+
var setConnectorDeviceId = function (deviceId, instanceName) {
|
|
17
|
+
(0, exports.getAnalyticsConnector)(instanceName).identityStore.editIdentity().setDeviceId(deviceId).commit();
|
|
18
|
+
};
|
|
19
|
+
exports.setConnectorDeviceId = setConnectorDeviceId;
|
|
20
|
+
//# sourceMappingURL=analytics-connector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-connector.js","sourceRoot":"","sources":["../../src/analytics-connector.ts"],"names":[],"mappings":";;;AAAA,sEAAoE;AAE7D,IAAM,qBAAqB,GAAG,UAAC,YAAkC;IAAlC,6BAAA,EAAA,kCAAkC;IACtE,OAAO,wCAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AAEK,IAAM,kBAAkB,GAAG,UAAC,MAA0B,EAAE,YAAqB;IAClF,6DAA6D;IAC7D,aAAa;IACb,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9F,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEK,IAAM,oBAAoB,GAAG,UAAC,QAAgB,EAAE,YAAqB;IAC1E,IAAA,6BAAqB,EAAC,YAAY,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAClG,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B","sourcesContent":["import { AnalyticsConnector } from '@amplitude/analytics-connector';\n\nexport const getAnalyticsConnector = (instanceName = '$default_instance'): AnalyticsConnector => {\n return AnalyticsConnector.getInstance(instanceName);\n};\n\nexport const setConnectorUserId = (userId: string | undefined, instanceName?: string): void => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n getAnalyticsConnector(instanceName).identityStore.editIdentity().setUserId(userId).commit();\n};\n\nexport const setConnectorDeviceId = (deviceId: string, instanceName?: string): void => {\n getAnalyticsConnector(instanceName).identityStore.editIdentity().setDeviceId(deviceId).commit();\n};\n"]}
|
package/lib/cjs/config.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { OfflineDisabled } from './types/offline';
|
|
2
|
+
import { ServerZoneType } from './types/server-zone';
|
|
3
|
+
import { Transport } from './types/transport';
|
|
4
|
+
import { Event } from './types/event/event';
|
|
5
|
+
import { Plan } from './types/event/plan';
|
|
6
|
+
import { IngestionMetadata } from './types/event/ingestion-metadata';
|
|
7
|
+
import { Storage } from './types/storage';
|
|
8
|
+
import { Logger, ILogger } from './logger';
|
|
9
|
+
import { LogLevel } from './types/loglevel';
|
|
3
10
|
export declare const getDefaultConfig: () => {
|
|
4
11
|
flushMaxRetries: number;
|
|
5
12
|
flushQueueSize: number;
|
|
@@ -13,6 +20,103 @@ export declare const getDefaultConfig: () => {
|
|
|
13
20
|
serverZone: ServerZoneType;
|
|
14
21
|
useBatch: boolean;
|
|
15
22
|
};
|
|
23
|
+
export interface IConfig {
|
|
24
|
+
/**
|
|
25
|
+
* Your Amplitude Project API key.
|
|
26
|
+
*/
|
|
27
|
+
apiKey: string;
|
|
28
|
+
/**
|
|
29
|
+
* The interval of uploading events to Amplitude in milliseconds.
|
|
30
|
+
*/
|
|
31
|
+
flushIntervalMillis: number;
|
|
32
|
+
/**
|
|
33
|
+
* The maximum number of retries for failed upload attempts. This is only applicable to retryable errors.
|
|
34
|
+
*/
|
|
35
|
+
flushMaxRetries: number;
|
|
36
|
+
/**
|
|
37
|
+
* The maximum number of events that are batched in a single upload attempt.
|
|
38
|
+
*/
|
|
39
|
+
flushQueueSize: number;
|
|
40
|
+
/**
|
|
41
|
+
* The instance name. For tracking events to multiple Amplitude projects in your application.
|
|
42
|
+
*/
|
|
43
|
+
instanceName?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Level of logs to be printed in the developer console.
|
|
46
|
+
* Valid values are `LogLevel.None`, `LogLevel.Error`, `LogLevel.Warn`, `LogLevel.Verbose`, `LogLevel.Debug`
|
|
47
|
+
*/
|
|
48
|
+
logLevel: LogLevel;
|
|
49
|
+
/**
|
|
50
|
+
* A custom Logger class to emit log messages to desired destination.
|
|
51
|
+
*/
|
|
52
|
+
loggerProvider: ILogger;
|
|
53
|
+
/**
|
|
54
|
+
* The minimum length for the value of userId and deviceId properties.
|
|
55
|
+
*/
|
|
56
|
+
minIdLength?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the SDK is connected to network.
|
|
59
|
+
*/
|
|
60
|
+
offline?: boolean | typeof OfflineDisabled;
|
|
61
|
+
/**
|
|
62
|
+
* The flag to opt this device out of Amplitude tracking.
|
|
63
|
+
* If this flag is set, no additional information will be stored for the user.
|
|
64
|
+
*/
|
|
65
|
+
optOut: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Tracking plan properties.
|
|
68
|
+
* Amplitude internal use.
|
|
69
|
+
*/
|
|
70
|
+
plan?: Plan;
|
|
71
|
+
/**
|
|
72
|
+
* Ingestion metadata.
|
|
73
|
+
* Amplitude internal use.
|
|
74
|
+
*/
|
|
75
|
+
ingestionMetadata?: IngestionMetadata;
|
|
76
|
+
/**
|
|
77
|
+
* The URL where events are upload to.
|
|
78
|
+
*/
|
|
79
|
+
serverUrl?: string;
|
|
80
|
+
/**
|
|
81
|
+
* The Amplitude server zone.
|
|
82
|
+
* Set this to EU for Amplitude projects created in EU data center.
|
|
83
|
+
*/
|
|
84
|
+
serverZone?: ServerZoneType;
|
|
85
|
+
/**
|
|
86
|
+
* The storage provider to persist unsent events.
|
|
87
|
+
*/
|
|
88
|
+
storageProvider?: Storage<Event[]>;
|
|
89
|
+
/**
|
|
90
|
+
* A customer Transport Class for sending data to a server.
|
|
91
|
+
*/
|
|
92
|
+
transportProvider: Transport;
|
|
93
|
+
/**
|
|
94
|
+
* The flag of whether to upload events to Batch API instead of the default HTTP V2 API.
|
|
95
|
+
*/
|
|
96
|
+
useBatch: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Metrics of the SDK.
|
|
99
|
+
*/
|
|
100
|
+
requestMetadata?: IRequestMetadata;
|
|
101
|
+
}
|
|
102
|
+
export interface IRequestMetadata {
|
|
103
|
+
sdk: {
|
|
104
|
+
metrics: {
|
|
105
|
+
histogram: IHistogramOptions;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
recordHistogram<T extends HistogramKey>(key: T, value: IHistogramOptions[T]): void;
|
|
109
|
+
}
|
|
110
|
+
export interface IHistogramOptions {
|
|
111
|
+
remote_config_fetch_time_IDB?: number;
|
|
112
|
+
remote_config_fetch_time_API_success?: number;
|
|
113
|
+
remote_config_fetch_time_API_fail?: number;
|
|
114
|
+
}
|
|
115
|
+
export type HistogramKey = keyof IHistogramOptions;
|
|
116
|
+
export interface ConfigOptions extends Partial<IConfig> {
|
|
117
|
+
apiKey: string;
|
|
118
|
+
transportProvider: Transport;
|
|
119
|
+
}
|
|
16
120
|
export declare class Config implements IConfig {
|
|
17
121
|
apiKey: string;
|
|
18
122
|
flushIntervalMillis: number;
|
|
@@ -34,7 +138,7 @@ export declare class Config implements IConfig {
|
|
|
34
138
|
protected _optOut: boolean;
|
|
35
139
|
get optOut(): boolean;
|
|
36
140
|
set optOut(optOut: boolean);
|
|
37
|
-
constructor(options:
|
|
141
|
+
constructor(options: ConfigOptions);
|
|
38
142
|
}
|
|
39
143
|
export declare const getServerUrl: (serverZone: ServerZoneType, useBatch: boolean) => "https://api2.amplitude.com/2/httpapi" | "https://api.eu.amplitude.com/2/httpapi" | "https://api2.amplitude.com/batch" | "https://api.eu.amplitude.com/batch";
|
|
40
144
|
export declare const createServerConfig: (serverUrl?: string, serverZone?: ServerZoneType, useBatch?: boolean) => {
|
package/lib/cjs/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/config.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.RequestMetadata = exports.createServerConfig = exports.getServerUrl = exports.Config = exports.getDefaultConfig = void 0;
|
|
3
|
-
var
|
|
4
|
-
var constants_1 = require("./constants");
|
|
4
|
+
var constants_1 = require("./types/constants");
|
|
5
5
|
var logger_1 = require("./logger");
|
|
6
|
+
var loglevel_1 = require("./types/loglevel");
|
|
6
7
|
var getDefaultConfig = function () { return ({
|
|
7
8
|
flushMaxRetries: 12,
|
|
8
9
|
flushQueueSize: 200,
|
|
9
10
|
flushIntervalMillis: 10000,
|
|
10
11
|
instanceName: '$default_instance',
|
|
11
|
-
logLevel:
|
|
12
|
+
logLevel: loglevel_1.LogLevel.Warn,
|
|
12
13
|
loggerProvider: new logger_1.Logger(),
|
|
13
14
|
offline: false,
|
|
14
15
|
optOut: false,
|
package/lib/cjs/config.js.map
CHANGED
|
@@ -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 LogLevel,\n Storage,\n Transport,\n Plan,\n IngestionMetadata,\n Options,\n ServerZoneType,\n OfflineDisabled,\n RequestMetadata as IRequestMetadata,\n HistogramOptions as IHistogramOptions,\n HistogramKey,\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\nexport const getDefaultConfig = () => ({\n flushMaxRetries: 12,\n flushQueueSize: 200,\n flushIntervalMillis: 10000,\n instanceName: '$default_instance',\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n offline: false,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: 'US' as ServerZoneType,\n useBatch: false,\n});\n\nexport class Config implements IConfig {\n apiKey: string;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n instanceName?: string;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n minIdLength?: number;\n offline?: boolean | typeof OfflineDisabled;\n plan?: Plan;\n ingestionMetadata?: IngestionMetadata;\n serverUrl: string | undefined;\n serverZone?: ServerZoneType;\n transportProvider: Transport;\n storageProvider?: Storage<Event[]>;\n useBatch: boolean;\n requestMetadata?: RequestMetadata;\n\n protected _optOut = false;\n get optOut() {\n return this._optOut;\n }\n set optOut(optOut: boolean) {\n this._optOut = optOut;\n }\n\n constructor(options: Options) {\n const defaultConfig = getDefaultConfig();\n this.apiKey = options.apiKey;\n this.flushIntervalMillis = options.flushIntervalMillis ?? defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.instanceName = options.instanceName || defaultConfig.instanceName;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel ?? defaultConfig.logLevel;\n this.minIdLength = options.minIdLength;\n this.plan = options.plan;\n this.ingestionMetadata = options.ingestionMetadata;\n this.offline = options.offline !== undefined ? options.offline : defaultConfig.offline;\n this.optOut = options.optOut ?? defaultConfig.optOut;\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 this.loggerProvider.enable(this.logLevel);\n\n const serverConfig = createServerConfig(options.serverUrl, options.serverZone, options.useBatch);\n this.serverZone = serverConfig.serverZone;\n this.serverUrl = serverConfig.serverUrl;\n }\n}\n\nexport const getServerUrl = (serverZone: ServerZoneType, useBatch: boolean) => {\n if (serverZone === 'EU') {\n return useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL;\n }\n return useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL;\n};\n\nexport const createServerConfig = (\n serverUrl = '',\n serverZone: ServerZoneType = getDefaultConfig().serverZone,\n useBatch: boolean = getDefaultConfig().useBatch,\n) => {\n if (serverUrl) {\n return { serverUrl, serverZone: undefined };\n }\n const _serverZone = ['US', 'EU'].includes(serverZone) ? serverZone : getDefaultConfig().serverZone;\n return {\n serverZone: _serverZone,\n serverUrl: getServerUrl(_serverZone, useBatch),\n };\n};\n\nexport class RequestMetadata implements IRequestMetadata {\n sdk: {\n metrics: {\n histogram: HistogramOptions;\n };\n };\n\n constructor() {\n this.sdk = {\n metrics: {\n histogram: {},\n },\n };\n }\n\n recordHistogram<T extends HistogramKey>(key: T, value: HistogramOptions[T]) {\n this.sdk.metrics.histogram[key] = value;\n }\n}\n\nclass HistogramOptions implements IHistogramOptions {\n remote_config_fetch_time_IDB?: number;\n remote_config_fetch_time_API_success?: number;\n remote_config_fetch_time_API_fail?: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { OfflineDisabled } from './types/offline';\nimport { ServerZoneType } from './types/server-zone';\nimport { Transport } from './types/transport';\nimport { Event } from './types/event/event';\nimport { Plan } from './types/event/plan';\nimport { IngestionMetadata } from './types/event/ingestion-metadata';\nimport { Storage } from './types/storage';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './types/constants';\n\nimport { Logger, ILogger } from './logger';\nimport { LogLevel } from './types/loglevel';\n\nexport const getDefaultConfig = () => ({\n flushMaxRetries: 12,\n flushQueueSize: 200,\n flushIntervalMillis: 10000,\n instanceName: '$default_instance',\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n offline: false,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: 'US' as ServerZoneType,\n useBatch: false,\n});\n\nexport interface IConfig {\n /**\n * Your Amplitude Project API key.\n */\n apiKey: string;\n /**\n * The interval of uploading events to Amplitude in milliseconds.\n */\n flushIntervalMillis: number;\n /**\n * The maximum number of retries for failed upload attempts. This is only applicable to retryable errors.\n */\n flushMaxRetries: number;\n /**\n * The maximum number of events that are batched in a single upload attempt.\n */\n flushQueueSize: number;\n /**\n * The instance name. For tracking events to multiple Amplitude projects in your application.\n */\n instanceName?: string;\n /**\n * Level of logs to be printed in the developer console.\n * Valid values are `LogLevel.None`, `LogLevel.Error`, `LogLevel.Warn`, `LogLevel.Verbose`, `LogLevel.Debug`\n */\n logLevel: LogLevel;\n /**\n * A custom Logger class to emit log messages to desired destination.\n */\n loggerProvider: ILogger;\n /**\n * The minimum length for the value of userId and deviceId properties.\n */\n minIdLength?: number;\n /**\n * Whether the SDK is connected to network.\n */\n offline?: boolean | typeof OfflineDisabled;\n /**\n * The flag to opt this device out of Amplitude tracking.\n * If this flag is set, no additional information will be stored for the user.\n */\n optOut: boolean;\n /**\n * Tracking plan properties.\n * Amplitude internal use.\n */\n plan?: Plan;\n /**\n * Ingestion metadata.\n * Amplitude internal use.\n */\n ingestionMetadata?: IngestionMetadata;\n /**\n * The URL where events are upload to.\n */\n serverUrl?: string;\n /**\n * The Amplitude server zone.\n * Set this to EU for Amplitude projects created in EU data center.\n */\n serverZone?: ServerZoneType;\n /**\n * The storage provider to persist unsent events.\n */\n storageProvider?: Storage<Event[]>;\n /**\n * A customer Transport Class for sending data to a server.\n */\n transportProvider: Transport;\n /**\n * The flag of whether to upload events to Batch API instead of the default HTTP V2 API.\n */\n useBatch: boolean;\n /**\n * Metrics of the SDK.\n */\n requestMetadata?: IRequestMetadata;\n}\n\nexport interface IRequestMetadata {\n sdk: {\n metrics: {\n histogram: IHistogramOptions;\n };\n };\n\n recordHistogram<T extends HistogramKey>(key: T, value: IHistogramOptions[T]): void;\n}\n\nexport interface IHistogramOptions {\n remote_config_fetch_time_IDB?: number;\n remote_config_fetch_time_API_success?: number;\n remote_config_fetch_time_API_fail?: number;\n}\n\nexport type HistogramKey = keyof IHistogramOptions;\n\nexport interface ConfigOptions extends Partial<IConfig> {\n apiKey: string;\n transportProvider: Transport;\n}\n\nexport class Config implements IConfig {\n apiKey: string;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n instanceName?: string;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n minIdLength?: number;\n offline?: boolean | typeof OfflineDisabled;\n plan?: Plan;\n ingestionMetadata?: IngestionMetadata;\n serverUrl: string | undefined;\n serverZone?: ServerZoneType;\n transportProvider: Transport;\n storageProvider?: Storage<Event[]>;\n useBatch: boolean;\n requestMetadata?: RequestMetadata;\n\n protected _optOut = false;\n get optOut() {\n return this._optOut;\n }\n set optOut(optOut: boolean) {\n this._optOut = optOut;\n }\n\n constructor(options: ConfigOptions) {\n const defaultConfig = getDefaultConfig();\n this.apiKey = options.apiKey;\n this.flushIntervalMillis = options.flushIntervalMillis ?? defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.instanceName = options.instanceName || defaultConfig.instanceName;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel ?? defaultConfig.logLevel;\n this.minIdLength = options.minIdLength;\n this.plan = options.plan;\n this.ingestionMetadata = options.ingestionMetadata;\n this.offline = options.offline !== undefined ? options.offline : defaultConfig.offline;\n this.optOut = options.optOut ?? defaultConfig.optOut;\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 this.loggerProvider.enable(this.logLevel);\n\n const serverConfig = createServerConfig(options.serverUrl, options.serverZone, options.useBatch);\n this.serverZone = serverConfig.serverZone;\n this.serverUrl = serverConfig.serverUrl;\n }\n}\n\nexport const getServerUrl = (serverZone: ServerZoneType, useBatch: boolean) => {\n if (serverZone === 'EU') {\n return useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL;\n }\n return useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL;\n};\n\nexport const createServerConfig = (\n serverUrl = '',\n serverZone: ServerZoneType = getDefaultConfig().serverZone,\n useBatch: boolean = getDefaultConfig().useBatch,\n) => {\n if (serverUrl) {\n return { serverUrl, serverZone: undefined };\n }\n const _serverZone = ['US', 'EU'].includes(serverZone) ? serverZone : getDefaultConfig().serverZone;\n return {\n serverZone: _serverZone,\n serverUrl: getServerUrl(_serverZone, useBatch),\n };\n};\n\nexport class RequestMetadata implements IRequestMetadata {\n sdk: {\n metrics: {\n histogram: HistogramOptions;\n };\n };\n\n constructor() {\n this.sdk = {\n metrics: {\n histogram: {},\n },\n };\n }\n\n recordHistogram<T extends HistogramKey>(key: T, value: HistogramOptions[T]) {\n this.sdk.metrics.histogram[key] = value;\n }\n}\n\nclass HistogramOptions implements IHistogramOptions {\n remote_config_fetch_time_IDB?: number;\n remote_config_fetch_time_API_success?: number;\n remote_config_fetch_time_API_fail?: number;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-name.d.ts","sourceRoot":"","sources":["../../src/cookie-name.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,WAAY,MAAM,6CAE3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,MAAM,WAE9C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOldCookieName = exports.getCookieName = void 0;
|
|
4
|
+
var constants_1 = require("./types/constants");
|
|
5
|
+
var getCookieName = function (apiKey, postKey, limit) {
|
|
6
|
+
if (postKey === void 0) { postKey = ''; }
|
|
7
|
+
if (limit === void 0) { limit = 10; }
|
|
8
|
+
return [constants_1.AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');
|
|
9
|
+
};
|
|
10
|
+
exports.getCookieName = getCookieName;
|
|
11
|
+
var getOldCookieName = function (apiKey) {
|
|
12
|
+
return "".concat(constants_1.AMPLITUDE_PREFIX.toLowerCase(), "_").concat(apiKey.substring(0, 6));
|
|
13
|
+
};
|
|
14
|
+
exports.getOldCookieName = getOldCookieName;
|
|
15
|
+
//# sourceMappingURL=cookie-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-name.js","sourceRoot":"","sources":["../../src/cookie-name.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAE9C,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAAY,EAAE,KAAU;IAAxB,wBAAA,EAAA,YAAY;IAAE,sBAAA,EAAA,UAAU;IACpE,OAAO,CAAC,4BAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3F,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,IAAM,gBAAgB,GAAG,UAAC,MAAc;IAC7C,OAAO,UAAG,4BAAgB,CAAC,WAAW,EAAE,cAAI,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B","sourcesContent":["import { AMPLITUDE_PREFIX } from './types/constants';\n\nexport const getCookieName = (apiKey: string, postKey = '', limit = 10) => {\n return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');\n};\n\nexport const getOldCookieName = (apiKey: string) => {\n return `${AMPLITUDE_PREFIX.toLowerCase()}_${apiKey.substring(0, 6)}`;\n};\n"]}
|
package/lib/cjs/core-client.d.ts
CHANGED
|
@@ -1,32 +1,172 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Plugin } from './types/plugin';
|
|
2
|
+
import { IConfig } from './config';
|
|
3
|
+
import { BaseEvent, EventOptions } from './types/event/base-event';
|
|
4
|
+
import { Result } from './types/result';
|
|
5
|
+
import { Event } from './types/event/event';
|
|
6
|
+
import { IIdentify } from './identify';
|
|
7
|
+
import { IRevenue } from './revenue';
|
|
2
8
|
import { Timeline } from './timeline';
|
|
3
9
|
import { returnWrapper } from './utils/return-wrapper';
|
|
10
|
+
import { AmplitudeReturn } from './utils/return-wrapper';
|
|
11
|
+
export interface CoreClient {
|
|
12
|
+
/**
|
|
13
|
+
* Adds a new plugin.
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const plugin = {
|
|
17
|
+
* name: 'myPlugin',
|
|
18
|
+
* type: 'enrichment',
|
|
19
|
+
* setup(config: Config) {
|
|
20
|
+
* return;
|
|
21
|
+
* },
|
|
22
|
+
* execute(context: Event) {
|
|
23
|
+
* return context;
|
|
24
|
+
* },
|
|
25
|
+
* };
|
|
26
|
+
* amplitude.add(plugin);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
add(plugin: Plugin): AmplitudeReturn<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Removes a plugin.
|
|
32
|
+
*
|
|
33
|
+
* ```typescript
|
|
34
|
+
* amplitude.remove('myPlugin');
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
remove(pluginName: string): AmplitudeReturn<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Tracks user-defined event, with specified type, optional event properties and optional overwrites.
|
|
40
|
+
*
|
|
41
|
+
* ```typescript
|
|
42
|
+
* // event tracking with event type only
|
|
43
|
+
* track('Page Load');
|
|
44
|
+
*
|
|
45
|
+
* // event tracking with event type and additional event properties
|
|
46
|
+
* track('Page Load', { loadTime: 1000 });
|
|
47
|
+
*
|
|
48
|
+
* // event tracking with event type, additional event properties, and overwritten event options
|
|
49
|
+
* track('Page Load', { loadTime: 1000 }, { sessionId: -1 });
|
|
50
|
+
*
|
|
51
|
+
* // alternatively, this tracking method is awaitable
|
|
52
|
+
* const result = await track('Page Load').promise;
|
|
53
|
+
* console.log(result.event); // {...}
|
|
54
|
+
* console.log(result.code); // 200
|
|
55
|
+
* console.log(result.message); // "Event tracked successfully"
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
59
|
+
/**
|
|
60
|
+
* Alias for track()
|
|
61
|
+
*/
|
|
62
|
+
logEvent(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
63
|
+
/**
|
|
64
|
+
* Sends an identify event containing user property operations
|
|
65
|
+
*
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const id = new Identify();
|
|
68
|
+
* id.set('colors', ['rose', 'gold']);
|
|
69
|
+
* identify(id);
|
|
70
|
+
*
|
|
71
|
+
* // alternatively, this tracking method is awaitable
|
|
72
|
+
* const result = await identify(id).promise;
|
|
73
|
+
* console.log(result.event); // {...}
|
|
74
|
+
* console.log(result.code); // 200
|
|
75
|
+
* console.log(result.message); // "Event tracked successfully"
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
identify(identify: IIdentify, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
79
|
+
/**
|
|
80
|
+
* Sends a group identify event containing group property operations.
|
|
81
|
+
*
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const id = new Identify();
|
|
84
|
+
* id.set('skills', ['js', 'ts']);
|
|
85
|
+
* const groupType = 'org';
|
|
86
|
+
* const groupName = 'engineering';
|
|
87
|
+
* groupIdentify(groupType, groupName, id);
|
|
88
|
+
*
|
|
89
|
+
* // alternatively, this tracking method is awaitable
|
|
90
|
+
* const result = await groupIdentify(groupType, groupName, id).promise;
|
|
91
|
+
* console.log(result.event); // {...}
|
|
92
|
+
* console.log(result.code); // 200
|
|
93
|
+
* console.log(result.message); // "Event tracked successfully"
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
97
|
+
/**
|
|
98
|
+
* Assigns a user to group
|
|
99
|
+
*
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const groupType = 'orgId';
|
|
102
|
+
* const groupName = '15';
|
|
103
|
+
* setGroup(groupType, groupName, { user_id: '12345' })
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
107
|
+
/**
|
|
108
|
+
* Sends a revenue event containing revenue property operations.
|
|
109
|
+
*
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const rev = new Revenue();
|
|
112
|
+
* rev.setRevenue(100);
|
|
113
|
+
* revenue(rev);
|
|
114
|
+
*
|
|
115
|
+
* // alternatively, this tracking method is awaitable
|
|
116
|
+
* const result = await revenue(rev).promise;
|
|
117
|
+
* console.log(result.event); // {...}
|
|
118
|
+
* console.log(result.code); // 200
|
|
119
|
+
* console.log(result.message); // "Event tracked successfully"
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
revenue(revenue: IRevenue, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
123
|
+
/**
|
|
124
|
+
* Sets a new optOut config value. This toggles event tracking on/off.
|
|
125
|
+
*
|
|
126
|
+
*```typescript
|
|
127
|
+
* // Stops tracking
|
|
128
|
+
* setOptOut(true);
|
|
129
|
+
*
|
|
130
|
+
* // Starts/resumes tracking
|
|
131
|
+
* setOptOut(false);
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
setOptOut(optOut: boolean): void;
|
|
135
|
+
/**
|
|
136
|
+
* Flush all unsent events.
|
|
137
|
+
*
|
|
138
|
+
*```typescript
|
|
139
|
+
* flush();
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
flush(): AmplitudeReturn<void>;
|
|
143
|
+
}
|
|
4
144
|
export declare class AmplitudeCore implements CoreClient {
|
|
5
145
|
protected initializing: boolean;
|
|
6
146
|
protected name: string;
|
|
7
|
-
config:
|
|
147
|
+
config: IConfig;
|
|
8
148
|
timeline: Timeline;
|
|
9
149
|
isReady: boolean;
|
|
10
150
|
protected q: Array<CallableFunction | typeof returnWrapper>;
|
|
11
151
|
protected dispatchQ: Array<CallableFunction>;
|
|
12
152
|
constructor(name?: string);
|
|
13
|
-
protected _init(config:
|
|
153
|
+
protected _init(config: IConfig): Promise<void>;
|
|
14
154
|
runQueuedFunctions(queueName: 'q' | 'dispatchQ'): Promise<void>;
|
|
15
|
-
track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions):
|
|
16
|
-
logEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) =>
|
|
17
|
-
identify(identify:
|
|
18
|
-
groupIdentify(groupType: string, groupName: string | string[], identify:
|
|
19
|
-
setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions):
|
|
20
|
-
revenue(revenue:
|
|
21
|
-
add(plugin: Plugin):
|
|
22
|
-
_addPlugin(plugin: Plugin):
|
|
23
|
-
remove(pluginName: string):
|
|
24
|
-
_removePlugin(pluginName: string):
|
|
155
|
+
track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
156
|
+
logEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) => AmplitudeReturn<Result>;
|
|
157
|
+
identify(identify: IIdentify, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
158
|
+
groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
159
|
+
setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
160
|
+
revenue(revenue: IRevenue, eventOptions?: EventOptions): AmplitudeReturn<Result>;
|
|
161
|
+
add(plugin: Plugin): AmplitudeReturn<void>;
|
|
162
|
+
_addPlugin(plugin: Plugin): AmplitudeReturn<void>;
|
|
163
|
+
remove(pluginName: string): AmplitudeReturn<void>;
|
|
164
|
+
_removePlugin(pluginName: string): AmplitudeReturn<void>;
|
|
25
165
|
dispatchWithCallback(event: Event, callback: (result: Result) => void): void;
|
|
26
166
|
dispatch(event: Event): Promise<Result>;
|
|
27
167
|
process(event: Event): Promise<Result>;
|
|
28
168
|
setOptOut(optOut: boolean): void;
|
|
29
169
|
_setOptOut(optOut: boolean): void;
|
|
30
|
-
flush():
|
|
170
|
+
flush(): AmplitudeReturn<void>;
|
|
31
171
|
}
|
|
32
172
|
//# sourceMappingURL=core-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/core-client.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.AmplitudeCore = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
|
-
var messages_1 = require("./messages");
|
|
5
|
+
var messages_1 = require("./types/messages");
|
|
5
6
|
var timeline_1 = require("./timeline");
|
|
6
7
|
var event_builder_1 = require("./utils/event-builder");
|
|
7
8
|
var result_builder_1 = require("./utils/result-builder");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BaseEvent,\n Config,\n CoreClient,\n Event,\n EventOptions,\n Identify,\n Plugin,\n Result,\n Revenue,\n} from '@amplitude/analytics-types';\nimport { CLIENT_NOT_INITIALIZED, OPT_OUT_MESSAGE } from './messages';\nimport { Timeline } from './timeline';\nimport {\n createGroupEvent,\n createGroupIdentifyEvent,\n createIdentifyEvent,\n createRevenueEvent,\n createTrackEvent,\n} from './utils/event-builder';\nimport { buildResult } from './utils/result-builder';\nimport { returnWrapper } from './utils/return-wrapper';\n\nexport class AmplitudeCore implements CoreClient {\n protected initializing = false;\n protected name: string;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: Config;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n timeline: Timeline;\n isReady = false;\n protected q: Array<CallableFunction | typeof returnWrapper> = [];\n protected dispatchQ: Array<CallableFunction> = [];\n\n constructor(name = '$default') {\n this.timeline = new Timeline(this);\n this.name = name;\n }\n\n protected async _init(config: Config) {\n this.config = config;\n this.timeline.reset(this);\n await this.runQueuedFunctions('q');\n this.isReady = true;\n }\n\n async runQueuedFunctions(queueName: 'q' | 'dispatchQ') {\n const queuedFunctions = this[queueName];\n this[queueName] = [];\n for (const queuedFunction of queuedFunctions) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const val: ReturnType<typeof returnWrapper> | Promise<any> = queuedFunction();\n if (val && 'promise' in val) {\n await val.promise;\n } else {\n await val;\n }\n }\n // Rerun queued functions if the queue has accrued more while awaiting promises\n if (this[queueName].length) {\n await this.runQueuedFunctions(queueName);\n }\n }\n\n track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) {\n const event = createTrackEvent(eventInput, eventProperties, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n logEvent = this.track.bind(this);\n\n identify(identify: Identify, eventOptions?: EventOptions) {\n const event = createIdentifyEvent(identify, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: Identify, eventOptions?: EventOptions) {\n const event = createGroupIdentifyEvent(groupType, groupName, identify, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions) {\n const event = createGroupEvent(groupType, groupName, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n revenue(revenue: Revenue, eventOptions?: EventOptions) {\n const event = createRevenueEvent(revenue, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n add(plugin: Plugin) {\n if (!this.isReady) {\n this.q.push(this._addPlugin.bind(this, plugin));\n return returnWrapper();\n }\n return this._addPlugin(plugin);\n }\n\n _addPlugin(plugin: Plugin) {\n return returnWrapper(this.timeline.register(plugin, this.config));\n }\n\n remove(pluginName: string) {\n if (!this.isReady) {\n this.q.push(this._removePlugin.bind(this, pluginName));\n return returnWrapper();\n }\n return this._removePlugin(pluginName);\n }\n\n _removePlugin(pluginName: string) {\n return returnWrapper(this.timeline.deregister(pluginName, this.config));\n }\n\n dispatchWithCallback(event: Event, callback: (result: Result) => void): void {\n if (!this.isReady) {\n return callback(buildResult(event, 0, CLIENT_NOT_INITIALIZED));\n }\n void this.process(event).then(callback);\n }\n\n async dispatch(event: Event): Promise<Result> {\n if (!this.isReady) {\n return new Promise<Result>((resolve) => {\n this.dispatchQ.push(this.dispatchWithCallback.bind(this, event, resolve));\n });\n }\n\n return this.process(event);\n }\n\n async process(event: Event): Promise<Result> {\n try {\n // skip event processing if opt out\n if (this.config.optOut) {\n return buildResult(event, 0, OPT_OUT_MESSAGE);\n }\n\n const result = await this.timeline.push(event);\n\n result.code === 200\n ? this.config.loggerProvider.log(result.message)\n : result.code === 100\n ? this.config.loggerProvider.warn(result.message)\n : this.config.loggerProvider.error(result.message);\n\n return result;\n } catch (e) {\n const message = String(e);\n this.config.loggerProvider.error(message);\n const result = buildResult(event, 0, message);\n\n return result;\n }\n }\n\n setOptOut(optOut: boolean) {\n if (!this.isReady) {\n this.q.push(this._setOptOut.bind(this, Boolean(optOut)));\n return;\n }\n this._setOptOut(optOut);\n }\n\n _setOptOut(optOut: boolean) {\n this.config.optOut = Boolean(optOut);\n }\n\n flush() {\n return returnWrapper(this.timeline.flush());\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":";;;;AAOA,6CAA2E;AAC3E,uCAAsC;AACtC,uDAM+B;AAC/B,yDAAqD;AACrD,yDAAuD;AA+JvD;IAaE,uBAAY,IAAiB;QAAjB,qBAAA,EAAA,iBAAiB;QAZnB,iBAAY,GAAG,KAAK,CAAC;QAQ/B,YAAO,GAAG,KAAK,CAAC;QACN,MAAC,GAAmD,EAAE,CAAC;QACvD,cAAS,GAA4B,EAAE,CAAC;QAuClD,aAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QApC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEe,6BAAK,GAArB,UAAsB,MAAe;;;;;wBACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;wBACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1B,qBAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAA;;wBAAlC,SAAkC,CAAC;wBACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;;;;;KACrB;IAEK,0CAAkB,GAAxB,UAAyB,SAA4B;;;;;;;wBAC7C,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;wBACxC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;;;;wBACQ,oBAAA,iBAAA,eAAe,CAAA;;;;wBAAjC,cAAc;wBAIjB,GAAG,GAAoD,cAAc,EAAE,CAAC;6BAC1E,CAAA,GAAG,IAAI,SAAS,IAAI,GAAG,CAAA,EAAvB,wBAAuB;wBACzB,qBAAM,GAAG,CAAC,OAAO,EAAA;;wBAAjB,SAAiB,CAAC;;4BAElB,qBAAM,GAAG,EAAA;;wBAAT,SAAS,CAAC;;;;;;;;;;;;;;;;;6BAIV,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAtB,yBAAsB;wBACxB,qBAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAA;;wBAAxC,SAAwC,CAAC;;;;;;KAE5C;IAED,6BAAK,GAAL,UAAM,UAA8B,EAAE,eAAqC,EAAE,YAA2B;QACtG,IAAM,KAAK,GAAG,IAAA,gCAAgB,EAAC,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAID,gCAAQ,GAAR,UAAS,QAAmB,EAAE,YAA2B;QACvD,IAAM,KAAK,GAAG,IAAA,mCAAmB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,qCAAa,GAAb,UAAc,SAAiB,EAAE,SAA4B,EAAE,QAAmB,EAAE,YAA2B;QAC7G,IAAM,KAAK,GAAG,IAAA,wCAAwB,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrF,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,gCAAQ,GAAR,UAAS,SAAiB,EAAE,SAA4B,EAAE,YAA2B;QACnF,IAAM,KAAK,GAAG,IAAA,gCAAgB,EAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACnE,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,+BAAO,GAAP,UAAQ,OAAiB,EAAE,YAA2B;QACpD,IAAM,KAAK,GAAG,IAAA,kCAAkB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACxD,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2BAAG,GAAH,UAAI,MAAc;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YAChD,OAAO,IAAA,8BAAa,GAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,kCAAU,GAAV,UAAW,MAAc;QACvB,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,8BAAM,GAAN,UAAO,UAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACvD,OAAO,IAAA,8BAAa,GAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,qCAAa,GAAb,UAAc,UAAkB;QAC9B,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,4CAAoB,GAApB,UAAqB,KAAY,EAAE,QAAkC;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,QAAQ,CAAC,IAAA,4BAAW,EAAC,KAAK,EAAE,CAAC,EAAE,iCAAsB,CAAC,CAAC,CAAC;SAChE;QACD,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEK,gCAAQ,GAAd,UAAe,KAAY;;;;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,sBAAO,IAAI,OAAO,CAAS,UAAC,OAAO;4BACjC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC5E,CAAC,CAAC,EAAC;iBACJ;gBAED,sBAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC;;;KAC5B;IAEK,+BAAO,GAAb,UAAc,KAAY;;;;;;;wBAEtB,mCAAmC;wBACnC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;4BACtB,sBAAO,IAAA,4BAAW,EAAC,KAAK,EAAE,CAAC,EAAE,0BAAe,CAAC,EAAC;yBAC/C;wBAEc,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAA;;wBAAxC,MAAM,GAAG,SAA+B;wBAE9C,MAAM,CAAC,IAAI,KAAK,GAAG;4BACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;4BAChD,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG;gCACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gCACjD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAErD,sBAAO,MAAM,EAAC;;;wBAER,OAAO,GAAG,MAAM,CAAC,GAAC,CAAC,CAAC;wBAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACpC,MAAM,GAAG,IAAA,4BAAW,EAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;wBAE9C,sBAAO,MAAM,EAAC;;;;;KAEjB;IAED,iCAAS,GAAT,UAAU,MAAe;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO;SACR;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,kCAAU,GAAV,UAAW,MAAe;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,6BAAK,GAAL;QACE,OAAO,IAAA,8BAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACH,oBAAC;AAAD,CAAC,AAzJD,IAyJC;AAzJY,sCAAa","sourcesContent":["import { Plugin } from './types/plugin';\nimport { IConfig } from './config';\nimport { BaseEvent, EventOptions } from './types/event/base-event';\nimport { Result } from './types/result';\nimport { Event } from './types/event/event';\nimport { IIdentify } from './identify';\nimport { IRevenue } from './revenue';\nimport { CLIENT_NOT_INITIALIZED, OPT_OUT_MESSAGE } from './types/messages';\nimport { Timeline } from './timeline';\nimport {\n createGroupEvent,\n createGroupIdentifyEvent,\n createIdentifyEvent,\n createRevenueEvent,\n createTrackEvent,\n} from './utils/event-builder';\nimport { buildResult } from './utils/result-builder';\nimport { returnWrapper } from './utils/return-wrapper';\nimport { AmplitudeReturn } from './utils/return-wrapper';\n\nexport interface CoreClient {\n /**\n * Adds a new plugin.\n *\n * ```typescript\n * const plugin = {\n * name: 'myPlugin',\n * type: 'enrichment',\n * setup(config: Config) {\n * return;\n * },\n * execute(context: Event) {\n * return context;\n * },\n * };\n * amplitude.add(plugin);\n * ```\n */\n add(plugin: Plugin): AmplitudeReturn<void>;\n\n /**\n * Removes a plugin.\n *\n * ```typescript\n * amplitude.remove('myPlugin');\n * ```\n */\n remove(pluginName: string): AmplitudeReturn<void>;\n\n /**\n * Tracks user-defined event, with specified type, optional event properties and optional overwrites.\n *\n * ```typescript\n * // event tracking with event type only\n * track('Page Load');\n *\n * // event tracking with event type and additional event properties\n * track('Page Load', { loadTime: 1000 });\n *\n * // event tracking with event type, additional event properties, and overwritten event options\n * track('Page Load', { loadTime: 1000 }, { sessionId: -1 });\n *\n * // alternatively, this tracking method is awaitable\n * const result = await track('Page Load').promise;\n * console.log(result.event); // {...}\n * console.log(result.code); // 200\n * console.log(result.message); // \"Event tracked successfully\"\n * ```\n */\n track(\n eventInput: BaseEvent | string,\n eventProperties?: Record<string, any>,\n eventOptions?: EventOptions,\n ): AmplitudeReturn<Result>;\n\n /**\n * Alias for track()\n */\n logEvent(\n eventInput: BaseEvent | string,\n eventProperties?: Record<string, any>,\n eventOptions?: EventOptions,\n ): AmplitudeReturn<Result>;\n\n /**\n * Sends an identify event containing user property operations\n *\n * ```typescript\n * const id = new Identify();\n * id.set('colors', ['rose', 'gold']);\n * identify(id);\n *\n * // alternatively, this tracking method is awaitable\n * const result = await identify(id).promise;\n * console.log(result.event); // {...}\n * console.log(result.code); // 200\n * console.log(result.message); // \"Event tracked successfully\"\n * ```\n */\n identify(identify: IIdentify, eventOptions?: EventOptions): AmplitudeReturn<Result>;\n\n /**\n * Sends a group identify event containing group property operations.\n *\n * ```typescript\n * const id = new Identify();\n * id.set('skills', ['js', 'ts']);\n * const groupType = 'org';\n * const groupName = 'engineering';\n * groupIdentify(groupType, groupName, id);\n *\n * // alternatively, this tracking method is awaitable\n * const result = await groupIdentify(groupType, groupName, id).promise;\n * console.log(result.event); // {...}\n * console.log(result.code); // 200\n * console.log(result.message); // \"Event tracked successfully\"\n * ```\n */\n groupIdentify(\n groupType: string,\n groupName: string | string[],\n identify: IIdentify,\n eventOptions?: EventOptions,\n ): AmplitudeReturn<Result>;\n\n /**\n * Assigns a user to group\n *\n * ```typescript\n * const groupType = 'orgId';\n * const groupName = '15';\n * setGroup(groupType, groupName, { user_id: '12345' })\n * ```\n */\n setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions): AmplitudeReturn<Result>;\n\n /**\n * Sends a revenue event containing revenue property operations.\n *\n * ```typescript\n * const rev = new Revenue();\n * rev.setRevenue(100);\n * revenue(rev);\n *\n * // alternatively, this tracking method is awaitable\n * const result = await revenue(rev).promise;\n * console.log(result.event); // {...}\n * console.log(result.code); // 200\n * console.log(result.message); // \"Event tracked successfully\"\n * ```\n */\n revenue(revenue: IRevenue, eventOptions?: EventOptions): AmplitudeReturn<Result>;\n\n /**\n * Sets a new optOut config value. This toggles event tracking on/off.\n *\n *```typescript\n * // Stops tracking\n * setOptOut(true);\n *\n * // Starts/resumes tracking\n * setOptOut(false);\n * ```\n */\n setOptOut(optOut: boolean): void;\n\n /**\n * Flush all unsent events.\n *\n *```typescript\n * flush();\n * ```\n */\n flush(): AmplitudeReturn<void>;\n}\n\nexport class AmplitudeCore implements CoreClient {\n protected initializing = false;\n protected name: string;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: IConfig;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n timeline: Timeline;\n isReady = false;\n protected q: Array<CallableFunction | typeof returnWrapper> = [];\n protected dispatchQ: Array<CallableFunction> = [];\n\n constructor(name = '$default') {\n this.timeline = new Timeline(this);\n this.name = name;\n }\n\n protected async _init(config: IConfig) {\n this.config = config;\n this.timeline.reset(this);\n await this.runQueuedFunctions('q');\n this.isReady = true;\n }\n\n async runQueuedFunctions(queueName: 'q' | 'dispatchQ') {\n const queuedFunctions = this[queueName];\n this[queueName] = [];\n for (const queuedFunction of queuedFunctions) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const val: ReturnType<typeof returnWrapper> | Promise<any> = queuedFunction();\n if (val && 'promise' in val) {\n await val.promise;\n } else {\n await val;\n }\n }\n // Rerun queued functions if the queue has accrued more while awaiting promises\n if (this[queueName].length) {\n await this.runQueuedFunctions(queueName);\n }\n }\n\n track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) {\n const event = createTrackEvent(eventInput, eventProperties, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n logEvent = this.track.bind(this);\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n const event = createIdentifyEvent(identify, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions) {\n const event = createGroupIdentifyEvent(groupType, groupName, identify, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions) {\n const event = createGroupEvent(groupType, groupName, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n revenue(revenue: IRevenue, eventOptions?: EventOptions) {\n const event = createRevenueEvent(revenue, eventOptions);\n return returnWrapper(this.dispatch(event));\n }\n\n add(plugin: Plugin) {\n if (!this.isReady) {\n this.q.push(this._addPlugin.bind(this, plugin));\n return returnWrapper();\n }\n return this._addPlugin(plugin);\n }\n\n _addPlugin(plugin: Plugin) {\n return returnWrapper(this.timeline.register(plugin, this.config));\n }\n\n remove(pluginName: string) {\n if (!this.isReady) {\n this.q.push(this._removePlugin.bind(this, pluginName));\n return returnWrapper();\n }\n return this._removePlugin(pluginName);\n }\n\n _removePlugin(pluginName: string) {\n return returnWrapper(this.timeline.deregister(pluginName, this.config));\n }\n\n dispatchWithCallback(event: Event, callback: (result: Result) => void): void {\n if (!this.isReady) {\n return callback(buildResult(event, 0, CLIENT_NOT_INITIALIZED));\n }\n void this.process(event).then(callback);\n }\n\n async dispatch(event: Event): Promise<Result> {\n if (!this.isReady) {\n return new Promise<Result>((resolve) => {\n this.dispatchQ.push(this.dispatchWithCallback.bind(this, event, resolve));\n });\n }\n\n return this.process(event);\n }\n\n async process(event: Event): Promise<Result> {\n try {\n // skip event processing if opt out\n if (this.config.optOut) {\n return buildResult(event, 0, OPT_OUT_MESSAGE);\n }\n\n const result = await this.timeline.push(event);\n\n result.code === 200\n ? this.config.loggerProvider.log(result.message)\n : result.code === 100\n ? this.config.loggerProvider.warn(result.message)\n : this.config.loggerProvider.error(result.message);\n\n return result;\n } catch (e) {\n const message = String(e);\n this.config.loggerProvider.error(message);\n const result = buildResult(event, 0, message);\n\n return result;\n }\n }\n\n setOptOut(optOut: boolean) {\n if (!this.isReady) {\n this.q.push(this._setOptOut.bind(this, Boolean(optOut)));\n return;\n }\n this._setOptOut(optOut);\n }\n\n _setOptOut(optOut: boolean) {\n this.config.optOut = Boolean(optOut);\n }\n\n flush() {\n return returnWrapper(this.timeline.flush());\n }\n}\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IEventBridgeReceiver } from './event-bridge';
|
|
2
|
+
import { Event } from '../types/event/event';
|
|
2
3
|
export declare class EventBridgeChannel {
|
|
3
4
|
channel: string;
|
|
4
5
|
queue: Event[];
|
|
5
|
-
receiver:
|
|
6
|
+
receiver: IEventBridgeReceiver | undefined;
|
|
6
7
|
constructor(channel: string);
|
|
7
8
|
sendEvent(event: Event): void;
|
|
8
|
-
setReceiver(receiver:
|
|
9
|
+
setReceiver(receiver: IEventBridgeReceiver): void;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=event-bridge-channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bridge-channel.d.ts","sourceRoot":"","sources":["../../../src/event-bridge/event-bridge-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"event-bridge-channel.d.ts","sourceRoot":"","sources":["../../../src/event-bridge/event-bridge-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI7C,qBAAa,kBAAkB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,EAAE,CAAM;IACpB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,CAAC;gBAE/B,OAAO,EAAE,MAAM;IAI3B,SAAS,CAAC,KAAK,EAAE,KAAK;IAQtB,WAAW,CAAC,QAAQ,EAAE,oBAAoB;CAW3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bridge-channel.js","sourceRoot":"","sources":["../../../src/event-bridge/event-bridge-channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event-bridge-channel.js","sourceRoot":"","sources":["../../../src/event-bridge/event-bridge-channel.ts"],"names":[],"mappings":";;;;AAGA,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;IAKE,4BAAY,OAAe;QAH3B,UAAK,GAAY,EAAE,CAAC;QAIlB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,sCAAS,GAAT,UAAU,KAAY;QACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,KAAK,kEAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,YAAE,KAAK,SAAC,CAAC;YAC7D,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,wCAAW,GAAX,UAAY,QAA8B;QAA1C,iBAUC;QATC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;YAClB,KAAI,CAAC,QAAiC,CAAC,OAAO,CAAC,KAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IACH,yBAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BY,gDAAkB","sourcesContent":["import { IEventBridgeReceiver } from './event-bridge';\nimport { Event } from '../types/event/event';\n\nconst QUEUE_CAPACITY = 512;\n\nexport class EventBridgeChannel {\n channel: string;\n queue: Event[] = [];\n receiver: IEventBridgeReceiver | undefined;\n\n constructor(channel: string) {\n this.channel = channel;\n }\n\n sendEvent(event: Event) {\n if (!this.receiver) {\n this.queue = [...this.queue.slice(0, QUEUE_CAPACITY), event];\n return;\n }\n this.receiver.receive(this.channel, event);\n }\n\n setReceiver(receiver: IEventBridgeReceiver) {\n if (this.receiver) {\n return;\n }\n this.receiver = receiver;\n const events = this.queue;\n this.queue = [];\n events.forEach((event) => {\n (this.receiver as IEventBridgeReceiver).receive(this.channel, event);\n });\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IEventBridge } from './event-bridge';
|
|
2
2
|
export declare class EventBridgeContainer {
|
|
3
3
|
static instances: Record<string, IEventBridge>;
|
|
4
4
|
static getInstance(instanceName: string): IEventBridge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bridge-container.d.ts","sourceRoot":"","sources":["../../../src/event-bridge/event-bridge-container.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"event-bridge-container.d.ts","sourceRoot":"","sources":["../../../src/event-bridge/event-bridge-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAM;IACpD,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY;CAMvD"}
|