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/3] 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/3] 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/3] =?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