|
1 | 1 | # Temporal in Rust |
2 | 2 |
|
3 | | -Temporal is a calendar and timezone aware date/time builtin currently |
4 | | -proposed for addition to the ECMAScript specification. |
| 3 | +`temporal_rs` is a Rust date/time library that provides support for calendrical |
| 4 | +calculations and time zones that is based on the Temporal specification. |
5 | 5 |
|
6 | | -`temporal_rs` is an implementation of Temporal in Rust that aims to be |
7 | | -100% test compliant. While initially developed for [Boa][boa-repo], the |
8 | | -crate has been externalized and is being used in other engines such as [V8](https://v8.dev) and [Kiesel](https://codeberg.org/kiesel-js/kiesel). |
| 6 | +This implementation aims to be 100% test compliant. While initially developed |
| 7 | +for [Boa][boa-repo], the crate was split from the engine repository for general |
| 8 | +Rust usage and vendoring to other ECMAScript implementations. |
9 | 9 |
|
10 | | -For more information on `temporal_rs`'s general position in the Rust |
11 | | -date/time library ecoystem, see our [FAQ](./docs/FAQ.md). |
| 10 | +For more information on `temporal_rs`'s general position in the Rust date/time |
| 11 | +library ecoystem or whether we may address your use case, see our |
| 12 | +[FAQ](./docs/FAQ.md). |
12 | 13 |
|
| 14 | +Currently, `temporal_rs` is used in Boa, [Kiesel](https://codeberg.org/kiesel-js/kiesel), |
| 15 | +and [V8](https://v8.dev) for the core functionality of their Temporal built-ins. |
13 | 16 |
|
14 | | -Temporal is an API for working with date and time in a calendar |
15 | | -and time zone aware manner. |
| 17 | +## Project overview |
16 | 18 |
|
17 | | -temporal_rs is designed with ECMAScript implementations and general |
18 | | -purpose Rust usage in mind, meaning that temporal_rs can be used to implement |
19 | | -the Temporal built-ins in an ECMAScript implementation or generally |
20 | | -used as a date and time library in a Rust project. |
| 19 | +This project publishes the following crates: |
21 | 20 |
|
22 | | -temporal_rs is the primary library for the Temporal API implementation in Boa, Kiesel, |
23 | | -and V8. Each of these engines pass the large ECMAScript conformance test suite for |
24 | | -the specification. |
| 21 | +- [`temporal_rs`](https://docs.rs/temporal_rs/latest/temporal_rs/), the core date/time library |
| 22 | +- [`temporal_capi`](https://docs.rs/temporal_capi/latest/temporal_capi/), a FFI crate for C and C++ |
| 23 | +- [`timezone_provider`](https://docs.rs/timezone_provider/latest/timezone_provider/), a time zone data provider crate |
| 24 | +- [`zoneinfo_rs`](https://docs.rs/zoneinfo_rs/latest/zoneinfo_rs/), an experimental zoneinfo compiler crate |
25 | 25 |
|
26 | 26 | ## Why use temporal_rs? |
27 | 27 |
|
28 | | -As previously mentioned, Temporal is an API for working with date and time in |
29 | | -a calendar and time zone aware manner. This means that calendar and time zone support |
30 | | -are first class in Temporal as well as in temporal_rs. |
| 28 | +Temporal is a date and time library that is both calendar and time zone aware manner. This |
| 29 | +means that calendar and time zone support are first class in Temporal. |
31 | 30 |
|
32 | 31 | For instance, converting between calendars is as simple as providing the calendar as |
33 | 32 | shown below. |
@@ -82,7 +81,7 @@ assert_eq!(zdt_zurich.second(), 10); |
82 | 81 |
|
83 | 82 | ``` |
84 | 83 |
|
85 | | -## Overview |
| 84 | +## Library Overview |
86 | 85 |
|
87 | 86 | temporal_rs provides 8 core types for working with date and time. The core types are: |
88 | 87 |
|
|
0 commit comments