refactor: ts formatter (#210)

Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>
This commit is contained in:
Grant Timmerman 2020-06-08 10:39:38 -07:00 committed by GitHub
parent 9857eda5ef
commit 90782a9e17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 9 deletions

View File

@ -1,9 +1,11 @@
class Base64Parser { class Base64Parser {
constructor(decorator) { decorator: any;
constructor(decorator: any) {
this.decorator = decorator; this.decorator = decorator;
} }
parse(payload) { parse(payload: any): any {
let payloadToParse = payload; let payloadToParse = payload;
if (this.decorator) { if (this.decorator) {
payloadToParse = this.decorator.parse(payload); payloadToParse = this.decorator.parse(payload);

View File

@ -3,13 +3,13 @@ class JSONFormatter {
* Every internal data structure is JSON by nature, so * Every internal data structure is JSON by nature, so
* no transformation is required * no transformation is required
*/ */
format(payload) { format(payload: any) {
return payload; return payload;
} }
toString(payload) { toString(payload: any) {
return JSON.stringify(payload); return JSON.stringify(payload);
} }
} }
module.exports = JSONFormatter; export default JSONFormatter;

View File

@ -2,16 +2,17 @@ const {
isString, isString,
isDefinedOrThrow, isDefinedOrThrow,
isStringOrObjectOrThrow isStringOrObjectOrThrow
} = require("../../bindings/http/validation/fun.js"); } = require("../../bindings/http/validation/fun");
const ValidationError = require("../../bindings/http/validation/validation_error.js"); const ValidationError = require("../../bindings/http/validation/validation_error.js");
const invalidPayloadTypeError = new ValidationError("invalid payload type, allowed are: string or object"); const invalidPayloadTypeError = new ValidationError("invalid payload type, allowed are: string or object");
const nullOrUndefinedPayload = new ValidationError("null or undefined payload"); const nullOrUndefinedPayload = new ValidationError("null or undefined payload");
const asJSON = (v) => (isString(v) ? JSON.parse(v) : v); const asJSON = (v: object|string) => (isString(v) ? JSON.parse(v as string) : v);
class JSONParser { class JSONParser {
constructor(decorator) { decorator: any
constructor(decorator: Base64Parser) {
this.decorator = decorator; this.decorator = decorator;
} }
@ -20,7 +21,7 @@ class JSONParser {
* @param {object|string} payload the JSON payload * @param {object|string} payload the JSON payload
* @return {object} the parsed JSON payload. * @return {object} the parsed JSON payload.
*/ */
parse(payload) { parse(payload: object|string) {
if (this.decorator) { if (this.decorator) {
payload = this.decorator.parse(payload); payload = this.decorator.parse(payload);
} }