npm-bahtrext

BahtRext

Download/month Total Download

Quality Gate Status Bugs Code Smells Duplicated Lines (%) Lines of Code

Reliability Rating Security Rating Maintainability Rating Vulnerabilities

Alt

OpenTelemetry

This project is instrumented with OpenTelemetry. To enable tracing, you will need to configure the OTLP exporter by setting the following environment variables:

For more information, please refer to the OpenTelemetry documentation.

Install

ES6

npm install bahtrext@2.5.4

ES5

npm install bahtrext@1.7.2

Demo / Example

Must Read

Beliefs

  1. Money in Thai Baht can be translate to word
  2. Default Decimal places is 2 digits; 3+ digits are optional.
  3. Support Negative Number as Other Baht JS Library
  4. All Synchronous function
  5. This Number System not working well with large numbers. Is there a better way to read numbers in Thai?

Quick API Snippets

import { MillionScaleText, CompactScaleText } from "bahtrext";

// Source content example: "1 ใน 5,566,857,732,147,160,000,000"
const shortText = MillionScaleText("5,566,857,732,147,160,000,000");
// shortText => "ห้าพันห้าร้อยหกสิบหกล้านล้านล้าน"

const compactText = CompactScaleText(
  "1035531362097366437658125676806059750189964336484946134542090486895029450514590979495591124336086177139938812952029085090597851627520000000"
);
// compactText => "1.036 ตามด้วยคำว่า \"ล้าน\" 23 ครั้ง"

Test Regex

😊 Plz Consider

Author

Chadin Chaipornpisuth

Changes

Flow

flowchart TD
    A(ABT) -->|input type| B{Type}
    B --> |Number| C(iTHBText)
    B --> |String| D{Allow Negative ?}
    D --> |True| E(NEG)
    D --> |False| F(BF)
    E --> F(BF)
    F --> G(BT)
    G --> |Convert Number to Decimal| H(BahtText)
    H --> I(MoneyLaundering)
    I --> J(splitIntFrac)
    J --> |moneyFull| K[/moneyFull/]
    J --> |moneyInt| L[/moneyInt/]
    J --> |moneyFrac| M[/moneyFrac/]
    K --> |moneyFull| N{Match Zero ?}
    N --> |True| P[/Zero/]
    P --> ZZZ(return)
    M --> |moneyFrac| O(PrintSatangs)
    O --> |satang_part| R
    L --> |moneyInt| Q(PrintBaht)
    Q --> |baht_part| R(Concat)
    R --> ZZZ