Skip to content

Releases: SegaraRai/fraci

v0.15.0

19 Mar 15:41
e66402b
Compare
Choose a tag to compare

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 and fraciString factory functions for creating specialized fractional indexing utilities
    • Added base and brand properties to Fraci 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, and FractionalIndex types
    • Removed Properties: Removed digitBase and lengthBase properties from Fraci

    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

16 Mar 14:42
32e3630
Compare
Choose a tag to compare

Minor Changes

  • 294fb62: Added FraciForPrisma type.
  • da64bc1: Added definePrismaFraci function. Added PrismaFraciExtension type export.

Patch Changes

  • 3c273e3: Reduced Prisma ORM integration code size.

v0.13.0

16 Mar 11:43
7bd6107
Compare
Choose a tag to compare

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

15 Mar 14:18
7218ba9
Compare
Choose a tag to compare

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 and U 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 extensions
    • FraciExtensionOptions ->PrismaFraciOptions - The options interface for configuration

    Migration: Replace all instances of fraciExtension with prismaFraci and update type references from FraciExtensionOptions to PrismaFraciOptions.

v0.11.0

13 Mar 10:41
55effae
Compare
Choose a tag to compare

Minor Changes

  • 509d84a: BREAKING CHANGE: Renamed DrizzleFraciFetcher(Sync) type to FraciForDrizzle(Sync).

  • 54e65e5: BREAKING CHANGE: Changed the parameter order in indicesForAfter and indicesForBefore 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 and cursor 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.

v0.10.0

12 Mar 19:00
024f408
Compare
Choose a tag to compare

Minor Changes

  • ec3cddd: Add skip parameter to generateKeyBetween and generateNKeysBetween methods.

v0.9.0

12 Mar 17:44
6e7007d
Compare
Choose a tag to compare

Minor Changes

v0.8.0

08 Mar 13:06
1ac23d2
Compare
Choose a tag to compare

Minor Changes

  • 5f3cec8: Do not use unique symbol to brand FractionalIndex to avoid TS4058 error.

v0.7.0

13 Jan 02:43
c9771f1
Compare
Choose a tag to compare

Minor Changes

  • 1430862: Mark package side-effect free.

v0.6.0

13 Jan 02:38
b8d5043
Compare
Choose a tag to compare

Minor Changes

  • 93c538b: Do not use unique symbol to brand prisma types to avoid TS4058 error.
  • 082ff42: Remove __EXAMPLE__ type only hint.
  • 367b8d6: Add caching feature.