{"version":3,"file":"lazy-measurements.cjs","sources":["../../src/lazy-measurements.ts"],"sourcesContent":["// Lazy materialization for the lanes===1 fast path. Backed by a\n// Float64Array (stride 2: start, size, …); VirtualItems are constructed on\n// first indexed read and cached. Saves the per-item object allocation at\n// large list counts where most items are never visible.\n\nimport type { VirtualItem } from './index'\n\ntype Key = number | string | bigint\n\nexport function createLazyMeasurementsView(\n  count: number,\n  flat: Float64Array,\n  getItemKey: (i: number) => Key,\n): Array<VirtualItem> {\n  const cache: Array<VirtualItem | undefined> = new Array(count)\n  return new Proxy(cache as any, {\n    get(target, prop, receiver) {\n      if (typeof prop === 'string') {\n        // Cheap digit-prefix sniff before number coerce.\n        const c = prop.charCodeAt(0)\n        if (c >= 48 && c <= 57) {\n          const i = +prop\n          if (Number.isInteger(i) && i >= 0 && i < count) {\n            let v = target[i]\n            if (!v) {\n              const s = flat[i * 2]!\n              v = target[i] = {\n                index: i,\n                key: getItemKey(i),\n                start: s,\n                size: flat[i * 2 + 1]!,\n                end: s + flat[i * 2 + 1]!,\n                lane: 0,\n              }\n            }\n            return v\n          }\n        }\n        if (prop === 'length') return count\n      }\n      return Reflect.get(target, prop, receiver)\n    },\n  }) as Array<VirtualItem>\n}\n"],"names":[],"mappings":";;AASO,SAAS,2BACd,OACA,MACA,YACoB;AACpB,QAAM,QAAwC,IAAI,MAAM,KAAK;AAC7D,SAAO,IAAI,MAAM,OAAc;AAAA,IAC7B,IAAI,QAAQ,MAAM,UAAU;AAC1B,UAAI,OAAO,SAAS,UAAU;AAE5B,cAAM,IAAI,KAAK,WAAW,CAAC;AAC3B,YAAI,KAAK,MAAM,KAAK,IAAI;AACtB,gBAAM,IAAI,CAAC;AACX,cAAI,OAAO,UAAU,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO;AAC9C,gBAAI,IAAI,OAAO,CAAC;AAChB,gBAAI,CAAC,GAAG;AACN,oBAAM,IAAI,KAAK,IAAI,CAAC;AACpB,kBAAI,OAAO,CAAC,IAAI;AAAA,gBACd,OAAO;AAAA,gBACP,KAAK,WAAW,CAAC;AAAA,gBACjB,OAAO;AAAA,gBACP,MAAM,KAAK,IAAI,IAAI,CAAC;AAAA,gBACpB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,gBACvB,MAAM;AAAA,cAAA;AAAA,YAEV;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AACA,YAAI,SAAS,SAAU,QAAO;AAAA,MAChC;AACA,aAAO,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAAA,IAC3C;AAAA,EAAA,CACD;AACH;;"}