@knocklabs/client 0.15.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.1
4
+
5
+ ### Patch Changes
6
+
7
+ - befd7b9: fix: when reseting the feed, real-time notifications stop working
8
+
3
9
  ## 0.15.0
4
10
 
5
11
  ### Minor Changes
@@ -1,2 +1,2 @@
1
- "use strict";var f=Object.defineProperty;var g=(s,t,e)=>t in s?f(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var l=(s,t,e)=>g(s,typeof t!="symbol"?t+"":t,e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("@tanstack/store"),d=require("../../networkStatus.js"),S=require("./utils.js");function m(s){const t=S.deduplicateItems(s);return S.sortItems(t)}const w={shouldSetPage:!0,shouldAppend:!1},u={items:[],metadata:{total_count:0,unread_count:0,unseen_count:0},pageInfo:{before:null,after:null,page_size:50},loading:!1,networkStatus:d.NetworkStatus.ready,setResult:()=>{},setMetadata:()=>{},setNetworkStatus:()=>{},resetStore:()=>{},setItemAttrs:()=>{}},k=()=>{const s=new p.Store(u);return s.setState(t=>({...t,networkStatus:d.NetworkStatus.ready,loading:!1,setNetworkStatus:e=>s.setState(r=>({...r,networkStatus:e,loading:e===d.NetworkStatus.loading})),setResult:({entries:e,meta:r,page_info:i},o=w)=>s.setState(a=>{const n=o.shouldAppend?m(a.items.concat(e)):e;return{...a,items:n,metadata:r,pageInfo:o.shouldSetPage?i:a.pageInfo,loading:!1,networkStatus:d.NetworkStatus.ready}}),setMetadata:e=>s.setState(r=>({...r,metadata:e})),resetStore:(e=u.metadata)=>s.setState(()=>({...u,metadata:e})),setItemAttrs:(e,r)=>{const i=e.reduce((o,a)=>({...o,[a]:r}),{});return s.setState(o=>{const a=o.items.map(n=>i[n.id]?{...n,...i[n.id]}:n);return{...o,items:a}})}})),s};class c{constructor(t){l(this,"store");this.store=t}getState(){return this.store.state}setState(t){this.store.setState(typeof t=="function"?t:()=>t)}getInitialState(){return u}subscribe(t){return this.store.subscribe(e=>t(e.currentVal))}}function I(){const s=k();return new c(s)}exports.FeedStore=c;exports.default=I;exports.initialStoreState=u;
1
+ "use strict";var f=Object.defineProperty;var g=(t,e,s)=>e in t?f(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var d=(t,e,s)=>g(t,typeof e!="symbol"?e+"":e,s);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("@tanstack/store"),S=require("../../networkStatus.js"),l=require("./utils.js");function p(t){const e=l.deduplicateItems(t);return l.sortItems(e)}const w={shouldSetPage:!0,shouldAppend:!1},u={items:[],metadata:{total_count:0,unread_count:0,unseen_count:0},pageInfo:{before:null,after:null,page_size:50},loading:!1,networkStatus:S.NetworkStatus.ready,setResult:()=>{},setMetadata:()=>{},setNetworkStatus:()=>{},resetStore:()=>{},setItemAttrs:()=>{}},k=()=>{const t=new m.Store(u);return t.setState(e=>({...e,networkStatus:S.NetworkStatus.ready,loading:!1,setNetworkStatus:s=>t.setState(r=>({...r,networkStatus:s,loading:s===S.NetworkStatus.loading})),setResult:({entries:s,meta:r,page_info:i},a=w)=>t.setState(o=>{const n=a.shouldAppend?p(o.items.concat(s)):s;return{...o,items:n,metadata:r,pageInfo:a.shouldSetPage?i:o.pageInfo,loading:!1,networkStatus:S.NetworkStatus.ready}}),setMetadata:s=>t.setState(r=>({...r,metadata:s})),resetStore:(s=u.metadata)=>t.setState(()=>({...u,setResult:t.state.setResult,setMetadata:t.state.setMetadata,setNetworkStatus:t.state.setNetworkStatus,resetStore:t.state.resetStore,setItemAttrs:t.state.setItemAttrs,metadata:s})),setItemAttrs:(s,r)=>{const i=s.reduce((a,o)=>({...a,[o]:r}),{});return t.setState(a=>{const o=a.items.map(n=>i[n.id]?{...n,...i[n.id]}:n);return{...a,items:o}})}})),t};class c{constructor(e){d(this,"store");this.store=e}getState(){return this.store.state}setState(e){this.store.setState(typeof e=="function"?e:()=>e)}getInitialState(){return u}subscribe(e){return this.store.subscribe(s=>e(s.currentVal))}}function I(){const t=k();return new c(t)}exports.FeedStore=c;exports.default=I;exports.initialStoreState=u;
2
2
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sources":["../../../../src/clients/feed/store.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\nimport { Store } from \"@tanstack/store\";\n\nimport { NetworkStatus } from \"../../networkStatus\";\n\nimport { FeedItem, FeedMetadata, FeedResponse } from \"./interfaces\";\nimport { FeedStoreState, StoreFeedResultOptions } 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\nexport const initialStoreState: FeedStoreState = {\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 loading: false,\n networkStatus: NetworkStatus.ready,\n setResult: () => {},\n setMetadata: () => {},\n setNetworkStatus: () => {},\n resetStore: () => {},\n setItemAttrs: () => {},\n};\n\n/**\n * Initalize the store with tanstack store so it can be used within our\n * FeedStore class. We do this seperately so that we have the ability to\n * change which store library we use in the future if need be.\n */\nconst initalizeStore = () => {\n const store = new Store(initialStoreState);\n\n store.setState((state) => ({\n ...state,\n // The network status indicates what's happening with the request\n networkStatus: NetworkStatus.ready,\n loading: false,\n setNetworkStatus: (networkStatus: NetworkStatus) =>\n store.setState((state) => ({\n ...state,\n networkStatus,\n loading: networkStatus === NetworkStatus.loading,\n })),\n\n setResult: (\n { entries, meta, page_info }: FeedResponse,\n options: StoreFeedResultOptions = defaultSetResultOptions,\n ) =>\n store.setState((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 ...state,\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: FeedMetadata) =>\n store.setState((state) => ({ ...state, metadata })),\n\n resetStore: (metadata = initialStoreState.metadata) =>\n store.setState(() => ({ ...initialStoreState, metadata })),\n\n setItemAttrs: (itemIds: Array<string>, attrs: object) => {\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 store.setState((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 { ...state, items };\n });\n },\n }));\n\n return store;\n};\n\n/**\n * The FeedStore class is a wrapper for our store solution that's\n * based on the same shape as zustand. This wrapping class allows\n * us to maintain backwards compatibility with the zustand model\n * while still allowing us to utilize tanstack store for the\n * underlying store solution.\n */\nexport class FeedStore {\n store: Store<FeedStoreState>;\n\n constructor(store: Store<FeedStoreState>) {\n this.store = store;\n }\n\n getState() {\n return this.store.state;\n }\n\n setState(\n updater: ((state: FeedStoreState) => FeedStoreState) | FeedStoreState,\n ) {\n this.store.setState(\n typeof updater === \"function\" ? updater : () => updater,\n );\n }\n\n getInitialState() {\n return initialStoreState;\n }\n\n subscribe(listener: (state: FeedStoreState) => void) {\n return this.store.subscribe((state) => listener(state.currentVal));\n }\n}\n\nexport default function createStore() {\n const store = initalizeStore();\n return new FeedStore(store);\n}\n"],"names":["processItems","items","deduped","deduplicateItems","sortItems","defaultSetResultOptions","initialStoreState","NetworkStatus","initalizeStore","store","Store","state","networkStatus","entries","meta","page_info","options","metadata","itemIds","attrs","itemUpdatesMap","acc","itemId","item","FeedStore","__publicField","updater","listener","createStore"],"mappings":"+WASA,SAASA,EAAaC,EAAmB,CACjC,MAAAC,EAAUC,mBAAiBF,CAAK,EAG/B,OAFQG,YAAUF,CAAO,CAGlC,CAEA,MAAMG,EAA0B,CAC9B,cAAe,GACf,aAAc,EAChB,EAEaC,EAAoC,CAC/C,MAAO,CAAC,EACR,SAAU,CACR,YAAa,EACb,aAAc,EACd,aAAc,CAChB,EACA,SAAU,CACR,OAAQ,KACR,MAAO,KACP,UAAW,EACb,EACA,QAAS,GACT,cAAeC,EAAc,cAAA,MAC7B,UAAW,IAAM,CAAC,EAClB,YAAa,IAAM,CAAC,EACpB,iBAAkB,IAAM,CAAC,EACzB,WAAY,IAAM,CAAC,EACnB,aAAc,IAAM,CAAA,CACtB,EAOMC,EAAiB,IAAM,CACrB,MAAAC,EAAQ,IAAIC,EAAA,MAAMJ,CAAiB,EAEnCG,OAAAA,EAAA,SAAUE,IAAW,CACzB,GAAGA,EAEH,cAAeJ,EAAc,cAAA,MAC7B,QAAS,GACT,iBAAmBK,GACjBH,EAAM,SAAUE,IAAW,CACzB,GAAGA,EAAA,cACHC,EACA,QAASA,IAAkBL,gBAAc,OAAA,EACzC,EAEJ,UAAW,CACT,CAAE,QAAAM,EAAS,KAAAC,EAAM,UAAAC,CAAA,EACjBC,EAAkCX,IAElCI,EAAM,SAAUE,GAAU,CAElB,MAAAV,EAAQe,EAAQ,aAClBhB,EAAaW,EAAM,MAAM,OAAOE,CAAkC,CAAC,EACnEA,EAEG,MAAA,CACL,GAAGF,EACH,MAAAV,EACA,SAAUa,EACV,SAAUE,EAAQ,cAAgBD,EAAYJ,EAAM,SACpD,QAAS,GACT,cAAeJ,EAAAA,cAAc,KAC/B,CAAA,CACD,EAEH,YAAcU,GACZR,EAAM,SAAUE,IAAW,CAAE,GAAGA,EAAO,SAAAM,CAAA,EAAW,EAEpD,WAAY,CAACA,EAAWX,EAAkB,WACxCG,EAAM,SAAS,KAAO,CAAE,GAAGH,EAAmB,SAAAW,CAAW,EAAA,EAE3D,aAAc,CAACC,EAAwBC,IAAkB,CAEvD,MAAMC,EAA2CF,EAAQ,OACvD,CAACG,EAAKC,KAAY,CAAE,GAAGD,EAAK,CAACC,CAAM,EAAGH,IACtC,CAAA,CACF,EAEO,OAAAV,EAAM,SAAUE,GAAU,CAC/B,MAAMV,EAAQU,EAAM,MAAM,IAAKY,GACzBH,EAAeG,EAAK,EAAE,EACjB,CAAE,GAAGA,EAAM,GAAGH,EAAeG,EAAK,EAAE,CAAE,EAGxCA,CACR,EAEM,MAAA,CAAE,GAAGZ,EAAO,MAAAV,CAAM,CAAA,CAC1B,CAAA,CACH,EACA,EAEKQ,CACT,EASO,MAAMe,CAAU,CAGrB,YAAYf,EAA8B,CAF1CgB,EAAA,cAGE,KAAK,MAAQhB,CAAA,CAGf,UAAW,CACT,OAAO,KAAK,MAAM,KAAA,CAGpB,SACEiB,EACA,CACA,KAAK,MAAM,SACT,OAAOA,GAAY,WAAaA,EAAU,IAAMA,CAClD,CAAA,CAGF,iBAAkB,CACT,OAAApB,CAAA,CAGT,UAAUqB,EAA2C,CAC5C,OAAA,KAAK,MAAM,UAAWhB,GAAUgB,EAAShB,EAAM,UAAU,CAAC,CAAA,CAErE,CAEA,SAAwBiB,GAAc,CACpC,MAAMnB,EAAQD,EAAe,EACtB,OAAA,IAAIgB,EAAUf,CAAK,CAC5B"}
1
+ {"version":3,"file":"store.js","sources":["../../../../src/clients/feed/store.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\nimport { Store } from \"@tanstack/store\";\n\nimport { NetworkStatus } from \"../../networkStatus\";\n\nimport { FeedItem, FeedMetadata, FeedResponse } from \"./interfaces\";\nimport { FeedStoreState, StoreFeedResultOptions } 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\nexport const initialStoreState: FeedStoreState = {\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 loading: false,\n networkStatus: NetworkStatus.ready,\n setResult: () => {},\n setMetadata: () => {},\n setNetworkStatus: () => {},\n resetStore: () => {},\n setItemAttrs: () => {},\n};\n\n/**\n * Initalize the store with tanstack store so it can be used within our\n * FeedStore class. We do this seperately so that we have the ability to\n * change which store library we use in the future if need be.\n */\nconst initalizeStore = () => {\n const store = new Store(initialStoreState);\n\n store.setState((state) => ({\n ...state,\n // The network status indicates what's happening with the request\n networkStatus: NetworkStatus.ready,\n loading: false,\n setNetworkStatus: (networkStatus: NetworkStatus) =>\n store.setState((state) => ({\n ...state,\n networkStatus,\n loading: networkStatus === NetworkStatus.loading,\n })),\n\n setResult: (\n { entries, meta, page_info }: FeedResponse,\n options: StoreFeedResultOptions = defaultSetResultOptions,\n ) =>\n store.setState((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 ...state,\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: FeedMetadata) =>\n store.setState((state) => ({ ...state, metadata })),\n\n resetStore: (metadata = initialStoreState.metadata) =>\n store.setState(() => ({\n ...initialStoreState,\n setResult: store.state.setResult,\n setMetadata: store.state.setMetadata,\n setNetworkStatus: store.state.setNetworkStatus,\n resetStore: store.state.resetStore,\n setItemAttrs: store.state.setItemAttrs,\n metadata,\n })),\n\n setItemAttrs: (itemIds: Array<string>, attrs: object) => {\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 store.setState((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 { ...state, items };\n });\n },\n }));\n\n return store;\n};\n\n/**\n * The FeedStore class is a wrapper for our store solution that's\n * based on the same shape as zustand. This wrapping class allows\n * us to maintain backwards compatibility with the zustand model\n * while still allowing us to utilize tanstack store for the\n * underlying store solution.\n */\nexport class FeedStore {\n store: Store<FeedStoreState>;\n\n constructor(store: Store<FeedStoreState>) {\n this.store = store;\n }\n\n getState() {\n return this.store.state;\n }\n\n setState(\n updater: ((state: FeedStoreState) => FeedStoreState) | FeedStoreState,\n ) {\n this.store.setState(\n typeof updater === \"function\" ? updater : () => updater,\n );\n }\n\n getInitialState() {\n return initialStoreState;\n }\n\n subscribe(listener: (state: FeedStoreState) => void) {\n return this.store.subscribe((state) => listener(state.currentVal));\n }\n}\n\nexport default function createStore() {\n const store = initalizeStore();\n return new FeedStore(store);\n}\n"],"names":["processItems","items","deduped","deduplicateItems","sortItems","defaultSetResultOptions","initialStoreState","NetworkStatus","initalizeStore","store","Store","state","networkStatus","entries","meta","page_info","options","metadata","itemIds","attrs","itemUpdatesMap","acc","itemId","item","FeedStore","__publicField","updater","listener","createStore"],"mappings":"+WASA,SAASA,EAAaC,EAAmB,CACjC,MAAAC,EAAUC,mBAAiBF,CAAK,EAG/B,OAFQG,YAAUF,CAAO,CAGlC,CAEA,MAAMG,EAA0B,CAC9B,cAAe,GACf,aAAc,EAChB,EAEaC,EAAoC,CAC/C,MAAO,CAAC,EACR,SAAU,CACR,YAAa,EACb,aAAc,EACd,aAAc,CAChB,EACA,SAAU,CACR,OAAQ,KACR,MAAO,KACP,UAAW,EACb,EACA,QAAS,GACT,cAAeC,EAAc,cAAA,MAC7B,UAAW,IAAM,CAAC,EAClB,YAAa,IAAM,CAAC,EACpB,iBAAkB,IAAM,CAAC,EACzB,WAAY,IAAM,CAAC,EACnB,aAAc,IAAM,CAAA,CACtB,EAOMC,EAAiB,IAAM,CACrB,MAAAC,EAAQ,IAAIC,EAAA,MAAMJ,CAAiB,EAEnCG,OAAAA,EAAA,SAAUE,IAAW,CACzB,GAAGA,EAEH,cAAeJ,EAAc,cAAA,MAC7B,QAAS,GACT,iBAAmBK,GACjBH,EAAM,SAAUE,IAAW,CACzB,GAAGA,EAAA,cACHC,EACA,QAASA,IAAkBL,gBAAc,OAAA,EACzC,EAEJ,UAAW,CACT,CAAE,QAAAM,EAAS,KAAAC,EAAM,UAAAC,CAAA,EACjBC,EAAkCX,IAElCI,EAAM,SAAUE,GAAU,CAElB,MAAAV,EAAQe,EAAQ,aAClBhB,EAAaW,EAAM,MAAM,OAAOE,CAAkC,CAAC,EACnEA,EAEG,MAAA,CACL,GAAGF,EACH,MAAAV,EACA,SAAUa,EACV,SAAUE,EAAQ,cAAgBD,EAAYJ,EAAM,SACpD,QAAS,GACT,cAAeJ,EAAAA,cAAc,KAC/B,CAAA,CACD,EAEH,YAAcU,GACZR,EAAM,SAAUE,IAAW,CAAE,GAAGA,EAAO,SAAAM,CAAA,EAAW,EAEpD,WAAY,CAACA,EAAWX,EAAkB,WACxCG,EAAM,SAAS,KAAO,CACpB,GAAGH,EACH,UAAWG,EAAM,MAAM,UACvB,YAAaA,EAAM,MAAM,YACzB,iBAAkBA,EAAM,MAAM,iBAC9B,WAAYA,EAAM,MAAM,WACxB,aAAcA,EAAM,MAAM,aAC1B,SAAAQ,CAAA,EACA,EAEJ,aAAc,CAACC,EAAwBC,IAAkB,CAEvD,MAAMC,EAA2CF,EAAQ,OACvD,CAACG,EAAKC,KAAY,CAAE,GAAGD,EAAK,CAACC,CAAM,EAAGH,IACtC,CAAA,CACF,EAEO,OAAAV,EAAM,SAAUE,GAAU,CAC/B,MAAMV,EAAQU,EAAM,MAAM,IAAKY,GACzBH,EAAeG,EAAK,EAAE,EACjB,CAAE,GAAGA,EAAM,GAAGH,EAAeG,EAAK,EAAE,CAAE,EAGxCA,CACR,EAEM,MAAA,CAAE,GAAGZ,EAAO,MAAAV,CAAM,CAAA,CAC1B,CAAA,CACH,EACA,EAEKQ,CACT,EASO,MAAMe,CAAU,CAGrB,YAAYf,EAA8B,CAF1CgB,EAAA,cAGE,KAAK,MAAQhB,CAAA,CAGf,UAAW,CACT,OAAO,KAAK,MAAM,KAAA,CAGpB,SACEiB,EACA,CACA,KAAK,MAAM,SACT,OAAOA,GAAY,WAAaA,EAAU,IAAMA,CAClD,CAAA,CAGF,iBAAkB,CACT,OAAApB,CAAA,CAGT,UAAUqB,EAA2C,CAC5C,OAAA,KAAK,MAAM,UAAWhB,GAAUgB,EAAShB,EAAM,UAAU,CAAC,CAAA,CAErE,CAEA,SAAwBiB,GAAc,CACpC,MAAMnB,EAAQD,EAAe,EACtB,OAAA,IAAIgB,EAAUf,CAAK,CAC5B"}
@@ -1,12 +1,12 @@
1
- var c = Object.defineProperty;
2
- var S = (s, t, e) => t in s ? c(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var l = (s, t, e) => S(s, typeof t != "symbol" ? t + "" : t, e);
4
- import { Store as f } from "@tanstack/store";
1
+ var S = Object.defineProperty;
2
+ var c = (t, e, s) => e in t ? S(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
+ var l = (t, e, s) => c(t, typeof e != "symbol" ? e + "" : e, s);
4
+ import { Store as m } from "@tanstack/store";
5
5
  import { NetworkStatus as d } from "../../networkStatus.mjs";
6
- import { deduplicateItems as m, sortItems as p } from "./utils.mjs";
7
- function g(s) {
8
- const t = m(s);
9
- return p(t);
6
+ import { deduplicateItems as f, sortItems as p } from "./utils.mjs";
7
+ function g(t) {
8
+ const e = f(t);
9
+ return p(e);
10
10
  }
11
11
  const I = {
12
12
  shouldSetPage: !0,
@@ -35,70 +35,78 @@ const I = {
35
35
  },
36
36
  setItemAttrs: () => {
37
37
  }
38
- }, h = () => {
39
- const s = new f(i);
40
- return s.setState((t) => ({
41
- ...t,
38
+ }, w = () => {
39
+ const t = new m(i);
40
+ return t.setState((e) => ({
41
+ ...e,
42
42
  // The network status indicates what's happening with the request
43
43
  networkStatus: d.ready,
44
44
  loading: !1,
45
- setNetworkStatus: (e) => s.setState((r) => ({
45
+ setNetworkStatus: (s) => t.setState((r) => ({
46
46
  ...r,
47
- networkStatus: e,
48
- loading: e === d.loading
47
+ networkStatus: s,
48
+ loading: s === d.loading
49
49
  })),
50
- setResult: ({ entries: e, meta: r, page_info: u }, o = I) => s.setState((a) => {
51
- const n = o.shouldAppend ? g(a.items.concat(e)) : e;
50
+ setResult: ({ entries: s, meta: r, page_info: u }, a = I) => t.setState((o) => {
51
+ const n = a.shouldAppend ? g(o.items.concat(s)) : s;
52
52
  return {
53
- ...a,
53
+ ...o,
54
54
  items: n,
55
55
  metadata: r,
56
- pageInfo: o.shouldSetPage ? u : a.pageInfo,
56
+ pageInfo: a.shouldSetPage ? u : o.pageInfo,
57
57
  loading: !1,
58
58
  networkStatus: d.ready
59
59
  };
60
60
  }),
61
- setMetadata: (e) => s.setState((r) => ({ ...r, metadata: e })),
62
- resetStore: (e = i.metadata) => s.setState(() => ({ ...i, metadata: e })),
63
- setItemAttrs: (e, r) => {
64
- const u = e.reduce(
65
- (o, a) => ({ ...o, [a]: r }),
61
+ setMetadata: (s) => t.setState((r) => ({ ...r, metadata: s })),
62
+ resetStore: (s = i.metadata) => t.setState(() => ({
63
+ ...i,
64
+ setResult: t.state.setResult,
65
+ setMetadata: t.state.setMetadata,
66
+ setNetworkStatus: t.state.setNetworkStatus,
67
+ resetStore: t.state.resetStore,
68
+ setItemAttrs: t.state.setItemAttrs,
69
+ metadata: s
70
+ })),
71
+ setItemAttrs: (s, r) => {
72
+ const u = s.reduce(
73
+ (a, o) => ({ ...a, [o]: r }),
66
74
  {}
67
75
  );
68
- return s.setState((o) => {
69
- const a = o.items.map((n) => u[n.id] ? { ...n, ...u[n.id] } : n);
70
- return { ...o, items: a };
76
+ return t.setState((a) => {
77
+ const o = a.items.map((n) => u[n.id] ? { ...n, ...u[n.id] } : n);
78
+ return { ...a, items: o };
71
79
  });
72
80
  }
73
- })), s;
81
+ })), t;
74
82
  };
75
- class w {
76
- constructor(t) {
83
+ class h {
84
+ constructor(e) {
77
85
  l(this, "store");
78
- this.store = t;
86
+ this.store = e;
79
87
  }
80
88
  getState() {
81
89
  return this.store.state;
82
90
  }
83
- setState(t) {
91
+ setState(e) {
84
92
  this.store.setState(
85
- typeof t == "function" ? t : () => t
93
+ typeof e == "function" ? e : () => e
86
94
  );
87
95
  }
88
96
  getInitialState() {
89
97
  return i;
90
98
  }
91
- subscribe(t) {
92
- return this.store.subscribe((e) => t(e.currentVal));
99
+ subscribe(e) {
100
+ return this.store.subscribe((s) => e(s.currentVal));
93
101
  }
94
102
  }
95
- function _() {
96
- const s = h();
97
- return new w(s);
103
+ function N() {
104
+ const t = w();
105
+ return new h(t);
98
106
  }
99
107
  export {
100
- w as FeedStore,
101
- _ as default,
108
+ h as FeedStore,
109
+ N as default,
102
110
  i as initialStoreState
103
111
  };
104
112
  //# sourceMappingURL=store.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.mjs","sources":["../../../../src/clients/feed/store.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\nimport { Store } from \"@tanstack/store\";\n\nimport { NetworkStatus } from \"../../networkStatus\";\n\nimport { FeedItem, FeedMetadata, FeedResponse } from \"./interfaces\";\nimport { FeedStoreState, StoreFeedResultOptions } 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\nexport const initialStoreState: FeedStoreState = {\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 loading: false,\n networkStatus: NetworkStatus.ready,\n setResult: () => {},\n setMetadata: () => {},\n setNetworkStatus: () => {},\n resetStore: () => {},\n setItemAttrs: () => {},\n};\n\n/**\n * Initalize the store with tanstack store so it can be used within our\n * FeedStore class. We do this seperately so that we have the ability to\n * change which store library we use in the future if need be.\n */\nconst initalizeStore = () => {\n const store = new Store(initialStoreState);\n\n store.setState((state) => ({\n ...state,\n // The network status indicates what's happening with the request\n networkStatus: NetworkStatus.ready,\n loading: false,\n setNetworkStatus: (networkStatus: NetworkStatus) =>\n store.setState((state) => ({\n ...state,\n networkStatus,\n loading: networkStatus === NetworkStatus.loading,\n })),\n\n setResult: (\n { entries, meta, page_info }: FeedResponse,\n options: StoreFeedResultOptions = defaultSetResultOptions,\n ) =>\n store.setState((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 ...state,\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: FeedMetadata) =>\n store.setState((state) => ({ ...state, metadata })),\n\n resetStore: (metadata = initialStoreState.metadata) =>\n store.setState(() => ({ ...initialStoreState, metadata })),\n\n setItemAttrs: (itemIds: Array<string>, attrs: object) => {\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 store.setState((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 { ...state, items };\n });\n },\n }));\n\n return store;\n};\n\n/**\n * The FeedStore class is a wrapper for our store solution that's\n * based on the same shape as zustand. This wrapping class allows\n * us to maintain backwards compatibility with the zustand model\n * while still allowing us to utilize tanstack store for the\n * underlying store solution.\n */\nexport class FeedStore {\n store: Store<FeedStoreState>;\n\n constructor(store: Store<FeedStoreState>) {\n this.store = store;\n }\n\n getState() {\n return this.store.state;\n }\n\n setState(\n updater: ((state: FeedStoreState) => FeedStoreState) | FeedStoreState,\n ) {\n this.store.setState(\n typeof updater === \"function\" ? updater : () => updater,\n );\n }\n\n getInitialState() {\n return initialStoreState;\n }\n\n subscribe(listener: (state: FeedStoreState) => void) {\n return this.store.subscribe((state) => listener(state.currentVal));\n }\n}\n\nexport default function createStore() {\n const store = initalizeStore();\n return new FeedStore(store);\n}\n"],"names":["processItems","items","deduped","deduplicateItems","sortItems","defaultSetResultOptions","initialStoreState","NetworkStatus","initalizeStore","store","Store","state","networkStatus","entries","meta","page_info","options","metadata","itemIds","attrs","itemUpdatesMap","acc","itemId","item","FeedStore","__publicField","updater","listener","createStore"],"mappings":"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"}
1
+ {"version":3,"file":"store.mjs","sources":["../../../../src/clients/feed/store.ts"],"sourcesContent":["import { GenericData } from \"@knocklabs/types\";\nimport { Store } from \"@tanstack/store\";\n\nimport { NetworkStatus } from \"../../networkStatus\";\n\nimport { FeedItem, FeedMetadata, FeedResponse } from \"./interfaces\";\nimport { FeedStoreState, StoreFeedResultOptions } 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\nexport const initialStoreState: FeedStoreState = {\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 loading: false,\n networkStatus: NetworkStatus.ready,\n setResult: () => {},\n setMetadata: () => {},\n setNetworkStatus: () => {},\n resetStore: () => {},\n setItemAttrs: () => {},\n};\n\n/**\n * Initalize the store with tanstack store so it can be used within our\n * FeedStore class. We do this seperately so that we have the ability to\n * change which store library we use in the future if need be.\n */\nconst initalizeStore = () => {\n const store = new Store(initialStoreState);\n\n store.setState((state) => ({\n ...state,\n // The network status indicates what's happening with the request\n networkStatus: NetworkStatus.ready,\n loading: false,\n setNetworkStatus: (networkStatus: NetworkStatus) =>\n store.setState((state) => ({\n ...state,\n networkStatus,\n loading: networkStatus === NetworkStatus.loading,\n })),\n\n setResult: (\n { entries, meta, page_info }: FeedResponse,\n options: StoreFeedResultOptions = defaultSetResultOptions,\n ) =>\n store.setState((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 ...state,\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: FeedMetadata) =>\n store.setState((state) => ({ ...state, metadata })),\n\n resetStore: (metadata = initialStoreState.metadata) =>\n store.setState(() => ({\n ...initialStoreState,\n setResult: store.state.setResult,\n setMetadata: store.state.setMetadata,\n setNetworkStatus: store.state.setNetworkStatus,\n resetStore: store.state.resetStore,\n setItemAttrs: store.state.setItemAttrs,\n metadata,\n })),\n\n setItemAttrs: (itemIds: Array<string>, attrs: object) => {\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 store.setState((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 { ...state, items };\n });\n },\n }));\n\n return store;\n};\n\n/**\n * The FeedStore class is a wrapper for our store solution that's\n * based on the same shape as zustand. This wrapping class allows\n * us to maintain backwards compatibility with the zustand model\n * while still allowing us to utilize tanstack store for the\n * underlying store solution.\n */\nexport class FeedStore {\n store: Store<FeedStoreState>;\n\n constructor(store: Store<FeedStoreState>) {\n this.store = store;\n }\n\n getState() {\n return this.store.state;\n }\n\n setState(\n updater: ((state: FeedStoreState) => FeedStoreState) | FeedStoreState,\n ) {\n this.store.setState(\n typeof updater === \"function\" ? updater : () => updater,\n );\n }\n\n getInitialState() {\n return initialStoreState;\n }\n\n subscribe(listener: (state: FeedStoreState) => void) {\n return this.store.subscribe((state) => listener(state.currentVal));\n }\n}\n\nexport default function createStore() {\n const store = initalizeStore();\n return new FeedStore(store);\n}\n"],"names":["processItems","items","deduped","deduplicateItems","sortItems","defaultSetResultOptions","initialStoreState","NetworkStatus","initalizeStore","store","Store","state","networkStatus","entries","meta","page_info","options","metadata","itemIds","attrs","itemUpdatesMap","acc","itemId","item","FeedStore","__publicField","updater","listener","createStore"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKxC,OAAO,EAAE,cAAc,EAA0B,MAAM,SAAS,CAAC;AAejE,eAAO,MAAM,iBAAiB,EAAE,cAmB/B,CAAC;AAwEF;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBAEjB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC;IAIxC,QAAQ;IAIR,QAAQ,CACN,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,CAAC,GAAG,cAAc;IAOvE,eAAe;IAIf,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;CAGpD;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,cAGlC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/clients/feed/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKxC,OAAO,EAAE,cAAc,EAA0B,MAAM,SAAS,CAAC;AAejE,eAAO,MAAM,iBAAiB,EAAE,cAmB/B,CAAC;AAgFF;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBAEjB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC;IAIxC,QAAQ;IAIR,QAAQ,CACN,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,CAAC,GAAG,cAAc;IAOvE,eAAe;IAIf,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI;CAGpD;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,cAGlC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knocklabs/client",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
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",
@@ -46,10 +46,10 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "@babel/cli": "^7.27.2",
49
- "@babel/core": "^7.26.0",
49
+ "@babel/core": "^7.28.0",
50
50
  "@babel/plugin-proposal-class-properties": "^7.16.7",
51
51
  "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
52
- "@babel/plugin-transform-runtime": "^7.25.4",
52
+ "@babel/plugin-transform-runtime": "^7.28.0",
53
53
  "@babel/preset-env": "^7.27.1",
54
54
  "@babel/preset-typescript": "^7.27.0",
55
55
  "@codecov/vite-plugin": "^1.9.1",
@@ -72,7 +72,7 @@
72
72
  "@knocklabs/types": "^0.1.5",
73
73
  "@tanstack/store": "^0.7.1",
74
74
  "@types/phoenix": "^1.6.6",
75
- "axios": "^1.9.0",
75
+ "axios": "^1.10.0",
76
76
  "axios-retry": "^4.5.0",
77
77
  "eventemitter2": "^6.4.5",
78
78
  "jwt-decode": "^4.0.0",
@@ -84,7 +84,15 @@ const initalizeStore = () => {
84
84
  store.setState((state) => ({ ...state, metadata })),
85
85
 
86
86
  resetStore: (metadata = initialStoreState.metadata) =>
87
- store.setState(() => ({ ...initialStoreState, metadata })),
87
+ store.setState(() => ({
88
+ ...initialStoreState,
89
+ setResult: store.state.setResult,
90
+ setMetadata: store.state.setMetadata,
91
+ setNetworkStatus: store.state.setNetworkStatus,
92
+ resetStore: store.state.resetStore,
93
+ setItemAttrs: store.state.setItemAttrs,
94
+ metadata,
95
+ })),
88
96
 
89
97
  setItemAttrs: (itemIds: Array<string>, attrs: object) => {
90
98
  // Create a map for the items to the updates to be made