UNPKG

pic-js-mops

Version:

An Internet Computer Protocol canister testing library for TypeScript and JavaScript.

23 lines (19 loc) 491 B
import { IDL } from '@icp-sdk/core/candid'; import { isNil } from './is-nil.js'; export function optional<T>(value: T | undefined | null): [] | [T] { return isNil(value) ? [] : [value]; } export function decodeCandid<T>( types: IDL.Type[], data: Uint8Array, ): T | null { const returnValues = IDL.decode(types, data); switch (returnValues.length) { case 0: return null; case 1: return returnValues[0] as T; default: return returnValues as T; } }