package quickjs

  1. Overview
  2. Docs

Module LibunicodeSource

Low-level bindings to QuickJS's libunicode - Unicode Character Utilities

Unicode character classification and case conversion. These are raw C bindings; for a higher-level API, use Quickjs.Unicode.

Character Classification

Check if character has uppercase/lowercase variants (Cased property)

Check if character is ignored during case mapping (Case_Ignorable)

Check if character can start an identifier (ID_Start)

Check if character can continue an identifier (ID_Continue)

Check if character is whitespace (works for all codepoints)

Case Conversion

Sourceval case_conv : Unsigned.uint32 Ctypes_static.ptr -> Unsigned.uint32 -> int -> int Bindings.Libregexp__c_generated_functions__Function_description__Functions.return

Convert character case. conv_type: 0 = uppercase, 1 = lowercase, 2 = case folding Returns number of output codepoints (1-3)

Canonicalize character for case-insensitive regex matching. is_unicode: 1 = full Unicode folding, 0 = ASCII only

Normalization

Sourceval normalize : Unsigned.uint32 Ctypes_static.ptr -> int -> int -> Unsigned.uint32 Ctypes_static.ptr Ctypes_static.ptr -> int Bindings.Libregexp__c_generated_functions__Function_description__Functions.return

Normalize Unicode string. n_type: 0 = NFC, 1 = NFD, 2 = NFKC, 3 = NFKD Returns length of output, or -1 on error

Sourceval normalize_free : Unsigned.uint32 Ctypes_static.ptr -> unit Bindings.Libregexp__c_generated_functions__Function_description__Functions.return

Free buffer allocated by normalize