Comparing version 1.0.1 to 1.0.2
{ | ||
"name": "sklonenie", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "Declination Russian names", | ||
"main": "src/index.js", | ||
"typings": "typings/index.d.ts", | ||
"scripts": { | ||
@@ -12,23 +13,11 @@ "start": "webpack -p --progress --colors", | ||
"type": "git", | ||
"url": "git+https://github.com/danakt/sklonenie.js.git" | ||
"url": "git+https://github.com/danakt/sklonenie.git" | ||
}, | ||
"keywords": [ | ||
"sklonenie", | ||
"declination", | ||
"Russian", | ||
"name", | ||
"affix", | ||
"flexies", | ||
"names", | ||
"firstname", | ||
"lastname", | ||
"middlename", | ||
"cases" | ||
], | ||
"keywords": ["sklonenie", "declination", "Russian", "name", "affix", "flexies", "names", "firstname", "lastname", "middlename", "cases"], | ||
"author": "Danakt Frost <mail@danakt.ru>", | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/danakt/sklonenie.js/issues" | ||
"url": "https://github.com/danakt/sklonenie/issues" | ||
}, | ||
"homepage": "https://github.com/danakt/sklonenie.js", | ||
"homepage": "https://github.com/danakt/sklonenie", | ||
"devDependencies": { | ||
@@ -35,0 +24,0 @@ "chai": "^3.5.0", |
@@ -6,3 +6,3 @@ Sklonenie | ||
[![npm](https://img.shields.io/npm/v/sklonenie.svg?style=flat-square)](https://www.npmjs.com/package/sklonenie) | ||
[![Travis CI](https://img.shields.io/travis/danakt/sklonenie.js.svg?style=flat-square)](https://travis-ci.org/danakt/sklonenie.js) | ||
[![Travis CI](https://img.shields.io/travis/danakt/sklonenie.svg?style=flat-square)](https://travis-ci.org/danakt/sklonenie.js) | ||
[![Versioneye](https://www.versioneye.com/user/projects/58778f5b7179530040ecf6c4/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/58778f5b7179530040ecf6c4) | ||
@@ -24,8 +24,4 @@ | ||
console.log( | ||
`На страницах рукописи ${bulgakov['винительный'].join(' ')} | ||
«Мастер и Маргарита» ученые обнаружили следы морфия` | ||
) | ||
// На страницах рукописи Михаила Афанасьевича Булгакова | ||
// «Мастер и Маргарита» ученые обнаружили следы морфия | ||
console.log(`На страницах рукописи ${bulgakov['винительный'].join(' ')} «Мастер и Маргарита» ученые обнаружили следы морфия`) | ||
// На страницах рукописи Михаила Афанасьевича Булгакова «Мастер и Маргарита» ученые обнаружили следы морфия | ||
``` | ||
@@ -32,0 +28,0 @@ |
/** | ||
* Sklonenie.js | ||
* Sklonenie | ||
* Лёгкая и быстрая библиотека для склонения по падежам русских имён, отчеств | ||
@@ -13,9 +13,9 @@ * и фамилий | ||
* Получение окончания по выборке | ||
* @param {string} string — строка, содежащая имя, отчество или фамилию | ||
* @param {number} gender — род (1 или 2) | ||
* @param {object} name — индекс части имени (FIRST=0/MIDDLE=1/LAST=2) | ||
* @param {string} string Строка, содежащая имя, отчество или фамилию | ||
* @param {number} gender Род (1 или 2) | ||
* @param {object} nameIndex Индекс части имени (FIRST=0 / MIDDLE=1 / LAST=2) | ||
* @return {Array} | ||
*/ | ||
function getFlexion(str, g, nameIndex) { | ||
let retArr = [] // Возвращаемый массив | ||
function getFlexion(str, gender, nameIndex) { | ||
const retArr = [] // Возвращаемый массив | ||
@@ -32,3 +32,3 @@ const flexList = FLEX_LISTS[nameIndex] | ||
const flexGender = flexList[e][flexList[e].length - 1] | ||
if (g && !(flexGender & g)) { | ||
if (gender && !(flexGender & gender)) { | ||
continue | ||
@@ -49,3 +49,3 @@ } | ||
if (retArr.length === 0) { | ||
retArr = fillArray(Array(CASES.length), str) | ||
return fillArray(Array(CASES.length), str) | ||
} | ||
@@ -58,6 +58,6 @@ | ||
* Получение склонений частей имени | ||
* @param {number} propNum — (FIRST=0/MIDDLE=1/LAST=2) | ||
* @param {string} str — часть имени (имя/отчество/фамилия) | ||
* @param {number} gender — род | ||
* @return {Array} — результат | ||
* @param {number} nameIndex Индекс части имени (FIRST=0 / MIDDLE=1 / LAST=2) | ||
* @param {string} str Часть имени (имя/отчество/фамилия) | ||
* @param {?number} [gender=0] Род | ||
* @return {Array} Результат | ||
*/ | ||
@@ -73,8 +73,8 @@ function getName(nameIndex, str, gender = 0) { | ||
// Ищем подходящее окончание из списка | ||
let out | ||
let out = [] | ||
// Если это фамилия и двойная, склоняем обе части | ||
if (nameIndex === NAME.LAST && str.indexOf('-') > -1) { | ||
let lastNames = str.split('-') | ||
let lastNamesArr = [] | ||
const lastNames = str.split('-') | ||
const lastNamesArr = [] | ||
@@ -102,20 +102,16 @@ // Получаем склонения каждой части | ||
* Обработка пола | ||
* @param {?number|string} g — Род. Может принимать значения: 1 или 2, | ||
* @param {?number|string} gender Род. Может принимать значения: 1 или 2, | ||
* «m» или «w», «man» или «woman» | ||
*/ | ||
function getGender(g) { | ||
if (g == null) { | ||
return 0 | ||
} | ||
if (typeof g === 'number') { | ||
return g >= 0 && g <= 2 | ||
? g | ||
function getGender(gender = 0) { | ||
if (typeof gender === 'number') { | ||
return gender >= 0 && gender <= 2 | ||
? gender | ||
: 0 | ||
} else if (typeof g === 'string') { | ||
g = g.toLowerCase() | ||
} else if (typeof gender === 'string') { | ||
gender = gender.toLowerCase() | ||
if (g === 'm' || g === 'man') { | ||
if (gender === 'm' || gender === 'man') { | ||
return M | ||
} else if (g === 'w' || g === 'woman') { | ||
} else if (gender === 'w' || gender === 'woman') { | ||
return W | ||
@@ -129,7 +125,7 @@ } | ||
/** | ||
* Получение склонений имени. Экспортируется по-дефолту | ||
* @param {string} firstname — Склоняемое имя | ||
* @param {string} middlename — Склоняемое отчество | ||
* @param {string} lastname — Склоняемая фамилия | ||
* @param {?number} [gender=0] — Род | ||
* Получение склонений имени | ||
* @param {string} firstname Склоняемое имя | ||
* @param {string} middlename Склоняемое отчество | ||
* @param {string} lastname Склоняемая фамилия | ||
* @param {?number} [gender=0] Род | ||
* @return {object} | ||
@@ -147,3 +143,3 @@ */ | ||
for (let i = 0; i < CASES.length; i++) { | ||
ret[i] = ret[CASES[i]] = [ | ||
const decline = [ | ||
ret.firstname[i], | ||
@@ -153,2 +149,5 @@ ret.middlename[i], | ||
] | ||
ret[i] = decline | ||
ret[CASES[i]] = decline | ||
} | ||
@@ -161,4 +160,4 @@ | ||
* Экспорт склонения имени | ||
* @param {string} str — имя | ||
* @param {?number} gender — род | ||
* @param {string} str Имя | ||
* @param {?number} gender Род | ||
* @return {Array} | ||
@@ -172,4 +171,4 @@ */ | ||
* Экспорт склонения отчества | ||
* @param {string} str — отчество | ||
* @param {?number} gender — род | ||
* @param {string} str Отчество | ||
* @param {?number} gender Род | ||
* @return {Array} | ||
@@ -183,4 +182,4 @@ */ | ||
* Экспорт склонения отчества | ||
* @param {string} str — фамилия | ||
* @param {?number} gender — род | ||
* @param {string} str Фамилия | ||
* @param {?number} gender Род | ||
* @return {Array} | ||
@@ -194,6 +193,2 @@ */ | ||
* @exports | ||
* @default full | ||
* @prop firstname | ||
* @prop middlename | ||
* @prop lastname | ||
*/ | ||
@@ -207,3 +202,2 @@ const sklonenie = full | ||
module.exports = sklonenie | ||
module.exports.default = sklonenie | ||
} else if (typeof window !== 'undefined') { | ||
@@ -210,0 +204,0 @@ window.sklonenie = sklonenie |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
21415
10
416
126