From 38fdd616350232597388bfc523816949aab85622 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=D0=BD?= Date: Tue, 16 Oct 2012 15:54:10 +0600 Subject: [PATCH 1/6] creater event --- Event.js | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Event.js diff --git a/Event.js b/Event.js new file mode 100644 index 0000000..d06e701 --- /dev/null +++ b/Event.js @@ -0,0 +1,108 @@ +function Event() { + return { + /** + * number, "". + */ + startTime : undefined, + /** + * number, "". + */ + endTime : undefined, + /** + *, . + */ + rating : { + /** + * number, . + */ + rating : 0, + /** + * number, , . + */ + numberOfVoters : 0 + }, + /** + *, , . + */ + members : { + /** + * number, , . + */ + numberOfParticipants : 0, + /** + * string, , . + */ + namesOfParticipants : [] + }, + /** + * string, . + */ + link : undefined, + /** + *, . + */ + coordinate : { + /** + * string, , . + */ + city : undefined, + /** + * String, , . + */ + street : undefined, + /** + * number, , . + */ + house : undefined + }, + /** + * . + * + *@param {Number} mark 0 5 . + */ + vote : function (mark) { + if ((mark >= 0) && (mark <= 5)) { + ++this.rating.numberOfVoters; + this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; + } + }, + /** + * . + * + *@param {Number} start . number, , . + * + *@param {Number} end . number, , , , . + * + *@param {String} link , string, . + * + *@param {String} city , , string, coordinate . + * + *@param {String} street , , string, coordinate . + * + *@param {Number} house , , number, coordinate . + */ + createEvent : function (start, end, link, city, street, house) { + if (((typeof start === "number") && (start / 20000000 > 0)) && ((typeof end === "number") && (end / 20000000 > 0) && (end > start))) { + this.startTime = start; + this.endTime = end; + (typeof link === "string") && (this.link = link); + if(((typeof house === "number") && (house > 0)) && (typeof city === "string") && (typeof street === "string")) { + this.coordinate.street = street; + this.coordinate.house = house; + this.coordinate.city = city; + } + } + }, + /** + * . + * + *@param {String} name . + */ + addParticipant : function (name) { + if (typeof name === "string") { + ++this.members.numberOfParticipants; + this.members.namesOfParticipants[this.members.numberOfParticipants] = name; + } + } + }; +} \ No newline at end of file From e196b84bd7f3b6126e9d8c77c86a58a987c55255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=D0=BD?= Date: Tue, 16 Oct 2012 15:56:32 +0600 Subject: [PATCH 2/6] creater Event in UTF8 --- EventUTF8.js | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 EventUTF8.js diff --git a/EventUTF8.js b/EventUTF8.js new file mode 100644 index 0000000..b945bea --- /dev/null +++ b/EventUTF8.js @@ -0,0 +1,108 @@ +function Event() { + return { + /** + *Переменная типа number, хранящая начало события в виде "ггггммдд". + */ + startTime : undefined, + /** + *Переменная типа number, хранящая конец события в виде "ггггммдд". + */ + endTime : undefined, + /** + *Объект, отвечающий за рейтинг события. + */ + rating : { + /** + *Переменная типа number, хранящая рейтинг события. + */ + rating : 0, + /** + *Переменная типа number, хранящая количество человек, принявших участие в голосовании. + */ + numberOfVoters : 0 + }, + /** + *Объект, отвечающий за хранение людей, принимающих участие в данном событии. + */ + members : { + /** + *Переменная типа number, хранящая число людей, принимающих участие в данном событии. + */ + numberOfParticipants : 0, + /** + *Массив string, хранящий ФИО людей, принимающих участие в данном событии. + */ + namesOfParticipants : [] + }, + /** + *Переменная типа string, хранящая ссылку со стороннего ресурса на описание этого события. + */ + link : undefined, + /** + *Объект, хранящий координаты данного события. + */ + coordinate : { + /** + *Переменная типа string, хранящая название города, в котором будет проходить событие. + */ + city : undefined, + /** + *Переменная типа String, хранящая название улицы, на которой будет проходить событие. + */ + street : undefined, + /** + *Переменная типа number, хранящая номер дома, в котором будет проходить событие. + */ + house : undefined + }, + /** + *Голосование за событие. + * + *@param {Number} mark Оценка от 0 до 5 за это событие. + */ + vote : function (mark) { + if ((mark >= 0) && (mark <= 5)) { + ++this.rating.numberOfVoters; + this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; + } + }, + /** + *Конструктор события. + * + *@param {Number} start Дата начала события. Если не является типом number, дата не верна, событие не создаётся. + * + *@param {Number} end Дата конца события. Если не является типом number, дата не верна, или дата конца больше, чем дата начала события, событие не создаётся. + * + *@param {String} link Ссылка со стороннего ресурса, если не является типом string, инициализация ссылки не происходит. + * + *@param {String} city Название города,в котором пройдёт событие, если не является типом string, инициализация объекта coordinate не произойдёт. + * + *@param {String} street Название улицы, на которой пройдёт событие, если не является типом string, инициализация объекта coordinate не произойдёт. + * + *@param {Number} house Номер дома, в котором пройдёт событие, если не является типом number, инициализация объекта coordinate не произойдёт. + */ + createEvent : function (start, end, link, city, street, house) { + if (((typeof start === "number") && (start / 20000000 > 0)) && ((typeof end === "number") && (end / 20000000 > 0) && (end > start))) { + this.startTime = start; + this.endTime = end; + (typeof link === "string") && (this.link = link); + if(((typeof house === "number") && (house > 0)) && (typeof city === "string") && (typeof street === "string")) { + this.coordinate.street = street; + this.coordinate.house = house; + this.coordinate.city = city; + } + } + }, + /** + *Добавление человека в список участников события. + * + *@param {String} name ФИО участника события. + */ + addParticipant : function (name) { + if (typeof name === "string") { + ++this.members.numberOfParticipants; + this.members.namesOfParticipants[this.members.numberOfParticipants] = name; + } + } + }; +} \ No newline at end of file From abcfbe0e3f982ff2ac593d9c8b5fbc5edf111e3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=D0=BD?= Date: Sun, 2 Dec 2012 18:06:54 +0600 Subject: [PATCH 3/6] =?UTF-8?q?2=20=D0=94=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправление недочётов --- EventUTF8.js | 75 ++++++++++++------------------------------ EventUTF8Correction.js | 75 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 54 deletions(-) create mode 100644 EventUTF8Correction.js diff --git a/EventUTF8.js b/EventUTF8.js index b945bea..622138a 100644 --- a/EventUTF8.js +++ b/EventUTF8.js @@ -1,101 +1,68 @@ function Event() { return { - /** - *Переменная типа number, хранящая начало события в виде "ггггммдд". - */ startTime : undefined, - /** - *Переменная типа number, хранящая конец события в виде "ггггммдд". - */ endTime : undefined, /** - *Объект, отвечающий за рейтинг события. + * @type {ratingStruct} + * @field {Number} rating Величина рейтинга события. + * @field {Number} numberOfVoters Величина рейтинга события. */ rating : { - /** - *Переменная типа number, хранящая рейтинг события. - */ rating : 0, - /** - *Переменная типа number, хранящая количество человек, принявших участие в голосовании. - */ numberOfVoters : 0 }, /** - *Объект, отвечающий за хранение людей, принимающих участие в данном событии. + * @type {membersStruct} + * @field {Number} numberOfParticipants Число участников. + * @field {Array} namesOfParticipants ФИО участников. */ members : { - /** - *Переменная типа number, хранящая число людей, принимающих участие в данном событии. - */ numberOfParticipants : 0, - /** - *Массив string, хранящий ФИО людей, принимающих участие в данном событии. - */ namesOfParticipants : [] }, - /** - *Переменная типа string, хранящая ссылку со стороннего ресурса на описание этого события. - */ link : undefined, /** - *Объект, хранящий координаты данного события. + * @type {coordinateStruct} + * @field {Number} house Дом события. + * @field {String} street Улица события. + * @field {String} city Город события. */ coordinate : { - /** - *Переменная типа string, хранящая название города, в котором будет проходить событие. - */ city : undefined, - /** - *Переменная типа String, хранящая название улицы, на которой будет проходить событие. - */ street : undefined, - /** - *Переменная типа number, хранящая номер дома, в котором будет проходить событие. - */ house : undefined }, - /** - *Голосование за событие. - * + /**Голосование за событие. *@param {Number} mark Оценка от 0 до 5 за это событие. */ vote : function (mark) { - if ((mark >= 0) && (mark <= 5)) { + if (mark >= 0 && mark <= 5) { ++this.rating.numberOfVoters; this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; } }, /** *Конструктор события. - * - *@param {Number} start Дата начала события. Если не является типом number, дата не верна, событие не создаётся. - * - *@param {Number} end Дата конца события. Если не является типом number, дата не верна, или дата конца больше, чем дата начала события, событие не создаётся. - * - *@param {String} link Ссылка со стороннего ресурса, если не является типом string, инициализация ссылки не происходит. - * - *@param {String} city Название города,в котором пройдёт событие, если не является типом string, инициализация объекта coordinate не произойдёт. - * - *@param {String} street Название улицы, на которой пройдёт событие, если не является типом string, инициализация объекта coordinate не произойдёт. - * - *@param {Number} house Номер дома, в котором пройдёт событие, если не является типом number, инициализация объекта coordinate не произойдёт. + *@param {Number} start Начало события в формате "ггггммдд". + *@param {Number} end Конец события в формате "ггггммдд". + *@param {String} link Ссылка события. + *@param {String} city Город события. + *@param {String} street Улица события. + *@param {Number} house Номер дома события. */ createEvent : function (start, end, link, city, street, house) { - if (((typeof start === "number") && (start / 20000000 > 0)) && ((typeof end === "number") && (end / 20000000 > 0) && (end > start))) { + if (typeof start === "number" && start / 20000000 > 0 && end > start) { this.startTime = start; this.endTime = end; (typeof link === "string") && (this.link = link); - if(((typeof house === "number") && (house > 0)) && (typeof city === "string") && (typeof street === "string")) { + if(typeof house === "number" && house > 0) { this.coordinate.street = street; this.coordinate.house = house; this.coordinate.city = city; } } }, - /** - *Добавление человека в список участников события. - * + /**Добавление человека в список участников события. *@param {String} name ФИО участника события. */ addParticipant : function (name) { diff --git a/EventUTF8Correction.js b/EventUTF8Correction.js new file mode 100644 index 0000000..622138a --- /dev/null +++ b/EventUTF8Correction.js @@ -0,0 +1,75 @@ +function Event() { + return { + startTime : undefined, + endTime : undefined, + /** + * @type {ratingStruct} + * @field {Number} rating Величина рейтинга события. + * @field {Number} numberOfVoters Величина рейтинга события. + */ + rating : { + rating : 0, + numberOfVoters : 0 + }, + /** + * @type {membersStruct} + * @field {Number} numberOfParticipants Число участников. + * @field {Array} namesOfParticipants ФИО участников. + */ + members : { + numberOfParticipants : 0, + namesOfParticipants : [] + }, + link : undefined, + /** + * @type {coordinateStruct} + * @field {Number} house Дом события. + * @field {String} street Улица события. + * @field {String} city Город события. + */ + coordinate : { + city : undefined, + street : undefined, + house : undefined + }, + /**Голосование за событие. + *@param {Number} mark Оценка от 0 до 5 за это событие. + */ + vote : function (mark) { + if (mark >= 0 && mark <= 5) { + ++this.rating.numberOfVoters; + this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; + } + }, + /** + *Конструктор события. + *@param {Number} start Начало события в формате "ггггммдд". + *@param {Number} end Конец события в формате "ггггммдд". + *@param {String} link Ссылка события. + *@param {String} city Город события. + *@param {String} street Улица события. + *@param {Number} house Номер дома события. + */ + createEvent : function (start, end, link, city, street, house) { + if (typeof start === "number" && start / 20000000 > 0 && end > start) { + this.startTime = start; + this.endTime = end; + (typeof link === "string") && (this.link = link); + if(typeof house === "number" && house > 0) { + this.coordinate.street = street; + this.coordinate.house = house; + this.coordinate.city = city; + } + } + }, + /**Добавление человека в список участников события. + *@param {String} name ФИО участника события. + */ + addParticipant : function (name) { + if (typeof name === "string") { + ++this.members.numberOfParticipants; + this.members.namesOfParticipants[this.members.numberOfParticipants] = name; + } + } + }; +} \ No newline at end of file From fcc74be0ad4147726f182049684f2525ff4d9de3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=D0=BD?= Date: Sun, 2 Dec 2012 19:44:57 +0600 Subject: [PATCH 4/6] =?UTF-8?q?Revert=20"2=20=D0=94=D0=97"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit abcfbe0e3f982ff2ac593d9c8b5fbc5edf111e3f. --- EventUTF8.js | 75 ++++++++++++++++++++++++++++++------------ EventUTF8Correction.js | 75 ------------------------------------------ 2 files changed, 54 insertions(+), 96 deletions(-) delete mode 100644 EventUTF8Correction.js diff --git a/EventUTF8.js b/EventUTF8.js index 622138a..b945bea 100644 --- a/EventUTF8.js +++ b/EventUTF8.js @@ -1,68 +1,101 @@ function Event() { return { + /** + *Переменная типа number, хранящая начало события в виде "ггггммдд". + */ startTime : undefined, + /** + *Переменная типа number, хранящая конец события в виде "ггггммдд". + */ endTime : undefined, /** - * @type {ratingStruct} - * @field {Number} rating Величина рейтинга события. - * @field {Number} numberOfVoters Величина рейтинга события. + *Объект, отвечающий за рейтинг события. */ rating : { + /** + *Переменная типа number, хранящая рейтинг события. + */ rating : 0, + /** + *Переменная типа number, хранящая количество человек, принявших участие в голосовании. + */ numberOfVoters : 0 }, /** - * @type {membersStruct} - * @field {Number} numberOfParticipants Число участников. - * @field {Array} namesOfParticipants ФИО участников. + *Объект, отвечающий за хранение людей, принимающих участие в данном событии. */ members : { + /** + *Переменная типа number, хранящая число людей, принимающих участие в данном событии. + */ numberOfParticipants : 0, + /** + *Массив string, хранящий ФИО людей, принимающих участие в данном событии. + */ namesOfParticipants : [] }, + /** + *Переменная типа string, хранящая ссылку со стороннего ресурса на описание этого события. + */ link : undefined, /** - * @type {coordinateStruct} - * @field {Number} house Дом события. - * @field {String} street Улица события. - * @field {String} city Город события. + *Объект, хранящий координаты данного события. */ coordinate : { + /** + *Переменная типа string, хранящая название города, в котором будет проходить событие. + */ city : undefined, + /** + *Переменная типа String, хранящая название улицы, на которой будет проходить событие. + */ street : undefined, + /** + *Переменная типа number, хранящая номер дома, в котором будет проходить событие. + */ house : undefined }, - /**Голосование за событие. + /** + *Голосование за событие. + * *@param {Number} mark Оценка от 0 до 5 за это событие. */ vote : function (mark) { - if (mark >= 0 && mark <= 5) { + if ((mark >= 0) && (mark <= 5)) { ++this.rating.numberOfVoters; this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; } }, /** *Конструктор события. - *@param {Number} start Начало события в формате "ггггммдд". - *@param {Number} end Конец события в формате "ггггммдд". - *@param {String} link Ссылка события. - *@param {String} city Город события. - *@param {String} street Улица события. - *@param {Number} house Номер дома события. + * + *@param {Number} start Дата начала события. Если не является типом number, дата не верна, событие не создаётся. + * + *@param {Number} end Дата конца события. Если не является типом number, дата не верна, или дата конца больше, чем дата начала события, событие не создаётся. + * + *@param {String} link Ссылка со стороннего ресурса, если не является типом string, инициализация ссылки не происходит. + * + *@param {String} city Название города,в котором пройдёт событие, если не является типом string, инициализация объекта coordinate не произойдёт. + * + *@param {String} street Название улицы, на которой пройдёт событие, если не является типом string, инициализация объекта coordinate не произойдёт. + * + *@param {Number} house Номер дома, в котором пройдёт событие, если не является типом number, инициализация объекта coordinate не произойдёт. */ createEvent : function (start, end, link, city, street, house) { - if (typeof start === "number" && start / 20000000 > 0 && end > start) { + if (((typeof start === "number") && (start / 20000000 > 0)) && ((typeof end === "number") && (end / 20000000 > 0) && (end > start))) { this.startTime = start; this.endTime = end; (typeof link === "string") && (this.link = link); - if(typeof house === "number" && house > 0) { + if(((typeof house === "number") && (house > 0)) && (typeof city === "string") && (typeof street === "string")) { this.coordinate.street = street; this.coordinate.house = house; this.coordinate.city = city; } } }, - /**Добавление человека в список участников события. + /** + *Добавление человека в список участников события. + * *@param {String} name ФИО участника события. */ addParticipant : function (name) { diff --git a/EventUTF8Correction.js b/EventUTF8Correction.js deleted file mode 100644 index 622138a..0000000 --- a/EventUTF8Correction.js +++ /dev/null @@ -1,75 +0,0 @@ -function Event() { - return { - startTime : undefined, - endTime : undefined, - /** - * @type {ratingStruct} - * @field {Number} rating Величина рейтинга события. - * @field {Number} numberOfVoters Величина рейтинга события. - */ - rating : { - rating : 0, - numberOfVoters : 0 - }, - /** - * @type {membersStruct} - * @field {Number} numberOfParticipants Число участников. - * @field {Array} namesOfParticipants ФИО участников. - */ - members : { - numberOfParticipants : 0, - namesOfParticipants : [] - }, - link : undefined, - /** - * @type {coordinateStruct} - * @field {Number} house Дом события. - * @field {String} street Улица события. - * @field {String} city Город события. - */ - coordinate : { - city : undefined, - street : undefined, - house : undefined - }, - /**Голосование за событие. - *@param {Number} mark Оценка от 0 до 5 за это событие. - */ - vote : function (mark) { - if (mark >= 0 && mark <= 5) { - ++this.rating.numberOfVoters; - this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; - } - }, - /** - *Конструктор события. - *@param {Number} start Начало события в формате "ггггммдд". - *@param {Number} end Конец события в формате "ггггммдд". - *@param {String} link Ссылка события. - *@param {String} city Город события. - *@param {String} street Улица события. - *@param {Number} house Номер дома события. - */ - createEvent : function (start, end, link, city, street, house) { - if (typeof start === "number" && start / 20000000 > 0 && end > start) { - this.startTime = start; - this.endTime = end; - (typeof link === "string") && (this.link = link); - if(typeof house === "number" && house > 0) { - this.coordinate.street = street; - this.coordinate.house = house; - this.coordinate.city = city; - } - } - }, - /**Добавление человека в список участников события. - *@param {String} name ФИО участника события. - */ - addParticipant : function (name) { - if (typeof name === "string") { - ++this.members.numberOfParticipants; - this.members.namesOfParticipants[this.members.numberOfParticipants] = name; - } - } - }; -} \ No newline at end of file From 5980154b75433ba29ffb89bc22b43a6efc2d5548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=D0=BD?= Date: Sun, 2 Dec 2012 19:47:37 +0600 Subject: [PATCH 5/6] =?UTF-8?q?2=20=D0=94=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EventUTF8Correct.js | 75 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 EventUTF8Correct.js diff --git a/EventUTF8Correct.js b/EventUTF8Correct.js new file mode 100644 index 0000000..622138a --- /dev/null +++ b/EventUTF8Correct.js @@ -0,0 +1,75 @@ +function Event() { + return { + startTime : undefined, + endTime : undefined, + /** + * @type {ratingStruct} + * @field {Number} rating Величина рейтинга события. + * @field {Number} numberOfVoters Величина рейтинга события. + */ + rating : { + rating : 0, + numberOfVoters : 0 + }, + /** + * @type {membersStruct} + * @field {Number} numberOfParticipants Число участников. + * @field {Array} namesOfParticipants ФИО участников. + */ + members : { + numberOfParticipants : 0, + namesOfParticipants : [] + }, + link : undefined, + /** + * @type {coordinateStruct} + * @field {Number} house Дом события. + * @field {String} street Улица события. + * @field {String} city Город события. + */ + coordinate : { + city : undefined, + street : undefined, + house : undefined + }, + /**Голосование за событие. + *@param {Number} mark Оценка от 0 до 5 за это событие. + */ + vote : function (mark) { + if (mark >= 0 && mark <= 5) { + ++this.rating.numberOfVoters; + this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; + } + }, + /** + *Конструктор события. + *@param {Number} start Начало события в формате "ггггммдд". + *@param {Number} end Конец события в формате "ггггммдд". + *@param {String} link Ссылка события. + *@param {String} city Город события. + *@param {String} street Улица события. + *@param {Number} house Номер дома события. + */ + createEvent : function (start, end, link, city, street, house) { + if (typeof start === "number" && start / 20000000 > 0 && end > start) { + this.startTime = start; + this.endTime = end; + (typeof link === "string") && (this.link = link); + if(typeof house === "number" && house > 0) { + this.coordinate.street = street; + this.coordinate.house = house; + this.coordinate.city = city; + } + } + }, + /**Добавление человека в список участников события. + *@param {String} name ФИО участника события. + */ + addParticipant : function (name) { + if (typeof name === "string") { + ++this.members.numberOfParticipants; + this.members.namesOfParticipants[this.members.numberOfParticipants] = name; + } + } + }; +} \ No newline at end of file From 24507af88f30df0b133e8fb3ec3c780448914a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=D0=BD?= Date: Sun, 2 Dec 2012 20:30:40 +0600 Subject: [PATCH 6/6] NewCorrection --- EvenFinal.js | 86 +++++++++++++++++++++++++++++++++++++++++++++ EventUTF8Correct.js | 33 +++++++++++------ 2 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 EvenFinal.js diff --git a/EvenFinal.js b/EvenFinal.js new file mode 100644 index 0000000..843aa94 --- /dev/null +++ b/EvenFinal.js @@ -0,0 +1,86 @@ +function Event() { + return { + startTime : undefined, + endTime : undefined, + /** + * Объект с информацией о рейтинге события. + * + * @type {ratingStruct} + * @field {Number} rating Величина рейтинга события. + * @field {Number} numberOfVoters Величина рейтинга события. + */ + rating : { + rating : 0, + numberOfVoters : 0 + }, + /** + * Объект с информацией о участниках события. + * + * @type {membersStruct} + * @field {Number} numberOfParticipants Число участников. + * @field {Array} namesOfParticipants ФИО участников. + */ + members : { + numberOfParticipants : 0, + namesOfParticipants : [] + }, + link : undefined, + /** + * Объект с информацией о месте события. + * + * @type {coordinateStruct} + * @field {Number} house Дом события. + * @field {String} street Улица события. + * @field {String} city Город события. + */ + coordinate : { + city : undefined, + street : undefined, + house : undefined + }, + /** + * Голосование за событие. + * + * @param {Number} mark Оценка от 0 до 5 за это событие. + */ + vote : function (mark) { + if (mark >= 0 && mark <= 5) { + ++this.rating.numberOfVoters; + this.rating.rating = (this.rating.rating + mark) / this.rating.numberOfVoters; + } + }, + /** + * Конструктор события. + * + * @param {Number} start Начало события в формате "ггггммдд". + * @param {Number} end Конец события в формате "ггггммдд". + * @param {String} link Ссылка события. + * @param {String} city Город события. + * @param {String} street Улица события. + * @param {Number} house Номер дома события. + */ + createEvent : function (start, end, link, city, street, house) { + if (typeof start === "number" && start / 20000000 > 0 && end > start) { + this.startTime = start; + this.endTime = end; + (typeof link === "string") && (this.link = link); + if(typeof house === "number" && house > 0) { + this.coordinate.street = street; + this.coordinate.house = house; + this.coordinate.city = city; + } + } + }, + /** + * Добавление человека в список участников события. + * + * @param {String} name ФИО участника события. + */ + addParticipant : function (name) { + if (typeof name === "string") { + ++this.members.numberOfParticipants; + this.members.namesOfParticipants[this.members.numberOfParticipants] = name; + } + } + }; +} \ No newline at end of file diff --git a/EventUTF8Correct.js b/EventUTF8Correct.js index 622138a..843aa94 100644 --- a/EventUTF8Correct.js +++ b/EventUTF8Correct.js @@ -3,6 +3,8 @@ startTime : undefined, endTime : undefined, /** + * Объект с информацией о рейтинге события. + * * @type {ratingStruct} * @field {Number} rating Величина рейтинга события. * @field {Number} numberOfVoters Величина рейтинга события. @@ -12,6 +14,8 @@ numberOfVoters : 0 }, /** + * Объект с информацией о участниках события. + * * @type {membersStruct} * @field {Number} numberOfParticipants Число участников. * @field {Array} namesOfParticipants ФИО участников. @@ -22,6 +26,8 @@ }, link : undefined, /** + * Объект с информацией о месте события. + * * @type {coordinateStruct} * @field {Number} house Дом события. * @field {String} street Улица события. @@ -32,8 +38,10 @@ street : undefined, house : undefined }, - /**Голосование за событие. - *@param {Number} mark Оценка от 0 до 5 за это событие. + /** + * Голосование за событие. + * + * @param {Number} mark Оценка от 0 до 5 за это событие. */ vote : function (mark) { if (mark >= 0 && mark <= 5) { @@ -42,13 +50,14 @@ } }, /** - *Конструктор события. - *@param {Number} start Начало события в формате "ггггммдд". - *@param {Number} end Конец события в формате "ггггммдд". - *@param {String} link Ссылка события. - *@param {String} city Город события. - *@param {String} street Улица события. - *@param {Number} house Номер дома события. + * Конструктор события. + * + * @param {Number} start Начало события в формате "ггггммдд". + * @param {Number} end Конец события в формате "ггггммдд". + * @param {String} link Ссылка события. + * @param {String} city Город события. + * @param {String} street Улица события. + * @param {Number} house Номер дома события. */ createEvent : function (start, end, link, city, street, house) { if (typeof start === "number" && start / 20000000 > 0 && end > start) { @@ -62,8 +71,10 @@ } } }, - /**Добавление человека в список участников события. - *@param {String} name ФИО участника события. + /** + * Добавление человека в список участников события. + * + * @param {String} name ФИО участника события. */ addParticipant : function (name) { if (typeof name === "string") {