0.3.0 • Published 8 months ago

@crosspost/types v0.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

@crosspost/types

Shared type definitions for the Crosspost API and SDK.

Overview

This package contains TypeScript type definitions, including:

  • Common types (PlatformName, ApiErrorCode, etc.)
  • Request types for all API endpoints
  • Response types for all API endpoints

Installation

Node.js

npm install @crosspost/types

Deno

// Import from JSR
import { PlatformName } from '@crosspost/types';

// Or import directly from GitHub
import { PlatformName } from 'https://raw.githubusercontent.com/your-org/crosspost/main/packages/types/mod.ts';

Usage

import { CreatePostRequest, CreatePostResponse, PlatformName } from '@crosspost/types';

// Use the types in your code
const platform: PlatformName = 'twitter';

const request: CreatePostRequest = {
  targets: [{ platform: 'twitter', userId: 'your-twitter-id' }],
  content: {
    text: 'Hello, world!',
  },
};

// Type checking for responses
function handleResponse(response: CreatePostResponse) {
  console.log(`Post created with ID: ${response.id}`);
}

Available Types

Common Types

  • PlatformName - Supported social media platforms
  • ApiErrorCode - Error codes returned by the API
  • ApiError - Error structure returned by the API

Enhanced Response Types

  • EnhancedApiResponse<T> - Standard response format with metadata
  • EnhancedErrorResponse - Error response format
  • ErrorDetail - Detailed error information
  • SuccessDetail - Success information for multi-status responses
  • MultiStatusResponse - Response format for operations with partial success/failure

Helper Functions

  • createEnhancedApiResponse - Create a standard response
  • createEnhancedErrorResponse - Create an error response
  • createErrorDetail - Create detailed error information
  • createSuccessDetail - Create success information
  • createMultiStatusResponse - Create a multi-status response

Example usage:

import { ApiErrorCode, createEnhancedApiResponse, createErrorDetail } from '@crosspost/types';

// Success response
const response = createEnhancedApiResponse({
  id: '123',
  text: 'Hello, world!',
});

// Error response
const errorResponse = createEnhancedErrorResponse([
  createErrorDetail(
    'Post not found',
    ApiErrorCode.NOT_FOUND,
    'twitter',
    'user123',
    false,
  ),
]);
0.3.0

8 months ago

0.2.12

9 months ago

0.2.11

9 months ago

0.2.10

9 months ago

0.2.9

9 months ago

0.2.8

9 months ago

0.2.7

9 months ago

0.2.6

10 months ago

0.2.5

10 months ago

0.2.4

10 months ago

0.2.2

10 months ago

0.2.1

10 months ago

0.2.0

10 months ago

0.1.14

10 months ago

0.1.13

10 months ago

0.1.12

10 months ago

0.1.11

10 months ago

0.1.10

10 months ago

0.1.9

10 months ago

0.1.8

10 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