
Product
Socket Now Protects the Microsoft Edge Extension Ecosystem
Enterprise security teams can now detect malware, credential theft, suspicious network activity, and risky updates across Microsoft Edge extensions.
@fiado/type-kit
Advanced tools
@fiado/type-kit es la biblioteca central de tipos del ecosistema Fiado que proporciona:
class-validator para validacion de entradaEn una arquitectura de microservicios, es fundamental mantener consistencia en los tipos de datos que se intercambian entre servicios. Esta biblioteca:
+------------------+
| @fiado/type-kit |
+--------+---------+
|
+--------------------+--------------------+
| | |
v v v
+---------------+ +---------------+ +---------------+
| Lambda Card | | Lambda Account| | Lambda Trans |
| Microservice | | Microservice | | Microservice |
+---------------+ +---------------+ +---------------+
| | |
+--------------------+--------------------+
|
v
+------------------+
| API Gateway |
+------------------+
npm install @fiado/type-kit
Esta biblioteca no tiene peer dependencies, pero utiliza internamente:
{
"class-transformer": "^0.5.1",
"class-validator": "^0.14.2"
}
La biblioteca esta organizada en 60+ dominios que cubren todas las areas del negocio:
| Dominio | Descripcion | Contenido |
|---|---|---|
account | Cuentas bancarias y operaciones | 44 DTOs, 12 Enums |
card | Tarjetas fisicas y virtuales | 40 DTOs, 26 Enums |
transaction | Transacciones y movimientos | 24 DTOs, 6 Enums |
directory | Directorios de usuarios | 8 DTOs, 6 Enums |
identity | Verificacion de identidad (KYC) | 7 DTOs, 8 Enums |
authentication | Autenticacion y sesiones | 10 DTOs |
| Dominio | Descripcion | Contenido |
|---|---|---|
transactionProcessor | Procesamiento de transacciones | 39 DTOs, 7 Enums |
centralPayments | Pagos centralizados | 14 DTOs/Enums |
stpSpei | Transferencias SPEI | 10 DTOs/Enums |
servicePayment | Pago de servicios | 4 DTOs/Enums |
collector | Cobranza | 14 DTOs/Enums |
| Dominio | Descripcion | Contenido |
|---|---|---|
beneficiary | Beneficiarios de transferencias | 5 DTOs/Enums |
bankAccount | Cuentas bancarias externas | 10 DTOs/Enums |
address | Direcciones | 24 DTOs/Enums |
contactInfo | Informacion de contacto | 9 DTOs/Enums |
group | Grupos de usuarios | 11 DTOs/Enums |
role | Roles y permisos | 9 DTOs/Enums |
| Dominio | Descripcion | Contenido |
|---|---|---|
riskProfile | Perfiles de riesgo | 13 DTOs, 10 Enums |
fraudPreventionEngine | Prevencion de fraude | 5 DTOs/Enums |
blacklist | Listas negras | 5 DTOs/Enums |
| Dominio | Descripcion | Contenido |
|---|---|---|
issuanceBusiness | Emision de tarjetas | 6 DTOs/Enums |
pricelist | Listas de precios | 9 DTOs/Enums |
services | Catalogo de servicios | 18 DTOs/Enums |
productCatalog | Catalogo de productos | 7 DTOs/Enums |
contract | Contratos | 3 DTOs/Enums |
creditContract | Contratos de credito | 3 DTOs/Enums |
| Dominio | Descripcion | Contenido |
|---|---|---|
notificationMessages | Mensajes y notificaciones | 4 DTOs, 2 Enums |
notificationWS | WebSocket notifications | 2 DTOs/Enums |
helpdesk | Soporte al cliente | 3 DTOs/Enums |
| Dominio | Descripcion | Contenido |
|---|---|---|
header | Token payload de JWT | TokenPayload |
eventBridge | Mensajes de EventBridge | EventBridgeMessageRequest |
genericMessage | Mensajes genericos | GenericMessageSourceEnum |
apiResponse | Respuesta estandar de API | FiadoApiResponse |
queue | Tipos de colas | 1 DTO |
| Dominio | Descripcion |
|---|---|
activity | Actividades de usuario |
app | Configuracion de aplicacion |
auth | Autorizacion |
bbvaRst | Integracion BBVA |
cnbv | Reportes CNBV |
cognitoConnector | Integracion Cognito |
country | Paises y regiones |
currency | Monedas |
device | Dispositivos |
exchangeRate | Tipos de cambio |
observations | Observaciones KYC |
p2pContact | Contactos P2P |
provider | Proveedores |
sessionActivity | Actividad de sesion |
stpAccount | Cuentas STP |
// Importar desde el dominio especifico
import {
AccountCreateRequest,
AccountCreateResponse,
AccountLevelEnum,
BankAccountTypeEnum
} from "@fiado/type-kit/bin/account";
import {
CardActivateRequest,
CardResponse,
CardType,
CardIssuanceStatus
} from "@fiado/type-kit/bin/card";
import {
TransactionCreateRequest,
TransactionStatusEnum,
OperationEnum
} from "@fiado/type-kit/bin/transaction";
import { Account, Card, Transaction } from "@fiado/type-kit";
// Usar con namespace
const request: Account.AccountCreateRequest = { ... };
const cardType: Card.CardType = Card.CardType.VIRTUAL;
const status: Transaction.TransactionStatusEnum = Transaction.TransactionStatusEnum.COMPLETED;
import {
AccountCreateRequest,
AccountCreateResponse,
BankAccountTypeEnum,
AccountLevelEnum
} from "@fiado/type-kit/bin/account";
async function createAccount(data: AccountCreateRequest): Promise<AccountCreateResponse> {
// Validar que el tipo de cuenta sea valido
if (data.accountType === BankAccountTypeEnum.SAVINGS) {
// Logica para cuenta de ahorro
}
// Verificar nivel de cuenta
if (data.level === AccountLevelEnum.LEVEL_2) {
// Requiere verificacion adicional
}
return { accountId: "...", status: "CREATED" };
}
import {
TransactionCreateRequest,
TransactionCreateResponse,
TransactionStatusEnum,
OperationEnum
} from "@fiado/type-kit/bin/transaction";
async function processTransaction(
request: TransactionCreateRequest
): Promise<TransactionCreateResponse> {
if (request.operation === OperationEnum.CREDIT) {
// Procesar credito
} else if (request.operation === OperationEnum.DEBIT) {
// Procesar debito
}
return {
transactionId: "...",
status: TransactionStatusEnum.COMPLETED
};
}
import { validate } from 'class-validator';
import { plainToClass } from 'class-transformer';
import { CardActivateRequest } from "@fiado/type-kit/bin/card";
async function validateRequest(body: any): Promise<CardActivateRequest> {
const request = plainToClass(CardActivateRequest, body);
const errors = await validate(request);
if (errors.length > 0) {
throw new Error(`Validation failed: ${errors.map(e => e.toString()).join(', ')}`);
}
return request;
}
| Tipo | Patron | Ejemplo |
|---|---|---|
| Request | {Entity}{Action}Request | CardActivateRequest, AccountCreateRequest |
| Response | {Entity}{Action}Response | CardBalanceResponse, AccountCreateResponse |
| Query | {Entity}QueryParams | TransactionQueryParams |
| Item | {Entity}Item | TransactionItem, PocketItem |
| Tipo | Patron | Ejemplo |
|---|---|---|
| Status | {Entity}StatusEnum | CardIssuanceStatus, TransactionStatusEnum |
| Type | {Entity}TypeEnum | BankAccountTypeEnum, CardType |
| Operation | {Action}Enum | OperationEnum, PocketOperationTypeEnum |
Requests: DEBEN incluir decoradores de validacion
import { IsNotEmpty, IsString, IsNumber, IsEnum, IsOptional } from 'class-validator';
export class CardActivateRequest {
@IsNotEmpty()
@IsString()
readonly cardId: string;
@IsNotEmpty()
@IsString()
readonly userId: string;
@IsOptional()
@IsEnum(ActivationMethod)
readonly method?: ActivationMethod;
}
Responses: NO deben incluir validaciones
export class CardActivateResponse {
cardId: string;
status: CardIssuanceStatus;
activatedAt: string;
}
Cada dominio sigue esta estructura:
{domain}/
├── dtos/ # Data Transfer Objects
│ ├── {Entity}Request.ts
│ ├── {Entity}Response.ts
│ └── Internal/ # DTOs internos (opcional)
├── enums/ # Enumeraciones
│ ├── {Entity}StatusEnum.ts
│ └── {Entity}TypeEnum.ts
├── entities/ # Entidades base (opcional)
│ └── {Entity}EntityBase.ts
├── constants/ # Constantes (opcional)
│ └── {entity}Constants.ts
└── index.ts # Exportaciones del modulo
account/
├── dtos/
│ ├── AccountCreateRequest.ts
│ ├── AccountCreateResponse.ts
│ ├── AccountUpdateRequest.ts
│ ├── GetAccountResponse.ts
│ ├── GetAccountBalanceResponse.ts
│ ├── BankAccountP2pTransferRequest.ts
│ ├── BankAccountP2pTransferResponse.ts
│ ├── SPEITransferCreateRequest.ts
│ ├── SPEITransferResponse.ts
│ └── ... (44 DTOs total)
├── entities/
│ ├── AccountEntityBase.ts
│ └── BankInfo.ts
├── enums/
│ ├── AccountEntityStatusEnum.ts
│ ├── BankAccountTypeEnum.ts
│ ├── AccountLevelEnum.ts
│ ├── SpeiTransferStatusEnum.ts
│ └── ... (12 Enums total)
└── index.ts
card/
├── dtos/
│ ├── CardActivateRequest.ts
│ ├── CardApplicationRequest.ts
│ ├── CardUpdateRequest.ts
│ ├── CardResponse.ts
│ ├── CardBalanceResponse.ts
│ ├── CardSensitiveInformationResponse.ts
│ └── Internal/
│ ├── CreateBankAccountCardRequest.ts
│ ├── CreateBankAccountCardResponse.ts
│ ├── ActivateBankAccountCardRequest.ts
│ └── ... (DTOs internos)
├── enums/
│ ├── CardType.ts
│ ├── CardIssuanceStatus.ts
│ ├── Brand.ts
│ ├── VirtualOrPhysical.ts
│ ├── ShippingStatus.ts
│ └── issuance/
│ ├── KycStatus.ts
│ ├── UserStatus.ts
│ └── IssuanceFlow.ts
├── validations/
│ └── cardValidations.ts
└── index.ts
Interface para el payload del token JWT de Cognito:
import { TokenPayload } from "@fiado/type-kit/bin/header";
interface TokenPayload {
directoryId: string; // ID del directorio
typeOfDirectoryId: TypeOfDirectoryId;
peopleId: string | null; // ID de persona
sub: string; // Subject (Cognito user ID)
app: string; // Aplicacion origen
issuer: string; // Emisor del token
scope: string; // Scope del token
phoneNumber?: string | null; // Telefono
status: Status | null; // Estado del usuario
id: string; // ID interno
profileId?: string | null; // ID de perfil
email?: string | null; // Email
event_id?: string; // ID de evento
sponsorDirectoryId?: string | null; // Sponsor
}
Interface estandar para respuestas de API:
import FiadoApiResponse from "@fiado/type-kit/bin/apiResponse";
interface FiadoApiResponse<T> {
data: T; // Datos de respuesta
date: string | null; // Timestamp
code: string | null; // Codigo de respuesta
msg: string | null; // Mensaje
description: string | null; // Descripcion
}
Clase para mensajes de EventBridge:
import { EventBridgeMessageRequest } from "@fiado/type-kit/bin/eventBridge";
class EventBridgeMessageRequest<T> extends GenericMessageRequest<T> {
// Hereda propiedades de GenericMessageRequest
// - source: GenericMessageSourceEnum
// - payload: T
// - eventType: string
}
| Dependencia | Version | Proposito |
|---|---|---|
class-transformer | ^0.5.1 | Transformacion de objetos planos a clases |
class-validator | ^0.14.2 | Validacion de DTOs con decoradores |
| Dependencia | Version | Proposito |
|---|---|---|
@types/node | ^20.11.20 | Tipos de Node.js |
typescript | ^5.3.3 | Compilador TypeScript |
npm run build
Genera archivos .js y .d.ts en el directorio bin/.
npm test
npm version patch|minor|major
npm publish
fiado-type-kit/
├── src/ # Codigo fuente
│ ├── index.ts # Exportaciones principales
│ ├── account/ # Dominio Account (59 items)
│ ├── card/ # Dominio Card (69 items)
│ ├── transaction/ # Dominio Transaction (31 items)
│ ├── transactionProcessor/ # Dominio TransactionProcessor (47 items)
│ ├── directory/ # Dominio Directory (15 items)
│ ├── identity/ # Dominio Identity (16 items)
│ ├── riskProfile/ # Dominio RiskProfile (24 items)
│ ├── ... (60+ dominios)
│ └── header/ # TokenPayload
├── bin/ # Archivos compilados
├── package.json
├── tsconfig.json
└── README.md
Fiado Inc. | @fiado/type-kit v2.1.40
FAQs
Unknown package
The npm package @fiado/type-kit receives a total of 7,262 weekly downloads. As such, @fiado/type-kit popularity was classified as popular.
We found that @fiado/type-kit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Enterprise security teams can now detect malware, credential theft, suspicious network activity, and risky updates across Microsoft Edge extensions.

Research
/Security News
Socket researchers found 18 Chrome extensions and one Edge extension delivering a wallet drainer, credential theft, and other malicious payloads.

Product
Create ClickUp tasks from Socket alerts, automate ticketing with custom rules, and keep alert and task status synchronized.