Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.2.2 #63

Merged
merged 1 commit into from
Jan 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "snapple-facts",
"version": "2.2.1",
"version": "2.2.2",
"description": "Every Snapple Fact",
"main": "./src/index.js",
"scripts": {
Expand Down
13 changes: 6 additions & 7 deletions src/functions/getFactByNumber/getFactByNumber.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
/**
* Retrieves a SnappleFact by its number.
* @param {Object} args - The arguments for retrieving the SnappleFact.
Expand All @@ -8,10 +8,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
* @returns {SnappleFact | undefined} - The SnappleFact matching the provided number, or undefined if not found.
* @throws {Error} - Throws an error if the provided number is invalid.
*/
const GetFactByNumber = (args) => {
const { snappleFacts, number } = args;
if (number < 1 || number > snappleFacts.length)
throw new Error('Invalid number');
return snappleFacts.find(fact => fact.number === number);
const GetFactByNumber = args => {
const { snappleFacts, number } = args;
if (number < 1 || number > snappleFacts.length) throw new Error('Invalid number');
return snappleFacts.find(fact => fact.number === number);
};
exports.default = GetFactByNumber;
44 changes: 23 additions & 21 deletions src/functions/getFactByNumber/tests/getFactByNumber.test.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const getFactByNumber_1 = __importDefault(require("../getFactByNumber"));
'use strict';
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, '__esModule', { value: true });
const getFactByNumber_1 = __importDefault(require('../getFactByNumber'));
describe('getFactByNumber', () => {
it('should return a fact for a valid number', () => {
const snappleFacts = [
{ number: 1, fact: 'fact 1' },
{ number: 2, fact: 'fact 2' },
];
const fact = (0, getFactByNumber_1.default)({ snappleFacts, number: 1 });
expect(fact).toEqual({ number: 1, fact: 'fact 1' });
});
it('should throw an error for an invalid number', () => {
const snappleFacts = [
{ number: 1, fact: 'fact 1' },
{ number: 2, fact: 'fact 2' },
];
expect(() => (0, getFactByNumber_1.default)({ snappleFacts, number: 3 })).toThrow('Invalid number');
});
it('should return a fact for a valid number', () => {
const snappleFacts = [
{ number: 1, fact: 'fact 1' },
{ number: 2, fact: 'fact 2' },
];
const fact = (0, getFactByNumber_1.default)({ snappleFacts, number: 1 });
expect(fact).toEqual({ number: 1, fact: 'fact 1' });
});
it('should throw an error for an invalid number', () => {
const snappleFacts = [
{ number: 1, fact: 'fact 1' },
{ number: 2, fact: 'fact 2' },
];
expect(() => (0, getFactByNumber_1.default)({ snappleFacts, number: 3 })).toThrow('Invalid number');
});
});
16 changes: 9 additions & 7 deletions src/functions/getFacts/getFacts.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const snappleFacts_1 = __importDefault(require("../../snappleFacts"));
'use strict';
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, '__esModule', { value: true });
const snappleFacts_1 = __importDefault(require('../../snappleFacts'));
/**
* Retrieves an array of Snapple facts.
* @returns {SnappleFact[]} An array of Snapple facts.
*/
const GetFacts = () => {
return snappleFacts_1.default;
return snappleFacts_1.default;
};
exports.default = GetFacts;
46 changes: 24 additions & 22 deletions src/functions/getFacts/tests/getFacts.test.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const getFacts_1 = __importDefault(require("../getFacts"));
'use strict';
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, '__esModule', { value: true });
const getFacts_1 = __importDefault(require('../getFacts'));
describe('GetFacts', () => {
it('should return an array of SnappleFacts', () => {
const facts = (0, getFacts_1.default)();
expect(facts.length).toBeGreaterThan(0);
});
it('should return an array of SnappleFacts with numbers', () => {
const facts = (0, getFacts_1.default)();
expect(facts[0].number).toBeDefined();
});
it('should return an array of SnappleFacts with facts', () => {
const facts = (0, getFacts_1.default)();
expect(facts[0].fact).toBeDefined();
});
it('should return an array of SnappleFacts with sources', () => {
const facts = (0, getFacts_1.default)();
expect(facts[0].fact).toBeDefined();
});
it('should return an array of SnappleFacts', () => {
const facts = (0, getFacts_1.default)();
expect(facts.length).toBeGreaterThan(0);
});
it('should return an array of SnappleFacts with numbers', () => {
const facts = (0, getFacts_1.default)();
expect(facts[0].number).toBeDefined();
});
it('should return an array of SnappleFacts with facts', () => {
const facts = (0, getFacts_1.default)();
expect(facts[0].fact).toBeDefined();
});
it('should return an array of SnappleFacts with sources', () => {
const facts = (0, getFacts_1.default)();
expect(facts[0].fact).toBeDefined();
});
});
8 changes: 4 additions & 4 deletions src/functions/listFacts/listFacts.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
/**
* Retrieves an array of fact strings from an array of SnappleFact objects.
*
* @param snappleFacts - An array of SnappleFact objects.
* @returns An array of fact strings.
*/
const ListFacts = (snappleFacts) => {
return snappleFacts.map(fact => fact.fact);
const ListFacts = snappleFacts => {
return snappleFacts.map(fact => fact.fact);
};
exports.default = ListFacts;
46 changes: 24 additions & 22 deletions src/functions/listFacts/tests/listFacts.test.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const listFacts_1 = __importDefault(require("../listFacts"));
'use strict';
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, '__esModule', { value: true });
const listFacts_1 = __importDefault(require('../listFacts'));
describe('ListFacts', () => {
it('should return an array of strings', () => {
const snappleFacts = [
{ fact: 'Fact 1', number: 1 },
{ fact: 'Fact 2', number: 2 },
{ fact: 'Fact 3', number: 3 },
];
const expected = ['Fact 1', 'Fact 2', 'Fact 3'];
const actual = (0, listFacts_1.default)(snappleFacts);
expect(actual).toEqual(expected);
});
it('should return an empty array when given an empty array', () => {
const snappleFacts = [];
const expected = [];
const actual = (0, listFacts_1.default)(snappleFacts);
expect(actual).toEqual(expected);
});
it('should return an array of strings', () => {
const snappleFacts = [
{ fact: 'Fact 1', number: 1 },
{ fact: 'Fact 2', number: 2 },
{ fact: 'Fact 3', number: 3 },
];
const expected = ['Fact 1', 'Fact 2', 'Fact 3'];
const actual = (0, listFacts_1.default)(snappleFacts);
expect(actual).toEqual(expected);
});
it('should return an empty array when given an empty array', () => {
const snappleFacts = [];
const expected = [];
const actual = (0, listFacts_1.default)(snappleFacts);
expect(actual).toEqual(expected);
});
});
20 changes: 11 additions & 9 deletions src/functions/randomFact/randomFact.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const crypto_1 = __importDefault(require("crypto"));
'use strict';
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, '__esModule', { value: true });
const crypto_1 = __importDefault(require('crypto'));
/**
* Retrieves a random SnappleFact from the given array of SnappleFacts.
* @param {SnappleFact[]} snappleFacts - The array of SnappleFacts to choose from.
* @returns {SnappleFact} - A random SnappleFact.
*/
const RandomFact = (snappleFacts) => {
const randomIndex = crypto_1.default.randomInt(0, snappleFacts.length);
return snappleFacts[randomIndex];
const RandomFact = snappleFacts => {
const randomIndex = crypto_1.default.randomInt(0, snappleFacts.length);
return snappleFacts[randomIndex];
};
exports.default = RandomFact;
30 changes: 16 additions & 14 deletions src/functions/randomFact/tests/randomFact.test.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const randomFact_1 = __importDefault(require("../randomFact"));
'use strict';
var __importDefault =
(this && this.__importDefault) ||
function (mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, '__esModule', { value: true });
const randomFact_1 = __importDefault(require('../randomFact'));
describe('RandomFact', () => {
it('should return a random fact', () => {
const snappleFacts = [
{ number: 1, fact: 'fact 1' },
{ number: 2, fact: 'fact 2' },
];
const fact = (0, randomFact_1.default)(snappleFacts);
expect(fact).toBeDefined();
});
it('should return a random fact', () => {
const snappleFacts = [
{ number: 1, fact: 'fact 1' },
{ number: 2, fact: 'fact 2' },
];
const fact = (0, randomFact_1.default)(snappleFacts);
expect(fact).toBeDefined();
});
});
4 changes: 2 additions & 2 deletions src/interfaces/snappleFact.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
Loading
Loading