UNPKG

vormiaqueryjs

Version:

Vormia Query Js - A npm package for query management with VormiaPHP laravel Backend application

1 lines 3.86 kB
{"version":3,"file":"svelte.mjs","sources":["../../../src/adapters/svelte/vormiaStore.js"],"sourcesContent":["import { writable } from 'svelte/store';\nimport { getGlobalVormiaClient } from '../../client/createVormiaClient';\nimport { VormiaError } from '../../client/utils/VormiaError';\n\nexport function createVormiaStore(initialOptions = {}) {\n const client = getGlobalVormiaClient();\n const { subscribe, set, update } = writable({\n data: null,\n error: null,\n isLoading: false,\n isError: false,\n isSuccess: false,\n });\n\n async function fetchData(options = {}) {\n const mergedOptions = { ...initialOptions, ...options };\n const { \n endpoint, \n method = 'GET', \n params, \n data: bodyData, \n headers, \n transform, \n onSuccess, \n onError \n } = mergedOptions;\n\n update(state => ({ ...state, isLoading: true, isError: false, isSuccess: false }));\n\n try {\n const config = {\n method,\n params: method === 'GET' ? params : undefined,\n data: method !== 'GET' ? (bodyData || params) : undefined,\n headers\n };\n\n const response = await client.request({\n url: endpoint,\n ...config\n });\n\n let result = response.data;\n\n if (transform) {\n result = transform(result);\n }\n\n const newState = {\n data: result,\n error: null,\n isLoading: false,\n isError: false,\n isSuccess: true\n };\n\n set(newState);\n \n if (onSuccess) {\n onSuccess(newState);\n }\n\n return newState;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : 'An unknown error occurred';\n const status = err?.response?.status;\n const errorData = err?.response?.data;\n \n const errorObj = err instanceof VormiaError \n ? err \n : new VormiaError(errorMessage, status, errorData);\n\n const errorState = {\n data: null,\n error: errorObj,\n isLoading: false,\n isError: true,\n isSuccess: false\n };\n\n set(errorState);\n \n if (onError) {\n onError(errorObj);\n }\n\n throw errorObj;\n }\n }\n\n if (initialOptions.immediate !== false) {\n fetchData();\n }\n\n return {\n subscribe,\n fetch: fetchData,\n refetch: fetchData,\n set,\n update\n };\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,kBAAkB,iBAAiB,IAAI;AACrD,QAAM,SAAS,sBAAqB;AACpC,QAAM,EAAE,WAAW,KAAK,OAAM,IAAK,SAAS;AAAA,IAC1C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EACf,CAAG;AAED,iBAAe,UAAU,UAAU,IAAI;;AACrC,UAAM,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,QAAO;AACrD,UAAM;AAAA,MACJ;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACN,IAAQ;AAEJ,WAAO,YAAU,EAAE,GAAG,OAAO,WAAW,MAAM,SAAS,OAAO,WAAW,MAAK,EAAG;AAEjF,QAAI;AACF,YAAM,SAAS;AAAA,QACb;AAAA,QACA,QAAQ,WAAW,QAAQ,SAAS;AAAA,QACpC,MAAM,WAAW,QAAS,YAAY,SAAU;AAAA,QAChD;AAAA,MACR;AAEM,YAAM,WAAW,MAAM,OAAO,QAAQ;AAAA,QACpC,KAAK;AAAA,QACL,GAAG;AAAA,MACX,CAAO;AAED,UAAI,SAAS,SAAS;AAEtB,UAAI,WAAW;AACb,iBAAS,UAAU,MAAM;AAAA,MACjC;AAEM,YAAM,WAAW;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,MACnB;AAEM,UAAI,QAAQ;AAEZ,UAAI,WAAW;AACb,kBAAU,QAAQ;AAAA,MAC1B;AAEM,aAAO;AAAA,IACb,SAAa,KAAK;AACZ,YAAM,eAAe,eAAe,QAAQ,IAAI,UAAU;AAC1D,YAAM,UAAS,gCAAK,aAAL,mBAAe;AAC9B,YAAM,aAAY,gCAAK,aAAL,mBAAe;AAEjC,YAAM,WAAW,eAAe,cAC5B,MACA,IAAI,YAAY,cAAc,QAAQ,SAAS;AAEnD,YAAM,aAAa;AAAA,QACjB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,MACnB;AAEM,UAAI,UAAU;AAEd,UAAI,SAAS;AACX,gBAAQ,QAAQ;AAAA,MACxB;AAEM,YAAM;AAAA,IACZ;AAAA,EACA;AAEE,MAAI,eAAe,cAAc,OAAO;AACtC,cAAS;AAAA,EACb;AAEE,SAAO;AAAA,IACL;AAAA,IACA,OAAO;AAAA,IACP,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EACJ;AACA;"}