-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b2319d0
commit 6f0aa78
Showing
5 changed files
with
119 additions
and
98 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
const POSTS_COUNT = 25; | ||
const AVATAR_MIN_COUNT = 1; | ||
const AVATAR_MAX_COUNT = 25; | ||
const LIKES_MIN_COUNT = 15; | ||
const LIKES_MAX_COUNT = 200; | ||
const COMMENT_MIN_COUNT = 0; | ||
const COMMENT_MAX_COUNT = 30; | ||
const COMMENT_MAX_ID = 500000; | ||
|
||
const COMENT_NAMES = [ | ||
'Анна', | ||
'Александр', | ||
'Светлана', | ||
'Юра', | ||
'Сергей', | ||
'Полина', | ||
'Олег', | ||
'Андрей', | ||
'Юля', | ||
'Анастасия', | ||
'Соня', | ||
'Татьяна', | ||
'Алексей', | ||
'Артем', | ||
'Вера', | ||
'Ирина', | ||
'Николай', | ||
'Ева', | ||
'Ольга', | ||
'Алиса' | ||
]; | ||
|
||
const POSTS_COMMENTS = [ | ||
'Всё отлично!', | ||
'В целом всё неплохо. Но не всё.', | ||
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', | ||
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', | ||
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', | ||
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' | ||
]; | ||
|
||
const DESCRIPTIONS = [ | ||
'Моя жизнь меняется, потому что меняю ее я.', | ||
'Не слушай никого, лишь твое сердце, оно все знает.', | ||
'Чтобы достичь новых берегов, мы должны плыть, а не дрейфовать.', | ||
'Навстречу новым приключениям.', | ||
'Каждое мгновенье жизни — еще одна возможность.', | ||
'Пусть эта фотография будет здесь', | ||
'Одна хорошая мысль утром меняет смысл целого дня.', | ||
'Как мало нужно для счастья.', | ||
'Этой фотографии описание не нужно' | ||
]; | ||
|
||
export {POSTS_COUNT, AVATAR_MIN_COUNT, AVATAR_MAX_COUNT, LIKES_MIN_COUNT, LIKES_MAX_COUNT, COMMENT_MIN_COUNT, COMMENT_MAX_COUNT, COMMENT_MAX_ID, COMENT_NAMES, POSTS_COMMENTS, DESCRIPTIONS}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
import { | ||
POSTS_COUNT, AVATAR_MIN_COUNT, AVATAR_MAX_COUNT, LIKES_MIN_COUNT, LIKES_MAX_COUNT, COMMENT_MIN_COUNT, COMMENT_MAX_COUNT, COMMENT_MAX_ID, COMENT_NAMES, POSTS_COMMENTS, DESCRIPTIONS | ||
} from './constant.js'; | ||
|
||
import { | ||
getRandomInteger, getUniqueInteger, getRandomArrayElement | ||
} from './utils.js'; | ||
|
||
const randomPostId = getUniqueInteger(1, POSTS_COUNT); | ||
const randomPostUrl = getUniqueInteger(1, POSTS_COUNT); | ||
const randomCommentID = getUniqueInteger(1, COMMENT_MAX_ID); | ||
|
||
const createPost = () => { | ||
|
||
const randomPostDescription = getRandomArrayElement(DESCRIPTIONS); | ||
|
||
const createComment = () => ({ | ||
'id': randomCommentID, | ||
'avatar': `img/avatar-${getRandomInteger(AVATAR_MIN_COUNT,AVATAR_MAX_COUNT)}.svg`, | ||
'message': getRandomArrayElement(POSTS_COMMENTS), | ||
'name': getRandomArrayElement(COMENT_NAMES), | ||
}); | ||
|
||
return { | ||
'id': randomPostId(), | ||
'url': `photos/${randomPostUrl()}.jpg`, | ||
'description': randomPostDescription, | ||
'likes': getRandomInteger(LIKES_MIN_COUNT, LIKES_MAX_COUNT), | ||
'comments': Array.from({length: getRandomInteger(COMMENT_MIN_COUNT, COMMENT_MAX_COUNT)}, createComment), | ||
}; | ||
}; | ||
|
||
const randomPosts = () => Array.from({ length: POSTS_COUNT }, createPost); | ||
|
||
export {randomPosts}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,100 +1,3 @@ | ||
const POSTS_COUNT = 25; | ||
|
||
const COMENT_NAMES = [ | ||
'Анна', | ||
'Александр', | ||
'Светлана', | ||
'Юра', | ||
'Сергей', | ||
'Полина', | ||
'Олег', | ||
'Андрей', | ||
'Юля', | ||
'Анастасия', | ||
'Соня', | ||
'Татьяна', | ||
'Алексей', | ||
'Артем', | ||
'Вера', | ||
'Ирина', | ||
'Николай', | ||
'Ева', | ||
'Ольга', | ||
'Алиса' | ||
]; | ||
|
||
const POSTS_COMMENTS = [ | ||
'Всё отлично!', | ||
'В целом всё неплохо. Но не всё.', | ||
'Когда вы делаете фотографию, хорошо бы убирать палец из кадра. В конце концов это просто непрофессионально.', | ||
'Моя бабушка случайно чихнула с фотоаппаратом в руках и у неё получилась фотография лучше.', | ||
'Я поскользнулся на банановой кожуре и уронил фотоаппарат на кота и у меня получилась фотография лучше.', | ||
'Лица у людей на фотке перекошены, как будто их избивают. Как можно было поймать такой неудачный момент?!' | ||
]; | ||
|
||
const DESCRIPTIONS = [ | ||
'Моя жизнь меняется, потому что меняю ее я.', | ||
'Не слушай никого, лишь твое сердце, оно все знает.', | ||
'Чтобы достичь новых берегов, мы должны плыть, а не дрейфовать.', | ||
'Навстречу новым приключениям.', | ||
'Каждое мгновенье жизни — еще одна возможность.', | ||
'Пусть эта фотография будет здесь', | ||
'Одна хорошая мысль утром меняет смысл целого дня.', | ||
'Как мало нужно для счастья.', | ||
'Этой фотографии описание не нужно' | ||
]; | ||
|
||
const getRandomInteger = (a, b) => { | ||
const lower = Math.ceil(Math.min(a, b)); | ||
const upper = Math.floor(Math.max(a, b)); | ||
const result = Math.random() * (upper - lower + 1) + lower; | ||
|
||
return Math.floor(result); | ||
}; | ||
|
||
function getUniqueInteger (min,max) { | ||
const previousValues = []; | ||
|
||
return function () { | ||
if (previousValues.length >= (max - min + 1)) { | ||
return null; | ||
} | ||
let currentValue = getRandomInteger(min, max); | ||
while (previousValues.includes(currentValue)) { | ||
currentValue = getRandomInteger(min, max); | ||
} | ||
previousValues.push(currentValue); | ||
|
||
return currentValue; | ||
}; | ||
} | ||
|
||
const getRandomArrayElement = (elements) => elements[getRandomInteger(0, elements.length - 1)]; | ||
|
||
const randomPostId = getUniqueInteger(1, 25); | ||
const randomPostUrl = getUniqueInteger(1, 25); | ||
const randomCommentID = getUniqueInteger(1, 500000); | ||
|
||
const createPost = () => { | ||
|
||
const randomPostDescription = getRandomArrayElement(DESCRIPTIONS); | ||
|
||
const createComment = () => ({ | ||
'id': randomCommentID, | ||
'avatar': `img/avatar-${getRandomInteger(1, 6)}.svg`, | ||
'message': getRandomArrayElement(POSTS_COMMENTS), | ||
'name': getRandomArrayElement(COMENT_NAMES), | ||
}); | ||
|
||
return { | ||
'id': randomPostId(), | ||
'url': `photos/${randomPostUrl()}.jpg`, | ||
'description': randomPostDescription, | ||
'likes': getRandomInteger(15, 200), | ||
'comments': Array.from({length: getRandomInteger(0, 30)}, createComment), | ||
}; | ||
}; | ||
|
||
const randomPosts = Array.from({length: POSTS_COUNT}, createPost); | ||
import {randomPosts} from './data.js'; | ||
|
||
console.log(randomPosts); | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
const getRandomInteger = (a, b) => { | ||
const lower = Math.ceil(Math.min(a, b)); | ||
const upper = Math.floor(Math.max(a, b)); | ||
const result = Math.random() * (upper - lower + 1) + lower; | ||
|
||
return Math.floor(result); | ||
}; | ||
|
||
function getUniqueInteger (min,max) { | ||
const previousValues = []; | ||
|
||
return function () { | ||
if (previousValues.length >= (max - min + 1)) { | ||
return null; | ||
} | ||
let currentValue = getRandomInteger(min, max); | ||
while (previousValues.includes(currentValue)) { | ||
currentValue = getRandomInteger(min, max); | ||
} | ||
previousValues.push(currentValue); | ||
|
||
return currentValue; | ||
}; | ||
} | ||
|
||
const getRandomArrayElement = (elements) => elements[getRandomInteger(0, elements.length - 1)]; | ||
|
||
export {getRandomInteger, getUniqueInteger, getRandomArrayElement}; |