Skip to content

Commit a2c2eaa

Browse files
authored
🤖 Merge PR DefinitelyTyped#74088 [russian-nouns-js] Static methods create, createOrNull by @georgy7
1 parent 590e2b0 commit a2c2eaa

4 files changed

Lines changed: 13 additions & 23 deletions

File tree

types/russian-nouns-js/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const CASES: [Case];
1818
/**
1919
* Интерфейс с именованными параметрами для создания лемм.
2020
* Если параметр — уже лемма, вернет тот же объект, а не копию.
21+
* То же, что и статический метод {@link Lemma.create}.
2122
*
2223
* @param {RussianNouns.Lemma|Object} o
2324
* @throws {Error} Ошибки из конструктора леммы.
@@ -27,6 +28,7 @@ export function createLemma(o: Lemma | LemmaOptions): Lemma;
2728

2829
/**
2930
* Безопасное создание леммы с минимальными накладными расходами.
31+
* То же, что и статический метод {@link Lemma.createOrNull}.
3032
*
3133
* @param {Object} options
3234
* @returns {RussianNouns.Lemma|null}

types/russian-nouns-js/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"name": "@types/russian-nouns-js",
4-
"version": "2.3.9999",
4+
"version": "2.4.9999",
55
"projects": [
66
"https://github.com/georgy7/RussianNounsJS"
77
],

types/russian-nouns-js/russian-nouns-js-tests.ts

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
1-
import {
2-
Case,
3-
CASES,
4-
createLemma,
5-
createLemmaOrNull,
6-
Engine,
7-
Gender,
8-
Lemma,
9-
LocativeForm,
10-
LocativeFormAttribute,
11-
} from "russian-nouns-js";
1+
import { Case, CASES, Engine, Gender, Lemma, LocativeForm, LocativeFormAttribute } from "russian-nouns-js";
122

133
const rne = new Engine();
144

@@ -21,7 +11,7 @@ result = rne.decline({ text: "имя", gender: Gender.NEUTER }, Case.GENITIVE);
2111

2212
result = rne.decline({ text: "имя", gender: Gender.NEUTER }, Case.INSTRUMENTAL);
2313

24-
let coat: Lemma = createLemma({
14+
let coat: Lemma = Lemma.create({
2515
text: "пальто",
2616
gender: Gender.NEUTER,
2717
indeclinable: true,
@@ -31,7 +21,7 @@ result = rne.decline(coat, Case.GENITIVE);
3121

3222
num = coat.getDeclension();
3323

34-
let mountain: Lemma = createLemma({
24+
let mountain: Lemma = Lemma.create({
3525
text: "гора",
3626
gender: Gender.FEMININE,
3727
});
@@ -53,9 +43,9 @@ num = mountain.getSchoolDeclension();
5343

5444
let mountainGender: Gender | undefined = mountain.getGender();
5545

56-
let nothing: Lemma | null = createLemmaOrNull({ text: "абвгд" });
46+
let nothing: Lemma | null = Lemma.createOrNull({ text: "абвгд" });
5747

58-
const x: Lemma | null = createLemmaOrNull({
48+
const x: Lemma | null = Lemma.createOrNull({
5949
text: "гора",
6050
gender: Gender.FEMININE,
6151
});
@@ -66,7 +56,7 @@ if (x != null) {
6656

6757
// ----------------------------------------------------------------------------
6858

69-
const cringe: Lemma = createLemma({
59+
const cringe: Lemma = Lemma.create({
7060
text: "кринж",
7161
gender: Gender.MASCULINE,
7262
});
@@ -80,7 +70,7 @@ const stressedEndings: boolean[] = rne.sd.hasStressedEndingSingular(cringe, Case
8070

8171
// ----------------------------------------------------------------------------
8272

83-
let row: Lemma = createLemma({
73+
let row: Lemma = Lemma.create({
8474
text: "ряд",
8575
gender: Gender.MASCULINE,
8676
});

types/russian-nouns-js/src/Lemma.d.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@ export interface LemmaOptions {
1616
}
1717

1818
export class Lemma {
19-
/**
20-
* Not for external use.
21-
* Please use createLemma or createLemmaOrNull instead of the constructor.
22-
*/
23-
constructor(o: LemmaOptions | Lemma);
19+
private constructor(o: LemmaOptions | Lemma);
20+
static create(o: Lemma | LemmaOptions): Lemma;
21+
static createOrNull(options: LemmaOptions): Lemma | null;
2422

2523
/**
2624
* @deprecated since version 2.0.0

0 commit comments

Comments
 (0)