No description
Find a file
2026-06-04 16:31:44 +06:00
.github/workflows refactor: zig 0.17.0 update and test coverage 2026-06-01 14:49:14 +06:00
example fix: wasi run step 2026-06-02 17:15:07 +06:00
pkg/temporal chore: changes for lang.Type 2026-06-04 16:31:44 +06:00
src chore: changes for lang.Type 2026-06-04 16:31:44 +06:00
test refactor: zig 0.17.0 update and test coverage 2026-06-01 14:49:14 +06:00
.gitignore refactor: migrate to zig 0.17 2026-05-16 11:37:15 +06:00
.gitmodules feat: add wasi target 2026-02-12 01:26:36 +06:00
.tool-versions refactor: migrate to zig 0.17 2026-05-16 11:37:15 +06:00
build.zig refactor: zig 0.17.0 update and test coverage 2026-06-01 14:49:14 +06:00
build.zig.zon refactor: zig 0.17.0 update and test coverage 2026-06-01 14:49:14 +06:00
LICENCE chore: improve readme 2026-01-26 12:38:42 +06:00
README.md fix: wasi run step 2026-06-02 17:15:07 +06:00
SPEC.md fix(Instant): align with spec 2026-01-23 23:57:14 +06:00

Temporalz

CI

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.639+284ab0ad8
  • 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 Test262 (todo)
Instant 0/0
Duration 0/0
PlainDate 0/0
PlainTime 0/0
PlainDateTime 0/0
PlainYearMonth 0/0
PlainMonthDay 0/0
ZonedDateTime 0/0

Prebuilt

Prebuilt libraries are included for the following platforms:

  • x86_64-macos
  • aarch64-macos
  • x86_64-linux-gnu
  • aarch64-linux-gnu
  • x86_64-windows-gnu
  • aarch64-windows-gnu
  • wasm32-freestanding
  • wasm32-wasi
  • x86_64-linux-musl
  • aarch64-linux-musl
  • aarch64-linux-android
  • aarch64-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

License

MIT