{"version":3,"file":"usePagination2.mjs","sources":["../../../../../../packages/hooks/web/usePagination.ts"],"sourcesContent":["import { computed, ref, unref } from 'vue'\nimport type { Ref } from 'vue'\n\nfunction pagination<T = any>(list: T[], pageNo: number, pageSize: number): T[] {\n  const offset = (pageNo - 1) * Number(pageSize)\n  const ret =\n    offset + Number(pageSize) >= list.length\n      ? list.slice(offset, list.length)\n      : list.slice(offset, offset + Number(pageSize))\n  return ret\n}\n\nexport function usePagination<T = any>(list: Ref<T[]>, pageSize: number) {\n  const currentPage = ref(1)\n  const pageSizeRef = ref(pageSize)\n\n  const getPaginationList = computed(() => {\n    return pagination(unref(list), unref(currentPage), unref(pageSizeRef))\n  })\n\n  const getTotal = computed(() => {\n    return unref(list).length\n  })\n\n  function setCurrentPage(page: number) {\n    currentPage.value = page\n  }\n\n  function setPageSize(pageSize: number) {\n    pageSizeRef.value = pageSize\n  }\n\n  return { setCurrentPage, getTotal, setPageSize, getPaginationList }\n}\n"],"names":[],"mappings":";;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC5C,EAAE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjD,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzI,EAAE,OAAO,GAAG,CAAC;AACb,CAAC;AACM,SAAS,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC9C,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7B,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,EAAE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM;AAC3C,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3E,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM;AAClC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,cAAc,CAAC,IAAI,EAAE;AAChC,IAAI,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7B,GAAG;AACH,EAAE,SAAS,WAAW,CAAC,SAAS,EAAE;AAClC,IAAI,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AACtE;;;;"}