Rust modules in TypeScript
TypeScript implementations of 23 Rust standard library functions across 1 module. Each function is individually importable and tree-shakeable.
str- contains
- ends_with
- find
- len
- lines
- match_indices
- replace
- rfind
- rsplit_once
- rsplit_terminator
- rsplitn
- split_inclusive
- split_once
- split_terminator
- splitn
- starts_with
- strip_prefix
- strip_suffix
- to_lowercase
- to_uppercase
- trim
- trim_end
- trim_start
We have 23 Rust functions so far - help us add more
Got a rainy Sunday afternoon and a taste for a porting puzzle?
- Get inspiration from the Rust std::str docs.
- Click "New file" in the appropriate folder on GitHub. This will fork the project to your account, directly add the file to it, and send a Pull Request to us.
We will then review it. If it's useful to the project and in line with our contributing guidelines your work will become part of Locutus and you'll be automatically credited in the authors section accordingly.
Upstream Surface Inventory 23/5276 shipped · 587 next 0%
Locutus tracks 124 upstream namespaces for Rust and sorts them into what is already shipped, what we still want, what we intentionally keep, and what still needs a decision.
This inventory now tracks a broader slice of Rust core/std primitives and slice helpers first, excluding the wider crate ecosystem.
Complete
Shipped (23)
Explicit non-goals (107)
-
addRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
add_assignRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_asciiRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_ascii_uncheckedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_bytesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_bytes_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_mut_ptrRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_ptrRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_refRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_strRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
as_utf8_patternRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
borrowRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
borrow_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
bytesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
ceil_char_boundaryRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
char_indicesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
charsRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
cloneRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
clone_fromRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
clone_intoRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
clone_to_uninitRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
cmpRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
concatRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
defaultRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
encode_utf16Raw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
eqRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
eq_ignore_ascii_caseRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
escape_debugRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
escape_defaultRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
escape_unicodeRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
extendRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
extend_oneRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
extend_reserveRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
floor_char_boundaryRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
fmtRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
fromRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
from_iterRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
from_utf8Raw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
from_utf8_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
from_utf8_uncheckedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
from_utf8_unchecked_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
geRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
getRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
get_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
get_uncheckedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
get_unchecked_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
gtRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
hashRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
indexRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
index_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
into_boxed_bytesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
into_searcherRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
into_stringRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
is_asciiRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
is_char_boundaryRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
is_contained_inRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
is_emptyRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
is_prefix_ofRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
is_suffix_ofRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
joinRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
leRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
lines_anyRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
ltRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
make_ascii_lowercaseRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
make_ascii_uppercaseRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
matchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
neRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
parseRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
partial_cmpRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
repeatRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
replacenRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
rmatch_indicesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
rmatchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
rsplitRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
slice_mut_uncheckedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
slice_uncheckedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
splitRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
split_ascii_whitespaceRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
split_atRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
split_at_checkedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
split_at_mutRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
split_at_mut_checkedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
split_whitespaceRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
strip_circumfixRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
strip_prefix_ofRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
strip_suffix_ofRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
substr_rangeRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
to_ascii_lowercaseRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
to_ascii_uppercaseRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
to_ownedRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
to_socket_addrsRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
to_stringRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_asciiRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_ascii_endRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_ascii_startRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_end_matchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_leftRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_left_matchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_matchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_prefixRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_rightRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_right_matchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_start_matchesRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
trim_suffixRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
try_fromRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist. -
type_idRaw string primitive methods mix iterators, unsafe accessors, and trait-driven runtime semantics too broadly for one direct wishlist.
In progress
f32
Next
Floating-point primitive helpers are strong Rust portability targets.
absabs_subacosacoshaddadd_assignalgebraic_addalgebraic_divalgebraic_mulalgebraic_remalgebraic_subasinasinhatanatan2atanhborrowborrow_mutcbrtceilclampclamp_magnitudeclassifycloneclone_fromclone_intoclone_to_uninitcopysigncoscoshdefaultdivdiv_assigndiv_euclideqerferfcexpexp_m1exp2floorfmtfractfromfrom_be_bytesfrom_bitsfrom_le_bytesfrom_ne_bytesfrom_strgammagegthypotintois_finiteis_infiniteis_nanis_normalis_sign_negativeis_sign_positiveis_subnormallelnln_1pln_gammaloglog10log2ltmaxmaximummidpointminminimummulmul_addmul_assignnenegnext_downnext_uppartial_cmppowfpowiproductrecipremrem_assignrem_euclidroundround_ties_evensignumsinsin_cossinhsqrtsubsub_assignsumtantanhto_be_bytesto_bitsto_degreesto_int_uncheckedto_le_bytesto_ne_bytesto_ownedto_radiansto_stringtotal_cmptrunctry_fromtry_intotype_id
f64
Next
Floating-point primitive helpers are strong Rust portability targets.
absabs_subacosacoshaddadd_assignalgebraic_addalgebraic_divalgebraic_mulalgebraic_remalgebraic_subasinasinhatanatan2atanhborrowborrow_mutcbrtceilclampclamp_magnitudeclassifycloneclone_fromclone_intoclone_to_uninitcopysigncoscoshdefaultdivdiv_assigndiv_euclideqerferfcexpexp_m1exp2floorfmtfractfromfrom_be_bytesfrom_bitsfrom_le_bytesfrom_ne_bytesfrom_strgammagegthypotintois_finiteis_infiniteis_nanis_normalis_sign_negativeis_sign_positiveis_subnormallelnln_1pln_gammaloglog10log2ltmaxmaximummidpointminminimummulmul_addmul_assignnenegnext_downnext_uppartial_cmppowfpowiproductrecipremrem_assignrem_euclidroundround_ties_evensignumsinsin_cossinhsqrtsubsub_assignsumtantanhto_be_bytesto_bitsto_degreesto_int_uncheckedto_le_bytesto_ne_bytesto_ownedto_radiansto_stringtotal_cmptrunctry_fromtry_intotype_id
f16
Next
Floating-point primitive helpers are strong Rust portability targets.
absacosacoshaddadd_assignalgebraic_addalgebraic_divalgebraic_mulalgebraic_remalgebraic_subasinasinhatanatan2atanhborrowborrow_mutcbrtceilclampclamp_magnitudeclassifycloneclone_fromclone_intoclone_to_uninitcopysigncoscoshdefaultdivdiv_assigndiv_euclideqerferfcexpexp_m1exp2floorfmtfractfromfrom_be_bytesfrom_bitsfrom_le_bytesfrom_ne_bytesfrom_strgammagegthypotintois_finiteis_infiniteis_nanis_normalis_sign_negativeis_sign_positiveis_subnormallelnln_1pln_gammaloglog10log2ltmaxmaximummidpointminminimummulmul_addmul_assignnenegnext_downnext_uppartial_cmppowfpowiproductrecipremrem_assignrem_euclidroundround_ties_evensignumsinsin_cossinhsqrtsubsub_assignsumtantanhto_be_bytesto_bitsto_degreesto_int_uncheckedto_le_bytesto_ne_bytesto_ownedto_radiansto_stringtotal_cmptrunctry_fromtry_intotype_id
f128
Next
Floating-point primitive helpers are strong Rust portability targets.
absacosacoshaddadd_assignalgebraic_addalgebraic_divalgebraic_mulalgebraic_remalgebraic_subasinasinhatanatan2atanhborrowborrow_mutcbrtceilclampclamp_magnitudeclassifycloneclone_fromclone_intoclone_to_uninitcopysigncoscoshdefaultdivdiv_assigndiv_euclideqerferfcexpexp_m1exp2floorfmtfractfromfrom_be_bytesfrom_bitsfrom_le_bytesfrom_ne_bytesgammagegthypotintois_finiteis_infiniteis_nanis_normalis_sign_negativeis_sign_positiveis_subnormallelnln_1pln_gammaloglog10log2ltmaxmaximummidpointminminimummulmul_addmul_assignnenegnext_downnext_uppartial_cmppowfpowiproductrecipremrem_assignrem_euclidroundround_ties_evensignumsinsin_cossinhsqrtsubsub_assignsumtantanhto_be_bytesto_bitsto_degreesto_int_uncheckedto_le_bytesto_ne_bytesto_ownedto_radianstotal_cmptrunctry_fromtry_intotype_id
char
Next
Character primitive helpers are strong plain-value portability targets.
as_asciias_ascii_uncheckedas_utf8_patternbackwardbackward_checkedbackward_uncheckedborrowborrow_mutclampcloneclone_fromclone_intoclone_to_uninitcmpdecode_utf16defaultencode_utf16encode_utf8eqeq_ignore_ascii_caseescape_debugescape_defaultescape_unicodeextendextend_oneextend_reservefmtforwardforward_checkedforward_uncheckedfromfrom_digitfrom_iterfrom_strfrom_u32from_u32_uncheckedgegthashhash_sliceintointo_searcheris_alphabeticis_alphanumericis_asciiis_ascii_alphabeticis_ascii_alphanumericis_ascii_controlis_ascii_digitis_ascii_graphicis_ascii_hexdigitis_ascii_lowercaseis_ascii_octdigitis_ascii_punctuationis_ascii_uppercaseis_ascii_whitespaceis_contained_inis_controlis_digitis_lowercaseis_numericis_prefix_ofis_suffix_ofis_uppercaseis_whitespacelelen_utf16len_utf8ltmake_ascii_lowercasemake_ascii_uppercasemaxminnepartial_cmpsteps_betweenstrip_prefix_ofstrip_suffix_ofsub_oneto_ascii_lowercaseto_ascii_uppercaseto_digitto_lowercaseto_ownedto_stringto_uppercasetry_fromtry_intotype_id
bool
Next
Boolean primitive helpers have a clean plain-value contract.
bitandbitand_assignbitorbitor_assignbitxorbitxor_assignborrowborrow_mutclampcloneclone_fromclone_intoclone_to_uninitcmpdefaultdisjoint_bitoreqfmtfromfrom_strgegthashhash_sliceintoleltmaxminnenotok_orok_or_elsepartial_cmpsamplethenthen_someto_ownedto_stringtry_fromtry_intotype_id