3
0
mirror of https://github.com/larvit/adf-codec.git synced 2026-11-12 11:48:29 +01:00

Answer product-owner round 1: mark the class-instance refusal breaking and name the remedy, file item 80

This commit is contained in:
2026-10-05 01:03:17 +02:00
committed by Lillem4n
parent 0cdc56a56f
commit 6b2e96ff3f
2 changed files with 5 additions and 3 deletions
+4 -2
View File
@@ -2,8 +2,10 @@
## Unreleased
- Fix an attribute value JSON does not hold — a `Date`, `Map`, `Set`, typed array or class instance —
passing `isAdfDocument` and converting as `{}`: it is `not-an-adf-document`.
- **Breaking:** an attribute value that is not a plain object, array or JSON primitive, such as a
`Date`, `Map`, typed array or class instance, makes `isAdfDocument` return `false` and the
converters refuse it as `not-an-adf-document`, where it was written as `{}` or its own keys.
Build it as JSON holds it: `date.toISOString()`, `Object.fromEntries(map)`, `{ ...instance }`.
- The README opens with what the package does and for whom, and `package.json` carries search
keywords.
- The source moves to [github.com/larvit/adf-codec](https://github.com/larvit/adf-codec), where
+1 -1
View File
@@ -195,7 +195,7 @@ Emitting — `adfToMarkdown`, and `adfToHtml` at `0.2.0`:
| Code | Fires when | What you can do |
| --- | --- | --- |
| `not-an-adf-document` | the value handed in is no ADF document — a missing or wrong `type`, a stray key, a node that is not a node, an attribute value JSON does not hold — a `Date`, `Map` or class instance —, an object in the document holding itself | guard the boundary you receive JSON at with `isAdfDocument`; the message names the branch that refused |
| `not-an-adf-document` | the value handed in is no ADF document — a missing or wrong `type`, a stray key, a node that is not a node, an object in the document holding itself, an attribute value that is not a plain object, array or JSON primitive, such as a `Date` or `Map` | guard the boundary you receive JSON at with `isAdfDocument`; the message names the branch that refused. Build an attribute value as JSON holds it: `date.toISOString()`, `Object.fromEntries(map)`, `{ ...instance }` |
| `unsupported-document-version` | the document's `version` is not 1 | keep the ADF and pass the document over, or show it read-only; the version is the site's, not yours to change |
Either direction. The emitter's own refusals are in this group — a parse reaches them by asking it