@segment/analytics-browser-actions-bucket 1.1.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.
Files changed (77) hide show
  1. package/dist/cjs/generated-types.d.ts +3 -0
  2. package/dist/cjs/generated-types.js +3 -0
  3. package/dist/cjs/generated-types.js.map +1 -0
  4. package/dist/cjs/group/generated-types.d.ts +7 -0
  5. package/dist/cjs/group/generated-types.js +3 -0
  6. package/dist/cjs/group/generated-types.js.map +1 -0
  7. package/dist/cjs/group/index.d.ts +6 -0
  8. package/dist/cjs/group/index.js +45 -0
  9. package/dist/cjs/group/index.js.map +1 -0
  10. package/dist/cjs/identifyUser/generated-types.d.ts +6 -0
  11. package/dist/cjs/identifyUser/generated-types.js +3 -0
  12. package/dist/cjs/identifyUser/generated-types.js.map +1 -0
  13. package/dist/cjs/identifyUser/index.d.ts +6 -0
  14. package/dist/cjs/identifyUser/index.js +33 -0
  15. package/dist/cjs/identifyUser/index.js.map +1 -0
  16. package/dist/cjs/index.d.ts +11 -0
  17. package/dist/cjs/index.js +66 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/test-utils.d.ts +6 -0
  20. package/dist/cjs/test-utils.js +58 -0
  21. package/dist/cjs/test-utils.js.map +1 -0
  22. package/dist/cjs/trackEvent/generated-types.d.ts +7 -0
  23. package/dist/cjs/trackEvent/generated-types.js +3 -0
  24. package/dist/cjs/trackEvent/generated-types.js.map +1 -0
  25. package/dist/cjs/trackEvent/index.d.ts +6 -0
  26. package/dist/cjs/trackEvent/index.js +45 -0
  27. package/dist/cjs/trackEvent/index.js.map +1 -0
  28. package/dist/cjs/types.d.ts +2 -0
  29. package/dist/cjs/types.js +3 -0
  30. package/dist/cjs/types.js.map +1 -0
  31. package/dist/esm/generated-types.d.ts +3 -0
  32. package/dist/esm/generated-types.js +2 -0
  33. package/dist/esm/generated-types.js.map +1 -0
  34. package/dist/esm/group/generated-types.d.ts +7 -0
  35. package/dist/esm/group/generated-types.js +2 -0
  36. package/dist/esm/group/generated-types.js.map +1 -0
  37. package/dist/esm/group/index.d.ts +6 -0
  38. package/dist/esm/group/index.js +43 -0
  39. package/dist/esm/group/index.js.map +1 -0
  40. package/dist/esm/identifyUser/generated-types.d.ts +6 -0
  41. package/dist/esm/identifyUser/generated-types.js +2 -0
  42. package/dist/esm/identifyUser/generated-types.js.map +1 -0
  43. package/dist/esm/identifyUser/index.d.ts +6 -0
  44. package/dist/esm/identifyUser/index.js +31 -0
  45. package/dist/esm/identifyUser/index.js.map +1 -0
  46. package/dist/esm/index.d.ts +11 -0
  47. package/dist/esm/index.js +62 -0
  48. package/dist/esm/index.js.map +1 -0
  49. package/dist/esm/test-utils.d.ts +6 -0
  50. package/dist/esm/test-utils.js +52 -0
  51. package/dist/esm/test-utils.js.map +1 -0
  52. package/dist/esm/trackEvent/generated-types.d.ts +7 -0
  53. package/dist/esm/trackEvent/generated-types.js +2 -0
  54. package/dist/esm/trackEvent/generated-types.js.map +1 -0
  55. package/dist/esm/trackEvent/index.d.ts +6 -0
  56. package/dist/esm/trackEvent/index.js +43 -0
  57. package/dist/esm/trackEvent/index.js.map +1 -0
  58. package/dist/esm/types.d.ts +2 -0
  59. package/dist/esm/types.js +2 -0
  60. package/dist/esm/types.js.map +1 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -0
  62. package/package.json +26 -0
  63. package/src/__tests__/index.test.ts +116 -0
  64. package/src/generated-types.ts +8 -0
  65. package/src/group/__tests__/index.test.ts +186 -0
  66. package/src/group/generated-types.ts +18 -0
  67. package/src/group/index.ts +49 -0
  68. package/src/identifyUser/__tests__/index.test.ts +78 -0
  69. package/src/identifyUser/generated-types.ts +14 -0
  70. package/src/identifyUser/index.ts +36 -0
  71. package/src/index.ts +85 -0
  72. package/src/test-utils.ts +60 -0
  73. package/src/trackEvent/__tests__/index.test.ts +159 -0
  74. package/src/trackEvent/generated-types.ts +18 -0
  75. package/src/trackEvent/index.ts +49 -0
  76. package/src/types.ts +3 -0
  77. package/tsconfig.json +9 -0
@@ -0,0 +1,18 @@
1
+ // Generated file. DO NOT MODIFY IT BY HAND.
2
+
3
+ export interface Payload {
4
+ /**
5
+ * The event name
6
+ */
7
+ name: string
8
+ /**
9
+ * Unique identifier for the user
10
+ */
11
+ userId: string
12
+ /**
13
+ * Object containing the properties of the event
14
+ */
15
+ properties?: {
16
+ [k: string]: unknown
17
+ }
18
+ }
@@ -0,0 +1,49 @@
1
+ import type { BrowserActionDefinition } from '@segment/browser-destination-runtime/types'
2
+ import type { Settings } from '../generated-types'
3
+ import type { Payload } from './generated-types'
4
+ import type { Bucket } from '../types'
5
+
6
+ const action: BrowserActionDefinition<Settings, Bucket, Payload> = {
7
+ title: 'Track Event',
8
+ description: 'Map a Segment track() event to Bucket',
9
+ platform: 'web',
10
+ defaultSubscription: 'type = "track"',
11
+ fields: {
12
+ name: {
13
+ description: 'The event name',
14
+ label: 'Event name',
15
+ required: true,
16
+ type: 'string',
17
+ default: {
18
+ '@path': '$.event'
19
+ }
20
+ },
21
+ userId: {
22
+ type: 'string',
23
+ required: true,
24
+ allowNull: false,
25
+ description: 'Unique identifier for the user',
26
+ label: 'User ID',
27
+ default: {
28
+ '@path': '$.userId'
29
+ }
30
+ },
31
+ properties: {
32
+ type: 'object',
33
+ required: false,
34
+ description: 'Object containing the properties of the event',
35
+ label: 'Event Properties',
36
+ default: {
37
+ '@path': '$.properties'
38
+ }
39
+ }
40
+ },
41
+ perform: (bucket, { payload }) => {
42
+ // Ensure we never call Bucket.track() without a user ID
43
+ if (payload.userId) {
44
+ void bucket.track(payload.name, payload.properties, payload.userId)
45
+ }
46
+ }
47
+ }
48
+
49
+ export default action
package/src/types.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type bucket from '@bucketco/tracking-sdk'
2
+
3
+ export type Bucket = typeof bucket
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.build.json",
3
+ "compilerOptions": {
4
+ "rootDir": "./src",
5
+ "baseUrl": "."
6
+ },
7
+ "include": ["src"],
8
+ "exclude": ["dist", "**/__tests__"]
9
+ }