@knocklabs/client
Advanced tools
Comparing version
# Changelog | ||
## 0.12.0-rc.0 | ||
## 0.12.0-rc.1.0 | ||
@@ -5,0 +5,0 @@ ### Minor Changes |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("zustand"),n=require("../../networkStatus.js"),l=require("./utils.js");function c(e){const t=l.deduplicateItems(e);return l.sortItems(t)}const S={shouldSetPage:!0,shouldAppend:!1},d={items:[],metadata:{total_count:0,unread_count:0,unseen_count:0},pageInfo:{before:null,after:null,page_size:50}};function p(){return i.create(e=>({...d,networkStatus:n.NetworkStatus.ready,loading:!1,setNetworkStatus:t=>e(()=>({networkStatus:t,loading:t===n.NetworkStatus.loading})),setResult:({entries:t,meta:o,page_info:u},a=S)=>e(s=>({items:a.shouldAppend?c(s.items.concat(t)):t,metadata:o,pageInfo:a.shouldSetPage?u:s.pageInfo,loading:!1,networkStatus:n.NetworkStatus.ready})),setMetadata:t=>e(()=>({metadata:t})),resetStore:(t=d.metadata)=>e(()=>({...d,metadata:t})),setItemAttrs:(t,o)=>{const u=t.reduce((a,s)=>({...a,[s]:o}),{});return e(a=>({items:a.items.map(r=>u[r.id]?{...r,...u[r.id]}:r)}))}}))}exports.default=p; | ||
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("zustand"),n=require("../../networkStatus.js"),l=require("./utils.js");function c(e){const t=l.deduplicateItems(e);return l.sortItems(t)}const S={shouldSetPage:!0,shouldAppend:!1},d={items:[],metadata:{total_count:0,unread_count:0,unseen_count:0},pageInfo:{before:null,after:null,page_size:50}};function p(){return i.createStore()(e=>({...d,networkStatus:n.NetworkStatus.ready,loading:!1,setNetworkStatus:t=>e(()=>({networkStatus:t,loading:t===n.NetworkStatus.loading})),setResult:({entries:t,meta:o,page_info:u},a=S)=>e(r=>({items:a.shouldAppend?c(r.items.concat(t)):t,metadata:o,pageInfo:a.shouldSetPage?u:r.pageInfo,loading:!1,networkStatus:n.NetworkStatus.ready})),setMetadata:t=>e(()=>({metadata:t})),resetStore:(t=d.metadata)=>e(()=>({...d,metadata:t})),setItemAttrs:(t,o)=>{const u=t.reduce((a,r)=>({...a,[r]:o}),{});return e(a=>({items:a.items.map(s=>u[s.id]?{...s,...u[s.id]}:s)}))}}))}exports.default=p; | ||
//# sourceMappingURL=store.js.map |
import { GenericData } from '@knocklabs/types'; | ||
import { StoreApi, UseBoundStore } from 'zustand'; | ||
import { StoreApi } from 'zustand'; | ||
import { default as Knock } from '../../knock'; | ||
@@ -18,3 +18,3 @@ import { FeedClientOptions, FetchFeedOptions } from './interfaces'; | ||
private visibilityChangeListenerConnected; | ||
store: UseBoundStore<StoreApi<FeedStoreState>>; | ||
store: StoreApi<FeedStoreState>; | ||
constructor(knock: Knock, feedId: string, options: FeedClientOptions); | ||
@@ -21,0 +21,0 @@ /** |
import { FeedStoreState } from './types'; | ||
export default function createStore(): import('zustand').UseBoundStore<import('zustand').StoreApi<FeedStoreState>>; | ||
export default function createStore(): import('zustand').StoreApi<FeedStoreState>; | ||
//# sourceMappingURL=store.d.ts.map |
{ | ||
"name": "@knocklabs/client", | ||
"version": "0.12.0-rc.0", | ||
"version": "0.12.0-rc.1.0", | ||
"description": "The clientside library for interacting with Knock", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/knocklabs/javascript/tree/main/packages/client", |
import { GenericData } from "@knocklabs/types"; | ||
import EventEmitter from "eventemitter2"; | ||
import { Channel } from "phoenix"; | ||
import type { StoreApi, UseBoundStore } from "zustand"; | ||
import type { StoreApi } from "zustand"; | ||
@@ -51,3 +51,3 @@ import Knock from "../../knock"; | ||
// The raw store instance, used for binding in React and other environments | ||
public store: UseBoundStore<StoreApi<FeedStoreState>>; | ||
public store: StoreApi<FeedStoreState>; | ||
@@ -581,3 +581,2 @@ constructor( | ||
this.knock.log("[Feed] Received new real-time message"); | ||
// Handle the new message coming in | ||
@@ -584,0 +583,0 @@ const { items, ...state } = this.store.getState(); |
import { GenericData } from "@knocklabs/types"; | ||
import { create } from "zustand"; | ||
import { createStore as createVanillaZustandStore } from "zustand"; | ||
@@ -37,3 +37,3 @@ import { NetworkStatus } from "../../networkStatus"; | ||
export default function createStore() { | ||
return create<FeedStoreState>((set) => ({ | ||
return createVanillaZustandStore<FeedStoreState>()((set) => ({ | ||
// Keeps track of all of the items loaded | ||
@@ -40,0 +40,0 @@ ...initialStoreState, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
376564
0.01%4008
0.02%