Object
size

📏 Returns the size (length, count, or byte length) of a collection.

The following types are supported:

  • String: Number of characters.
  • Array: Number of elements.
  • Plain Object: Number of enumerable own string-keyed properties.
  • Map & Set: Number of entries.
  • ArrayBuffer, TypedArray, & DataView: Byte length or number of elements.
⚠️

Returns -1 if the value is an unsupported type (e.g., null, undefined, number, boolean).

Syntax

import { size } from '@opentf/std';
 
size(val: unknown): number

Parameters

  • val: The value to measure.

Returns

The size of the collection, or -1 if unsupported.

Examples

// --- Strings ---
size('') //=> 0
size('abc') //=> 3
 
// --- Arrays ---
size([]) //=> 0
size([1, 2, 3]) //=> 3
 
// --- Objects ---
size({}) //=> 0
size({ a: 1, b: 2 }) //=> 2
 
// --- Maps & Sets ---
size(new Map([['a', 1]])) //=> 1
size(new Set([1, 2])) //=> 2
 
// --- Buffers ---
size(new ArrayBuffer(8)) //=> 8
size(new Uint8Array(10)) //=> 10
 
// --- Unsupported ---
size(null) //=> -1
size(123) //=> -1

Try