From 285dc52264b15af1bebb093dde120ba79067027d Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Tue, 26 May 2020 02:56:35 +0200 Subject: [PATCH] Initial commit --- .gitignore | 1 + README.md | 5 +++++ example.js | 11 +++++++++++ index.js | 10 ++++++++++ package.json | 17 +++++++++++++++++ yarn.lock | 20 ++++++++++++++++++++ 6 files changed, 64 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 example.js create mode 100644 index.js create mode 100644 package.json create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..69e8f9e --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# @validatem/is-plain-object + +Documentation for this module has not been written yet. By the time it reaches 1.0.0, it will have full documentation. + +In the meantime, check out the `example.js` file in the repository for a usage demonstration. diff --git a/example.js b/example.js new file mode 100644 index 0000000..6c0051e --- /dev/null +++ b/example.js @@ -0,0 +1,11 @@ +"use strict"; + +const { validateValue } = require("@validatem/core"); /* FIXME: Add to devDependencies */ +const isPlainObject = require("./"); + +console.log(validateValue({ foo: "bar" }, [ isPlainObject ])); // { foo: 'bar' } + +console.log(validateValue(new Date(), [ isPlainObject ])); /* + AggregrateValidationError: One or more validation errors occurred: + - At (root): Must be a plain object (eg. object literal) +*/ diff --git a/index.js b/index.js new file mode 100644 index 0000000..3fd47a9 --- /dev/null +++ b/index.js @@ -0,0 +1,10 @@ +"use strict"; + +const ValidationError = require("@validatem/error"); +const isPlainObj = require("is-plain-obj"); + +module.exports = function(value) { + if (!isPlainObj(value)) { + throw new ValidationError("Must be a plain object (eg. object literal)"); + } +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..76fc482 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "@validatem/is-plain-object", + "description": "Validatem validator for ensuring that a value is a plain object (eg. object literal)", + "keywords": [ + "validatem", + "validator" + ], + "version": "0.1.0", + "main": "index.js", + "repository": "http://git.cryto.net/validatem/is-plain-object.git", + "author": "Sven Slootweg ", + "license": "WTFPL OR CC0-1.0", + "dependencies": { + "@validatem/error": "^1.0.0", + "is-plain-obj": "^2.1.0" + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..155af41 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,20 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@validatem/error@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@validatem/error/-/error-1.0.0.tgz#a975904aa4c3e7618d89088a393567a5e1778340" + integrity sha512-7M3tV4DhCuimuCRdC2L/topBByDjhzspzeQGNU0S4/mdn2aDNtESYE43K/2Kh/utCAhqXh2gyw89WYxy//t3fQ== + dependencies: + create-error "^0.3.1" + +create-error@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/create-error/-/create-error-0.3.1.tgz#69810245a629e654432bf04377360003a5351a23" + integrity sha1-aYECRaYp5lRDK/BDdzYAA6U1GiM= + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==