npm.io
0.0.92 • Published 4d ago

@pooflabs/core

Licence
MIT
Version
0.0.92
Deps
11
Size
1.6 MB
Vulns
0
Weekly
0

@tarobase/core

Core functionality for Tarobase SDKs. This package provides the shared functionality used by both the web and server SDKs.

Installation

npm install @tarobase/core

Usage

This package is typically not used directly, but is instead used as a dependency by @tarobase/web and @tarobase/server. If you're building a browser application, use @tarobase/web. If you're building a server application, use @tarobase/server.

API Reference

Core Types
export interface ClientConfig {
  appId: string;
  apiUrl: string;
  authMethod: string;
  privyConfig?: any;
  chain?: string;
  useSessionStorage?: boolean;
}

export interface AuthProvider {
  login(): Promise<User | null>;
  runTransaction(evmTransactionData?: EVMTransaction, solTransactionData?: SolTransaction, options?: SetOptions): Promise<TransactionResult>;
  signMessage(message: string): Promise<string>;
  restoreSession(): Promise<User | null>;
  logout(): Promise<void>;
  getNativeMethods(): Promise<any>;
}

export interface User {
  address: string;
  provider: AuthProvider;
}

export interface GetManyResult {
  path: string;
  data: any | null;
  error?: {
    code: 'NOT_FOUND' | 'UNAUTHORIZED' | 'INVALID_PATH';
    message: string;
  };
}
Core Operations
// Initialize the SDK
function configInit(newConfig: Partial<ClientConfig>, options?: SessionOptions): Promise<void>;

// Get the current configuration
function getConfig(): Promise<ClientConfig>;

// Data operations
function get(path: string): Promise<any>;
function getMany(paths: string[], options?: { bypassCache?: boolean }): Promise<GetManyResult[]>;
function set(path: string, data: any, options?: SetOptions): Promise<any>;
function setMany(paths: { [key: string]: any }, options?: SetOptions): Promise<any>;
function setFile(path: string, file: File, metadata?: any): Promise<any>;
function getFiles(path: string): Promise<any>;
function runQuery(queryString: string, variables?: any): Promise<any>;
function runQueryMany(queryString: string, variables?: any): Promise<any>;

// Subscription
function subscribe(path: string, options?: SubscriptionOptions): Promise<() => void>;

Contributing

Please see the main repository for contribution guidelines.

Keywords