UNPKG

2.15 kBSource Map (JSON)View Raw
1{"version":3,"file":"MemoizeApplicator.js","sourceRoot":"","sources":["../src/applicators/MemoizeApplicator.ts"],"names":[],"mappings":";;;AAAA,8CAAiD;AACjD,0CAA6C;AAE7C,2CAA4D;AAC5D,kCAA2C;AAE3C;IAAuC,6CAAU;IAAjD;;IA2BA,CAAC;IA1BC,iCAAK,GAAL,UAAM,EAAwE;YAAtE,gBAAK,EAAE,sBAAQ,EAAY,2BAAO,EAAI,cAAI,EAAE,kBAAM;QACxD,IAAI,QAAQ,GAAG,uBAAe,CAC5B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAC9E,QAAQ,EACR,MAAM,EACN,KAAK,CACN,CAAC;QAEF,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,IAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChB,IAAA,YAAyB,EAAvB,gBAAK,EAAE,cAAI,CAAa;YAEhC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5B,QAAQ,CAAC,KAAK,GAAG,IAAK,IAAY,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC;IAClB,CAAC;IACH,wBAAC;AAAD,CAAC,AA3BD,CAAuC,uBAAU,GA2BhD;AA3BY,8CAAiB","sourcesContent":["import isFunction = require('lodash/isFunction');\nimport isObject = require('lodash/isObject');\n\nimport { Applicator, ApplicateOptions } from './Applicator';\nimport { resolveFunction } from '../utils';\n\nexport class MemoizeApplicator extends Applicator {\n apply({ value, instance, config: { execute }, args, target }: ApplicateOptions): any {\n let resolver = resolveFunction(\n isFunction(args[0]) ? args[0] : isObject(args[0]) ? args[0].resolver : args[0],\n instance,\n target,\n false\n );\n\n if (resolver && instance) {\n resolver = resolver.bind(instance);\n }\n\n const memoized = resolver ? execute(value, resolver) : execute(value);\n\n if (isObject(args[0])) {\n const { cache, type } = args[0];\n\n if (cache) {\n memoized.cache = cache;\n } else if (isFunction(type)) {\n memoized.cache = new (type as any)();\n }\n }\n\n return memoized;\n }\n}\n"]}
\No newline at end of file