Home

Awesome

<!-- markdownlint-disable MD010 --> <!-- markdownlint-disable MD033 --> <!-- markdownlint-disable MD041 --> <div align="center"> <img src="https://raw.githubusercontent.com/tylim88/Firelord/main/img/ozai.png" width="200px"/> <h1>FireSageJS 烈火贤JS</h1> </div> <div align="center"> <a href="https://www.npmjs.com/package/firesagejs" target="_blank"> <img src="https://img.shields.io/npm/v/firesagejs" alt="Created by tylim88" /> </a> &nbsp; <a href="https://github.com/tylim88/firesagejs/blob/main/LICENSE" target="_blank" > <img src="https://img.shields.io/github/license/tylim88/firesagejs" alt="License" /> </a> &nbsp; <a href="https://www.npmjs.com/package/firesagejs?activeTab=dependencies" target="_blank" > <img src="https://img.shields.io/badge/dynamic/json?url=https://api.npmutil.com/package/firesagejs&label=dependencies&query=$.dependencies.count&color=brightgreen" alt="dependency count" /> </a> &nbsp; <a href="https://firelordjs.com/minified_size" target="_blank"> <img src="https://img.shields.io/badge/gzipped-1.3KB-brightgreen" alt="package size" /> </a> &nbsp; <a href="https://github.com/tylim88/firesagejs/actions" target="_blank"> <img src="https://github.com/tylim88/firesagejs/workflows/Main/badge.svg" alt="github action" /> </a> &nbsp; <a href="https://codecov.io/gh/tylim88/firesagejs" target="_blank"> <img src="https://codecov.io/gh/tylim88/firesagejs/branch/main/graph/badge.svg" alt="code coverage" /> </a> &nbsp; <a href="https://github.com/tylim88/firesagejs/issues" target="_blank"> <img alt="GitHub issues" src="https://img.shields.io/github/issues-raw/tylim88/firesagejs" ></img> </a> &nbsp; <a href="https://snyk.io/test/github/tylim88/firesagejs" target="_blank"> <img src="https://snyk.io/test/github/tylim88/firesagejs/badge.svg" alt="vulnerabilities" /> </a> </div> <br/> <div align="center"> Surgical Precision Type Safe For Realtime Database Web, Write Realtime Database Code That Stands The Test Of Time </div> <br /> <div align="center"> <i>Immaculate, One of a Kind, Unorthodox, Craftsmanship, Art</i> </div> <br /> <div align="center"> <i>In The Relentless Pursuit Of Correctness</i> </div> <br/> <div align="center"> <a href="https://firelordjs.com/firesage/quick_start" target="_blank" style="color:blue"><strong>Documentation</strong></a> </div> <br/>

State-of-the-art type safe RTDB code with minimum learning curve, avoid runtime exceptions without runtime checks, type level RTDB defensive programming at it finest.

FiresageJS has:

Support @firebase/rules-unit-testing and emulator

I am confident it has the best type safe and nothing come close to it. I put money on my words and I will buy you x cups of coffee if you:

  1. found something better: 75 cups.
  2. created something better: 1000 cups (you don't need to a make full fledge library, something minimally better is enough, open an issue if you want to take this challenge)

Contributing

Read here

Trivial

  1. The name FireSage is a reference to the Fire Sages of Avatar.
  2. This is most likely the only RTDB type safe wrapper in existence.

Related Projects

  1. FirelordJS - Typescript wrapper for Firestore Web
  2. Firelord - Typescript wrapper for Firestore admin
  3. FireSword - Filter Firestore and RTDB Unknown Keys.
  4. FireCall - Helper Function to write easier and safer Firebase onCall function.