firebase-rules
null
firebase-rules | null | |
---|---|---|
1 | 5 | |
7 | 1,751 | |
- | - | |
1.8 | 5.6 | |
about 3 years ago | 3 months ago | |
TypeScript | Go | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
firebase-rules
-
Ask HN: What are some tools / libraries you built yourself?
Night Patrol - https://github.com/jahed/night-patrol
I got tired of passing flags to Nightwatch to filter tests and looking through results to re-run failures. So I made an interactive CLI for all of that. I stopped using this once I moved to Cypress but even with Cypress' web interface, I feel something like Night Patrol would be a lot more productive.
Firebase Rules - https://github.com/jahed/firebase-rules
I didn't like how Firebase's RTDB rules were expressions in JSON strings so I built a library to build them using a lisp-like syntax to compose and re-use rules. Firebase also has its own rules language (Bolt) but I'd rather not learn and maintain yet another tool-specific language.
Promises - https://github.com/jahed/promises
This isn't a complete solution yet, I didn't get time to refine the API. But I really prefer using Promises as result types (a.k.a. either, left/right) rather than using async/await/try/catch. It's so much more powerful to write code in a way that doesn't care if your functions are async or sync. Again, kind of like a lisp, there's also power in not being tied to a language's keywords and being able to provide a more tailored vocabulary.
null
-
JSON encoder/decoder supporting omitempty on structs
Use-case: working on PATCH requests, the body may or may not contain nullable values. I am using guregu/null and I can't use a pointer because if the json contains "null" as a value, the pointer will be set to nil in the struct, instead of a value representing the presence of null. In short I can't differentiate the absence of the field in the request from the presence of the field with a null value.
-
Nilable - finally a way to stop using pointers just to get the nil state
https://github.com/guregu/null is an awesome package implementing most SQL scanner Interfaces plus JSON
- Golang backend with lots of raw SQL queries
-
Is there a downside to treating possible null values in DB as pointers in struct?
There’s also this: https://github.com/guregu/null
-
Gonion - Golang Client for querying Tor network data
Unfortunately in Go, switching to *bool makes the api a little more awkward to use since users that need to set true or false have to define a local variable then use a pointer to that. Another option would be something like null, but that adds a dependency to your currently-dependency-free project. If anyone has a better solution to this pattern, I'd love to hear it.
What are some alternatives?
htmx - </> htmx - high power tools for HTML
csvutil - csvutil provides fast and idiomatic mapping between CSV and Go (golang) values.
Pion WebRTC - Pure Go implementation of the WebRTC API
validator - Simple validation for Rust structs
tera - A template engine for Rust based on Jinja2/Django
react-leaflet-canvas-overlay - React Leaflet component similar to ImageOverlay and VideoOverlay
GoJS, a JavaScript Library for HTML Diagrams - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.
gh-token - Manage installation access tokens for GitHub apps from your terminal 💻
Nullboard - Nullboard is a minimalist kanban board, focused on compactness and readability.
trdsql - CLI tool that can execute SQL queries on CSV, LTSV, JSON, YAML and TBLN. Can output to various formats.
lowdefy - The config web stack for business apps - build internal tools, client portals, web apps, admin panels, dashboards, web sites, and CRUD apps with YAML or JSON.
didder - An extensive, fast, and accurate command-line image dithering tool.