@aws-amplify/analytics 7.0.1-console-preview.7919075.0 → 7.0.1-console-preview.5dc0b68.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/errors/AnalyticsError.d.ts +7 -0
- package/lib/errors/AnalyticsError.js +23 -0
- package/lib/errors/assertValidationError.d.ts +5 -0
- package/lib/errors/assertValidationError.js +17 -0
- package/lib/errors/index.d.ts +3 -0
- package/lib/errors/index.js +12 -0
- package/lib/errors/validation.d.ts +9 -0
- package/lib/errors/validation.js +31 -0
- package/lib/index.d.ts +0 -3
- package/lib/index.js +0 -15
- package/lib/providers/pinpoint/apis/identifyUser.d.ts +10 -0
- package/lib/providers/pinpoint/apis/identifyUser.js +44 -0
- package/lib/providers/pinpoint/apis/index.d.ts +2 -0
- package/lib/providers/pinpoint/apis/index.js +9 -0
- package/lib/providers/pinpoint/apis/record.d.ts +11 -0
- package/lib/providers/pinpoint/apis/record.js +44 -0
- package/lib/providers/pinpoint/index.d.ts +1 -1
- package/lib/providers/pinpoint/index.js +1 -7
- package/lib/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib/providers/pinpoint/types/errors.js +15 -0
- package/lib/providers/pinpoint/types/index.d.ts +2 -0
- package/lib/providers/pinpoint/types/index.js +7 -0
- package/lib/providers/pinpoint/types/parameters.d.ts +18 -0
- package/lib/providers/pinpoint/utils/index.d.ts +2 -0
- package/lib/providers/pinpoint/utils/index.js +9 -0
- package/lib/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
- package/lib/providers/pinpoint/utils/resolveConfig.js +18 -0
- package/lib/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
- package/lib/providers/pinpoint/utils/resolveCredentials.js +24 -0
- package/lib/setupTests.js +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/{lib-esm/types/Analytics.d.ts → lib/types/analytics.d.ts} +0 -8
- package/lib/types/index.d.ts +1 -3
- package/lib/types/index.js +1 -3
- package/lib/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
- package/lib/utils/{UserAgent.js → userAgent.js} +5 -5
- package/lib-esm/errors/AnalyticsError.d.ts +7 -0
- package/lib-esm/errors/AnalyticsError.js +20 -0
- package/lib-esm/errors/assertValidationError.d.ts +5 -0
- package/lib-esm/errors/assertValidationError.js +13 -0
- package/lib-esm/errors/index.d.ts +3 -0
- package/lib-esm/errors/index.js +5 -0
- package/lib-esm/errors/validation.d.ts +9 -0
- package/lib-esm/errors/validation.js +28 -0
- package/lib-esm/index.d.ts +0 -3
- package/lib-esm/index.js +0 -12
- package/lib-esm/providers/pinpoint/apis/identifyUser.d.ts +10 -0
- package/lib-esm/providers/pinpoint/apis/identifyUser.js +40 -0
- package/lib-esm/providers/pinpoint/apis/index.d.ts +2 -0
- package/{src/types/providers/index.ts → lib-esm/providers/pinpoint/apis/index.js} +2 -1
- package/lib-esm/providers/pinpoint/apis/record.d.ts +11 -0
- package/lib-esm/providers/pinpoint/apis/record.js +40 -0
- package/lib-esm/providers/pinpoint/index.d.ts +1 -1
- package/lib-esm/providers/pinpoint/index.js +1 -6
- package/lib-esm/providers/pinpoint/types/errors.d.ts +9 -0
- package/lib-esm/providers/pinpoint/types/errors.js +12 -0
- package/lib-esm/providers/pinpoint/types/index.d.ts +2 -0
- package/lib-esm/{types/providers → providers/pinpoint/types}/index.js +1 -1
- package/lib-esm/providers/pinpoint/types/parameters.d.ts +18 -0
- package/lib-esm/providers/pinpoint/utils/index.d.ts +2 -0
- package/lib-esm/{utils/AppUtils.js → providers/pinpoint/utils/index.js} +2 -4
- package/lib-esm/providers/pinpoint/utils/resolveConfig.d.ts +7 -0
- package/lib-esm/providers/pinpoint/utils/resolveConfig.js +14 -0
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.d.ts +12 -0
- package/lib-esm/providers/pinpoint/utils/resolveCredentials.js +20 -0
- package/lib-esm/setupTests.js +1 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/{lib/types/Analytics.d.ts → lib-esm/types/analytics.d.ts} +0 -8
- package/lib-esm/types/index.d.ts +1 -3
- package/lib-esm/types/index.js +1 -3
- package/lib-esm/utils/{UserAgent.d.ts → userAgent.d.ts} +1 -1
- package/lib-esm/utils/{UserAgent.js → userAgent.js} +1 -1
- package/package.json +11 -29
- package/src/errors/AnalyticsError.ts +18 -0
- package/src/errors/assertValidationError.ts +19 -0
- package/src/errors/index.ts +6 -0
- package/src/errors/validation.ts +31 -0
- package/src/index.ts +0 -15
- package/src/providers/pinpoint/apis/identifyUser.ts +35 -0
- package/src/{utils/AppUtils.ts → providers/pinpoint/apis/index.ts} +2 -4
- package/src/providers/pinpoint/apis/record.ts +50 -0
- package/src/providers/pinpoint/index.ts +1 -3
- package/src/providers/pinpoint/types/errors.ts +12 -0
- package/src/providers/pinpoint/types/index.ts +5 -0
- package/src/providers/pinpoint/types/parameters.ts +24 -0
- package/src/providers/pinpoint/utils/index.ts +5 -0
- package/src/providers/pinpoint/utils/resolveConfig.ts +18 -0
- package/src/providers/pinpoint/utils/resolveCredentials.ts +20 -0
- package/src/types/{Analytics.ts → analytics.ts} +1 -10
- package/src/types/index.ts +1 -3
- package/src/utils/{UserAgent.ts → userAgent.ts} +1 -1
- package/lib/Analytics.d.ts +0 -87
- package/lib/Analytics.js +0 -354
- package/lib/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
- package/lib/providers/AWSKinesisFirehoseProvider.js +0 -82
- package/lib/providers/AWSKinesisProvider.d.ts +0 -43
- package/lib/providers/AWSKinesisProvider.js +0 -240
- package/lib/providers/AWSPinpointProvider.d.ts +0 -67
- package/lib/providers/AWSPinpointProvider.js +0 -576
- package/lib/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
- package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
- package/lib/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -156
- package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
- package/lib/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -96
- package/lib/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
- package/lib/providers/AmazonPersonalizeHelper/index.js +0 -7
- package/lib/providers/AmazonPersonalizeProvider.d.ts +0 -76
- package/lib/providers/AmazonPersonalizeProvider.js +0 -331
- package/lib/providers/EventBuffer.d.ts +0 -28
- package/lib/providers/EventBuffer.js +0 -209
- package/lib/providers/index.d.ts +0 -4
- package/lib/providers/index.js +0 -14
- package/lib/trackers/EventTracker.d.ts +0 -9
- package/lib/trackers/EventTracker.js +0 -99
- package/lib/trackers/PageViewTracker.d.ts +0 -12
- package/lib/trackers/PageViewTracker.js +0 -158
- package/lib/trackers/SessionTracker-rn.d.ts +0 -12
- package/lib/trackers/SessionTracker-rn.js +0 -134
- package/lib/trackers/SessionTracker.d.ts +0 -14
- package/lib/trackers/SessionTracker.js +0 -163
- package/lib/trackers/index.d.ts +0 -3
- package/lib/trackers/index.js +0 -11
- package/lib/trackers/reactnative.d.ts +0 -8
- package/lib/trackers/reactnative.js +0 -19
- package/lib/types/Analytics.js +0 -2
- package/lib/types/Provider.d.ts +0 -10
- package/lib/types/providers/AWSKinesisProvider.d.ts +0 -6
- package/lib/types/providers/AWSKinesisProvider.js +0 -2
- package/lib/types/providers/AWSPinpointProvider.d.ts +0 -50
- package/lib/types/providers/AWSPinpointProvider.js +0 -2
- package/lib/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
- package/lib/types/providers/AmazonPersonalizeProvider.js +0 -2
- package/lib/types/providers/index.d.ts +0 -1
- package/lib/types/providers/index.js +0 -6
- package/lib/utils/AppUtils.d.ts +0 -2
- package/lib/utils/AppUtils.js +0 -9
- package/lib/utils/AppUtils.native.d.ts +0 -2
- package/lib/utils/AppUtils.native.js +0 -10
- package/lib/utils/MethodEmbed.d.ts +0 -11
- package/lib/utils/MethodEmbed.js +0 -43
- package/lib/vendor/dom-utils/closest.d.ts +0 -12
- package/lib/vendor/dom-utils/closest.js +0 -27
- package/lib/vendor/dom-utils/delegate.d.ts +0 -18
- package/lib/vendor/dom-utils/delegate.js +0 -51
- package/lib/vendor/dom-utils/dispatch.d.ts +0 -17
- package/lib/vendor/dom-utils/dispatch.js +0 -51
- package/lib/vendor/dom-utils/get-attributes.d.ts +0 -11
- package/lib/vendor/dom-utils/get-attributes.js +0 -28
- package/lib/vendor/dom-utils/index.d.ts +0 -7
- package/lib/vendor/dom-utils/index.js +0 -17
- package/lib/vendor/dom-utils/matches.d.ts +0 -11
- package/lib/vendor/dom-utils/matches.js +0 -69
- package/lib/vendor/dom-utils/parents.d.ts +0 -10
- package/lib/vendor/dom-utils/parents.js +0 -22
- package/lib/vendor/dom-utils/parse-url.d.ts +0 -9
- package/lib/vendor/dom-utils/parse-url.js +0 -59
- package/lib-esm/Analytics.d.ts +0 -87
- package/lib-esm/Analytics.js +0 -351
- package/lib-esm/providers/AWSKinesisFirehoseProvider.d.ts +0 -12
- package/lib-esm/providers/AWSKinesisFirehoseProvider.js +0 -79
- package/lib-esm/providers/AWSKinesisProvider.d.ts +0 -43
- package/lib-esm/providers/AWSKinesisProvider.js +0 -237
- package/lib-esm/providers/AWSPinpointProvider.d.ts +0 -67
- package/lib-esm/providers/AWSPinpointProvider.js +0 -573
- package/lib-esm/providers/AmazonPersonalizeHelper/DataType.d.ts +0 -40
- package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.d.ts +0 -20
- package/lib-esm/providers/AmazonPersonalizeHelper/MediaAutoTrack.js +0 -153
- package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.d.ts +0 -17
- package/lib-esm/providers/AmazonPersonalizeHelper/SessionInfoManager.js +0 -92
- package/lib-esm/providers/AmazonPersonalizeHelper/index.d.ts +0 -3
- package/lib-esm/providers/AmazonPersonalizeHelper/index.js +0 -2
- package/lib-esm/providers/AmazonPersonalizeProvider.d.ts +0 -76
- package/lib-esm/providers/AmazonPersonalizeProvider.js +0 -328
- package/lib-esm/providers/EventBuffer.d.ts +0 -28
- package/lib-esm/providers/EventBuffer.js +0 -207
- package/lib-esm/providers/index.d.ts +0 -4
- package/lib-esm/providers/index.js +0 -7
- package/lib-esm/trackers/EventTracker.d.ts +0 -9
- package/lib-esm/trackers/EventTracker.js +0 -96
- package/lib-esm/trackers/PageViewTracker.d.ts +0 -12
- package/lib-esm/trackers/PageViewTracker.js +0 -155
- package/lib-esm/trackers/SessionTracker-rn.d.ts +0 -12
- package/lib-esm/trackers/SessionTracker-rn.js +0 -131
- package/lib-esm/trackers/SessionTracker.d.ts +0 -14
- package/lib-esm/trackers/SessionTracker.js +0 -160
- package/lib-esm/trackers/index.d.ts +0 -3
- package/lib-esm/trackers/index.js +0 -5
- package/lib-esm/trackers/reactnative.d.ts +0 -8
- package/lib-esm/trackers/reactnative.js +0 -14
- package/lib-esm/types/Analytics.js +0 -1
- package/lib-esm/types/Provider.d.ts +0 -10
- package/lib-esm/types/providers/AWSKinesisProvider.d.ts +0 -6
- package/lib-esm/types/providers/AWSKinesisProvider.js +0 -1
- package/lib-esm/types/providers/AWSPinpointProvider.d.ts +0 -50
- package/lib-esm/types/providers/AWSPinpointProvider.js +0 -1
- package/lib-esm/types/providers/AmazonPersonalizeProvider.d.ts +0 -7
- package/lib-esm/types/providers/AmazonPersonalizeProvider.js +0 -1
- package/lib-esm/types/providers/index.d.ts +0 -1
- package/lib-esm/utils/AppUtils.d.ts +0 -2
- package/lib-esm/utils/AppUtils.native.d.ts +0 -2
- package/lib-esm/utils/AppUtils.native.js +0 -7
- package/lib-esm/utils/MethodEmbed.d.ts +0 -11
- package/lib-esm/utils/MethodEmbed.js +0 -40
- package/lib-esm/vendor/dom-utils/closest.d.ts +0 -12
- package/lib-esm/vendor/dom-utils/closest.js +0 -23
- package/lib-esm/vendor/dom-utils/delegate.d.ts +0 -18
- package/lib-esm/vendor/dom-utils/delegate.js +0 -47
- package/lib-esm/vendor/dom-utils/dispatch.d.ts +0 -17
- package/lib-esm/vendor/dom-utils/dispatch.js +0 -47
- package/lib-esm/vendor/dom-utils/get-attributes.d.ts +0 -11
- package/lib-esm/vendor/dom-utils/get-attributes.js +0 -24
- package/lib-esm/vendor/dom-utils/index.d.ts +0 -7
- package/lib-esm/vendor/dom-utils/index.js +0 -7
- package/lib-esm/vendor/dom-utils/matches.d.ts +0 -11
- package/lib-esm/vendor/dom-utils/matches.js +0 -65
- package/lib-esm/vendor/dom-utils/parents.d.ts +0 -10
- package/lib-esm/vendor/dom-utils/parents.js +0 -18
- package/lib-esm/vendor/dom-utils/parse-url.d.ts +0 -9
- package/lib-esm/vendor/dom-utils/parse-url.js +0 -55
- package/src/Analytics.ts +0 -446
- package/src/providers/AWSKinesisFirehoseProvider.ts +0 -105
- package/src/providers/AWSKinesisProvider.ts +0 -250
- package/src/providers/AWSPinpointProvider.ts +0 -685
- package/src/providers/AmazonPersonalizeHelper/DataType.ts +0 -49
- package/src/providers/AmazonPersonalizeHelper/MediaAutoTrack.ts +0 -196
- package/src/providers/AmazonPersonalizeHelper/SessionInfoManager.ts +0 -121
- package/src/providers/AmazonPersonalizeHelper/index.ts +0 -11
- package/src/providers/AmazonPersonalizeProvider.ts +0 -398
- package/src/providers/EventBuffer.ts +0 -257
- package/src/providers/index.ts +0 -8
- package/src/trackers/EventTracker.ts +0 -115
- package/src/trackers/PageViewTracker.ts +0 -157
- package/src/trackers/SessionTracker-rn.ts +0 -134
- package/src/trackers/SessionTracker.ts +0 -179
- package/src/trackers/index.ts +0 -5
- package/src/trackers/reactnative.ts +0 -13
- package/src/types/Provider.ts +0 -26
- package/src/types/providers/AWSKinesisProvider.ts +0 -8
- package/src/types/providers/AWSPinpointProvider.ts +0 -60
- package/src/types/providers/AmazonPersonalizeProvider.ts +0 -9
- package/src/utils/AppUtils.native.ts +0 -9
- package/src/utils/MethodEmbed.ts +0 -49
- package/src/vendor/dom-utils/closest.ts +0 -25
- package/src/vendor/dom-utils/delegate.ts +0 -51
- package/src/vendor/dom-utils/dispatch.ts +0 -59
- package/src/vendor/dom-utils/get-attributes.ts +0 -26
- package/src/vendor/dom-utils/index.ts +0 -7
- package/src/vendor/dom-utils/matches.ts +0 -68
- package/src/vendor/dom-utils/parents.ts +0 -19
- package/src/vendor/dom-utils/parse-url.ts +0 -66
- /package/lib/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
- /package/lib/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
- /package/lib-esm/{types/Provider.js → providers/pinpoint/types/parameters.js} +0 -0
- /package/lib-esm/{providers/AmazonPersonalizeHelper/DataType.js → types/analytics.js} +0 -0
|
@@ -56,11 +56,3 @@ export interface AutoTrackEventOpts {
|
|
|
56
56
|
provider?: string;
|
|
57
57
|
attributes?: AutoTrackAttributes;
|
|
58
58
|
}
|
|
59
|
-
export interface AnalyticsEvent {
|
|
60
|
-
name: string;
|
|
61
|
-
attributes?: EventAttributes;
|
|
62
|
-
metrics?: EventMetrics;
|
|
63
|
-
immediate?: boolean;
|
|
64
|
-
}
|
|
65
|
-
export { PersonalizeAnalyticsEvent } from './providers/AmazonPersonalizeProvider';
|
|
66
|
-
export { KinesisAnalyticsEvent } from './providers/AWSKinesisProvider';
|
package/lib-esm/types/index.d.ts
CHANGED
package/lib-esm/types/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnalyticsAction } from '@aws-amplify/core';
|
|
1
|
+
import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
|
|
2
2
|
import { UserAgent } from '@aws-sdk/types';
|
|
3
3
|
export declare function getAnalyticsUserAgent(action: AnalyticsAction): UserAgent;
|
|
4
4
|
export declare function getAnalyticsUserAgentString(action: AnalyticsAction): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { Category, getAmplifyUserAgentObject, getAmplifyUserAgent, } from '@aws-amplify/core';
|
|
3
|
+
import { Category, getAmplifyUserAgentObject, getAmplifyUserAgent, } from '@aws-amplify/core/internals/utils';
|
|
4
4
|
export function getAnalyticsUserAgent(action) {
|
|
5
5
|
return getAmplifyUserAgentObject({
|
|
6
6
|
category: Category.Analytics,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/analytics",
|
|
3
|
-
"version": "7.0.1-console-preview.
|
|
3
|
+
"version": "7.0.1-console-preview.5dc0b68.0+5dc0b68",
|
|
4
4
|
"description": "Analytics category of aws-amplify",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"test": "npm run lint && jest -w 1 --coverage",
|
|
17
17
|
"test:watch": "tslint 'src/**/*.ts' && jest -w 1 --watch",
|
|
18
|
-
"test:size": "size-limit",
|
|
19
18
|
"build-with-test": "npm run clean && npm test && tsc && webpack",
|
|
20
19
|
"build:cjs": "rimraf lib && tsc -m commonjs --outDir lib && webpack && webpack --config ./webpack.config.dev.js",
|
|
21
20
|
"build:esm": "rimraf lib-esm && tsc -m esnext --outDir lib-esm",
|
|
@@ -26,12 +25,9 @@
|
|
|
26
25
|
"clean:size": "rimraf dual-publish-tmp tmp*",
|
|
27
26
|
"format": "echo \"Not implemented\"",
|
|
28
27
|
"lint": "tslint 'src/**/*.ts' && npm run ts-coverage",
|
|
29
|
-
"ts-coverage": "typescript-coverage-report -p ./tsconfig.json -t
|
|
30
|
-
},
|
|
31
|
-
"react-native": {
|
|
32
|
-
"./lib/index": "./lib-esm/index.js",
|
|
33
|
-
"./lib-esm/trackers": "./lib-esm/trackers/reactnative.js"
|
|
28
|
+
"ts-coverage": "typescript-coverage-report -p ./tsconfig.json -t 71.4"
|
|
34
29
|
},
|
|
30
|
+
"react-native": "./lib-esm/index.js",
|
|
35
31
|
"typesVersions": {
|
|
36
32
|
">=3.8": {
|
|
37
33
|
"*": [
|
|
@@ -69,39 +65,22 @@
|
|
|
69
65
|
"lib",
|
|
70
66
|
"lib-esm",
|
|
71
67
|
"src",
|
|
72
|
-
"
|
|
68
|
+
"pinpoint"
|
|
73
69
|
],
|
|
74
70
|
"dependencies": {
|
|
75
|
-
"@aws-sdk/client-firehose": "3.388.0",
|
|
76
|
-
"@aws-sdk/client-kinesis": "3.388.0",
|
|
77
|
-
"@aws-sdk/client-personalize-events": "3.388.0",
|
|
78
|
-
"@aws-sdk/util-utf8-browser": "3.259.0",
|
|
79
71
|
"lodash": "^4.17.20",
|
|
80
72
|
"tslib": "^2.5.0",
|
|
81
73
|
"uuid": "^9.0.0"
|
|
82
74
|
},
|
|
83
75
|
"peerDependencies": {
|
|
84
|
-
"@aws-amplify/core": "6.0.1-console-preview.
|
|
76
|
+
"@aws-amplify/core": "6.0.1-console-preview.5dc0b68.0+5dc0b68"
|
|
85
77
|
},
|
|
86
78
|
"devDependencies": {
|
|
87
|
-
"@aws-amplify/core": "6.0.1-console-preview.
|
|
79
|
+
"@aws-amplify/core": "6.0.1-console-preview.5dc0b68.0+5dc0b68",
|
|
88
80
|
"@aws-sdk/types": "3.387.0",
|
|
81
|
+
"@types/uuid": "^9.0.0",
|
|
89
82
|
"typescript": "5.0.2"
|
|
90
83
|
},
|
|
91
|
-
"size-limit": [
|
|
92
|
-
{
|
|
93
|
-
"name": "Analytics (Pinpoint)",
|
|
94
|
-
"path": "./lib-esm/index.js",
|
|
95
|
-
"import": "{ Amplify, Analytics, AWSPinpointProvider }",
|
|
96
|
-
"limit": "31.57 kB"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"name": "Analytics (Kinesis)",
|
|
100
|
-
"path": "./lib-esm/index.js",
|
|
101
|
-
"import": "{ Amplify, Analytics, AWSKinesisProvider }",
|
|
102
|
-
"limit": "60.82 kB"
|
|
103
|
-
}
|
|
104
|
-
],
|
|
105
84
|
"jest": {
|
|
106
85
|
"globals": {
|
|
107
86
|
"ts-jest": {
|
|
@@ -115,6 +94,9 @@
|
|
|
115
94
|
"transform": {
|
|
116
95
|
"^.+\\.(js|jsx|ts|tsx)$": "ts-jest"
|
|
117
96
|
},
|
|
97
|
+
"testPathIgnorePatterns": [
|
|
98
|
+
"/testUtils/"
|
|
99
|
+
],
|
|
118
100
|
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(tsx?|jsx?)$",
|
|
119
101
|
"moduleFileExtensions": [
|
|
120
102
|
"ts",
|
|
@@ -143,5 +125,5 @@
|
|
|
143
125
|
"<rootDir>/src/setupTests.ts"
|
|
144
126
|
]
|
|
145
127
|
},
|
|
146
|
-
"gitHead": "
|
|
128
|
+
"gitHead": "5dc0b68f9d56006a92abc29aa4e7d8142e083387"
|
|
147
129
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { AmplifyError, ErrorParams } from '@aws-amplify/core/internals/utils';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export class AnalyticsError extends AmplifyError {
|
|
10
|
+
constructor(params: ErrorParams) {
|
|
11
|
+
super(params);
|
|
12
|
+
|
|
13
|
+
// Hack for making the custom error class work when transpiled to es5
|
|
14
|
+
// TODO: Delete the following 2 lines after we change the build target to >= es2015
|
|
15
|
+
this.constructor = AnalyticsError;
|
|
16
|
+
Object.setPrototypeOf(this, AnalyticsError.prototype);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { AnalyticsError } from './AnalyticsError';
|
|
5
|
+
import { AnalyticsValidationErrorCode, validationErrorMap } from './validation';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export function assertValidationError(
|
|
11
|
+
assertion: boolean,
|
|
12
|
+
name: AnalyticsValidationErrorCode
|
|
13
|
+
): asserts assertion {
|
|
14
|
+
const { message, recoverySuggestion } = validationErrorMap[name];
|
|
15
|
+
|
|
16
|
+
if (!assertion) {
|
|
17
|
+
throw new AnalyticsError({ name, message, recoverySuggestion });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export { AnalyticsError } from './AnalyticsError';
|
|
5
|
+
export { assertValidationError } from './assertValidationError';
|
|
6
|
+
export { AnalyticsValidationErrorCode, validationErrorMap } from './validation';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { AmplifyErrorMap } from '@aws-amplify/core/internals/utils';
|
|
5
|
+
|
|
6
|
+
export enum AnalyticsValidationErrorCode {
|
|
7
|
+
NoAppId = 'NoAppId',
|
|
8
|
+
NoCredentials = 'NoCredentials',
|
|
9
|
+
NoEvent = 'NoEvent',
|
|
10
|
+
NoEventName = 'NoEventName',
|
|
11
|
+
NoRegion = 'NoRegion',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const validationErrorMap: AmplifyErrorMap<AnalyticsValidationErrorCode> =
|
|
15
|
+
{
|
|
16
|
+
[AnalyticsValidationErrorCode.NoAppId]: {
|
|
17
|
+
message: 'Missing application id.',
|
|
18
|
+
},
|
|
19
|
+
[AnalyticsValidationErrorCode.NoCredentials]: {
|
|
20
|
+
message: 'Credentials should not be empty.',
|
|
21
|
+
},
|
|
22
|
+
[AnalyticsValidationErrorCode.NoEvent]: {
|
|
23
|
+
message: 'An event is required to record.',
|
|
24
|
+
},
|
|
25
|
+
[AnalyticsValidationErrorCode.NoEventName]: {
|
|
26
|
+
message: 'Events must specify a name.',
|
|
27
|
+
},
|
|
28
|
+
[AnalyticsValidationErrorCode.NoRegion]: {
|
|
29
|
+
message: 'Missing region.',
|
|
30
|
+
},
|
|
31
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
// TODO(v6) Remove once all default provider functional APIs available
|
|
5
|
-
export { Analytics } from './Analytics';
|
|
6
|
-
export { AnalyticsProvider } from './types';
|
|
7
|
-
export { AWSPinpointProvider } from './providers';
|
|
8
|
-
|
|
9
|
-
// TODO(v6) Refactor as additional Analytics providers come online
|
|
10
|
-
/*
|
|
11
|
-
export {
|
|
12
|
-
AWSKinesisProvider,
|
|
13
|
-
AWSKinesisFirehoseProvider,
|
|
14
|
-
AmazonPersonalizeProvider,
|
|
15
|
-
} from './providers';
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
// Default provider types
|
|
19
4
|
export * from './providers/pinpoint';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { AnalyticsAction } from '@aws-amplify/core/internals/utils';
|
|
5
|
+
import { updateEndpoint } from '@aws-amplify/core/internals/providers/pinpoint';
|
|
6
|
+
import { AnalyticsValidationErrorCode } from '../../../errors';
|
|
7
|
+
import { getAnalyticsUserAgentString } from '../../../utils/userAgent';
|
|
8
|
+
import { IdentifyUserParameters, UpdateEndpointException } from '../types';
|
|
9
|
+
import { resolveConfig, resolveCredentials } from '../utils';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Identifies the current user with Pinpoint.
|
|
13
|
+
*
|
|
14
|
+
* @param {IdentifyUserParameters} params parameters used to construct requests sent to Pinpoint's UpdateEndpoint API.
|
|
15
|
+
*
|
|
16
|
+
* @throws An {@link UpdateEndpointException} when the underlying Pinpoint service returns an error.
|
|
17
|
+
* @throws An {@link AnalyticsValidationErrorCode} when API call parameters are invalid.
|
|
18
|
+
*/
|
|
19
|
+
export const identifyUser = async ({
|
|
20
|
+
userId,
|
|
21
|
+
userProfile,
|
|
22
|
+
}: IdentifyUserParameters): Promise<void> => {
|
|
23
|
+
const { credentials, identityId } = await resolveCredentials();
|
|
24
|
+
const { appId, region } = resolveConfig();
|
|
25
|
+
updateEndpoint({
|
|
26
|
+
appId,
|
|
27
|
+
category: 'Analytics',
|
|
28
|
+
credentials,
|
|
29
|
+
identityId,
|
|
30
|
+
region,
|
|
31
|
+
userId,
|
|
32
|
+
userProfile,
|
|
33
|
+
userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.UpdateEndpoint),
|
|
34
|
+
});
|
|
35
|
+
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
const isAppInForeground = () => {
|
|
4
|
-
return true;
|
|
5
|
-
};
|
|
6
3
|
|
|
7
|
-
export {
|
|
4
|
+
export { record } from './record';
|
|
5
|
+
export { identifyUser } from './identifyUser';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
AnalyticsAction,
|
|
6
|
+
ConsoleLogger as Logger,
|
|
7
|
+
} from '@aws-amplify/core/internals/utils';
|
|
8
|
+
import { record as recordCore } from '@aws-amplify/core/internals/providers/pinpoint';
|
|
9
|
+
import {
|
|
10
|
+
AnalyticsValidationErrorCode,
|
|
11
|
+
assertValidationError,
|
|
12
|
+
} from '../../../errors';
|
|
13
|
+
import { getAnalyticsUserAgentString } from '../../../utils/userAgent';
|
|
14
|
+
import { RecordParameters } from '../types/parameters';
|
|
15
|
+
import { resolveConfig, resolveCredentials } from '../utils';
|
|
16
|
+
|
|
17
|
+
const logger = new Logger('Analytics');
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Sends an event to Pinpoint.
|
|
21
|
+
*
|
|
22
|
+
* @param {RecordParameters} params Parameters used to construct the request.
|
|
23
|
+
*
|
|
24
|
+
* @throws An {@link AnalyticsValidationErrorCode} when there is an error in the parameters or configuration.
|
|
25
|
+
*
|
|
26
|
+
* @returns A promise that will resolve when the request is complete.
|
|
27
|
+
*/
|
|
28
|
+
export const record = ({ event }: RecordParameters): void => {
|
|
29
|
+
const { appId, region } = resolveConfig();
|
|
30
|
+
|
|
31
|
+
assertValidationError(!!event, AnalyticsValidationErrorCode.NoEvent);
|
|
32
|
+
assertValidationError(!!event.name, AnalyticsValidationErrorCode.NoEventName);
|
|
33
|
+
|
|
34
|
+
resolveCredentials()
|
|
35
|
+
.then(({ credentials, identityId }) => {
|
|
36
|
+
recordCore({
|
|
37
|
+
appId,
|
|
38
|
+
category: 'Analytics',
|
|
39
|
+
credentials,
|
|
40
|
+
event,
|
|
41
|
+
identityId,
|
|
42
|
+
region,
|
|
43
|
+
userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.catch(e => {
|
|
47
|
+
// An error occured while fetching credentials or persisting the event to the buffer
|
|
48
|
+
logger.warn('Failed to record event.', e);
|
|
49
|
+
});
|
|
50
|
+
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
// Mock function to make exports work
|
|
6
|
-
export const record = async () => {};
|
|
4
|
+
export * from './apis';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export enum UpdateEndpointException {
|
|
5
|
+
BadRequestException = 'BadRequestException',
|
|
6
|
+
ForbiddenException = 'ForbiddenException',
|
|
7
|
+
InternalServerErrorException = 'InternalServerErrorException',
|
|
8
|
+
MethodNotAllowedException = 'MethodNotAllowedException',
|
|
9
|
+
NotFoundException = 'NotFoundException',
|
|
10
|
+
PayloadTooLargeException = 'PayloadTooLargeException',
|
|
11
|
+
TooManyRequestsException = 'TooManyRequestsException',
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { UserProfile } from '@aws-amplify/core';
|
|
5
|
+
import { PinpointAnalyticsEvent } from '@aws-amplify/core/internals/providers/pinpoint';
|
|
6
|
+
|
|
7
|
+
export type RecordParameters = {
|
|
8
|
+
/**
|
|
9
|
+
* An event to send to the default Analytics provider.
|
|
10
|
+
*/
|
|
11
|
+
event: PinpointAnalyticsEvent;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type IdentifyUserParameters = {
|
|
15
|
+
/**
|
|
16
|
+
* A User ID associated to the current device.
|
|
17
|
+
*/
|
|
18
|
+
userId: string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Additional information about the user and their device.
|
|
22
|
+
*/
|
|
23
|
+
userProfile: UserProfile;
|
|
24
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { Amplify } from '@aws-amplify/core';
|
|
5
|
+
import {
|
|
6
|
+
AnalyticsValidationErrorCode,
|
|
7
|
+
assertValidationError,
|
|
8
|
+
} from '../../../errors';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export const resolveConfig = () => {
|
|
14
|
+
const { appId, region } = Amplify.getConfig().Analytics?.AWSPinpoint ?? {};
|
|
15
|
+
assertValidationError(!!appId, AnalyticsValidationErrorCode.NoAppId);
|
|
16
|
+
assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);
|
|
17
|
+
return { appId, region };
|
|
18
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { fetchAuthSession } from '@aws-amplify/core';
|
|
5
|
+
import {
|
|
6
|
+
AnalyticsValidationErrorCode,
|
|
7
|
+
assertValidationError,
|
|
8
|
+
} from '../../../errors';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export const resolveCredentials = async () => {
|
|
14
|
+
const { credentials, identityId } = await fetchAuthSession();
|
|
15
|
+
assertValidationError(
|
|
16
|
+
!!credentials,
|
|
17
|
+
AnalyticsValidationErrorCode.NoCredentials
|
|
18
|
+
);
|
|
19
|
+
return { credentials, identityId };
|
|
20
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { ICredentials } from '@aws-amplify/core';
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
6
|
* Analytics instance options
|
|
6
7
|
*/
|
|
@@ -75,13 +76,3 @@ export interface AutoTrackEventOpts {
|
|
|
75
76
|
provider?: string;
|
|
76
77
|
attributes?: AutoTrackAttributes;
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
-
export interface AnalyticsEvent {
|
|
80
|
-
name: string;
|
|
81
|
-
attributes?: EventAttributes;
|
|
82
|
-
metrics?: EventMetrics;
|
|
83
|
-
immediate?: boolean;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export { PersonalizeAnalyticsEvent } from './providers/AmazonPersonalizeProvider';
|
|
87
|
-
export { KinesisAnalyticsEvent } from './providers/AWSKinesisProvider';
|
package/src/types/index.ts
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
Category,
|
|
6
6
|
getAmplifyUserAgentObject,
|
|
7
7
|
getAmplifyUserAgent,
|
|
8
|
-
} from '@aws-amplify/core';
|
|
8
|
+
} from '@aws-amplify/core/internals/utils';
|
|
9
9
|
import { UserAgent } from '@aws-sdk/types';
|
|
10
10
|
|
|
11
11
|
export function getAnalyticsUserAgent(action: AnalyticsAction): UserAgent {
|
package/lib/Analytics.d.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { AnalyticsProvider, AnalyticsEvent, AutoTrackSessionOpts, AutoTrackPageViewOpts, AutoTrackEventOpts, PersonalizeAnalyticsEvent, KinesisAnalyticsEvent } from './types';
|
|
2
|
-
import { PageViewTracker, EventTracker, SessionTracker } from './trackers';
|
|
3
|
-
declare const trackers: {
|
|
4
|
-
pageView: typeof PageViewTracker;
|
|
5
|
-
event: typeof EventTracker;
|
|
6
|
-
session: typeof SessionTracker;
|
|
7
|
-
};
|
|
8
|
-
type TrackerTypes = keyof typeof trackers;
|
|
9
|
-
/**
|
|
10
|
-
* Provide mobile analytics client functions
|
|
11
|
-
*/
|
|
12
|
-
export declare class AnalyticsClass {
|
|
13
|
-
private _config;
|
|
14
|
-
private _pluggables;
|
|
15
|
-
private _disabled;
|
|
16
|
-
private _trackers;
|
|
17
|
-
/**
|
|
18
|
-
* Initialize Analtyics
|
|
19
|
-
* @param config - Configuration of the Analytics
|
|
20
|
-
*/
|
|
21
|
-
constructor();
|
|
22
|
-
getModuleName(): string;
|
|
23
|
-
/**
|
|
24
|
-
* configure Analytics
|
|
25
|
-
* @param {Object} config - Configuration of the Analytics
|
|
26
|
-
*/
|
|
27
|
-
configure(config?: any): any;
|
|
28
|
-
/**
|
|
29
|
-
* add plugin into Analytics category
|
|
30
|
-
* @param pluggable - an instance of the plugin
|
|
31
|
-
*/
|
|
32
|
-
addPluggable(pluggable: AnalyticsProvider): any;
|
|
33
|
-
/**
|
|
34
|
-
* Get the plugin object
|
|
35
|
-
* @param providerName - the name of the provider to be removed
|
|
36
|
-
*/
|
|
37
|
-
getPluggable(providerName: string): AnalyticsProvider;
|
|
38
|
-
/**
|
|
39
|
-
* Remove the plugin object
|
|
40
|
-
* @param providerName - the name of the provider to be removed
|
|
41
|
-
*/
|
|
42
|
-
removePluggable(providerName: string): void;
|
|
43
|
-
/**
|
|
44
|
-
* stop sending events
|
|
45
|
-
*/
|
|
46
|
-
disable(): void;
|
|
47
|
-
/**
|
|
48
|
-
* start sending events
|
|
49
|
-
*/
|
|
50
|
-
enable(): void;
|
|
51
|
-
/**
|
|
52
|
-
* Record Session start
|
|
53
|
-
* @param [provider] - name of the provider.
|
|
54
|
-
* @return - A promise which resolves if buffer doesn't overflow
|
|
55
|
-
*/
|
|
56
|
-
startSession(provider?: string): Promise<unknown>;
|
|
57
|
-
/**
|
|
58
|
-
* Record Session stop
|
|
59
|
-
* @param [provider] - name of the provider.
|
|
60
|
-
* @return - A promise which resolves if buffer doesn't overflow
|
|
61
|
-
*/
|
|
62
|
-
stopSession(provider?: string): Promise<unknown>;
|
|
63
|
-
/**
|
|
64
|
-
* Record one analytic event and send it to Pinpoint
|
|
65
|
-
* @param event - An object with the name of the event, attributes of the event and event metrics.
|
|
66
|
-
* @param [provider] - name of the provider.
|
|
67
|
-
*/
|
|
68
|
-
record(event: AnalyticsEvent | PersonalizeAnalyticsEvent | KinesisAnalyticsEvent, provider?: string): Promise<unknown>;
|
|
69
|
-
updateEndpoint(attrs: {
|
|
70
|
-
[key: string]: any;
|
|
71
|
-
}, provider?: string): Promise<unknown>;
|
|
72
|
-
private _sendEvent;
|
|
73
|
-
/**
|
|
74
|
-
* Enable or disable auto tracking
|
|
75
|
-
* @param trackerType - The type of tracker to activate.
|
|
76
|
-
* @param [opts] - Auto tracking options.
|
|
77
|
-
*/
|
|
78
|
-
autoTrack(trackerType: 'session', opts: AutoTrackSessionOpts): any;
|
|
79
|
-
autoTrack(trackerType: 'pageView', opts: AutoTrackPageViewOpts): any;
|
|
80
|
-
autoTrack(trackerType: 'event', opts: AutoTrackEventOpts): any;
|
|
81
|
-
autoTrack(trackerType: TrackerTypes, opts: {
|
|
82
|
-
provider: string;
|
|
83
|
-
[key: string]: any;
|
|
84
|
-
}): any;
|
|
85
|
-
}
|
|
86
|
-
export declare const Analytics: AnalyticsClass;
|
|
87
|
-
export {};
|