{"version":1,"pages":[{"id":"-Medv-hHBwd8KcfQj80m","title":"Home","pathname":"/","siteSpaceId":"sitesp_6CWWG","description":"Collection of useful libraries for TypeScript + React"},{"id":"-MeeGw2_qPDO_o6SM2YY","title":"Fiber","pathname":"/services/fiber","siteSpaceId":"sitesp_6CWWG","description":"Build a statically typed SDK for your backend in minutes.","breadcrumbs":[{"label":"Services"}]},{"id":"-MeeFDZTgmmurCkKtNA3","title":"Accessor","pathname":"/services/accessor","siteSpaceId":"sitesp_6CWWG","description":"Turn any object into a statically typed facade.","breadcrumbs":[{"label":"Services"}]},{"id":"-MefJhqSgQM2IZsZpDnB","title":"Schema","pathname":"/services/schema","siteSpaceId":"sitesp_6CWWG","description":"Delightfully simple, feature packed and customisable tool for validation and sanitization of any kind of data. Can be used on the client side as well as on the server side.","breadcrumbs":[{"label":"Services"}]},{"id":"-MeeF80BrEndyj5EzdPB","title":"Form","pathname":"/services/form","siteSpaceId":"sitesp_6CWWG","description":"Build statically typed forms with ease. A refreshing alternative to existing form libraries.","breadcrumbs":[{"label":"Services"}]},{"id":"-MeeFAgcZV96KXm0W1WU","title":"Translator","pathname":"/services/translator","siteSpaceId":"sitesp_6CWWG","description":"Customisable translator for backend and frontend usage with a statically typed translations facade.","breadcrumbs":[{"label":"Services"}]},{"id":"-MeeG1hynKDbiiOh4iQk","title":"<Router/>","pathname":"/components/router","siteSpaceId":"sitesp_6CWWG","description":"Next-generation router for React tailored towards complex SPA use-cases, makes your application feel like it's been rendered on the server-side.","breadcrumbs":[{"label":"Components"}]},{"id":"-MeeFD7Hl71eTR--pvPW","title":"<Memo />","pathname":"/components/memo","siteSpaceId":"sitesp_6CWWG","description":"React component used to isolate children from unnecessary re-renders.","breadcrumbs":[{"label":"Components"}]},{"id":"-Mg7Kt8XOfsD4Np5cHGW","title":"Async","pathname":"/observables/async","siteSpaceId":"sitesp_6CWWG","description":"Abstraction for async operations that can be hooked into React.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MeeBGx8X2I9UAm40nt5","title":"Value","pathname":"/observables/value","siteSpaceId":"sitesp_6CWWG","description":"Simple value that can be hooked into React.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MeeBQ0F094TDCsvnMbA","title":"Store","pathname":"/observables/store","siteSpaceId":"sitesp_6CWWG","description":"Simple store that can be hooked into React.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MeeBIuqvkAwUjx0ORFs","title":"List","pathname":"/observables/list","siteSpaceId":"sitesp_6CWWG","description":"Simple list that can be hooked into React.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MeeEDpap1iIyRi7d5Py","title":"Local Storage Value","pathname":"/observables/local-storage-value","siteSpaceId":"sitesp_6CWWG","description":"Simple observable value that can be subscribed to, in React, using Hooks. State is automatically synced to the localStorage.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MeeEM7lap525qmHR0yU","title":"Local Storage Store","pathname":"/observables/local-storage-store","siteSpaceId":"sitesp_6CWWG","description":"Simple observable store that can be subscribed to, in React, using Hooks. State is automatically synced to the localStorage.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MeeEJek1b6Kf63VvtQ5","title":"Local Storage List","pathname":"/observables/local-storage-list","siteSpaceId":"sitesp_6CWWG","description":"Simple observable list that can be subscribed to, in React, using Hooks. State is automatically synced to the localStorage.","breadcrumbs":[{"label":"Observables"}]},{"id":"-MfJ4qThZ0llSH30K7PI","title":"useAsync","pathname":"/hooks/use-async","siteSpaceId":"sitesp_6CWWG","description":"React hook for async operations.","breadcrumbs":[{"label":"Hooks"}]},{"id":"WhqZW4tVYBNm5a249CzV","title":"useAffect","pathname":"/hooks/useaffect","siteSpaceId":"sitesp_6CWWG","description":"React hook for async side effects","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDXYVzHIrXuHDnFE","title":"useStream","pathname":"/hooks/use-stream","siteSpaceId":"sitesp_6CWWG","description":"React hook for repeating async operations.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDVtWtL6cM6Te5_Y","title":"useAction","pathname":"/hooks/use-action","siteSpaceId":"sitesp_6CWWG","description":"React hook for imperative async operations.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDRc-u6dLdtXEwYu","title":"useDebounce","pathname":"/hooks/use-debounce","siteSpaceId":"sitesp_6CWWG","description":"React hook for debounced values and functions.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDP2E-IiuXVMhrEB","title":"useThrottle","pathname":"/hooks/use-throttle","siteSpaceId":"sitesp_6CWWG","description":"React hook for throttled values and functions.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDK9r_pLUejBiXZg","title":"usePrevious","pathname":"/hooks/use-previous","siteSpaceId":"sitesp_6CWWG","description":"Track previous versions of values.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDMghie2D1Lfo6kO","title":"useIdle","pathname":"/hooks/use-idle","siteSpaceId":"sitesp_6CWWG","description":"Detect when a user goes idle.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeCjonF5MnSCR9TohM","title":"useValue","pathname":"/hooks/use-value","siteSpaceId":"sitesp_6CWWG","description":"React hooks for the @corets/value package.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeGIckpb_jmyQLy7TY","title":"useList","pathname":"/hooks/use-list","siteSpaceId":"sitesp_6CWWG","description":"React hooks for the @corets/list package.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeGEsjHpNC1z04Kqfm","title":"useStore","pathname":"/hooks/use-store","siteSpaceId":"sitesp_6CWWG","description":"React hooks for the @corets/store package.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDHWx4UK_xvFBXwt","title":"useForm","pathname":"/hooks/use-form","siteSpaceId":"sitesp_6CWWG","description":"React hooks for the @corets/form package.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDEwvi5BWuryOk2v","title":"useFormBinder","pathname":"/hooks/use-form-binder","siteSpaceId":"sitesp_6CWWG","description":"React bindings for the @corets/form package.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFD9vXhGU6geoh9vx","title":"useTranslator","pathname":"/hooks/use-translator","siteSpaceId":"sitesp_6CWWG","description":"React hooks for the @corets/translator package.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-MeeFDTnufoB8NaEVrzf","title":"useQuery","pathname":"/hooks/use-query","siteSpaceId":"sitesp_6CWWG","description":"Hooks for react-router query parameters.","breadcrumbs":[{"label":"Hooks"}]},{"id":"-Mel7teEH7qXBAec30E5","title":"Tag","pathname":"/helpers/tag","siteSpaceId":"sitesp_6CWWG","description":"Type tagging and branding for TypeScript.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFD1JE5bWsmJCSxTQ","title":"Input Helpers","pathname":"/helpers/input-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to input specific functionality.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFCy-B1g7d98rW6Io","title":"Promise Helpers","pathname":"/helpers/promise-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to promise specific functionality.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFCrOUjX9_2zPtGNJ","title":"Save Helpers","pathname":"/helpers/save-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to file saving specific functionality.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFCJx3A2rpPmLDy-Y","title":"Pagination Helpers","pathname":"/helpers/pagination-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to pagination specific functionality.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFCfj90KN_oymSXs7","title":"Clipboard Helpers","pathname":"/helpers/clipboard-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to clipboard specific functionality.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFD4SPc58FOyg9-CM","title":"Calendar Helpers","pathname":"/helpers/calendar-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to calendar specific functionality.","breadcrumbs":[{"label":"Helpers"}]},{"id":"-MeeFBhLOiAV25jj_OLJ","title":"Local Storage Helpers","pathname":"/helpers/local-storage-helpers","siteSpaceId":"sitesp_6CWWG","description":"Various helpers related to localStorage specific functionality.","breadcrumbs":[{"label":"Helpers"}]}]}