No description
| .github/workflows | ||
| example | ||
| pkg/temporal | ||
| src | ||
| test | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENCE | ||
| README.md | ||
Temporalz
A Zig library for working with temporal types based on the Temporal Standard.
Temporalz provides Zig bindings to the Rust-based temporal_rs library for handling dates, times, and durations with proper timezone support.
Installation
Prerequisites
- Zig 0.17.0-dev.1398+cb5635714
- Rust toolchain (only required if prebuilt staticlibs are not available for your platform)
Add as a Dependency
zig fetch --save git+https://github.com/nurulhudaapon/temporalz.git
Use in build.zig
Add temporalz to your executable in build.zig:
const temporalz = b.dependency("temporalz", .{
.target = target,
.optimize = optimize,
});
const exe = b.addExecutable(.{...});
exe.root_module.addImport("temporalz", temporalz.module("temporalz"));
Checklist (Test262)
| Namespace | Status |
|---|---|
| Instant | ✅ |
| Duration | ✅ |
| PlainDate | ✅ |
| PlainTime | ✅ |
| PlainDateTime | ✅ |
| PlainYearMonth | ✅ |
| PlainMonthDay | ✅ |
| ZonedDateTime | ✅ |
Prebuilt
Prebuilt libraries are included for the following platforms:
x86_64-macosaarch64-macosx86_64-linux-gnuaarch64-linux-gnux86_64-windows-gnuaarch64-windows-gnuwasm32-freestandingwasm32-wasix86_64-linux-muslaarch64-linux-muslaarch64-linux-androidaarch64-ios
For other platforms, the library will build from source; you need the Rust toolchain installed.
Development
Clone the Repository
git clone https://github.com/nurulhudaapon/temporalz.git
cd temporalz
Build and Run
zig build run
# Node.js
zig build run -Dtarget=wasm32-freestanding
# wasmtime
zig build run -Dtarget=wasm32-wasi
Run Tests
zig build test