How to deserialize dates with createAsyncStoragePersister?
              
              #8583
            
            
              
                Unanswered
              
          
                  
                    
                      avegatolber
                    
                  
                
                  asked this question in
                Q&A
              
            Replies: 1 comment 1 reply
-
| This seems to work. It is ok or is there a simpler way? import { del, get, set } from 'idb-keyval'
import dayjs, { Dayjs } from 'dayjs'
import superjson from 'superjson'
superjson.registerCustom<Dayjs, string>(
    {
        isApplicable: (value): value is Dayjs => dayjs.isDayjs(value),
        serialize: (value: Dayjs) => value.toISOString(),
        deserialize: (value) => dayjs(value),
    },
    'dayjs',
)
const persister = createAsyncStoragePersister({
    serialize: superjson.stringify,
    deserialize: superjson.parse,
    storage: {
        setItem: async (key, value) => set(key, value),
        removeItem: async (key) => del(key),
        getItem: async (key) => get(key),
    },
}) | 
Beta Was this translation helpful? Give feedback.
                  
                    1 reply
                  
                
            
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I am using Indexed DB to persist the cache. I have an issue where
dayjsobjects are stored in the cache, and when I reload the page, it breaks because those objects are returned as strings. I have been researching and found thatcreateAsyncStoragePersisterhasserializeanddeserializeproperties to customize this. I also saw that using a library likesuperjsonis recommended to achieve this.However, I haven’t found any code examples showing how to implement it. Any ideas? I would appreciate a small code example on how to implement this in
createAsyncStoragePersister.This is my persister
Beta Was this translation helpful? Give feedback.
All reactions