diff options
author | Sebastian <sebasjm@gmail.com> | 2021-08-23 16:46:06 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-08-23 16:48:30 -0300 |
commit | 38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch) | |
tree | 453dbf70000cc5e338b06201af1eaca8343f8f73 /@linaria/packages/babel/src/utils/isBoxedPrimitive.ts | |
parent | f26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff) | |
download | node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.gz node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.bz2 node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.zip |
Diffstat (limited to '@linaria/packages/babel/src/utils/isBoxedPrimitive.ts')
-rw-r--r-- | @linaria/packages/babel/src/utils/isBoxedPrimitive.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/@linaria/packages/babel/src/utils/isBoxedPrimitive.ts b/@linaria/packages/babel/src/utils/isBoxedPrimitive.ts new file mode 100644 index 0000000..2d20eec --- /dev/null +++ b/@linaria/packages/babel/src/utils/isBoxedPrimitive.ts @@ -0,0 +1,10 @@ +// There is a problem with using boxed numbers and strings in TS, +// so we cannot just use `instanceof` here + +const constructors = ['Number', 'String']; +export default function isBoxedPrimitive(o: any): o is Number | String { + return ( + constructors.includes(o.constructor.name) && + typeof o?.valueOf() !== 'object' + ); +} |