MCPcopy Create free account
hub / github.com/effect-app/libs / isJson

Function isJson

repos/effect/packages/effect/src/SchemaAST.ts:3859–3898  ·  view source on GitHub ↗
(u: unknown)

Source from the content-addressed store, hash-verified

3857 return ast
3858 case "Number":
3859 case "Literal":
3860 case "BigInt":
3861 return ast.toCodecStringTree()
3862 case "Union":
3863 return ast.recur(partFromString)
3864 }
3865})
3866
3867/**
3868 * any string, including newlines
3869 * @internal
3870 */
3871export const STRING_PATTERN = "[\\s\\S]*?"
3872
3873const isStringFiniteRegExp = new globalThis.RegExp(`^${FINITE_PATTERN}$`)
3874
3875const isStringNumberRegExp = new globalThis.RegExp(`^(?:${FINITE_PATTERN}|Infinity|-Infinity|NaN)$`)
3876
3877/** @internal */
3878export function isStringFinite(annotations?: Schema.Annotations.Filter) {
3879 return isPattern(
3880 isStringFiniteRegExp,
3881 {
3882 expected: "a string representing a finite number",
3883 representation: {
3884 id: "effect/schema/isStringFinite",
3885 payload: null
3886 },
3887 toJsonSchema: () => ({ pattern: isStringFiniteRegExp.source }),
3888 ...annotations
3889 }
3890 )
3891}
3892
3893const finiteString = appendChecks(string, [isStringFinite()])
3894
3895const finiteToString = new Link(
3896 finiteString,
3897 SchemaTransformation.numberFromString
3898)
3899
3900const numberToString = new Link(
3901 new Union([finiteString, nonFiniteLiterals], "anyOf"),

Callers 1

SchemaAST.tsFile · 0.85

Calls 1

recurFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…