{"version":3,"sources":["../../../../source/schema/groups/zero/zero.ts"],"names":["z","ZERO_SCHEMA","NON_ZERO_SCHEMA","validateZero","value","validateNonZero","isZero","isNegativeZero","isPositiveZero","isNonZero"],"mappings":"AAAA,OAAS,KAAAA,MAAS,MAEX,IAAMC,EAAcD,EAAE,QAAQ,CAAC,EACzBE,EAAkBF,EAAE,OAAO,EAAE,SAAS,EAAE,GAAGA,EAAE,OAAO,EAAE,SAAS,CAAC,EAMtE,SAASG,EAAaC,EAAsC,CAClEH,EAAY,MAAMG,CAAK,CACxB,CAEO,SAASC,EAAgBD,EAAwC,CACvEF,EAAgB,MAAME,CAAK,CAC5B,CAEO,SAASE,EAAOF,EAA8B,CACpD,OAAOH,EAAY,UAAUG,CAAK,EAAE,OACrC,CAEO,SAASG,EAAeH,EAAsC,CACpE,OAAAD,EAAaC,CAAK,EAEX,OAAO,GAAG,GAAIA,CAAK,CAC3B,CAEO,SAASI,EAAeJ,EAAsC,CACpE,MAAO,CAACG,EAAeH,CAAK,CAC7B,CAEO,SAASK,EAAUL,EAAgC,CACzD,OAAOF,EAAgB,UAAUE,CAAK,EAAE,OACzC","sourcesContent":["import { z } from \"zod\";\n\nexport const ZERO_SCHEMA = z.literal(0);\nexport const NON_ZERO_SCHEMA = z.number().negative().or(z.number().positive());\n\nexport type Zero = NegativeZero | PositiveZero;\nexport type PositiveZero = 0;\nexport type NegativeZero = -0;\n\nexport function validateZero(value: number): asserts value is Zero {\n\tZERO_SCHEMA.parse(value);\n}\n\nexport function validateNonZero(value: number): asserts value is number {\n\tNON_ZERO_SCHEMA.parse(value);\n}\n\nexport function isZero(value: number): value is Zero {\n\treturn ZERO_SCHEMA.safeParse(value).success;\n}\n\nexport function isNegativeZero(value: number): value is NegativeZero {\n\tvalidateZero(value);\n\n\treturn Object.is(-0, value);\n}\n\nexport function isPositiveZero(value: number): value is PositiveZero {\n\treturn !isNegativeZero(value);\n}\n\nexport function isNonZero(value: number): value is number {\n\treturn NON_ZERO_SCHEMA.safeParse(value).success;\n}\n"]}