[Node.js] Introduction to apiCheck.js

timeoutLog.js:

var apiCheckFactory = require(‘api-check‘);

var myCheck = apiCheckFactory();

module.exports = timeoutLog;

var api = [
  myCheck.number,
  myCheck.shape({
    name: myCheck.string
  }),
  myCheck.func.optional
];

function timeoutLog(time, person, callback) {
  myCheck.throw(api, arguments);

  setTimeout(function() {
    console.log(‘Time is up for ‘ + person.name + ‘!‘);
    callback && callback(person);
  }, time);
}

index.js:

// just giving me some space...
console.log(‘\n------\n‘);

var timeoutLog = require(‘./timeoutLog‘);

var person = {
  name: ‘Jane‘
};

timeoutLog(300, {name: ‘Joe‘}, function(thePerson) {
  console.log(
    ‘Person is the same? ‘ + (person === thePerson)
  );
});

Error message something like:

Error: apiCheck failed! `Argument 1` passed, `value` at `Argument 2` must be `String`

You passed:
[
  "wHY+jgNSE0HaoLsMgqkF4uGBX33bf6orJcLVGD0MdFx+tPoPnoJ9EreqOxuUixXoEOI2nGwJb8sXFAyrnXSjMpD98OVj0wg2menNJ65LzEtw3YYBsBZ4yzRtI6PD13zUy+R3S7WIhcWI30V+jZShvP5J2rm4=",
  true
]

With the types:
[
  "string",
  "boolean"
]

The API calls for:
[
  "String",
  "String"
]
时间: 2024-11-05 14:38:31

[Node.js] Introduction to apiCheck.js的相关文章

在Node.js上搭建React.js开发环境

1.React.js的介绍: React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图). React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源. React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它. 特点: 1.声明式设计 ?React采用声明范式,可以轻松描述应用. 2.高效 ?React通过对DOM的模拟,最大限

基于 Koa平台Node.js开发的KoaHub.js的控制器,模型,帮助方法自动加载

koahub-loader koahub-loader是基于 Koa平台Node.js开发的KoaHub.js的koahub-loader控制器,模型,帮助方法自动加载 koahub loader Installation $ npm install koahub-loader Use with koa // 1.model loader var model = loader([ {      root: './app/model',      suffix: '.model.js' }, { 

如何快速搭建node.js项目,app.js详解

请参照:https://www.cnblogs.com/yanhua2017/p/6385494.html 前提安装了node.js 1.npm install express express-generator -g 安装express 2.express --hbs myNode 快速构建nodejs项目 myNode3.npm install 安装依赖4.node bin/www || npm start 启动服务   访问localhost:3000   ||   http://loca

node.js如何引用其它js文件

以Java来说,比如要实现第三方存储,我可能需要导入对应的库,以maven为例,使用腾讯云或者七牛云.阿里云,我需要导入对应的maven依赖.再比如,有些时候我们封装某个类,而那个类不在该包下,我们需要导包(就是指定那个类的路径,如果路径不对,则可能出现找不到这个类之类的错误,通常对应的IDE会提示错误). 其实,node.js也是这样的.最近在开发node.js的时候,难免也会遇到需要引入其它js文件.今天我以一个简单示例来说一说node.js如何引用其它js文件. test01.js fun

JS DOM编程艺术——JS图片库2—— JS学习笔记2015-7-9(第80天)

childNodes属性: element.childNodes 它是包含这个元素的全部子元素的数组: nodeType属性: 每一个节点都有nodeType属性,这个属性可以让我们知道自己正在与哪种节点打交道 node.nodeType 返回 1 是指该节点为元素节点: 返回 2 是指该节点为属性节点: 返回 3 是指该节点为文本节点: nodeValue属性: node.nodeValue 但是这个属性在实际使用的时候需要配合childNodes才行,详情看例子 firstChild和las

require.js+backbone 使用r.js 来压缩,本地不压缩,生产环境压缩 的实现方式

requie.js 和backbone.js 这里就不说了,可以去看官方文档,都很详细! 但是使用require.js 默认带的压缩方式感觉不是很方便,所以本文主要讲 利用r.js压缩,来实现本地不压缩,生产环境压缩 r.js 是运行在node上的,默认使用UglifyJS.UglifyJS真的很好用,那为什么说默认的方式 不是很方便呢? r.js 单独压缩一个文件也很好用的,但在实际项目中,总不能一个一个压吧!因此r.js提供了一种多文件的压缩方式 ,使用一个叫bulid.js 的配置文件来配

require.js+backbone 使用r.js 在本地与生产环境 一键压缩的实现方式

requie.js 和backbone.js 这里就不说了,能够去看官方文档,都非常具体! 可是使用require.js 默认带的压缩方式感觉不是非常方便,所以本文主要讲 利用r.js压缩,来实现本地不压缩,生产环境压缩 r.js 是执行在node上的,默认使用UglifyJS.UglifyJS真的非常好用,那为什么说默认的方式 不是非常方便呢? r.js 单独压缩一个文件也非常好用的,但在实际项目中.总不能一个一个压吧!因此r.js提供了一种多文件的压缩方式 ,使用一个叫bulid.js 的配

學習 React.js:用 React.js 和 Flux 創建一個簡單的購物車

Creating A Simple Shopping Cart with React.js and Flux Ken Wheeler (@ken_wheeler) 簡介 歡迎來到學習 React 的第四章這也是最後一章!到現在,我們已經學習了怎樣利用 React 的 API 來創建狀態型組件,如何應用它們,以及如何運用臉書的 Flux 架構來工作的 今天我們將把所有的這一切放到一塊,來創建一個簡單的購物車應用.在現在的電商網站上,產品的詳細頁面相互依賴,而 React 有助於簡化並有效的組織它們

基于webpack.config.js和babel.config.js及package.json构建项目的demo

webpack.config.js的内容如下 const HtmlWebpackPlugin = require('html-webpack-plugin'); const Webpack = require("webpack"); const ConcatPlugin = require('webpack-concat-plugin'); const CopyPlugin = require('copy-webpack-plugin'); const Path = require('