sigo-entities 1.2.307 → 1.2.309
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/.ai_context.md +50 -0
- package/build.log +0 -0
- package/dist/index.js +3 -38
- package/dist/index.mjs +589 -624
- package/package.json +1 -1
- package/.claude/CLAUDE.md +0 -70
- package/.claude/settings.json +0 -21
- package/.claude/skills/mdl-administracion/SKILL.md +0 -60
- package/.claude/skills/mdl-configuracion/SKILL.md +0 -49
- package/.claude/skills/ope-im/SKILL.md +0 -71
- package/.claude/skills/ope-logistica/SKILL.md +0 -60
- package/.claude/skills/ope-pex/SKILL.md +0 -106
- package/.claude/skills/shared-dtos/SKILL.md +0 -76
package/.ai_context.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Contexto del Proyecto
|
|
2
|
+
|
|
3
|
+
**Nombre:** Ingeniero Brayan Valero
|
|
4
|
+
**Preferencias de idioma:** Español (Indispensable)
|
|
5
|
+
**Formato de Planes y Tareas:** Siempre en Español
|
|
6
|
+
**Contexto del proyecto:** Librería transversal para entidades compartidas (Front y Back)
|
|
7
|
+
**Nombre del Asistente:** Latas
|
|
8
|
+
|
|
9
|
+
**Tipo de Proyecto:** Shared Library
|
|
10
|
+
**Ubicación Raíz:** `d:\16_SIGO_ENTITYS\sigo-entities`
|
|
11
|
+
|
|
12
|
+
Este archivo contiene la visión general del proyecto `sigo-entities`.
|
|
13
|
+
|
|
14
|
+
## Descripción
|
|
15
|
+
`sigo-entities` es la librería donde se alojan las entidades compartidas por front y back. En ambos hay un archivo de contexto llamado `.ai_context.md`, donde almacenamos la configuración del proyecto, estructura del mismo y contexto de workflows para tareas futuras.
|
|
16
|
+
|
|
17
|
+
## Normas Generales
|
|
18
|
+
1. **Archivos de Contexto**: Mantener actualizados los `.ai_context.md` locales.
|
|
19
|
+
2. **Git Ignore**: Asegurarse de que `**/.ai_context.md` esté ignorado.
|
|
20
|
+
3. **sigo-entities**: Librería transversal para tipos compartidos.
|
|
21
|
+
|
|
22
|
+
## Guía de Desarrollo de Entidades y DTOs
|
|
23
|
+
|
|
24
|
+
### Estructura de Carpetas
|
|
25
|
+
- **DTOs compartidos**: `src/programados/procesos/[Entidad]/shared`
|
|
26
|
+
- **Request DTOs**: `src/programados/procesos/[Entidad]/shared/requestDto`
|
|
27
|
+
|
|
28
|
+
### Convenciones de Nombres
|
|
29
|
+
- **Archivos**: `kebab-case` con sufijo `-dto.ts` (ej. `job-macro-request-dto.ts`).
|
|
30
|
+
- **Clases**: `PascalCase` con sufijo `DTO` (ej. `JobMacroRequestDTO`).
|
|
31
|
+
|
|
32
|
+
### Reglas de Implementación
|
|
33
|
+
1. **Librerías**: Usar `class-transformer` (@Expose, @Type) y `class-validator` (IsString, IsNumber, etc.).
|
|
34
|
+
2. **Mensajes de Validación**: Deben ser en español (ej. "debe ser un texto", "es requerido").
|
|
35
|
+
3. **Inicialización**: Todas las propiedades deben tener valor inicial (ej. `string = ''`, `number = 0`).
|
|
36
|
+
4. **Exposición**: Decorar todas las propiedades con `@Expose()`.
|
|
37
|
+
|
|
38
|
+
## Proceso de Despliegue (sigo-entities)
|
|
39
|
+
|
|
40
|
+
1. **Validación**: Confirmar que la nueva entidad o DTO es correcto y cumple con las normas (preguntar al usuario).
|
|
41
|
+
- *Aprendizaje*: No incluir campos como `UsuarioEdicion` si el backend puede obtenerlos del token. Los DTOs de actualización deben ser lo más minimalistas posible (ID, nuevos valores, observaciones).
|
|
42
|
+
2. **Sincronización Inicial**: Bajar cambios (`git pull`) y subir cambios de la nueva entidad (`git push`).
|
|
43
|
+
3. **Versionamiento**: Incrementar la versión en el `package.json` (ej: `1.2.205` -> `1.2.206`).
|
|
44
|
+
4. **Sincronización de Versión**: Bajar y subir cambios nuevamente para asegurar la versión en el repositorio.
|
|
45
|
+
5. **Publicación**: Ejecutar `npm publish`.
|
|
46
|
+
6. **Actualización en Servicios**:
|
|
47
|
+
- Posicionarse en el servicio (Back/Front) objetivo mediante el comando `cd`.
|
|
48
|
+
- Ejecutar `npm i sigo-entities@latest`.
|
|
49
|
+
- Verificar importaciones.
|
|
50
|
+
- *Aprendizaje*: Los DTOs de procesos deben exportarse desde el `index.ts` principal de la entidad (ej. `obra/index.ts`) y no solo desde el `shared/index.ts`.
|
package/build.log
ADDED
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -26,8 +26,8 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
// src/index.ts
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var src_exports = {};
|
|
30
|
+
__export(src_exports, {
|
|
31
31
|
ADM_RM_ZonasActividadENTITY: () => ADM_RM_ZonasActividadENTITY,
|
|
32
32
|
AcceptedDto: () => AcceptedDto,
|
|
33
33
|
ActaFinalCubicacionDTO: () => ActaFinalCubicacionDTO,
|
|
@@ -750,7 +750,7 @@ __export(index_exports, {
|
|
|
750
750
|
validateAndFormatData: () => validateAndFormatData,
|
|
751
751
|
validateArrayBody: () => validateArrayBody
|
|
752
752
|
});
|
|
753
|
-
module.exports = __toCommonJS(
|
|
753
|
+
module.exports = __toCommonJS(src_exports);
|
|
754
754
|
var import_reflect_metadata42 = require("reflect-metadata");
|
|
755
755
|
|
|
756
756
|
// src/administracion/mail structure/shared/dto/destinatario-dto.ts
|
|
@@ -29292,17 +29292,14 @@ var DatosEmpresaDto = class {
|
|
|
29292
29292
|
ID_Empresa = 0;
|
|
29293
29293
|
};
|
|
29294
29294
|
__decorateClass([
|
|
29295
|
-
(0, import_class_validator496.IsNotEmpty)({ message: "es requerido" }),
|
|
29296
29295
|
(0, import_class_validator496.IsString)({ message: "debe ser texto" }),
|
|
29297
29296
|
(0, import_class_transformer501.Expose)()
|
|
29298
29297
|
], DatosEmpresaDto.prototype, "CDEmpresa", 2);
|
|
29299
29298
|
__decorateClass([
|
|
29300
|
-
(0, import_class_validator496.IsNotEmpty)({ message: "es requerido" }),
|
|
29301
29299
|
(0, import_class_validator496.IsString)({ message: "debe ser texto" }),
|
|
29302
29300
|
(0, import_class_transformer501.Expose)()
|
|
29303
29301
|
], DatosEmpresaDto.prototype, "Empresa", 2);
|
|
29304
29302
|
__decorateClass([
|
|
29305
|
-
(0, import_class_validator496.IsNotEmpty)({ message: "es requerido" }),
|
|
29306
29303
|
(0, import_class_validator496.IsString)({ message: "debe ser texto" }),
|
|
29307
29304
|
(0, import_class_transformer501.Expose)()
|
|
29308
29305
|
], DatosEmpresaDto.prototype, "Grupo", 2);
|
|
@@ -29573,17 +29570,14 @@ var DelegacionDto = class {
|
|
|
29573
29570
|
FullDelegacion = "";
|
|
29574
29571
|
};
|
|
29575
29572
|
__decorateClass([
|
|
29576
|
-
(0, import_class_validator506.IsNotEmpty)({ message: "es requerido" }),
|
|
29577
29573
|
(0, import_class_validator506.IsString)({ message: "debe ser texto" }),
|
|
29578
29574
|
(0, import_class_transformer512.Expose)()
|
|
29579
29575
|
], DelegacionDto.prototype, "Codigo", 2);
|
|
29580
29576
|
__decorateClass([
|
|
29581
|
-
(0, import_class_validator506.IsNotEmpty)({ message: "es requerido" }),
|
|
29582
29577
|
(0, import_class_validator506.IsString)({ message: "debe ser texto" }),
|
|
29583
29578
|
(0, import_class_transformer512.Expose)()
|
|
29584
29579
|
], DelegacionDto.prototype, "Delegacion", 2);
|
|
29585
29580
|
__decorateClass([
|
|
29586
|
-
(0, import_class_validator506.IsNotEmpty)({ message: "es requerido" }),
|
|
29587
29581
|
(0, import_class_validator506.IsString)({ message: "debe ser texto" }),
|
|
29588
29582
|
(0, import_class_transformer512.Expose)()
|
|
29589
29583
|
], DelegacionDto.prototype, "FullDelegacion", 2);
|
|
@@ -29601,17 +29595,14 @@ var OtDto = class {
|
|
|
29601
29595
|
FullOT = "";
|
|
29602
29596
|
};
|
|
29603
29597
|
__decorateClass([
|
|
29604
|
-
(0, import_class_validator507.IsNotEmpty)({ message: "es requerido" }),
|
|
29605
29598
|
(0, import_class_validator507.IsString)({ message: "debe ser texto" }),
|
|
29606
29599
|
(0, import_class_transformer513.Expose)()
|
|
29607
29600
|
], OtDto.prototype, "Codigo", 2);
|
|
29608
29601
|
__decorateClass([
|
|
29609
|
-
(0, import_class_validator507.IsNotEmpty)({ message: "es requerido" }),
|
|
29610
29602
|
(0, import_class_validator507.IsString)({ message: "debe ser texto" }),
|
|
29611
29603
|
(0, import_class_transformer513.Expose)()
|
|
29612
29604
|
], OtDto.prototype, "OT", 2);
|
|
29613
29605
|
__decorateClass([
|
|
29614
|
-
(0, import_class_validator507.IsNotEmpty)({ message: "es requerido" }),
|
|
29615
29606
|
(0, import_class_validator507.IsString)({ message: "debe ser texto" }),
|
|
29616
29607
|
(0, import_class_transformer513.Expose)()
|
|
29617
29608
|
], OtDto.prototype, "FullOT", 2);
|
|
@@ -29886,7 +29877,6 @@ __decorateClass([
|
|
|
29886
29877
|
(0, import_class_transformer523.Expose)()
|
|
29887
29878
|
], DetalleDto.prototype, "Activo", 2);
|
|
29888
29879
|
__decorateClass([
|
|
29889
|
-
(0, import_class_validator516.IsNotEmpty)({ message: "es requerido" }),
|
|
29890
29880
|
(0, import_class_validator516.IsBoolean)({ message: "debe ser true o false" }),
|
|
29891
29881
|
(0, import_class_transformer523.Expose)()
|
|
29892
29882
|
], DetalleDto.prototype, "Mostrar", 2);
|
|
@@ -30060,18 +30050,15 @@ var FechaEntregaDto = class {
|
|
|
30060
30050
|
Date = /* @__PURE__ */ new Date();
|
|
30061
30051
|
};
|
|
30062
30052
|
__decorateClass([
|
|
30063
|
-
(0, import_class_validator521.IsNotEmpty)({ message: "es requerido" }),
|
|
30064
30053
|
(0, import_class_validator521.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30065
30054
|
(0, import_class_validator521.Min)(0, { message: "el valor m\xEDnimo es 0" }),
|
|
30066
30055
|
(0, import_class_transformer529.Expose)()
|
|
30067
30056
|
], FechaEntregaDto.prototype, "IdDate", 2);
|
|
30068
30057
|
__decorateClass([
|
|
30069
|
-
(0, import_class_validator521.IsNotEmpty)({ message: "es requerido" }),
|
|
30070
30058
|
(0, import_class_validator521.IsString)({ message: "debe ser texto" }),
|
|
30071
30059
|
(0, import_class_transformer529.Expose)()
|
|
30072
30060
|
], FechaEntregaDto.prototype, "Formato", 2);
|
|
30073
30061
|
__decorateClass([
|
|
30074
|
-
(0, import_class_validator521.IsNotEmpty)({ message: "es requerido" }),
|
|
30075
30062
|
(0, import_class_validator521.IsDate)({ message: "debe ser una fecha" }),
|
|
30076
30063
|
(0, import_class_transformer529.Type)(() => Date),
|
|
30077
30064
|
(0, import_class_transformer529.Expose)()
|
|
@@ -30221,34 +30208,28 @@ var ProductoDto = class {
|
|
|
30221
30208
|
CodigoLlave = "";
|
|
30222
30209
|
};
|
|
30223
30210
|
__decorateClass([
|
|
30224
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30225
30211
|
(0, import_class_validator528.IsString)({ message: "debe ser texto" }),
|
|
30226
30212
|
(0, import_class_transformer536.Expose)()
|
|
30227
30213
|
], ProductoDto.prototype, "CodigoProducto", 2);
|
|
30228
30214
|
__decorateClass([
|
|
30229
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30230
30215
|
(0, import_class_validator528.IsString)({ message: "debe ser texto" }),
|
|
30231
30216
|
(0, import_class_transformer536.Expose)()
|
|
30232
30217
|
], ProductoDto.prototype, "Codigo", 2);
|
|
30233
30218
|
__decorateClass([
|
|
30234
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30235
30219
|
(0, import_class_validator528.IsString)({ message: "debe ser texto" }),
|
|
30236
30220
|
(0, import_class_transformer536.Expose)()
|
|
30237
30221
|
], ProductoDto.prototype, "Producto", 2);
|
|
30238
30222
|
__decorateClass([
|
|
30239
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30240
30223
|
(0, import_class_transformer537.Type)(() => DetalleDto),
|
|
30241
30224
|
(0, import_class_validator528.ValidateNested)(),
|
|
30242
30225
|
(0, import_class_transformer536.Expose)()
|
|
30243
30226
|
], ProductoDto.prototype, "Detalle", 2);
|
|
30244
30227
|
__decorateClass([
|
|
30245
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30246
30228
|
(0, import_class_transformer537.Type)(() => TipoProductoDto),
|
|
30247
30229
|
(0, import_class_validator528.ValidateNested)(),
|
|
30248
30230
|
(0, import_class_transformer536.Expose)()
|
|
30249
30231
|
], ProductoDto.prototype, "TipoProducto", 2);
|
|
30250
30232
|
__decorateClass([
|
|
30251
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30252
30233
|
(0, import_class_transformer537.Type)(() => FechaEntregaDto),
|
|
30253
30234
|
(0, import_class_validator528.ValidateNested)(),
|
|
30254
30235
|
(0, import_class_transformer536.Expose)()
|
|
@@ -30259,19 +30240,16 @@ __decorateClass([
|
|
|
30259
30240
|
(0, import_class_transformer536.Expose)()
|
|
30260
30241
|
], ProductoDto.prototype, "TipoVariante", 2);
|
|
30261
30242
|
__decorateClass([
|
|
30262
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30263
30243
|
(0, import_class_transformer537.Type)(() => TipoGranFamiliaDto),
|
|
30264
30244
|
(0, import_class_validator528.ValidateNested)(),
|
|
30265
30245
|
(0, import_class_transformer536.Expose)()
|
|
30266
30246
|
], ProductoDto.prototype, "TipoGranFamilia", 2);
|
|
30267
30247
|
__decorateClass([
|
|
30268
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30269
30248
|
(0, import_class_transformer537.Type)(() => TipoFamiliaDto),
|
|
30270
30249
|
(0, import_class_validator528.ValidateNested)(),
|
|
30271
30250
|
(0, import_class_transformer536.Expose)()
|
|
30272
30251
|
], ProductoDto.prototype, "TipoFamilia", 2);
|
|
30273
30252
|
__decorateClass([
|
|
30274
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30275
30253
|
(0, import_class_transformer537.Type)(() => TipoSubFamiliaDto),
|
|
30276
30254
|
(0, import_class_validator528.ValidateNested)(),
|
|
30277
30255
|
(0, import_class_transformer536.Expose)()
|
|
@@ -30285,22 +30263,18 @@ __decorateClass([
|
|
|
30285
30263
|
(0, import_class_transformer536.Expose)()
|
|
30286
30264
|
], ProductoDto.prototype, "Observacion", 2);
|
|
30287
30265
|
__decorateClass([
|
|
30288
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30289
30266
|
(0, import_class_validator528.IsString)({ message: "debe ser texto" }),
|
|
30290
30267
|
(0, import_class_transformer536.Expose)()
|
|
30291
30268
|
], ProductoDto.prototype, "Unidad", 2);
|
|
30292
30269
|
__decorateClass([
|
|
30293
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30294
30270
|
(0, import_class_validator528.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30295
30271
|
(0, import_class_transformer536.Expose)()
|
|
30296
30272
|
], ProductoDto.prototype, "Cantidad", 2);
|
|
30297
30273
|
__decorateClass([
|
|
30298
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30299
30274
|
(0, import_class_validator528.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30300
30275
|
(0, import_class_transformer536.Expose)()
|
|
30301
30276
|
], ProductoDto.prototype, "Precio", 2);
|
|
30302
30277
|
__decorateClass([
|
|
30303
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30304
30278
|
(0, import_class_validator528.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30305
30279
|
(0, import_class_transformer536.Expose)()
|
|
30306
30280
|
], ProductoDto.prototype, "IGV", 2);
|
|
@@ -30323,7 +30297,6 @@ __decorateClass([
|
|
|
30323
30297
|
(0, import_class_transformer536.Expose)()
|
|
30324
30298
|
], ProductoDto.prototype, "discountLine", 2);
|
|
30325
30299
|
__decorateClass([
|
|
30326
|
-
(0, import_class_validator528.IsNotEmpty)({ message: "es requerido" }),
|
|
30327
30300
|
(0, import_class_validator528.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30328
30301
|
(0, import_class_transformer536.Expose)()
|
|
30329
30302
|
], ProductoDto.prototype, "Recibido", 2);
|
|
@@ -30503,7 +30476,6 @@ __decorateClass([
|
|
|
30503
30476
|
(0, import_class_transformer544.Expose)()
|
|
30504
30477
|
], DetalleProductoDto.prototype, "Requerimiento", 2);
|
|
30505
30478
|
__decorateClass([
|
|
30506
|
-
(0, import_class_validator533.IsNotEmpty)({ message: "es requerido" }),
|
|
30507
30479
|
(0, import_class_transformer544.Type)(() => ProductoDto),
|
|
30508
30480
|
(0, import_class_validator533.ValidateNested)(),
|
|
30509
30481
|
(0, import_class_transformer544.Expose)()
|
|
@@ -30595,13 +30567,11 @@ var IconoDto = class {
|
|
|
30595
30567
|
Status = "";
|
|
30596
30568
|
};
|
|
30597
30569
|
__decorateClass([
|
|
30598
|
-
(0, import_class_validator537.IsNotEmpty)({ message: "es requerido" }),
|
|
30599
30570
|
(0, import_class_validator537.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30600
30571
|
(0, import_class_validator537.Min)(0, { message: "el valor m\xEDnimo es 0" }),
|
|
30601
30572
|
(0, import_class_transformer550.Expose)()
|
|
30602
30573
|
], IconoDto.prototype, "IdStatus", 2);
|
|
30603
30574
|
__decorateClass([
|
|
30604
|
-
(0, import_class_validator537.IsNotEmpty)({ message: "es requerido" }),
|
|
30605
30575
|
(0, import_class_validator537.IsString)({ message: "debe ser texto" }),
|
|
30606
30576
|
(0, import_class_transformer550.Expose)()
|
|
30607
30577
|
], IconoDto.prototype, "Status", 2);
|
|
@@ -30617,13 +30587,11 @@ var NavDto = class {
|
|
|
30617
30587
|
Status = "";
|
|
30618
30588
|
};
|
|
30619
30589
|
__decorateClass([
|
|
30620
|
-
(0, import_class_validator538.IsNotEmpty)({ message: "es requerido" }),
|
|
30621
30590
|
(0, import_class_validator538.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30622
30591
|
(0, import_class_validator538.Min)(0, { message: "el valor m\xEDnimo es 0" }),
|
|
30623
30592
|
(0, import_class_transformer551.Expose)()
|
|
30624
30593
|
], NavDto.prototype, "IdStatus", 2);
|
|
30625
30594
|
__decorateClass([
|
|
30626
|
-
(0, import_class_validator538.IsNotEmpty)({ message: "es requerido" }),
|
|
30627
30595
|
(0, import_class_validator538.IsString)({ message: "debe ser texto" }),
|
|
30628
30596
|
(0, import_class_transformer551.Expose)()
|
|
30629
30597
|
], NavDto.prototype, "Status", 2);
|
|
@@ -30641,12 +30609,10 @@ __decorateClass([
|
|
|
30641
30609
|
(0, import_class_transformer552.Expose)()
|
|
30642
30610
|
], ProcedenciaDto.prototype, "CDEmpresa", 2);
|
|
30643
30611
|
__decorateClass([
|
|
30644
|
-
(0, import_class_validator539.IsNotEmpty)({ message: "es requerido" }),
|
|
30645
30612
|
(0, import_class_validator539.IsString)({ message: "debe ser texto" }),
|
|
30646
30613
|
(0, import_class_transformer552.Expose)()
|
|
30647
30614
|
], ProcedenciaDto.prototype, "Origen", 2);
|
|
30648
30615
|
__decorateClass([
|
|
30649
|
-
(0, import_class_validator539.IsNotEmpty)({ message: "es requerido" }),
|
|
30650
30616
|
(0, import_class_validator539.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30651
30617
|
(0, import_class_transformer552.Expose)()
|
|
30652
30618
|
], ProcedenciaDto.prototype, "Nav", 2);
|
|
@@ -30659,7 +30625,6 @@ var SolicitudDto = class {
|
|
|
30659
30625
|
Status = "";
|
|
30660
30626
|
};
|
|
30661
30627
|
__decorateClass([
|
|
30662
|
-
(0, import_class_validator540.IsOptional)(),
|
|
30663
30628
|
(0, import_class_validator540.IsNumber)({}, { message: "debe ser un n\xFAmero" }),
|
|
30664
30629
|
(0, import_class_validator540.Min)(0, { message: "el valor m\xEDnimo es 0" }),
|
|
30665
30630
|
(0, import_class_transformer553.Expose)()
|