UNPKG

@shko.online/dataverse-odata

Version:

This package will help parse OData strings (only the Microsoft Dataverse subset). It can be used as a validator, or you can build some javascript library which consumes the output of this library.

26 lines (23 loc) 747 B
import type { ODataQuery, ODataSavedQuery, ODataUserQuery } from './OData.types'; import { isGuid } from './validators/isGuid'; import { recognizedGuid } from './validators/recognizedGuid'; /** * Parses the {@link ODataSavedQuery.savedQuery savedQuery} or * {@link ODataUserQuery.userQuery userQuery} query * @returns Returns `false` when the parse has an error */ export const getXQueryFromParser = ( X: 'savedQuery' | 'userQuery', parser: URLSearchParams, result: ODataQuery, ): boolean => { const value = parser.getAll(X); if (value.length === 0) { return true; } if (!recognizedGuid(value, result) || !isGuid(value, result)) { return false; } result[X] = value[0]; return true; };