Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2021-06-03 16:50:58 +03:00
parent 8a44d91c83
commit d10e042e74

View File

@ -1,16 +1,49 @@
# Features # `features.js`
`features.js` organizes sets of [actions](https://github.com/flynx/actions.js) `features.js` organizes sets of [actions](https://github.com/flynx/actions.js)
or _objects_ into features, apply them to objects, manage sets of features via or _object methods_ into features, applies them, manages merging of features via
inter-feature dependencies and external criteria. inter-feature dependencies and external criteria.
### The main entities: - [`features.js`](#featuresjs)
- [Basics](#basics)
- [Organizational structure](#organizational-structure)
- [Lifecycle](#lifecycle)
- [How features are loaded](#how-features-are-loaded)
- [The main entities:](#the-main-entities)
- [`FeatureSet(..)`](#featureset)
- [`Feature(..)`](#feature)
- [Meta-features](#meta-features)
**FeatureSet (Features)**
## Basics
```javascript ```javascript
var feature_set = new FeatureSet() var features = require('ig-features')
```
### Organizational structure
<!-- XXX -->
### Lifecycle
<!-- XXX -->
### How features are loaded
<!-- XXX algorithm(s) -->
## The main entities:
### `FeatureSet(..)`
```javascript
var feature_set = new features.FeatureSet()
// define features... // define features...
@ -19,16 +52,17 @@ var feature_set = new FeatureSet()
// setup features... // setup features...
feature_set feature_set
.setup([ .setup([
'feature-tag', 'feature-tag',
//... //...
]) ])
``` ```
XXX XXX
**Feature** ### `Feature(..)`
```javascript ```javascript
feature_set.Feature({ feature_set.Feature({
tag: 'minimal_feature_example', tag: 'minimal_feature_example',
@ -89,7 +123,8 @@ XXX
**Meta-features** ### Meta-features
```javascript ```javascript
// meta-feature... // meta-feature...
feature_set.Feature('meta-feature-tag', [ feature_set.Feature('meta-feature-tag', [