Skip to content

v1.2.0: Unicode styles, ancient numerals, British and, nth/compact, vinculum Roman, playground polish - #13

Merged
brianfunk merged 24 commits into
devfrom
chore/social-preview-repo-polish
Oct 6, 2026
Merged

brianfunk merged 24 commits into
devfrom
chore/social-preview-repo-polish

Conversation

@brianfunk

@brianfunk brianfunk commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Started as PR polish on top of #12; grew into the 1.2.0 feature release. Still zero runtime dependencies.

New in the library

  • Casing styles — cap now takes sentence, camel, pascal, snake, kebab, constant, dot: numberstring(123, { cap: 'snake' }) → one_hundred_twenty_three.
  • British and option — numberstring(1001, { and: true }) → "one thousand and one"; ordinal() honors it too.
  • nth(n) — 1st, 22nd, 113th.
  • compact(n, opt) — 1.5K, 2.3B, 1Sx; digits and long ("1.5 million") options.
  • fancy(n, style) — ④② ⁴² ₄₂ 42 𝟒𝟐 𝟜𝟚 𝟦𝟤 𝟺𝟸 4️⃣2️⃣ ⠼⠙⠃.
  • Ancient numerals (numerals.js) — egyptian(), babylonian(), greek() (Mayan and tally were tried and dropped: no macOS font).
  • Financial numerals — chinese(n, { formal: true }) → 壹仟零壹, japanese(n, { formal: true }) → 壱千壱.
  • nato(n) (aliases icao, military) — ICAO radiotelephony numerals: 1984 → "wun niner ait fower", 2500 → "too tousand fife hundred", 121.5 → "wun too wun decimal fife".
  • morse(n) — International Morse code digits.
  • telephone(n, { oh: true }) says "oh" for zero.
  • scientific(n) — exact-mantissa notation: 1984 → "1.984 × 10³"; caret, e, and words formats.
  • binary(), octal(), hex(), radix(n, base) — other bases, with prefix/upper/pad.
  • bytes(n) and bits(n) — 1.5 KB, 1.5 KiB, 1.5 Mb, or "one point five kilobytes".
  • clock(time) — 🕒 🕞 clock faces for an hour or H:MM.
  • fancy('emoji') alias for keycap.
  • roman() vinculum notation above 3999, up to 3,999,999,999.
  • bahasa alias for Indonesian.

Playground

  • Rows for every new function; 大写 / 大字 rows under zh and ja.
  • ASCII art is the exact block from index.js, no longer skewed by per-line centering, and links home.
  • PNG social preview (og.png) with npm run site:og to re-render; OG/Twitter tags point at it.
  • Malformed URL hash no longer breaks page init.

Codex findings from #12, addressed here

  • LanguageConverter no longer advertises cap on converters that ignore it; es/pt keep it, zh/ja gain formal.
  • bahasa alias added to the runtime map to match the declared union.
  • decodeURIComponent on the hash is wrapped in try/catch.

Also

  • GitHub repo description, homepage and topics set via gh repo edit (already live).
  • Version 1.2.0, CHANGELOG, README, index.d.ts (checked with tsc --strict), CLAUDE.md.

Test plan

  • npm run lint clean
  • npm test 788 passing, including a fuzz suite over every export
  • tsc --noEmit --strict index.d.ts clean
  • Playground checked in Chrome at 1984, 8675309, -3.14: all rows render, no console errors
  • Netlify deploy preview spot-check on a phone (historical glyph fonts vary by OS)

@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-06T05:27:53.433783Z 68d2466 Manual request
ℹ️ 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.

- Render site/og.png from og.svg (Slack, X, LinkedIn ignore SVG og:image)
- Point og:image / twitter:image at the PNG
- Add npm run site:og (scripts/build-og.sh, headless Chrome)
- GitHub repo description, homepage and topics set via gh repo edit
@brianfunk
brianfunk force-pushed the chore/social-preview-repo-polish branch from bd60cea to 892f55b Compare October 6, 2026 04:36
@brianfunk
brianfunk changed the base branch from feat/forgiving-api-playground to dev October 6, 2026 04:36
@netlify

netlify Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for numberstring ready!

Name Link
🔨 Latest commit 29f3f0c
🔍 Latest deploy log https://app.netlify.com/projects/numberstring/deploys/6ac4874f2b3cc10008b9569e
😎 Deploy Preview https://deploy-preview-13--numberstring.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: bd60cea97f

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

… zh/ja (v1.2.0)

- British 'and' option on numberstring()/ordinal()
- nth(): 1st 2nd 3rd 11th 112th
- compact(): 1.5K 2.3B, digits and long options
- fancy(): circled, superscript, subscript, fullwidth, bold, doublestruck,
  sans, monospace, keycap, braille digit styles
- numerals.js: egyptian, babylonian, mayan, greek, tally
- chinese()/japanese() formal option for 大写 / 大字 financial numerals
- Playground rows for all of the above; ASCII art links home
- Codex fixes: bahasa alias, converter option types, safe hash decode
- Types, README, CHANGELOG 1.2.0, version bump; still zero dependencies
@brianfunk brianfunk changed the title chore: PNG social preview and repo polish v1.2.0: Unicode styles, ancient numerals, British and, nth/compact, vinculum Roman, playground polish Oct 6, 2026
@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6590cd2135

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.js
Comment thread index.js Outdated
Comment thread index.js
Comment thread languages/zh.js
- compact(): ignore leading zeros when picking a scale; keep 1000Dc at the
  upper bound instead of returning false
- decimal(): forward the 'and' option to the integer part
- chinese(): emit 零 between a higher myriad group and a lower group that
  starts below the thousands place (一万零一), formal and plain
@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3448cefc1a

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.js Outdated
@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c822d9e398

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread numerals.js Outdated
Comment thread index.js Outdated
…lias; playground tweaks

- scientific(): exact mantissa, unicode/caret/e/words formats, digits rounding
- radix() with binary/octal/hex helpers; prefix, upper, pad options
- bytes(): decimal or binary units, long form
- clock(): clock-face emoji for hours or H:MM
- fancy('emoji') alias of keycap
- Playground: fraction row shows words only, year row from 1, new rows
@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1d1bbd09e1

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.js Outdated
Comment thread index.js Outdated
Comment thread package.json
…keep guard digits when rounding; sync lockfile to 1.2.0
@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 88a3a437f2

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.js
Comment thread index.js Outdated
Comment thread index.js Outdated
@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@brianfunk

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 68d2466cb7

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread index.js Outdated
Comment thread languages/ja.js
@brianfunk
brianfunk merged commit da37f20 into dev Oct 6, 2026
10 checks passed
@brianfunk
brianfunk deleted the chore/social-preview-repo-polish branch October 6, 2026 05:31
@brianfunk brianfunk mentioned this pull request Oct 6, 2026
5 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant