mirror of
https://github.com/flynx/features.js.git
synced 2025-12-25 12:31:58 +00:00
cleanup + tweaking docs...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
a37e9f8cb0
commit
8a44d91c83
90
README.md
90
README.md
@ -1,8 +1,8 @@
|
|||||||
# Features
|
# Features
|
||||||
|
|
||||||
Features is a module that helps build _features_ out of sets of actions
|
`features.js` organizes sets of [actions](https://github.com/flynx/actions.js)
|
||||||
apply them to objects and manage sets of features via external criteria
|
or _objects_ into features, apply them to objects, manage sets of features via
|
||||||
and feature-to-feature dependencies.
|
inter-feature dependencies and external criteria.
|
||||||
|
|
||||||
|
|
||||||
### The main entities:
|
### The main entities:
|
||||||
@ -31,57 +31,57 @@ XXX
|
|||||||
**Feature**
|
**Feature**
|
||||||
```javascript
|
```javascript
|
||||||
feature_set.Feature({
|
feature_set.Feature({
|
||||||
tag: 'minimal_feature_example',
|
tag: 'minimal_feature_example',
|
||||||
})
|
})
|
||||||
|
|
||||||
feature_set.Feature({
|
feature_set.Feature({
|
||||||
// documentation (optional)...
|
// documentation (optional)...
|
||||||
title: 'Example Feature',
|
title: 'Example Feature',
|
||||||
doc: 'A feature to demo the base API...',
|
doc: 'A feature to demo the base API...',
|
||||||
|
|
||||||
// feature unique identifier (required)...
|
// feature unique identifier (required)...
|
||||||
tag: 'feature_example',
|
tag: 'feature_example',
|
||||||
|
|
||||||
// applicability test (optional)
|
// applicability test (optional)
|
||||||
isApplicable: function(){ /* ... */ },
|
isApplicable: function(){ /* ... */ },
|
||||||
|
|
||||||
// feature load priority (optional)
|
// feature load priority (optional)
|
||||||
priority: 'medium',
|
priority: 'medium',
|
||||||
|
|
||||||
// list of feature tags to load if available (optional)
|
// list of feature tags to load if available (optional)
|
||||||
suggested: [],
|
suggested: [],
|
||||||
|
|
||||||
// list of feature tags required to load before this feature (optional)
|
// list of feature tags required to load before this feature (optional)
|
||||||
depends: [],
|
depends: [],
|
||||||
|
|
||||||
// Exclusive tag (optional)
|
// Exclusive tag (optional)
|
||||||
// NOTE: a feature can be a member of more than one exclusive group,
|
// NOTE: a feature can be a member of more than one exclusive group,
|
||||||
// to list more than one use an Array...
|
// to list more than one use an Array...
|
||||||
exclusive: 'Example',
|
exclusive: 'Example',
|
||||||
|
|
||||||
// feature configuration (optional)
|
// feature configuration (optional)
|
||||||
// NOTE: if not present here this will be taken from .actions.config
|
// NOTE: if not present here this will be taken from .actions.config
|
||||||
// NOTE: this takes priority over .actions.config, it is not recommended
|
// NOTE: this takes priority over .actions.config, it is not recommended
|
||||||
// to define both.
|
// to define both.
|
||||||
config: {
|
|
||||||
option: 'value',
|
|
||||||
// ...
|
|
||||||
},
|
|
||||||
|
|
||||||
// actions (optional)
|
|
||||||
actions: Actions({
|
|
||||||
// alternative configuration location...
|
|
||||||
config: {
|
config: {
|
||||||
// ...
|
option: 'value',
|
||||||
}
|
// ...
|
||||||
// ...
|
},
|
||||||
})
|
|
||||||
|
|
||||||
// action handlers (optional)
|
// actions (optional)
|
||||||
handlers: [
|
actions: Actions({
|
||||||
['action.pre', function(){ /* ... */ }],
|
// alternative configuration location...
|
||||||
// ...
|
config: {
|
||||||
]
|
// ...
|
||||||
|
},
|
||||||
|
// ...
|
||||||
|
}),
|
||||||
|
|
||||||
|
// action handlers (optional)
|
||||||
|
handlers: [
|
||||||
|
['action.pre', function(){ /* ... */ }],
|
||||||
|
// ...
|
||||||
|
],
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -93,9 +93,9 @@ XXX
|
|||||||
```javascript
|
```javascript
|
||||||
// meta-feature...
|
// meta-feature...
|
||||||
feature_set.Feature('meta-feature-tag', [
|
feature_set.Feature('meta-feature-tag', [
|
||||||
'suggested-feature-tag',
|
'suggested-feature-tag',
|
||||||
'other-suggested-feature-tag',
|
'other-suggested-feature-tag',
|
||||||
// ...
|
// ...
|
||||||
])
|
])
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
2285
features.js
2285
features.js
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user