@craftguild/jscalendar 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -6
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
|
+
<p style="text-align: center;">
|
|
2
|
+
<img src="assets/d97d4d10-44f9-4b49-9fc2-5aaf33c667ef.png" alt="JSCalendar logo" style="max-height: 320px; height: auto; width: auto;" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
# RFC 8984 (JSCalendar) TypeScript Library
|
|
2
6
|
|
|
3
7
|
This library provides a thin, practical TypeScript API for working with
|
|
4
|
-
RFC 8984 (JSCalendar) objects
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
RFC 8984 (JSCalendar) objects while staying close to the spec. It focuses
|
|
9
|
+
on creation, patching, recurrence expansion, search, and iCalendar export.
|
|
10
|
+
It does **not** implement a calendar application or server; it is a data
|
|
11
|
+
model toolkit you can use in web apps, CLIs, or services.
|
|
8
12
|
|
|
9
13
|
Primary object types are **Event**, **Task**, and **Group**. A **Group**
|
|
10
14
|
acts as a container when you want to bundle multiple objects. The API is
|
|
11
|
-
intentionally small
|
|
12
|
-
|
|
15
|
+
intentionally small but opinionated: constructors normalize required
|
|
16
|
+
fields, validation is strict by default, and `patch` applies RFC 8984
|
|
17
|
+
PatchObject semantics.
|
|
18
|
+
|
|
19
|
+
For developer experience, the library offers builder helpers that fill
|
|
20
|
+
`@type` fields and validate nested structures (participants, locations,
|
|
21
|
+
alerts, recurrence rules, and more). You can still pass raw, typed
|
|
22
|
+
JSCalendar objects directly when your data already matches the spec.
|
|
13
23
|
|
|
14
24
|
## Installation
|
|
15
25
|
|
package/package.json
CHANGED