{"version":3,"file":"array-utils.cjs","sources":["../../../src/utils/array-utils.ts"],"sourcesContent":["import { compareKeys } from '@tanstack/db-ivm'\n\n/** Key order for descending pages, so no page needs a separate reverse pass. */\nexport function compareKeysReversed(\n  a: string | number,\n  b: string | number,\n): number {\n  return compareKeys(b, a)\n}\n\n/**\n * Finds the correct insert position for a value in a sorted array using binary search\n * @param sortedArray The sorted array to search in\n * @param value The value to find the position for\n * @param compareFn Comparison function to use for ordering\n * @returns The index where the value should be inserted to maintain order\n */\nexport function findInsertPositionInArray<T>(\n  sortedArray: Array<T>,\n  value: T,\n  compareFn: (a: T, b: T) => number,\n): number {\n  let left = 0\n  let right = sortedArray.length\n\n  while (left < right) {\n    const mid = Math.floor((left + right) / 2)\n    const comparison = compareFn(sortedArray[mid]!, value)\n\n    if (comparison < 0) {\n      left = mid + 1\n    } else {\n      right = mid\n    }\n  }\n\n  return left\n}\n"],"names":["compareKeys"],"mappings":";;;AAGO,SAAS,oBACd,GACA,GACQ;AACR,SAAOA,MAAAA,YAAY,GAAG,CAAC;AACzB;AASO,SAAS,0BACd,aACA,OACA,WACQ;AACR,MAAI,OAAO;AACX,MAAI,QAAQ,YAAY;AAExB,SAAO,OAAO,OAAO;AACnB,UAAM,MAAM,KAAK,OAAO,OAAO,SAAS,CAAC;AACzC,UAAM,aAAa,UAAU,YAAY,GAAG,GAAI,KAAK;AAErD,QAAI,aAAa,GAAG;AAClB,aAAO,MAAM;AAAA,IACf,OAAO;AACL,cAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AACT;;;"}