Skip to content

Type safe, modular and intuitive API/data client for JS/TS.

License

Notifications You must be signed in to change notification settings

foscia-dev/foscia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foscia

NPM package Test workflow Codecov Coverage MIT License

Website Documentation

Type safe, modular and intuitive API/data client for JS/TS.

Foscia acts as an intermediary layer between your application and your data source (API, database), just like an ORM would. It helps keeping your data structure clear and type safe with simple models definition and provide a lot of useful tools to make common tasks easier (changes tracking, hooks, serialization, etc.), allowing you to focus on your features! It is built with functional programming in mind, has a clear and complete API and is fully tree-shakable. It is framework-agnostic and can integrate inside any app using JavaScript or TypeScript, and with any data source, with already implemented HTTP/REST/JSON:API exchanges.

  • Exchange with any REST or JSON:API backend with already implemented adapters.
  • Modular with simple configuration and framework-agnostic.
  • Fully tree-shakable for optimal build size.
  • Strong type your data structure with TS.
  • Record changes on data during lifecycle with instance's snapshots.
  • Register hooks, such as saving or deleting.
  • Never re-fetch data thanks to the cache system.
  • Get started quickly with the built-in CLI.
  • Free and open-source under MIT license

Contributing

Please see CONTRIBUTING file for more details.

Informal discussion regarding bugs, new features, and implementation of existing features takes place in the GitHub issue page of this repository.

Credits

License

foscia is an open-sourced software licensed under the MIT license.