mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-07 10:07:48 +00:00
Update fp doc generation.
This commit is contained in:
@@ -1,9 +1,45 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var _ = require('lodash'),
|
||||||
|
fs = require('fs-extra'),
|
||||||
|
path = require('path'),
|
||||||
|
util = require('../common/util');
|
||||||
|
|
||||||
|
var basePath = path.join(__dirname, '..', '..'),
|
||||||
|
docPath = path.join(basePath, 'doc'),
|
||||||
|
readmePath = path.join(docPath, 'FP-Guide.md');
|
||||||
|
|
||||||
|
var mapping = require('../../fp/_mapping'),
|
||||||
|
templatePath = path.join(__dirname, 'template/doc'),
|
||||||
|
template = util.globTemplate(path.join(templatePath, '*.jst'));
|
||||||
|
|
||||||
|
var templateData = {
|
||||||
|
'mapping': mapping,
|
||||||
|
'toFuncList': toFuncList
|
||||||
|
};
|
||||||
|
|
||||||
|
function toFuncList(array) {
|
||||||
|
var chunks = _.chunk(array.slice().sort(), 5),
|
||||||
|
lastChunk = _.last(chunks),
|
||||||
|
last = lastChunk ? lastChunk.pop() : undefined;
|
||||||
|
|
||||||
|
var result = '`' + _.map(chunks, function(chunk) {
|
||||||
|
return chunk.join('`, `') + '`';
|
||||||
|
}).join(',\n`');
|
||||||
|
|
||||||
|
return result + (last == null ? '' : (', & `' + last + '`'));
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
function build(type) {
|
function onComplete(error) {
|
||||||
|
if (error) {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build(_.last(process.argv));
|
function build() {
|
||||||
|
fs.writeFile(readmePath, template.wiki(templateData), onComplete);
|
||||||
|
}
|
||||||
|
|
||||||
|
build();
|
||||||
|
|||||||
@@ -1 +1,65 @@
|
|||||||
|
## lodash/fp
|
||||||
|
|
||||||
|
The lodash/fp module is an instance of lodash with its methods wrapped to produce
|
||||||
|
immutable auto-curried iteratee-first data-last methods.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
In a browser:
|
||||||
|
```html
|
||||||
|
<script src='path/to/lodash.js'></script>
|
||||||
|
<script src='path/to/lodash.fp.js'></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
In Node.js:
|
||||||
|
```js
|
||||||
|
// load the fp build
|
||||||
|
var _ = require('lodash/fp');
|
||||||
|
|
||||||
|
// or a method category
|
||||||
|
var array = require('lodash/fp/object');
|
||||||
|
|
||||||
|
// or method for smaller builds with browserify/rollup/webpack
|
||||||
|
var extend = require('lodash/fp/extend');
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
#### Arity
|
||||||
|
|
||||||
|
Methods with arity capped to one argument:<br>
|
||||||
|
<%= toFuncList(mapping.aryMethod[1]) %>
|
||||||
|
|
||||||
|
Methods with arity capped to two arguments:<br>
|
||||||
|
<%= toFuncList(mapping.aryMethod[2]) %>
|
||||||
|
|
||||||
|
Methods with arity capped to three arguments:<br>
|
||||||
|
<%= toFuncList(mapping.aryMethod[3]) %>
|
||||||
|
|
||||||
|
Methods with arity capped to four arguments:<br>
|
||||||
|
<%= toFuncList(mapping.aryMethod[4]) %>
|
||||||
|
|
||||||
|
#### Iteratees
|
||||||
|
|
||||||
|
Methods which provide iteratees one argument:<br>
|
||||||
|
<%= toFuncList(_.keys(_.pick(mapping.iterateeAry, _.partial(_.eq, _, 1)))) %>
|
||||||
|
|
||||||
|
Methods which provide iteratees two argument:<br>
|
||||||
|
<%= toFuncList(_.keys(_.pick(mapping.iterateeAry, _.partial(_.eq, _, 2)))) %>
|
||||||
|
|
||||||
|
#### New Methods
|
||||||
|
|
||||||
|
Methods created to accommodate Lodash’s variadic methods:<br>
|
||||||
|
<%= toFuncList(_.keys(mapping.remap)) %>
|
||||||
|
|
||||||
|
#### Exceptions
|
||||||
|
|
||||||
|
Methods which have argument order unchanged:<br>
|
||||||
|
<%= toFuncList(_.keys(mapping.skipRearg)) %>
|
||||||
|
|
||||||
|
#### Aliases
|
||||||
|
|
||||||
|
There are <%= _.size(mapping.aliasToReal) %> method aliases:<br>
|
||||||
|
<%= _.map(mapping.aliasToReal, function(realName, alias) {
|
||||||
|
return ' - Added `_.' + alias + '` as an alias of `_.' + realName + '`';
|
||||||
|
}).join('\n') %>
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
"build:main": "node lib/main/build-dist.js",
|
"build:main": "node lib/main/build-dist.js",
|
||||||
"build:main-modules": "node lib/main/build-modules.js",
|
"build:main-modules": "node lib/main/build-modules.js",
|
||||||
"doc": "node lib/main/build-doc github",
|
"doc": "node lib/main/build-doc github",
|
||||||
|
"doc:fp": "node lib/fp/build-doc",
|
||||||
"doc:site": "node lib/main/build-doc site",
|
"doc:site": "node lib/main/build-doc site",
|
||||||
"prepublish": "npm run style",
|
"prepublish": "npm run style",
|
||||||
"pretest": "npm run build",
|
"pretest": "npm run build",
|
||||||
|
|||||||
Reference in New Issue
Block a user