body-parser-jumbo

Node.js body parsing middleware for BigInt.

Parsen Sie eingehende Request Bodies in einer Middleware vor Ihren Handlern, verfügbar unter der req.body Eigenschaft.

Hinweis Da die Form von req.body auf benutzergesteuerten Eingaben basiert, sind alle Eigenschaften und Werte in diesem Objekt nicht vertrauenswürdig und sollten vor der Verwendung validiert werden. So kann req.body.foo.toString() in mehrfacher Hinsicht fehlschlagen, z. B. ist die Eigenschaft foo möglicherweise nicht vorhanden oder keine Zeichenkette, und toString ist möglicherweise keine Funktion und stattdessen eine Zeichenkette oder eine andere Benutzereingabe.

Installation

$ npm i body-parser-jumbo

API

var bodyParser = require('body-parser-jumbo')

Die bodyParserJumbo basiert auf Douglas Crockford JSON.js Paket und bignumber.js Bibliothek.

Native Bigint wurde kürzlich zu JS hinzugefügt, so dass wir eine Option hinzugefügt haben, um es anstelle von bignumber.js zu nutzen. Das Parsen mit nativem BigInt wird jedoch aus Gründen der Rückwärtskompatibilität als Option beibehalten.

Während die meisten JSON-Parser davon ausgehen, dass numerische Werte dieselben Präzisionsbeschränkungen haben wie IEEE 754 double, sagt die JSON-Spezifikation nichts über die Zahlengenauigkeit aus. Jede Gleitkommazahl in dezimaler (optional wissenschaftlicher) Notation ist ein gültiger JSON-Wert. Es ist eine gute Idee, Werte, die aus der IEEE-754-Ganzzahlpräzision herausfallen könnten, als Strings in Ihrer JSON-Api zu serialisieren, aber { "value" : 9223372036854775807} ist zum Beispiel immer noch ein gültiger RFC4627-JSON-String, und in den meisten JS-Laufzeiten ist das Ergebnis von JSON.parse dieses Objekt: { value: 9223372036854776000 }

Lizenz

MIT

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.