Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hirokidaichi/namespace-js
javascript simple namespace module
https://github.com/hirokidaichi/namespace-js
Last synced: 15 days ago
JSON representation
javascript simple namespace module
- Host: GitHub
- URL: https://github.com/hirokidaichi/namespace-js
- Owner: hirokidaichi
- Created: 2010-05-04T03:13:44.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2014-03-09T05:04:33.000Z (over 10 years ago)
- Last Synced: 2024-10-29T13:53:39.954Z (22 days ago)
- Language: JavaScript
- Homepage:
- Size: 193 KB
- Stars: 43
- Watchers: 5
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
namespace-js
===========namespace-jsは遅延評価可能なシンプルなネームスペースライブラリです。
名前空間の定義、Dot Syntaxによる名前空間の階層表現、モジュールのエクスポートを行えます。Example
--------
### 名前空間の定義Namespaceオブジェクトに名前空間名を定義します
```javascript
Namespace('namespace.string')
```defineメソッドに上記名前空間に定義する処理を記述します
```javascript
.define(function(namespaceObject))
``````javascript:sample_namespace.js
Namespace('com.example.application')
.define(function(ns){
// 処理
ns.provide({
foo: function(){return "foo"},
bar: function(){return "bar"}
});
});
```### 実行
applyをすることで評価されます。
使用するネームスペースはuseメソッドを実行することでNamespaceObjectにattachが行われます```javascript:apply_namespace.js
Namespace
.use('com.example.application foo,bar')
.apply(function(ns){
console.log(ns.foo());
console.log(ns.bar());
});
```attachする要素を定義しない場合、Namespace のDot Syntaxで操作が可能になります
```javascript:apply_namespace2.js
Namespace
.use('com.example.application')
.apply(function(ns){
console.log(ns.com.example.application.foo());
console.log(ns.com.example.application.bar());
});
```Download
--------