0.2.0 • Published 10 months ago

@federa/shared v0.2.0

Weekly downloads
-
License
AGPL-3.0
Repository
-
Last release
10 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

10 months ago

0.1.8

10 months ago

0.1.7

12 months ago

0.1.6

12 months ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago