update-section
Updates a section inside a file with newer content while removing the old content.
var updateSection = ; var original = '# Some Project' '' 'Does a bunch of things' '' 'START -- GENERATED GOODNESS' 'this was painstakingly generated' 'as was this' 'END -- GENERATED GOODNESS' '' '' '## The End' '' 'Til next time'; var update = 'START -- GENERATED GOODNESS' 'this was painstakingly re-generated' 'and we added another line' 'here' 'END -- GENERATED GOODNESS'; { return /START -- GENERATED GOODNESS/; } { return /END -- GENERATED GOODNESS/; } var updated = ;console;
Output
# Some Project
Does a bunch of things
START -- GENERATED GOODNESS
this was painstakingly re-generated
and we added another line
here
END -- GENERATED GOODNESS
## The End
Til next time
Installation
npm install update-section
API
updateSection(content, section, matchesStart, matchesEnd)
/**
* Updates the content with the given section.
*
* If previous section is found it is replaced.
* Otherwise the section is appended to the end of the content.
*
* @name updateSection
* @function
* @param {String} content that may or may not include a previously added section
* @param {String} section the section to update
* @param {Function} matchesStart when called with a line needs to return true iff it is the section start line
* @param {Function} matchesEnd when called with a line needs to return true iff it is the section end line
* @return {String} content with updated section
*/
License
MIT
-
updateSection(content, section, matchesStart, matchesEnd, top) → {String}
-
Updates the content with the given section.
If previous section is found it is replaced. Otherwise the section is appended to the end of the content.
Parameters:
Name Type Description content
String that may or may not include a previously added section
section
String the section to update
matchesStart
function when called with a line needs to return true iff it is the section start line
matchesEnd
function when called with a line needs to return true iff it is the section end line
top
boolean forces the section to be added at the top of the content if a replacement couldn't be made
- Source:
Returns:
content with updated section
- Type
- String
-
updateSection::parse(lines, matchesStart, matchesEnd) → {object}
-
Finds the start and end lines that match the given criteria. Used by update-section itself.
Use it if you need to get information about where the matching content is located.
Parameters:
Name Type Description lines
Array.<string> the lines in which to look for matches
matchesStart
function when called with a line needs to return true iff it is the section start line
matchesEnd
function when called with a line needs to return true iff it is the section end line
- Source:
Returns:
with the following properties: hasStart, hasEnd, startIdx, endIdx
- Type
- object
generated with docme