Skip to content

feat(format): add isoDate, booleanText and jsonText kinds - #56

Merged
Mearman merged 2 commits into
mainfrom
feat/format-kinds
Oct 21, 2026
Merged

Mearman merged 2 commits into
mainfrom
feat/format-kinds

Conversation

@Mearman

@Mearman Mearman commented Oct 20, 2026

Copy link
Copy Markdown
Member

Adds three format kinds, each a bijection on its canonical text: isoDate (a YYYY-MM-DD calendar date to its UTC midnight in epoch milliseconds, refusing an instant that is not a midnight on decode), booleanText ("true" and "false"), and jsonText (JSON text to the value it denotes, rendered back with JSON.stringify). jsonText refuses a __proto__ key anywhere in the parsed value, because the output's JSON check would drop it silently, the same reason the path grammar refuses that key.

The README's format row lists every kind with its canonical text, and each item left under "Not in this version" (lookup tables, filter and sort, regex split, a streaming executor, nest and unnest) now carries the reason it is out.

Stacked on #55. The new tests were checked to discriminate by reverting the __proto__ refusal, the midnight check, the date shape check and the strict boolean spelling. pnpm run prepublishOnly passes locally.

Fixes #46
Refs #35
Refs #37
Refs #39
Refs #44
Refs #47

isoDate converts a calendar date (YYYY-MM-DD) to its UTC midnight in
epoch milliseconds and renders the date part back, refusing an instant
that is not a UTC midnight. booleanText converts "true" and "false" to
booleans. jsonText parses JSON text to the value it denotes and
renders it with JSON.stringify, refusing a __proto__ key anywhere in
the parsed value because the output's JSON check would drop it.
The format row names every kind and its canonical text. Each item left
under "Not in this version" now says why it is out and what would
change that.
@Mearman
Mearman changed the base branch from feat/aggregates to main October 21, 2026 07:20
@Mearman
Mearman marked this pull request as ready for review October 21, 2026 07:20
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ⚠️ Failed 2026-10-21T07:20:11.045849Z
We couldn’t complete this review. Comment @codex security review to try again.
cb9d1cb Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@Mearman
Mearman merged commit c13c9cc into main Oct 21, 2026
10 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.8.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@Mearman
Mearman deleted the feat/format-kinds branch October 21, 2026 23:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add further format kinds

1 participant