@avstantso/utils-languages 1.0.4 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/package.json +8 -8
- package/dist/_global/index.d.ts +0 -1
- package/dist/_global/rus/_register.d.ts +0 -20
- package/dist/_global/rus/case.d.ts +0 -1727
- package/dist/_global/rus/index.d.ts +0 -3
- package/dist/_global/rus/number.d.ts +0 -1010
- package/dist/export.d.ts +0 -2
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -94
- package/dist/index.js.map +0 -1
package/dist/export.d.ts
DELETED
package/dist/index.d.ts
DELETED
package/dist/index.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
require('@avstantso/errors');
|
|
4
|
-
require('@avstantso/js');
|
|
5
|
-
require('@avstantso/concepts');
|
|
6
|
-
require('@avstantso/utils-enum-class');
|
|
7
|
-
|
|
8
|
-
var AVStantso$1;
|
|
9
|
-
(function (AVStantso) {
|
|
10
|
-
AVStantso.Rus = avstantso._reg.Rus({});
|
|
11
|
-
})(AVStantso$1 || (AVStantso$1 = {}));
|
|
12
|
-
|
|
13
|
-
(function (AVStantso) {
|
|
14
|
-
class _RusCase extends AVStantso_EnumClass {
|
|
15
|
-
static Items = {
|
|
16
|
-
/**
|
|
17
|
-
* @summary Именительный
|
|
18
|
-
* @example Кто? Что?
|
|
19
|
-
*/
|
|
20
|
-
nominative: new _RusCase(1),
|
|
21
|
-
/**
|
|
22
|
-
* @summary Родительный
|
|
23
|
-
* @example Кого? Чего?
|
|
24
|
-
*/
|
|
25
|
-
genitive: new _RusCase(2),
|
|
26
|
-
/**
|
|
27
|
-
* @summary Дательный
|
|
28
|
-
* @example Кому? Чему?
|
|
29
|
-
*/
|
|
30
|
-
dative: new _RusCase(3),
|
|
31
|
-
/**
|
|
32
|
-
* @summary Винительный
|
|
33
|
-
* @example Кого? Что?
|
|
34
|
-
*/
|
|
35
|
-
accusative: new _RusCase(4),
|
|
36
|
-
/**
|
|
37
|
-
* @summary Творительный
|
|
38
|
-
* @example Кем? Чем?
|
|
39
|
-
*/
|
|
40
|
-
instrumental: new _RusCase(5),
|
|
41
|
-
/**
|
|
42
|
-
* @summary Предложный
|
|
43
|
-
* @example О ком? О чём?; В ком? В чём?
|
|
44
|
-
*/
|
|
45
|
-
prepositional: new _RusCase(6)
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
const RusCase = _RusCase.Init();
|
|
49
|
-
avstantso._reg.Rus.Case(() => RusCase);
|
|
50
|
-
})();
|
|
51
|
-
|
|
52
|
-
(function (AVStantso) {
|
|
53
|
-
class _RusNumber extends AVStantso_EnumClass {
|
|
54
|
-
static Items = {
|
|
55
|
-
/**
|
|
56
|
-
* @summary Единственное
|
|
57
|
-
* @example "день", "мошка"
|
|
58
|
-
*/
|
|
59
|
-
singular: new _RusNumber(1),
|
|
60
|
-
/**
|
|
61
|
-
* @summary Двойственное
|
|
62
|
-
* @example "дня", "мошки"
|
|
63
|
-
*/
|
|
64
|
-
dual: new _RusNumber(2),
|
|
65
|
-
/**
|
|
66
|
-
* @summary Множественное
|
|
67
|
-
* @example "дней", "мошек"
|
|
68
|
-
*/
|
|
69
|
-
plural: new _RusNumber(3)
|
|
70
|
-
};
|
|
71
|
-
static Statics;
|
|
72
|
-
static withSubstantive(...wordForms) {
|
|
73
|
-
const { singular, dual, plural } = avstantso.JS.is.object(wordForms[0])
|
|
74
|
-
? wordForms[0]
|
|
75
|
-
: { singular: wordForms[0], dual: wordForms[1], plural: wordForms[2] };
|
|
76
|
-
return (num) => {
|
|
77
|
-
const m10 = Math.abs(num) % 10;
|
|
78
|
-
const m100 = Math.abs(num) % 100;
|
|
79
|
-
return !(m10 >= 1 && m10 <= 4) || (m100 >= 11 && m100 <= 14)
|
|
80
|
-
? plural
|
|
81
|
-
: 1 === m10
|
|
82
|
-
? singular
|
|
83
|
-
: dual;
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const RusNumber = _RusNumber.Init();
|
|
88
|
-
avstantso._reg.Rus.Number(() => RusNumber);
|
|
89
|
-
})();
|
|
90
|
-
|
|
91
|
-
var Rus = AVStantso.Rus;
|
|
92
|
-
|
|
93
|
-
exports.Rus = Rus;
|
|
94
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/_global/rus/_register.ts","../src/_global/rus/case.ts","../src/_global/rus/number.ts","../src/export.ts"],"sourcesContent":["namespace AVStantso {\n /**\n * @summary Russian grammar helpers\n */\n export namespace Rus {}\n\n export namespace Code {\n /**\n * @summary Russian grammar helpers\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n export interface Rus {}\n }\n\n export interface Code {\n /**\n * @summary Russian grammar helpers\n */\n Rus: Code.Rus;\n }\n\n export const Rus: Code.Rus = avstantso._reg.Rus({});\n}\n","namespace AVStantso {\n class _RusCase<TValue extends number = number> extends AVStantso_EnumClass<TValue> {\n public static Items = {\n /**\n * @summary Именительный\n * @example Кто? Что?\n */\n nominative: new _RusCase(1),\n\n /**\n * @summary Родительный\n * @example Кого? Чего?\n */\n genitive: new _RusCase(2),\n\n /**\n * @summary Дательный\n * @example Кому? Чему?\n */\n dative: new _RusCase(3),\n\n /**\n * @summary Винительный\n * @example Кого? Что?\n */\n accusative: new _RusCase(4),\n\n /**\n * @summary Творительный\n * @example Кем? Чем?\n */\n instrumental: new _RusCase(5),\n\n /**\n * @summary Предложный\n * @example О ком? О чём?; В ком? В чём?\n */\n prepositional: new _RusCase(6)\n };\n }\n\n const RusCase = _RusCase.Init();\n\n export namespace Rus {\n /**\n * @summary Падеж в русском языке\n */\n export type Case = typeof RusCase.Item;\n }\n\n export namespace Code {\n export interface Rus {\n /**\n * @summary Падеж в русском языке\n */\n Case: typeof RusCase;\n }\n }\n\n avstantso._reg.Rus.Case(() => RusCase);\n}\n","namespace AVStantso {\n class _RusNumber<TValue extends number = number> extends AVStantso_EnumClass<TValue> {\n public static Items = {\n /**\n * @summary Единственное\n * @example \"день\", \"мошка\"\n */\n singular: new _RusNumber(1),\n\n /**\n * @summary Двойственное\n * @example \"дня\", \"мошки\"\n */\n dual: new _RusNumber(2),\n\n /**\n * @summary Множественное\n * @example \"дней\", \"мошек\"\n */\n plural: new _RusNumber(3)\n };\n\n public static Statics: {\n withSubstantive: Rus.Number.WithSubstantive;\n };\n\n public static withSubstantive(...wordForms: TS.Arr) {\n const { singular, dual, plural }: Rus.Number.WordForms =\n avstantso.JS.is.object<Rus.Number.WordForms>(wordForms[0])\n ? wordForms[0]\n : { singular: wordForms[0], dual: wordForms[1], plural: wordForms[2] };\n\n return (num: number) => {\n const m10 = Math.abs(num) % 10;\n const m100 = Math.abs(num) % 100;\n\n return !(m10 >= 1 && m10 <= 4) || (m100 >= 11 && m100 <= 14)\n ? plural\n : 1 === m10\n ? singular\n : dual;\n };\n }\n }\n\n const RusNumber = _RusNumber.Init();\n\n export namespace Rus {\n /**\n * @summary Число в русском языке\n * @example 1 - \"день\", 2-3-4 - \"дня\", 0-5+ - \"дней\"\n */\n export namespace Number {\n export type Key = typeof RusNumber.Key;\n\n /**\n * @summary Формы слова на русском языке в единственном, двойственном и множественном числе\n */\n export type WordForms = Record<Key, string>;\n\n export interface WithSubstantive {\n /**\n * @summary Выбор формы существительного по переданному математическому числу\n * @param wordForms Формы слова на русском языке в единственном, двойственном и множественном числе\n * @param num Математическое число\n */\n (wordForms: WordForms): (num: number) => string;\n\n /**\n * @summary Выбор формы существительного по переданному математическому числу\n * @param singular Форма слова на русском языке в единственном числе\n * @param dual Форма слова на русском языке в двойственном числе\n * @param plural Форма слова на русском языке во множественном числе\n * @param num Математическое число\n */\n (singular: string, dual: string, plural: string): (num: number) => string;\n }\n }\n\n export type Number = typeof RusNumber.Item;\n }\n\n export namespace Code {\n export interface Rus {\n /**\n * @summary Число в русском языке\n * @example 1 - \"день\", 2-3-4 - \"дня\", 0-5+ - \"дней\"\n */\n Number: typeof RusNumber;\n }\n }\n\n avstantso._reg.Rus.Number(() => RusNumber);\n}\n","import Rus = AVStantso.Rus;\n\nexport {\n Rus\n};\n"],"names":["AVStantso"],"mappings":";;;;;;;AAAA,IAAUA,WAAS;AAAnB,CAAA,UAAU,SAAS,EAAA;IAqBJ,SAAA,CAAA,GAAG,GAAa,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC,EAtBSA,WAAS,KAATA,WAAS,GAAA,EAAA,CAAA,CAAA;;ACAnB,CAAA,UAAU,SAAS,EAAA;IACjB,MAAM,QAAyC,SAAQ,mBAA2B,CAAA;QACzE,OAAO,KAAK,GAAG;AACpB;;;AAGG;AACH,YAAA,UAAU,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAE3B;;;AAGG;AACH,YAAA,QAAQ,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAEzB;;;AAGG;AACH,YAAA,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAEvB;;;AAGG;AACH,YAAA,UAAU,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAE3B;;;AAGG;AACH,YAAA,YAAY,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;AAE7B;;;AAGG;AACH,YAAA,aAAa,EAAE,IAAI,QAAQ,CAAC,CAAC;SAC9B;;AAGH,IAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE;AAkB/B,IAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC;AACxC,CAAC,EA5DkB,CAAA;;ACAnB,CAAA,UAAU,SAAS,EAAA;IACjB,MAAM,UAA2C,SAAQ,mBAA2B,CAAA;QAC3E,OAAO,KAAK,GAAG;AACpB;;;AAGG;AACH,YAAA,QAAQ,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;AAE3B;;;AAGG;AACH,YAAA,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;AAEvB;;;AAGG;AACH,YAAA,MAAM,EAAE,IAAI,UAAU,CAAC,CAAC;SACzB;QAEM,OAAO,OAAO;AAId,QAAA,OAAO,eAAe,CAAC,GAAG,SAAiB,EAAA;YAChD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAChC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAuB,SAAS,CAAC,CAAC,CAAC;AACvD,kBAAE,SAAS,CAAC,CAAC;kBACX,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;YAExE,OAAO,CAAC,GAAW,KAAI;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG;AAEhC,gBAAA,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE;AACzD,sBAAE;sBACA,CAAC,KAAK;AACN,0BAAE;0BACA,IAAI;AACZ,YAAA,CAAC;QACH;;AAGF,IAAA,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE;AA+CnC,IAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC;AAC5C,CAAC,EA7FkB,CAAA;;ACAnB,IAAO,GAAG,GAAG,SAAS,CAAC;;;;"}
|