Ruby modules in TypeScript
TypeScript implementations of 44 Ruby standard library functions across 3 modules. Each function is individually importable and tree-shakeable.
Array- bsearch
- bsearch_index
- compact
- filter_map
- first
- flatten
- group_by
- last
- permutation
- sample
- slice_when
- tally
- uniq
- zip
- capitalize
- chomp
- chop
- delete_prefix
- delete_suffix
- downcase
- end_with
- gsub
- include
- length
- reverse
- start_with
- strip
- tr
- upcase
We have 44 Ruby functions so far - help us add more
Got a rainy Sunday afternoon and a taste for a porting puzzle?
- Get inspiration from the Ruby core documentation.
- 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 44/5795 shipped · 867 next 1%
Locutus tracks 184 upstream namespaces for Ruby 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 Ruby's full runtime-loaded core class/module surface, with selected stdlib-adjacent namespaces folded into the same review model.
In progress
Next
Ruby Math helpers map cleanly to JS numbers.
acoshasinhatan2atanherferfcfrexpgammahypotldexplgamma
Shipped (15)
-
capitalize -
chomp -
chop -
delete_prefix -
delete_suffix -
downcase -
end_with? -
gsub -
include? -
length -
reverse -
start_with? -
strip -
tr -
upcase
Next
Most Ruby String methods are strong plain-value portability targets.
-@[][]=*%++@<<<<==~>>=ascii_only?between?capitalize!casecmpcasecmp?centercharschomp!chop!chrclampclearcodepointsconcatcountdedupdeletedelete_prefix!delete_suffix!delete!downcase!dumpempty?getbytegrapheme_clustersgsub!hexindexinsertiseucisjisissjisisutf8kconvlinesljustlstriplstrip!matchmatch?newnextnext!octordparse_csvpartitionprependreplacereverse!rindexrjustrpartitionrstriprstrip!scanscrubscrub!setbyteshellescapeshellsplitsizesliceslice!splitsqueezesqueeze!strip!subsub!succsucc!sumswapcaseswapcase!to_cto_fto_ito_json_rawto_json_raw_objectto_rto_strto_symtoeuctojistolocaletosjistoutf16toutf32toutf8tr_str_s!tr!try_convertundumpunicode_normalizeunicode_normalize!unicode_normalized?unpackunpack1upcase!uptovalid_encoding?
Explicit non-goals (18)
-
bRuby's binary-string clone helper adds little value in JS. -
byteindexByte-oriented string APIs do not fit Locutus' current plain-value model. -
byterindexByte-oriented string APIs do not fit Locutus' current plain-value model. -
bytesByte-oriented string APIs do not fit Locutus' current plain-value model. -
bytesizeByte-oriented string APIs do not fit Locutus' current plain-value model. -
bytesliceByte-oriented string APIs do not fit Locutus' current plain-value model. -
bytespliceByte-oriented string APIs do not fit Locutus' current plain-value model. -
cryptPassword-hash wrappers are security-sensitive and not a good Locutus target. -
each_byteEnumerator-driven iteration APIs are better expressed directly in JS. -
each_charEnumerator-driven iteration APIs are better expressed directly in JS. -
each_codepointEnumerator-driven iteration APIs are better expressed directly in JS. -
each_grapheme_clusterEnumerator-driven iteration APIs are better expressed directly in JS. -
each_lineEnumerator-driven iteration APIs are better expressed directly in JS. -
encodeEncoding-object semantics do not fit Locutus' plain-value model. -
encode!Encoding-object semantics do not fit Locutus' plain-value model. -
encodingEncoding objects are not a stable plain-value target. -
force_encodingEncoding mutation does not fit Locutus' plain-value model. -
internSymbol-table interning does not fit Locutus' plain-value model.
Shipped (14)
Next
Most Ruby Array methods map naturally onto JS arrays and plain objects.
-[][]=*&+<<|abbrevall?any?appendassocatchunkchunk_whileclearcollectcollect_concatcollect!combinationcompact!concatcountcycledeconstructdeletedelete_atdelete_ifdetectdifferencedigdropdrop_whileempty?entriesfetchfillfilterfilter!findfind_allfind_indexflat_mapflatten!grepgrep_vinclude?indexinjectinsertintersect?intersectionjoinkeep_iflengthmapmap!maxmax_bymember?minmin_byminmaxminmax_bynewnone?one?partitionpopprependproductpushrassocreducerejectreject!repeated_combinationrepeated_permutationreplacereversereverse_eachreverse!rindexrotaterotate!selectselect!shiftshuffleshuffle!sizesliceslice_afterslice_beforeslice!sortsort_bysort_by!sort!sumtaketake_whileto_ato_aryto_htransposetry_convertunionuniq!unshiftvalues_at
Explicit non-goals (11)
-
chainLazy enumerator chaining is not a stable plain-value target. -
eachEnumerator-driven iteration APIs are better expressed directly in JS. -
each_consEnumerator-driven iteration APIs are better expressed directly in JS. -
each_entryEnumerator-driven iteration APIs are better expressed directly in JS. -
each_indexEnumerator-driven iteration APIs are better expressed directly in JS. -
each_sliceEnumerator-driven iteration APIs are better expressed directly in JS. -
each_with_indexEnumerator-driven iteration APIs are better expressed directly in JS. -
each_with_objectEnumerator-driven iteration APIs are better expressed directly in JS. -
lazyLazy enumerators do not fit Locutus' plain-value model. -
packBinary packing semantics do not map cleanly to JS plain values. -
to_setRuby Set values are not a stable plain-value target for Locutus.
CSV
Next
CSV parsing and generation are high-value portability targets.
<<add_rowall?any?binmodebinmode?chainchunkchunk_whilecloseclose_readclose_writeclosed?col_sepcollectcollect_concatcompactconvertconverterscountcycledetectdropdrop_whileeacheach_conseach_entryeach_sliceeach_with_indexeach_with_objectencodingentrieseofeof?external_encodingfcntlfield_size_limitfilenofilterfilter_mapfindfind_allfind_indexfirstflat_mapflockflushforce_quotes?foreachfsyncgenerategenerate_linegenerate_linesgetsgrepgrep_vgroup_byheader_convertheader_convertersheader_row?headersinclude?injectinstanceinternal_encodingioctlisattylazyliberal_parsing?linelinenomapmaxmax_bymax_field_sizemember?minmin_byminmaxminmax_bynone?one?openparseparse_linepartitionpathpidpospos=putsquote_charreadreadlinereadlinesreducerejectreopenreturn_headers?reverse_eachrewindrow_sepseekselectshiftskip_blanks?skip_linesslice_afterslice_beforeslice_whensortsort_bystatstringsumsyncsync=tabletaketake_whiletallytellto_ato_hto_ito_ioto_settruncatetty?unconverted_fields?uniqwrite_headers?zip
Pathname
Next
Path manipulation helpers are strong plain-string portability targets.
/+absolute?ascendatimebasenamebinreadbinwritebirthtimeblockdev?chardev?childrenchmodchowncleanpathctimedeletedescenddirectory?dirnameeach_childeach_entryeach_filenameeach_lineempty?entriesexecutable_real?executable?exist?expand_pathextnamefile?findfnmatchfnmatch?ftypegetwdglobgrpowned?joinlchmodlchownlstatlutimemake_linkmake_symlinkmkdirmkpathmountpoint?mtimeopenopendirowned?parentpipe?pwdreadreadable_real?readable?readlinesreadlinkrealdirpathrealpathrelative_path_fromrelative?renamermdirrmtreeroot?setgid?setuid?sizesize?socket?splitstatsticky?subsub_extsymlink?sysopento_pathtruncateunlinkutimeworld_readable?world_writable?writable_real?writable?writezero?
Hash
Next
Hash readers and pure transforms often map cleanly onto JS objects and entry arrays.
[][]=<<=>>=all?any?assocchunkchunk_whilecollectcollect_concatcompactcountcycledeconstruct_keysdetectdigdropdrop_whileempty?entriesexceptfetchfetch_valuesfilterfilter_mapfindfind_allfind_indexfirstflat_mapflattengrepgrep_vgroup_byhas_key?has_value?include?injectinvertkeykey?keyslengthmapmaxmax_bymember?mergeminmin_byminmaxminmax_bynone?one?partitionrassocreducerejectreverse_eachruby2_keywords_hashruby2_keywords_hash?selectsizesliceslice_afterslice_beforeslice_whensortsort_bysumtaketake_whiletallyto_ato_hto_hashto_proctransform_keystransform_valuestry_convertuniqupdatevalue?valuesvalues_atzip
Explicit non-goals (33)
-
chainLazy enumerator chaining is not a stable plain-value target. -
clearHash mutation is outside Locutus' value-only model. -
compact!Bang methods mutate caller-owned hash state. -
compare_by_identityIdentity-based key semantics do not match plain JS object behavior. -
compare_by_identity?Identity-based key semantics do not match plain JS object behavior. -
defaultDefault-proc semantics depend on mutable hash behavior and callable state. -
default_procDefault-proc semantics depend on callable runtime state. -
default_proc=Changing hash defaults mutates caller-owned state. -
default=Changing hash defaults mutates caller-owned state. -
deleteHash mutation is outside Locutus' value-only model. -
delete_ifHash mutation is outside Locutus' value-only model. -
eachEnumerator-driven iteration APIs are better expressed directly in JS. -
each_consEnumerator-driven iteration APIs are better expressed directly in JS. -
each_entryEnumerator-driven iteration APIs are better expressed directly in JS. -
each_keyEnumerator-driven iteration APIs are better expressed directly in JS. -
each_pairEnumerator-driven iteration APIs are better expressed directly in JS. -
each_sliceEnumerator-driven iteration APIs are better expressed directly in JS. -
each_valueEnumerator-driven iteration APIs are better expressed directly in JS. -
each_with_indexEnumerator-driven iteration APIs are better expressed directly in JS. -
each_with_objectEnumerator-driven iteration APIs are better expressed directly in JS. -
filter!Bang methods mutate caller-owned hash state. -
keep_ifHash mutation is outside Locutus' value-only model. -
lazyLazy enumerators do not fit Locutus' plain-value model. -
merge!Bang methods mutate caller-owned hash state. -
rehashHash rehashing depends on Ruby's mutable identity semantics. -
reject!Bang methods mutate caller-owned hash state. -
replaceHash mutation is outside Locutus' value-only model. -
select!Bang methods mutate caller-owned hash state. -
shiftHash mutation is outside Locutus' value-only model. -
storeHash mutation is outside Locutus' value-only model. -
to_setRuby Set values are not a stable plain-value target for Locutus. -
transform_keys!Bang methods mutate caller-owned hash state. -
transform_values!Bang methods mutate caller-owned hash state.
Integer
Next
Ruby Integer helpers are strong scalar portability targets.
--@[]***/&%^++@<<<<=>>=>>|~absabs2allbits?angleanybits?argbetween?bit_lengthceilceildivchrclampcoerceconjconjugatedenominatordigitsdivdivmodeven?fdivfinite?floorgcdgcdlcmiimagimaginaryinfinite?integer?lcmmagnitudemodulonegative?nextnobits?nonzero?numeratorodd?ordphasepolarpositive?powpredquorationalizerealreal?rectrectangularremainderroundsingleton_method_addedsizesqrtstepsuccto_cto_fto_ito_inttruncatetry_convertzero?
Explicit non-goals (4)
-
downtoEnumerator-style integer iteration does not fit Locutus' plain-value model. -
timesEnumerator-style integer iteration does not fit Locutus' plain-value model. -
to_rRational values do not fit Locutus' current plain-value model. -
uptoEnumerator-style integer iteration does not fit Locutus' plain-value model.
Float
Next
Ruby Float helpers are strong scalar portability targets.
--@***/%++@<<=>>=absabs2angleargbetween?ceilclampcoerceconjconjugatedenominatordivdivmodfdivfinite?flooriimagimaginaryinfinite?integer?magnitudemodulonan?negative?next_floatnonzero?numeratorphasepolarpositive?prev_floatquorationalizerealreal?rectrectangularremainderroundsingleton_method_addedstepto_cto_fto_ito_inttruncatezero?
Explicit non-goals (1)
-
to_rRational values do not fit Locutus' current plain-value model.
Enumerable
Next
Most Enumerable transforms can be represented over arrays and plain values.
all?any?chunkchunk_whilecollectcollect_concatcompactcountdetectdropdrop_whileentriesfilterfilter_mapfindfind_allfind_indexfirstflat_mapgrepgrep_vgroup_byinclude?injectmapmaxmax_bymember?minmin_byminmaxminmax_bynone?one?partitionreducerejectreverse_eachselectslice_afterslice_beforeslice_whensortsort_bysumtaketake_whiletallyto_ato_huniqzip
Explicit non-goals (9)
-
chainLazy enumerator chaining is not a stable plain-value target. -
cyclePotentially unbounded iteration does not fit Locutus' plain-value model. -
each_consEnumerator-driven iteration APIs are better expressed directly in JS. -
each_entryEnumerator-driven iteration APIs are better expressed directly in JS. -
each_sliceEnumerator-driven iteration APIs are better expressed directly in JS. -
each_with_indexEnumerator-driven iteration APIs are better expressed directly in JS. -
each_with_objectEnumerator-driven iteration APIs are better expressed directly in JS. -
lazyLazy enumerators do not fit Locutus' plain-value model. -
to_setRuby Set values are not a stable plain-value target for Locutus.
Numeric
Next
Scalar numeric helpers are strong Ruby portability targets.
-@%+@<<=>>=absabs2angleargbetween?ceilclampcoerceconjconjugatedenominatordivdivmodfdivfinite?flooriimagimaginaryinfinite?integer?magnitudemodulonegative?nonzero?numeratorphasepolarpositive?quorealreal?rectrectangularremainderroundsingleton_method_addedstepto_cto_inttruncatezero?
JSON
Next
JSON parsing and generation are high-value portability targets.
[]create_fast_statecreate_idcreate_id=create_pretty_statedeep_const_getdumpdump_default_optionsdump_default_options=fast_generatefast_unparsegenerategeneratorgenerator=iconvloadload_default_optionsload_default_options=load_fileload_file!parseparse!parserparser=pretty_generatepretty_unparserecurse_procrestorestatestate=unparse
MatchData
Next
Match boundary offsets have a clean plain-value contract.
beginendoffset
Capture extraction has a clean plain-value contract.
captures
Match-size helpers have a clean plain-value contract.
length
Capture-name enumeration has a clean plain-value contract.
names
Plain substring extraction has a clean plain-value contract.
post_matchpre_match
Source-string access has a clean plain-value contract.
string
Capture materialization has a clean plain-value contract.
to_a
Explicit non-goals (10)
-
[]Match objects depend on richer regex-engine state than one stable plain-value contract. -
byteoffsetMatch objects depend on richer regex-engine state than one stable plain-value contract. -
deconstructMatch objects depend on richer regex-engine state than one stable plain-value contract. -
deconstruct_keysMatch objects depend on richer regex-engine state than one stable plain-value contract. -
matchMatch objects depend on richer regex-engine state than one stable plain-value contract. -
match_lengthMatch objects depend on richer regex-engine state than one stable plain-value contract. -
named_capturesMatch objects depend on richer regex-engine state than one stable plain-value contract. -
regexpRegex-object access does not fit one stable plain-value contract. -
sizeMatch objects depend on richer regex-engine state than one stable plain-value contract. -
values_atMatch objects depend on richer regex-engine state than one stable plain-value contract.
Range
Next
Scalar boundary readers have a clean plain-value contract.
beginend
Membership predicates have a clean plain-value contract.
cover?include?
Boundary readers have a clean plain-value contract.
firstlast
Scalar extrema readers have a clean plain-value contract.
maxminminmax
Size helpers have a clean plain-value contract.
size
Explicit non-goals (62)
-
%Range iteration and object semantics do not map cleanly to plain JS values by default. -
all?Range iteration and object semantics do not map cleanly to plain JS values by default. -
any?Range iteration and object semantics do not map cleanly to plain JS values by default. -
bsearchRange iteration and object semantics do not map cleanly to plain JS values by default. -
chainRange iteration and object semantics do not map cleanly to plain JS values by default. -
chunkRange iteration and object semantics do not map cleanly to plain JS values by default. -
chunk_whileRange iteration and object semantics do not map cleanly to plain JS values by default. -
collectRange iteration and object semantics do not map cleanly to plain JS values by default. -
collect_concatRange iteration and object semantics do not map cleanly to plain JS values by default. -
compactRange iteration and object semantics do not map cleanly to plain JS values by default. -
countRange iteration and object semantics do not map cleanly to plain JS values by default. -
cycleRange iteration and object semantics do not map cleanly to plain JS values by default. -
detectRange iteration and object semantics do not map cleanly to plain JS values by default. -
dropRange iteration and object semantics do not map cleanly to plain JS values by default. -
drop_whileRange iteration and object semantics do not map cleanly to plain JS values by default. -
eachRange iteration and object semantics do not map cleanly to plain JS values by default. -
each_consRange iteration and object semantics do not map cleanly to plain JS values by default. -
each_entryRange iteration and object semantics do not map cleanly to plain JS values by default. -
each_sliceRange iteration and object semantics do not map cleanly to plain JS values by default. -
each_with_indexRange iteration and object semantics do not map cleanly to plain JS values by default. -
each_with_objectRange iteration and object semantics do not map cleanly to plain JS values by default. -
entriesRange iteration and object semantics do not map cleanly to plain JS values by default. -
exclude_end?Range iteration and object semantics do not map cleanly to plain JS values by default. -
filterRange iteration and object semantics do not map cleanly to plain JS values by default. -
filter_mapRange iteration and object semantics do not map cleanly to plain JS values by default. -
findRange iteration and object semantics do not map cleanly to plain JS values by default. -
find_allRange iteration and object semantics do not map cleanly to plain JS values by default. -
find_indexRange iteration and object semantics do not map cleanly to plain JS values by default. -
flat_mapRange iteration and object semantics do not map cleanly to plain JS values by default. -
grepRange iteration and object semantics do not map cleanly to plain JS values by default. -
grep_vRange iteration and object semantics do not map cleanly to plain JS values by default. -
group_byRange iteration and object semantics do not map cleanly to plain JS values by default. -
injectRange iteration and object semantics do not map cleanly to plain JS values by default. -
lazyRange iteration and object semantics do not map cleanly to plain JS values by default. -
mapRange iteration and object semantics do not map cleanly to plain JS values by default. -
max_byRange iteration and object semantics do not map cleanly to plain JS values by default. -
member?Range iteration and object semantics do not map cleanly to plain JS values by default. -
min_byRange iteration and object semantics do not map cleanly to plain JS values by default. -
minmax_byRange iteration and object semantics do not map cleanly to plain JS values by default. -
none?Range iteration and object semantics do not map cleanly to plain JS values by default. -
one?Range iteration and object semantics do not map cleanly to plain JS values by default. -
overlap?Range iteration and object semantics do not map cleanly to plain JS values by default. -
partitionRange iteration and object semantics do not map cleanly to plain JS values by default. -
reduceRange iteration and object semantics do not map cleanly to plain JS values by default. -
rejectRange iteration and object semantics do not map cleanly to plain JS values by default. -
reverse_eachRange iteration and object semantics do not map cleanly to plain JS values by default. -
selectRange iteration and object semantics do not map cleanly to plain JS values by default. -
slice_afterRange iteration and object semantics do not map cleanly to plain JS values by default. -
slice_beforeRange iteration and object semantics do not map cleanly to plain JS values by default. -
slice_whenRange iteration and object semantics do not map cleanly to plain JS values by default. -
sortRange iteration and object semantics do not map cleanly to plain JS values by default. -
sort_byRange iteration and object semantics do not map cleanly to plain JS values by default. -
stepRange iteration and object semantics do not map cleanly to plain JS values by default. -
sumRange iteration and object semantics do not map cleanly to plain JS values by default. -
takeRange iteration and object semantics do not map cleanly to plain JS values by default. -
take_whileRange iteration and object semantics do not map cleanly to plain JS values by default. -
tallyRange iteration and object semantics do not map cleanly to plain JS values by default. -
to_aRange iteration and object semantics do not map cleanly to plain JS values by default. -
to_hRange iteration and object semantics do not map cleanly to plain JS values by default. -
to_setRange iteration and object semantics do not map cleanly to plain JS values by default. -
uniqRange iteration and object semantics do not map cleanly to plain JS values by default. -
zipRange iteration and object semantics do not map cleanly to plain JS values by default.
Comparable
Next
Comparable predicates over scalar values are strong Ruby portability targets.
<<===>>=between?clamp
Base64
Next
Base64 helpers are strong plain-value portability targets.
decode64encode64strict_decode64strict_encode64urlsafe_decode64urlsafe_encode64
File
Next
Path decomposition helpers have a clean plain-string contract.
basenamedirnameextname
Path joining has a clean plain-string contract.
join
Path composition has a clean plain-string contract.
path
Explicit non-goals (195)
-
<<File metadata and I/O helpers depend on host filesystem state. -
absolute_pathFile metadata and I/O helpers depend on host filesystem state. -
absolute_path?File metadata and I/O helpers depend on host filesystem state. -
adviseFile metadata and I/O helpers depend on host filesystem state. -
all?File metadata and I/O helpers depend on host filesystem state. -
any?File metadata and I/O helpers depend on host filesystem state. -
atimeFile metadata and I/O helpers depend on host filesystem state. -
autoclose?File metadata and I/O helpers depend on host filesystem state. -
autoclose=File metadata and I/O helpers depend on host filesystem state. -
binmodeFile metadata and I/O helpers depend on host filesystem state. -
binmode?File metadata and I/O helpers depend on host filesystem state. -
birthtimeFile metadata and I/O helpers depend on host filesystem state. -
blockdev?File metadata and I/O helpers depend on host filesystem state. -
chainFile metadata and I/O helpers depend on host filesystem state. -
chardev?File metadata and I/O helpers depend on host filesystem state. -
chmodFile metadata and I/O helpers depend on host filesystem state. -
chownFile metadata and I/O helpers depend on host filesystem state. -
chunkFile metadata and I/O helpers depend on host filesystem state. -
chunk_whileFile metadata and I/O helpers depend on host filesystem state. -
closeFile metadata and I/O helpers depend on host filesystem state. -
close_on_exec?File metadata and I/O helpers depend on host filesystem state. -
close_on_exec=File metadata and I/O helpers depend on host filesystem state. -
close_readFile metadata and I/O helpers depend on host filesystem state. -
close_writeFile metadata and I/O helpers depend on host filesystem state. -
closed?File metadata and I/O helpers depend on host filesystem state. -
collectFile metadata and I/O helpers depend on host filesystem state. -
collect_concatFile metadata and I/O helpers depend on host filesystem state. -
compactFile metadata and I/O helpers depend on host filesystem state. -
countFile metadata and I/O helpers depend on host filesystem state. -
ctimeFile metadata and I/O helpers depend on host filesystem state. -
cycleFile metadata and I/O helpers depend on host filesystem state. -
deleteFile metadata and I/O helpers depend on host filesystem state. -
detectFile metadata and I/O helpers depend on host filesystem state. -
directory?File metadata and I/O helpers depend on host filesystem state. -
dropFile metadata and I/O helpers depend on host filesystem state. -
drop_whileFile metadata and I/O helpers depend on host filesystem state. -
eachFile metadata and I/O helpers depend on host filesystem state. -
each_byteFile metadata and I/O helpers depend on host filesystem state. -
each_charFile metadata and I/O helpers depend on host filesystem state. -
each_codepointFile metadata and I/O helpers depend on host filesystem state. -
each_consFile metadata and I/O helpers depend on host filesystem state. -
each_entryFile metadata and I/O helpers depend on host filesystem state. -
each_lineFile metadata and I/O helpers depend on host filesystem state. -
each_sliceFile metadata and I/O helpers depend on host filesystem state. -
each_with_indexFile metadata and I/O helpers depend on host filesystem state. -
each_with_objectFile metadata and I/O helpers depend on host filesystem state. -
empty?File metadata and I/O helpers depend on host filesystem state. -
entriesFile metadata and I/O helpers depend on host filesystem state. -
eofFile metadata and I/O helpers depend on host filesystem state. -
eof?File metadata and I/O helpers depend on host filesystem state. -
executable_real?File metadata and I/O helpers depend on host filesystem state. -
executable?File metadata and I/O helpers depend on host filesystem state. -
exist?File metadata and I/O helpers depend on host filesystem state. -
expand_pathFile metadata and I/O helpers depend on host filesystem state. -
external_encodingFile metadata and I/O helpers depend on host filesystem state. -
fcntlFile metadata and I/O helpers depend on host filesystem state. -
fdatasyncFile metadata and I/O helpers depend on host filesystem state. -
file?File metadata and I/O helpers depend on host filesystem state. -
filenoFile metadata and I/O helpers depend on host filesystem state. -
filterFile metadata and I/O helpers depend on host filesystem state. -
filter_mapFile metadata and I/O helpers depend on host filesystem state. -
findFile metadata and I/O helpers depend on host filesystem state. -
find_allFile metadata and I/O helpers depend on host filesystem state. -
find_indexFile metadata and I/O helpers depend on host filesystem state. -
firstFile metadata and I/O helpers depend on host filesystem state. -
flat_mapFile metadata and I/O helpers depend on host filesystem state. -
flockFile metadata and I/O helpers depend on host filesystem state. -
flushFile metadata and I/O helpers depend on host filesystem state. -
fnmatchFile metadata and I/O helpers depend on host filesystem state. -
fnmatch?File metadata and I/O helpers depend on host filesystem state. -
fsyncFile metadata and I/O helpers depend on host filesystem state. -
ftypeFile metadata and I/O helpers depend on host filesystem state. -
getbyteFile metadata and I/O helpers depend on host filesystem state. -
getcFile metadata and I/O helpers depend on host filesystem state. -
getsFile metadata and I/O helpers depend on host filesystem state. -
grepFile metadata and I/O helpers depend on host filesystem state. -
grep_vFile metadata and I/O helpers depend on host filesystem state. -
group_byFile metadata and I/O helpers depend on host filesystem state. -
grpowned?File metadata and I/O helpers depend on host filesystem state. -
identical?File metadata and I/O helpers depend on host filesystem state. -
include?File metadata and I/O helpers depend on host filesystem state. -
injectFile metadata and I/O helpers depend on host filesystem state. -
internal_encodingFile metadata and I/O helpers depend on host filesystem state. -
ioctlFile metadata and I/O helpers depend on host filesystem state. -
isattyFile metadata and I/O helpers depend on host filesystem state. -
lazyFile metadata and I/O helpers depend on host filesystem state. -
lchmodFile metadata and I/O helpers depend on host filesystem state. -
lchownFile metadata and I/O helpers depend on host filesystem state. -
linenoFile metadata and I/O helpers depend on host filesystem state. -
lineno=File metadata and I/O helpers depend on host filesystem state. -
linkFile metadata and I/O helpers depend on host filesystem state. -
lstatFile metadata and I/O helpers depend on host filesystem state. -
lutimeFile metadata and I/O helpers depend on host filesystem state. -
mapFile metadata and I/O helpers depend on host filesystem state. -
maxFile metadata and I/O helpers depend on host filesystem state. -
max_byFile metadata and I/O helpers depend on host filesystem state. -
member?File metadata and I/O helpers depend on host filesystem state. -
minFile metadata and I/O helpers depend on host filesystem state. -
min_byFile metadata and I/O helpers depend on host filesystem state. -
minmaxFile metadata and I/O helpers depend on host filesystem state. -
minmax_byFile metadata and I/O helpers depend on host filesystem state. -
mkfifoFile metadata and I/O helpers depend on host filesystem state. -
mtimeFile metadata and I/O helpers depend on host filesystem state. -
none?File metadata and I/O helpers depend on host filesystem state. -
nreadFile metadata and I/O helpers depend on host filesystem state. -
one?File metadata and I/O helpers depend on host filesystem state. -
owned?File metadata and I/O helpers depend on host filesystem state. -
partitionFile metadata and I/O helpers depend on host filesystem state. -
pathconfFile metadata and I/O helpers depend on host filesystem state. -
pidFile metadata and I/O helpers depend on host filesystem state. -
pipe?File metadata and I/O helpers depend on host filesystem state. -
posFile metadata and I/O helpers depend on host filesystem state. -
pos=File metadata and I/O helpers depend on host filesystem state. -
preadFile metadata and I/O helpers depend on host filesystem state. -
printFile metadata and I/O helpers depend on host filesystem state. -
printfFile metadata and I/O helpers depend on host filesystem state. -
putcFile metadata and I/O helpers depend on host filesystem state. -
putsFile metadata and I/O helpers depend on host filesystem state. -
pwriteFile metadata and I/O helpers depend on host filesystem state. -
readFile metadata and I/O helpers depend on host filesystem state. -
read_nonblockFile metadata and I/O helpers depend on host filesystem state. -
readable_real?File metadata and I/O helpers depend on host filesystem state. -
readable?File metadata and I/O helpers depend on host filesystem state. -
readbyteFile metadata and I/O helpers depend on host filesystem state. -
readcharFile metadata and I/O helpers depend on host filesystem state. -
readlineFile metadata and I/O helpers depend on host filesystem state. -
readlinesFile metadata and I/O helpers depend on host filesystem state. -
readlinkFile metadata and I/O helpers depend on host filesystem state. -
readpartialFile metadata and I/O helpers depend on host filesystem state. -
ready?File metadata and I/O helpers depend on host filesystem state. -
realdirpathFile metadata and I/O helpers depend on host filesystem state. -
realpathFile metadata and I/O helpers depend on host filesystem state. -
reduceFile metadata and I/O helpers depend on host filesystem state. -
rejectFile metadata and I/O helpers depend on host filesystem state. -
renameFile metadata and I/O helpers depend on host filesystem state. -
reopenFile metadata and I/O helpers depend on host filesystem state. -
reverse_eachFile metadata and I/O helpers depend on host filesystem state. -
rewindFile metadata and I/O helpers depend on host filesystem state. -
seekFile metadata and I/O helpers depend on host filesystem state. -
selectFile metadata and I/O helpers depend on host filesystem state. -
set_encodingFile metadata and I/O helpers depend on host filesystem state. -
set_encoding_by_bomFile metadata and I/O helpers depend on host filesystem state. -
setgid?File metadata and I/O helpers depend on host filesystem state. -
setuid?File metadata and I/O helpers depend on host filesystem state. -
sizeFile metadata and I/O helpers depend on host filesystem state. -
size?File metadata and I/O helpers depend on host filesystem state. -
slice_afterFile metadata and I/O helpers depend on host filesystem state. -
slice_beforeFile metadata and I/O helpers depend on host filesystem state. -
slice_whenFile metadata and I/O helpers depend on host filesystem state. -
socket?File metadata and I/O helpers depend on host filesystem state. -
sortFile metadata and I/O helpers depend on host filesystem state. -
sort_byFile metadata and I/O helpers depend on host filesystem state. -
splitFile metadata and I/O helpers depend on host filesystem state. -
statFile metadata and I/O helpers depend on host filesystem state. -
sticky?File metadata and I/O helpers depend on host filesystem state. -
sumFile metadata and I/O helpers depend on host filesystem state. -
symlinkFile metadata and I/O helpers depend on host filesystem state. -
symlink?File metadata and I/O helpers depend on host filesystem state. -
syncFile metadata and I/O helpers depend on host filesystem state. -
sync=File metadata and I/O helpers depend on host filesystem state. -
sysreadFile metadata and I/O helpers depend on host filesystem state. -
sysseekFile metadata and I/O helpers depend on host filesystem state. -
syswriteFile metadata and I/O helpers depend on host filesystem state. -
takeFile metadata and I/O helpers depend on host filesystem state. -
take_whileFile metadata and I/O helpers depend on host filesystem state. -
tallyFile metadata and I/O helpers depend on host filesystem state. -
tellFile metadata and I/O helpers depend on host filesystem state. -
timeoutFile metadata and I/O helpers depend on host filesystem state. -
timeout=File metadata and I/O helpers depend on host filesystem state. -
to_aFile metadata and I/O helpers depend on host filesystem state. -
to_hFile metadata and I/O helpers depend on host filesystem state. -
to_iFile metadata and I/O helpers depend on host filesystem state. -
to_ioFile metadata and I/O helpers depend on host filesystem state. -
to_pathFile metadata and I/O helpers depend on host filesystem state. -
to_setFile metadata and I/O helpers depend on host filesystem state. -
truncateFile metadata and I/O helpers depend on host filesystem state. -
tty?File metadata and I/O helpers depend on host filesystem state. -
umaskFile metadata and I/O helpers depend on host filesystem state. -
ungetbyteFile metadata and I/O helpers depend on host filesystem state. -
ungetcFile metadata and I/O helpers depend on host filesystem state. -
uniqFile metadata and I/O helpers depend on host filesystem state. -
unlinkFile metadata and I/O helpers depend on host filesystem state. -
utimeFile metadata and I/O helpers depend on host filesystem state. -
waitFile metadata and I/O helpers depend on host filesystem state. -
wait_priorityFile metadata and I/O helpers depend on host filesystem state. -
wait_readableFile metadata and I/O helpers depend on host filesystem state. -
wait_writableFile metadata and I/O helpers depend on host filesystem state. -
world_readable?File metadata and I/O helpers depend on host filesystem state. -
world_writable?File metadata and I/O helpers depend on host filesystem state. -
writable_real?File metadata and I/O helpers depend on host filesystem state. -
writable?File metadata and I/O helpers depend on host filesystem state. -
writeFile metadata and I/O helpers depend on host filesystem state. -
write_nonblockFile metadata and I/O helpers depend on host filesystem state. -
zero?File metadata and I/O helpers depend on host filesystem state. -
zipFile metadata and I/O helpers depend on host filesystem state.
Regexp
Next
Pattern-source readers have a clean plain-value contract.
source
Explicit non-goals (19)
-
=~Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
~Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
casefold?Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
compileMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
encodingMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
escapeMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
fixed_encoding?Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
last_matchMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
linear_time?Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
matchMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
match?Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
named_capturesMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
namesMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
optionsMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
quoteMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
timeoutMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
timeout=Match-data- and engine-oriented regex object APIs are not direct plain-value targets. -
try_convertMatch-data- and engine-oriented regex object APIs are not direct plain-value targets. -
unionMatch-data- and engine-oriented regex object APIs are not direct plain-value targets.