@bemedev/types
Version:
Type definitions for Bemedev projects
1 lines • 3.28 kB
Source Map (JSON)
{"version":3,"file":"utils.cjs","sources":["../src/utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { AnyArray, Fn } from './types/types';\n\ntype PartialCall_F = <\n T extends AnyArray = AnyArray,\n U extends AnyArray = AnyArray,\n R = any,\n>(\n f: Fn<[...T, ...U], R>,\n ...headArgs: T\n) => (...tailArgs: U) => R;\n\nexport const partialCall: PartialCall_F = (f, ...headArgs) => {\n return (...tailArgs) => f(...headArgs, ...tailArgs);\n};\n\nexport function isPlainObject(value: any): value is object {\n return (\n Object.prototype.toString.call(value) == '[object Object]' &&\n value.constructor &&\n value.constructor.name == 'Object'\n );\n}\n\nexport const _unknown = <T>(value?: unknown) => value as T;\n\nexport type FnBasic<Main extends Fn, Tr extends object> = Tr & Main;\n\nexport const castFn = <T>() => {\n const _out = <const Tr extends object = object>(extensions?: Tr) => {\n const out = expandFn((arg: T) => arg, {\n ...(extensions as Tr),\n forceCast: (arg: unknown) => {\n return _unknown<T>(arg);\n },\n dynamic: <U extends T>(arg: U) => {\n return arg;\n },\n });\n return out;\n };\n return _out;\n};\n\nexport const typeFn = <T = any>() => {\n const _out = <Tr extends object = object>(extensions?: Tr) => {\n const out = expandFn((_?: T) => _unknown<T>(), {\n ...(extensions as Tr),\n forceCast: (_?: unknown) => _unknown<T>(),\n dynamic: <U extends T>(_?: U) => _unknown<U>(),\n is: <U>(_?: U) => _unknown<U extends T ? true : false>(),\n type: _unknown<T>(),\n });\n\n return out;\n };\n\n return _out;\n};\n\nexport const expandFn = <\n Main extends Fn,\n const Tr extends object = object,\n>(\n main: Main,\n extensions?: Tr,\n): FnBasic<Main, Tr> => {\n const out: any = main;\n\n if (extensions) {\n Object.assign(out, extensions);\n }\n\n return out;\n};\n"],"names":[],"mappings":";;AAYO,MAAM,WAAW,GAAkB,CAAC,CAAC,EAAE,GAAG,QAAQ,KAAI;AAC3D,IAAA,OAAO,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC;AACrD;AAEM,SAAU,aAAa,CAAC,KAAU,EAAA;AACtC,IAAA,QACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,iBAAiB;AAC1D,QAAA,KAAK,CAAC,WAAW;AACjB,QAAA,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ;AAEtC;AAEO,MAAM,QAAQ,GAAG,CAAI,KAAe,KAAK;AAIzC,MAAM,MAAM,GAAG,MAAQ;AAC5B,IAAA,MAAM,IAAI,GAAG,CAAmC,UAAe,KAAI;QACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAM,KAAK,GAAG,EAAE;AACpC,YAAA,GAAI,UAAiB;AACrB,YAAA,SAAS,EAAE,CAAC,GAAY,KAAI;AAC1B,gBAAA,OAAO,QAAQ,CAAI,GAAG,CAAC;YACzB,CAAC;AACD,YAAA,OAAO,EAAE,CAAc,GAAM,KAAI;AAC/B,gBAAA,OAAO,GAAG;YACZ,CAAC;AACF,SAAA,CAAC;AACF,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC;AACD,IAAA,OAAO,IAAI;AACb;AAEO,MAAM,MAAM,GAAG,MAAc;AAClC,IAAA,MAAM,IAAI,GAAG,CAA6B,UAAe,KAAI;QAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAK,KAAK,QAAQ,EAAK,EAAE;AAC7C,YAAA,GAAI,UAAiB;AACrB,YAAA,SAAS,EAAE,CAAC,CAAW,KAAK,QAAQ,EAAK;AACzC,YAAA,OAAO,EAAE,CAAc,CAAK,KAAK,QAAQ,EAAK;AAC9C,YAAA,EAAE,EAAE,CAAI,CAAK,KAAK,QAAQ,EAA8B;YACxD,IAAI,EAAE,QAAQ,EAAK;AACpB,SAAA,CAAC;AAEF,QAAA,OAAO,GAAG;AACZ,IAAA,CAAC;AAED,IAAA,OAAO,IAAI;AACb;MAEa,QAAQ,GAAG,CAItB,IAAU,EACV,UAAe,KACM;IACrB,MAAM,GAAG,GAAQ,IAAI;IAErB,IAAI,UAAU,EAAE;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC;IAChC;AAEA,IAAA,OAAO,GAAG;AACZ;;;;;;;;;"}