extract-featurings
v2.0.0
Published
A module to extracts featurings and the plain title from a title
Downloads
6
Readme
Extract artist featurings
Extract all featurings from a song title, which has one of the following formats:
- "Songtitle (feat. artist1, artist2 & artist3)"
- "Songtitle (featuring artist1, artist2 & artist3)"
Extract all featurings from a artist string, which has on of the following formats:
- "MainArtist feat. FeatArtist1, FeatArtist2 & FeatArtist3"
- "MainArtist featuring FeatArtist1, FeatArtist2 & FeatArtist3"
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Installing
The module has no further productive dependencies.
Install the module with npm to use it in your project.
npm install --production extract-featurings
To change the code or run tests of the module you can install it with its development dependencies:
npm install extract-featurings
Examples
Extract featurings from the song title:
import {TitleFeaturing, readTitleFeaturing} from 'extract-featurings';
const title: string = 'Title (feat. artist1, artist2 & artist3)';
// Extract the featurings from the song title
const featurings: TitleFeaturing = readTitleFeaturing(title);
// Logs the following result:
// featurings = {
// title: 'Title',
// feat: [ 'artist1', 'artist2', 'artist3' ]
// };
console.log(featurings);
Extract featurings from the artist string:
import { ArtistFeaturing, readArtistFeaturing } from 'extract-featurings';
const artist: string 'MainArtist feat. FeatArtist1, FeatArtist2 & FeatArtist3';
// Extract the featurings
const featurings: ArtistFeaturing = readArtistFeaturing(artist);
// Logs the following result
// featurings = {
// artist: 'MainArtist',
// feat: [ 'FeatArtist1', 'FeatArtist2', 'FeatArtist3' ]
// };
console.log(featurings);
Testing the module
To test the module you can use the built in tests. For testing, the frameworks mocha and chai are used. To check the code coverage the framework istanbul is used.
To run the test install all development dependencies, with following command:
npm install extract-featurings
To start the tests run the following command:
gulp test
These test check different combinations of title and embeded featurings and if the output is correct.
Versioning
I use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
License
This project is licensed under the MIT License