Releases: SegaraRai/fraci
v0.15.0
Minor Changes
-
9bc7f1d: Implementated Binary Fractional Indexing.
Added support for binary-based fractional indices using
Uint8Array
for more efficient storage and operations. This implementation provides:- Improved performance with optimized binary operations for generating and comparing indices
- Enhanced memory efficiency for applications handling large numbers of indices
- Specialized factory functions for creating binary or string-based indices
New Features:
- Added
fraciBinary
andfraciString
factory functions for creating specialized fractional indexing utilities - Added
base
andbrand
properties toFraci
for better type safety and runtime information - Enhanced validation and error handling for binary fractional indices
Breaking Changes:
- Template Parameter Signature: Changed template parameter signature for
fraci
,Fraci
, andFractionalIndex
types - Removed Properties: Removed
digitBase
andlengthBase
properties fromFraci
Added comprehensive type system with clear separation between binary and string-based indices:
AnyFractionalIndex
,AnyBinaryFractionalIndex
,AnyStringFractionalIndex
AnyFractionalIndexBase
,AnyBinaryFractionalIndexBase
,AnyStringFractionalIndexBase
AnyFraci
,AnyBinaryFraci
,AnyStringFraci
FraciOptionsBase
,BinaryFraciOptions
,StringFraciOptions
v0.14.0
v0.13.0
Minor Changes
-
b0c4151: Enhanced error handling:
- Added "Fraci" prefix to error messages to make it easier to identify the source of the error
- Added comprehensive "Runtime Errors" section to the documentation with detailed information about each error message
- Provided clear causes and solutions for each error message to improve troubleshooting experience
v0.12.0
Minor Changes
-
6451d6a: BREAKING CHANGE: Renamed base constants for better consistency and clarity:
BASE16
->BASE16L
(lowercase hex digits)BASE26
->BASE26L
(lowercase alphabets)BASE36
->BASE36L
(lowercase alphanumeric)BASE64
->BASE64URL
(URL-safe Base64 characters)
Added new complementary constants:
BASE16U
(uppercase hex digits)
The naming convention now uses
L
suffix for lowercase andU
suffix for uppercase variants. -
1ba4bab: BREAKING CHANGE: Renamed Prisma integration function and type for better consistency with other database integrations:
fraciExtension
->prismaFraci
- The main function for creating Prisma extensionsFraciExtensionOptions
->PrismaFraciOptions
- The options interface for configuration
Migration: Replace all instances of
fraciExtension
withprismaFraci
and update type references fromFraciExtensionOptions
toPrismaFraciOptions
.
v0.11.0
Minor Changes
-
509d84a: BREAKING CHANGE: Renamed
DrizzleFraciFetcher(Sync)
type toFraciForDrizzle(Sync)
. -
54e65e5: BREAKING CHANGE: Changed the parameter order in
indicesForAfter
andindicesForBefore
functions to make it more natural, with the broader grouping context (where
/group
) before the more specific cursor (cursor
).Before:
indicesForAfter(cursor, where); indicesForBefore(cursor, where);
After:
indicesForAfter(where, cursor); indicesForBefore(where, cursor);
This change affects both Drizzle and Prisma implementations.
-
8f28a82: BREAKING CHANGE: Changed the parameter order in
defineDrizzleFraci
function.The order of the
group
andcursor
parameters has been swapped to make the API more intuitive. The new order is:defineDrizzleFraci( fraci, // Fractional index instance table, // Table column, // Fractional index column group, // Group (columns that define the grouping context) cursor // Cursor (columns that uniquely identify a row within a group) );
-
edb941e: Add fraci methods to Drizzle ORM helper.