UNPKG

@transferwise/neptune-validation

Version:
1 lines 4.32 kB
{"version":3,"file":"index.mjs","sources":["../src/type-validators/index.ts","../src/value-validators/index.ts","../src/common/keyMap.ts","../src/event-validators/isKey.ts"],"sourcesContent":["export const isString = (value: unknown): value is string => typeof value === 'string';\nexport const isNumber = (value: unknown): value is number =>\n typeof value === 'number' && !Number.isNaN(value);\nexport const isInteger = (value: unknown): value is number => {\n return isNumber(value) && Math.floor(value) === value;\n};\nexport const isBoolean = (value: unknown): value is boolean => typeof value === 'boolean';\n\nexport const isObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && !isNull(value) && value.constructor === Object;\nexport const isArray = (value: unknown): value is unknown[] => Array.isArray(value);\nexport const isNull = (value: unknown): value is null => value === null;\nexport const isUndefined = (value: unknown): value is undefined => typeof value === 'undefined';\n","import { isString, isObject, isArray } from '../type-validators';\n\n/**\n * Checks empty values for arrays, objects and strings.\n */\nexport const isEmpty = (value: unknown) =>\n (isString(value) && value.length === 0) ||\n ((isObject(value) || isArray(value)) && Object.keys(value).length === 0);\n","export const keyMap = {\n SPACE: { key: [' ', 'Spacebar'], keyCode: 32 },\n ENTER: { key: 'Enter', keyCode: 13 },\n TAB: { key: 'Tab', keyCode: 9 },\n ESCAPE: { key: 'Escape', keyCode: 27 },\n} as const;\n","import { keyMap } from '../common/keyMap';\nimport { isArray } from '../type-validators';\n\nconst isKey = ({ keyType, event }: { keyType?: string; event?: Partial<KeyboardEvent> | null }) => {\n if (!keyType || !event) {\n return false;\n }\n\n const upperCaseKeyType = keyType.toUpperCase();\n if (!Object.hasOwn(keyMap, upperCaseKeyType)) {\n return false;\n }\n const keyDef = keyMap[upperCaseKeyType as keyof typeof keyMap];\n\n const { key, keyCode } = event;\n\n if (key) {\n return isArray(keyDef.key) ? keyDef.key.includes(key) : key === keyDef.key;\n }\n\n return keyCode === keyDef.keyCode;\n};\n\nexport default isKey;\n"],"names":["isString","value","isNumber","Number","isNaN","isInteger","Math","floor","isBoolean","isObject","isNull","constructor","Object","isArray","Array","isUndefined","isEmpty","length","keys","keyMap","SPACE","key","keyCode","ENTER","TAB","ESCAPE","isKey","keyType","event","upperCaseKeyType","toUpperCase","hasOwn","keyDef","includes"],"mappings":"AAAO,MAAMA,QAAQ,GAAIC,KAAc,IAAsB,OAAOA,KAAK,KAAK;MACjEC,QAAQ,GAAID,KAAc,IACrC,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACE,MAAM,CAACC,KAAK,CAACH,KAAK;AACrCI,MAAAA,SAAS,GAAIJ,KAAc,IAAqB;AAC3D,EAAA,OAAOC,QAAQ,CAACD,KAAK,CAAC,IAAIK,IAAI,CAACC,KAAK,CAACN,KAAK,CAAC,KAAKA,KAAK;AACvD;AACO,MAAMO,SAAS,GAAIP,KAAc,IAAuB,OAAOA,KAAK,KAAK;AAEzE,MAAMQ,QAAQ,GAAIR,KAAc,IACrC,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACS,MAAM,CAACT,KAAK,CAAC,IAAIA,KAAK,CAACU,WAAW,KAAKC;AAChE,MAAMC,OAAO,GAAIZ,KAAc,IAAyBa,KAAK,CAACD,OAAO,CAACZ,KAAK;MACrES,MAAM,GAAIT,KAAc,IAAoBA,KAAK,KAAK;AAC5D,MAAMc,WAAW,GAAId,KAAc,IAAyB,OAAOA,KAAK,KAAK;;ACVpF;;AAEG;MACUe,OAAO,GAAIf,KAAc,IACnCD,QAAQ,CAACC,KAAK,CAAC,IAAIA,KAAK,CAACgB,MAAM,KAAK,CAAC,IACrC,CAACR,QAAQ,CAACR,KAAK,CAAC,IAAIY,OAAO,CAACZ,KAAK,CAAC,KAAKW,MAAM,CAACM,IAAI,CAACjB,KAAK,CAAC,CAACgB,MAAM,KAAK;;ACPjE,MAAME,MAAM,GAAG;AACpBC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC;AAAEC,IAAAA,OAAO,EAAE;GAAI;AAC9CC,EAAAA,KAAK,EAAE;AAAEF,IAAAA,GAAG,EAAE,OAAO;AAAEC,IAAAA,OAAO,EAAE;GAAI;AACpCE,EAAAA,GAAG,EAAE;AAAEH,IAAAA,GAAG,EAAE,KAAK;AAAEC,IAAAA,OAAO,EAAE;GAAG;AAC/BG,EAAAA,MAAM,EAAE;AAAEJ,IAAAA,GAAG,EAAE,QAAQ;AAAEC,IAAAA,OAAO,EAAE;AAAI;CAC9B;;ACFJI,MAAAA,KAAK,GAAGA,CAAC;EAAEC,OAAO;AAAEC,EAAAA;AAAoE,CAAA,KAAI;AAChG,EAAA,IAAI,CAACD,OAAO,IAAI,CAACC,KAAK,EAAE;AACtB,IAAA,OAAO,KAAK;AACd;AAEA,EAAA,MAAMC,gBAAgB,GAAGF,OAAO,CAACG,WAAW,EAAE;EAC9C,IAAI,CAAClB,MAAM,CAACmB,MAAM,CAACZ,MAAM,EAAEU,gBAAgB,CAAC,EAAE;AAC5C,IAAA,OAAO,KAAK;AACd;AACA,EAAA,MAAMG,MAAM,GAAGb,MAAM,CAACU,gBAAuC,CAAC;EAE9D,MAAM;IAAER,GAAG;AAAEC,IAAAA;AAAS,GAAA,GAAGM,KAAK;AAE9B,EAAA,IAAIP,GAAG,EAAE;IACP,OAAOR,OAAO,CAACmB,MAAM,CAACX,GAAG,CAAC,GAAGW,MAAM,CAACX,GAAG,CAACY,QAAQ,CAACZ,GAAG,CAAC,GAAGA,GAAG,KAAKW,MAAM,CAACX,GAAG;AAC5E;AAEA,EAAA,OAAOC,OAAO,KAAKU,MAAM,CAACV,OAAO;AACnC;;;;"}