All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Allow loading
Encrypter
in Node.js without enabling "--experimental-global-webcrypto" flag.
Encrypter
class that encrypts ids into 128-bit values using AES encryption of Web Crypto API.
- Renamed
ObjectId64
class intoEncoder
.
- Simplify binary conversion methods.
- Add methods to support encoding and decoding binary representations of UUID and ObjectId.
- Allow skipping lookup table creation upon instantiation of an encoder instance.
- Optimize integer and bigint encoding.
- Use
Map
for lookup tables to improve performance.
- Add README.md to the NPM package.
- (BREAKING) Class
ObjectID64
renamed intoObjectId64
- (BREAKING)
ObjectID64#encode
&ObjectID64#decode
renamed into respectfullyObjectId64#fromObjectId
&ObjectId64#toObjectId
- Support for encoding UUIDs with
ObjectId64#fromUUID
&ObjectId64#toUUID
- Support for encoding 32 bit integers with
ObjectId64#fromInt
&ObjectId64#toInt
- Support for encoding bigints with
ObjectId64#fromBigInt
&ObjectId64#toBigInt
- Make
ObjectID64
instantiable to simplify using multiple instances of encoder. - Rewrite in TypeScript and port to Deno.
- Add TypeScript definitions.
- Fix one off error in lookup table generation.