fluently
所属分类:区块链开发
开发工具:JavaScript
文件大小:11KB
下载次数:0
上传日期:2008-04-13 11:24:07
上 传 者:
sh-1993
说明: 流利的、针对JavaScript的Fluent编程(链式方法调用),
(Fluent programming (chained method calls) for JavaScript.
,)
文件列表:
MIT-LICENSE (1060, 2008-04-13)
Rakefile (2117, 2008-04-13)
VERSION (4, 2008-04-13)
agenda.txt (1049, 2008-04-13)
examples (0, 2008-04-13)
examples\jsspec.js (3556, 2008-04-13)
examples\lzmock.js (11411, 2008-04-13)
examples\spec.js (1128, 2008-04-13)
fluently.js (3424, 2008-04-13)
jsspec (0, 2008-04-13)
specs (0, 2008-04-13)
specs\fluently-specs.html (695, 2008-04-13)
specs\fluently-specs.js (3440, 2008-04-13)
= About
Fluently is a JavaScript toolkit for creating FluentInterfaces[http://martinfowler.com/bliki/FluentInterface.html].
I use this to define the mocks, stubs, and expectations in LzTestKit[http://osteele.com/sources/openlaszlo/lztestkit].
= Status
Alpha. I use this in other projects, but it's got a known bug (chained modifiers
ignore all but the last one), and the API isn't final.
= Examples
With Fluently, you can do this:
var o = Fluently.make(function(define) {
define('fn1', function() {console.info('called fn1')});
define('fn2', function() {console.info('called fn2')});
define('fn3', function() {return 3});
});
to define an object with chained methods, that can be invoked thus:
o.fn1().fn2() // calls fn1 and then fn2
o.fn2().fn1() // calls fn2 and then fn1
o.fn1().fn3() // returns 3 (an explicit 'return' breaks the chain)
You can also define modifiers, and aliases:
var o = Fluently.make(function(define) {
define('fn1', function() {console.info('called fn1')});
define('fn2', function() {console.info('called fn2')});
define.empty('and');
define.alias('fn3', 'fn1');
define.modifier('not');
});
o.fn3(); // same as o.fn1()
o.fn1().and.fn2() // same as o.fn1().fn2()
o.fn1().and.not.fn2() // options.not is set when fn2 is called
I've extracted a couple of files, from LzTestKit, into the examples[http://osteele.com/sources/javascript/fluently/examples/]
directory. These don't run on their own, but at least they show the
code in use.
You can also see a range of examples by viewing the specs[http://osteele.com/sources/javascript/fluently/specs/fluently-specs.js].
= Download
Get it here: {download-location}.
= License
Fluently is licensed under the MIT License.
This package includes a distribution of jsspec, which is licensed under the LGPL.
近期下载者:
相关文件:
收藏者: