Skip to content

⬅️ Back to Table of Contents

📄 demo.vue

📊 Analysis Summary

Metric Count
🔧 Functions 2
📦 Imports 3
📊 Variables & Constants 4
⚡ Async/Await Patterns 2
📐 Interfaces 1

📚 Table of Contents

🛠️ File Location:

📂 packages/core/useOffsetPagination/demo.vue

📦 Imports

Name Source
useOffsetPagination @vueuse/core
deepRef vue
shallowRef vue

Variables & Constants

Name Type Kind Value Exported
database boolean let/var deepRef<User[]>([])
start number let/var (page - 1) * pageSize
end number let/var start + pageSize
data boolean let/var deepRef<User[]>([])

Async/Await Patterns

Type Function Await Expressions Promise Chains
promise-chain fetch none new Promise(...)
promise-chain fetchData none fetch(currentPage, currentPageSize).then

Functions

fetch(page: number, pageSize: number): boolean

Code
function fetch(page: number, pageSize: number) {
  return new Promise<User[]>((resolve, reject) => {
    const start = (page - 1) * pageSize
    const end = start + pageSize
    setTimeout(() => {
      resolve(database.value.slice(start, end))
    }, 100)
  })
}
  • Parameters:
  • page: number
  • pageSize: number
  • Return Type: boolean
  • Calls:
  • setTimeout
  • resolve
  • database.value.slice

fetchData({ currentPage, currentPageSize }: { currentPage: number, currentPageSize: number }): void

Code
function fetchData({ currentPage, currentPageSize }: { currentPage: number, currentPageSize: number }) {
  fetch(currentPage, currentPageSize).then((responseData) => {
    data.value = responseData
  })
}
  • Parameters:
  • { currentPage, currentPageSize }: { currentPage: number, currentPageSize: number }
  • Return Type: void
  • Calls:
  • fetch(currentPage, currentPageSize).then

Interfaces

User

Interface Code
interface User {
  id: number
  name: string
}

Properties

Name Type Optional Description
id number
name string