{"version":3,"sources":["../../source/schema/groups/number/number.ts","../../source/misc/misc.ts"],"names":["isPrimitive","validatePrimitive","NUMBER_SCHEMA","validateNumber","value","isHappyNumber","number","seen","sum","digit"],"mappings":"AAAA,OAAS,eAAAA,EAAa,qBAAAC,MAAyB,0CAE/C,OAAS,iBAAAC,MAAqB,0CAGvB,SAASC,EAAeC,EAAyC,CACvE,OAAOH,EAAkBG,EAAO,QAAQ,CACzC,CCJO,SAASC,EAAcC,EAAyB,CACtDH,EAAeG,CAAM,EAErB,IAAMC,EAAoB,IAAI,IAE9B,KAAOD,IAAW,GAAK,CAACC,EAAK,IAAID,CAAM,GACtCC,EAAK,IAAID,CAAM,EACfA,EAAS,CAAC,GAAGA,EAAO,SAAS,CAAC,EAAE,OAAO,CAACE,EAAKC,IAAUD,EAAM,OAAOC,CAAK,GAAK,EAAG,CAAC,EAGnF,OAAOH,IAAW,CACnB","sourcesContent":["import { isPrimitive, validatePrimitive } from \"@terminal-nerds/snippets-type/primitive\";\n\nexport { NUMBER_SCHEMA } from \"@terminal-nerds/snippets-type/primitive\";\n\n/** NOTE: This snippet doesn't consider `NaN` as number! */\nexport function validateNumber(value: unknown): asserts value is number {\n\treturn validatePrimitive(value, \"number\");\n}\n\n/** NOTE: This snippet doesn't consider `NaN` as number! */\nexport function isNumber(value: unknown): value is number {\n\treturn isPrimitive(value, \"number\");\n}\n","import { validateNumber } from \"../schema/groups/number/number.ts\";\n\n/** @see {@link https://en.wikipedia.org/wiki/Happy_number} Happy number */\nexport function isHappyNumber(number: number): boolean {\n\tvalidateNumber(number);\n\n\tconst seen: Set<number> = new Set<number>();\n\n\twhile (number !== 1 && !seen.has(number)) {\n\t\tseen.add(number);\n\t\tnumber = [...number.toString()].reduce((sum, digit) => sum + Number(digit) ** 2, 0);\n\t}\n\n\treturn number === 1;\n}\n"]}