0.2.0 • Published 7 months ago

@federa/shared v0.2.0

Weekly downloads
-
License
AGPL-3.0
Repository
-
Last release
7 months ago

@federa/shared

Este paquete proporciona tipos, interfaces y utilidades compartidas para todos los paquetes de Federa.

Características

  • Tipos comunes: Definiciones de tipos para usuarios, posts, interacciones, etc.
  • Interfaces comunes: Interfaces para adaptadores de plataformas, clientes, etc.
  • Utilidades HTTP: Funciones para realizar peticiones HTTP.
  • Utilidades comunes: Funciones de utilidad para manipulación de datos, fechas, etc.

Instalación

npm install @federa/shared

Uso

import { 
  SocialPlatformAdapter, 
  SocialClient, 
  NormalizedPost, 
  TimelineOptions,
  get, 
  post, 
  parseJson 
} from '@federa/shared';

// Usar tipos
const post: NormalizedPost = {
  id: '123',
  federatedId: 'fed123',
  platform: 'mastodon',
  content: 'Hello world!',
  author: {
    id: 'user1',
    username: 'user1',
    displayName: 'User One'
  },
  createdAt: new Date(),
  likeCount: 0,
  repostCount: 0,
  replyCount: 0
};

// Usar utilidades HTTP
async function fetchData() {
  const response = await get('https://api.example.com/data');
  const data = await parseJson(response);
  return data;
}

// Implementar interfaces
class MyAdapter implements SocialPlatformAdapter {
  // Implementación de la interfaz
}

Estructura

federa-shared
├── types
│   ├── federation.ts    # Tipos para federación
│   ├── normalized.ts    # Tipos normalizados
│   ├── post.ts          # Tipos para posts
│   └── user.ts          # Tipos para usuarios
├── interfaces
│   ├── SocialPlatformAdapter.ts  # Interfaz para adaptadores
│   └── SocialClient.ts           # Interfaz para clientes
└── utils
    ├── http.ts          # Utilidades HTTP
    └── common.ts        # Utilidades comunes

Relación con otros paquetes

Este paquete es una dependencia de todos los demás paquetes de Federa:

  • @federa/federation: Utiliza los tipos y utilidades para implementar protocolos de federación.
  • @federa/bluesky: Utiliza los tipos y utilidades para implementar el cliente de Bluesky.
  • @federa/mastodon: Utiliza los tipos y utilidades para implementar el cliente de Mastodon.
  • @federa/pixelfed: Utiliza los tipos y utilidades para implementar el cliente de PixelFed.
  • @federa/lypub: Utiliza los tipos y utilidades para implementar el cliente de LyPub.
  • @federa/integration: Utiliza los tipos y utilidades para implementar la capa de integración.

Licencia

AGPL-3.0

0.2.0

7 months ago

0.1.8

7 months ago

0.1.7

10 months ago

0.1.6

10 months ago

0.1.5

10 months ago

0.1.4

10 months ago

0.1.3

10 months ago

0.1.2

10 months ago

0.1.1

10 months ago

0.1.0

10 months ago