/** * @module * * Utility types and functions. */ import type { MemberClassKeys, MemberedClass } from './members.js'; import type { Type } from './type.js'; /** * Get reusable data view of buffer. * * @param buffer Array buffer. * @returns Data view. */ export declare function dataView(buffer: ArrayBufferLike): DataView; /** * Parse property key to array index (see CanonicalNumericIndexString). * * @param key Property key. * @returns Number or undefined if not a numeric index. */ export declare function parseIndex(key: string | symbol): number | undefined; /** * Get byte offset of member. * * @template T Type class. * @param Type Type class. * @param name Member name. * @returns Byte offset. */ export declare function getByteOffset(Type: T, name: MemberClassKeys): number; /** * Get byte length of member. * * @template T Type class. * @param Type Type class. * @param name Member name. * @returns Byte length. */ export declare function getByteLength(Type: T, name: MemberClassKeys): number; /** * Get members of type. * Array indexes then member keys from highest to lowest inheritance. * * @template T Type class. * @param Type Type class. * @returns Member list. */ export declare function getMembers(Type: T): (keyof InstanceType)[]; /** * Assign ArrayBuffer data from one view to another. * * @template D Destination type. * @param dst Destination memory. * @param src Source memory of equal or greater size. * @returns Destination memory. */ export declare function assignView(dst: D, src: ArrayBufferView): D; /** * Assign ArrayBuffer data from one type to another. * * @template D Destination type. * @template S Source type. * @param dst Destination type. * @param src Source type, must extend destination type. * @returns Destination type. */ export declare function assignType(dst: D, src: S): D; //# sourceMappingURL=util.d.ts.map