fractional_indexing_dart 1.0.1 copy "fractional_indexing_dart: ^1.0.1" to clipboard
fractional_indexing_dart: ^1.0.1 copied to clipboard

A Dart implementation of fractional indexing for efficient list ordering and reordering without large-scale updates. Ideal for CRDTs and real-time apps.

example/fractional_indexing_dart_example.dart

import 'package:fractional_indexing_dart/fractional_indexing_dart.dart' as findex;

void main() {
  print('--- Single Key Generation ---');
  final first = findex.generateKeyBetween(null, null);
  print('First: $first'); // "a0"

  final second = findex.generateKeyBetween(first, null);
  print('Second (after First): $second'); // "a1"

  final third = findex.generateKeyBetween(second, null);
  print('Third (after Second): $third'); // "a2"

  final zeroth = findex.generateKeyBetween(null, first);
  print('Zeroth (before First): $zeroth'); // "Zz"

  final secondAndHalf = findex.generateKeyBetween(second, third);
  print('SecondAndHalf (between Second and Third): $secondAndHalf'); // "a1V"

  print('\n--- Multiple Key Generation ---');
  final multiple = findex.generateNKeysBetween(null, null, 2);
  print('Generate 2 keys from start: $multiple'); // ['a0', 'a1']

  final afterSecond = findex.generateNKeysBetween(second, null, 2);
  print('Generate 2 keys after Second: $afterSecond'); // ['a2', 'a3']

  final beforeZeroth = findex.generateNKeysBetween(null, zeroth, 2);
  print('Generate 2 keys before Zeroth: $beforeZeroth'); // ['Zy', 'Zz']

  final midpoints = findex.generateNKeysBetween(second, third, 2);
  print('Generate 2 keys between Second and Third: $midpoints'); // ['a1G', 'a1V']

  print('\n--- Comparison ---');
  final list = [second, first, third, secondAndHalf, zeroth];
  print('Unsorted: $list');
  list.sort((a, b) => a.compareTo(b));
  print('Sorted: $list');
}
3
likes
0
points
357
downloads

Publisher

verified publisherblubox.dev

Weekly Downloads

A Dart implementation of fractional indexing for efficient list ordering and reordering without large-scale updates. Ideal for CRDTs and real-time apps.

Repository (GitHub)
View/report issues

Topics

#algorithms #sorting #crdt #indexing #list-ordering

License

unknown (license)

More

Packages that depend on fractional_indexing_dart