@directus/sdk
Version:
Directus JavaScript SDK
2 lines • 1.5 kB
JavaScript
const e=require(`./format-fields.cjs`),t=[`fields`,`filter`,`search`,`sort`,`limit`,`offset`,`page`,`deep`,`backlink`,`alias`,`aggregate`,`groupBy`,`version`,`versionRaw`],n=e=>typeof e==`boolean`,r=e=>typeof e==`string`&&!!e,i=e=>typeof e==`number`,a=e=>Array.isArray(e)&&e.length>0,o=e=>typeof e==`object`&&!!e&&!a(e)&&Object.keys(e).length>0,s=s=>{let c={};s.fields&&(a(s.fields)&&(c.fields=e.formatFields(s.fields).join(`,`)),r(s.fields)&&(c.fields=s.fields)),o(s.filter)&&(c.filter=JSON.stringify(s.filter)),r(s.search)&&(c.search=s.search),s.sort&&(a(s.sort)&&(c.sort=s.sort.join(`,`)),r(s.sort)&&(c.sort=s.sort)),`limit`in s&&(i(s.limit)&&s.limit>=-1&&(c.limit=String(s.limit)),r(s.limit)&&(c.limit=s.limit)),`offset`in s&&(i(s.offset)&&s.offset>=0&&(c.offset=String(s.offset)),r(s.offset)&&(c.offset=s.offset)),`page`in s&&(i(s.page)&&s.page>=1&&(c.page=String(s.page)),r(s.page)&&(c.page=s.page)),o(s.deep)&&(c.deep=JSON.stringify(s.deep)),o(s.alias)&&(c.alias=JSON.stringify(s.alias)),o(s.aggregate)&&(c.aggregate=JSON.stringify(s.aggregate)),s.groupBy&&(a(s.groupBy)&&(c.groupBy=s.groupBy.join(`,`)),r(s.groupBy)&&(c.groupBy=s.groupBy)),r(s.version)&&(c.version=s.version),s.versionRaw&&(n(s.versionRaw)&&(c.versionRaw=String(s.versionRaw)),r(s.versionRaw)&&(c.versionRaw=s.versionRaw));for(let[e,n]of Object.entries(s)){if(t.includes(e))continue;let r;r=typeof n==`string`?n:JSON.stringify(n),r&&(c[e]=r)}return c};exports.queryToParams=s;
//# sourceMappingURL=query-to-params.cjs.map