Files
hoppscotch/packages/hoppscotch-app/helpers/functional/json.ts
Joel Jacob Stephen fb1da491d8 refactor: realtime log entry revamp (#2240)
Co-authored-by: liyasthomas <liyascthomas@gmail.com>
Co-authored-by: Andrew Bastin <andrewbastin.k@gmail.com>
2022-05-10 02:05:24 +05:30

18 lines
490 B
TypeScript

import * as O from "fp-ts/Option"
import { flow } from "fp-ts/function"
/**
* Checks and Parses JSON string
* @param str Raw JSON data to be parsed
* @returns Option type with some(JSON data) or none
*/
export const safeParseJSON = (str: string): O.Option<object> =>
O.tryCatch(() => JSON.parse(str))
/**
* Checks if given string is a JSON string
* @param str Raw string to be checked
* @returns If string is a JSON string
*/
export const isJSON = flow(safeParseJSON, O.isSome)