Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sklonenie

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sklonenie - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

typings/index.d.ts

23

package.json
{
"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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc