suncalc
io-ts
suncalc | io-ts | |
---|---|---|
8 | 80 | |
2,992 | 6,602 | |
- | - | |
0.0 | 4.9 | |
about 1 year ago | 5 months ago | |
JavaScript | TypeScript | |
BSD 2-clause "Simplified" License | MIT 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.
suncalc
-
Show HN: Color-scheme-switcher: auto/manual color scheme toggling in React
A really simple, small package to manage React context around color scheme toggling. Specifically, you can switch color scheme manually or automatically, and if the latter you can follow either the system color scheme or the sun.
I based some of this code heavily on a couple Mantine (https://mantine.dev/) hooks and Suncalc (https://github.com/mourner/suncalc), but modified them to either make them simpler and/or, in Suncalc's case, typed.
This is my first open-source package in a while, so I'd greatly appreciate any constructive suggestions! I have been using some form of this in my own projects and figured, when I added it to the most recent one, I should just extract it into its own project. I'm hoping something small like this will motivate me to do more open-source work because I miss it!
-
Show HN: Visualize your day as 144 rectangles
It would be fun to see this with local daylight hours mapped to the squares, so I could get a feel for where my consumption is at within "daylight" vs the whole "day"
SunCalc is a good tool for this, if you're interested: https://github.com/mourner/suncalc
(I've used it on a personal project, and the API was a little awkward but the results are good: https://daylight.website/)
-
How to determine exactly where the sun rises and sets based on latitude
If you want to do some coding for your website, here is the ready-made javascript for calculating what you want about Sun and Moon: Sun and Moon almanac
-
[OC] How long are the nights in Stockholm, New York City, Moscow, Sydney, Jakarta, Reykjavik, Rio de Janeiro, Wellington etc. ? (30 selected cities)
tool: d3.js data: SunCalc the inspiration came from these sunrise and sunset visualizations
-
How to base things from solar noon, or other inputted target time?
Recently I have made a library doing this for myself. Basicly, I re-wrote this Javascript library in C++ for use with microcontrollers: https://github.com/mourner/suncalc
-
Offline version of suncalc.org on pc ?
you need a bit of IT skills wth https://github.com/mourner/suncalc
-
Does adaptive lighting work the way you expected?
I ignore the sunrise/set properties of the Hue bridge. All the calculations are done on the board itself, so it doesn't need an internet connection to keep working. I used the javascript code here https://github.com/mourner/suncalc as a starting point and translated it to c++ to run on an microcontroller.
-
Ask HN: What Are You Working On?
Suncalc [1] is the library I use to calculate the position of the sun. Mapzen [2] host public elevation tile data. This blog post [3] is a good overview of the calculations involved.
[1] https://github.com/mourner/suncalc
[2] https://www.mapzen.com/blog/terrain-tile-service/
[3] http://www.liedman.net/2014/06/25/sunshine/
io-ts
-
TDD
Qué rico. Si tenés chance meté un proceso de code review fuerte, y para el tema de I/O probá a usar https://github.com/Effect-TS/schema ó https://github.com/gcanti/io-ts que les da una solución obvia al tema de "tipos para lo que devuelva el backend", aunque es en realidad mucho más capaz que eso.
-
Domain modelling with State Machines and TypeScript by Carlton Upperdine
My fave is still io-ts (https://github.com/gcanti/io-ts/blob/master/docs/index.md) as I find it more flexible than zod at the ingress. The author is also working on the Effect ecosystem which also looks interesting.
-
Why I Like Using Maps (and WeakMaps) for Handling DOM Nodes
I’ve been using io-ts for this and been very happy with it. [1] It’s similar to Swift’s Coding protocol in case you’re familiar.
[1] https://gcanti.github.io/io-ts/
-
Can someone recommend a library for data parsing similar to Zod, but with better support for input transformations/preprocessing?
Yeah, there are a few new concepts and it's not the easiest to pick up right away. The best introduction is here on the main documentation page.
- libraries you are happy that you discovered them
- Is React for small projects an Overkill?
-
how to strictly type this?
We use https://github.com/gcanti/io-ts/blob/master/Decoder.md which has a very similar interface. It can even be used to mutate the data using https://github.com/gcanti/io-ts/blob/master/Decoder.md#the-parse-combinator.
-
Typescript advanced bits: function overloading, never and unknown types
A good way to significantly improve the reliability of your app is via improving type-safety by moving away from using any to unknown. One relevant example could be when you type your backend responses and when stringifying JSON to using unknown combined with some sort of runtime type checking. It can be done either by using built-in functionality like type guards or using an external library like io-ts, zod or yup.
-
I found 10,000x faster TypeScript validator library
Usage of TypeBox is similar with io-ts and zod, but it is much powerful and faster than them. Also, TypeBox can generate JSON schema very easily. Therefore, if you're looking for a validator library for new project and not suffering from legacy codes, I think TypeBox would be much better choice than io-ts and zod. TypeBox can totally replace them.
-
Validate your data with Zod
This check can be done with different libraries like: io-ts, typebox, or zod. These libraries allow you to create objects that represent your typescript definitions. Then, these objects can be used at runtime to validate the received data, in addition, you can also convert this object to a Typescript definition to have all the benefits of using typescript. These objects can be called schema validations because they are responsible for the data validation.
What are some alternatives?
procedural-gl-js - Mobile-first 3D mapping engine with emphasis on user experience
zod - TypeScript-first schema validation with static type inference
mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL
class-validator - Decorator-based property validation for classes.
dflex - The sophisticated Drag and Drop library you've been waiting for 🥳
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
maplibre-gl-js - MapLibre GL JS - Interactive vector tile maps in WebGL2
fp-ts - Functional programming in TypeScript
Oat++ - 🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.
runtypes - Runtime validation for static types
cratetorrent - A BitTorrent V1 engine library for Rust (and currently Linux)
joi - The most powerful data validation library for JS [Moved to: https://github.com/hapijs/joi]