Socket
Socket
Sign inDemoInstall

abstract-definer

Package Overview
Dependencies
1
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    abstract-definer

一个抽象物定义器


Version published
Weekly downloads
1
Maintainers
1
Created
Weekly downloads
 

Readme

Source

abstract-definer

一个抽象物定义器

module abstractDefiner

一个抽象对象生成器(Constructor or Class)定义工具。

method create

从本类创建一个新的类。

abstractDefiner.create(function(本类的原型, 父类的构造器, 父类的原型){
 function 本类的构造器(){}
 return 本类的构造器;
});
method makeCreator

产生一个像 create 一样的新类创建(继承)工具。

abstractDefiner.create 等价于 makeCreator(Object),新类自动带有 create 方法。

  • 入参 [ 父类, [options:{autoWrap}] ]
    • options.autoWrap : 是否自动包裹新类的构造器,包裹用来自动调用父类的构造器。
method noop

空方法

method overwrite

定义 XX 时会报错没有定义 pick 方法。

var NN = abstractDefiner.create(function(proto){
   proto.pick = abstractDefiner.overwrite(function(id){
     // 用来描述需要被重写的方法,并且提供伪代码描述能力
     if(last){
         clear(last)
     }
     pickNew(id);
   });
});

var XX = NN.create(function(proto){
  // 没有定义 pick
});
method check

也是对新类的原型进行检查使用(就像 overwrite)

proto.xxx = abstractDefiner.check(function(字段名,实现原型的属性,实现的原型对象){
     进行一些检查,不过就直接 throw new Error
});

FAQs

Last updated on 11 Sep 2014

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc