Asosiy mazmunga oʻtish

Mijoz sozlamalari ​

createMxik() sozlamalarsiz ishlaydi. Standart qiymatlar:

OpsiyaStandartTavsif
lang'ru'Natijalardagi nomlar tili: 'ru' yoki 'uz'
pageSize20search, filter va dvCert uchun sahifa hajmi
timeout10000Soʻrov taymauti millisekundlarda, 0 oʻchiradi
cachefalsetrue yoki oʻz keshingiz, qarang: Kesh
baseURLtasnif.soliq.uzAPI ildizi, qarang: Proksi
fetchglobalThis.fetchQarang: Oʻz fetch
headersHar bir soʻrovga qoʻshiladigan sarlavhalar

Toʻliq standart baseURL: https://tasnif.soliq.uz/api/cls-api.

ts
const mxik = createMxik({
  lang: 'uz',
  pageSize: 50,
  timeout: 5000,
})

Alohida soʻrov uchun ​

Har bir metodning oxirgi argumenti — opsiyalar. Ular shu chaqiruv uchun mijoz sozlamalarini almashtiradi:

OpsiyaMetodlarTavsif
langbarchasiNomlar tili
signalbarchasiSoʻrovni bekor qilish uchun AbortSignal
pagesearch, filter, dvCertSahifa raqami, birdan boshlanadi
sizesahifali va *All metodlarSahifa hajmi
ts
await mxik.search('кофе', {
  page: 2,
  lang: 'uz',
  signal: AbortSignal.timeout(3000),
})

Proksi ​

Agar serveringiz tasnif.soliq.uzga toʻgʻridan-toʻgʻri ulana olmasa, uning oldiga Oʻzbekistondagi proksini qoʻying va uni baseURLda koʻrsating. Yoʻllar va soʻrov parametrlari oʻzgarmaydi:

ts
const mxik = createMxik({
  baseURL: 'https://mxik-proxy.example.uz/api/cls-api',
  headers: { authorization: `Bearer ${process.env.PROXY_TOKEN}` },
})

Oʻz fetch ​

Global fetch yoʻq muhitlar uchun, loglash uchun yoki testlarda APIʼni almashtirish uchun oʻz fetchʼingizni bering:

ts
const mxik = createMxik({
  fetch: async () => Response.json({
    success: true,
    data: [{ mxikCode: '00901001001048023' }],
    recordTotal: 1,
  }),
})

const { items } = await mxik.search('anything')
items[0].mxikCode // '00901001001048023'

Destrukturizatsiya ​

Mijoz thissiz oddiy obyekt, shuning uchun metodlar alohida ham ishlaydi:

ts
const { search, get } = createMxik()

Norasmiy mijoz, Oʻzbekiston Soliq qoʻmitasi va tasnif.soliq.uz bilan bogʻliq emas.
MIT litsenziyasi asosida tarqatiladi.