From 7aa11b7a8abacf81dec20fff21216df35d333756 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 27 Jul 2025 18:50:33 -0700 Subject: Pulls in pengueno from npm --- u/server/filter/json.ts | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 u/server/filter/json.ts (limited to 'u/server/filter/json.ts') diff --git a/u/server/filter/json.ts b/u/server/filter/json.ts deleted file mode 100644 index bc53d47..0000000 --- a/u/server/filter/json.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { - Either, - type IEither, - type ITraceable, - LogLevel, - Metric, - PenguenoError, - type PenguenoRequest, - type RequestFilter, - type ServerTrace, - TraceUtil, -} from '@emprespresso/pengueno'; - -export interface JsonTransformer { - (json: ITraceable): IEither; -} - -const ParseJsonMetric = Metric.fromName('JsonParse').asResult(); -export const jsonModel = - (jsonTransformer: JsonTransformer): RequestFilter => - (r: ITraceable) => - r - .flatMap(TraceUtil.withFunctionTrace(jsonModel)) - .flatMap(TraceUtil.withMetricTrace(ParseJsonMetric)) - .map((j) => - Either.fromFailableAsync(>j.get().req.json()).then((either) => - either.mapLeft((errReason) => { - j.trace.traceScope(LogLevel.WARN).trace(errReason); - return new PenguenoError('seems to be invalid JSON (>//<) can you fix?', 400); - }), - ), - ) - .flatMapAsync(TraceUtil.promiseify(TraceUtil.traceResultingEither(ParseJsonMetric))) - .map( - TraceUtil.promiseify((traceableEitherJson) => - traceableEitherJson - .get() - .mapRight((j) => traceableEitherJson.move(j)) - .flatMap(jsonTransformer), - ), - ) - .get(); -- cgit v1.2.3-70-g09d2