{"_id":"@bobyzgirlllnpm/quas-aspernatur-assumenda","name":"@bobyzgirlllnpm/quas-aspernatur-assumenda","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bobyzgirlllnpm/quas-aspernatur-assumenda","version":"1.0.0","description":"A lean, zero dependency library to provide a useful base for your project.  Checksums, cryptography, codecs, date-times, error-checking-codes, logging, pseudorandom number generation.  The tools you need for any project.  Secure build pipeline, provenance","main":"index.js","author":{"name":"bobyzgirlLl"},"license":"MIT","dependencies":{"@bobyzgirlllnpm/aspernatur-fugiat-quam":"^1.0.0","@bobyzgirlllnpm/autem-nemo-incidunt":"^1.0.0","@bobyzgirlllnpm/dolorem-officia-assumenda":"^1.0.0","@bobyzgirlllnpm/dolorem-vero-atque":"^1.0.0","@bobyzgirlllnpm/facere-ipsum-aspernatur":"^1.0.0","@bobyzgirlllnpm/id-nobis-pariatur":"^1.0.0","@bobyzgirlllnpm/illo-architecto-dolorum":"^1.0.0","@bobyzgirlllnpm/impedit-quia-ea":"^1.0.0","@bobyzgirlllnpm/itaque-similique-commodi":"^1.0.0","@bobyzgirlllnpm/iure-velit-sapiente":"^1.0.0","@bobyzgirlllnpm/libero-facere-id":"^1.0.0","@bobyzgirlllnpm/libero-itaque-consequuntur":"^1.0.0","@bobyzgirlllnpm/magnam-laboriosam-illum":"^1.0.0","@bobyzgirlllnpm/mollitia-doloribus-sapiente":"^1.0.0","@bobyzgirlllnpm/mollitia-fugit-officia":"^1.0.0","@bobyzgirlllnpm/nesciunt-voluptatibus-nesciunt":"^1.0.0","@bobyzgirlllnpm/nostrum-inventore-quasi":"^1.0.0","@bobyzgirlllnpm/nostrum-voluptate-provident":"^1.0.0","@bobyzgirlllnpm/pariatur-recusandae-id":"^1.0.0","@bobyzgirlllnpm/perspiciatis-sequi-eligendi":"^1.0.0","@bobyzgirlllnpm/recusandae-minus-veritatis":"^1.0.0","@bobyzgirlllnpm/repudiandae-quae-in":"^1.0.0","@bobyzgirlllnpm/saepe-autem-impedit":"^1.0.0","@bobyzgirlllnpm/suscipit-nisi-fuga":"^1.0.0","@bobyzgirlllnpm/ullam-voluptate-placeat":"^1.0.0","@drftgyhuji7npm/repellendus-eum-et-itaque":"^1.0.0"},"keywords":["es2018","sort","BigInt64Array","character","includes","dataview","ajax","libphonenumber","karma","class-validator","trimEnd","check","BigUint64Array","assert","es2017","exit","classname","api","bundling","rfc4122","byte","ES2018","concat","callback","obj","drop","setPrototypeOf","fastify","input","flatten","link","package manager","every","shrinkwrap","trimStart","performant","ECMAScript 2020","streams","arktype","key","i18n","properties","styleguide","ECMAScript 5","Array.prototype.flatMap","less.js","pnpm9","Microsoft","command-line","buffer","slice","Uint16Array","interrupts","iterator","react","StyleSheet","connect","TypeBox","Reflect.getPrototypeOf","streams2","Int8Array","parse","pretty","user-streams","drag","cjk","positive","Array.prototype.includes","minimal","rmdir","telephone","channel","core","inspect","url","Streams","descriptor","side","preserve-symlinks","Object","Object.keys","tslib","which","idle","spinners","apollo","negative","tester","javascript","take","scheme-validation","toolkit","settings","delete","console","column","Object.assign","three","__proto__","getPrototypeOf","tc39","import","immer","l10n","core-js","rapid","chromium","look-up","chrome","weakmap","read","task","browser","jsonschema","postcss","byteOffset","typeof","codes","pose","JSON","phone","commander","es8","a11y","es-abstract","width","handlers","node","arraybuffer","es2015","prune","qs","number","equality","es5","linux","diff","trim","writable","toArray","deep","time","functional","require","output","ES2015","mru","setImmediate","get","bound","install","autoprefixer","callbound","equal","react-hooks","once","open","debug","classnames","client","random","higher-order","full","eslint","estree","dataView","shell","move","ECMAScript 2022","mkdirs","ES2021","jQuery","less css","text","whatwg","chai","immutable","filter","stdlib","crypt","plugin","ArrayBuffer#slice","readablestream","workspace:*","TypedArray","values","dir","worker","stable","efficient","look","ascii","findLast","bcrypt","toobject","joi","-0","promises","optimist","bootstrap less","function","eslint-plugin","flatMap","collection","packages","css nesting","getintrinsic","ES5","call-bound","formatting","weakset","type","dom-testing-library","request","redux-toolkit","search","ES","wget","redact","0","WeakMap","fetch","internal","reduce","react pose","flags","Rx"],"repository":{"type":"git","url":"git+https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda.git"},"homepage":"https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda/#readme","bugs":{"url":"https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda/issues"},"packageManager":"yarn@4.1.1","_id":"@bobyzgirlllnpm/quas-aspernatur-assumenda@1.0.0","gitHead":"83e8a13f4b5c2ca90ebafa018cd7e683844edcd2","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-aQkef7snFX4rpBWlvqla/I7YQ3GSObPwrWVxmb0tjWL96EYtjghL9FwZrMIHubtiY7IKq+UWu2mflA/Z6DPe/g==","shasum":"b1454ac3353ec6d6a2e6b8afba9b4be2b99c87f1","tarball":"https://registry.npmjs.org/@bobyzgirlllnpm/quas-aspernatur-assumenda/-/quas-aspernatur-assumenda-1.0.0.tgz","fileCount":10,"unpackedSize":22420,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAbO/iTuFsR+RfuWlaFjrJbekwbWd1Q9XsJV0A2p3OZQIgHYVYcAOhy2qnBEW352bAb80FNd4dU0H53CTXnbSthk8="}]},"_npmUser":{"name":"haiminh1192","email":"haiminh1192@gmail.com"},"directories":{},"maintainers":[{"name":"haiminh1192","email":"haiminh1192@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quas-aspernatur-assumenda_1.0.0_1714406432598_0.0981208401936744"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-29T16:00:32.510Z","1.0.0":"2024-04-29T16:00:32.811Z","modified":"2024-04-29T16:00:33.150Z"},"maintainers":[{"name":"haiminh1192","email":"haiminh1192@gmail.com"}],"description":"A lean, zero dependency library to provide a useful base for your project.  Checksums, cryptography, codecs, date-times, error-checking-codes, logging, pseudorandom number generation.  The tools you need for any project.  Secure build pipeline, provenance","homepage":"https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda/#readme","keywords":["es2018","sort","BigInt64Array","character","includes","dataview","ajax","libphonenumber","karma","class-validator","trimEnd","check","BigUint64Array","assert","es2017","exit","classname","api","bundling","rfc4122","byte","ES2018","concat","callback","obj","drop","setPrototypeOf","fastify","input","flatten","link","package manager","every","shrinkwrap","trimStart","performant","ECMAScript 2020","streams","arktype","key","i18n","properties","styleguide","ECMAScript 5","Array.prototype.flatMap","less.js","pnpm9","Microsoft","command-line","buffer","slice","Uint16Array","interrupts","iterator","react","StyleSheet","connect","TypeBox","Reflect.getPrototypeOf","streams2","Int8Array","parse","pretty","user-streams","drag","cjk","positive","Array.prototype.includes","minimal","rmdir","telephone","channel","core","inspect","url","Streams","descriptor","side","preserve-symlinks","Object","Object.keys","tslib","which","idle","spinners","apollo","negative","tester","javascript","take","scheme-validation","toolkit","settings","delete","console","column","Object.assign","three","__proto__","getPrototypeOf","tc39","import","immer","l10n","core-js","rapid","chromium","look-up","chrome","weakmap","read","task","browser","jsonschema","postcss","byteOffset","typeof","codes","pose","JSON","phone","commander","es8","a11y","es-abstract","width","handlers","node","arraybuffer","es2015","prune","qs","number","equality","es5","linux","diff","trim","writable","toArray","deep","time","functional","require","output","ES2015","mru","setImmediate","get","bound","install","autoprefixer","callbound","equal","react-hooks","once","open","debug","classnames","client","random","higher-order","full","eslint","estree","dataView","shell","move","ECMAScript 2022","mkdirs","ES2021","jQuery","less css","text","whatwg","chai","immutable","filter","stdlib","crypt","plugin","ArrayBuffer#slice","readablestream","workspace:*","TypedArray","values","dir","worker","stable","efficient","look","ascii","findLast","bcrypt","toobject","joi","-0","promises","optimist","bootstrap less","function","eslint-plugin","flatMap","collection","packages","css nesting","getintrinsic","ES5","call-bound","formatting","weakset","type","dom-testing-library","request","redux-toolkit","search","ES","wget","redact","0","WeakMap","fetch","internal","reduce","react pose","flags","Rx"],"repository":{"type":"git","url":"git+https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda.git"},"author":{"name":"bobyzgirlLl"},"bugs":{"url":"https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda/issues"},"license":"MIT","readme":"# @bobyzgirlllnpm/quas-aspernatur-assumenda\n\nA lean, zero dependency library to provide a useful base for your project.  Checksums, cryptography, codecs, date-times,\nerror-checking-codes, logging, pseudorandom number generation.  The tools you need for any project.  Secure build pipeline, provenance signed and typed.\n\n[![CI](https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/bobyzgirlllnpm/quas-aspernatur-assumenda/actions)\n[![NPM ver](https://img.shields.io/npm/v/@bobyzgirlllnpm/quas-aspernatur-assumenda?color=33cd56&logo=npm)](https://www.npmjs.com/package/@bobyzgirlllnpm/quas-aspernatur-assumenda)\n[![install size](https://packagephobia.com/badge?p=@bobyzgirlllnpm/quas-aspernatur-assumenda)](https://packagephobia.com/result?p=@bobyzgirlllnpm/quas-aspernatur-assumenda)\n[![deps](https://img.shields.io/librariesio/release/npm/@bobyzgirlllnpm/quas-aspernatur-assumenda)](https://libraries.io/npm/@bobyzgirlllnpm/quas-aspernatur-assumenda)\n![LoC](https://tokei.rs/b1/github/gnabgib/@bobyzgirlllnpm/quas-aspernatur-assumenda-ts)\n![](coverage.svg)\n\n<!-- \nToo new (npms.io seems to be abandoned):\n![npms.io (maintenance)](https://img.shields.io/npms-io/final-score/@bobyzgirlllnpm/quas-aspernatur-assumenda) \nSays zero.. probably always will?\n![Depfu](https://img.shields.io/depfu/dependencies/github/gnabgib/@bobyzgirlllnpm/quas-aspernatur-assumenda-ts)\nSays not found in red.. like that's bad\n-->\n\n\n## Installation\n\nThis module is available through [NPM](https://www.npmjs.com/package/@bobyzgirlllnpm/quas-aspernatur-assumenda). There are no install scripts, decrease your risk by explicitly preventing (`--ignore-scripts`)\n\n```bash\n(pnpm|npm) install @bobyzgirlllnpm/quas-aspernatur-assumenda --ignore-scripts\n```\n\nTo verify provenance:\n\n```bash\nnpm audit signatures\n```\n\n## Details\n\n\n### Augmented Backus-Naur Form /[rfc5234](https://datatracker.ietf.org/doc/html/rfc5234)\n\n- [Operators](https://datatracker.ietf.org/doc/html/rfc5234#section-3)\n- Definition of [core rules](https://datatracker.ietf.org/doc/html/rfc5234#appendix-B.1)\n\n\n### Algorithms\n\n- Weighted Random Sampling\n- Next power of 2\n- [Thomson NFA (1968)](https://dl.acm.org/doi/10.1145/363347.363387) solver\n\n\n### Checksum/Hash\n\nA checksum; can be used to prevent/identify accidental changes.  A hash; maps some data to another, often\nused for hash tables, or to speed up comparison.\n\nName|Sum size bits|Optional parameters\n-------|----------------------|-------------------\n[adler32](https://datatracker.ietf.org/doc/html/rfc1950)|32|\n[Block check character](https://en.wikipedia.org/wiki/Block_check_character)|8|\n[cksum](https://en.wikipedia.org/wiki/Cksum)|32|\n[CRC24](https://datatracker.ietf.org/doc/html/rfc4880#section-6.1)|24|\n[CRC32](https://en.wikipedia.org/wiki/Computation_of_cyclic_redundancy_checks#CRC-32_algorithm)|32|\n[fletcher](http://www.zlib.net/maxino06_fletcher-adler.pdf)|16, 32, 64|\n[Longitudinal redundancy check](https://en.wikipedia.org/wiki/Longitudinal_redundancy_check)|8|\n[Lookup2](https://en.wikipedia.org/wiki/Jenkins_hash_function#lookup2)|32|seed\n[Lookup3](https://en.wikipedia.org/wiki/Jenkins_hash_function#lookup3)|32+32/64|seed\n[Luhn](https://en.wikipedia.org/wiki/Luhn_algorithm)|3.5|\n[MD5Sum](https://en.wikipedia.org/wiki/Md5sum)|128|\n[Murmur3](https://en.wikipedia.org/wiki/MurmurHash#MurmurHash3)|32|seed\n[SHA1Sum](https://en.wikipedia.org/wiki/Sha1sum)|160|\n[Spooky v2](http://burtleburtle.net/bob/hash/spooky.html)|128|seed\n[xxHash](https://cyan4973.github.io/xxHash/)|32, 64|seed\n\n\n### Command Line Interface (cli)\n\n- Argument and option parsing\n- Foreground, background color (8 color, 213 color, 16M colors)\n- Underline, bold, faint, italic, blink, invert, hide, strike-through, overline text styles\n- Terminal controls & style (cursor move, screen/line clear)\n\n\n### Codec\n\n- [ASCII85](https://en.wikipedia.org/wiki/Ascii85)\n- [Base32, zBase32, Base32Hex](https://www.gnabgib.com/tools/base32/), [Crockford32](https://www.crockford.com/base32.html)\n- [Base64, Base64url, B64](https://www.gnabgib.com/tools/base64/)\n- [bfloat16](https://en.wikipedia.org/wiki/Bfloat16_floating-point_format)\n- [Densely Packed Decimal](https://en.wikipedia.org/wiki/Densely_packed_decimal)\n- [Hex](https://en.wikipedia.org/wiki/Hexadecimal)\n- [IEEE754](https://en.wikipedia.org/wiki/IEEE_754) Binary\n- [Proquint](http://www.gnabgib.com/tools/proquint/)\n- [QuotedPrintable](https://datatracker.ietf.org/doc/html/rfc2045#section-6.7)\n- [ROT13, ROT13.5, ROT47 ](https://en.wikipedia.org/wiki/ROT13)\n- [URI](https://datatracker.ietf.org/doc/html/rfc3986#page-11)\n- [UTF8](https://datatracker.ietf.org/doc/html/rfc3629)\n- [uuencode](https://en.wikipedia.org/wiki/Uuencoding)\n- UUID\n- [YEnc](https://en.wikipedia.org/wiki/YEnc)\n\n\n### Crypto\n\n#### Block\n\n- [Cipher Block Chaining (CBC)](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_block_chaining_(CBC))\n- [Cipher FeedBack (CFB)](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_(CFB))\n- [Counter (CTR)](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_(CTR))\n- [Electronic CodeBook (ECB)](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_codebook_(ECB))\n- [Output FeedBack (OFB)](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher_feedback_(CFB))\n\nCBC or CTR are recommended by [Niels Ferguson](https://en.wikipedia.org/wiki/Niels_Ferguson) and [Bruce Schneier](https://www.schneier.com/blog/about/). \nECB should not be used.\n\n#### Padding\n\n- [ANSI X9.23](https://www.ibm.com/support/knowledgecenter/en/linuxonibm/com.ibm.linux.z.wskc.doc/wskc_c_l0wskc58.html) / ISO 10126 padding\n- [ISO 7816-4 padding](https://en.wikipedia.org/wiki/ISO/IEC_7816)\n- [ISO 9797-1 padding 2](https://en.wikipedia.org/wiki/ISO/IEC_9797-1)\n- [PKCS#7](https://tools.ietf.org/html/rfc5652#section-6.3) / PKCS#5 padding\n- Zero / Null padding\n\n#### Symmetric\n\nName|Block size|Key size|Nonce size|Features\n-|-|-|-|-\n[Advanced Encryption Standard (AES)](https://www.nist.gov/publications/advanced-encryption-standard-aes)|16|16, 24, 32|0|\n[Ascon-128](https://ascon.iaik.tugraz.at/index.html)|8|16|16|AEAD\n[Ascon-128a](https://ascon.iaik.tugraz.at/index.html)|16|16|16|AEAD\n[Ascon-80pq](https://ascon.iaik.tugraz.at/index.html)|8|20|16|AEAD, Resistance to quantum adversary\n[Blowfish](https://www.schneier.com/academic/archives/1994/09/description_of_a_new.html)|8|4-56|0|\n[ChaCha20](https://en.wikipedia.org/wiki/Salsa20#ChaCha_variant)|64|16, 32|12\n[ChaCha20-Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305)|64|32|12|AEAD\n[Rabbit](https://www.ecrypt.eu.org/stream/rabbitp3.html)|16|16|0, 8|\n[Salsa20](http://cr.yp.to/snuffle/spec.pdf)|64|16, 32|8\n[Salsa20-Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305#Salsa20-Poly1305_and_XSalsa20-Poly1305)|64|32|12|AEAD\n[Twofish](https://www.schneier.com/academic/twofish/)|16|16, 24, 32|0|\n[XChaCha20](https://en.wikipedia.org/wiki/Salsa20#XChaCha)|64|32|24|\n[XChaCha20-Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305#XChaCha20-Poly1305_%E2%80%93_extended_nonce_variant)|64|32|24|AEAD\n[XSalsa20](https://en.wikipedia.org/wiki/Salsa20#XSalsa20_with_192-bit_nonce)|64|16, 32|24|\n[XSalsa20-Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305#Salsa20-Poly1305_and_XSalsa20-Poly1305)|64|32|24|AEAD\n\n#### Secure Hash\n\nCryptography hash functions that have the properties:\n- Finding an input string that matches a hash value (*pre-image*) is hard\n- Finding a pair of messages that generate the same hash value (*collision*) is hard\n\nName|Digest sizes|Optional parameters\n-------|----------------------|-------------------\n[Ascon-Hash, Ascon-HashA](https://ascon.iaik.tugraz.at/index.html)|256|-\n[Blake](https://en.wikipedia.org/wiki/BLAKE_(hash_function))|256, 512|salt\n[Blake2b](https://www.blake2.net/)|8-512, 256, 384, 512|key, salt, personalization\n[Blake2s](https://www.blake2.net/)|8-256, 224, 256|key, salt, personalization\n[Keccak](https://keccak.team/keccak.html)|8-512, 224, 256, 384, 512|capacity\n[MD4†](https://datatracker.ietf.org/doc/html/rfc1320)|128†|-\n[MD5†](https://datatracker.ietf.org/doc/html/rfc1321)|128†|-\n[ParallelHash](https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-185.pdf) (128,256)|8-512|block size, customization\n[RipeMD†](https://en.wikipedia.org/wiki/RIPEMD)|128†, 160†, 256, 320|-\n[SHA-1†](https://datatracker.ietf.org/doc/html/rfc3174)|160†|-\n[SHA-2](https://en.wikipedia.org/wiki/SHA-2)|224, 256, 384, 512, 512/224, 512/256|-\n[SHA-3](https://en.wikipedia.org/wiki/SHA-3)|224, 256, 384, 512|-\n[TupleHash](https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-185.pdf) (128, 256)|8-512|customization\n[Whirlpool](https://web.archive.org/web/20171129084214/http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html)|512|-\n\n† No longer considered cryptographically safe\n\n#### Key Derivation Function (KDF)\n\nA cryptographic algorithm that derives one or more secret keys from a secret value.  Can be used to stretch keys (make them longer), or obtain a key in a particular format (eg making a key a fixed length)\n\n- [HKDF](https://en.wikipedia.org/wiki/HKDF)\n- [PBKDF2](https://www.rfc-editor.org/rfc/rfc8018#section-5.2) pbkdf2_hmac_sha1, pbkdf2_hmac_sha256, pbkdf2_hmac_sha512\n\n#### Message Authentication Code (MAC)\n\nAlso known as an authentication tag, a short piece of information to authenticate a message.  Protect integrity, and authenticity.\n\nName|Tag Size\n-|-\n[CMAC](https://datatracker.ietf.org/doc/rfc4493/)|16 (AES)\n[HMAC](https://en.wikipedia.org/wiki/HMAC)|Depends on hash (Blake, Blake2, cShake, Keccak, MD4, MD5, RipeMD, Sha1, Sha2, Sha3, Shake, Whirlpool)\n[HopMAC](https://www.ietf.org/archive/id/draft-irtf-cfrg-kangarootwelve-10.html#name-security-considerations)|16 (Kangaroo Twelve)\n[KMAC](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf)|16, 32 (Keccak)\n[Poly1305](https://datatracker.ietf.org/doc/html/rfc7539#autoid-14)|16\n\n#### EXtendable-Output Function (XOF)\n\nA secure hash that can produce output of any desired length.\n\nName|Capacities|Optional parameters\n-------|-----------|-------------------\n[Ascon-Xof, Ascon-XofA](https://ascon.iaik.tugraz.at/index.html)|256|digest size\n[cShake](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf)|128, 256|digest size, function name, customization\n[KangarooTwelve](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/)|128|digest size, customization\n[KmacXof](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf)|128, 256|digest size, key, customization\n[ParallelHashXof](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf)|128, 256|block size, digest size, customization\n[Shake](https://en.wikipedia.org/wiki/SHAKE128)|128, 256|digest size\n[TupleHashXof](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf)|128, 256|digest size, customization\n[TurboSHAKE](https://datatracker.ietf.org/doc/draft-irtf-cfrg-kangarootwelve/)|128, 256|digest size, customization\n\n### DateTime\n\n- Year, Month, Day\n- Hour, Minute, Second, Millisecond, Microsecond\n- DateTimeLocal, DateTimeUtc, DateOnly, TimeOnly\n- Duration, DurationExact\n- DateTime*.lt|lte|eq|gt|gte|neq - Compare two date-times\n- DateTime*.add|sub - Add or subtract Duration|DurationExact from a date-time\n- DateTime*.diff|diffExact - Get the difference between two dates in y/m/d/h/* or d/h/*\n\n### Error Correction Codes\n\n- [Reed Solomon](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction)\n\n\n### Endian\n\n- [Big](https://en.wikipedia.org/wiki/Endianness)\n- Little\n\n\n### Net\n\n- [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\n- [IPv4](https://en.wikipedia.org/wiki/Internet_Protocol_version_4)\n- IpTree\n\n\n### Primitive\n\n- Fixed TypedArray\n- Int64\n- Lazy\n- Readonly TypedArray\n- Scaling TypedArray\n- StringBuilder\n- U16\n- U32, U32Mut, U32MutArray\n- U64, U64Mut, U64MutArray\n- Uint64\n- UInt, UIntMut\n- WindowStr\n\n#### Extensions:\n\n- Bit\n- Int\n- String\n- Uint8Array\n\n### Pseudorandom number generators (PRNG)\n\n- [Marsaglia](https://groups.google.com/g/sci.math/c/6BIYd0cafQo/m/Ucipn_5T_TMJ?hl=en) -\n  possible to calculate in your head\n- [Middle-Square](https://en.wikipedia.org/wiki/Middle-square_method) -\n  in practice flawed since the period is often short and will converge towards the same number or loop after repeated times\n- [MSVC](https://orlp.net/blog/when-random-isnt/)\n- [RANDU](https://en.wikipedia.org/wiki/RANDU) -\n  a famously bad PRNG\n\n### RegExp\n\n- RegExp escape string\n\n\n### RunTime\n\n- Configuration (including collecting from environment variables)\n- Structured logging\n- Normalize stack entries, and stack traces across engines, with colors \n\n\n## License\n\n[MPL-1.1](LICENSE)\n","readmeFilename":"README.md"}