@wshcmx/types 13.3.0 → 13.5.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/CONTRIBUTING.md CHANGED
@@ -1,5 +1,23 @@
1
1
  🤝 Как сделать вклад?
2
2
 
3
3
  1. Клонируй репозиторий
4
- 2. Делай правку
5
- 3. Создавай PR
4
+ 2. Установи зависимости и проверь проект:
5
+
6
+ ```bash
7
+ pnpm install --frozen-lockfile
8
+ pnpm run check
9
+ ```
10
+
11
+ 3. Для генератора .NET установи зависимости отдельно:
12
+
13
+ ```bash
14
+ pnpm --dir dotnet/Wshcmx.Types/scripts install --frozen-lockfile
15
+ pnpm run generate:dotnet
16
+ ```
17
+
18
+ Команды выполняются из корня репозитория. Оба проекта используют pnpm;
19
+ изменения зависимостей нужно фиксировать вместе с соответствующим `pnpm-lock.yaml`.
20
+ В CI зависимости устанавливаются с `--frozen-lockfile`.
21
+
22
+ 4. Делай правку
23
+ 5. Создавай PR
package/README.md CHANGED
@@ -17,12 +17,25 @@
17
17
  > [!CAUTION]
18
18
  > Для использования работы на проекте с typescript советуем использовать [cli](https://github.com/wshcmx/cli), который решает проблемы связанные с транспиляцией кода под платформу WebSoftHCM.
19
19
 
20
- ### npm
20
+ ### pnpm
21
21
 
22
22
  ```bash
23
- npm i @wshcmx/types -D
23
+ pnpm add @wshcmx/types -D
24
24
  ```
25
25
 
26
+ ### .NET
27
+
28
+ Generate the C# models and build the NuGet package from the repository root
29
+ (Node.js 25 and .NET SDK 8 or later):
30
+
31
+ ```bash
32
+ npm ci
33
+ npm run generate:dotnet
34
+ dotnet pack dotnet/Wshcmx.Types/Wshcmx.Types.csproj -c Release -o ./nupkg
35
+ ```
36
+
37
+ The package includes this README.
38
+
26
39
  ## 🔨 Настройка
27
40
 
28
41
  Типы можно использовать как в проектах, написанных с использованием ts, так и в проектах, написанных на js.
@@ -30,7 +43,7 @@ npm i @wshcmx/types -D
30
43
  Генерируем конфиг, либо просто создаем вручную файл **tsconfig.json**
31
44
 
32
45
  ```bash
33
- npx tsc -init
46
+ pnpm exec tsc -init
34
47
  ```
35
48
 
36
49
  Далее обновляем конфиг:
@@ -552,11 +552,12 @@ declare function XQueryLiteral(arg: string | number | Date): string;
552
552
 
553
553
  /**
554
554
  * Возвращает фрагмент сроки по заданным позициям (в символах).
555
+ * @param {string} str - Строка.
555
556
  * @param {number} startPosition - Начальная позиция.
556
557
  * @param {number} endPosition - Конечная позиция.
557
558
  * @returns {string} Результат.
558
559
  */
559
- declare function StrCharRangePos(startPosition: number, endPosition: number): string;
560
+ declare function StrCharRangePos(str: string, startPosition: number, endPosition: number): string;
560
561
 
561
562
  /**
562
563
  * Проверяет две строки на равенство, в том числе без учета регистра.
@@ -1076,9 +1077,10 @@ declare function ParseDate(date: string): Date;
1076
1077
  * @param {Date} date - Объект даты.
1077
1078
  * @param {boolean} [showTime] - Включать время. По умолчанию true.
1078
1079
  * @param {boolean} [showSeconds] - Включать секунды во времени. По умолчанию true.
1080
+ * @param {boolean} [showLocalTime] - Преобразовывать в местоное время. По умолчанию false.
1079
1081
  * @returns {string} Строка с датой.
1080
1082
  */
1081
- declare function StrDate(date: Date, showTime?: boolean, showSeconds?: boolean): string;
1083
+ declare function StrDate(date: Date, showTime?: boolean, showSeconds?: boolean, showLocalTime?: boolean): string;
1082
1084
 
1083
1085
  /**
1084
1086
  * Возвращает время в миллисекундах, прошедшее с момента запуска операционной системы.
@@ -36,10 +36,15 @@ interface Object {
36
36
  DeleteOptProperty(key: string): void;
37
37
 
38
38
  /**
39
- * Возвращает значение атрибута объекта. Если атрубут отсутствует, выдает undefined.
39
+ * Возвращает значение атрибута объекта. Если атрубут отсутствует, выдает defaultValue или undefined.
40
40
  * @param {string} key - Наименование атрибута объекта.
41
41
  * @param {unknown} [defaultValue] - Значение по умолчанию, возращаемое в случае отсутствия атрибута.
42
42
  */
43
+ GetOptProperty<O, K extends keyof O & string, D>(
44
+ this: O,
45
+ key: K,
46
+ defaultValue: D
47
+ ): Exclude<O[K], undefined> | D;
43
48
  GetOptProperty<O, K extends string, D = undefined>(
44
49
  this: O,
45
50
  key: K,
@@ -187,8 +187,8 @@ GameBonusBase & {
187
187
  check_resource_double(fileName: string, size: number): unknown;
188
188
  put_data(url: string, source: unknown, filename: unknown): unknown;
189
189
  put_data_add(url: string, code: string): unknown;
190
- del_data_add(id: string): unknown;
191
- put_str(data: string, filename: unknown, source: unknown): unknown;
190
+ del_data_add(id: string): void;
191
+ put_str(data: string, filename: string, source?: XmlDocument): void;
192
192
  add_counter(source: unknown): unknown;
193
193
  del_counter(source: unknown, sourceId: number): unknown;
194
194
  obtain_link(source: unknown): unknown;
package/package.json CHANGED
@@ -1,18 +1,10 @@
1
1
  {
2
2
  "name": "@wshcmx/types",
3
- "version": "13.3.0",
3
+ "version": "13.5.0",
4
4
  "type": "module",
5
5
  "directories": {
6
6
  "lib": "lib"
7
7
  },
8
- "scripts": {
9
- "check": "npm run lint:lib && npm run lint:tests && npm run tsc:lib && npm run tsc:tests",
10
- "lint:lib": "eslint -c ./lib/eslint.config.js lib",
11
- "lint:tests": "eslint -c ./tests/eslint.config.js tests",
12
- "tsc:lib": "tsc -p lib/tsconfig.json",
13
- "tsc:tests": "tsc -p tests/tsconfig.json",
14
- "generate:dotnet": "node dotnet/Wshcmx.Types/scripts/index.ts"
15
- },
16
8
  "repository": {
17
9
  "type": "git",
18
10
  "url": "git+https://github.com/wshcmx/types.git"
@@ -34,9 +26,17 @@
34
26
  "homepage": "https://github.com/wshcmx/types#readme",
35
27
  "devDependencies": {
36
28
  "@eslint/js": "^10.0.1",
37
- "eslint": "^10.10.0",
38
- "eslint-plugin-jsdoc": "^64.4.0",
29
+ "eslint": "^10.13.0",
30
+ "eslint-plugin-jsdoc": "^65.4.0",
39
31
  "typescript": "^6.0.3",
40
- "typescript-eslint": "^8.70.0"
32
+ "typescript-eslint": "^8.72.0"
33
+ },
34
+ "scripts": {
35
+ "check": "pnpm run lint:lib && pnpm run lint:tests && pnpm run tsc:lib && pnpm run tsc:tests",
36
+ "lint:lib": "eslint -c ./lib/eslint.config.js lib",
37
+ "lint:tests": "eslint -c ./tests/eslint.config.js tests",
38
+ "tsc:lib": "tsc -p lib/tsconfig.json",
39
+ "tsc:tests": "tsc -p tests/tsconfig.json",
40
+ "generate:dotnet": "node dotnet/Wshcmx.Types/scripts/index.ts"
41
41
  }
42
- }
42
+ }