ObjectModel, 面向JavaScript的强动态类型化对象建模

分享于 

3分钟阅读

GitHub

  繁體 雙語
Runtime Type Checking and Data Model Definition for JavaScript
  • 源代码名称:ObjectModel
  • 源代码网址:http://www.github.com/sylvainpolletvillard/ObjectModel
  • ObjectModel源代码文档
  • ObjectModel源代码下载
  • Git URL:
    git://www.github.com/sylvainpolletvillard/ObjectModel.git
    Git Clone代码到本地:
    git clone http://www.github.com/sylvainpolletvillard/ObjectModel
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/sylvainpolletvillard/ObjectModel
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    面向JavaScript的强动态类型化对象建模

    DownloadsVersionStatusLicense

    这个库是什么?

    pocketcloud打算为你的web应用程序带来强动态类型检查。 与 static 类型的检查解决方案相反,例如 TypeScript 或者流,ebi还可以在运行时验证数据: JSON来自服务器,表单输入,来自localStorage的内容,外部库- -。

    通过权衡 ES6代理,这个库确保你的变量始终匹配你添加到它们的模型定义和验证约束。 由于产生的异常,它将帮助你发现潜在的Bug 并节省你在调试时花费的时间。 ObjectModel也很容易掌握: ,没有学习新语言,没有新工具,没有编译步骤,仅仅是一个简单的,直观的API,在一个简单的旧的JS微型图书馆。

    在运行时验证还带来了许多其他好处: 可以定义自己的类型,在复杂的模型定义中使用它们,使用甚至根据应用程序状态变化的自定义断言。 其实它不仅仅是为了安全。 你自己来看看吧。

    安装

    使用NPM将库添加到项目依赖项:

    $ npm install objectmodel

    或者仅仅从Github下载库。

    基本用法示例

    import { ObjectModel } from"objectmodel"constOrder=newObjectModel({
     product: { name:String, quantity:Number },
     orderDate:Date});constmyOrder=newOrder({
     product: { name:"Apple Pie", quantity:1 },
     orderDate:newDate()
    });myOrder.product.quantity=2; // no exceptions thrownmyOrder.product.quantity=false; //try to assign a Boolean// ❌ TypeError: expecting product.quantity to be Number, got Boolean false

    文档

    有关更多示例,文档和问题,请参考项目网站: objectmodel.js.org

    变更日志和发布历史记录

    请参考 Github发布版本。

    Bug 报告和请求请求欢迎。

    在MIT许可证下发布。 有关更多信息,请参见 LICENSE


    JAVA  Javascript  str  模式  对象  type  
    相关文章