@knocklabs/client 0.10.9 → 0.10.11

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 (50) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/api.js.map +1 -1
  3. package/dist/cjs/clients/feed/feed.js.map +1 -1
  4. package/dist/cjs/clients/feed/store.js +1 -1
  5. package/dist/cjs/clients/feed/store.js.map +1 -1
  6. package/dist/cjs/clients/messages/index.js.map +1 -1
  7. package/dist/cjs/clients/objects/index.js.map +1 -1
  8. package/dist/cjs/clients/preferences/index.js.map +1 -1
  9. package/dist/cjs/clients/users/index.js.map +1 -1
  10. package/dist/esm/api.mjs.map +1 -1
  11. package/dist/esm/clients/feed/feed.mjs.map +1 -1
  12. package/dist/esm/clients/feed/store.mjs +22 -18
  13. package/dist/esm/clients/feed/store.mjs.map +1 -1
  14. package/dist/esm/clients/messages/index.mjs.map +1 -1
  15. package/dist/esm/clients/objects/index.mjs.map +1 -1
  16. package/dist/esm/clients/preferences/index.mjs.map +1 -1
  17. package/dist/esm/clients/users/index.mjs.map +1 -1
  18. package/dist/types/api.d.ts.map +1 -1
  19. package/dist/types/clients/feed/feed.d.ts +8 -7
  20. package/dist/types/clients/feed/feed.d.ts.map +1 -1
  21. package/dist/types/clients/feed/interfaces.d.ts +1 -1
  22. package/dist/types/clients/feed/interfaces.d.ts.map +1 -1
  23. package/dist/types/clients/feed/store.d.ts.map +1 -1
  24. package/dist/types/clients/feed/types.d.ts +2 -2
  25. package/dist/types/clients/feed/types.d.ts.map +1 -1
  26. package/dist/types/clients/messages/interfaces.d.ts +2 -1
  27. package/dist/types/clients/messages/interfaces.d.ts.map +1 -1
  28. package/dist/types/clients/objects/index.d.ts +3 -2
  29. package/dist/types/clients/objects/index.d.ts.map +1 -1
  30. package/dist/types/clients/preferences/index.d.ts +1 -1
  31. package/dist/types/clients/preferences/index.d.ts.map +1 -1
  32. package/dist/types/clients/users/index.d.ts +4 -3
  33. package/dist/types/clients/users/index.d.ts.map +1 -1
  34. package/dist/types/clients/users/interfaces.d.ts +2 -1
  35. package/dist/types/clients/users/interfaces.d.ts.map +1 -1
  36. package/dist/types/interfaces.d.ts +3 -2
  37. package/dist/types/interfaces.d.ts.map +1 -1
  38. package/package.json +8 -9
  39. package/src/api.ts +0 -1
  40. package/src/clients/feed/feed.ts +4 -3
  41. package/src/clients/feed/interfaces.ts +1 -1
  42. package/src/clients/feed/store.ts +9 -2
  43. package/src/clients/feed/types.ts +2 -2
  44. package/src/clients/messages/index.ts +1 -1
  45. package/src/clients/messages/interfaces.ts +3 -1
  46. package/src/clients/objects/index.ts +4 -2
  47. package/src/clients/preferences/index.ts +3 -1
  48. package/src/clients/users/index.ts +5 -3
  49. package/src/clients/users/interfaces.ts +3 -1
  50. package/src/interfaces.ts +3 -2
@@ -1,4 +1,4 @@
1
- import { PageInfo } from "@knocklabs/types";
1
+ import { GenericData, PageInfo } from "@knocklabs/types";
2
2
 
3
3
  import { NetworkStatus } from "../../networkStatus";
4
4
 
@@ -51,7 +51,7 @@ export type FeedEvent =
51
51
  // Because we can bind to wild card feed events, this is here to accomodate whatever can be bound to
52
52
  export type BindableFeedEvent = FeedEvent | "items.received.*" | "items.*";
53
53
 
54
- export interface FeedEventPayload<T = any> {
54
+ export interface FeedEventPayload<T = GenericData> {
55
55
  event: Omit<FeedEvent, "messages.new">;
56
56
  items: FeedItem<T>[];
57
57
  metadata: FeedMetadata;
@@ -75,7 +75,7 @@ class MessageClient {
75
75
  return this.handleResponse<BulkOperation>(result);
76
76
  }
77
77
 
78
- private handleResponse<T = any>(response: ApiResponse) {
78
+ private handleResponse<T = unknown>(response: ApiResponse) {
79
79
  if (response.statusCode === "error") {
80
80
  if (response.error?.response?.status < 500) {
81
81
  return response.error || response.body;
@@ -1,3 +1,5 @@
1
+ import { GenericData } from "@knocklabs/types";
2
+
1
3
  import { RecipientRef } from "../..";
2
4
 
3
5
  export type MessageDeliveryStatus =
@@ -20,7 +22,7 @@ export type MessageEngagementStatus =
20
22
  | "interacted"
21
23
  | "archived";
22
24
 
23
- export interface Message<T = any> {
25
+ export interface Message<T = GenericData> {
24
26
  id: string;
25
27
  channel_id: string;
26
28
  recipient: RecipientRef;
@@ -1,3 +1,5 @@
1
+ import { GenericData } from "@knocklabs/types";
2
+
1
3
  import { ApiResponse } from "../../api";
2
4
  import { ChannelData } from "../../interfaces";
3
5
  import Knock from "../../knock";
@@ -12,7 +14,7 @@ type SetChannelDataInput = {
12
14
  objectId: string;
13
15
  collection: string;
14
16
  channelId: string;
15
- data: any;
17
+ data: GenericData;
16
18
  };
17
19
 
18
20
  class ObjectClient {
@@ -21,7 +23,7 @@ class ObjectClient {
21
23
  constructor(instance: Knock) {
22
24
  this.instance = instance;
23
25
  }
24
- async getChannelData<T = any>({
26
+ async getChannelData<T = GenericData>({
25
27
  collection,
26
28
  objectId,
27
29
  channelId,
@@ -1,13 +1,15 @@
1
1
  import { ChannelType } from "@knocklabs/types";
2
+
2
3
  import { ApiResponse } from "../../api";
3
4
  import Knock from "../../knock";
5
+
4
6
  import {
5
7
  ChannelTypePreferences,
6
8
  PreferenceOptions,
9
+ PreferenceSet,
7
10
  SetPreferencesProperties,
8
11
  WorkflowPreferenceSetting,
9
12
  WorkflowPreferences,
10
- PreferenceSet,
11
13
  } from "./interfaces";
12
14
 
13
15
  const DEFAULT_PREFERENCE_SET_ID = "default";
@@ -1,3 +1,5 @@
1
+ import { GenericData } from "@knocklabs/types";
2
+
1
3
  import { ApiResponse } from "../../api";
2
4
  import { ChannelData, User } from "../../interfaces";
3
5
  import Knock from "../../knock";
@@ -28,7 +30,7 @@ class UserClient {
28
30
  return this.handleResponse<User>(result);
29
31
  }
30
32
 
31
- async identify(props: Record<string, any> = {}) {
33
+ async identify(props: GenericData = {}) {
32
34
  const result = await this.instance.client().makeRequest({
33
35
  method: "PUT",
34
36
  url: `/v1/users/${this.instance.userId}`,
@@ -76,7 +78,7 @@ class UserClient {
76
78
  return this.handleResponse<PreferenceSet>(result);
77
79
  }
78
80
 
79
- async getChannelData<T = any>(params: GetChannelDataInput) {
81
+ async getChannelData<T = GenericData>(params: GetChannelDataInput) {
80
82
  const result = await this.instance.client().makeRequest({
81
83
  method: "GET",
82
84
  url: `/v1/users/${this.instance.userId}/channel_data/${params.channelId}`,
@@ -85,7 +87,7 @@ class UserClient {
85
87
  return this.handleResponse<ChannelData<T>>(result);
86
88
  }
87
89
 
88
- async setChannelData<T = any>({
90
+ async setChannelData<T = GenericData>({
89
91
  channelId,
90
92
  channelData,
91
93
  }: SetChannelDataInput) {
@@ -1,6 +1,8 @@
1
+ import { GenericData } from "@knocklabs/types";
2
+
1
3
  export interface SetChannelDataInput {
2
4
  channelId: string;
3
- channelData: Record<string, any>;
5
+ channelData: GenericData;
4
6
  }
5
7
 
6
8
  export interface GetChannelDataInput {
package/src/interfaces.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { GenericData } from "@knocklabs/types";
2
+ import { JwtPayload } from "jwt-decode";
2
3
 
3
4
  export type LogLevel = "debug";
4
5
 
@@ -38,14 +39,14 @@ export interface Activity<T = GenericData> {
38
39
  data: T | null;
39
40
  }
40
41
 
41
- export interface ChannelData<T = any> {
42
+ export interface ChannelData<T = GenericData> {
42
43
  channel_id: string;
43
44
  data: T;
44
45
  }
45
46
 
46
47
  export type UserTokenExpiringCallback = (
47
48
  currentToken: string,
48
- decodedToken: any,
49
+ decodedToken: JwtPayload,
49
50
  ) => Promise<string | void>;
50
51
 
51
52
  export interface AuthenticateOptions {