@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.
Files changed (2) hide show
  1. package/README.md +16 -6
  2. 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. It focuses on creation, mutation, search,
5
- and export. It does **not** implement a calendar application or server.
6
- The goal is to keep the data model easy to use in web apps and CLIs while
7
- preserving access to the full RFC object structure when you need it.
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: you create objects, mutate them with safe helpers,
12
- query them with search utilities, and export them to iCalendar as needed.
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
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@craftguild/jscalendar",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "RFC 8984 (JSCalendar) data model helpers for TypeScript",
5
+ "license": "MIT",
5
6
  "type": "module",
6
7
  "main": "dist/index.js",
7
8
  "types": "dist/index.d.ts",