summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Lady [Sat, 20 May 2023 01:05:27 +0000 (18:05 -0700)]
Use strict equals in Matcher constraint tests
Otherwise Deno will see Matcher is a RegExp and cast to a string.
Lady [Sat, 20 May 2023 01:05:19 +0000 (18:05 -0700)]
Add base32 support to binary.js
Includes both the RFC base32 definition and the “W·R·M·G” definition by
Douglas Crockford.
Lady [Sat, 20 May 2023 01:05:02 +0000 (18:05 -0700)]
Add base16 support to binary.js
Just iterating over the bytes and doing `$.toString(16).toUpperCase()`
or `parseInt($, 16)` might actually be faster, but I kind of like using
an actual algorithm to ensure parity with base64 ⁊·c processing.
Lady [Fri, 19 May 2023 07:20:39 +0000 (00:20 -0700)]
Fix base64 implementation
I believe that the old implementation was just wrong, and it simply
wasn’t caught because Deno’s `assertEquals` doesn’t actually know what
to do with raw buffers. Wrapping them to build typed arrays creates
working tests, and this implementation matches observed behaviour with
`atob` and `btoa`.
Lady [Sun, 25 Sep 2022 07:52:56 +0000 (00:52 -0700)]
Remove irregular whitespace
Lady [Sun, 25 Sep 2022 07:48:49 +0000 (00:48 -0700)]
Polish object.js a little
Lady [Sun, 25 Sep 2022 07:24:35 +0000 (00:24 -0700)]
Polish binary.js a little bit.
Internal functions now have some code documentation, and the runtime
dependency on arrays being iterable (for splatting arguments) was
removed.
Lady [Sun, 25 Sep 2022 07:00:10 +0000 (00:00 -0700)]
Rename base64.js to binary.js; reorganize contents
`atob` and `btoa` now have the much clearer names `base64Binary` and
`base64String`; filename‐safe equivalents have been added.
The intention is to add the base16 and base32 formats from R·F·C 3548
as well, although that work is still forthcoming.
Lady [Tue, 20 Sep 2022 03:39:11 +0000 (20:39 -0700)]
Add to⸺Notation functions to numeric.js
The default Number::toString method provides a result which is
difficult to parse. Number::toExponential and Number::toFixed are
better; they are now provided via toExponentialNotation and
toFixedDecimalNotation. Support for big·ints has been added as well.
Lady [Tue, 20 Sep 2022 03:34:38 +0000 (20:34 -0700)]
toIntegerOrInfinity 🔜 toIntegralNumberOrInfinity
This new name is clearer, especially as this function now accepts
big·int arguments.
Lady [Mon, 19 Sep 2022 02:31:02 +0000 (19:31 -0700)]
Add toIntegralNumber to numeric.js
Also allow big·int arguments in toIntegerOrInfinity.
Lady [Sun, 18 Sep 2022 22:02:31 +0000 (15:02 -0700)]
Add POSITIVE_ZERO and NEGATIVE_ZERO to numeric.js
Lady [Thu, 8 Sep 2022 05:20:46 +0000 (22:20 -0700)]
Provide fake external constructor for Matcher
Classes which depend on identity for behaviours should not be exposed
because this inheritance can be modified at runtime. This commit
provides a fake Matcher constructor which simply calls the real one.
This has a side‐effect of reducing the amount of prototype modification
which this class setup entailed, at the cost of needing to manually
redefine all the properties from the internal Matcher constructor
prototype onto the external one.
Lady [Thu, 8 Sep 2022 04:14:53 +0000 (21:14 -0700)]
Pass exec result to constraint in Matcher
Lady [Thu, 8 Sep 2022 03:17:51 +0000 (20:17 -0700)]
Add support for constraints to Matcher
Lady [Thu, 8 Sep 2022 02:13:16 +0000 (19:13 -0700)]
Make toIntN & toUintN more accommodating
These used to not handle non‐integers well, and now do gracefully.
Lady [Sun, 4 Sep 2022 21:47:15 +0000 (14:47 -0700)]
Treat object function args more consistently
Functions like getOwnPropertyKeys now do not require that their
arguments are objects, but *do* require that they are not null or
undefined. Similarly, toObject now throws for null and undefined
values, rather than returning an empty object. Use `toObject($ ?? {})`
if you need the old behaviour.
Lady [Sun, 4 Sep 2022 21:19:38 +0000 (14:19 -0700)]
Add toString to string.js
Also properly casts some arguments of string functions to strings.
Lady [Sun, 4 Sep 2022 21:15:36 +0000 (14:15 -0700)]
Add toIntegerOrInfinity to numeric.js
Lady [Sat, 23 Jul 2022 23:13:27 +0000 (16:13 -0700)]
Add LazyLoader class
Lady [Sat, 23 Jul 2022 19:20:43 +0000 (12:20 -0700)]
Add isArraylikeObject
Also renames lengthOfArrayLike 🔜 lengthOfArraylike.
Lady [Sat, 23 Jul 2022 08:37:18 +0000 (01:37 -0700)]
Update README
Lady [Sat, 23 Jul 2022 08:17:12 +0000 (01:17 -0700)]
Refactor base64; remove runtime dependencies
Lady [Sat, 23 Jul 2022 07:19:58 +0000 (00:19 -0700)]
Refactor iri; remove runtime dependencies
Lady [Sat, 23 Jul 2022 04:27:35 +0000 (21:27 -0700)]
Add Matcher class for whole‐string matching
Lady [Sat, 23 Jul 2022 02:42:47 +0000 (19:42 -0700)]
Add arraylike functions and collection unit tests
Lady [Fri, 22 Jul 2022 02:47:55 +0000 (19:47 -0700)]
Add string functions and unit tests
Lady [Sun, 17 Jul 2022 22:18:57 +0000 (15:18 -0700)]
Add numeric functions and unit tests
Lady [Sun, 17 Jul 2022 17:52:45 +0000 (10:52 -0700)]
Remove dependencies of function.js; add tests
- No longer depends on mutable runtime bindings or other modules
- Unit tests for all function exports
Lady [Sun, 17 Jul 2022 20:45:08 +0000 (13:45 -0700)]
Split some object code into value and unit test
Also adds tests for module exports.
Lady [Sat, 9 Jul 2022 23:02:22 +0000 (16:02 -0700)]
Basic functions for object & function manipulation
Lady [Sat, 4 Jun 2022 23:12:17 +0000 (16:12 -0700)]
Add string functions
Lady [Sat, 21 May 2022 01:09:20 +0000 (18:09 -0700)]
L·E·I·R·I support
Lady [Tue, 17 May 2022 03:57:40 +0000 (20:57 -0700)]
More comprehensive support for RFC 3986 & RFC 3987
Lady [Sat, 30 Apr 2022 01:18:02 +0000 (18:18 -0700)]
PropertyDescriptor and frozenCopy
Lady [Thu, 28 Apr 2022 00:56:34 +0000 (17:56 -0700)]
toPrimitive and toPropertyKey
Lady [Sat, 29 May 2021 20:37:16 +0000 (13:37 -0700)]
Initial codes
Most of this was taken from الرشآء.
This page took 0.276797 seconds and 4 git commands to generate.