UNPKG

js-pmq

Version:

simple NPM package which returns popular movie quotes.

1 lines 1.57 kB
"use strict";var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});const quotes_json_1=__importDefault(require("./quotes.json"));function getRandomNumber(){return Math.floor(Math.random()*quotes_json_1.default.length)}function sortByYear(a,b){return a.year>b.year?1:b.year>a.year?-1:0}function getQuoteByYear(startYear,endYear){return quotes_json_1.default.filter(quote=>quote.year>=startYear&&quote.year<=endYear).sort(sortByYear)}function getRandomQuote(){var randomNumber=getRandomNumber();return quotes_json_1.default[randomNumber].quote}function getSomeRandom(count=1){for(var randomQuotesArray=[],randomQuotesSet=new Set;randomQuotesArray.length<count;){var quote=quotes_json_1.default[getRandomNumber()];randomQuotesSet&&!randomQuotesSet.has(quote)&&randomQuotesArray.push(quote)}return randomQuotesArray}function getQuotesByObject(quote,quoteProperty){let resultArray=[];return quotes_json_1.default.forEach(singleQuote=>{singleQuote[quoteProperty]&&singleQuote[quoteProperty].toLowerCase().includes(quote.toLowerCase())&&resultArray.push(singleQuote)}),resultArray}function getQuotesByMovie(movieName){return getQuotesByObject(movieName,"title")}function getQuotesByType(movieType){return getQuotesByObject(movieType,"type")}function getAll(){return quotes_json_1.default}module.exports={getAll:getAll,getRandomQuote:getRandomQuote,getSomeRandom:getSomeRandom,getQuoteByYear:getQuoteByYear,getQuotesByMovie:getQuotesByMovie,getQuotesByType:getQuotesByType};