"use strict"; const React = require("react"); const { validateArguments } = require("@validatem/core"); const required = require("@validatem/required"); const isString = require("@validatem/is-string"); const isBoolean = require("@validatem/is-boolean"); const defaultTo = require("@validatem/default-to"); const oneOf = require("@validatem/one-of"); module.exports = function Module(props_) { // TODO: Move this wrapper into a module, `validate-react-props` let [ props ] = validateArguments(arguments, [ [ "props", { name: [ required, isString ], url: [ isString, defaultTo(`https://www.npmjs.com/package/@validatem/${props_.name}`) ], type: [ required, oneOf([ "validator", "combinator", "plumbing" ]) ], validates: [ isString ], thirdParty: [ isBoolean, defaultTo(false) ] }], [ "_" ], [ "_" ] ]); // let url = defaultValue(props.url, `https://www.npmjs.com/package/@validatem/${props.name}`); return ( {props.name} Type: {props.type} {(props.validates != null) ? Validates: {props.validates} : null } {(props.thirdParty === true) ? Third-party : Maintained by core! } ); };