0.3.0 • Published 4 months ago

@crosspost/types v0.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 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

4 months ago

0.2.12

5 months ago

0.2.11

5 months ago

0.2.10

5 months ago

0.2.9

5 months ago

0.2.8

5 months ago

0.2.7

5 months ago

0.2.6

6 months ago

0.2.5

6 months ago

0.2.4

6 months ago

0.2.2

6 months ago

0.2.1

6 months ago

0.2.0

6 months ago

0.1.14

6 months ago

0.1.13

6 months ago

0.1.12

6 months ago

0.1.11

6 months ago

0.1.10

6 months ago

0.1.9

6 months ago

0.1.8

6 months ago

0.1.7

6 months ago

0.1.6

6 months ago

0.1.5

6 months ago

0.1.4

6 months ago

0.1.3

6 months ago

0.1.2

6 months ago