@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,6 +1,10 @@
1
- import l from "zustand/vanilla";
2
- import { NetworkStatus as u } from "../../networkStatus.mjs";
1
+ import u from "zustand/vanilla";
2
+ import { NetworkStatus as d } from "../../networkStatus.mjs";
3
3
  import { deduplicateItems as i, sortItems as c } from "./utils.mjs";
4
+ const f = (
5
+ // @ts-expect-error workaround for issue above
6
+ typeof u == "function" ? u : u.default
7
+ );
4
8
  function m(e) {
5
9
  const t = i(e);
6
10
  return c(t);
@@ -8,7 +12,7 @@ function m(e) {
8
12
  const p = {
9
13
  shouldSetPage: !0,
10
14
  shouldAppend: !1
11
- }, d = {
15
+ }, l = {
12
16
  items: [],
13
17
  metadata: {
14
18
  total_count: 0,
@@ -21,36 +25,36 @@ const p = {
21
25
  page_size: 50
22
26
  }
23
27
  };
24
- function I() {
25
- return l((e) => ({
28
+ function h() {
29
+ return f((e) => ({
26
30
  // Keeps track of all of the items loaded
27
- ...d,
31
+ ...l,
28
32
  // The network status indicates what's happening with the request
29
- networkStatus: u.ready,
33
+ networkStatus: d.ready,
30
34
  loading: !1,
31
35
  setNetworkStatus: (t) => e(() => ({
32
36
  networkStatus: t,
33
- loading: t === u.loading
37
+ loading: t === d.loading
34
38
  })),
35
- setResult: ({ entries: t, meta: s, page_info: n }, a = p) => e((o) => ({
39
+ setResult: ({ entries: t, meta: r, page_info: s }, a = p) => e((o) => ({
36
40
  items: a.shouldAppend ? m(o.items.concat(t)) : t,
37
- metadata: s,
38
- pageInfo: a.shouldSetPage ? n : o.pageInfo,
41
+ metadata: r,
42
+ pageInfo: a.shouldSetPage ? s : o.pageInfo,
39
43
  loading: !1,
40
- networkStatus: u.ready
44
+ networkStatus: d.ready
41
45
  })),
42
46
  setMetadata: (t) => e(() => ({ metadata: t })),
43
- resetStore: (t = d.metadata) => e(() => ({ ...d, metadata: t })),
44
- setItemAttrs: (t, s) => {
45
- const n = t.reduce(
46
- (a, o) => ({ ...a, [o]: s }),
47
+ resetStore: (t = l.metadata) => e(() => ({ ...l, metadata: t })),
48
+ setItemAttrs: (t, r) => {
49
+ const s = t.reduce(
50
+ (a, o) => ({ ...a, [o]: r }),
47
51
  {}
48
52
  );
49
- return e((a) => ({ items: a.items.map((r) => n[r.id] ? { ...r, ...n[r.id] } : r) }));
53
+ return e((a) => ({ items: a.items.map((n) => s[n.id] ? { ...n, ...s[n.id] } : n) }));
50
54
  }
51
55
  }));
52
56
  }
53
57
  export {
54
- I as default
58
+ h as default
55
59
  };
56
60
  //# sourceMappingURL=store.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.mjs","sources":["../../../../src/clients/feed/store.ts"],"sourcesContent":["import create from \"zustand/vanilla\";\n\nimport { NetworkStatus } from \"../../networkStatus\";\n\nimport { FeedItem } from \"./interfaces\";\nimport { FeedStoreState } from \"./types\";\nimport { deduplicateItems, sortItems } from \"./utils\";\n\nfunction processItems(items: FeedItem[]) {\n const deduped = deduplicateItems(items);\n const sorted = sortItems(deduped);\n\n return sorted;\n}\n\nconst defaultSetResultOptions = {\n shouldSetPage: true,\n shouldAppend: false,\n};\n\nconst initialStoreState = {\n items: [],\n metadata: {\n total_count: 0,\n unread_count: 0,\n unseen_count: 0,\n },\n pageInfo: {\n before: null,\n after: null,\n page_size: 50,\n },\n};\n\nexport default function createStore() {\n return create<FeedStoreState>((set) => ({\n // Keeps track of all of the items loaded\n ...initialStoreState,\n // The network status indicates what's happening with the request\n networkStatus: NetworkStatus.ready,\n loading: false,\n\n setNetworkStatus: (networkStatus: NetworkStatus) =>\n set(() => ({\n networkStatus,\n loading: networkStatus === NetworkStatus.loading,\n })),\n\n setResult: (\n { entries, meta, page_info },\n options = defaultSetResultOptions,\n ) =>\n set((state) => {\n // We resort the list on set, so concating everything is fine (if a bit suboptimal)\n const items = options.shouldAppend\n ? processItems(state.items.concat(entries))\n : entries;\n\n return {\n items,\n metadata: meta,\n pageInfo: options.shouldSetPage ? page_info : state.pageInfo,\n loading: false,\n networkStatus: NetworkStatus.ready,\n };\n }),\n\n setMetadata: (metadata) => set(() => ({ metadata })),\n\n resetStore: (metadata = initialStoreState.metadata) =>\n set(() => ({ ...initialStoreState, metadata })),\n\n setItemAttrs: (itemIds, attrs) => {\n // Create a map for the items to the updates to be made\n const itemUpdatesMap: { [id: string]: object } = itemIds.reduce(\n (acc, itemId) => ({ ...acc, [itemId]: attrs }),\n {},\n );\n\n return set((state) => {\n const items = state.items.map((item) => {\n if (itemUpdatesMap[item.id]) {\n return { ...item, ...itemUpdatesMap[item.id] };\n }\n\n return item;\n });\n\n return { items };\n });\n },\n }));\n}\n"],"names":["processItems","items","deduped","deduplicateItems","sortItems","defaultSetResultOptions","initialStoreState","createStore","create","set","NetworkStatus","networkStatus","entries","meta","page_info","options","state","metadata","itemIds","attrs","itemUpdatesMap","acc","itemId","item"],"mappings":";;;AAQA,SAASA,EAAaC,GAAmB;AACjC,QAAAC,IAAUC,EAAiBF,CAAK;AAG/B,SAFQG,EAAUF,CAAO;AAGlC;AAEA,MAAMG,IAA0B;AAAA,EAC9B,eAAe;AAAA,EACf,cAAc;AAChB,GAEMC,IAAoB;AAAA,EACxB,OAAO,CAAC;AAAA,EACR,UAAU;AAAA,IACR,aAAa;AAAA,IACb,cAAc;AAAA,IACd,cAAc;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAW;AAAA,EACb;AACF;AAEA,SAAwBC,IAAc;AAC7B,SAAAC,EAAuB,CAACC,OAAS;AAAA;AAAA,IAEtC,GAAGH;AAAA;AAAA,IAEH,eAAeI,EAAc;AAAA,IAC7B,SAAS;AAAA,IAET,kBAAkB,CAACC,MACjBF,EAAI,OAAO;AAAA,MACT,eAAAE;AAAA,MACA,SAASA,MAAkBD,EAAc;AAAA,IAAA,EACzC;AAAA,IAEJ,WAAW,CACT,EAAE,SAAAE,GAAS,MAAAC,GAAM,WAAAC,KACjBC,IAAUV,MAEVI,EAAI,CAACO,OAMI;AAAA,MACL,OALYD,EAAQ,eAClBf,EAAagB,EAAM,MAAM,OAAOJ,CAAO,CAAC,IACxCA;AAAA,MAIF,UAAUC;AAAA,MACV,UAAUE,EAAQ,gBAAgBD,IAAYE,EAAM;AAAA,MACpD,SAAS;AAAA,MACT,eAAeN,EAAc;AAAA,IAAA,EAEhC;AAAA,IAEH,aAAa,CAACO,MAAaR,EAAI,OAAO,EAAE,UAAAQ,EAAW,EAAA;AAAA,IAEnD,YAAY,CAACA,IAAWX,EAAkB,aACxCG,EAAI,OAAO,EAAE,GAAGH,GAAmB,UAAAW,EAAA,EAAW;AAAA,IAEhD,cAAc,CAACC,GAASC,MAAU;AAEhC,YAAMC,IAA2CF,EAAQ;AAAA,QACvD,CAACG,GAAKC,OAAY,EAAE,GAAGD,GAAK,CAACC,CAAM,GAAGH;QACtC,CAAC;AAAA,MAAA;AAGI,aAAAV,EAAI,CAACO,OASH,EAAE,OARKA,EAAM,MAAM,IAAI,CAACO,MACzBH,EAAeG,EAAK,EAAE,IACjB,EAAE,GAAGA,GAAM,GAAGH,EAAeG,EAAK,EAAE,MAGtCA,CACR,EAEc,EAChB;AAAA,IACH;AAAA,EACA,EAAA;AACJ;"}
1
+ {"version":3,"file":"store.mjs","sources":["../../../../src/clients/feed/store.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\nimport zustand from \"zustand/vanilla\";\n\nimport { NetworkStatus } from \"../../networkStatus\";\n\nimport { FeedItem } from \"./interfaces\";\nimport { FeedStoreState } from \"./types\";\nimport { deduplicateItems, sortItems } from \"./utils\";\n\n// Get the correct Zustand function. Caused by some issues in v3 exports\n// https://github.com/pmndrs/zustand/issues/334\nconst create: typeof zustand =\n // @ts-expect-error workaround for issue above\n typeof zustand === \"function\" ? zustand : zustand.default;\n\nfunction processItems(items: FeedItem[]) {\n const deduped = deduplicateItems(items);\n const sorted = sortItems(deduped);\n\n return sorted;\n}\n\nconst defaultSetResultOptions = {\n shouldSetPage: true,\n shouldAppend: false,\n};\n\nconst initialStoreState = {\n items: [],\n metadata: {\n total_count: 0,\n unread_count: 0,\n unseen_count: 0,\n },\n pageInfo: {\n before: null,\n after: null,\n page_size: 50,\n },\n};\n\nexport default function createStore() {\n return create<FeedStoreState>((set) => ({\n // Keeps track of all of the items loaded\n ...initialStoreState,\n // The network status indicates what's happening with the request\n networkStatus: NetworkStatus.ready,\n loading: false,\n\n setNetworkStatus: (networkStatus: NetworkStatus) =>\n set(() => ({\n networkStatus,\n loading: networkStatus === NetworkStatus.loading,\n })),\n\n setResult: (\n { entries, meta, page_info },\n options = defaultSetResultOptions,\n ) =>\n set((state) => {\n // We resort the list on set, so concating everything is fine (if a bit suboptimal)\n const items = options.shouldAppend\n ? processItems(state.items.concat(entries as FeedItem<GenericData>[]))\n : entries;\n\n return {\n items,\n metadata: meta,\n pageInfo: options.shouldSetPage ? page_info : state.pageInfo,\n loading: false,\n networkStatus: NetworkStatus.ready,\n };\n }),\n\n setMetadata: (metadata) => set(() => ({ metadata })),\n\n resetStore: (metadata = initialStoreState.metadata) =>\n set(() => ({ ...initialStoreState, metadata })),\n\n setItemAttrs: (itemIds, attrs) => {\n // Create a map for the items to the updates to be made\n const itemUpdatesMap: { [id: string]: object } = itemIds.reduce(\n (acc, itemId) => ({ ...acc, [itemId]: attrs }),\n {},\n );\n\n return set((state) => {\n const items = state.items.map((item) => {\n if (itemUpdatesMap[item.id]) {\n return { ...item, ...itemUpdatesMap[item.id] };\n }\n\n return item;\n });\n\n return { items };\n });\n },\n }));\n}\n"],"names":["create","zustand","processItems","items","deduped","deduplicateItems","sortItems","defaultSetResultOptions","initialStoreState","createStore","set","NetworkStatus","networkStatus","entries","meta","page_info","options","state","metadata","itemIds","attrs","itemUpdatesMap","acc","itemId","item"],"mappings":";;;AAWA,MAAMA;AAAA;AAAA,EAEJ,OAAOC,KAAY,aAAaA,IAAUA,EAAQ;AAAA;AAEpD,SAASC,EAAaC,GAAmB;AACjC,QAAAC,IAAUC,EAAiBF,CAAK;AAG/B,SAFQG,EAAUF,CAAO;AAGlC;AAEA,MAAMG,IAA0B;AAAA,EAC9B,eAAe;AAAA,EACf,cAAc;AAChB,GAEMC,IAAoB;AAAA,EACxB,OAAO,CAAC;AAAA,EACR,UAAU;AAAA,IACR,aAAa;AAAA,IACb,cAAc;AAAA,IACd,cAAc;AAAA,EAChB;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,WAAW;AAAA,EACb;AACF;AAEA,SAAwBC,IAAc;AAC7B,SAAAT,EAAuB,CAACU,OAAS;AAAA;AAAA,IAEtC,GAAGF;AAAA;AAAA,IAEH,eAAeG,EAAc;AAAA,IAC7B,SAAS;AAAA,IAET,kBAAkB,CAACC,MACjBF,EAAI,OAAO;AAAA,MACT,eAAAE;AAAA,MACA,SAASA,MAAkBD,EAAc;AAAA,IAAA,EACzC;AAAA,IAEJ,WAAW,CACT,EAAE,SAAAE,GAAS,MAAAC,GAAM,WAAAC,KACjBC,IAAUT,MAEVG,EAAI,CAACO,OAMI;AAAA,MACL,OALYD,EAAQ,eAClBd,EAAae,EAAM,MAAM,OAAOJ,CAAkC,CAAC,IACnEA;AAAA,MAIF,UAAUC;AAAA,MACV,UAAUE,EAAQ,gBAAgBD,IAAYE,EAAM;AAAA,MACpD,SAAS;AAAA,MACT,eAAeN,EAAc;AAAA,IAAA,EAEhC;AAAA,IAEH,aAAa,CAACO,MAAaR,EAAI,OAAO,EAAE,UAAAQ,EAAW,EAAA;AAAA,IAEnD,YAAY,CAACA,IAAWV,EAAkB,aACxCE,EAAI,OAAO,EAAE,GAAGF,GAAmB,UAAAU,EAAA,EAAW;AAAA,IAEhD,cAAc,CAACC,GAASC,MAAU;AAEhC,YAAMC,IAA2CF,EAAQ;AAAA,QACvD,CAACG,GAAKC,OAAY,EAAE,GAAGD,GAAK,CAACC,CAAM,GAAGH;QACtC,CAAC;AAAA,MAAA;AAGI,aAAAV,EAAI,CAACO,OASH,EAAE,OARKA,EAAM,MAAM,IAAI,CAACO,MACzBH,EAAeG,EAAK,EAAE,IACjB,EAAE,GAAGA,GAAM,GAAGH,EAAeG,EAAK,EAAE,MAGtCA,CACR,EAEc,EAChB;AAAA,IACH;AAAA,EACA,EAAA;AACJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/clients/messages/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { BulkOperation } from \"../../interfaces\";\nimport Knock from \"../../knock\";\n\nimport {\n BulkUpdateMessagesInChannelProperties,\n Message,\n MessageEngagementStatus,\n} from \"./interfaces\";\n\nclass MessageClient {\n private knock: Knock;\n\n constructor(knock: Knock) {\n this.knock = knock;\n }\n\n async get(messageId: string): Promise<Message> {\n const result = await this.knock.client().makeRequest({\n method: \"GET\",\n url: `/v1/messages/${messageId}`,\n });\n\n return this.handleResponse<Message>(result);\n }\n\n async updateStatus(\n messageId: string,\n status: MessageEngagementStatus,\n ): Promise<Message> {\n const result = await this.knock.client().makeRequest({\n method: \"PUT\",\n url: `/v1/messages/${messageId}/${status}`,\n });\n\n return this.handleResponse<Message>(result);\n }\n\n async removeStatus(\n messageId: string,\n status: Exclude<MessageEngagementStatus, \"interacted\">,\n ): Promise<Message> {\n const result = await this.knock.client().makeRequest({\n method: \"DELETE\",\n url: `/v1/messages/${messageId}/${status}`,\n });\n\n return this.handleResponse<Message>(result);\n }\n\n async batchUpdateStatuses(\n messageIds: string[],\n status: MessageEngagementStatus | \"unseen\" | \"unread\" | \"unarchived\",\n ): Promise<Message[]> {\n const result = await this.knock.client().makeRequest({\n method: \"POST\",\n url: `/v1/messages/batch/${status}`,\n data: { message_ids: messageIds },\n });\n\n return this.handleResponse<Message[]>(result);\n }\n\n async bulkUpdateAllStatusesInChannel({\n channelId,\n status,\n options,\n }: BulkUpdateMessagesInChannelProperties): Promise<BulkOperation> {\n const result = await this.knock.client().makeRequest({\n method: \"POST\",\n url: `/v1/channels/${channelId}/messages/bulk/${status}`,\n data: options,\n });\n\n return this.handleResponse<BulkOperation>(result);\n }\n\n private handleResponse<T = any>(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n if (response.error?.response?.status < 500) {\n return response.error || response.body;\n }\n throw new Error(response.error || response.body);\n }\n\n return response.body as T;\n }\n}\n\nexport default MessageClient;\n"],"names":["MessageClient","knock","__publicField","messageId","result","status","messageIds","channelId","options","response","_a","_b"],"mappings":";;;AAUA,MAAMA,EAAc;AAAA,EAGlB,YAAYC,GAAc;AAFlB,IAAAC,EAAA;AAGN,SAAK,QAAQD;AAAA,EACf;AAAA,EAEA,MAAM,IAAIE,GAAqC;AAC7C,UAAMC,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBD,CAAS;AAAA,IAAA,CAC/B;AAEM,WAAA,KAAK,eAAwBC,CAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,aACJD,GACAE,GACkB;AAClB,UAAMD,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBD,CAAS,IAAIE,CAAM;AAAA,IAAA,CACzC;AAEM,WAAA,KAAK,eAAwBD,CAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,aACJD,GACAE,GACkB;AAClB,UAAMD,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBD,CAAS,IAAIE,CAAM;AAAA,IAAA,CACzC;AAEM,WAAA,KAAK,eAAwBD,CAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,oBACJE,GACAD,GACoB;AACpB,UAAMD,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,sBAAsBC,CAAM;AAAA,MACjC,MAAM,EAAE,aAAaC,EAAW;AAAA,IAAA,CACjC;AAEM,WAAA,KAAK,eAA0BF,CAAM;AAAA,EAC9C;AAAA,EAEA,MAAM,+BAA+B;AAAA,IACnC,WAAAG;AAAA,IACA,QAAAF;AAAA,IACA,SAAAG;AAAA,EAAA,GACgE;AAChE,UAAMJ,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBG,CAAS,kBAAkBF,CAAM;AAAA,MACtD,MAAMG;AAAA,IAAA,CACP;AAEM,WAAA,KAAK,eAA8BJ,CAAM;AAAA,EAClD;AAAA,EAEQ,eAAwBK,GAAuB;AAnEzD,QAAAC,GAAAC;AAoEQ,QAAAF,EAAS,eAAe,SAAS;AACnC,YAAIE,KAAAD,IAAAD,EAAS,UAAT,gBAAAC,EAAgB,aAAhB,gBAAAC,EAA0B,UAAS;AAC9B,eAAAF,EAAS,SAASA,EAAS;AAEpC,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAAA,IACjD;AAEA,WAAOA,EAAS;AAAA,EAClB;AACF;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/clients/messages/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { BulkOperation } from \"../../interfaces\";\nimport Knock from \"../../knock\";\n\nimport {\n BulkUpdateMessagesInChannelProperties,\n Message,\n MessageEngagementStatus,\n} from \"./interfaces\";\n\nclass MessageClient {\n private knock: Knock;\n\n constructor(knock: Knock) {\n this.knock = knock;\n }\n\n async get(messageId: string): Promise<Message> {\n const result = await this.knock.client().makeRequest({\n method: \"GET\",\n url: `/v1/messages/${messageId}`,\n });\n\n return this.handleResponse<Message>(result);\n }\n\n async updateStatus(\n messageId: string,\n status: MessageEngagementStatus,\n ): Promise<Message> {\n const result = await this.knock.client().makeRequest({\n method: \"PUT\",\n url: `/v1/messages/${messageId}/${status}`,\n });\n\n return this.handleResponse<Message>(result);\n }\n\n async removeStatus(\n messageId: string,\n status: Exclude<MessageEngagementStatus, \"interacted\">,\n ): Promise<Message> {\n const result = await this.knock.client().makeRequest({\n method: \"DELETE\",\n url: `/v1/messages/${messageId}/${status}`,\n });\n\n return this.handleResponse<Message>(result);\n }\n\n async batchUpdateStatuses(\n messageIds: string[],\n status: MessageEngagementStatus | \"unseen\" | \"unread\" | \"unarchived\",\n ): Promise<Message[]> {\n const result = await this.knock.client().makeRequest({\n method: \"POST\",\n url: `/v1/messages/batch/${status}`,\n data: { message_ids: messageIds },\n });\n\n return this.handleResponse<Message[]>(result);\n }\n\n async bulkUpdateAllStatusesInChannel({\n channelId,\n status,\n options,\n }: BulkUpdateMessagesInChannelProperties): Promise<BulkOperation> {\n const result = await this.knock.client().makeRequest({\n method: \"POST\",\n url: `/v1/channels/${channelId}/messages/bulk/${status}`,\n data: options,\n });\n\n return this.handleResponse<BulkOperation>(result);\n }\n\n private handleResponse<T = unknown>(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n if (response.error?.response?.status < 500) {\n return response.error || response.body;\n }\n throw new Error(response.error || response.body);\n }\n\n return response.body as T;\n }\n}\n\nexport default MessageClient;\n"],"names":["MessageClient","knock","__publicField","messageId","result","status","messageIds","channelId","options","response","_a","_b"],"mappings":";;;AAUA,MAAMA,EAAc;AAAA,EAGlB,YAAYC,GAAc;AAFlB,IAAAC,EAAA;AAGN,SAAK,QAAQD;AAAA,EACf;AAAA,EAEA,MAAM,IAAIE,GAAqC;AAC7C,UAAMC,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBD,CAAS;AAAA,IAAA,CAC/B;AAEM,WAAA,KAAK,eAAwBC,CAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,aACJD,GACAE,GACkB;AAClB,UAAMD,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBD,CAAS,IAAIE,CAAM;AAAA,IAAA,CACzC;AAEM,WAAA,KAAK,eAAwBD,CAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,aACJD,GACAE,GACkB;AAClB,UAAMD,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBD,CAAS,IAAIE,CAAM;AAAA,IAAA,CACzC;AAEM,WAAA,KAAK,eAAwBD,CAAM;AAAA,EAC5C;AAAA,EAEA,MAAM,oBACJE,GACAD,GACoB;AACpB,UAAMD,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,sBAAsBC,CAAM;AAAA,MACjC,MAAM,EAAE,aAAaC,EAAW;AAAA,IAAA,CACjC;AAEM,WAAA,KAAK,eAA0BF,CAAM;AAAA,EAC9C;AAAA,EAEA,MAAM,+BAA+B;AAAA,IACnC,WAAAG;AAAA,IACA,QAAAF;AAAA,IACA,SAAAG;AAAA,EAAA,GACgE;AAChE,UAAMJ,IAAS,MAAM,KAAK,MAAM,OAAA,EAAS,YAAY;AAAA,MACnD,QAAQ;AAAA,MACR,KAAK,gBAAgBG,CAAS,kBAAkBF,CAAM;AAAA,MACtD,MAAMG;AAAA,IAAA,CACP;AAEM,WAAA,KAAK,eAA8BJ,CAAM;AAAA,EAClD;AAAA,EAEQ,eAA4BK,GAAuB;AAnE7D,QAAAC,GAAAC;AAoEQ,QAAAF,EAAS,eAAe,SAAS;AACnC,YAAIE,KAAAD,IAAAD,EAAS,UAAT,gBAAAC,EAAgB,aAAhB,gBAAAC,EAA0B,UAAS;AAC9B,eAAAF,EAAS,SAASA,EAAS;AAEpC,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAAA,IACjD;AAEA,WAAOA,EAAS;AAAA,EAClB;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/clients/objects/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { ChannelData } from \"../../interfaces\";\nimport Knock from \"../../knock\";\n\ntype GetChannelDataInput = {\n objectId: string;\n collection: string;\n channelId: string;\n};\n\ntype SetChannelDataInput = {\n objectId: string;\n collection: string;\n channelId: string;\n data: any;\n};\n\nclass ObjectClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n async getChannelData<T = any>({\n collection,\n objectId,\n channelId,\n }: GetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/objects/${collection}/${objectId}/channel_data/${channelId}`,\n });\n\n return this.handleResponse<ChannelData<T>>(result);\n }\n\n async setChannelData({\n objectId,\n collection,\n channelId,\n data,\n }: SetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `v1/objects/${collection}/${objectId}/channel_data/${channelId}`,\n data: { data },\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse<T>(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n throw new Error(response.error || response.body);\n }\n\n return response.body as T;\n }\n}\n\nexport default ObjectClient;\n"],"names":["ObjectClient","instance","__publicField","collection","objectId","channelId","result","data","response"],"mappings":";;;AAiBA,MAAMA,EAAa;AAAA,EAGjB,YAAYC,GAAiB;AAFrB,IAAAC,EAAA;AAGN,SAAK,WAAWD;AAAA,EAClB;AAAA,EACA,MAAM,eAAwB;AAAA,IAC5B,YAAAE;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,GACsB;AACtB,UAAMC,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,eAAeH,CAAU,IAAIC,CAAQ,iBAAiBC,CAAS;AAAA,IAAA,CACrE;AAEM,WAAA,KAAK,eAA+BC,CAAM;AAAA,EACnD;AAAA,EAEA,MAAM,eAAe;AAAA,IACnB,UAAAF;AAAA,IACA,YAAAD;AAAA,IACA,WAAAE;AAAA,IACA,MAAAE;AAAA,EAAA,GACsB;AACtB,UAAMD,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,cAAcH,CAAU,IAAIC,CAAQ,iBAAiBC,CAAS;AAAA,MACnE,MAAM,EAAE,MAAAE,EAAK;AAAA,IAAA,CACd;AAEM,WAAA,KAAK,eAAeD,CAAM;AAAA,EACnC;AAAA,EAEQ,eAAkBE,GAAuB;AAC3C,QAAAA,EAAS,eAAe;AAC1B,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAGjD,WAAOA,EAAS;AAAA,EAClB;AACF;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/clients/objects/index.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\n\nimport { ApiResponse } from \"../../api\";\nimport { ChannelData } from \"../../interfaces\";\nimport Knock from \"../../knock\";\n\ntype GetChannelDataInput = {\n objectId: string;\n collection: string;\n channelId: string;\n};\n\ntype SetChannelDataInput = {\n objectId: string;\n collection: string;\n channelId: string;\n data: GenericData;\n};\n\nclass ObjectClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n async getChannelData<T = GenericData>({\n collection,\n objectId,\n channelId,\n }: GetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/objects/${collection}/${objectId}/channel_data/${channelId}`,\n });\n\n return this.handleResponse<ChannelData<T>>(result);\n }\n\n async setChannelData({\n objectId,\n collection,\n channelId,\n data,\n }: SetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `v1/objects/${collection}/${objectId}/channel_data/${channelId}`,\n data: { data },\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse<T>(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n throw new Error(response.error || response.body);\n }\n\n return response.body as T;\n }\n}\n\nexport default ObjectClient;\n"],"names":["ObjectClient","instance","__publicField","collection","objectId","channelId","result","data","response"],"mappings":";;;AAmBA,MAAMA,EAAa;AAAA,EAGjB,YAAYC,GAAiB;AAFrB,IAAAC,EAAA;AAGN,SAAK,WAAWD;AAAA,EAClB;AAAA,EACA,MAAM,eAAgC;AAAA,IACpC,YAAAE;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,EAAA,GACsB;AACtB,UAAMC,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,eAAeH,CAAU,IAAIC,CAAQ,iBAAiBC,CAAS;AAAA,IAAA,CACrE;AAEM,WAAA,KAAK,eAA+BC,CAAM;AAAA,EACnD;AAAA,EAEA,MAAM,eAAe;AAAA,IACnB,UAAAF;AAAA,IACA,YAAAD;AAAA,IACA,WAAAE;AAAA,IACA,MAAAE;AAAA,EAAA,GACsB;AACtB,UAAMD,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,cAAcH,CAAU,IAAIC,CAAQ,iBAAiBC,CAAS;AAAA,MACnE,MAAM,EAAE,MAAAE,EAAK;AAAA,IAAA,CACd;AAEM,WAAA,KAAK,eAAeD,CAAM;AAAA,EACnC;AAAA,EAEQ,eAAkBE,GAAuB;AAC3C,QAAAA,EAAS,eAAe;AAC1B,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAGjD,WAAOA,EAAS;AAAA,EAClB;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/clients/preferences/index.ts"],"sourcesContent":["import { ChannelType } from \"@knocklabs/types\";\nimport { ApiResponse } from \"../../api\";\nimport Knock from \"../../knock\";\nimport {\n ChannelTypePreferences,\n PreferenceOptions,\n SetPreferencesProperties,\n WorkflowPreferenceSetting,\n WorkflowPreferences,\n PreferenceSet,\n} from \"./interfaces\";\n\nconst DEFAULT_PREFERENCE_SET_ID = \"default\";\n\nfunction buildUpdateParam(param: WorkflowPreferenceSetting) {\n if (typeof param === \"object\") {\n return param;\n }\n\n return { subscribed: param };\n}\n\nclass Preferences {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n /**\n * @deprecated Use `user.getAllPreferences()` instead\n */\n async getAll() {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences`,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.getPreferences()` instead\n */\n async get(options: PreferenceOptions = {}) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async set(\n preferenceSet: SetPreferencesProperties,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n data: preferenceSet,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setChannelTypes(\n channelTypePreferences: ChannelTypePreferences,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/channel_types`,\n data: channelTypePreferences,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setChannelType(\n channelType: ChannelType,\n setting: boolean,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/channel_types/${channelType}`,\n data: { subscribed: setting },\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setWorkflows(\n workflowPreferences: WorkflowPreferences,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/workflows`,\n data: workflowPreferences,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setWorkflow(\n workflowKey: string,\n setting: WorkflowPreferenceSetting,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n const params = buildUpdateParam(setting);\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/workflows/${workflowKey}`,\n data: params,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setCategories(\n categoryPreferences: WorkflowPreferences,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/categories`,\n data: categoryPreferences,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setCategory(\n categoryKey: string,\n setting: WorkflowPreferenceSetting,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n const params = buildUpdateParam(setting);\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/categories/${categoryKey}`,\n data: params,\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n throw new Error(response.error || response.body);\n }\n\n return response.body as PreferenceSet;\n }\n}\n\nexport default Preferences;\n"],"names":["DEFAULT_PREFERENCE_SET_ID","buildUpdateParam","param","Preferences","instance","__publicField","result","options","preferenceSetId","preferenceSet","channelTypePreferences","channelType","setting","workflowPreferences","workflowKey","params","categoryPreferences","categoryKey","response"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/clients/preferences/index.ts"],"sourcesContent":["import { ChannelType } from \"@knocklabs/types\";\n\nimport { ApiResponse } from \"../../api\";\nimport Knock from \"../../knock\";\n\nimport {\n ChannelTypePreferences,\n PreferenceOptions,\n PreferenceSet,\n SetPreferencesProperties,\n WorkflowPreferenceSetting,\n WorkflowPreferences,\n} from \"./interfaces\";\n\nconst DEFAULT_PREFERENCE_SET_ID = \"default\";\n\nfunction buildUpdateParam(param: WorkflowPreferenceSetting) {\n if (typeof param === \"object\") {\n return param;\n }\n\n return { subscribed: param };\n}\n\nclass Preferences {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n /**\n * @deprecated Use `user.getAllPreferences()` instead\n */\n async getAll() {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences`,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.getPreferences()` instead\n */\n async get(options: PreferenceOptions = {}) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async set(\n preferenceSet: SetPreferencesProperties,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n data: preferenceSet,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setChannelTypes(\n channelTypePreferences: ChannelTypePreferences,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/channel_types`,\n data: channelTypePreferences,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setChannelType(\n channelType: ChannelType,\n setting: boolean,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/channel_types/${channelType}`,\n data: { subscribed: setting },\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setWorkflows(\n workflowPreferences: WorkflowPreferences,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/workflows`,\n data: workflowPreferences,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setWorkflow(\n workflowKey: string,\n setting: WorkflowPreferenceSetting,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n const params = buildUpdateParam(setting);\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/workflows/${workflowKey}`,\n data: params,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setCategories(\n categoryPreferences: WorkflowPreferences,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/categories`,\n data: categoryPreferences,\n });\n\n return this.handleResponse(result);\n }\n\n /**\n * @deprecated Use `user.setPreferences(preferenceSet, options)` instead\n */\n async setCategory(\n categoryKey: string,\n setting: WorkflowPreferenceSetting,\n options: PreferenceOptions = {},\n ) {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n const params = buildUpdateParam(setting);\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}/categories/${categoryKey}`,\n data: params,\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n throw new Error(response.error || response.body);\n }\n\n return response.body as PreferenceSet;\n }\n}\n\nexport default Preferences;\n"],"names":["DEFAULT_PREFERENCE_SET_ID","buildUpdateParam","param","Preferences","instance","__publicField","result","options","preferenceSetId","preferenceSet","channelTypePreferences","channelType","setting","workflowPreferences","workflowKey","params","categoryPreferences","categoryKey","response"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/clients/users/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { ChannelData, User } from \"../../interfaces\";\nimport Knock from \"../../knock\";\nimport {\n GetPreferencesOptions,\n PreferenceOptions,\n PreferenceSet,\n SetPreferencesProperties,\n} from \"../preferences/interfaces\";\n\nimport { GetChannelDataInput, SetChannelDataInput } from \"./interfaces\";\n\nconst DEFAULT_PREFERENCE_SET_ID = \"default\";\n\nclass UserClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n async get() {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}`,\n });\n\n return this.handleResponse<User>(result);\n }\n\n async identify(props: Record<string, any> = {}) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}`,\n params: props,\n });\n\n return this.handleResponse<User>(result);\n }\n\n async getAllPreferences() {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences`,\n });\n\n return this.handleResponse<PreferenceSet[]>(result);\n }\n\n async getPreferences(\n options: GetPreferencesOptions = {},\n ): Promise<PreferenceSet> {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n params: { tenant: options.tenant },\n });\n\n return this.handleResponse<PreferenceSet>(result);\n }\n\n async setPreferences(\n preferenceSet: SetPreferencesProperties,\n options: PreferenceOptions = {},\n ): Promise<PreferenceSet> {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n data: preferenceSet,\n });\n\n return this.handleResponse<PreferenceSet>(result);\n }\n\n async getChannelData<T = any>(params: GetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/channel_data/${params.channelId}`,\n });\n\n return this.handleResponse<ChannelData<T>>(result);\n }\n\n async setChannelData<T = any>({\n channelId,\n channelData,\n }: SetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/channel_data/${channelId}`,\n data: { data: channelData },\n });\n\n return this.handleResponse<ChannelData<T>>(result);\n }\n\n private handleResponse<T>(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n throw new Error(response.error || response.body);\n }\n\n return response.body as T;\n }\n}\n\nexport default UserClient;\n"],"names":["DEFAULT_PREFERENCE_SET_ID","UserClient","instance","__publicField","result","props","options","preferenceSetId","preferenceSet","params","channelId","channelData","response"],"mappings":";;;AAYA,MAAMA,IAA4B;AAElC,MAAMC,EAAW;AAAA,EAGf,YAAYC,GAAiB;AAFrB,IAAAC,EAAA;AAGN,SAAK,WAAWD;AAAA,EAClB;AAAA,EAEA,MAAM,MAAM;AACV,UAAME,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM;AAAA,IAAA,CACvC;AAEM,WAAA,KAAK,eAAqBA,CAAM;AAAA,EACzC;AAAA,EAEA,MAAM,SAASC,IAA6B,IAAI;AAC9C,UAAMD,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM;AAAA,MACtC,QAAQC;AAAA,IAAA,CACT;AAEM,WAAA,KAAK,eAAqBD,CAAM;AAAA,EACzC;AAAA,EAEA,MAAM,oBAAoB;AACxB,UAAMA,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM;AAAA,IAAA,CACvC;AAEM,WAAA,KAAK,eAAgCA,CAAM;AAAA,EACpD;AAAA,EAEA,MAAM,eACJE,IAAiC,IACT;AAClB,UAAAC,IAAkBD,EAAQ,iBAAiBN,GAE3CI,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,gBAAgBG,CAAe;AAAA,MACrE,QAAQ,EAAE,QAAQD,EAAQ,OAAO;AAAA,IAAA,CAClC;AAEM,WAAA,KAAK,eAA8BF,CAAM;AAAA,EAClD;AAAA,EAEA,MAAM,eACJI,GACAF,IAA6B,IACL;AAClB,UAAAC,IAAkBD,EAAQ,iBAAiBN,GAE3CI,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,gBAAgBG,CAAe;AAAA,MACrE,MAAMC;AAAA,IAAA,CACP;AAEM,WAAA,KAAK,eAA8BJ,CAAM;AAAA,EAClD;AAAA,EAEA,MAAM,eAAwBK,GAA6B;AACzD,UAAML,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,iBAAiBK,EAAO,SAAS;AAAA,IAAA,CACxE;AAEM,WAAA,KAAK,eAA+BL,CAAM;AAAA,EACnD;AAAA,EAEA,MAAM,eAAwB;AAAA,IAC5B,WAAAM;AAAA,IACA,aAAAC;AAAA,EAAA,GACsB;AACtB,UAAMP,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,iBAAiBM,CAAS;AAAA,MAChE,MAAM,EAAE,MAAMC,EAAY;AAAA,IAAA,CAC3B;AAEM,WAAA,KAAK,eAA+BP,CAAM;AAAA,EACnD;AAAA,EAEQ,eAAkBQ,GAAuB;AAC3C,QAAAA,EAAS,eAAe;AAC1B,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAGjD,WAAOA,EAAS;AAAA,EAClB;AACF;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/clients/users/index.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\n\nimport { ApiResponse } from \"../../api\";\nimport { ChannelData, User } from \"../../interfaces\";\nimport Knock from \"../../knock\";\nimport {\n GetPreferencesOptions,\n PreferenceOptions,\n PreferenceSet,\n SetPreferencesProperties,\n} from \"../preferences/interfaces\";\n\nimport { GetChannelDataInput, SetChannelDataInput } from \"./interfaces\";\n\nconst DEFAULT_PREFERENCE_SET_ID = \"default\";\n\nclass UserClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n async get() {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}`,\n });\n\n return this.handleResponse<User>(result);\n }\n\n async identify(props: GenericData = {}) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}`,\n params: props,\n });\n\n return this.handleResponse<User>(result);\n }\n\n async getAllPreferences() {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences`,\n });\n\n return this.handleResponse<PreferenceSet[]>(result);\n }\n\n async getPreferences(\n options: GetPreferencesOptions = {},\n ): Promise<PreferenceSet> {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n params: { tenant: options.tenant },\n });\n\n return this.handleResponse<PreferenceSet>(result);\n }\n\n async setPreferences(\n preferenceSet: SetPreferencesProperties,\n options: PreferenceOptions = {},\n ): Promise<PreferenceSet> {\n const preferenceSetId = options.preferenceSet || DEFAULT_PREFERENCE_SET_ID;\n\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/preferences/${preferenceSetId}`,\n data: preferenceSet,\n });\n\n return this.handleResponse<PreferenceSet>(result);\n }\n\n async getChannelData<T = GenericData>(params: GetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/users/${this.instance.userId}/channel_data/${params.channelId}`,\n });\n\n return this.handleResponse<ChannelData<T>>(result);\n }\n\n async setChannelData<T = GenericData>({\n channelId,\n channelData,\n }: SetChannelDataInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/users/${this.instance.userId}/channel_data/${channelId}`,\n data: { data: channelData },\n });\n\n return this.handleResponse<ChannelData<T>>(result);\n }\n\n private handleResponse<T>(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n throw new Error(response.error || response.body);\n }\n\n return response.body as T;\n }\n}\n\nexport default UserClient;\n"],"names":["DEFAULT_PREFERENCE_SET_ID","UserClient","instance","__publicField","result","props","options","preferenceSetId","preferenceSet","params","channelId","channelData","response"],"mappings":";;;AAcA,MAAMA,IAA4B;AAElC,MAAMC,EAAW;AAAA,EAGf,YAAYC,GAAiB;AAFrB,IAAAC,EAAA;AAGN,SAAK,WAAWD;AAAA,EAClB;AAAA,EAEA,MAAM,MAAM;AACV,UAAME,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM;AAAA,IAAA,CACvC;AAEM,WAAA,KAAK,eAAqBA,CAAM;AAAA,EACzC;AAAA,EAEA,MAAM,SAASC,IAAqB,IAAI;AACtC,UAAMD,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM;AAAA,MACtC,QAAQC;AAAA,IAAA,CACT;AAEM,WAAA,KAAK,eAAqBD,CAAM;AAAA,EACzC;AAAA,EAEA,MAAM,oBAAoB;AACxB,UAAMA,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM;AAAA,IAAA,CACvC;AAEM,WAAA,KAAK,eAAgCA,CAAM;AAAA,EACpD;AAAA,EAEA,MAAM,eACJE,IAAiC,IACT;AAClB,UAAAC,IAAkBD,EAAQ,iBAAiBN,GAE3CI,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,gBAAgBG,CAAe;AAAA,MACrE,QAAQ,EAAE,QAAQD,EAAQ,OAAO;AAAA,IAAA,CAClC;AAEM,WAAA,KAAK,eAA8BF,CAAM;AAAA,EAClD;AAAA,EAEA,MAAM,eACJI,GACAF,IAA6B,IACL;AAClB,UAAAC,IAAkBD,EAAQ,iBAAiBN,GAE3CI,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,gBAAgBG,CAAe;AAAA,MACrE,MAAMC;AAAA,IAAA,CACP;AAEM,WAAA,KAAK,eAA8BJ,CAAM;AAAA,EAClD;AAAA,EAEA,MAAM,eAAgCK,GAA6B;AACjE,UAAML,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,iBAAiBK,EAAO,SAAS;AAAA,IAAA,CACxE;AAEM,WAAA,KAAK,eAA+BL,CAAM;AAAA,EACnD;AAAA,EAEA,MAAM,eAAgC;AAAA,IACpC,WAAAM;AAAA,IACA,aAAAC;AAAA,EAAA,GACsB;AACtB,UAAMP,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,aAAa,KAAK,SAAS,MAAM,iBAAiBM,CAAS;AAAA,MAChE,MAAM,EAAE,MAAMC,EAAY;AAAA,IAAA,CAC3B;AAEM,WAAA,KAAK,eAA+BP,CAAM;AAAA,EACnD;AAAA,EAEQ,eAAkBQ,GAAuB;AAC3C,QAAAA,EAAS,eAAe;AAC1B,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAGjD,WAAOA,EAAS;AAAA,EAClB;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAc,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,WAAW;IAE1B,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAgB;IAE5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEtB,OAAO,EAAE,gBAAgB;IAiC/B,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBhE,OAAO,CAAC,eAAe;CAuBxB;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAc,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,WAAW;IAE1B,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAgB;IAE5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEtB,OAAO,EAAE,gBAAgB;IAgC/B,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBhE,OAAO,CAAC,eAAe;CAuBxB;AAED,eAAe,SAAS,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GenericData } from "@knocklabs/types";
1
2
  import { StoreApi } from "zustand";
2
3
  import Knock from "../../knock";
3
4
  import { FeedClientOptions, FetchFeedOptions } from "./interfaces";
@@ -31,16 +32,16 @@ declare class Feed {
31
32
  on(eventName: BindableFeedEvent, callback: FeedEventCallback | FeedRealTimeCallback): void;
32
33
  off(eventName: BindableFeedEvent, callback: FeedEventCallback | FeedRealTimeCallback): void;
33
34
  getState(): FeedStoreState;
34
- markAsSeen(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
35
+ markAsSeen(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
35
36
  markAllAsSeen(): Promise<import("../..").BulkOperation>;
36
- markAsUnseen(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
37
- markAsRead(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
37
+ markAsUnseen(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
38
+ markAsRead(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
38
39
  markAllAsRead(): Promise<import("../..").BulkOperation>;
39
- markAsUnread(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
40
- markAsInteracted(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
41
- markAsArchived(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
40
+ markAsUnread(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
41
+ markAsInteracted(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
42
+ markAsArchived(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
42
43
  markAllAsArchived(): Promise<import("../..").BulkOperation>;
43
- markAsUnarchived(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<any>[]>;
44
+ markAsUnarchived(itemOrItems: FeedItemOrItems): Promise<import("../messages/interfaces").Message<GenericData>[]>;
44
45
  fetch(options?: FetchFeedOptions): Promise<{
45
46
  status: "ok" | "error";
46
47
  data: any;
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/feed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,aAAa,CAAC;AAOhC,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,eAAe,EAEf,oBAAoB,EACpB,cAAc,EACf,MAAM,SAAS,CAAC;AASjB,cAAM,IAAI;IAeN,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAfzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,8BAA8B,CAAkB;IACxD,OAAO,CAAC,uBAAuB,CAAwB;IACvD,OAAO,CAAC,iCAAiC,CAAkB;IAGpD,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAG5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,iBAAiB;IAgB5B;;OAEG;IACH,YAAY;IAWZ;;;OAGG;IACH,QAAQ;IAoBR,2EAA2E;IAC3E,OAAO;IAWP,gBAAgB;IAmBhB,EAAE,CACA,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB;IAKpD,GAAG,CACD,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB;IAKpD,QAAQ;IAIF,UAAU,CAAC,WAAW,EAAE,eAAe;IAYvC,aAAa;IA0Cb,YAAY,CAAC,WAAW,EAAE,eAAe;IAWzC,UAAU,CAAC,WAAW,EAAE,eAAe;IAYvC,aAAa;IA0Cb,YAAY,CAAC,WAAW,EAAE,eAAe;IAWzC,gBAAgB,CAAC,WAAW,EAAE,eAAe;IAuB7C,cAAc,CAAC,WAAW,EAAE,eAAe;IAuE3C,iBAAiB;IA2BjB,gBAAgB,CAAC,WAAW,EAAE,eAAe;IAS7C,KAAK,CAAC,OAAO,GAAE,gBAAqB;;;;IA0EpC,aAAa;IAenB,OAAO,CAAC,SAAS;YAQH,oBAAoB;IAclC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iCAAiC;YAiD3B,gBAAgB;YAiBhB,oBAAoB;IA2BlC,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,4BAA4B;IA0BpC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,sBAAsB;CA2B/B;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,MAAM,aAAa,CAAC;AAOhC,OAAO,EACL,iBAAiB,EAIjB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,eAAe,EAEf,oBAAoB,EACpB,cAAc,EACf,MAAM,SAAS,CAAC;AASjB,cAAM,IAAI;IAeN,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAfzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,8BAA8B,CAAkB;IACxD,OAAO,CAAC,uBAAuB,CAAwB;IACvD,OAAO,CAAC,iCAAiC,CAAkB;IAGpD,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAG5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,iBAAiB;IAgB5B;;OAEG;IACH,YAAY;IAWZ;;;OAGG;IACH,QAAQ;IAoBR,2EAA2E;IAC3E,OAAO;IAWP,gBAAgB;IAmBhB,EAAE,CACA,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB;IAKpD,GAAG,CACD,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,oBAAoB;IAKpD,QAAQ;IAIF,UAAU,CAAC,WAAW,EAAE,eAAe;IAYvC,aAAa;IA0Cb,YAAY,CAAC,WAAW,EAAE,eAAe;IAWzC,UAAU,CAAC,WAAW,EAAE,eAAe;IAYvC,aAAa;IA0Cb,YAAY,CAAC,WAAW,EAAE,eAAe;IAWzC,gBAAgB,CAAC,WAAW,EAAE,eAAe;IAuB7C,cAAc,CAAC,WAAW,EAAE,eAAe;IAuE3C,iBAAiB;IA2BjB,gBAAgB,CAAC,WAAW,EAAE,eAAe;IAS7C,KAAK,CAAC,OAAO,GAAE,gBAAqB;;;;IA0EpC,aAAa;IAenB,OAAO,CAAC,SAAS;YAQH,oBAAoB;IAclC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iCAAiC;YAiD3B,gBAAgB;YAiBhB,oBAAoB;IA2BlC,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,4BAA4B;IA0BpC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,sBAAsB;CA2B/B;AAED,eAAe,IAAI,CAAC"}
@@ -67,7 +67,7 @@ export interface FeedMetadata {
67
67
  unread_count: number;
68
68
  unseen_count: number;
69
69
  }
70
- export interface FeedResponse<T = any> {
70
+ export interface FeedResponse<T = GenericData> {
71
71
  entries: FeedItem<T>[];
72
72
  meta: FeedMetadata;
73
73
  page_info: PageInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IAEvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAE1C,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAE5C,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAGxC,mCAAmC,CAAC,EAAE,MAAM,CAAC;CAC9C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;IAChE,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACnC,GAAG,IAAI,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,WAAW;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,QAAQ,CAAC;CACrB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IAEvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE/B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAE1C,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAE5C,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAGxC,mCAAmC,CAAC,EAAE,MAAM,CAAC;CAC9C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;IAChE,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACnC,GAAG,IAAI,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;CAC1C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,WAAW;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,WAAW;IAC3C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,QAAQ,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA6BzC,MAAM,CAAC,OAAO,UAAU,WAAW,uDA0DlC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAmCzC,MAAM,CAAC,OAAO,UAAU,WAAW,uDA0DlC"}
@@ -1,4 +1,4 @@
1
- import { PageInfo } from "@knocklabs/types";
1
+ import { GenericData, PageInfo } from "@knocklabs/types";
2
2
  import { NetworkStatus } from "../../networkStatus";
3
3
  import { FeedItem, FeedMetadata, FeedResponse } from "./interfaces";
4
4
  export type StoreFeedResultOptions = {
@@ -23,7 +23,7 @@ export interface FeedMessagesReceivedPayload {
23
23
  export type FeedRealTimeEvent = "messages.new";
24
24
  export type FeedEvent = FeedRealTimeEvent | "items.received.page" | "items.received.realtime" | "items.archived" | "items.unarchived" | "items.seen" | "items.unseen" | "items.read" | "items.unread" | "items.all_archived" | "items.all_read" | "items.all_seen";
25
25
  export type BindableFeedEvent = FeedEvent | "items.received.*" | "items.*";
26
- export interface FeedEventPayload<T = any> {
26
+ export interface FeedEventPayload<T = GenericData> {
27
27
  event: Omit<FeedEvent, "messages.new">;
28
28
  items: FeedItem<T>[];
29
29
  metadata: FeedMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC3E,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,YAAY,CAAC;CACxB;AAQD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,MAAM,SAAS,GACjB,iBAAiB,GACjB,qBAAqB,GACrB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,CAAC;AAGrB,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACvC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC3E,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,YAAY,CAAC;CACxB;AAQD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAE/C,MAAM,MAAM,SAAS,GACjB,iBAAiB,GACjB,qBAAqB,GACrB,yBAAyB,GACzB,gBAAgB,GAChB,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,cAAc,GACd,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,CAAC;AAGrB,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,WAAW;IAC/C,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GenericData } from "@knocklabs/types";
1
2
  import { RecipientRef } from "../..";
2
3
  export type MessageDeliveryStatus = "queued" | "sent" | "delivered" | "delivery_attempted" | "undelivered" | "not_sent";
3
4
  export interface NotificationSource {
@@ -6,7 +7,7 @@ export interface NotificationSource {
6
7
  categories: string[];
7
8
  }
8
9
  export type MessageEngagementStatus = "seen" | "read" | "interacted" | "archived";
9
- export interface Message<T = any> {
10
+ export interface Message<T = GenericData> {
10
11
  id: string;
11
12
  channel_id: string;
12
13
  recipient: RecipientRef;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/messages/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,MAAM,GACN,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,GACN,YAAY,GACZ,UAAU,CAAC;AAEf,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,QAAQ,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1D,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;QAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/messages/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,MAAM,GACN,WAAW,GACX,oBAAoB,GACpB,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,GACN,YAAY,GACZ,UAAU,CAAC;AAEf,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,WAAW;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,QAAQ,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC1D,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;QAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GenericData } from "@knocklabs/types";
1
2
  import { ChannelData } from "../../interfaces";
2
3
  import Knock from "../../knock";
3
4
  type GetChannelDataInput = {
@@ -9,12 +10,12 @@ type SetChannelDataInput = {
9
10
  objectId: string;
10
11
  collection: string;
11
12
  channelId: string;
12
- data: any;
13
+ data: GenericData;
13
14
  };
14
15
  declare class ObjectClient {
15
16
  private instance;
16
17
  constructor(instance: Knock);
17
- getChannelData<T = any>({ collection, objectId, channelId, }: GetChannelDataInput): Promise<ChannelData<T>>;
18
+ getChannelData<T = GenericData>({ collection, objectId, channelId, }: GetChannelDataInput): Promise<ChannelData<T>>;
18
19
  setChannelData({ objectId, collection, channelId, data, }: SetChannelDataInput): Promise<unknown>;
19
20
  private handleResponse;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/objects/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAGrB,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,EAC5B,UAAU,EACV,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB;IAShB,cAAc,CAAC,EACnB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,GACL,EAAE,mBAAmB;IAUtB,OAAO,CAAC,cAAc;CAOvB;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,cAAM,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAGrB,cAAc,CAAC,CAAC,GAAG,WAAW,EAAE,EACpC,UAAU,EACV,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB;IAShB,cAAc,CAAC,EACnB,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,GACL,EAAE,mBAAmB;IAUtB,OAAO,CAAC,cAAc;CAOvB;AAED,eAAe,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ChannelType } from "@knocklabs/types";
2
2
  import Knock from "../../knock";
3
- import { ChannelTypePreferences, PreferenceOptions, SetPreferencesProperties, WorkflowPreferenceSetting, WorkflowPreferences, PreferenceSet } from "./interfaces";
3
+ import { ChannelTypePreferences, PreferenceOptions, PreferenceSet, SetPreferencesProperties, WorkflowPreferenceSetting, WorkflowPreferences } from "./interfaces";
4
4
  declare class Preferences {
5
5
  private instance;
6
6
  constructor(instance: Knock);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/preferences/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACd,MAAM,cAAc,CAAC;AAYtB,cAAM,WAAW;IACf,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAI3B;;OAEG;IACG,MAAM;IASZ;;OAEG;IACG,GAAG,CAAC,OAAO,GAAE,iBAAsB;IAWzC;;OAEG;IACG,GAAG,CACP,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,eAAe,CACnB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,cAAc,CAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,YAAY,CAChB,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,iBAAsB;IAcjC;;OAEG;IACG,aAAa,CACjB,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,iBAAsB;IAcjC,OAAO,CAAC,cAAc;CAOvB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/preferences/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAYtB,cAAM,WAAW;IACf,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAI3B;;OAEG;IACG,MAAM;IASZ;;OAEG;IACG,GAAG,CAAC,OAAO,GAAE,iBAAsB;IAWzC;;OAEG;IACG,GAAG,CACP,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,eAAe,CACnB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,cAAc,CAClB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,YAAY,CAChB,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,iBAAsB;IAcjC;;OAEG;IACG,aAAa,CACjB,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,GAAE,iBAAsB;IAajC;;OAEG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,EAClC,OAAO,GAAE,iBAAsB;IAcjC,OAAO,CAAC,cAAc;CAOvB;AAED,eAAe,WAAW,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GenericData } from "@knocklabs/types";
1
2
  import { ChannelData, User } from "../../interfaces";
2
3
  import Knock from "../../knock";
3
4
  import { GetPreferencesOptions, PreferenceOptions, PreferenceSet, SetPreferencesProperties } from "../preferences/interfaces";
@@ -6,12 +7,12 @@ declare class UserClient {
6
7
  private instance;
7
8
  constructor(instance: Knock);
8
9
  get(): Promise<User>;
9
- identify(props?: Record<string, any>): Promise<User>;
10
+ identify(props?: GenericData): Promise<User>;
10
11
  getAllPreferences(): Promise<PreferenceSet[]>;
11
12
  getPreferences(options?: GetPreferencesOptions): Promise<PreferenceSet>;
12
13
  setPreferences(preferenceSet: SetPreferencesProperties, options?: PreferenceOptions): Promise<PreferenceSet>;
13
- getChannelData<T = any>(params: GetChannelDataInput): Promise<ChannelData<T>>;
14
- setChannelData<T = any>({ channelId, channelData, }: SetChannelDataInput): Promise<ChannelData<T>>;
14
+ getChannelData<T = GenericData>(params: GetChannelDataInput): Promise<ChannelData<T>>;
15
+ setChannelData<T = GenericData>({ channelId, channelData, }: SetChannelDataInput): Promise<ChannelData<T>>;
15
16
  private handleResponse;
16
17
  }
17
18
  export default UserClient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/users/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxE,cAAM,UAAU;IACd,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAIrB,GAAG;IASH,QAAQ,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAUxC,iBAAiB;IASjB,cAAc,CAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,aAAa,CAAC;IAYnB,cAAc,CAClB,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC;IAYnB,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,mBAAmB;IASnD,cAAc,CAAC,CAAC,GAAG,GAAG,EAAE,EAC5B,SAAS,EACT,WAAW,GACZ,EAAE,mBAAmB;IAUtB,OAAO,CAAC,cAAc;CAOvB;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxE,cAAM,UAAU;IACd,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAIrB,GAAG;IASH,QAAQ,CAAC,KAAK,GAAE,WAAgB;IAUhC,iBAAiB;IASjB,cAAc,CAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,aAAa,CAAC;IAYnB,cAAc,CAClB,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC;IAYnB,cAAc,CAAC,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,mBAAmB;IAS3D,cAAc,CAAC,CAAC,GAAG,WAAW,EAAE,EACpC,SAAS,EACT,WAAW,GACZ,EAAE,mBAAmB;IAUtB,OAAO,CAAC,cAAc;CAOvB;AAED,eAAe,UAAU,CAAC"}
@@ -1,6 +1,7 @@
1
+ import { GenericData } from "@knocklabs/types";
1
2
  export interface SetChannelDataInput {
2
3
  channelId: string;
3
- channelData: Record<string, any>;
4
+ channelData: GenericData;
4
5
  }
5
6
  export interface GetChannelDataInput {
6
7
  channelId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/users/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/users/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,4 +1,5 @@
1
1
  import { GenericData } from "@knocklabs/types";
2
+ import { JwtPayload } from "jwt-decode";
2
3
  export type LogLevel = "debug";
3
4
  export interface KnockOptions {
4
5
  host?: string;
@@ -33,11 +34,11 @@ export interface Activity<T = GenericData> {
33
34
  actor: Recipient | null;
34
35
  data: T | null;
35
36
  }
36
- export interface ChannelData<T = any> {
37
+ export interface ChannelData<T = GenericData> {
37
38
  channel_id: string;
38
39
  data: T;
39
40
  }
40
- export type UserTokenExpiringCallback = (currentToken: string, decodedToken: any) => Promise<string | void>;
41
+ export type UserTokenExpiringCallback = (currentToken: string, decodedToken: JwtPayload) => Promise<string | void>;
41
42
  export interface AuthenticateOptions {
42
43
  onUserTokenExpiring?: UserTokenExpiringCallback;
43
44
  timeBeforeExpirationInMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,WAAW;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,WAAW;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,GAAG,KACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,WAAW;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,WAAW,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,WAAW;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,WAAW;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,yBAAyB,GAAG,CACtC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,KACrB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knocklabs/client",
3
- "version": "0.10.9",
3
+ "version": "0.10.11",
4
4
  "description": "The clientside library for interacting with Knock",
5
5
  "homepage": "https://github.com/knocklabs/javascript/tree/main/packages/client",
6
6
  "author": "@knocklabs",
@@ -33,15 +33,14 @@
33
33
  },
34
34
  "scripts": {
35
35
  "dev": "tsc && vite build --watch --emptyOutDir false",
36
- "lint": "eslint \"src/**/*.+(ts|js|tsx)\"",
36
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
37
37
  "format": "prettier \"src/**/*.{js,ts,tsx}\" --write",
38
38
  "format:check": "prettier \"src/**/*.{js,ts,tsx}\" --check",
39
39
  "test": "vitest run",
40
40
  "test:watch": "vitest",
41
+ "type:check": "tsc --noEmit",
41
42
  "coverage": "vitest run --coverage",
42
43
  "clean": "rimraf dist",
43
- "type-check": "tsc --noEmit",
44
- "type-check:watch": "npm run type-check -- --watch",
45
44
  "build": "yarn clean && yarn build:cjs && yarn build:esm",
46
45
  "build:esm": "BUILD_TARGET=esm; vite build",
47
46
  "build:cjs": "BUILD_TARGET=cjs; vite build",
@@ -56,22 +55,22 @@
56
55
  "@babel/preset-env": "^7.16.7",
57
56
  "@babel/preset-typescript": "^7.16.7",
58
57
  "@types/jsonwebtoken": "^9.0.5",
59
- "@typescript-eslint/eslint-plugin": "^6.10.0",
60
- "@typescript-eslint/parser": "^6.10.0",
58
+ "@typescript-eslint/eslint-plugin": "^6.20.0",
59
+ "@typescript-eslint/parser": "^6.20.0",
61
60
  "cross-env": "^7.0.3",
62
61
  "crypto": "^1.0.1",
63
- "eslint": "^8.53.0",
62
+ "eslint": "^8.56.0",
64
63
  "jsonwebtoken": "^9.0.2",
65
64
  "prettier": "^3.1.0",
66
65
  "rimraf": "^5.0.5",
67
66
  "rollup": "^2.46.0",
68
- "typescript": "^5.2.2",
67
+ "typescript": "^5.3.3",
69
68
  "vite": "^5.0.0",
70
69
  "vitest": "^1.2.2"
71
70
  },
72
71
  "dependencies": {
73
72
  "@babel/runtime": "^7.23.9",
74
- "@knocklabs/types": "^0.1.3",
73
+ "@knocklabs/types": "^0.1.4",
75
74
  "@types/phoenix": "^1.5.4",
76
75
  "axios": "^1.6.0",
77
76
  "axios-retry": "^3.1.9",
package/src/api.ts CHANGED
@@ -50,7 +50,6 @@ class ApiClient {
50
50
  });
51
51
  }
52
52
 
53
- // @ts-ignore
54
53
  axiosRetry(this.axiosClient, {
55
54
  retries: 3,
56
55
  retryCondition: this.canRetryRequest,
@@ -1,3 +1,4 @@
1
+ import { GenericData } from "@knocklabs/types";
1
2
  import EventEmitter from "eventemitter2";
2
3
  import { Channel } from "phoenix";
3
4
  import { StoreApi } from "zustand";
@@ -42,9 +43,9 @@ class Feed {
42
43
  private defaultOptions: FeedClientOptions;
43
44
  private broadcastChannel!: BroadcastChannel | null;
44
45
  private disconnectTimer: ReturnType<typeof setTimeout> | null = null;
45
- private hasSubscribedToRealTimeUpdates: Boolean = false;
46
+ private hasSubscribedToRealTimeUpdates: boolean = false;
46
47
  private visibilityChangeHandler: () => void = () => {};
47
- private visibilityChangeListenerConnected: Boolean = false;
48
+ private visibilityChangeListenerConnected: boolean = false;
48
49
 
49
50
  // The raw store instance, used for binding in React and other environments
50
51
  public store: StoreApi<FeedStoreState>;
@@ -659,7 +660,7 @@ class Feed {
659
660
  }
660
661
  }
661
662
 
662
- private broadcastOverChannel(type: string, payload: any) {
663
+ private broadcastOverChannel(type: string, payload: GenericData) {
663
664
  // The broadcastChannel may not be available in non-browser environments
664
665
  if (!this.broadcastChannel) {
665
666
  return;
@@ -94,7 +94,7 @@ export interface FeedMetadata {
94
94
  unseen_count: number;
95
95
  }
96
96
 
97
- export interface FeedResponse<T = any> {
97
+ export interface FeedResponse<T = GenericData> {
98
98
  entries: FeedItem<T>[];
99
99
  meta: FeedMetadata;
100
100
  page_info: PageInfo;
@@ -1,4 +1,5 @@
1
- import create from "zustand/vanilla";
1
+ import { GenericData } from "@knocklabs/types";
2
+ import zustand from "zustand/vanilla";
2
3
 
3
4
  import { NetworkStatus } from "../../networkStatus";
4
5
 
@@ -6,6 +7,12 @@ import { FeedItem } from "./interfaces";
6
7
  import { FeedStoreState } from "./types";
7
8
  import { deduplicateItems, sortItems } from "./utils";
8
9
 
10
+ // Get the correct Zustand function. Caused by some issues in v3 exports
11
+ // https://github.com/pmndrs/zustand/issues/334
12
+ const create: typeof zustand =
13
+ // @ts-expect-error workaround for issue above
14
+ typeof zustand === "function" ? zustand : zustand.default;
15
+
9
16
  function processItems(items: FeedItem[]) {
10
17
  const deduped = deduplicateItems(items);
11
18
  const sorted = sortItems(deduped);
@@ -53,7 +60,7 @@ export default function createStore() {
53
60
  set((state) => {
54
61
  // We resort the list on set, so concating everything is fine (if a bit suboptimal)
55
62
  const items = options.shouldAppend
56
- ? processItems(state.items.concat(entries))
63
+ ? processItems(state.items.concat(entries as FeedItem<GenericData>[]))
57
64
  : entries;
58
65
 
59
66
  return {