UNPKG

@web3r/flowerkit

Version:

Tree-shakable JavaScript and TypeScript utility library for frontend/browser apps: DOM, events, arrays, objects, strings, date, JSON, and network helpers (ESM/CJS, SSR-friendly).

1 lines 1.27 kB
{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["export type TGetObjLengthArgs = Parameters<typeof getObjLength>;\r\n\r\nexport type TGetObjLengthReturn = ReturnType<typeof getObjLength>;\r\n\r\n/**\r\n * Gets a length of given object\r\n * @param {Record<string, unknown>|unknown[]} [obj={}] Source Object or Array\r\n * @returns {number} Number of keys or array length\r\n * @throws {TypeError} getObjLength: obj must be an object or array\r\n * @example\r\n * // How to count number of object keys?\r\n * const obj = { key1: \"value1\", key2: \"value2\" };\r\n * const objLength = getObjLength(obj);\r\n * console.log(objLength); // => 2\r\n */\r\nexport const getObjLength = (obj: Record<string, unknown> | unknown[] = {}): number => {\r\n if (Array.isArray(obj)) {\r\n return obj.length;\r\n }\r\n if (obj === null || typeof obj !== \"object\") {\r\n throw new TypeError(\"getObjLength: obj must be an object or array\");\r\n }\r\n return Object.keys(obj).length;\r\n};\r\n"],"names":["getObjLength","obj","Array","isArray","length","TypeError","Object","keys"],"mappings":";;;;;;;;;;;AAeO,MAAMA,aAAeA,CAACC,IAA2C,MACtE,GAAIC,MAAMC,QAAQF,KAChB,OAAOA,IAAIG,OAEb,GAAIH,MAAQ,aAAeA,MAAQ,SACjC,MAAM,IAAII,UAAU,gDAEtB,OAAOC,OAAOC,KAAKN,KAAKG"}