UNPKG

@localzet/xtls-sdk

Version:

TypeScript SDK for XRAY/AURA Core

37 lines 1.32 kB
import { User } from '../../../xray-protos/common/protocol/user'; import { DecodedUser } from './types'; /** * Decodes a User object into a DecodedUser with credentials and metadata. * The function extracts account credentials based on the account type and protocol. * * @param user - The User object to decode, containing account information including: * - email: User's email address used as username * - level: User's permission level * - account: Object containing account type and encoded credentials * @returns DecodedUser object containing: * - Protocol-specific credentials decoded from the account value * - Protocol identifier * - Username (from email) * - Permission level * @throws Error if user object is missing account information * @throws Error if account type is not recognized * * @example * const user = { * email: "user@example.com", * level: 1, * account: { * type: "standard", * value: Buffer.from("...") // Encoded credentials * } * }; * const decoded = decodeUser(user); * // Returns: { * // standard: { ... decoded credentials ... }, * // protocol: "standard", * // username: "user@example.com", * // level: 1 * // } */ export declare const decodeUser: (user: User) => DecodedUser; //# sourceMappingURL=decode-user.d.ts.map