• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

forzagreen / n2words
99%
main: 97%

Build:
Build:
LAST BUILD BRANCH: feat/v4-esm-umd-bundles
DEFAULT BRANCH: main
Repo Added 08 Mar 2019 03:40PM UTC
Files 58
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH v2
branch: v2
CHANGE BRANCH
x
Reset
  • v2
  • 1.19.0
  • Improve-CI
  • benchmark
  • chore--relax-pull-request-template
  • chore/add-utils-scope
  • chore/bench-quick-mode
  • chore/bench-show-slowest
  • chore/cleanup-devDeps
  • chore/codeowners
  • chore/commitlint-scopes
  • chore/config-and-tooling
  • chore/consolidate-release-artifacts
  • chore/fix-release-workflow
  • chore/fix-scripts
  • chore/fix-workflows
  • chore/improve-ci
  • chore/improve-configs
  • chore/refactor-ci
  • chore/remove-bootstrap-sha
  • chore/remove-performance-testing
  • chore/update-issue-templates
  • chore/zip-language-bundles
  • ci/merge-release-workflows
  • ci/optimize-pipeline
  • cicd/code-analysis
  • cicd/npm-ci
  • cicd/npm-publish
  • cleanup
  • dependabot/github_actions/amannn/action-semantic-pull-request-6
  • dependabot/npm_and_yarn/commitlint-40b673bf3d
  • dependabot/npm_and_yarn/dev-dependencies-7dc197fc02
  • develop
  • docs/cleanup
  • docs/update-claude-md
  • dutch-improvements
  • feat/add-georgian
  • feat/add-yoruba
  • feat/amharic-language
  • feat/cicd_use_oicd
  • feat/finnish-language
  • feat/fix-ci-redundancy
  • feat/fr-be
  • feat/lang-hausa
  • feat/ro-locale
  • feat/v1.24-release
  • feat/v4-esm-umd-bundles
  • feature/arabic
  • feature/azerbaijani
  • feature/browser-support
  • feature/bump_to_1.20.0
  • feature/bump_version_1.23.0
  • feature/bump_version_node_24
  • feature/czech
  • feature/danish
  • feature/decimal_numbers
  • feature/dutch
  • feature/farsi
  • feature/hebrew
  • feature/hungarian
  • feature/indonesian
  • feature/korean
  • feature/latvian
  • feature/lithuanian
  • feature/negative_numbers
  • feature/norwegian
  • feature/polish
  • feature/refactor_TR_algo
  • feature/russian
  • feature/serbian
  • feature/turkish
  • feature/ukrainian
  • feature/vietnamese
  • fix-code-coverage
  • fix/48_issue_pl_translations
  • fix/ci-node24-duplicate
  • fix/cz_hundreds
  • fix/czech_separator_word
  • fix/drop_node_18
  • fix/fix_coverage_badge
  • fix/import_linting
  • fix/improve_ar
  • fix/string_numbers
  • fix/turkish_numbers_with_space
  • gh-pages
  • improve-linting
  • improve-source-modules
  • main
  • master
  • moveNumberLists
  • patch-1
  • patch-3
  • perf/optimize-bn-hi
  • refactor/consolidate-base-classes
  • refactor/file-level-testing
  • refactor/improve-consistency
  • refactor/remove-precomputed-tables
  • refactor/scale-language-consolidation
  • refactor/standardize-patterns
  • refactor/test-consolidation
  • refs/heads/master
  • refs/tags/v1.10.0
  • refs/tags/v1.10.1
  • refs/tags/v1.11.0
  • refs/tags/v1.11.1
  • refs/tags/v1.12.0
  • refs/tags/v1.12.1
  • refs/tags/v1.12.2
  • refs/tags/v1.13.0
  • refs/tags/v1.14.0
  • refs/tags/v1.15.0
  • refs/tags/v1.16.0
  • refs/tags/v1.16.1
  • refs/tags/v1.16.2
  • refs/tags/v1.16.3
  • refs/tags/v1.6.2
  • refs/tags/v1.7.0
  • refs/tags/v1.7.1
  • refs/tags/v1.8.0
  • refs/tags/v1.9.0
  • refs/tags/v1.9.1
  • release-please--branches--main--components--n2words
  • release/v3-prep
  • serbianAndCroatian
  • v1.0.0
  • v1.1.0
  • v1.2.0
  • v1.3.1
  • v1.3.2
  • v1.4.0
  • v1.4.1
  • v1.5.0
  • v1.6.0
  • v1.6.1
  • v2.0.0

04 Jan 2026 04:12AM UTC coverage: 98.582% (-0.6%) from 99.16%
20760301385

push

github

web-flow
perf: add segment-based ScaleLanguage for 10x faster conversion (#205)

Replace GreedyScaleLanguage with a new segment-based architecture that uses
O(1) property lookups instead of O(n) array scans, achieving ~10x faster
number-to-words conversion.

## New Base Classes

- **ScaleLanguage**: Segment-based decomposition for most Western languages
  - O(1) vocabulary lookups using direct property access
  - Implicit one omission flags: omitOneBeforeHundred, omitOneBeforeThousand, omitOneBeforeScale
  - thousandWord property for languages that separate thousand from scale words

- **CompoundScaleLanguage**: Long scale with "thousand + previous" pattern
  - Pattern: million (10^6), thousand million (10^9), billion (10^12)
  - Used by: French, Portuguese, Spanish

- **MyriadLanguage**: 4-digit 万-based grouping for East Asian languages
  - Groups by 10,000 instead of 1,000
  - Used by: Japanese, Korean, Simplified Chinese, Traditional Chinese

## Languages Migrated (24 total)

ScaleLanguage: Amharic, Amharic Latin, Azerbaijani, Danish, Dutch, English,
Filipino, Finnish, German, Greek, Hausa, Indonesian, Malay, Norwegian Bokmål,
Swedish, Turkish

CompoundScaleLanguage: French, French Belgium, Portuguese, Spanish

MyriadLanguage: Japanese, Korean, Simplified Chinese, Traditional Chinese

## Removed

- GreedyScaleLanguage class (superseded by ScaleLanguage)
- TurkicLanguage class (merged into ScaleLanguage with omission flags)

## Other Changes

- Add groupByFours and placeValuesFour utilities for myriad mode
- Update add-language.js scaffolding to default to ScaleLanguage
- Store benchmark results in ~/.n2words-bench/ for persistence
- Support comma-separated language scopes in commitlint

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

1456 of 1535 branches covered (94.85%)

Branch coverage included in aggregate %.

3323 of 3354 new or added lines in 25 files covered. (99.08%)

2 existing lines in 2 files now uncovered.

9599 of 9679 relevant lines covered (99.17%)

131.54 hits per line

Relevant lines Covered
Build:
Build:
9679 RELEVANT LINES 9599 COVERED LINES
131.54 HITS PER LINE
Source Files on v2
  • Tree
  • List 63
  • Changed 22
  • Source Changed 22
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
20760301385 v2 perf: add segment-based ScaleLanguage for 10x faster conversion (#205) Replace GreedyScaleLanguage with a new segment-based architecture that uses O(1) property lookups instead of O(n) array scans, achieving ~10x faster number-to-words conversion... push 06 Jan 2026 07:56PM UTC web-flow github
98.58
20562337467 v2 Merge ae2c5ffaf into 73a4d1677 Pull #180 29 Dec 2025 01:15AM UTC web-flow github pending completion  
20562249499 v2 Merge 19a826463 into 73a4d1677 Pull #180 29 Dec 2025 01:09AM UTC web-flow github pending completion  
20561803488 v2 Merge 0aa489c58 into 73a4d1677 Pull #180 29 Dec 2025 12:34AM UTC web-flow github pending completion  
20561397433 v2 Merge 3c527f44a into 73a4d1677 Pull #180 29 Dec 2025 12:03AM UTC web-flow github pending completion  
20561359573 v2 Merge 4807f2fe1 into 73a4d1677 Pull #180 29 Dec 2025 12:00AM UTC web-flow github pending completion  
20559059128 v2 Merge b9b279d61 into 73a4d1677 Pull #178 28 Dec 2025 08:21PM UTC web-flow github pending completion  
20542993044 v2 Merge 02e7a2bc1 into 48d103a41 Pull #176 27 Dec 2025 06:51PM UTC web-flow github
99.22
20542767413 v2 Merge aedfcc609 into 48d103a41 Pull #176 27 Dec 2025 06:30PM UTC web-flow github
99.22
20536128731 v2 Merge 467f70555 into 48d103a41 Pull #176 27 Dec 2025 07:32AM UTC web-flow github
99.22
See All Builds (684)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc