@toreda/strong-types
Version:
Better TypeScript code in fewer lines.
1 lines • 1.06 kB
Source Map (JSON)
{"version":3,"sources":["../src/type/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAEnE;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,sBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAQrG;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,kBAAY,CAAC","file":"match.d.ts","sourcesContent":["import type {Guarded, PrimitiveOrConstructor} from '@toreda/types';\n\n/**\n * Determine whether object is an instance of provided type or className.\n * @param o\n * @param className\n * @returns\n *\n * @category Validators\n */\nexport function typeMatch<T extends PrimitiveOrConstructor>(o: unknown, className: T): o is Guarded<T> {\n\tconst localPrimitiveOrConstructor: PrimitiveOrConstructor = className;\n\n\tif (typeof localPrimitiveOrConstructor === 'string') {\n\t\treturn typeof o === localPrimitiveOrConstructor;\n\t}\n\n\treturn o instanceof localPrimitiveOrConstructor;\n}\n\n/**\n * Alias for typeMatch for backwards compat.\n *\n * @category Validators\n */\nexport const isType = typeMatch;\n"]}