Socket
Socket
Sign inDemoInstall

@epistemology-factory/crocks-web

Package Overview
Dependencies
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@epistemology-factory/crocks-web - npm Package Compare versions

Comparing version 0.2.8 to 0.2.9

validation/validators/json.js

2

package.json
{
"name": "@epistemology-factory/crocks-web",
"version": "0.2.8",
"version": "0.2.9",
"description": "Functions to help write web applications with crocks",

@@ -5,0 +5,0 @@ "scripts": {

@@ -7,12 +7,16 @@ "use strict";

// isDefinedFailure :: [String] -> a -> ValidationFailure
const isDefinedFailure = validationFailure(
CONSTRAINTS.IS_DEFINED,
DEFAULT_MESSAGES[CONSTRAINTS.IS_DEFINED]
)
const isDefined = makeValidator(
require("crocks/predicates/isDefined"),
validationFailure(
CONSTRAINTS.IS_DEFINED,
DEFAULT_MESSAGES[CONSTRAINTS.IS_DEFINED]
)
isDefinedFailure
)
module.exports = {
isDefined
isDefined,
isDefinedFailure
}

@@ -6,2 +6,3 @@ "use strict";

IS_ISO_DATE: "is-iso-date",
IS_JSON: "is-json",
IS_OBJECT: "is-object",

@@ -14,2 +15,3 @@ IS_STRING: "is-string",

[CONSTRAINTS.IS_ISO_DATE]: "should be an ISO date",
[CONSTRAINTS.IS_JSON]: "must be valid JSON",
[CONSTRAINTS.IS_OBJECT]: "must be an object",

@@ -16,0 +18,0 @@ [CONSTRAINTS.IS_STRING]: "must be a string",

@@ -71,2 +71,3 @@ "use strict";

// getHeader :: a -> String -> b -> c
const getHeaderOr = curry((value, header) =>

@@ -73,0 +74,0 @@ compose(option(value), getHeader(header))

"use strict";
const bimap = require("crocks/pointfree/bimap");
const compose = require("crocks/helpers/compose");
const constant = require("crocks/combinators/constant");
const converge = require("crocks/combinators/converge");
const curry = require("crocks/helpers/curry");
const flip = require("crocks/combinators/flip");
const identity = require("crocks/combinators/identity");
const pipe = require("crocks/helpers/pipe");
const pipeK = require("crocks/helpers/pipeK");
const { isSchemaValid } = require("../../validation/validators");
const { getPath } = require("@epistemology-factory/crocks-ext/Result");
const { parse } = require("@epistemology-factory/crocks-ext/node/json");
const { invalidJsonFailure } = require("../../validation/validators/json");
const { isSchemaValid, isDefinedFailure } = require("../../validation/validators");
const { validationError } = require("./errors");
// toArray :: a -> [ a ]
const toArray = (x) => [ x ]
const missingBody =
pipe(
compose(toArray, flip(isDefinedFailure, undefined)),
validationError
)
// parseJSON :: [ String ] -> a -> Result Object Object
const parseJSON = curry((path) =>
converge(
flip(bimap, identity),
compose(constant, validationError, toArray, invalidJsonFailure(path)),
parse
)
)
// parseBody :: (a -> Result Object) -> Object -> Result Object
const parseBody = curry((parse) =>
pipeK(
getPath(missingBody, [ "body" ]),
parse([ "body" ])
)
)
// validateRequest :: Schema -> Object -> Result Object

@@ -18,3 +54,5 @@ const validateRequest = (schema) =>

module.exports = {
parseBody,
parseJSON,
validateRequest
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc