From 80d342913ab7f3dc3e1a549a3b7cb866b6b84e64 Mon Sep 17 00:00:00 2001 From: "scott.sun" <scott.sun@topibd.com> Date: Thu, 16 Apr 2020 12:38:40 +0800 Subject: [PATCH] s --- config.js | 1092 ++-- config1.js | 194 + config2.js | 306 ++ jtg js/JTG_NET_set_drill_attribute_aim.js | 88 + jtg js/JTG_ORG_backup_layers_aim.js | 88 + jtg js/JTG_ORG_create_outline_aim.js | 88 + jtg js/JTG_ORG_delete_profile_aim.js | 88 + jtg js/JTG_ORG_input_data_aim.js | 148 + jtg js/JTG_ORG_set_origin_aim.js | 88 + jtg js/JTG_PUB_auto_save_job_aim.js | 88 + jtg js/JTG_PUB_copy_step_aim.js | 88 + jtg js/node_modules/@types/console/index.d.ts | 12 + jtg js/node_modules/@types/events/index.d.ts | 28 + jtg js/node_modules/@types/fs/index.d.ts | 335 ++ jtg js/node_modules/@types/lodash/LICENSE | 21 + jtg js/node_modules/@types/lodash/README.md | 16 + jtg js/node_modules/@types/lodash/add.d.ts | 2 + jtg js/node_modules/@types/lodash/after.d.ts | 2 + jtg js/node_modules/@types/lodash/ary.d.ts | 2 + jtg js/node_modules/@types/lodash/assign.d.ts | 2 + .../node_modules/@types/lodash/assignIn.d.ts | 2 + .../@types/lodash/assignInWith.d.ts | 2 + .../@types/lodash/assignWith.d.ts | 2 + jtg js/node_modules/@types/lodash/at.d.ts | 2 + .../node_modules/@types/lodash/attempt.d.ts | 2 + jtg js/node_modules/@types/lodash/before.d.ts | 2 + jtg js/node_modules/@types/lodash/bind.d.ts | 2 + .../node_modules/@types/lodash/bindAll.d.ts | 2 + .../node_modules/@types/lodash/bindKey.d.ts | 2 + .../node_modules/@types/lodash/camelCase.d.ts | 2 + .../@types/lodash/capitalize.d.ts | 2 + .../node_modules/@types/lodash/castArray.d.ts | 2 + jtg js/node_modules/@types/lodash/ceil.d.ts | 2 + jtg js/node_modules/@types/lodash/chain.d.ts | 2 + jtg js/node_modules/@types/lodash/chunk.d.ts | 2 + jtg js/node_modules/@types/lodash/clamp.d.ts | 2 + jtg js/node_modules/@types/lodash/clone.d.ts | 2 + .../node_modules/@types/lodash/cloneDeep.d.ts | 2 + .../@types/lodash/cloneDeepWith.d.ts | 2 + .../node_modules/@types/lodash/cloneWith.d.ts | 2 + .../@types/lodash/common/array.d.ts | 3708 +++++++++++++ .../@types/lodash/common/collection.d.ts | 2575 +++++++++ .../@types/lodash/common/common.d.ts | 268 + .../@types/lodash/common/date.d.ts | 27 + .../@types/lodash/common/function.d.ts | 1473 +++++ .../@types/lodash/common/lang.d.ts | 2065 +++++++ .../@types/lodash/common/math.d.ts | 532 ++ .../@types/lodash/common/number.d.ts | 178 + .../@types/lodash/common/object.d.ts | 3761 +++++++++++++ .../@types/lodash/common/seq.d.ts | 196 + .../@types/lodash/common/string.d.ts | 1059 ++++ .../@types/lodash/common/util.d.ts | 1463 +++++ .../node_modules/@types/lodash/compact.d.ts | 2 + jtg js/node_modules/@types/lodash/concat.d.ts | 2 + jtg js/node_modules/@types/lodash/cond.d.ts | 2 + .../@types/lodash/conformsTo.d.ts | 2 + .../node_modules/@types/lodash/constant.d.ts | 2 + .../node_modules/@types/lodash/countBy.d.ts | 2 + jtg js/node_modules/@types/lodash/create.d.ts | 2 + jtg js/node_modules/@types/lodash/curry.d.ts | 2 + .../@types/lodash/curryRight.d.ts | 2 + .../node_modules/@types/lodash/debounce.d.ts | 2 + jtg js/node_modules/@types/lodash/deburr.d.ts | 2 + .../node_modules/@types/lodash/defaultTo.d.ts | 2 + .../node_modules/@types/lodash/defaults.d.ts | 2 + .../@types/lodash/defaultsDeep.d.ts | 2 + jtg js/node_modules/@types/lodash/defer.d.ts | 2 + jtg js/node_modules/@types/lodash/delay.d.ts | 2 + .../@types/lodash/difference.d.ts | 2 + .../@types/lodash/differenceBy.d.ts | 2 + .../@types/lodash/differenceWith.d.ts | 2 + jtg js/node_modules/@types/lodash/divide.d.ts | 2 + jtg js/node_modules/@types/lodash/drop.d.ts | 2 + .../node_modules/@types/lodash/dropRight.d.ts | 2 + .../@types/lodash/dropRightWhile.d.ts | 2 + .../node_modules/@types/lodash/dropWhile.d.ts | 2 + jtg js/node_modules/@types/lodash/each.d.ts | 2 + .../node_modules/@types/lodash/eachRight.d.ts | 2 + .../node_modules/@types/lodash/endsWith.d.ts | 2 + .../node_modules/@types/lodash/entries.d.ts | 2 + .../node_modules/@types/lodash/entriesIn.d.ts | 2 + jtg js/node_modules/@types/lodash/eq.d.ts | 2 + jtg js/node_modules/@types/lodash/escape.d.ts | 2 + .../@types/lodash/escapeRegExp.d.ts | 2 + jtg js/node_modules/@types/lodash/every.d.ts | 2 + jtg js/node_modules/@types/lodash/extend.d.ts | 2 + .../@types/lodash/extendWith.d.ts | 2 + jtg js/node_modules/@types/lodash/fill.d.ts | 2 + jtg js/node_modules/@types/lodash/filter.d.ts | 2 + jtg js/node_modules/@types/lodash/find.d.ts | 2 + .../node_modules/@types/lodash/findIndex.d.ts | 2 + .../node_modules/@types/lodash/findKey.d.ts | 2 + .../node_modules/@types/lodash/findLast.d.ts | 2 + .../@types/lodash/findLastIndex.d.ts | 2 + .../@types/lodash/findLastKey.d.ts | 2 + jtg js/node_modules/@types/lodash/first.d.ts | 2 + .../node_modules/@types/lodash/flatMap.d.ts | 2 + .../@types/lodash/flatMapDeep.d.ts | 2 + .../@types/lodash/flatMapDepth.d.ts | 2 + .../node_modules/@types/lodash/flatten.d.ts | 2 + .../@types/lodash/flattenDeep.d.ts | 2 + .../@types/lodash/flattenDepth.d.ts | 2 + jtg js/node_modules/@types/lodash/flip.d.ts | 2 + jtg js/node_modules/@types/lodash/floor.d.ts | 2 + jtg js/node_modules/@types/lodash/flow.d.ts | 2 + .../node_modules/@types/lodash/flowRight.d.ts | 2 + .../node_modules/@types/lodash/forEach.d.ts | 2 + .../@types/lodash/forEachRight.d.ts | 2 + jtg js/node_modules/@types/lodash/forIn.d.ts | 2 + .../@types/lodash/forInRight.d.ts | 2 + jtg js/node_modules/@types/lodash/forOwn.d.ts | 2 + .../@types/lodash/forOwnRight.d.ts | 2 + jtg js/node_modules/@types/lodash/fp.d.ts | 4765 +++++++++++++++++ jtg js/node_modules/@types/lodash/fp/F.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/T.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/__.d.ts | 3 + jtg js/node_modules/@types/lodash/fp/add.d.ts | 2 + .../node_modules/@types/lodash/fp/after.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/all.d.ts | 2 + .../@types/lodash/fp/allPass.d.ts | 2 + .../node_modules/@types/lodash/fp/always.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/any.d.ts | 2 + .../@types/lodash/fp/anyPass.d.ts | 2 + .../node_modules/@types/lodash/fp/apply.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/ary.d.ts | 2 + .../node_modules/@types/lodash/fp/assign.d.ts | 2 + .../@types/lodash/fp/assignAll.d.ts | 2 + .../@types/lodash/fp/assignAllWith.d.ts | 2 + .../@types/lodash/fp/assignIn.d.ts | 2 + .../@types/lodash/fp/assignInAll.d.ts | 2 + .../@types/lodash/fp/assignInAllWith.d.ts | 2 + .../@types/lodash/fp/assignInWith.d.ts | 2 + .../@types/lodash/fp/assignWith.d.ts | 2 + .../node_modules/@types/lodash/fp/assoc.d.ts | 2 + .../@types/lodash/fp/assocPath.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/at.d.ts | 2 + .../@types/lodash/fp/attempt.d.ts | 2 + .../node_modules/@types/lodash/fp/before.d.ts | 2 + .../node_modules/@types/lodash/fp/bind.d.ts | 2 + .../@types/lodash/fp/bindAll.d.ts | 2 + .../@types/lodash/fp/bindKey.d.ts | 2 + .../@types/lodash/fp/camelCase.d.ts | 2 + .../@types/lodash/fp/capitalize.d.ts | 2 + .../@types/lodash/fp/castArray.d.ts | 2 + .../node_modules/@types/lodash/fp/ceil.d.ts | 2 + .../node_modules/@types/lodash/fp/chunk.d.ts | 2 + .../node_modules/@types/lodash/fp/clamp.d.ts | 2 + .../node_modules/@types/lodash/fp/clone.d.ts | 2 + .../@types/lodash/fp/cloneDeep.d.ts | 2 + .../@types/lodash/fp/cloneDeepWith.d.ts | 2 + .../@types/lodash/fp/cloneWith.d.ts | 2 + .../@types/lodash/fp/compact.d.ts | 2 + .../@types/lodash/fp/complement.d.ts | 2 + .../@types/lodash/fp/compose.d.ts | 2 + .../node_modules/@types/lodash/fp/concat.d.ts | 2 + .../node_modules/@types/lodash/fp/cond.d.ts | 2 + .../@types/lodash/fp/conforms.d.ts | 2 + .../@types/lodash/fp/conformsTo.d.ts | 2 + .../@types/lodash/fp/constant.d.ts | 2 + .../@types/lodash/fp/contains.d.ts | 2 + .../@types/lodash/fp/convert.d.ts | 15 + .../@types/lodash/fp/countBy.d.ts | 2 + .../node_modules/@types/lodash/fp/create.d.ts | 2 + .../node_modules/@types/lodash/fp/curry.d.ts | 2 + .../node_modules/@types/lodash/fp/curryN.d.ts | 2 + .../@types/lodash/fp/curryRight.d.ts | 2 + .../@types/lodash/fp/curryRightN.d.ts | 2 + .../@types/lodash/fp/debounce.d.ts | 2 + .../node_modules/@types/lodash/fp/deburr.d.ts | 2 + .../@types/lodash/fp/defaultTo.d.ts | 2 + .../@types/lodash/fp/defaults.d.ts | 2 + .../@types/lodash/fp/defaultsAll.d.ts | 2 + .../@types/lodash/fp/defaultsDeep.d.ts | 2 + .../@types/lodash/fp/defaultsDeepAll.d.ts | 2 + .../node_modules/@types/lodash/fp/defer.d.ts | 2 + .../node_modules/@types/lodash/fp/delay.d.ts | 2 + .../@types/lodash/fp/difference.d.ts | 2 + .../@types/lodash/fp/differenceBy.d.ts | 2 + .../@types/lodash/fp/differenceWith.d.ts | 2 + .../node_modules/@types/lodash/fp/dissoc.d.ts | 2 + .../@types/lodash/fp/dissocPath.d.ts | 2 + .../node_modules/@types/lodash/fp/divide.d.ts | 2 + .../node_modules/@types/lodash/fp/drop.d.ts | 2 + .../@types/lodash/fp/dropLast.d.ts | 2 + .../@types/lodash/fp/dropLastWhile.d.ts | 2 + .../@types/lodash/fp/dropRight.d.ts | 2 + .../@types/lodash/fp/dropRightWhile.d.ts | 2 + .../@types/lodash/fp/dropWhile.d.ts | 2 + .../node_modules/@types/lodash/fp/each.d.ts | 2 + .../@types/lodash/fp/eachRight.d.ts | 2 + .../@types/lodash/fp/endsWith.d.ts | 2 + .../@types/lodash/fp/entries.d.ts | 2 + .../@types/lodash/fp/entriesIn.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/eq.d.ts | 2 + .../node_modules/@types/lodash/fp/equals.d.ts | 2 + .../node_modules/@types/lodash/fp/escape.d.ts | 2 + .../@types/lodash/fp/escapeRegExp.d.ts | 2 + .../node_modules/@types/lodash/fp/every.d.ts | 2 + .../node_modules/@types/lodash/fp/extend.d.ts | 2 + .../@types/lodash/fp/extendAll.d.ts | 2 + .../@types/lodash/fp/extendAllWith.d.ts | 2 + .../@types/lodash/fp/extendWith.d.ts | 2 + .../node_modules/@types/lodash/fp/fill.d.ts | 2 + .../node_modules/@types/lodash/fp/filter.d.ts | 2 + .../node_modules/@types/lodash/fp/find.d.ts | 2 + .../@types/lodash/fp/findFrom.d.ts | 2 + .../@types/lodash/fp/findIndex.d.ts | 2 + .../@types/lodash/fp/findIndexFrom.d.ts | 2 + .../@types/lodash/fp/findKey.d.ts | 2 + .../@types/lodash/fp/findLast.d.ts | 2 + .../@types/lodash/fp/findLastFrom.d.ts | 2 + .../@types/lodash/fp/findLastIndex.d.ts | 2 + .../@types/lodash/fp/findLastIndexFrom.d.ts | 2 + .../@types/lodash/fp/findLastKey.d.ts | 2 + .../node_modules/@types/lodash/fp/first.d.ts | 2 + .../@types/lodash/fp/flatMap.d.ts | 2 + .../@types/lodash/fp/flatMapDeep.d.ts | 2 + .../@types/lodash/fp/flatMapDepth.d.ts | 2 + .../@types/lodash/fp/flatten.d.ts | 2 + .../@types/lodash/fp/flattenDeep.d.ts | 2 + .../@types/lodash/fp/flattenDepth.d.ts | 2 + .../node_modules/@types/lodash/fp/flip.d.ts | 2 + .../node_modules/@types/lodash/fp/floor.d.ts | 2 + .../node_modules/@types/lodash/fp/flow.d.ts | 2 + .../@types/lodash/fp/flowRight.d.ts | 2 + .../@types/lodash/fp/forEach.d.ts | 2 + .../@types/lodash/fp/forEachRight.d.ts | 2 + .../node_modules/@types/lodash/fp/forIn.d.ts | 2 + .../@types/lodash/fp/forInRight.d.ts | 2 + .../node_modules/@types/lodash/fp/forOwn.d.ts | 2 + .../@types/lodash/fp/forOwnRight.d.ts | 2 + .../@types/lodash/fp/fromPairs.d.ts | 2 + .../@types/lodash/fp/functions.d.ts | 2 + .../@types/lodash/fp/functionsIn.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/get.d.ts | 2 + .../node_modules/@types/lodash/fp/getOr.d.ts | 2 + .../@types/lodash/fp/groupBy.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/gt.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/gte.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/has.d.ts | 2 + .../node_modules/@types/lodash/fp/hasIn.d.ts | 2 + .../node_modules/@types/lodash/fp/head.d.ts | 2 + .../@types/lodash/fp/identical.d.ts | 2 + .../@types/lodash/fp/identity.d.ts | 2 + .../@types/lodash/fp/inRange.d.ts | 2 + .../@types/lodash/fp/includes.d.ts | 2 + .../@types/lodash/fp/includesFrom.d.ts | 2 + .../@types/lodash/fp/indexBy.d.ts | 2 + .../@types/lodash/fp/indexOf.d.ts | 2 + .../@types/lodash/fp/indexOfFrom.d.ts | 2 + .../node_modules/@types/lodash/fp/init.d.ts | 2 + .../@types/lodash/fp/initial.d.ts | 2 + .../@types/lodash/fp/intersection.d.ts | 2 + .../@types/lodash/fp/intersectionBy.d.ts | 2 + .../@types/lodash/fp/intersectionWith.d.ts | 2 + .../node_modules/@types/lodash/fp/invert.d.ts | 2 + .../@types/lodash/fp/invertBy.d.ts | 2 + .../@types/lodash/fp/invertObj.d.ts | 2 + .../node_modules/@types/lodash/fp/invoke.d.ts | 2 + .../@types/lodash/fp/invokeArgs.d.ts | 2 + .../@types/lodash/fp/invokeArgsMap.d.ts | 2 + .../@types/lodash/fp/invokeMap.d.ts | 2 + .../@types/lodash/fp/isArguments.d.ts | 2 + .../@types/lodash/fp/isArray.d.ts | 2 + .../@types/lodash/fp/isArrayBuffer.d.ts | 2 + .../@types/lodash/fp/isArrayLike.d.ts | 2 + .../@types/lodash/fp/isArrayLikeObject.d.ts | 2 + .../@types/lodash/fp/isBoolean.d.ts | 2 + .../@types/lodash/fp/isBuffer.d.ts | 2 + .../node_modules/@types/lodash/fp/isDate.d.ts | 2 + .../@types/lodash/fp/isElement.d.ts | 2 + .../@types/lodash/fp/isEmpty.d.ts | 2 + .../@types/lodash/fp/isEqual.d.ts | 2 + .../@types/lodash/fp/isEqualWith.d.ts | 2 + .../@types/lodash/fp/isError.d.ts | 2 + .../@types/lodash/fp/isFinite.d.ts | 2 + .../@types/lodash/fp/isFunction.d.ts | 2 + .../@types/lodash/fp/isInteger.d.ts | 2 + .../@types/lodash/fp/isLength.d.ts | 2 + .../node_modules/@types/lodash/fp/isMap.d.ts | 2 + .../@types/lodash/fp/isMatch.d.ts | 2 + .../@types/lodash/fp/isMatchWith.d.ts | 2 + .../node_modules/@types/lodash/fp/isNaN.d.ts | 2 + .../@types/lodash/fp/isNative.d.ts | 2 + .../node_modules/@types/lodash/fp/isNil.d.ts | 2 + .../node_modules/@types/lodash/fp/isNull.d.ts | 2 + .../@types/lodash/fp/isNumber.d.ts | 2 + .../@types/lodash/fp/isObject.d.ts | 2 + .../@types/lodash/fp/isObjectLike.d.ts | 2 + .../@types/lodash/fp/isPlainObject.d.ts | 2 + .../@types/lodash/fp/isRegExp.d.ts | 2 + .../@types/lodash/fp/isSafeInteger.d.ts | 2 + .../node_modules/@types/lodash/fp/isSet.d.ts | 2 + .../@types/lodash/fp/isString.d.ts | 2 + .../@types/lodash/fp/isSymbol.d.ts | 2 + .../@types/lodash/fp/isTypedArray.d.ts | 2 + .../@types/lodash/fp/isUndefined.d.ts | 2 + .../@types/lodash/fp/isWeakMap.d.ts | 2 + .../@types/lodash/fp/isWeakSet.d.ts | 2 + .../@types/lodash/fp/iteratee.d.ts | 2 + .../node_modules/@types/lodash/fp/join.d.ts | 2 + .../node_modules/@types/lodash/fp/juxt.d.ts | 2 + .../@types/lodash/fp/kebabCase.d.ts | 2 + .../node_modules/@types/lodash/fp/keyBy.d.ts | 2 + .../node_modules/@types/lodash/fp/keys.d.ts | 2 + .../node_modules/@types/lodash/fp/keysIn.d.ts | 2 + .../node_modules/@types/lodash/fp/last.d.ts | 2 + .../@types/lodash/fp/lastIndexOf.d.ts | 2 + .../@types/lodash/fp/lastIndexOfFrom.d.ts | 2 + .../@types/lodash/fp/lowerCase.d.ts | 2 + .../@types/lodash/fp/lowerFirst.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/lt.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/lte.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/map.d.ts | 2 + .../@types/lodash/fp/mapKeys.d.ts | 2 + .../@types/lodash/fp/mapValues.d.ts | 2 + .../@types/lodash/fp/matches.d.ts | 2 + .../@types/lodash/fp/matchesProperty.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/max.d.ts | 2 + .../node_modules/@types/lodash/fp/maxBy.d.ts | 2 + .../node_modules/@types/lodash/fp/mean.d.ts | 2 + .../node_modules/@types/lodash/fp/meanBy.d.ts | 2 + .../@types/lodash/fp/memoize.d.ts | 2 + .../node_modules/@types/lodash/fp/merge.d.ts | 2 + .../@types/lodash/fp/mergeAll.d.ts | 2 + .../@types/lodash/fp/mergeAllWith.d.ts | 2 + .../@types/lodash/fp/mergeWith.d.ts | 2 + .../node_modules/@types/lodash/fp/method.d.ts | 2 + .../@types/lodash/fp/methodOf.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/min.d.ts | 2 + .../node_modules/@types/lodash/fp/minBy.d.ts | 2 + .../@types/lodash/fp/multiply.d.ts | 2 + .../node_modules/@types/lodash/fp/nAry.d.ts | 2 + .../node_modules/@types/lodash/fp/negate.d.ts | 2 + .../@types/lodash/fp/noConflict.d.ts | 2 + .../node_modules/@types/lodash/fp/noop.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/now.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/nth.d.ts | 2 + .../node_modules/@types/lodash/fp/nthArg.d.ts | 2 + .../node_modules/@types/lodash/fp/omit.d.ts | 2 + .../@types/lodash/fp/omitAll.d.ts | 2 + .../node_modules/@types/lodash/fp/omitBy.d.ts | 2 + .../node_modules/@types/lodash/fp/once.d.ts | 2 + .../@types/lodash/fp/orderBy.d.ts | 2 + .../node_modules/@types/lodash/fp/over.d.ts | 2 + .../@types/lodash/fp/overArgs.d.ts | 2 + .../@types/lodash/fp/overEvery.d.ts | 2 + .../@types/lodash/fp/overSome.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/pad.d.ts | 2 + .../@types/lodash/fp/padChars.d.ts | 2 + .../@types/lodash/fp/padCharsEnd.d.ts | 2 + .../@types/lodash/fp/padCharsStart.d.ts | 2 + .../node_modules/@types/lodash/fp/padEnd.d.ts | 2 + .../@types/lodash/fp/padStart.d.ts | 2 + .../@types/lodash/fp/parseInt.d.ts | 2 + .../@types/lodash/fp/partial.d.ts | 2 + .../@types/lodash/fp/partialRight.d.ts | 2 + .../@types/lodash/fp/partition.d.ts | 2 + .../node_modules/@types/lodash/fp/path.d.ts | 2 + .../node_modules/@types/lodash/fp/pathEq.d.ts | 2 + .../node_modules/@types/lodash/fp/pathOr.d.ts | 2 + .../node_modules/@types/lodash/fp/paths.d.ts | 2 + .../node_modules/@types/lodash/fp/pick.d.ts | 2 + .../@types/lodash/fp/pickAll.d.ts | 2 + .../node_modules/@types/lodash/fp/pickBy.d.ts | 2 + .../node_modules/@types/lodash/fp/pipe.d.ts | 2 + .../@types/lodash/fp/placeholder.d.ts | 3 + .../node_modules/@types/lodash/fp/pluck.d.ts | 2 + .../node_modules/@types/lodash/fp/prop.d.ts | 2 + .../node_modules/@types/lodash/fp/propEq.d.ts | 2 + .../node_modules/@types/lodash/fp/propOr.d.ts | 2 + .../@types/lodash/fp/property.d.ts | 2 + .../@types/lodash/fp/propertyOf.d.ts | 2 + .../node_modules/@types/lodash/fp/props.d.ts | 2 + .../node_modules/@types/lodash/fp/pull.d.ts | 2 + .../@types/lodash/fp/pullAll.d.ts | 2 + .../@types/lodash/fp/pullAllBy.d.ts | 2 + .../@types/lodash/fp/pullAllWith.d.ts | 2 + .../node_modules/@types/lodash/fp/pullAt.d.ts | 2 + .../node_modules/@types/lodash/fp/random.d.ts | 2 + .../node_modules/@types/lodash/fp/range.d.ts | 2 + .../@types/lodash/fp/rangeRight.d.ts | 2 + .../@types/lodash/fp/rangeStep.d.ts | 2 + .../@types/lodash/fp/rangeStepRight.d.ts | 2 + .../node_modules/@types/lodash/fp/rearg.d.ts | 2 + .../node_modules/@types/lodash/fp/reduce.d.ts | 2 + .../@types/lodash/fp/reduceRight.d.ts | 2 + .../node_modules/@types/lodash/fp/reject.d.ts | 2 + .../node_modules/@types/lodash/fp/remove.d.ts | 2 + .../node_modules/@types/lodash/fp/repeat.d.ts | 2 + .../@types/lodash/fp/replace.d.ts | 2 + .../node_modules/@types/lodash/fp/rest.d.ts | 2 + .../@types/lodash/fp/restFrom.d.ts | 2 + .../node_modules/@types/lodash/fp/result.d.ts | 2 + .../@types/lodash/fp/reverse.d.ts | 2 + .../node_modules/@types/lodash/fp/round.d.ts | 2 + .../@types/lodash/fp/runInContext.d.ts | 2 + .../node_modules/@types/lodash/fp/sample.d.ts | 2 + .../@types/lodash/fp/sampleSize.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/set.d.ts | 2 + .../@types/lodash/fp/setWith.d.ts | 2 + .../@types/lodash/fp/shuffle.d.ts | 2 + .../node_modules/@types/lodash/fp/size.d.ts | 2 + .../node_modules/@types/lodash/fp/slice.d.ts | 2 + .../@types/lodash/fp/snakeCase.d.ts | 2 + .../node_modules/@types/lodash/fp/some.d.ts | 2 + .../node_modules/@types/lodash/fp/sortBy.d.ts | 2 + .../@types/lodash/fp/sortedIndex.d.ts | 2 + .../@types/lodash/fp/sortedIndexBy.d.ts | 2 + .../@types/lodash/fp/sortedIndexOf.d.ts | 2 + .../@types/lodash/fp/sortedLastIndex.d.ts | 2 + .../@types/lodash/fp/sortedLastIndexBy.d.ts | 2 + .../@types/lodash/fp/sortedLastIndexOf.d.ts | 2 + .../@types/lodash/fp/sortedUniq.d.ts | 2 + .../@types/lodash/fp/sortedUniqBy.d.ts | 2 + .../node_modules/@types/lodash/fp/split.d.ts | 2 + .../node_modules/@types/lodash/fp/spread.d.ts | 2 + .../@types/lodash/fp/spreadFrom.d.ts | 2 + .../@types/lodash/fp/startCase.d.ts | 2 + .../@types/lodash/fp/startsWith.d.ts | 2 + .../@types/lodash/fp/stubArray.d.ts | 2 + .../@types/lodash/fp/stubFalse.d.ts | 2 + .../@types/lodash/fp/stubObject.d.ts | 2 + .../@types/lodash/fp/stubString.d.ts | 2 + .../@types/lodash/fp/stubTrue.d.ts | 2 + .../@types/lodash/fp/subtract.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/sum.d.ts | 2 + .../node_modules/@types/lodash/fp/sumBy.d.ts | 2 + .../@types/lodash/fp/symmetricDifference.d.ts | 2 + .../lodash/fp/symmetricDifferenceBy.d.ts | 2 + .../lodash/fp/symmetricDifferenceWith.d.ts | 2 + .../node_modules/@types/lodash/fp/tail.d.ts | 2 + .../node_modules/@types/lodash/fp/take.d.ts | 2 + .../@types/lodash/fp/takeLast.d.ts | 2 + .../@types/lodash/fp/takeLastWhile.d.ts | 2 + .../@types/lodash/fp/takeRight.d.ts | 2 + .../@types/lodash/fp/takeRightWhile.d.ts | 2 + .../@types/lodash/fp/takeWhile.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/tap.d.ts | 2 + .../@types/lodash/fp/template.d.ts | 2 + .../@types/lodash/fp/throttle.d.ts | 2 + .../node_modules/@types/lodash/fp/thru.d.ts | 2 + .../node_modules/@types/lodash/fp/times.d.ts | 2 + .../@types/lodash/fp/toArray.d.ts | 2 + .../@types/lodash/fp/toFinite.d.ts | 2 + .../@types/lodash/fp/toInteger.d.ts | 2 + .../@types/lodash/fp/toLength.d.ts | 2 + .../@types/lodash/fp/toLower.d.ts | 2 + .../@types/lodash/fp/toNumber.d.ts | 2 + .../@types/lodash/fp/toPairs.d.ts | 2 + .../@types/lodash/fp/toPairsIn.d.ts | 2 + .../node_modules/@types/lodash/fp/toPath.d.ts | 2 + .../@types/lodash/fp/toPlainObject.d.ts | 2 + .../@types/lodash/fp/toSafeInteger.d.ts | 2 + .../@types/lodash/fp/toString.d.ts | 2 + .../@types/lodash/fp/toUpper.d.ts | 2 + .../@types/lodash/fp/transform.d.ts | 2 + .../node_modules/@types/lodash/fp/trim.d.ts | 2 + .../@types/lodash/fp/trimChars.d.ts | 2 + .../@types/lodash/fp/trimCharsEnd.d.ts | 2 + .../@types/lodash/fp/trimCharsStart.d.ts | 2 + .../@types/lodash/fp/trimEnd.d.ts | 2 + .../@types/lodash/fp/trimStart.d.ts | 2 + .../@types/lodash/fp/truncate.d.ts | 2 + .../@types/lodash/fp/unapply.d.ts | 2 + .../node_modules/@types/lodash/fp/unary.d.ts | 2 + .../@types/lodash/fp/unescape.d.ts | 2 + .../node_modules/@types/lodash/fp/union.d.ts | 2 + .../@types/lodash/fp/unionBy.d.ts | 2 + .../@types/lodash/fp/unionWith.d.ts | 2 + .../node_modules/@types/lodash/fp/uniq.d.ts | 2 + .../node_modules/@types/lodash/fp/uniqBy.d.ts | 2 + .../@types/lodash/fp/uniqWith.d.ts | 2 + .../@types/lodash/fp/uniqueId.d.ts | 2 + .../node_modules/@types/lodash/fp/unnest.d.ts | 2 + .../node_modules/@types/lodash/fp/unset.d.ts | 2 + .../node_modules/@types/lodash/fp/unzip.d.ts | 2 + .../@types/lodash/fp/unzipWith.d.ts | 2 + .../node_modules/@types/lodash/fp/update.d.ts | 2 + .../@types/lodash/fp/updateWith.d.ts | 2 + .../@types/lodash/fp/upperCase.d.ts | 2 + .../@types/lodash/fp/upperFirst.d.ts | 2 + .../@types/lodash/fp/useWith.d.ts | 2 + .../node_modules/@types/lodash/fp/values.d.ts | 2 + .../@types/lodash/fp/valuesIn.d.ts | 2 + .../node_modules/@types/lodash/fp/where.d.ts | 2 + .../@types/lodash/fp/whereEq.d.ts | 2 + .../@types/lodash/fp/without.d.ts | 2 + .../node_modules/@types/lodash/fp/words.d.ts | 2 + .../node_modules/@types/lodash/fp/wrap.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/xor.d.ts | 2 + .../node_modules/@types/lodash/fp/xorBy.d.ts | 2 + .../@types/lodash/fp/xorWith.d.ts | 2 + jtg js/node_modules/@types/lodash/fp/zip.d.ts | 2 + .../node_modules/@types/lodash/fp/zipAll.d.ts | 2 + .../node_modules/@types/lodash/fp/zipObj.d.ts | 2 + .../@types/lodash/fp/zipObject.d.ts | 2 + .../@types/lodash/fp/zipObjectDeep.d.ts | 2 + .../@types/lodash/fp/zipWith.d.ts | 2 + .../node_modules/@types/lodash/fromPairs.d.ts | 2 + .../node_modules/@types/lodash/functions.d.ts | 2 + .../@types/lodash/functionsIn.d.ts | 2 + jtg js/node_modules/@types/lodash/get.d.ts | 2 + .../node_modules/@types/lodash/groupBy.d.ts | 2 + jtg js/node_modules/@types/lodash/gt.d.ts | 2 + jtg js/node_modules/@types/lodash/gte.d.ts | 2 + jtg js/node_modules/@types/lodash/has.d.ts | 2 + jtg js/node_modules/@types/lodash/hasIn.d.ts | 2 + jtg js/node_modules/@types/lodash/head.d.ts | 2 + .../node_modules/@types/lodash/identity.d.ts | 2 + .../node_modules/@types/lodash/inRange.d.ts | 2 + .../node_modules/@types/lodash/includes.d.ts | 2 + jtg js/node_modules/@types/lodash/index.d.ts | 47 + .../node_modules/@types/lodash/indexOf.d.ts | 2 + .../node_modules/@types/lodash/initial.d.ts | 2 + .../@types/lodash/intersection.d.ts | 2 + .../@types/lodash/intersectionBy.d.ts | 2 + .../@types/lodash/intersectionWith.d.ts | 2 + jtg js/node_modules/@types/lodash/invert.d.ts | 2 + .../node_modules/@types/lodash/invertBy.d.ts | 2 + jtg js/node_modules/@types/lodash/invoke.d.ts | 2 + .../node_modules/@types/lodash/invokeMap.d.ts | 2 + .../@types/lodash/isArguments.d.ts | 2 + .../node_modules/@types/lodash/isArray.d.ts | 2 + .../@types/lodash/isArrayBuffer.d.ts | 2 + .../@types/lodash/isArrayLike.d.ts | 2 + .../@types/lodash/isArrayLikeObject.d.ts | 2 + .../node_modules/@types/lodash/isBoolean.d.ts | 2 + .../node_modules/@types/lodash/isBuffer.d.ts | 2 + jtg js/node_modules/@types/lodash/isDate.d.ts | 2 + .../node_modules/@types/lodash/isElement.d.ts | 2 + .../node_modules/@types/lodash/isEmpty.d.ts | 2 + .../node_modules/@types/lodash/isEqual.d.ts | 2 + .../@types/lodash/isEqualWith.d.ts | 2 + .../node_modules/@types/lodash/isError.d.ts | 2 + .../node_modules/@types/lodash/isFinite.d.ts | 2 + .../@types/lodash/isFunction.d.ts | 2 + .../node_modules/@types/lodash/isInteger.d.ts | 2 + .../node_modules/@types/lodash/isLength.d.ts | 2 + jtg js/node_modules/@types/lodash/isMap.d.ts | 2 + .../node_modules/@types/lodash/isMatch.d.ts | 2 + .../@types/lodash/isMatchWith.d.ts | 2 + jtg js/node_modules/@types/lodash/isNaN.d.ts | 2 + .../node_modules/@types/lodash/isNative.d.ts | 2 + jtg js/node_modules/@types/lodash/isNil.d.ts | 2 + jtg js/node_modules/@types/lodash/isNull.d.ts | 2 + .../node_modules/@types/lodash/isNumber.d.ts | 2 + .../node_modules/@types/lodash/isObject.d.ts | 2 + .../@types/lodash/isObjectLike.d.ts | 2 + .../@types/lodash/isPlainObject.d.ts | 2 + .../node_modules/@types/lodash/isRegExp.d.ts | 2 + .../@types/lodash/isSafeInteger.d.ts | 2 + jtg js/node_modules/@types/lodash/isSet.d.ts | 2 + .../node_modules/@types/lodash/isString.d.ts | 2 + .../node_modules/@types/lodash/isSymbol.d.ts | 2 + .../@types/lodash/isTypedArray.d.ts | 2 + .../@types/lodash/isUndefined.d.ts | 2 + .../node_modules/@types/lodash/isWeakMap.d.ts | 2 + .../node_modules/@types/lodash/isWeakSet.d.ts | 2 + .../node_modules/@types/lodash/iteratee.d.ts | 2 + jtg js/node_modules/@types/lodash/join.d.ts | 2 + .../node_modules/@types/lodash/kebabCase.d.ts | 2 + jtg js/node_modules/@types/lodash/keyBy.d.ts | 2 + jtg js/node_modules/@types/lodash/keys.d.ts | 2 + jtg js/node_modules/@types/lodash/keysIn.d.ts | 2 + jtg js/node_modules/@types/lodash/last.d.ts | 2 + .../@types/lodash/lastIndexOf.d.ts | 2 + .../node_modules/@types/lodash/lowerCase.d.ts | 2 + .../@types/lodash/lowerFirst.d.ts | 2 + jtg js/node_modules/@types/lodash/lt.d.ts | 2 + jtg js/node_modules/@types/lodash/lte.d.ts | 2 + jtg js/node_modules/@types/lodash/map.d.ts | 2 + .../node_modules/@types/lodash/mapKeys.d.ts | 2 + .../node_modules/@types/lodash/mapValues.d.ts | 2 + .../node_modules/@types/lodash/matches.d.ts | 2 + .../@types/lodash/matchesProperty.d.ts | 2 + jtg js/node_modules/@types/lodash/max.d.ts | 2 + jtg js/node_modules/@types/lodash/maxBy.d.ts | 2 + jtg js/node_modules/@types/lodash/mean.d.ts | 2 + jtg js/node_modules/@types/lodash/meanBy.d.ts | 2 + .../node_modules/@types/lodash/memoize.d.ts | 2 + jtg js/node_modules/@types/lodash/merge.d.ts | 2 + .../node_modules/@types/lodash/mergeWith.d.ts | 2 + jtg js/node_modules/@types/lodash/method.d.ts | 2 + .../node_modules/@types/lodash/methodOf.d.ts | 2 + jtg js/node_modules/@types/lodash/min.d.ts | 2 + jtg js/node_modules/@types/lodash/minBy.d.ts | 2 + jtg js/node_modules/@types/lodash/mixin.d.ts | 2 + jtg js/node_modules/@types/lodash/negate.d.ts | 2 + .../@types/lodash/noConflict.d.ts | 2 + jtg js/node_modules/@types/lodash/noop.d.ts | 2 + jtg js/node_modules/@types/lodash/now.d.ts | 2 + jtg js/node_modules/@types/lodash/nth.d.ts | 2 + jtg js/node_modules/@types/lodash/nthArg.d.ts | 2 + jtg js/node_modules/@types/lodash/omit.d.ts | 2 + jtg js/node_modules/@types/lodash/omitBy.d.ts | 2 + jtg js/node_modules/@types/lodash/once.d.ts | 2 + .../node_modules/@types/lodash/orderBy.d.ts | 2 + jtg js/node_modules/@types/lodash/over.d.ts | 2 + .../node_modules/@types/lodash/overArgs.d.ts | 2 + .../node_modules/@types/lodash/overEvery.d.ts | 2 + .../node_modules/@types/lodash/overSome.d.ts | 2 + .../node_modules/@types/lodash/package.json | 84 + jtg js/node_modules/@types/lodash/pad.d.ts | 2 + jtg js/node_modules/@types/lodash/padEnd.d.ts | 2 + .../node_modules/@types/lodash/padStart.d.ts | 2 + .../node_modules/@types/lodash/parseInt.d.ts | 2 + .../node_modules/@types/lodash/partial.d.ts | 2 + .../@types/lodash/partialRight.d.ts | 2 + .../node_modules/@types/lodash/partition.d.ts | 2 + jtg js/node_modules/@types/lodash/pick.d.ts | 2 + jtg js/node_modules/@types/lodash/pickBy.d.ts | 2 + .../node_modules/@types/lodash/property.d.ts | 2 + .../@types/lodash/propertyOf.d.ts | 2 + jtg js/node_modules/@types/lodash/pull.d.ts | 2 + .../node_modules/@types/lodash/pullAll.d.ts | 2 + .../node_modules/@types/lodash/pullAllBy.d.ts | 2 + .../@types/lodash/pullAllWith.d.ts | 2 + jtg js/node_modules/@types/lodash/pullAt.d.ts | 2 + jtg js/node_modules/@types/lodash/random.d.ts | 2 + jtg js/node_modules/@types/lodash/range.d.ts | 2 + .../@types/lodash/rangeRight.d.ts | 2 + jtg js/node_modules/@types/lodash/rearg.d.ts | 2 + jtg js/node_modules/@types/lodash/reduce.d.ts | 2 + .../@types/lodash/reduceRight.d.ts | 2 + jtg js/node_modules/@types/lodash/reject.d.ts | 2 + jtg js/node_modules/@types/lodash/remove.d.ts | 2 + jtg js/node_modules/@types/lodash/repeat.d.ts | 2 + .../node_modules/@types/lodash/replace.d.ts | 2 + jtg js/node_modules/@types/lodash/rest.d.ts | 2 + jtg js/node_modules/@types/lodash/result.d.ts | 2 + .../node_modules/@types/lodash/reverse.d.ts | 2 + jtg js/node_modules/@types/lodash/round.d.ts | 2 + .../@types/lodash/runInContext.d.ts | 2 + jtg js/node_modules/@types/lodash/sample.d.ts | 2 + .../@types/lodash/sampleSize.d.ts | 2 + jtg js/node_modules/@types/lodash/set.d.ts | 2 + .../node_modules/@types/lodash/setWith.d.ts | 2 + .../node_modules/@types/lodash/shuffle.d.ts | 2 + jtg js/node_modules/@types/lodash/size.d.ts | 2 + jtg js/node_modules/@types/lodash/slice.d.ts | 2 + .../node_modules/@types/lodash/snakeCase.d.ts | 2 + jtg js/node_modules/@types/lodash/some.d.ts | 2 + jtg js/node_modules/@types/lodash/sortBy.d.ts | 2 + .../@types/lodash/sortedIndex.d.ts | 2 + .../@types/lodash/sortedIndexBy.d.ts | 2 + .../@types/lodash/sortedIndexOf.d.ts | 2 + .../@types/lodash/sortedLastIndex.d.ts | 2 + .../@types/lodash/sortedLastIndexBy.d.ts | 2 + .../@types/lodash/sortedLastIndexOf.d.ts | 2 + .../@types/lodash/sortedUniq.d.ts | 2 + .../@types/lodash/sortedUniqBy.d.ts | 2 + jtg js/node_modules/@types/lodash/split.d.ts | 2 + jtg js/node_modules/@types/lodash/spread.d.ts | 2 + .../node_modules/@types/lodash/startCase.d.ts | 2 + .../@types/lodash/startsWith.d.ts | 2 + .../node_modules/@types/lodash/subtract.d.ts | 2 + jtg js/node_modules/@types/lodash/sum.d.ts | 2 + jtg js/node_modules/@types/lodash/sumBy.d.ts | 2 + jtg js/node_modules/@types/lodash/tail.d.ts | 2 + jtg js/node_modules/@types/lodash/take.d.ts | 2 + .../node_modules/@types/lodash/takeRight.d.ts | 2 + .../@types/lodash/takeRightWhile.d.ts | 2 + .../node_modules/@types/lodash/takeWhile.d.ts | 2 + jtg js/node_modules/@types/lodash/tap.d.ts | 2 + .../node_modules/@types/lodash/template.d.ts | 2 + .../node_modules/@types/lodash/throttle.d.ts | 2 + jtg js/node_modules/@types/lodash/thru.d.ts | 2 + jtg js/node_modules/@types/lodash/times.d.ts | 2 + .../node_modules/@types/lodash/toArray.d.ts | 2 + .../node_modules/@types/lodash/toFinite.d.ts | 2 + .../node_modules/@types/lodash/toInteger.d.ts | 2 + .../node_modules/@types/lodash/toLength.d.ts | 2 + .../node_modules/@types/lodash/toLower.d.ts | 2 + .../node_modules/@types/lodash/toNumber.d.ts | 2 + .../node_modules/@types/lodash/toPairs.d.ts | 2 + .../node_modules/@types/lodash/toPairsIn.d.ts | 2 + jtg js/node_modules/@types/lodash/toPath.d.ts | 2 + .../@types/lodash/toPlainObject.d.ts | 2 + .../@types/lodash/toSafeInteger.d.ts | 2 + .../node_modules/@types/lodash/toString.d.ts | 2 + .../node_modules/@types/lodash/toUpper.d.ts | 2 + .../node_modules/@types/lodash/transform.d.ts | 2 + jtg js/node_modules/@types/lodash/trim.d.ts | 2 + .../node_modules/@types/lodash/trimEnd.d.ts | 2 + .../node_modules/@types/lodash/trimStart.d.ts | 2 + .../node_modules/@types/lodash/truncate.d.ts | 2 + jtg js/node_modules/@types/lodash/unary.d.ts | 2 + .../node_modules/@types/lodash/unescape.d.ts | 2 + jtg js/node_modules/@types/lodash/union.d.ts | 2 + .../node_modules/@types/lodash/unionBy.d.ts | 2 + .../node_modules/@types/lodash/unionWith.d.ts | 2 + jtg js/node_modules/@types/lodash/uniq.d.ts | 2 + jtg js/node_modules/@types/lodash/uniqBy.d.ts | 2 + .../node_modules/@types/lodash/uniqWith.d.ts | 2 + .../node_modules/@types/lodash/uniqueId.d.ts | 2 + jtg js/node_modules/@types/lodash/unset.d.ts | 2 + jtg js/node_modules/@types/lodash/unzip.d.ts | 2 + .../node_modules/@types/lodash/unzipWith.d.ts | 2 + jtg js/node_modules/@types/lodash/update.d.ts | 2 + .../@types/lodash/updateWith.d.ts | 2 + .../node_modules/@types/lodash/upperCase.d.ts | 2 + .../@types/lodash/upperFirst.d.ts | 2 + jtg js/node_modules/@types/lodash/values.d.ts | 2 + .../node_modules/@types/lodash/valuesIn.d.ts | 2 + .../node_modules/@types/lodash/without.d.ts | 2 + jtg js/node_modules/@types/lodash/words.d.ts | 2 + jtg js/node_modules/@types/lodash/wrap.d.ts | 2 + jtg js/node_modules/@types/lodash/xor.d.ts | 2 + jtg js/node_modules/@types/lodash/xorBy.d.ts | 2 + .../node_modules/@types/lodash/xorWith.d.ts | 2 + jtg js/node_modules/@types/lodash/zip.d.ts | 2 + .../node_modules/@types/lodash/zipObject.d.ts | 2 + .../@types/lodash/zipObjectDeep.d.ts | 2 + .../node_modules/@types/lodash/zipWith.d.ts | 2 + jtg js/node_modules/@types/os/index.d.ts | 77 + jtg js/node_modules/@types/process/index.d.ts | 172 + .../@types/topcam.gencom/index.d.ts | 1434 +++++ .../@types/topcam.ikm6/index.d.ts | 141 + .../@types/topcam.scriptfunc/index.d.ts | 77 + .../@types/topsin.crypto/index.d.ts | 105 + .../@types/topsin.database/index.d.ts | 619 +++ .../@types/topsin.gengui/index.d.ts | 343 ++ .../@types/topsin.genmath/index.d.ts | 451 ++ .../@types/topsin.socket/index.d.ts | 343 ++ test/ATS_AIM_customer_data_analysis.js | 57 +- test/ATS_AIM_input_data copy.js | 331 ++ test/ATS_AIM_input_data.js | 412 +- test/ATS_AIM_input_data_v3_0.js | 65 +- test/ATS_AIM_layer_rename_v_2_0.js | 51 +- test/CAM_Analysis_job.js | 3 + test/mytest.js | 484 +- 732 files changed, 30476 insertions(+), 1041 deletions(-) create mode 100644 config1.js create mode 100644 config2.js create mode 100644 jtg js/JTG_NET_set_drill_attribute_aim.js create mode 100644 jtg js/JTG_ORG_backup_layers_aim.js create mode 100644 jtg js/JTG_ORG_create_outline_aim.js create mode 100644 jtg js/JTG_ORG_delete_profile_aim.js create mode 100644 jtg js/JTG_ORG_input_data_aim.js create mode 100644 jtg js/JTG_ORG_set_origin_aim.js create mode 100644 jtg js/JTG_PUB_auto_save_job_aim.js create mode 100644 jtg js/JTG_PUB_copy_step_aim.js create mode 100644 jtg js/node_modules/@types/console/index.d.ts create mode 100644 jtg js/node_modules/@types/events/index.d.ts create mode 100644 jtg js/node_modules/@types/fs/index.d.ts create mode 100644 jtg js/node_modules/@types/lodash/LICENSE create mode 100644 jtg js/node_modules/@types/lodash/README.md create mode 100644 jtg js/node_modules/@types/lodash/add.d.ts create mode 100644 jtg js/node_modules/@types/lodash/after.d.ts create mode 100644 jtg js/node_modules/@types/lodash/ary.d.ts create mode 100644 jtg js/node_modules/@types/lodash/assign.d.ts create mode 100644 jtg js/node_modules/@types/lodash/assignIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/assignInWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/assignWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/at.d.ts create mode 100644 jtg js/node_modules/@types/lodash/attempt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/before.d.ts create mode 100644 jtg js/node_modules/@types/lodash/bind.d.ts create mode 100644 jtg js/node_modules/@types/lodash/bindAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/bindKey.d.ts create mode 100644 jtg js/node_modules/@types/lodash/camelCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/capitalize.d.ts create mode 100644 jtg js/node_modules/@types/lodash/castArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/ceil.d.ts create mode 100644 jtg js/node_modules/@types/lodash/chain.d.ts create mode 100644 jtg js/node_modules/@types/lodash/chunk.d.ts create mode 100644 jtg js/node_modules/@types/lodash/clamp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/clone.d.ts create mode 100644 jtg js/node_modules/@types/lodash/cloneDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/cloneDeepWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/cloneWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/array.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/collection.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/common.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/date.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/function.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/lang.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/math.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/number.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/object.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/seq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/string.d.ts create mode 100644 jtg js/node_modules/@types/lodash/common/util.d.ts create mode 100644 jtg js/node_modules/@types/lodash/compact.d.ts create mode 100644 jtg js/node_modules/@types/lodash/concat.d.ts create mode 100644 jtg js/node_modules/@types/lodash/cond.d.ts create mode 100644 jtg js/node_modules/@types/lodash/conformsTo.d.ts create mode 100644 jtg js/node_modules/@types/lodash/constant.d.ts create mode 100644 jtg js/node_modules/@types/lodash/countBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/create.d.ts create mode 100644 jtg js/node_modules/@types/lodash/curry.d.ts create mode 100644 jtg js/node_modules/@types/lodash/curryRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/debounce.d.ts create mode 100644 jtg js/node_modules/@types/lodash/deburr.d.ts create mode 100644 jtg js/node_modules/@types/lodash/defaultTo.d.ts create mode 100644 jtg js/node_modules/@types/lodash/defaults.d.ts create mode 100644 jtg js/node_modules/@types/lodash/defaultsDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/defer.d.ts create mode 100644 jtg js/node_modules/@types/lodash/delay.d.ts create mode 100644 jtg js/node_modules/@types/lodash/difference.d.ts create mode 100644 jtg js/node_modules/@types/lodash/differenceBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/differenceWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/divide.d.ts create mode 100644 jtg js/node_modules/@types/lodash/drop.d.ts create mode 100644 jtg js/node_modules/@types/lodash/dropRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/dropRightWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/dropWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/each.d.ts create mode 100644 jtg js/node_modules/@types/lodash/eachRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/endsWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/entries.d.ts create mode 100644 jtg js/node_modules/@types/lodash/entriesIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/eq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/escape.d.ts create mode 100644 jtg js/node_modules/@types/lodash/escapeRegExp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/every.d.ts create mode 100644 jtg js/node_modules/@types/lodash/extend.d.ts create mode 100644 jtg js/node_modules/@types/lodash/extendWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fill.d.ts create mode 100644 jtg js/node_modules/@types/lodash/filter.d.ts create mode 100644 jtg js/node_modules/@types/lodash/find.d.ts create mode 100644 jtg js/node_modules/@types/lodash/findIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/findKey.d.ts create mode 100644 jtg js/node_modules/@types/lodash/findLast.d.ts create mode 100644 jtg js/node_modules/@types/lodash/findLastIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/findLastKey.d.ts create mode 100644 jtg js/node_modules/@types/lodash/first.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flatMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flatMapDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flatMapDepth.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flatten.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flattenDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flattenDepth.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flip.d.ts create mode 100644 jtg js/node_modules/@types/lodash/floor.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flow.d.ts create mode 100644 jtg js/node_modules/@types/lodash/flowRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/forEach.d.ts create mode 100644 jtg js/node_modules/@types/lodash/forEachRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/forIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/forInRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/forOwn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/forOwnRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/F.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/T.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/__.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/add.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/after.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/all.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/allPass.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/always.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/any.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/anyPass.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/apply.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/ary.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assign.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignAllWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignInAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignInAllWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignInWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assignWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assoc.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/assocPath.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/at.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/attempt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/before.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/bind.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/bindAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/bindKey.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/camelCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/capitalize.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/castArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/ceil.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/chunk.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/clamp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/clone.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/cloneDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/cloneDeepWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/cloneWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/compact.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/complement.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/compose.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/concat.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/cond.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/conforms.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/conformsTo.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/constant.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/contains.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/convert.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/countBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/create.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/curry.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/curryN.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/curryRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/curryRightN.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/debounce.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/deburr.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/defaultTo.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/defaults.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/defaultsAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/defaultsDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/defaultsDeepAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/defer.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/delay.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/difference.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/differenceBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/differenceWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dissoc.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dissocPath.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/divide.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/drop.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dropLast.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dropLastWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dropRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dropRightWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/dropWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/each.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/eachRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/endsWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/entries.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/entriesIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/eq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/equals.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/escape.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/escapeRegExp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/every.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/extend.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/extendAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/extendAllWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/extendWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/fill.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/filter.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/find.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findIndexFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findKey.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findLast.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findLastFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findLastIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findLastIndexFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/findLastKey.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/first.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flatMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flatMapDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flatMapDepth.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flatten.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flattenDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flattenDepth.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flip.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/floor.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flow.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/flowRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/forEach.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/forEachRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/forIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/forInRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/forOwn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/forOwnRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/fromPairs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/functions.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/functionsIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/get.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/getOr.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/groupBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/gt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/gte.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/has.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/hasIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/head.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/identical.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/identity.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/inRange.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/includes.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/includesFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/indexBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/indexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/indexOfFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/init.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/initial.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/intersection.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/intersectionBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/intersectionWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invert.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invertBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invertObj.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invoke.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invokeArgs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invokeArgsMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/invokeMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isArguments.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isArrayBuffer.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isArrayLike.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isArrayLikeObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isBoolean.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isBuffer.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isDate.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isElement.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isEmpty.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isEqual.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isEqualWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isError.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isFinite.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isFunction.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isLength.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isMatch.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isMatchWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isNaN.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isNative.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isNil.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isNull.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isNumber.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isObjectLike.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isPlainObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isRegExp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isSafeInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isSet.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isString.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isSymbol.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isTypedArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isUndefined.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isWeakMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/isWeakSet.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/iteratee.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/join.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/juxt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/kebabCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/keyBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/keys.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/keysIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/last.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/lastIndexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/lastIndexOfFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/lowerCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/lowerFirst.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/lt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/lte.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/map.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/mapKeys.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/mapValues.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/matches.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/matchesProperty.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/max.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/maxBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/mean.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/meanBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/memoize.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/merge.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/mergeAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/mergeAllWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/mergeWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/method.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/methodOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/min.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/minBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/multiply.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/nAry.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/negate.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/noConflict.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/noop.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/now.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/nth.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/nthArg.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/omit.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/omitAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/omitBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/once.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/orderBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/over.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/overArgs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/overEvery.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/overSome.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pad.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/padChars.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/padCharsEnd.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/padCharsStart.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/padEnd.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/padStart.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/parseInt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/partial.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/partialRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/partition.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/path.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pathEq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pathOr.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/paths.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pick.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pickAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pickBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pipe.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/placeholder.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pluck.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/prop.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/propEq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/propOr.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/property.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/propertyOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/props.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pull.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pullAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pullAllBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pullAllWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/pullAt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/random.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/range.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/rangeRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/rangeStep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/rangeStepRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/rearg.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/reduce.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/reduceRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/reject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/remove.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/repeat.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/replace.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/rest.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/restFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/result.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/reverse.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/round.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/runInContext.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sample.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sampleSize.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/set.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/setWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/shuffle.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/size.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/slice.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/snakeCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/some.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedIndexBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedIndexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedLastIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedLastIndexBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedLastIndexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedUniq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sortedUniqBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/split.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/spread.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/spreadFrom.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/startCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/startsWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/stubArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/stubFalse.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/stubObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/stubString.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/stubTrue.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/subtract.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sum.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/sumBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/symmetricDifference.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/symmetricDifferenceBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/symmetricDifferenceWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/tail.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/take.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/takeLast.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/takeLastWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/takeRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/takeRightWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/takeWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/tap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/template.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/throttle.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/thru.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/times.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toFinite.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toLength.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toLower.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toNumber.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toPairs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toPairsIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toPath.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toPlainObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toSafeInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toString.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/toUpper.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/transform.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/trim.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/trimChars.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/trimCharsEnd.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/trimCharsStart.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/trimEnd.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/trimStart.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/truncate.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unapply.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unary.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unescape.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/union.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unionBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unionWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/uniq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/uniqBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/uniqWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/uniqueId.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unnest.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unset.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unzip.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/unzipWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/update.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/updateWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/upperCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/upperFirst.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/useWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/values.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/valuesIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/where.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/whereEq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/without.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/words.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/wrap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/xor.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/xorBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/xorWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/zip.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/zipAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/zipObj.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/zipObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/zipObjectDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fp/zipWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/fromPairs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/functions.d.ts create mode 100644 jtg js/node_modules/@types/lodash/functionsIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/get.d.ts create mode 100644 jtg js/node_modules/@types/lodash/groupBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/gt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/gte.d.ts create mode 100644 jtg js/node_modules/@types/lodash/has.d.ts create mode 100644 jtg js/node_modules/@types/lodash/hasIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/head.d.ts create mode 100644 jtg js/node_modules/@types/lodash/identity.d.ts create mode 100644 jtg js/node_modules/@types/lodash/inRange.d.ts create mode 100644 jtg js/node_modules/@types/lodash/includes.d.ts create mode 100644 jtg js/node_modules/@types/lodash/index.d.ts create mode 100644 jtg js/node_modules/@types/lodash/indexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/initial.d.ts create mode 100644 jtg js/node_modules/@types/lodash/intersection.d.ts create mode 100644 jtg js/node_modules/@types/lodash/intersectionBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/intersectionWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/invert.d.ts create mode 100644 jtg js/node_modules/@types/lodash/invertBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/invoke.d.ts create mode 100644 jtg js/node_modules/@types/lodash/invokeMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isArguments.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isArrayBuffer.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isArrayLike.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isArrayLikeObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isBoolean.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isBuffer.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isDate.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isElement.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isEmpty.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isEqual.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isEqualWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isError.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isFinite.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isFunction.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isLength.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isMatch.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isMatchWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isNaN.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isNative.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isNil.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isNull.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isNumber.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isObjectLike.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isPlainObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isRegExp.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isSafeInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isSet.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isString.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isSymbol.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isTypedArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isUndefined.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isWeakMap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/isWeakSet.d.ts create mode 100644 jtg js/node_modules/@types/lodash/iteratee.d.ts create mode 100644 jtg js/node_modules/@types/lodash/join.d.ts create mode 100644 jtg js/node_modules/@types/lodash/kebabCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/keyBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/keys.d.ts create mode 100644 jtg js/node_modules/@types/lodash/keysIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/last.d.ts create mode 100644 jtg js/node_modules/@types/lodash/lastIndexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/lowerCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/lowerFirst.d.ts create mode 100644 jtg js/node_modules/@types/lodash/lt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/lte.d.ts create mode 100644 jtg js/node_modules/@types/lodash/map.d.ts create mode 100644 jtg js/node_modules/@types/lodash/mapKeys.d.ts create mode 100644 jtg js/node_modules/@types/lodash/mapValues.d.ts create mode 100644 jtg js/node_modules/@types/lodash/matches.d.ts create mode 100644 jtg js/node_modules/@types/lodash/matchesProperty.d.ts create mode 100644 jtg js/node_modules/@types/lodash/max.d.ts create mode 100644 jtg js/node_modules/@types/lodash/maxBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/mean.d.ts create mode 100644 jtg js/node_modules/@types/lodash/meanBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/memoize.d.ts create mode 100644 jtg js/node_modules/@types/lodash/merge.d.ts create mode 100644 jtg js/node_modules/@types/lodash/mergeWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/method.d.ts create mode 100644 jtg js/node_modules/@types/lodash/methodOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/min.d.ts create mode 100644 jtg js/node_modules/@types/lodash/minBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/mixin.d.ts create mode 100644 jtg js/node_modules/@types/lodash/negate.d.ts create mode 100644 jtg js/node_modules/@types/lodash/noConflict.d.ts create mode 100644 jtg js/node_modules/@types/lodash/noop.d.ts create mode 100644 jtg js/node_modules/@types/lodash/now.d.ts create mode 100644 jtg js/node_modules/@types/lodash/nth.d.ts create mode 100644 jtg js/node_modules/@types/lodash/nthArg.d.ts create mode 100644 jtg js/node_modules/@types/lodash/omit.d.ts create mode 100644 jtg js/node_modules/@types/lodash/omitBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/once.d.ts create mode 100644 jtg js/node_modules/@types/lodash/orderBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/over.d.ts create mode 100644 jtg js/node_modules/@types/lodash/overArgs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/overEvery.d.ts create mode 100644 jtg js/node_modules/@types/lodash/overSome.d.ts create mode 100644 jtg js/node_modules/@types/lodash/package.json create mode 100644 jtg js/node_modules/@types/lodash/pad.d.ts create mode 100644 jtg js/node_modules/@types/lodash/padEnd.d.ts create mode 100644 jtg js/node_modules/@types/lodash/padStart.d.ts create mode 100644 jtg js/node_modules/@types/lodash/parseInt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/partial.d.ts create mode 100644 jtg js/node_modules/@types/lodash/partialRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/partition.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pick.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pickBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/property.d.ts create mode 100644 jtg js/node_modules/@types/lodash/propertyOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pull.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pullAll.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pullAllBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pullAllWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/pullAt.d.ts create mode 100644 jtg js/node_modules/@types/lodash/random.d.ts create mode 100644 jtg js/node_modules/@types/lodash/range.d.ts create mode 100644 jtg js/node_modules/@types/lodash/rangeRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/rearg.d.ts create mode 100644 jtg js/node_modules/@types/lodash/reduce.d.ts create mode 100644 jtg js/node_modules/@types/lodash/reduceRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/reject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/remove.d.ts create mode 100644 jtg js/node_modules/@types/lodash/repeat.d.ts create mode 100644 jtg js/node_modules/@types/lodash/replace.d.ts create mode 100644 jtg js/node_modules/@types/lodash/rest.d.ts create mode 100644 jtg js/node_modules/@types/lodash/result.d.ts create mode 100644 jtg js/node_modules/@types/lodash/reverse.d.ts create mode 100644 jtg js/node_modules/@types/lodash/round.d.ts create mode 100644 jtg js/node_modules/@types/lodash/runInContext.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sample.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sampleSize.d.ts create mode 100644 jtg js/node_modules/@types/lodash/set.d.ts create mode 100644 jtg js/node_modules/@types/lodash/setWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/shuffle.d.ts create mode 100644 jtg js/node_modules/@types/lodash/size.d.ts create mode 100644 jtg js/node_modules/@types/lodash/slice.d.ts create mode 100644 jtg js/node_modules/@types/lodash/snakeCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/some.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedIndexBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedIndexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedLastIndex.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedLastIndexBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedLastIndexOf.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedUniq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sortedUniqBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/split.d.ts create mode 100644 jtg js/node_modules/@types/lodash/spread.d.ts create mode 100644 jtg js/node_modules/@types/lodash/startCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/startsWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/subtract.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sum.d.ts create mode 100644 jtg js/node_modules/@types/lodash/sumBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/tail.d.ts create mode 100644 jtg js/node_modules/@types/lodash/take.d.ts create mode 100644 jtg js/node_modules/@types/lodash/takeRight.d.ts create mode 100644 jtg js/node_modules/@types/lodash/takeRightWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/takeWhile.d.ts create mode 100644 jtg js/node_modules/@types/lodash/tap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/template.d.ts create mode 100644 jtg js/node_modules/@types/lodash/throttle.d.ts create mode 100644 jtg js/node_modules/@types/lodash/thru.d.ts create mode 100644 jtg js/node_modules/@types/lodash/times.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toArray.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toFinite.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toLength.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toLower.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toNumber.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toPairs.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toPairsIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toPath.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toPlainObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toSafeInteger.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toString.d.ts create mode 100644 jtg js/node_modules/@types/lodash/toUpper.d.ts create mode 100644 jtg js/node_modules/@types/lodash/transform.d.ts create mode 100644 jtg js/node_modules/@types/lodash/trim.d.ts create mode 100644 jtg js/node_modules/@types/lodash/trimEnd.d.ts create mode 100644 jtg js/node_modules/@types/lodash/trimStart.d.ts create mode 100644 jtg js/node_modules/@types/lodash/truncate.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unary.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unescape.d.ts create mode 100644 jtg js/node_modules/@types/lodash/union.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unionBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unionWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/uniq.d.ts create mode 100644 jtg js/node_modules/@types/lodash/uniqBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/uniqWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/uniqueId.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unset.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unzip.d.ts create mode 100644 jtg js/node_modules/@types/lodash/unzipWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/update.d.ts create mode 100644 jtg js/node_modules/@types/lodash/updateWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/upperCase.d.ts create mode 100644 jtg js/node_modules/@types/lodash/upperFirst.d.ts create mode 100644 jtg js/node_modules/@types/lodash/values.d.ts create mode 100644 jtg js/node_modules/@types/lodash/valuesIn.d.ts create mode 100644 jtg js/node_modules/@types/lodash/without.d.ts create mode 100644 jtg js/node_modules/@types/lodash/words.d.ts create mode 100644 jtg js/node_modules/@types/lodash/wrap.d.ts create mode 100644 jtg js/node_modules/@types/lodash/xor.d.ts create mode 100644 jtg js/node_modules/@types/lodash/xorBy.d.ts create mode 100644 jtg js/node_modules/@types/lodash/xorWith.d.ts create mode 100644 jtg js/node_modules/@types/lodash/zip.d.ts create mode 100644 jtg js/node_modules/@types/lodash/zipObject.d.ts create mode 100644 jtg js/node_modules/@types/lodash/zipObjectDeep.d.ts create mode 100644 jtg js/node_modules/@types/lodash/zipWith.d.ts create mode 100644 jtg js/node_modules/@types/os/index.d.ts create mode 100644 jtg js/node_modules/@types/process/index.d.ts create mode 100644 jtg js/node_modules/@types/topcam.gencom/index.d.ts create mode 100644 jtg js/node_modules/@types/topcam.ikm6/index.d.ts create mode 100644 jtg js/node_modules/@types/topcam.scriptfunc/index.d.ts create mode 100644 jtg js/node_modules/@types/topsin.crypto/index.d.ts create mode 100644 jtg js/node_modules/@types/topsin.database/index.d.ts create mode 100644 jtg js/node_modules/@types/topsin.gengui/index.d.ts create mode 100644 jtg js/node_modules/@types/topsin.genmath/index.d.ts create mode 100644 jtg js/node_modules/@types/topsin.socket/index.d.ts create mode 100644 test/ATS_AIM_input_data copy.js create mode 100644 test/CAM_Analysis_job.js diff --git a/config.js b/config.js index ffb6043..cd13665 100644 --- a/config.js +++ b/config.js @@ -6,7 +6,27 @@ var config = { "arrStep": "stp", "isMerge": "yes" }, - "Gerber274x_1": { + "Gerber274x_1": { // cust1 + "nf1": 3, + "nf2": 4, + "units": "mm", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Gerber274x_2": { // cust2 "nf1": 3, "nf2": 5, "units": "inch", @@ -26,7 +46,483 @@ var config = { "signed_coords": "no", "text_line_width": 0.0024 }, - "Gerber274x_2": { + "Excellon1_1":{ // cust1 + "nf1": 3, + "nf2": 0, + "units": "mm", + "zeroes": "leading", + "decimal": "yes", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_1": { // cust2 + "nf1": 3, + "nf2": 5, + "units": "mm", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_2": { + "nf1": 2, + "nf2": 3, + "units": "inch", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_3": { // cust2 + "nf1": 2, + "nf2": 5, + "units": "inch", + "zeroes": "trailing", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "IPC356_1": { // cust2 + "nf1": 2, + "nf2": 4, + "units": "inch", + "zeroes": "none", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + }, + "customer": { + "Customer_1": { + "path": "C:/Users/Administrator/Desktop/Customer_1", + "db": "genesis", + "step": "cad", + "rules": [ + { + "valid": function(props){ + var file = props.file; + var job = props.job; + var reg = new RegExp("^"+job+"-a","ig") + return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) + }, + "type": "ODB", + "format": "ODB_1" + }, + { + "valid": function(props){ + var file = props.file; + var job = props.job; + return /.+\.tgz$/ig.test(file.name) && job == file.baseName + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drd$/ig.test(file.name) + }, + "type": "Excellon1", + "format": "Excellon1_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.phd$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_1" + } + ], + "tl_name": [ + {"orig_name" : "^spt$", "tl_name" : "spt" }, + {"orig_name" : "^smt$", "tl_name" : "smt" }, + {"orig_name" : "^smb$", "tl_name" : "smb" }, + {"orig_name" : "^spb$", "tl_name" : "spb" }, + {"orig_name" : "^ssb$", "tl_name" : "ssb" }, + {"orig_name" : "^sst$", "tl_name" : "sst" }, + {"orig_name" : "^top$", "tl_name" : "top" }, + {"orig_name" : "^drill$", "tl_name" : "drill" }, + {"orig_name" : "^rout$", "tl_name" : "rout" }, + {"orig_name" : "^bottom$", "tl_name" : "bottom" }, + {"orig_name" : ["^isl(\\d+)$","^layer_(\\d+)$"], "tl_name" : "l_($1)"}, + {"orig_name" : ["_isl(\\d+)_isl(\\d+)","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"}, + {"orig_name" : ["_top_isl(\\d+)"], "tl_name" : "d_1-($1)"}, + {"orig_name" : ["_isl(\\d+)_bottom"], "tl_name" : "d_($1)-($1+1)"} + ] + }, + "Customer_2": { + "path": "C:/Users/Administrator/Desktop/Customer_2", + "db": "genesis", + "step": "cad", + "rules": [ + { + "valid": function(props){ + var file = props.file; + return /.+\.tgz$/ig.test(file.name) + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.ipc$/ig.test(file.name) + }, + "type": "IPC356", + "format": "IPC356_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.rou$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_3" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.art$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_2", + "format_params": function(props){ + var params = props.params + if(params.art_param){ + var leading = params.art_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.art_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + var nf1,nf2 + if(params.art_param.hasOwnProperty("FORMAT")){ + var tmp = params.art_param["FORMAT"].split(".") + if(/\d+/ig.test(tmp[0])){nf1 = Number(tmp[0])} + if(/\d+/ig.test(tmp[1])){nf2 = Number(tmp[1])} + } + return { + "nf1": nf1 || 3, + "nf2": nf2 || 5, + "units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drl$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_1", + "format_params": function(props){ + var params = props.params + if(params.nc_param){ + var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + return { + "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, + "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, + "units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } + } + ], + "tl_name": [ + {"orig_name" : ["assytop.art","past_top"], "tl_name" : "past_top" }, + {"orig_name" : ["assybot.art","past_botm"], "tl_name" : "past_botm" }, + {"orig_name" : ["pleg.art","silk_top"], "tl_name" : "silk_top" }, + {"orig_name" : ["sleg.art","silk_bot"], "tl_name" : "silk_bot" }, + {"orig_name" : ["ssm.art","sm_top"], "tl_name" : "sm_top" }, + {"orig_name" : ["psm.art","sm_bot"], "tl_name" : "sm_botm" }, + {"orig_name" : ["^top$","^top.art$"], "tl_name" : "top" }, + {"orig_name" : ["^0(\\d+).*ccp_ms","^s(\\d+)\.art","lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"}, + {"orig_name" : ["^bottom$","^bottom.art$"], "tl_name" : "bottom" }, + {"orig_name" : ["-(\\d+)-(\\d+)\.drl$","(\\d+)-(\\d+)-laser\.drl$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"}, + {"orig_name" : ["\\.rou$","rout"], "tl_name" : "rout" }, + {"orig_name" : "fab.art", "tl_name" : "fab.art" }, + {"orig_name" : ["multipack.art","^array$"], "tl_name" : "array" }, + {"orig_name" : ["outline.art","^outline$"], "tl_name" : "outline" }, + {"orig_name" : "top-enig", "tl_name" : "top-enig" }, + {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, + {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, + ] + }, + "New_data": { + "path": "C:/Users/Administrator/Desktop/New data", + "db": "genesis", + "step": "cad", + "rules": [ + { + "valid": function(props){ + var file = props.file; + return /.+\.tgz$/ig.test(file.name) + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.art$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_2", + "format_params": function(props){ + var params = props.params + if(params.art_param){ + var leading = params.art_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.art_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + var nf1,nf2 + if(params.art_param.hasOwnProperty("FORMAT")){ + var tmp = params.art_param["FORMAT"].split(".") + if(/\d+/ig.test(tmp[0])){nf1 = Number(tmp[0])} + if(/\d+/ig.test(tmp[1])){nf2 = Number(tmp[1])} + } + return { + "nf1": nf1 || 3, + "nf2": nf2 || 5, + "units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drl$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_1", + "format_params": function(props){ + var params = props.params + if(params.nc_param){ + var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + return { + "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, + "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, + "units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } + } + ], + "tl_name": [ + {"orig_name" : "pasttop.art", "tl_name" : "past_top" }, + {"orig_name" : "pleg.art", "tl_name" : "silk_top" }, + {"orig_name" : "soldtop.art", "tl_name" : "sm_top" }, + {"orig_name" : ["top.art","^top$"], "tl_name" : "top" }, + {"orig_name" : ["art(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"}, + {"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" }, + {"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" }, + {"orig_name" : "sleg.art", "tl_name" : "silk_bot" }, + {"orig_name" : "pastbotm.art", "tl_name" : "past_botm" }, + {"orig_name" : "multipack.art", "tl_name" : "array" }, + {"orig_name" : "outline.art", "tl_name" : "outline" }, + {"orig_name" : "fab.art", "tl_name" : "fab" }, + {"orig_name" : "top-enig", "tl_name" : "top-enig" }, + {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, + {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, + {"orig_name" : ["(\\d+)-(\\d+)$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"} + ] + } + }, + "data_format": [ + {"tl_name":"past_top" , "new_name":"past_top" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"silk_top" , "new_name":"silk_top" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"sm_top" , "new_name":"sm_top" , "attr":{ "context":"board", "type":"solder_mask" }}, + {"tl_name":"^top$" , "new_name":"top" , "attr":{ "context":"board", "type":"signal" }}, + {"tl_name":"l_(\\d+)","new_name":"layer_($1)" ,"attr":{"context":"board","type":"signal"}}, + {"tl_name":"^bottom$","new_name":"bottom" ,"attr":{"context":"board","type":"signal"}}, + {"tl_name":"sm_botm" , "new_name":"sm_botm" , "attr":{ "context":"board", "type":"solder_mask" }}, + {"tl_name":"silk_bot" , "new_name":"silk_bot" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"past_botm" , "new_name":"past_botm" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"d_(\\d+)-(\\d+)","new_name":"d($1)-($2)" ,"attr":{"context":"board","type":"drill"}}, + {"tl_name":"drill","new_name":"drill" ,"attr":{"context":"board","type":"drill"}}, + {"tl_name":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}}, + {"tl_name":"array","new_name":"array" ,"attr":{"context":"misc"}}, + {"tl_name":"outline","new_name":"outline" ,"attr":{"context":"misc"}}, + {"tl_name":"fab.art","new_name":"fab.art" ,"attr":{"context":"misc"}} + ], + "delSameJob": "yes" +} + +module.exports = config + + +/* +(function(){return { + "formats": { + "ODB": {}, + "ODB_1": { + "comments": "", + "arrStep": "stp", + "isMerge": "yes" + }, + "Gerber274x_1": { // cust1 + "nf1": 3, + "nf2": 4, + "units": "mm", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Gerber274x_2": { // cust2 "nf1": 3, "nf2": 5, "units": "inch", @@ -46,7 +542,27 @@ var config = { "signed_coords": "no", "text_line_width": 0.0024 }, - "Excellon2_1": { + "Excellon1_1":{ // cust1 + "nf1": 3, + "nf2": 0, + "units": "mm", + "zeroes": "leading", + "decimal": "yes", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_1": { // cust2 "nf1": 3, "nf2": 5, "units": "mm", @@ -86,7 +602,7 @@ var config = { "signed_coords": "no", "text_line_width": 0.0024 }, - "Excellon2_3": { + "Excellon2_3": { // cust2 "nf1": 2, "nf2": 5, "units": "inch", @@ -106,7 +622,7 @@ var config = { "signed_coords": "no", "text_line_width": 0.0024 }, - "IPC356_1": { + "IPC356_1": { // cust2 "nf1": 2, "nf2": 4, "units": "inch", @@ -128,6 +644,64 @@ var config = { } }, "customer": { + "Customer_1": { + "path": "C:/Users/Administrator/Desktop/Customer_1", + "db": "genesis", + "step": "cad", + "rules": [ + { + "valid": function(props){ + var file = props.file; + var job = props.job; + var reg = new RegExp("^"+job+"-a","ig") + return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) + }, + "type": "ODB", + "format": "ODB_1" + }, + { + "valid": function(props){ + var file = props.file; + var job = props.job; + return /.+\.tgz$/ig.test(file.name) && job == file.baseName + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drd$/ig.test(file.name) + }, + "type": "Excellon1", + "format": "Excellon1_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.phd$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_1" + } + ], + "tl_name": [ + {"orig_name" : "^spt$", "tl_name" : "spt" }, + {"orig_name" : "^smt$", "tl_name" : "smt" }, + {"orig_name" : "^smb$", "tl_name" : "smb" }, + {"orig_name" : "^spb$", "tl_name" : "spb" }, + {"orig_name" : "^ssb$", "tl_name" : "ssb" }, + {"orig_name" : "^sst$", "tl_name" : "sst" }, + {"orig_name" : "^top$", "tl_name" : "top" }, + {"orig_name" : "^drill$", "tl_name" : "drill" }, + {"orig_name" : "^rout$", "tl_name" : "rout" }, + {"orig_name" : "^bottom$", "tl_name" : "bottom" }, + {"orig_name" : ["^isl(\\d+)$","^layer_(\\d+)$"], "tl_name" : "l_($1)"}, + {"orig_name" : ["_isl(\\d+)_isl(\\d+)","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"}, + {"orig_name" : ["_top_isl(\\d+)"], "tl_name" : "d_1-($1)"}, + {"orig_name" : ["_isl(\\d+)_bottom"], "tl_name" : "d_($1)-($1+1)"} + ] + }, "Customer_2": { "path": "C:/Users/Administrator/Desktop/Customer_2", "db": "genesis", @@ -163,7 +737,47 @@ var config = { return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", - "format": "Gerber274x_1" + "format": "Gerber274x_2", + "format_params": function(props){ + var params = props.params + if(params.art_param){ + var leading = params.art_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.art_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + var nf1,nf2 + if(params.art_param.hasOwnProperty("FORMAT")){ + var tmp = params.art_param["FORMAT"].split(".") + if(/\d+/ig.test(tmp[0])){nf1 = Number(tmp[0])} + if(/\d+/ig.test(tmp[1])){nf2 = Number(tmp[1])} + } + return { + "nf1": nf1 || 3, + "nf2": nf2 || 5, + "units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } }, { "valid": function(props){ @@ -187,7 +801,7 @@ var config = { return { "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, - "units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", "zeroes": zeroes, "decimal": "no", "nf_comp": 0, @@ -198,7 +812,7 @@ var config = { "drill_only": "no", "multiplier": 1, "resolution": 3, - "tool_units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "tool_units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", "merge_by_rule": "no", "signed_coords": "no", @@ -212,9 +826,9 @@ var config = { {"orig_name" : "pasttop.art", "tl_name" : "past_top" }, {"orig_name" : "pleg.art", "tl_name" : "silk_top" }, {"orig_name" : "soldtop.art", "tl_name" : "sm_top" }, - {"orig_name" : "top.art", "tl_name" : "top" }, - {"orig_name" : "lay(\\d+)\\.art", "tl_name" : "l_($1)"}, - {"orig_name" : "bottom.art", "tl_name" : "bottom" }, + {"orig_name" : ["top.art","^top$"], "tl_name" : "top" }, + {"orig_name" : ["lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"}, + {"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" }, {"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" }, {"orig_name" : "sleg.art", "tl_name" : "silk_bot" }, {"orig_name" : "pastbotm.art", "tl_name" : "past_botm" }, @@ -224,54 +838,13 @@ var config = { {"orig_name" : "top-enig", "tl_name" : "top-enig" }, {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, - {"orig_name" : ["-(\\d+)-(\\d+)\.drl","(\\d+)-(\\d+)-laser\.drl"], "tl_name" : "d_($1)-($2)"} - ] - }, - "Customer_1": { - "path": "C:/Users/Administrator/Desktop/Customer_1", - "db": "genesis", - "step": "cad", - "rules": [ - { - "valid": function(props){ - var file = props.file; - var job = props.job; - var reg = new RegExp("^"+job+"-a","ig") - return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) - }, - "type": "ODB", - "format": "ODB_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.tgz$/ig.test(file.name) - }, - "type": "ODB", - "format": "ODB" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.art$/ig.test(file.name) - }, - "type": "Gerber274x", - "format": "Gerber274x_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.drl$/ig.test(file.name) - }, - "type": "Excellon2", - "format": "Excellon2_1" - } + {"orig_name" : ["-(\\d+)-(\\d+)\.drl","(\\d+)-(\\d+)-laser\.drl","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"} ] }, "New_data": { "path": "C:/Users/Administrator/Desktop/New data", "db": "genesis", - "step": "pcs", + "step": "cad", "rules": [ { "valid": function(props){ @@ -287,7 +860,47 @@ var config = { return /.+\.art$/ig.test(file.name) }, "type": "Gerber274x", - "format": "Gerber274x_1" + "format": "Gerber274x_2", + "format_params": function(props){ + var params = props.params + if(params.art_param){ + var leading = params.art_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.art_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + var nf1,nf2 + if(params.art_param.hasOwnProperty("FORMAT")){ + var tmp = params.art_param["FORMAT"].split(".") + if(/\d+/ig.test(tmp[0])){nf1 = Number(tmp[0])} + if(/\d+/ig.test(tmp[1])){nf2 = Number(tmp[1])} + } + return { + "nf1": nf1 || 3, + "nf2": nf2 || 5, + "units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.art_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } }, { "valid": function(props){ @@ -295,8 +908,60 @@ var config = { return /.+\.drl$/ig.test(file.name) }, "type": "Excellon2", - "format": "Excellon2_2" + "format": "Excellon2_1", + "format_params": function(props){ + var params = props.params + if(params.nc_param){ + var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + return { + "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, + "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, + "units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC|MM/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } } + ], + "tl_name": [ + {"orig_name" : "pasttop.art", "tl_name" : "past_top" }, + {"orig_name" : "pleg.art", "tl_name" : "silk_top" }, + {"orig_name" : "soldtop.art", "tl_name" : "sm_top" }, + {"orig_name" : ["top.art","^top$"], "tl_name" : "top" }, + {"orig_name" : ["art(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"}, + {"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" }, + {"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" }, + {"orig_name" : "sleg.art", "tl_name" : "silk_bot" }, + {"orig_name" : "pastbotm.art", "tl_name" : "past_botm" }, + {"orig_name" : "multipack.art", "tl_name" : "array" }, + {"orig_name" : "outline.art", "tl_name" : "outline" }, + {"orig_name" : "fab.art", "tl_name" : "fab" }, + {"orig_name" : "top-enig", "tl_name" : "top-enig" }, + {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, + {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, + {"orig_name" : ["(\\d+)-(\\d+)$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"} ] } }, @@ -309,319 +974,6 @@ var config = { {"tl_name":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}} ], "delSameJob": "yes" -} - -module.exports = config - - -/* - -(function(){ - return { - "formats": { - "ODB": {}, - "ODB_1": { - "comments": "", - "arrStep": "stp", - "isMerge": "yes" - }, - "Gerber274x_1": { - "nf1": 3, - "nf2": 5, - "units": "inch", - "zeroes": "leading", - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "*", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": "inch", - "coordinates": "absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - }, - "Gerber274x_2": { - "nf1": 3, - "nf2": 5, - "units": "inch", - "zeroes": "leading", - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "*", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": "inch", - "coordinates": "absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - }, - "Excellon2_1": { - "nf1": 3, - "nf2": 5, - "units": "mm", - "zeroes": "leading", - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "nl", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": "mm", - "coordinates": "absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - }, - "Excellon2_2": { - "nf1": 2, - "nf2": 3, - "units": "inch", - "zeroes": "leading", - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "nl", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": "inch", - "coordinates": "absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - }, - "Excellon2_3": { - "nf1": 2, - "nf2": 5, - "units": "inch", - "zeroes": "trailing", - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "nl", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": "mm", - "coordinates": "absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - }, - "IPC356_1": { - "nf1": 2, - "nf2": 4, - "units": "inch", - "zeroes": "none", - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "*", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": "inch", - "coordinates": "absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - } - }, - "customer": { - "Customer_2": { - "path": "C:/Users/Administrator/Desktop/Customer_2", - "db": "genesis", - "step": "cad", - "rules": [ - { - "valid": function(props){ - var file = props.file; - return /.+\.tgz$/ig.test(file.name) - }, - "type": "ODB", - "format": "ODB" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.ipc$/ig.test(file.name) - }, - "type": "IPC356", - "format": "IPC356_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.rou$/ig.test(file.name) - }, - "type": "Excellon2", - "format": "Excellon2_3" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.art$/ig.test(file.name) - }, - "type": "Gerber274x", - "format": "Gerber274x_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.drl$/ig.test(file.name) - }, - "type": "Excellon2", - "format": "Excellon2_1", - "format_params": function(props){ - var params = props.params - if(params.nc_param){ - var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] - var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] - var zeroes = "none" - if(/yes/ig.test(leading)){ - zeroes = "leading" - } - if(/yes/ig.test(trailing)){ - zeroes = "trailing" - } - return { - "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, - "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, - "units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", - "zeroes": zeroes, - "decimal": "no", - "nf_comp": 0, - "break_sr": "yes", - "data_type": "ascii", - "separator": "nl", - "threshold": 200, - "drill_only": "no", - "multiplier": 1, - "resolution": 3, - "tool_units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", - "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", - "merge_by_rule": "no", - "signed_coords": "no", - "text_line_width": 0.0024 - } - } - } - } - ], - "tlname": [ - {"orig_name" : "pasttop.art", "tlname" : "past_top" }, - {"orig_name" : "pleg.art", "tlname" : "silk_top" }, - {"orig_name" : "soldtop.art", "tlname" : "sm_top" }, - {"orig_name" : "art(\\d+)\\.art", "tlname" : "layer_(1)"}, - {"orig_name" : "soldbotm.art", "tlname" : "sm_botm" }, - {"orig_name" : "sleg.art", "tlname" : "silk_bot" }, - {"orig_name" : "pastbotm.art", "tlname" : "past_botm" }, - {"orig_name" : "multipack.art", "tlname" : "array" }, - {"orig_name" : "outline.art", "tlname" : "outline" }, - {"orig_name" : "fab.art", "tlname" : "fab.art" }, - {"orig_name" : "top-enig", "tlname" : "top-enig" }, - {"orig_name" : "bot-enig", "tlname" : "bot-enig" }, - {"orig_name" : "fab_page2", "tlname" : "fab_page2" } - ] - }, - "Customer_1": { - "path": "C:/Users/Administrator/Desktop/Customer_1", - "db": "genesis", - "step": "cad", - "rules": [ - { - "valid": function(props){ - var file = props.file; - var job = props.job; - var reg = new RegExp("^"+job+"-a","ig") - return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) - }, - "type": "ODB", - "format": "ODB_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.tgz$/ig.test(file.name) - }, - "type": "ODB", - "format": "ODB" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.art$/ig.test(file.name) - }, - "type": "Gerber274x", - "format": "Gerber274x_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.drl$/ig.test(file.name) - }, - "type": "Excellon2", - "format": "Excellon2_1" - } - ] - }, - "New_data": { - "path": "C:/Users/Administrator/Desktop/New data", - "db": "genesis", - "step": "pcs", - "rules": [ - { - "valid": function(props){ - var file = props.file; - return /.+\.tgz$/ig.test(file.name) - }, - "type": "ODB", - "format": "ODB" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.art$/ig.test(file.name) - }, - "type": "Gerber274x", - "format": "Gerber274x_1" - }, - { - "valid": function(props){ - var file = props.file; - return /.+\.drl$/ig.test(file.name) - }, - "type": "Excellon2", - "format": "Excellon2_2" - } - ] - } - }, - "sort_rename": [ - {"tlname":"" , "newname":"" } - ], - "delSameJob": "yes" - } -})() - +}})() */ \ No newline at end of file diff --git a/config1.js b/config1.js new file mode 100644 index 0000000..df3b105 --- /dev/null +++ b/config1.js @@ -0,0 +1,194 @@ +var config = { + "formats": { + "ODB": {}, + "ODB_1": { + "comments": "", + "arrStep": "stp", + "isMerge": "yes" + }, + "Gerber274x_1": { + "nf1": 2, + "nf2": 5, + "units": "inch", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Gerber274x_2": { + "nf1": 3, + "nf2": 5, + "units": "inch", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_1": { + "nf1": 3, + "nf2": 5, + "units": "mm", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_2": { + "nf1": 2, + "nf2": 5, + "units": "inch", + "zeroes": "none", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_3": { + "nf1": 2, + "nf2": 5, + "units": "inch", + "zeroes": "trailing", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "IPC356_1": { + "nf1": 2, + "nf2": 4, + "units": "inch", + "zeroes": "none", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + }, + "customer": { + "New_data": { + "path": "C:/Users/Administrator/Desktop/New data", + "db": "genesis", + "step": "pcs", + "rules": [ + { + "valid": function(props){ + var file = props.file; + return /.+\.tgz$/ig.test(file.name) + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.art$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drl$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_2" + } + ], + "tl_name": [ + {"orig_name" : "pasttop.art", "tl_name" : "past_top" }, + {"orig_name" : "pleg.art", "tl_name" : "silk_top" }, + {"orig_name" : "soldtop.art", "tl_name" : "sm_top" }, + {"orig_name" : ["top.art","^top$"], "tl_name" : "top" }, + {"orig_name" : ["art(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"}, + {"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" }, + {"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" }, + {"orig_name" : "sleg.art", "tl_name" : "silk_bot" }, + {"orig_name" : "pastbotm.art", "tl_name" : "past_botm" }, + {"orig_name" : "multipack.art", "tl_name" : "array" }, + {"orig_name" : "outline.art", "tl_name" : "outline" }, + {"orig_name" : "fab.art", "tl_name" : "fab" }, + {"orig_name" : "top-enig", "tl_name" : "top-enig" }, + {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, + {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, + {"orig_name" : ["(\\d+)-(\\d+)$","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"} + ] + } + }, + "data_format": [ + {"tl_name":"^top$" , "new_name":"top" , "attr":{ "context":"board", "type":"signal" }}, // new_name 里支æŒç‰¹æ®Šå˜é‡ + {"tl_name":"l_(\\d+)","new_name":"layer_($1)" ,"attr":{"context":"board","type":"signal"}}, + {"tl_name":"^bottom$","new_name":"bottom" ,"attr":{"context":"board","type":"signal"}}, + {"tl_name":"d_(\\d+)-(\\d+)","new_name":"d($1)-($2)" ,"attr":{"context":"board","type":"drill"}}, + {"tl_name":"drill","new_name":"drill" ,"attr":{"context":"board","type":"drill"}}, + {"tl_name":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}} + ], + "merge_drill": {}, + "delSameJob": "yes" +} + +module.exports = config + diff --git a/config2.js b/config2.js new file mode 100644 index 0000000..560624d --- /dev/null +++ b/config2.js @@ -0,0 +1,306 @@ +var config = { + "formats": { + "ODB": {}, + "ODB_1": { + "comments": "", + "arrStep": "stp", + "isMerge": "yes" + }, + "Gerber274x_1": { + "nf1": 3, + "nf2": 5, + "units": "inch", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Gerber274x_2": { + "nf1": 3, + "nf2": 5, + "units": "inch", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_1": { + "nf1": 3, + "nf2": 5, + "units": "mm", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_2": { + "nf1": 2, + "nf2": 3, + "units": "inch", + "zeroes": "leading", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "Excellon2_3": { + "nf1": 2, + "nf2": 5, + "units": "inch", + "zeroes": "trailing", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "mm", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + }, + "IPC356_1": { + "nf1": 2, + "nf2": 4, + "units": "inch", + "zeroes": "none", + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "*", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": "inch", + "coordinates": "absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + }, + "customer": { + "Customer_2": { + "path": "C:/Users/Administrator/Desktop/Customer_2", + "db": "genesis", + "step": "cad", + "rules": [ + { + "valid": function(props){ + var file = props.file; + return /.+\.tgz$/ig.test(file.name) + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.ipc$/ig.test(file.name) + }, + "type": "IPC356", + "format": "IPC356_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.rou$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_3" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.art$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drl$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_1", + "format_params": function(props){ + var params = props.params + if(params.nc_param){ + var leading = params.nc_param["SUPPRESS_LEAD_ZEROES"] + var trailing = params.nc_param["SUPPRESS_TRAIL_ZEROES"] + var zeroes = "none" + if(/yes/ig.test(leading)){ + zeroes = "leading" + } + if(/yes/ig.test(trailing)){ + zeroes = "trailing" + } + return { + "nf1": params.nc_param["INTEGER_PLACES"]? Number(params.nc_param["INTEGER_PLACES"]) : 3, + "nf2": params.nc_param["DECIMAL_PLACES"]? Number(params.nc_param["DECIMAL_PLACES"]) : 5, + "units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "zeroes": zeroes, + "decimal": "no", + "nf_comp": 0, + "break_sr": "yes", + "data_type": "ascii", + "separator": "nl", + "threshold": 200, + "drill_only": "no", + "multiplier": 1, + "resolution": 3, + "tool_units": /METRIC/ig.test(params.nc_param["OUTPUT_UNITS"])? "mm" :"inch", + "coordinates": params.nc_param["COORDINATES"]? params.nc_param["COORDINATES"].toLowerCase() :"absolute", + "merge_by_rule": "no", + "signed_coords": "no", + "text_line_width": 0.0024 + } + } + } + } + ], + "tl_name": [ + {"orig_name" : "pasttop.art", "tl_name" : "past_top" }, + {"orig_name" : "pleg.art", "tl_name" : "silk_top" }, + {"orig_name" : "soldtop.art", "tl_name" : "sm_top" }, + {"orig_name" : ["top.art","^top$"], "tl_name" : "top" }, + {"orig_name" : ["lay(\\d+)\\.art","layer_(\\d+)"], "tl_name" : "l_($1)"}, + {"orig_name" : ["bottom.art","^bottom$"], "tl_name" : "bottom" }, + {"orig_name" : "soldbotm.art", "tl_name" : "sm_botm" }, + {"orig_name" : "sleg.art", "tl_name" : "silk_bot" }, + {"orig_name" : "pastbotm.art", "tl_name" : "past_botm" }, + {"orig_name" : "multipack.art", "tl_name" : "array" }, + {"orig_name" : "outline.art", "tl_name" : "outline" }, + {"orig_name" : "fab.art", "tl_name" : "fab" }, + {"orig_name" : "top-enig", "tl_name" : "top-enig" }, + {"orig_name" : "bot-enig", "tl_name" : "bot-enig" }, + {"orig_name" : "fab_page2", "tl_name" : "fab_page2" }, + {"orig_name" : ["-(\\d+)-(\\d+)\.drl","(\\d+)-(\\d+)-laser\.drl","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"} + ] + }, + "Customer_1": { + "path": "C:/Users/Administrator/Desktop/Customer_1", + "db": "genesis", + "step": "cad", + "rules": [ + { + "valid": function(props){ + var file = props.file; + var job = props.job; + var reg = new RegExp("^"+job+"-a","ig") + return /.+\.tgz$/ig.test(file.name) && reg.test(file.baseName) + }, + "type": "ODB", + "format": "ODB_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.tgz$/ig.test(file.name) + }, + "type": "ODB", + "format": "ODB" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.art$/ig.test(file.name) + }, + "type": "Gerber274x", + "format": "Gerber274x_1" + }, + { + "valid": function(props){ + var file = props.file; + return /.+\.drl$/ig.test(file.name) + }, + "type": "Excellon2", + "format": "Excellon2_1" + } + ], + "tl_name": [ + {"orig_name" : "^spt$", "tl_name" : "spt" }, + {"orig_name" : "^smt$", "tl_name" : "smt" }, + {"orig_name" : "^smb$", "tl_name" : "smb" }, + {"orig_name" : "^spb$", "tl_name" : "spb" }, + {"orig_name" : "^ssb$", "tl_name" : "ssb" }, + {"orig_name" : "^sst$", "tl_name" : "sst" }, + {"orig_name" : "^top$", "tl_name" : "top" }, + {"orig_name" : "^drill$", "tl_name" : "drill" }, + {"orig_name" : "^rout$", "tl_name" : "rout" }, + {"orig_name" : "^bottom$", "tl_name" : "bottom" }, + {"orig_name" : ["^isl(\\d+)$","^layer_(\\d+)$"], "tl_name" : "l_($1)"}, + {"orig_name" : ["_isl(\\d+)_isl(\\d+)","d(\\d+)-(\\d+)"], "tl_name" : "d_($1)-($2)"}, + {"orig_name" : ["_top_isl(\\d+)"], "tl_name" : "d_1-($1)"}, + {"orig_name" : ["_isl(\\d+)_bottom"], "tl_name" : "d_($1)-($1+1)"} + ] + } + }, + "data_format": [ + {"tl_name":"^sst$" , "new_name":"sst" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"^spt$" , "new_name":"spt" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"^smt$" , "new_name":"smt" , "attr":{ "context":"board", "type":"solder_mask" }}, + {"tl_name":"^top$" , "new_name":"top" , "attr":{ "context":"board", "type":"signal" }}, + {"tl_name":"l_(\\d+)","new_name":"layer_($1)" ,"attr":{"context":"board","type":"signal"}}, + {"tl_name":"^bottom$","new_name":"bottom" ,"attr":{"context":"board","type":"signal"}}, + {"tl_name":"^smb$" , "new_name":"smb" , "attr":{ "context":"board", "type":"solder_mask" }}, + {"tl_name":"^spb$" , "new_name":"spb" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"^ssb$" , "new_name":"ssb" , "attr":{ "context":"board", "type":"solder_paste" }}, + {"tl_name":"d_(\\d+)-(\\d+)","new_name":"d($1)-($2)" ,"attr":{"context":"board","type":"drill"}}, + {"tl_name":"drill","new_name":"drill" ,"attr":{"context":"board","type":"drill"}}, + {"tl_name":"rout","new_name":"rout" ,"attr":{"context":"board","type":"rout"}} + ], + "delSameJob": "yes" +} + +module.exports = config + diff --git a/jtg js/JTG_NET_set_drill_attribute_aim.js b/jtg js/JTG_NET_set_drill_attribute_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_NET_set_drill_attribute_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/JTG_ORG_backup_layers_aim.js b/jtg js/JTG_ORG_backup_layers_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_ORG_backup_layers_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/JTG_ORG_create_outline_aim.js b/jtg js/JTG_ORG_create_outline_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_ORG_create_outline_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/JTG_ORG_delete_profile_aim.js b/jtg js/JTG_ORG_delete_profile_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_ORG_delete_profile_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/JTG_ORG_input_data_aim.js b/jtg js/JTG_ORG_input_data_aim.js new file mode 100644 index 0000000..826cb3d --- /dev/null +++ b/jtg js/JTG_ORG_input_data_aim.js @@ -0,0 +1,148 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'auto_save', + title : '自动ä¿å˜', + type : 'RadioBox', + property : { + item_list:[ + {name:'yes',text:'YES'}, + {name:'no',text:'NO'}, + ], + tool_tip:'是å¦è‡ªåЍä¿å˜æ–™å·å¼€å…³' + } + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var fs = require("fs"); +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} +if (!$.hasOwnProperty('auto_save')){ + PAR.auto_save = "no" +} + +try { + var par = PAR; + + // æ£€æŸ¥åŽŸç¨¿æ–‡ä»¶ä¿¡æ¯ + + // æ£€æŸ¥æ–™å· + var job = Job.toLowerCase() + if(!GEN.isJobExists({job:job})){throw "æ–™å·å·²ç»å˜åœ¨"} + + // 读入gerber或者odb++ 判æ–è¯»å…¥æ–¹å¼ + var inputInfo = inputInfo() + // 读入odb++ + if(/odb/ig.test(inputInfo.type)){ + importJob({db:"genesis",path:inputInfo.data.path,name:job}) + } + // 读入gerber + if(/gerber/ig.test(inputInfo.type)){ + importGerber({}) + } + // ä¿å˜ + + if(/yes/.test(par.auto_save)){ + GEN.checkInout({job:job,mode:"out"}) // 结æŸä¿å˜æ–™å· 关闿–™å· + GEN.saveJob({ job: job }); + GEN.checkInout({job:job,mode:"in"}) + GEN.closeJob({job:job}) + } + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} + +function importJob(props){ + GEN.importJob(props); +} + +function importGerber(props){ // job db step + var job = props.job + GEN.createJob({name:job,db:props.db}) + GEN.createStep({job:job,name:props.step}) + var gerberInfo = props.data.map(function(item){ + var gerberCfg = JSON.parse(JSON.stringify(item.format)); + var file = item.file + gerberCfg.layer = file.name.toLowerCase() + gerberCfg.path = file.path + gerberCfg.format = item.type + gerberCfg.job = job + gerberCfg.step = step + return gerberCfg + }) + GEN.COM("input_manual_reset") + gerberInfo.forEach(function(v){ + GEN.COM("input_manual_set",v) + }) + GEN.COM("input_manual") +} \ No newline at end of file diff --git a/jtg js/JTG_ORG_set_origin_aim.js b/jtg js/JTG_ORG_set_origin_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_ORG_set_origin_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/JTG_PUB_auto_save_job_aim.js b/jtg js/JTG_PUB_auto_save_job_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_PUB_auto_save_job_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/JTG_PUB_copy_step_aim.js b/jtg js/JTG_PUB_copy_step_aim.js new file mode 100644 index 0000000..61ef893 --- /dev/null +++ b/jtg js/JTG_PUB_copy_step_aim.js @@ -0,0 +1,88 @@ +/* +NAME: +DESCRIPTION: ; +PARAMETER: + [ + { + name : 'customer', + title : '客户é…ç½®', + type : 'LineEdit', + property : {tool_tip : '客户é…ç½®'}, + } + ] + + VERSION_HISTORY: + V1.00 2020-04-15 Scott Sun + 1.新版本 + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> æ•°æ®æ ‡å‡†åŒ– </p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 客户é…ç½® </p> + <br> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> æ— </p> + <br> + </body></html> +*/ +////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////// +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var database = require("topsin.database"); +database.addConnection($.conf.database_conf, "DFM"); +var QDfm = database.query("DFM"); +if ($.conf.product_type == "aimdfm") { + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + current_process_title: $.process_title + }, + where: { id: $.task_id } + }); +} +var GEN = $.gen; +var Job = $.job_name; +var db = $.db +var Status = 'ok'; +var resultData = []; +var PAR = {}; +if ($.hasOwnProperty('script_parameter')){ + PAR = JSON.parse($.script_parameter); +} + +try { + var par = PAR; + + + QDfm.updateRow({ + table: "pdm_aimdfm_task", + data: { + progress: 33.33 + }, + where: { id: $.task_id } + }); + if (GEN.hasError()) { + Status = 'error'; + resultData.push({ type: "error", title: "GEN错误!", detail: [{ desc: _.join(GEN.STATUS, "\n") }] }); + return { + status: Status, + result_data: resultData + }; + } else { + resultData.push({ type: "info", title: "æ“作完æˆ, è¯·æ³¨æ„æ£€æŸ¥!" }); + return { + status: Status, + result_data: resultData + }; + } +} catch (e) { + Status = 'error'; + resultData.push({type: "error", title: "脚本执行出错!", detail: [{desc: _.toString(e)}]}); + return {status: Status, result_data: resultData}; +} \ No newline at end of file diff --git a/jtg js/node_modules/@types/console/index.d.ts b/jtg js/node_modules/@types/console/index.d.ts new file mode 100644 index 0000000..5a3614e --- /dev/null +++ b/jtg js/node_modules/@types/console/index.d.ts @@ -0,0 +1,12 @@ +declare namespace TopJsConsole { + export function log(f:any, ...args):void + export function debug(f:any, ...args):void + export function info(f:any, ...args):void + export function warn(f:any, ...args):void + export function error(f:any, ...args):void + export function assert(expression:boolean,f:any, ...args):void +} + +export = TopJsConsole; + + diff --git a/jtg js/node_modules/@types/events/index.d.ts b/jtg js/node_modules/@types/events/index.d.ts new file mode 100644 index 0000000..bc744ca --- /dev/null +++ b/jtg js/node_modules/@types/events/index.d.ts @@ -0,0 +1,28 @@ + +declare class TopJsEvents { + + /** + * 绑定事件 + * @param iEventName : 事件åç§° + * @param iCallback : 事件回调函数 + * @param iThisObject : 回调函数的this对象 + */ + on(iEventName:string, iCallback:(...args)=>any, iThisObject:any):void + + /** + * 清除指定事件的所有回调; + * @param iEventName : 事件åç§° + */ + clearEvent(iEventName):void + + /** + * 触å‘一个事件 + * @param iEventName : 事件åç§° + * @param args : äº‹ä»¶å‚æ•°; + */ + emit(iEventName, ...args):void +} + +export = TopJsEvents; + + diff --git a/jtg js/node_modules/@types/fs/index.d.ts b/jtg js/node_modules/@types/fs/index.d.ts new file mode 100644 index 0000000..7853c2d --- /dev/null +++ b/jtg js/node_modules/@types/fs/index.d.ts @@ -0,0 +1,335 @@ +import { mkdir } from "fs"; + +declare namespace TopJSFileSystem { + + export class TextFileStream { + /** + * 设置文件编ç + * @param iEncoding + */ + setCodec(iEncoding:string):void + + /** + * 获å–设置的文件编ç + */ + codec():string + + /** + * 设置自动检测Unicode + * @param iEnabled + */ + setAutoDetectUnicode(iEnabled:boolean):void + + /** + * 是å¦è‡ªåŠ¨æ£€æµ‹Unicode + */ + isAutoDetectUnicode():boolean + + /** + * è®¾ç½®æ˜¯å¦æ·»åŠ ç¼–ç BOM + * @param iGenerated + */ + setGenerateByteOrderMark(iGenerated:boolean):void + + /** + * 是å¦è®¾ç½®äº†è‡ªåŠ¨æ·»åŠ BOM + */ + isGenerateByteOrderMark():boolean + + /** + * è®¾ç½®æ˜¯å¦æ¯æ¬¡åœ¨å†™å…¥æ–‡ä»¶æ—¶è‡ªåŠ¨åˆ·æ–°ç¼“å˜è‡³æ–‡ä»¶ + * @param iAutoFlush + */ + setAutoFlush(iAutoFlush:boolean):void + + /** + * æ˜¯å¦æ¯æ¬¡åœ¨å†™å…¥æ–‡ä»¶æ—¶è‡ªåŠ¨åˆ·æ–°ç¼“å˜è‡³æ–‡ä»¶ + */ + isAutoFlush():boolean + + /** + * 是å¦è¯»å–到文件结尾 + */ + atEnd():boolean + + /** + * 将文件读å–ä½ç½®é‡ç½® + */ + reset():void + + /** + * 刷新缓å˜è‡³æ–‡ä»¶ + */ + flush():void + + /** + * 寻找文件读å–ä½ç½® + * @param iPos + */ + seek(iPos:Number):boolean + + /** + * 获å–当剿–‡ä»¶è¯»å–ä½ç½® + */ + pos():Number + + /** + * è®¾ç½®è‡ªåŠ¨å¿½ç•¥ç©ºæ ¼ + */ + skipWhiteSpace():void + + /** + * 读å–一行,iMaxLen为最大读å–长度;iMaxLen=0表示ä¸é™åˆ¶å¤§å°ï¼› + * @param iMaxLen + */ + readLine(iMaxLen:Number=0):string + + /** + * 读å–全部文件内容 + */ + readAll():string + + /** + * è¯»å–æŒ‡å®šå¤§å°æ–‡æœ¬å— + * @param iMaxLen + */ + read(iMaxLen:Number):string + + /** + * 写入文件 + * @param iText + */ + write(iText:string):void + + /** + * 关闿–‡ä»¶å¥æŸ„ + */ + close():void + } + + export class RawFileStream { + /** + * è®¾ç½®æ˜¯å¦æ¯æ¬¡åœ¨å†™å…¥æ–‡ä»¶æ—¶è‡ªåŠ¨åˆ·æ–°ç¼“å˜è‡³æ–‡ä»¶ + * @param iAutoFlush + */ + setAutoFlush(iAutoFlush:boolean):void + + /** + * æ˜¯å¦æ¯æ¬¡åœ¨å†™å…¥æ–‡ä»¶æ—¶è‡ªåŠ¨åˆ·æ–°ç¼“å˜è‡³æ–‡ä»¶ + */ + isAutoFlush():boolean + + /** + * 是å¦è¯»å–到文件结尾 + */ + atEnd():boolean + + /** + * 将文件读å–ä½ç½®é‡ç½® + */ + reset():void + + /** + * 刷新缓å˜è‡³æ–‡ä»¶ + */ + flush():void + + /** + * 寻找文件读å–ä½ç½® + * @param iPos + */ + seek(iPos:Number):void + + /** + * 获å–当剿–‡ä»¶è¯»å–ä½ç½® + */ + pos():Number + + + /** + * 读å–全部文件内容 + */ + readAll():any + + /** + * è¯»å–æŒ‡å®šå¤§å°æ–‡æœ¬å— + * @param iMaxLen + */ + read(iMaxLen:Number):any + + /** + * 写入文件 + * @param iData + */ + write(iData:any):void + + /** + * 关闿–‡ä»¶å¥æŸ„ + */ + close():void + + } + + export interface FileStat { + type:'dir'|'file', + isDir:boolean, + isFile:boolean, + path:string, + dir:string, + name:string, + baseName:string, + suffix:string, + completeBaseName:string, + completeSuffix:string, + lastModified:string, + lastRead:string, + size:string, + owner:string, + ownerId:Number, + group:string, + groupId:Number, + isSymbolLink:boolean, + symbolLinkTarget:string, + createTime:string, + isExcutable:boolean, + isHidden:boolean, + isReadable:boolean, + isWritable:boolean, + } + + export interface WriteFileOptions { + encoding:string, + append:boolean, + withbom:boolean, + } + + /** + * 找开一个文本文件 + * @param iFilePath 文件路径 + * @param iMode 打开方å¼; r=åªè¯»; w=åªå†™; rw=读写; a=ä»¥è¿½åŠ æ¨¡å¼åªå†™; ra=ä»¥è¿½åŠ æ¨¡å¼è¯»å†™; + */ + export function openFile(iFilePath:string, iMode:string='r'):TextFileStream; + + /** + * 找开一个二进制文件 + * @param iFilePath 文件路径 + * @param iMode 打开方å¼;默认为åªè¯»; r=åªè¯»; w=åªå†™; rw=读写; a=ä»¥è¿½åŠ æ¨¡å¼åªå†™; ra=ä»¥è¿½åŠ æ¨¡å¼è¯»å†™; + */ + export function openRawFile(iFilePath:string, iMode:string='r'):RawFileStream; + + /** + * 更改文件æƒé™; + * @param iPath + * @param iMode 文件æƒé™;Linux文件æƒé™ç ,如'777','644' + */ + export function chmod(iPath:string, iMode:string):boolean + + /** + * å¤åˆ¶æ–‡ä»¶, iOptions=falseè¡¨ç¤ºå¦‚æžœç›®æ ‡æ–‡ä»¶å·²ç»å˜åœ¨åˆ™ä¸è¦†ç›–; 为true则强制覆盖; + * @param iSrc + * @param iDest + * @param iOptions + */ + export function copyFile(iSrc:string, iDest:String, iOptions:any=false):boolean + + /** + * åˆ¤æ–æ–‡ä»¶æˆ–文件夹是å¦å˜åœ¨,(任一一ç§å˜åœ¨éƒ½è¿”回true) + * @param iPath + */ + export function exists(iPath:string):boolean + + /** + * åˆ¤æ–æ–‡ä»¶æ˜¯å¦å˜åœ¨; + * @param iPath + */ + export function fileExists(iPath:string):boolean + + /** + * åˆ¤æ–æ–‡ä»¶å¤¹æ˜¯å¦å˜åœ¨; + * @param iPath + */ + export function dirExists(iPath:string):boolean + + /** + * link文件 + * @param iSrc + * @param iDest + */ + export function link(iSrc:string, iDest:string):boolean + + /** + * èŽ·å–æ–‡ä»¶ä¿¡æ¯ + * @param iPath + */ + export function stat(iPath):FileStat + + /** + * 创建一个文件夹 + * @param iPath + */ + export function mkdir(iPath:string):boolean + + /** + * èŽ·å–æ–‡ä»¶çš„ç»å¯¹è·¯å¾„ + * @param iPath + */ + export function realpath(iPath:string):string + + /** + * é‡å‘½å或移动文件, iOptions=falseè¡¨ç¤ºå¦‚æžœç›®æ ‡æ–‡ä»¶å·²ç»å˜åœ¨åˆ™ä¸è¦†ç›–; 为true则强制覆盖; + * @param iOld + * @param iNew + * @param iOptions + */ + export function rename(iOld:string, iNew:string, iOptions:any=false):boolean + + /** + * åˆ é™¤æ–‡ä»¶, iOptions=true表示强制文件夹内的内容; 为falseè¡¨ç¤ºåªæœ‰æ–‡ä»¶å¤¹ä¸ºç©ºæ—¶æ‰ç§»é™¤ï¼› + * @param iOld + * @param iOptions + */ + export function rmdir(iDir:string, iOptions:any=true):boolean + + /** + * åˆ é™¤æ–‡ä»¶ + * @param iFile + */ + export function unlink(iFile:string):boolean + + /** + * èŽ·å–æ–‡ä»¶å¤¹ä¸‹çš„æ–‡ä»¶ä¿¡æ¯åˆ—表,iRecursiveLevel表示递归查找多少级,-1è¡¨ç¤ºæ— é™é€’å½’,iChildrenKeyä»£è¡¨ç”¨äºŽè¡¨ç¤ºåæ–‡ä»¶ä¸ä¼šçš„Key; 如果为空则表示返回结果为一维数组; + * @param iDir + * @param iRecursiveLevel + * @param iChildrenKey + */ + export function listDir(iDir:string, iRecursiveLevel:Number=-1, iChildrenKey:string=''):Array<FileStat> + + /** + * è¯»å–æ–‡æœ¬æ–‡ä»¶å†…容 + * @param iFile + * @param iCodec :文件编ç ,默认为UTF-8 + * @param iOptions :é¢„ç•™å‚æ•°ï¼Œæš‚时未使用 + */ + export function readFile(iFile:string, iCodec:string='UTF-8',iOptions:any):string + + /** + * 写入一个文本文件 + * @param iFile + * @param iContent + * @param iOptions : 读写选项;默认为{encoding:'UTF-8', append:false, withbom:false} + */ + export function writeFile(iFile:string, iContent:string, iOptions:WriteFileOptions={encoding:'UTF-8', append:false, withbom:false}) + + /** + * èŽ·å–æ“作系统临时目录 + */ + export function tmpdir():string + + /** + * èŽ·å–æ“作系统当å‰ç”¨æˆ·HOME目录; + */ + export function homedir():string + +} + +export = TopJSFileSystem; diff --git a/jtg js/node_modules/@types/lodash/LICENSE b/jtg js/node_modules/@types/lodash/LICENSE new file mode 100644 index 0000000..2107107 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/jtg js/node_modules/@types/lodash/README.md b/jtg js/node_modules/@types/lodash/README.md new file mode 100644 index 0000000..5c4cb7d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/lodash` + +# Summary +This package contains type definitions for Lo-Dash (http://lodash.com/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash + +Additional Details + * Last updated: Mon, 18 Jun 2018 22:47:05 GMT + * Dependencies: none + * Global values: _ + +# Credits +These definitions were written by Brian Zengel <https://github.com/bczengel>, Ilya Mochalov <https://github.com/chrootsu>, Stepan Mikhaylyuk <https://github.com/stepancar>, AJ Richardson <https://github.com/aj-r>, Junyoung Clare Jang <https://github.com/ailrun>, e-cloud <https://github.com/e-cloud>, Georgii Dolzhykov <https://github.com/thorn0>, Jack Moore <https://github.com/jtmthf>, Dominique Rau <https://github.com/DomiR>. diff --git a/jtg js/node_modules/@types/lodash/add.d.ts b/jtg js/node_modules/@types/lodash/add.d.ts new file mode 100644 index 0000000..4650a89 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/add.d.ts @@ -0,0 +1,2 @@ +import { add } from "./index"; +export = add; diff --git a/jtg js/node_modules/@types/lodash/after.d.ts b/jtg js/node_modules/@types/lodash/after.d.ts new file mode 100644 index 0000000..277ae1e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/after.d.ts @@ -0,0 +1,2 @@ +import { after } from "./index"; +export = after; diff --git a/jtg js/node_modules/@types/lodash/ary.d.ts b/jtg js/node_modules/@types/lodash/ary.d.ts new file mode 100644 index 0000000..ac1c72e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/ary.d.ts @@ -0,0 +1,2 @@ +import { ary } from "./index"; +export = ary; diff --git a/jtg js/node_modules/@types/lodash/assign.d.ts b/jtg js/node_modules/@types/lodash/assign.d.ts new file mode 100644 index 0000000..5ffc1e3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/assign.d.ts @@ -0,0 +1,2 @@ +import { assign } from "./index"; +export = assign; diff --git a/jtg js/node_modules/@types/lodash/assignIn.d.ts b/jtg js/node_modules/@types/lodash/assignIn.d.ts new file mode 100644 index 0000000..3cc54e8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/assignIn.d.ts @@ -0,0 +1,2 @@ +import { assignIn } from "./index"; +export = assignIn; diff --git a/jtg js/node_modules/@types/lodash/assignInWith.d.ts b/jtg js/node_modules/@types/lodash/assignInWith.d.ts new file mode 100644 index 0000000..b4c4dfe --- /dev/null +++ b/jtg js/node_modules/@types/lodash/assignInWith.d.ts @@ -0,0 +1,2 @@ +import { assignInWith } from "./index"; +export = assignInWith; diff --git a/jtg js/node_modules/@types/lodash/assignWith.d.ts b/jtg js/node_modules/@types/lodash/assignWith.d.ts new file mode 100644 index 0000000..97da10c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/assignWith.d.ts @@ -0,0 +1,2 @@ +import { assignWith } from "./index"; +export = assignWith; diff --git a/jtg js/node_modules/@types/lodash/at.d.ts b/jtg js/node_modules/@types/lodash/at.d.ts new file mode 100644 index 0000000..49e7147 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/at.d.ts @@ -0,0 +1,2 @@ +import { at } from "./index"; +export = at; diff --git a/jtg js/node_modules/@types/lodash/attempt.d.ts b/jtg js/node_modules/@types/lodash/attempt.d.ts new file mode 100644 index 0000000..d4b6089 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/attempt.d.ts @@ -0,0 +1,2 @@ +import { attempt } from "./index"; +export = attempt; diff --git a/jtg js/node_modules/@types/lodash/before.d.ts b/jtg js/node_modules/@types/lodash/before.d.ts new file mode 100644 index 0000000..03c45c8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/before.d.ts @@ -0,0 +1,2 @@ +import { before } from "./index"; +export = before; diff --git a/jtg js/node_modules/@types/lodash/bind.d.ts b/jtg js/node_modules/@types/lodash/bind.d.ts new file mode 100644 index 0000000..6367da1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/bind.d.ts @@ -0,0 +1,2 @@ +import { bind } from "./index"; +export = bind; diff --git a/jtg js/node_modules/@types/lodash/bindAll.d.ts b/jtg js/node_modules/@types/lodash/bindAll.d.ts new file mode 100644 index 0000000..25d47e3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/bindAll.d.ts @@ -0,0 +1,2 @@ +import { bindAll } from "./index"; +export = bindAll; diff --git a/jtg js/node_modules/@types/lodash/bindKey.d.ts b/jtg js/node_modules/@types/lodash/bindKey.d.ts new file mode 100644 index 0000000..128b065 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/bindKey.d.ts @@ -0,0 +1,2 @@ +import { bindKey } from "./index"; +export = bindKey; diff --git a/jtg js/node_modules/@types/lodash/camelCase.d.ts b/jtg js/node_modules/@types/lodash/camelCase.d.ts new file mode 100644 index 0000000..5c10659 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/camelCase.d.ts @@ -0,0 +1,2 @@ +import { camelCase } from "./index"; +export = camelCase; diff --git a/jtg js/node_modules/@types/lodash/capitalize.d.ts b/jtg js/node_modules/@types/lodash/capitalize.d.ts new file mode 100644 index 0000000..416f5f5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/capitalize.d.ts @@ -0,0 +1,2 @@ +import { capitalize } from "./index"; +export = capitalize; diff --git a/jtg js/node_modules/@types/lodash/castArray.d.ts b/jtg js/node_modules/@types/lodash/castArray.d.ts new file mode 100644 index 0000000..74ea7bd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/castArray.d.ts @@ -0,0 +1,2 @@ +import { castArray } from "./index"; +export = castArray; diff --git a/jtg js/node_modules/@types/lodash/ceil.d.ts b/jtg js/node_modules/@types/lodash/ceil.d.ts new file mode 100644 index 0000000..0c6f1fd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/ceil.d.ts @@ -0,0 +1,2 @@ +import { ceil } from "./index"; +export = ceil; diff --git a/jtg js/node_modules/@types/lodash/chain.d.ts b/jtg js/node_modules/@types/lodash/chain.d.ts new file mode 100644 index 0000000..d09d2bb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/chain.d.ts @@ -0,0 +1,2 @@ +import { chain } from "./index"; +export = chain; diff --git a/jtg js/node_modules/@types/lodash/chunk.d.ts b/jtg js/node_modules/@types/lodash/chunk.d.ts new file mode 100644 index 0000000..125c98f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/chunk.d.ts @@ -0,0 +1,2 @@ +import { chunk } from "./index"; +export = chunk; diff --git a/jtg js/node_modules/@types/lodash/clamp.d.ts b/jtg js/node_modules/@types/lodash/clamp.d.ts new file mode 100644 index 0000000..df17066 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/clamp.d.ts @@ -0,0 +1,2 @@ +import { clamp } from "./index"; +export = clamp; diff --git a/jtg js/node_modules/@types/lodash/clone.d.ts b/jtg js/node_modules/@types/lodash/clone.d.ts new file mode 100644 index 0000000..c5884d7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/clone.d.ts @@ -0,0 +1,2 @@ +import { clone } from "./index"; +export = clone; diff --git a/jtg js/node_modules/@types/lodash/cloneDeep.d.ts b/jtg js/node_modules/@types/lodash/cloneDeep.d.ts new file mode 100644 index 0000000..b7bd893 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/cloneDeep.d.ts @@ -0,0 +1,2 @@ +import { cloneDeep } from "./index"; +export = cloneDeep; diff --git a/jtg js/node_modules/@types/lodash/cloneDeepWith.d.ts b/jtg js/node_modules/@types/lodash/cloneDeepWith.d.ts new file mode 100644 index 0000000..3eb368b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/cloneDeepWith.d.ts @@ -0,0 +1,2 @@ +import { cloneDeepWith } from "./index"; +export = cloneDeepWith; diff --git a/jtg js/node_modules/@types/lodash/cloneWith.d.ts b/jtg js/node_modules/@types/lodash/cloneWith.d.ts new file mode 100644 index 0000000..1e6bf7a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/cloneWith.d.ts @@ -0,0 +1,2 @@ +import { cloneWith } from "./index"; +export = cloneWith; diff --git a/jtg js/node_modules/@types/lodash/common/array.d.ts b/jtg js/node_modules/@types/lodash/common/array.d.ts new file mode 100644 index 0000000..6d4aff3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/array.d.ts @@ -0,0 +1,3708 @@ +import _ = require("../index"); +declare module "../index" { + // chunk + + interface LoDashStatic { + /** + * Creates an array of elements split into groups the length of size. If collection can’t be split evenly, the + * final chunk will be the remaining elements. + * + * @param array The array to process. + * @param size The length of each chunk. + * @return Returns the new array containing chunks. + */ + chunk<T>( + array: List<T> | null | undefined, + size?: number + ): T[][]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.chunk + */ + chunk<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + size?: number, + ): LoDashImplicitWrapper<T[][]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.chunk + */ + chunk<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + size?: number, + ): LoDashExplicitWrapper<T[][]>; + } + + // compact + + interface LoDashStatic { + /** + * Creates an array with all falsey values removed. The values false, null, 0, "", undefined, and NaN are + * falsey. + * + * @param array The array to compact. + * @return Returns the new array of filtered values. + */ + compact<T>(array: List<T | null | undefined | false | "" | 0> | null | undefined): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.compact + */ + compact<T>(this: LoDashImplicitWrapper<List<T | null | undefined | false | "" | 0> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.compact + */ + compact<T>(this: LoDashExplicitWrapper<List<T | null | undefined | false | "" | 0> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // concat + + interface LoDashStatic { + /** + * Creates a new array concatenating `array` with any additional arrays + * and/or values. + * + * @category Array + * @param array The array to concatenate. + * @param [values] The values to concatenate. + * @returns Returns the new concatenated array. + * @example + * + * var array = [1]; + * var other = _.concat(array, 2, [3], [[4]]); + * + * console.log(other); + * // => [1, 2, 3, [4]] + * + * console.log(array); + * // => [1] + */ + concat<T>(array: Many<T>, ...values: Array<Many<T>>): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.compact + */ + concat<T>(this: LoDashImplicitWrapper<Many<T>>, ...values: Array<Many<T>>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.compact + */ + concat<T>(this: LoDashExplicitWrapper<Many<T>>, ...values: Array<Many<T>>): LoDashExplicitWrapper<T[]>; + } + + // difference + + interface LoDashStatic { + /** + * Creates an array of unique array values not included in the other provided arrays using SameValueZero for + * equality comparisons. + * + * @param array The array to inspect. + * @param values The arrays of values to exclude. + * @return Returns the new array of filtered values. + */ + difference<T>( + array: List<T> | null | undefined, + ...values: Array<List<T>> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.difference + */ + difference<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.difference + */ + difference<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashExplicitWrapper<T[]>; + } + + // differenceBy + + interface LoDashStatic { + /** + * This method is like _.difference except that it accepts iteratee which is invoked for each element of array + * and values to generate the criterion by which uniqueness is computed. The iteratee is invoked with one + * argument: (value). + * + * @param array The array to inspect. + * @param values The values to exclude. + * @param iteratee The iteratee invoked per element. + * @returns Returns the new array of filtered values. + */ + differenceBy<T1, T2>( + array: List<T1> | null | undefined, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + iteratee: ValueIteratee<T1 | T2 | T3> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5, T6>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + values5: List<T6>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5, T6, T7>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + values5: List<T6>, + ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>> + ): T1[]; + + /** + * @see _.differenceBy + */ + differenceBy<T>( + array: List<T> | null | undefined, + ...values: Array<List<T>> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.differenceBy + */ + differenceBy<T1, T2>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + iteratee: ValueIteratee<T1 | T2 | T3> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5, T6>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + values5: List<T6>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5, T6, T7>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + values5: List<T6>, + ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.differenceBy + */ + differenceBy<T1, T2>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + iteratee: ValueIteratee<T1 | T2 | T3> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5, T6>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + values5: List<T6>, + iteratee: ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T1, T2, T3, T4, T5, T6, T7>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + values3: List<T4>, + values4: List<T5>, + values5: List<T6>, + ...values: Array<List<T7> | ValueIteratee<T1 | T2 | T3 | T4 | T5 | T6 | T7>> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceBy + */ + differenceBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashExplicitWrapper<T[]>; + } + + // differenceWith + + interface LoDashStatic { + /** + * Creates an array of unique `array` values not included in the other + * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons. + * + * @category Array + * @param [values] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + + * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); + * // => [{ 'x': 2, 'y': 1 }] + */ + differenceWith<T1, T2>( + array: List<T1> | null | undefined, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): T1[]; + + /** + * @see _.differenceWith + */ + differenceWith<T1, T2, T3>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + comparator: Comparator2<T1, T2 | T3> + ): T1[]; + + /** + * @see _.differenceWith + */ + differenceWith<T1, T2, T3, T4>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>> + ): T1[]; + + /** + * @see _.differenceWith + */ + differenceWith<T>( + array: List<T> | null | undefined, + ...values: Array<List<T>> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.differenceWith + */ + differenceWith<T1, T2>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceWith + */ + differenceWith<T1, T2, T3>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + comparator: Comparator2<T1, T2 | T3> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceWith + */ + differenceWith<T1, T2, T3, T4>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.differenceWith + */ + differenceWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.differenceWith + */ + differenceWith<T1, T2>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceWith + */ + differenceWith<T1, T2, T3>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + comparator: Comparator2<T1, T2 | T3> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceWith + */ + differenceWith<T1, T2, T3, T4>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.differenceWith + */ + differenceWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashExplicitWrapper<T[]>; + } + + // drop + + interface LoDashStatic { + /** + * Creates a slice of array with n elements dropped from the beginning. + * + * @param array The array to query. + * @param n The number of elements to drop. + * @return Returns the slice of array. + */ + drop<T>(array: List<T> | null | undefined, n?: number): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.drop + */ + drop<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, n?: number): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.drop + */ + drop<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, n?: number): LoDashExplicitWrapper<T[]>; + } + + // dropRight + + interface LoDashStatic { + /** + * Creates a slice of array with n elements dropped from the end. + * + * @param array The array to query. + * @param n The number of elements to drop. + * @return Returns the slice of array. + */ + dropRight<T>( + array: List<T> | null | undefined, + n?: number + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.dropRight + */ + dropRight<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, n?: number): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.dropRight + */ + dropRight<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, n?: number): LoDashExplicitWrapper<T[]>; + } + + // dropRightWhile + + interface LoDashStatic { + /** + * Creates a slice of array excluding elements dropped from the end. Elements are dropped until predicate + * returns falsey. The predicate is invoked with three arguments: (value, index, array). + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @return Returns the slice of array. + */ + dropRightWhile<T>( + array: List<T> | null | undefined, + predicate?: ListIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.dropRightWhile + */ + dropRightWhile<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.dropRightWhile + */ + dropRightWhile<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // dropWhile + + interface LoDashStatic { + /** + * Creates a slice of array excluding elements dropped from the beginning. Elements are dropped until predicate + * returns falsey. The predicate is invoked with three arguments: (value, index, array). + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @return Returns the slice of array. + */ + dropWhile<T>( + array: List<T> | null | undefined, + predicate?: ListIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.dropWhile + */ + dropWhile<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.dropWhile + */ + dropWhile<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // fill + + interface LoDashStatic { + /** + * Fills elements of array with value from start up to, but not including, end. + * + * Note: This method mutates array. + * + * @param array The array to fill. + * @param value The value to fill array with. + * @param start The start position. + * @param end The end position. + * @return Returns array. + */ + fill<T>( + array: any[] | null | undefined, + value: T + ): T[]; + + /** + * @see _.fill + */ + fill<T>( + array: List<any> | null | undefined, + value: T + ): List<T>; + + /** + * @see _.fill + */ + fill<T, U>( + array: U[] | null | undefined, + value: T, + start?: number, + end?: number + ): Array<T | U>; + + /** + * @see _.fill + */ + fill<T, U>( + array: List<U> | null | undefined, + value: T, + start?: number, + end?: number + ): List<T | U>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.fill + */ + fill<T>( + this: LoDashImplicitWrapper<any[] | null | undefined>, + value: T + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.fill + */ + fill<T>( + this: LoDashImplicitWrapper<List<any> | null | undefined>, + value: T + ): LoDashImplicitWrapper<List<T>>; + + /** + * @see _.fill + */ + fill<T, U>( + this: LoDashImplicitWrapper<U[] | null | undefined>, + value: T, + start?: number, + end?: number + ): LoDashImplicitWrapper<Array<T | U>>; + + /** + * @see _.fill + */ + fill<T, U>( + this: LoDashImplicitWrapper<List<U> | null | undefined>, + value: T, + start?: number, + end?: number + ): LoDashImplicitWrapper<List<T | U>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.fill + */ + fill<T>( + this: LoDashExplicitWrapper<any[] | null | undefined>, + value: T + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.fill + */ + fill<T>( + this: LoDashExplicitWrapper<List<any> | null | undefined>, + value: T + ): LoDashExplicitWrapper<List<T>>; + + /** + * @see _.fill + */ + fill<T, U>( + this: LoDashExplicitWrapper<U[] | null | undefined>, + value: T, + start?: number, + end?: number + ): LoDashExplicitWrapper<Array<T | U>>; + + /** + * @see _.fill + */ + fill<T, U>( + this: LoDashExplicitWrapper<List<U> | null | undefined>, + value: T, + start?: number, + end?: number + ): LoDashExplicitWrapper<List<T | U>>; + } + + // findIndex + + interface LoDashStatic { + /** + * This method is like _.find except that it returns the index of the first element predicate returns truthy + * for instead of the element itself. + * + * @param array The array to search. + * @param predicate The function invoked per iteration. + * @param fromIndex The index to search from. + * @return Returns the index of the found element, else -1. + */ + findIndex<T>( + array: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.findIndex + */ + findIndex<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.findIndex + */ + findIndex<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): LoDashExplicitWrapper<number>; + } + + // findLastIndex + + interface LoDashStatic { + /** + * This method is like _.findIndex except that it iterates over elements of collection from right to left. + * + * @param array The array to search. + * @param predicate The function invoked per iteration. + * @param fromIndex The index to search from. + * @return Returns the index of the found element, else -1. + */ + findLastIndex<T>( + array: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.findLastIndex + */ + findLastIndex<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.findLastIndex + */ + findLastIndex<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): LoDashExplicitWrapper<number>; + } + + // first + + interface LoDashStatic { + first: typeof _.head; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.head + */ + first<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.head + */ + first<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + } + + interface RecursiveArray<T> extends Array<T|RecursiveArray<T>> {} + interface ListOfRecursiveArraysOrValues<T> extends List<T|RecursiveArray<T>> {} + + // flatten + + interface LoDashStatic { + /** + * Flattens `array` a single level deep. + * + * @param array The array to flatten. + * @return Returns the new flattened array. + */ + flatten<T>(array: List<Many<T>> | null | undefined): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flatten + */ + flatten<T>(this: LoDashImplicitWrapper<List<Many<T>> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flatten + */ + flatten<T>(this: LoDashExplicitWrapper<List<Many<T>> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // flattenDeep + + interface LoDashStatic { + /** + * Recursively flattens a nested array. + * + * @param array The array to recursively flatten. + * @return Returns the new flattened array. + */ + flattenDeep<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flattenDeep + */ + flattenDeep<T>(this: LoDashImplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flattenDeep + */ + flattenDeep<T>(this: LoDashExplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // flattenDepth + + interface LoDashStatic { + /** + * Recursively flatten array up to depth times. + * + * @param array The array to recursively flatten. + * @param number The maximum recursion depth. + * @return Returns the new flattened array. + */ + flattenDepth<T>(array: ListOfRecursiveArraysOrValues<T> | null | undefined, depth?: number): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flattenDeep + */ + flattenDepth<T>(this: LoDashImplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>, depth?: number): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flattenDeep + */ + flattenDepth<T>(this: LoDashExplicitWrapper<ListOfRecursiveArraysOrValues<T> | null | undefined>, depth?: number): LoDashExplicitWrapper<T[]>; + } + + // fromPairs + + interface LoDashStatic { + /** + * The inverse of `_.toPairs`; this method returns an object composed + * from key-value `pairs`. + * + * @category Array + * @param pairs The key-value pairs. + * @returns Returns the new object. + * @example + * + * _.fromPairs([['fred', 30], ['barney', 40]]); + * // => { 'fred': 30, 'barney': 40 } + */ + fromPairs<T>( + pairs: List<[PropertyName, T]> | null | undefined + ): Dictionary<T>; + + /** + @see _.fromPairs + */ + fromPairs( + pairs: List<any[]> | null | undefined + ): Dictionary<any>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.fromPairs + */ + fromPairs<T>( + this: LoDashImplicitWrapper<List<[PropertyName, T]> | null | undefined> + ): LoDashImplicitWrapper<Dictionary<T>>; + + /** + @see _.fromPairs + */ + fromPairs( + this: LoDashImplicitWrapper<List<any[]> | null | undefined> + ): LoDashImplicitWrapper<Dictionary<any>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.fromPairs + */ + fromPairs<T>( + this: LoDashExplicitWrapper<List<[PropertyName, T]> | null | undefined> + ): LoDashExplicitWrapper<Dictionary<T>>; + + /** + @see _.fromPairs + */ + fromPairs( + this: LoDashExplicitWrapper<List<any[]> | null | undefined> + ): LoDashExplicitWrapper<Dictionary<any>>; + } + + // head + + interface LoDashStatic { + /** + * Gets the first element of array. + * + * @alias _.first + * + * @param array The array to query. + * @return Returns the first element of array. + */ + head<T>(array: List<T> | null | undefined): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.head + */ + head<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.head + */ + head<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + } + + // indexOf + + interface LoDashStatic { + /** + * Gets the index at which the first occurrence of `value` is found in `array` + * using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons. If `fromIndex` is negative, it's used as the offset + * from the end of `array`. + * + * @category Array + * @param array The array to search. + * @param value The value to search for. + * @param [fromIndex=0] The index to search from. + * @returns Returns the index of the matched value, else `-1`. + * @example + * + * _.indexOf([1, 2, 1, 2], 2); + * // => 1 + * + * // using `fromIndex` + * _.indexOf([1, 2, 1, 2], 2, 2); + * // => 3 + */ + indexOf<T>( + array: List<T> | null | undefined, + value: T, + fromIndex?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.indexOf + */ + indexOf<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T, + fromIndex?: number + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.indexOf + */ + indexOf<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T, + fromIndex?: number + ): LoDashExplicitWrapper<number>; + } + + // initial + + interface LoDashStatic { + /** + * Gets all but the last element of array. + * + * @param array The array to query. + * @return Returns the slice of array. + */ + initial<T>(array: List<T> | null | undefined): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.initial + */ + initial<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.initial + */ + initial<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // intersection + + interface LoDashStatic { + /** + * Creates an array of unique values that are included in all of the provided arrays using SameValueZero for + * equality comparisons. + * + * @param arrays The arrays to inspect. + * @return Returns the new array of shared values. + */ + intersection<T>(...arrays: Array<List<T>>): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.intersection + */ + intersection<T>( + this: LoDashImplicitWrapper<List<T>>, + ...arrays: Array<List<T>> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.intersection + */ + intersection<T>( + this: LoDashExplicitWrapper<List<T>>, + ...arrays: Array<List<T>> + ): LoDashExplicitWrapper<T[]>; + } + + // intersectionBy + + interface LoDashStatic { + /** + * This method is like `_.intersection` except that it accepts `iteratee` + * which is invoked for each element of each `arrays` to generate the criterion + * by which uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the new array of shared values. + * @example + * + * _.intersectionBy([2.1, 1.2], [4.3, 2.4], Math.floor); + * // => [2.1] + * + * // using the `_.property` iteratee shorthand + * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }] + */ + intersectionBy<T1, T2>( + array: List<T1> | null, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): T1[]; + + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2, T3>( + array: List<T1> | null, + values1: List<T2>, + values2: List<T3>, + iteratee: ValueIteratee<T1 | T2 | T3> + ): T1[]; + + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2, T3, T4>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>> + ): T1[]; + + /** + * @see _.intersectionBy + */ + intersectionBy<T>( + array?: List<T> | null, + ...values: Array<List<T>> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2, T3>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + iteratee: ValueIteratee<T1 | T2 | T3> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2, T3, T4>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.intersectionBy + */ + intersectionBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2, T3>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + iteratee: ValueIteratee<T1 | T2 | T3> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.intersectionBy + */ + intersectionBy<T1, T2, T3, T4>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | ValueIteratee<T1 | T2 | T3 | T4>> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.intersectionBy + */ + intersectionBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashExplicitWrapper<T[]>; + } + + // intersectionWith + + interface LoDashStatic { + /** + * Creates an array of unique `array` values not included in the other + * provided arrays using [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons. + * + * @category Array + * @param [values] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of filtered values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + + * _.intersectionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }] + */ + intersectionWith<T1, T2>( + array: List<T1> | null | undefined, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): T1[]; + + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2, T3>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + comparator: Comparator2<T1, T2 | T3> + ): T1[]; + + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2, T3, T4>( + array: List<T1> | null | undefined, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>> + ): T1[]; + + /** + * @see _.intersectionWith + */ + intersectionWith<T>( + array?: List<T> | null, + ...values: Array<List<T>> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2, T3>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + comparator: Comparator2<T1, T2 | T3> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2, T3, T4>( + this: LoDashImplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>> + ): LoDashImplicitWrapper<T1[]>; + + /** + * @see _.intersectionWith + */ + intersectionWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2, T3>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + comparator: Comparator2<T1, T2 | T3> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.intersectionWith + */ + intersectionWith<T1, T2, T3, T4>( + this: LoDashExplicitWrapper<List<T1> | null | undefined>, + values1: List<T2>, + values2: List<T3>, + ...values: Array<List<T4> | Comparator2<T1, T2 | T3 | T4>> + ): LoDashExplicitWrapper<T1[]>; + + /** + * @see _.intersectionWith + */ + intersectionWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...values: Array<List<T>> + ): LoDashExplicitWrapper<T[]>; + } + + // join + + interface LoDashStatic { + /** + * Converts all elements in `array` into a string separated by `separator`. + * + * @param array The array to convert. + * @param separator The element separator. + * @returns Returns the joined string. + */ + join( + array: List<any> | null | undefined, + separator?: string + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.join + */ + join(separator?: string): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.join + */ + join(separator?: string): LoDashExplicitWrapper<string>; + } + + // last + + interface LoDashStatic { + /** + * Gets the last element of array. + * + * @param array The array to query. + * @return Returns the last element of array. + */ + last<T>(array: List<T> | null | undefined): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.last + */ + last<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.last + */ + last<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + } + + // lastIndexOf + + interface LoDashStatic { + /** + * This method is like _.indexOf except that it iterates over elements of array from right to left. + * + * @param array The array to search. + * @param value The value to search for. + * @param fromIndex The index to search from or true to perform a binary search on a sorted array. + * @return Returns the index of the matched value, else -1. + */ + lastIndexOf<T>( + array: List<T> | null | undefined, + value: T, + fromIndex?: true|number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.indexOf + */ + lastIndexOf<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T, + fromIndex?: true|number + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.indexOf + */ + lastIndexOf<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T, + fromIndex?: true|number + ): LoDashExplicitWrapper<number>; + } + + // nth + + interface LoDashStatic { + /** + * Gets the element at index `n` of `array`. If `n` is negative, the nth element from the end is returned. + * + * @param array array The array to query. + * @param value The index of the element to return. + * @return Returns the nth element of `array`. + */ + nth<T>( + array: List<T> | null | undefined, + n?: number + ): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.nth + */ + nth<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + n?: number + ): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.nth + */ + nth<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + n?: number + ): LoDashExplicitWrapper<T | undefined>; + } + + // pull + + interface LoDashStatic { + /** + * Removes all provided values from array using SameValueZero for equality comparisons. + * + * Note: Unlike _.without, this method mutates array. + * + * @param array The array to modify. + * @param values The values to remove. + * @return Returns array. + */ + pull<T>( + array: T[], + ...values: T[] + ): T[]; + + /** + * @see _.pull + */ + pull<T>( + array: List<T>, + ...values: T[] + ): List<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.pull + */ + pull<T>( + this: LoDashImplicitWrapper<List<T>>, + ...values: T[] + ): this; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.pull + */ + pull<T>( + this: LoDashExplicitWrapper<List<T>>, + ...values: T[] + ): this; + } + + // pullAll + + interface LoDashStatic { + /** + * This method is like `_.pull` except that it accepts an array of values to remove. + * + * **Note:** Unlike `_.difference`, this method mutates `array`. + * + * @category Array + * @param array The array to modify. + * @param values The values to remove. + * @returns Returns `array`. + * @example + * + * var array = [1, 2, 3, 1, 2, 3]; + * + * _.pull(array, [2, 3]); + * console.log(array); + * // => [1, 1] + */ + pullAll<T>( + array: T[], + values?: List<T>, + ): T[]; + + /** + * @see _.pullAll + */ + pullAll<T>( + array: List<T>, + values?: List<T>, + ): List<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.pullAll + */ + pullAll<T>( + this: LoDashImplicitWrapper<List<T>>, + values?: List<T> + ): this; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.pullAll + */ + pullAll<T>( + this: LoDashExplicitWrapper<List<T>>, + values?: List<T> + ): this; + } + + // pullAllBy + + interface LoDashStatic { + /** + * This method is like `_.pullAll` except that it accepts `iteratee` which is + * invoked for each element of `array` and `values` to to generate the criterion + * by which uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * **Note:** Unlike `_.differenceBy`, this method mutates `array`. + * + * @category Array + * @param array The array to modify. + * @param values The values to remove. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns `array`. + * @example + * + * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; + * + * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); + * console.log(array); + * // => [{ 'x': 2 }] + */ + pullAllBy<T>( + array: T[], + values?: List<T>, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.pullAllBy + */ + pullAllBy<T>( + array: List<T>, + values?: List<T>, + iteratee?: ValueIteratee<T> + ): List<T>; + + /** + * @see _.pullAllBy + */ + pullAllBy<T1, T2>( + array: T1[], + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): T1[]; + + /** + * @see _.pullAllBy + */ + pullAllBy<T1, T2>( + array: List<T1>, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): List<T1>; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.pullAllBy + */ + pullAllBy<T>( + this: LoDashWrapper<List<T>>, + values?: List<T>, + iteratee?: ValueIteratee<T> + ): this; + + /** + * @see _.pullAllBy + */ + pullAllBy<T1, T2>( + this: LoDashWrapper<List<T1>>, + values: List<T2>, + iteratee: ValueIteratee<T1 | T2> + ): this; + } + + // pullAllWith + + interface LoDashStatic { + /** + * This method is like `_.pullAll` except that it accepts `comparator` which is + * invoked to compare elements of array to values. The comparator is invoked with + * two arguments: (arrVal, othVal). + * + * **Note:** Unlike `_.differenceWith`, this method mutates `array`. + * + * @category Array + * @param array The array to modify. + * @param values The values to remove. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns `array`. + * @example + * + * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; + * + * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); + * console.log(array); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] + */ + pullAllWith<T>( + array: T[], + values?: List<T>, + comparator?: Comparator<T> + ): T[]; + + /** + * @see _.pullAllWith + */ + pullAllWith<T>( + array: List<T>, + values?: List<T>, + comparator?: Comparator<T> + ): List<T>; + + /** + * @see _.pullAllWith + */ + pullAllWith<T1, T2>( + array: T1[], + values: List<T2>, + comparator: Comparator2<T1, T2> + ): T1[]; + + /** + * @see _.pullAllWith + */ + pullAllWith<T1, T2>( + array: List<T1>, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): List<T1>; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.pullAllWith + */ + pullAllWith<T>( + this: LoDashWrapper<List<T>>, + values?: List<T>, + comparator?: Comparator<T> + ): this; + + /** + * @see _.pullAllWith + */ + pullAllWith<T1, T2>( + this: LoDashWrapper<List<T1>>, + values: List<T2>, + comparator: Comparator2<T1, T2> + ): this; + } + + // pullAt + + interface LoDashStatic { + /** + * Removes elements from array corresponding to the given indexes and returns an array of the removed elements. + * Indexes may be specified as an array of indexes or as individual arguments. + * + * Note: Unlike _.at, this method mutates array. + * + * @param array The array to modify. + * @param indexes The indexes of elements to remove, specified as individual indexes or arrays of indexes. + * @return Returns the new array of removed elements. + */ + pullAt<T>( + array: T[], + ...indexes: Array<Many<number>> + ): T[]; + + /** + * @see _.pullAt + */ + pullAt<T>( + array: List<T>, + ...indexes: Array<Many<number>> + ): List<T>; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.pullAt + */ + pullAt(...indexes: Array<Many<number>>): this; + } + + // remove + + interface LoDashStatic { + /** + * Removes all elements from array that predicate returns truthy for and returns an array of the removed + * elements. The predicate is invoked with three arguments: (value, index, array). + * + * Note: Unlike _.filter, this method mutates array. + * + * @param array The array to modify. + * @param predicate The function invoked per iteration. + * @return Returns the new array of removed elements. + */ + remove<T>( + array: List<T>, + predicate?: ListIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.remove + */ + remove<T>( + this: LoDashImplicitWrapper<List<T>>, + predicate?: ListIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.remove + */ + remove<T>( + this: LoDashExplicitWrapper<List<T>>, + predicate?: ListIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // reverse + + interface LoDashStatic { + /** + * Reverses `array` so that the first element becomes the last, the second + * element becomes the second to last, and so on. + * + * **Note:** This method mutates `array` and is based on + * [`Array#reverse`](https://mdn.io/Array/reverse). + * + * @category Array + * @returns Returns `array`. + * @example + * + * var array = [1, 2, 3]; + * + * _.reverse(array); + * // => [3, 2, 1] + * + * console.log(array); + * // => [3, 2, 1] + */ + reverse<TList extends List<any>>( + array: TList, + ): TList; + } + + // slice + + interface LoDashStatic { + /** + * Creates a slice of array from start up to, but not including, end. + * + * @param array The array to slice. + * @param start The start position. + * @param end The end position. + * @return Returns the slice of array. + */ + slice<T>( + array: List<T> | null | undefined, + start?: number, + end?: number + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.slice + */ + slice<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + start?: number, + end?: number + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.slice + */ + slice<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + start?: number, + end?: number + ): LoDashExplicitWrapper<T[]>; + } + + // sortedIndex + + interface LoDashStatic { + /** + * Uses a binary search to determine the lowest index at which `value` should + * be inserted into `array` in order to maintain its sort order. + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + * + * _.sortedIndex([4, 5], 4); + * // => 0 + */ + sortedIndex<T>( + array: List<T> | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedIndex + */ + sortedIndex<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedIndex + */ + sortedIndex<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T + ): LoDashExplicitWrapper<number>; + } + + // sortedIndexBy + + interface LoDashStatic { + /** + * Uses a binary search to determine the lowest index at which `value` should + * be inserted into `array` in order to maintain its sort order. + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * _.sortedIndex([30, 50], 40); + * // => 1 + * + * _.sortedIndex([4, 5], 4); + * // => 0 + */ + sortedIndex<T>( + array: List<T> | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedIndex + */ + sortedIndex<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedIndex + */ + sortedIndex<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T + ): LoDashExplicitWrapper<number>; + } + + // _.sortedIndexBy + interface LoDashStatic { + /** + * This method is like `_.sortedIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * var dict = { 'thirty': 30, 'forty': 40, 'fifty': 50 }; + * + * _.sortedIndexBy(['thirty', 'fifty'], 'forty', _.propertyOf(dict)); + * // => 1 + * + * // using the `_.property` iteratee shorthand + * _.sortedIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); + * // => 0 + */ + sortedIndexBy<T>( + array: List<T> | null | undefined, + value: T, + iteratee?: ValueIteratee<T> + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedIndexBy + */ + sortedIndexBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T, + iteratee?: ValueIteratee<T> + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedIndexBy + */ + sortedIndexBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<number>; + } + + // sortedIndexOf + + interface LoDashStatic { + /** + * This method is like `_.indexOf` except that it performs a binary + * search on a sorted `array`. + * + * @category Array + * @param array The array to search. + * @param value The value to search for. + * @returns Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedIndexOf([1, 1, 2, 2], 2); + * // => 2 + */ + sortedIndexOf<T>( + array: List<T> | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedIndexOf + */ + sortedIndexOf<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedIndexOf + */ + sortedIndexOf<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T + ): LoDashExplicitWrapper<number>; + } + + // sortedLastIndex + + interface LoDashStatic { + /** + * This method is like `_.sortedIndex` except that it returns the highest + * index at which `value` should be inserted into `array` in order to + * maintain its sort order. + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * _.sortedLastIndex([4, 5], 4); + * // => 1 + */ + sortedLastIndex<T>( + array: List<T> | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedLastIndex + */ + sortedLastIndex<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedLastIndex + */ + sortedLastIndex<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T + ): LoDashExplicitWrapper<number>; + } + + // sortedLastIndexBy + + interface LoDashStatic { + /** + * This method is like `_.sortedLastIndex` except that it accepts `iteratee` + * which is invoked for `value` and each element of `array` to compute their + * sort ranking. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param array The sorted array to inspect. + * @param value The value to evaluate. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the index at which `value` should be inserted into `array`. + * @example + * + * // using the `_.property` iteratee shorthand + * _.sortedLastIndexBy([{ 'x': 4 }, { 'x': 5 }], { 'x': 4 }, 'x'); + * // => 1 + */ + sortedLastIndexBy<T>( + array: List<T> | null | undefined, + value: T, + iteratee: ValueIteratee<T> + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedLastIndexBy + */ + sortedLastIndexBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T, + iteratee: ValueIteratee<T> + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedLastIndexBy + */ + sortedLastIndexBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T, + iteratee: ValueIteratee<T> + ): LoDashExplicitWrapper<number>; + } + + // sortedLastIndexOf + + interface LoDashStatic { + /** + * This method is like `_.lastIndexOf` except that it performs a binary + * search on a sorted `array`. + * + * @category Array + * @param array The array to search. + * @param value The value to search for. + * @returns Returns the index of the matched value, else `-1`. + * @example + * + * _.sortedLastIndexOf([1, 1, 2, 2], 2); + * // => 3 + */ + sortedLastIndexOf<T>( + array: List<T> | null | undefined, + value: T + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedLastIndexOf + */ + sortedLastIndexOf<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + value: T + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedLastIndexOf + */ + sortedLastIndexOf<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + value: T + ): LoDashExplicitWrapper<number>; + } + + // sortedUniq + + interface LoDashStatic { + /** + * This method is like `_.uniq` except that it's designed and optimized + * for sorted arrays. + * + * @category Array + * @param array The array to inspect. + * @returns Returns the new duplicate free array. + * @example + * + * _.sortedUniq([1, 1, 2]); + * // => [1, 2] + */ + sortedUniq<T>( + array: List<T> | null | undefined + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedUniq + */ + sortedUniq<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedUniq + */ + sortedUniq<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // sortedUniqBy + + interface LoDashStatic { + /** + * This method is like `_.uniqBy` except that it's designed and optimized + * for sorted arrays. + * + * @category Array + * @param array The array to inspect. + * @param [iteratee] The iteratee invoked per element. + * @returns Returns the new duplicate free array. + * @example + * + * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); + * // => [1.1, 2.2] + */ + sortedUniqBy<T>( + array: List<T> | null | undefined, + iteratee: ValueIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortedUniqBy + */ + sortedUniqBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortedUniqBy + */ + sortedUniqBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // tail + + interface LoDashStatic { + /** + * Gets all but the first element of array. + * + * @param array The array to query. + * @return Returns the slice of array. + */ + tail<T>(array: List<T> | null | undefined): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.tail + */ + tail<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.tail + */ + tail<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // take + + interface LoDashStatic { + /** + * Creates a slice of array with n elements taken from the beginning. + * + * @param array The array to query. + * @param n The number of elements to take. + * @return Returns the slice of array. + */ + take<T>( + array: List<T> | null | undefined, + n?: number + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.take + */ + take<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + n?: number + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.take + */ + take<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + n?: number + ): LoDashExplicitWrapper<T[]>; + } + + // takeRight + + interface LoDashStatic { + /** + * Creates a slice of array with n elements taken from the end. + * + * @param array The array to query. + * @param n The number of elements to take. + * @return Returns the slice of array. + */ + takeRight<T>( + array: List<T> | null | undefined, + n?: number + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.takeRight + */ + takeRight<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + n?: number + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.takeRight + */ + takeRight<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + n?: number + ): LoDashExplicitWrapper<T[]>; + } + + // takeRightWhile + + interface LoDashStatic { + /** + * Creates a slice of array with elements taken from the end. Elements are taken until predicate returns + * falsey. The predicate is invoked with three arguments: (value, index, array). + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @return Returns the slice of array. + */ + takeRightWhile<T>( + array: List<T> | null | undefined, + predicate?: ListIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.takeRightWhile + */ + takeRightWhile<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.takeRightWhile + */ + takeRightWhile<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // takeWhile + + interface LoDashStatic { + /** + * Creates a slice of array with elements taken from the beginning. Elements are taken until predicate returns + * falsey. The predicate is invoked with three arguments: (value, index, array). + * + * @param array The array to query. + * @param predicate The function invoked per iteration. + * @return Returns the slice of array. + */ + takeWhile<T>( + array: List<T> | null | undefined, + predicate?: ListIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.takeWhile + */ + takeWhile<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.takeWhile + */ + takeWhile<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // union + + interface LoDashStatic { + /** + * Creates an array of unique values, in order, from all of the provided arrays using SameValueZero for + * equality comparisons. + * + * @param arrays The arrays to inspect. + * @return Returns the new array of combined values. + */ + union<T>(...arrays: Array<List<T> | null | undefined>): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.union + */ + union<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...arrays: Array<List<T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.union + */ + union<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...arrays: Array<List<T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + } + + // unionBy + + interface LoDashStatic { + /** + * This method is like `_.union` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by which + * uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @param arrays The arrays to inspect. + * @param iteratee The iteratee invoked per element. + * @return Returns the new array of combined values. + */ + unionBy<T>( + arrays: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.unionBy + */ + unionBy<T>( + arrays1: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.unionBy + */ + unionBy<T>( + arrays1: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.unionBy + */ + unionBy<T>( + arrays1: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + arrays4: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.unionBy + */ + unionBy<T>( + arrays1: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + arrays4: List<T> | null | undefined, + arrays5: List<T> | null | undefined, + ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + arrays4: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + arrays4: List<T> | null | undefined, + arrays5: List<T> | null | undefined, + ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + arrays4: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.unionBy + */ + unionBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + arrays4: List<T> | null | undefined, + arrays5: List<T> | null | undefined, + ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + } + + // unionWith + + interface LoDashStatic { + /** + * This method is like `_.union` except that it accepts `comparator` which + * is invoked to compare elements of `arrays`. The comparator is invoked + * with two arguments: (arrVal, othVal). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of combined values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.unionWith(objects, others, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + unionWith<T>( + arrays: List<T> | null | undefined, + comparator?: Comparator<T> + ): T[]; + + /** + * @see _.unionBy + */ + unionWith<T>( + arrays: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + comparator?: Comparator<T> + ): T[]; + + /** + * @see _.unionWith + */ + unionWith<T>( + arrays: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...comparator: Array<Comparator<T> | List<T> | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unionWith + */ + unionWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + comparator?: Comparator<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.unionWith + */ + unionWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + comparator?: Comparator<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.unionWith + */ + unionWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...comparator: Array<Comparator<T> | List<T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unionWith + */ + unionWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + comparator?: Comparator<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.unionWith + */ + unionWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + comparator?: Comparator<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.unionWith + */ + unionWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...comparator: Array<Comparator<T> | List<T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + } + + // uniq + + interface LoDashStatic { + /** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each element + * is kept. + * + * @category Array + * @param array The array to inspect. + * @returns Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ + uniq<T>( + array: List<T> | null | undefined + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.uniq + */ + uniq<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.uniq + */ + uniq<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + } + + // uniqBy + + interface LoDashStatic { + /** + * This method is like `_.uniq` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param array The array to inspect. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the new duplicate free array. + * @example + * + * _.uniqBy([2.1, 1.2, 2.3], Math.floor); + * // => [2.1, 1.2] + * + * // using the `_.property` iteratee shorthand + * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + uniqBy<T>( + array: List<T> | null | undefined, + iteratee: ValueIteratee<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.uniqBy + */ + uniqBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.uniqBy + */ + uniqBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + } + + // uniqWith + + interface LoDashStatic { + /** + * This method is like `_.uniq` except that it accepts `comparator` which + * is invoked to compare elements of `array`. The comparator is invoked with + * two arguments: (arrVal, othVal). + * + * @category Array + * @param array The array to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new duplicate free array. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.uniqWith(objects, _.isEqual); + * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] + */ + uniqWith<T>( + array: List<T> | null | undefined, + comparator?: Comparator<T> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.uniqWith + */ + uniqWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + comparator?: Comparator<T> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.uniqWith + */ + uniqWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + comparator?: Comparator<T> + ): LoDashExplicitWrapper<T[]>; + } + + // unzip + + interface LoDashStatic { + /** + * This method is like _.zip except that it accepts an array of grouped elements and creates an array + * regrouping the elements to their pre-zip configuration. + * + * @param array The array of grouped elements to process. + * @return Returns the new array of regrouped elements. + */ + unzip<T>(array: T[][] | List<List<T>> | null | undefined): T[][]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unzip + */ + unzip<T>(this: LoDashImplicitWrapper<T[][] | List<List<T>> | null | undefined>): LoDashImplicitWrapper<T[][]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unzip + */ + unzip<T>(this: LoDashExplicitWrapper<T[][] | List<List<T>> | null | undefined>): LoDashExplicitWrapper<T[][]>; + } + + // unzipWith + + interface LoDashStatic { + /** + * This method is like _.unzip except that it accepts an iteratee to specify how regrouped values should be + * combined. The iteratee is invoked with four arguments: (accumulator, value, index, group). + * + * @param array The array of grouped elements to process. + * @param iteratee The function to combine regrouped values. + * @return Returns the new array of regrouped elements. + */ + unzipWith<T, TResult>( + array: List<List<T>> | null | undefined, + iteratee: (...values: T[]) => TResult + ): TResult[]; + + /** + * @see _.unzipWith + */ + unzipWith<T>( + array: List<List<T>> | null | undefined + ): T[][]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unzipWith + */ + unzipWith<T, TResult>( + this: LoDashImplicitWrapper<List<List<T>> | null | undefined>, + iteratee: (...values: T[]) => TResult + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.unzipWith + */ + unzipWith<T>( + this: LoDashImplicitWrapper<List<List<T>> | null | undefined> + ): LoDashImplicitWrapper<T[][]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unzipWith + */ + unzipWith<T, TResult>( + this: LoDashExplicitWrapper<List<List<T>> | null | undefined>, + iteratee: (...values: T[]) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.unzipWith + */ + unzipWith<T>( + this: LoDashExplicitWrapper<List<List<T>> | null | undefined> + ): LoDashExplicitWrapper<T[][]>; + } + + // without + + interface LoDashStatic { + /** + * Creates an array excluding all provided values using SameValueZero for equality comparisons. + * + * @param array The array to filter. + * @param values The values to exclude. + * @return Returns the new array of filtered values. + */ + without<T>( + array: List<T> | null | undefined, + ...values: T[] + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.without + */ + without<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...values: T[] + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.without + */ + without<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...values: T[] + ): LoDashExplicitWrapper<T[]>; + } + + // xor + + interface LoDashStatic { + /** + * Creates an array of unique values that is the symmetric difference of the provided arrays. + * + * @param arrays The arrays to inspect. + * @return Returns the new array of values. + */ + xor<T>(...arrays: Array<List<T> | null | undefined>): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.xor + */ + xor<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...arrays: Array<List<T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.xor + */ + xor<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...arrays: Array<List<T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + } + + // xorBy + + interface LoDashStatic { + /** + * This method is like `_.xor` except that it accepts `iteratee` which is + * invoked for each element of each `arrays` to generate the criterion by which + * uniqueness is computed. The iteratee is invoked with one argument: (value). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the new array of values. + * @example + * + * _.xorBy([2.1, 1.2], [4.3, 2.4], Math.floor); + * // => [1.2, 4.3] + * + * // using the `_.property` iteratee shorthand + * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 2 }] + */ + xorBy<T>( + arrays: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.xorBy + */ + xorBy<T>( + arrays: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T[]; + + /** + * @see _.xorBy + */ + xorBy<T>( + arrays: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.xor + */ + xorBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.xorBy + */ + xorBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.xorBy + */ + xorBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.xorBy + */ + xorBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.xorBy + */ + xorBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.xorBy + */ + xorBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...iteratee: Array<ValueIteratee<T> | List<T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + } + + // xorWith + + interface LoDashStatic { + /** + * This method is like `_.xor` except that it accepts `comparator` which is + * invoked to compare elements of `arrays`. The comparator is invoked with + * two arguments: (arrVal, othVal). + * + * @category Array + * @param [arrays] The arrays to inspect. + * @param [comparator] The comparator invoked per element. + * @returns Returns the new array of values. + * @example + * + * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; + * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; + * + * _.xorWith(objects, others, _.isEqual); + * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] + */ + xorWith<T>( + arrays: List<T> | null | undefined, + comparator?: Comparator<T> + ): T[]; + + /** + * @see _.xorWith + */ + xorWith<T>( + arrays: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + comparator?: Comparator<T> + ): T[]; + + /** + * @see _.xorWith + */ + xorWith<T>( + arrays: List<T> | null | undefined, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...comparator: Array<Comparator<T> | List<T> | null | undefined> + ): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.xorWith + */ + xorWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + comparator?: Comparator<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.xorWith + */ + xorWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + comparator?: Comparator<T> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.xorWith + */ + xorWith<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...comparator: Array<Comparator<T> | List<T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.xorWith + */ + xorWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + comparator?: Comparator<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.xorWith + */ + xorWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + comparator?: Comparator<T> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.xorWith + */ + xorWith<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + arrays2: List<T> | null | undefined, + arrays3: List<T> | null | undefined, + ...comparator: Array<Comparator<T> | List<T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + } + + // zip + + interface LoDashStatic { + /** + * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, + * the second of which contains the second elements of the given arrays, and so on. + * + * @param arrays The arrays to process. + * @return Returns the new array of grouped elements. + */ + zip<T1, T2>(arrays1: List<T1>, arrays2: List<T2>): Array<[T1 | undefined, T2 | undefined]>; + + /** + * @see _.zip + */ + zip<T1, T2, T3>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>): Array<[T1 | undefined, T2 | undefined, T3 | undefined]>; + + /** + * @see _.zip + */ + zip<T1, T2, T3, T4>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>; + + /** + * @see _.zip + */ + zip<T1, T2, T3, T4, T5>(arrays1: List<T1>, arrays2: List<T2>, arrays3: List<T3>, arrays4: List<T4>, arrays5: List<T5>): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>; + + /** + * @see _.zip + */ + zip<T>(...arrays: Array<List<T> | null | undefined>): Array<Array<T | undefined>>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.zip + */ + zip<T1, T2>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined]>>; + + /** + * @see _.zip + */ + zip<T1, T2, T3>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined]>>; + + /** + * @see _.zip + */ + zip<T1, T2, T3, T4>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>>; + + /** + * @see _.zip + */ + zip<T1, T2, T3, T4, T5>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + arrays5: List<T5>, + ): LoDashImplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>>; + + /** + * @see _.zip + */ + zip<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...arrays: Array<List<T> | null | undefined> + ): LoDashImplicitWrapper<Array<Array<T | undefined>>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.zip + */ + zip<T1, T2>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined]>>; + + /** + * @see _.zip + */ + zip<T1, T2, T3>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined]>>; + + /** + * @see _.zip + */ + zip<T1, T2, T3, T4>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>>; + + /** + * @see _.zip + */ + zip<T1, T2, T3, T4, T5>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + arrays5: List<T5>, + ): LoDashExplicitWrapper<Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>>; + + /** + * @see _.zip + */ + zip<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...arrays: Array<List<T> | null | undefined> + ): LoDashExplicitWrapper<Array<Array<T | undefined>>>; + } + + // zipObject + + interface LoDashStatic { + /** + * This method is like _.fromPairs except that it accepts two arrays, one of property + * identifiers and one of corresponding values. + * + * @param props The property names. + * @param values The property values. + * @return Returns the new object. + */ + zipObject<T>( + props: List<PropertyName>, + values: List<T> + ): Dictionary<T>; + + /** + * @see _.zipObject + */ + zipObject( + props?: List<PropertyName> + ): Dictionary<undefined>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.zipObject + */ + zipObject<T>( + this: LoDashImplicitWrapper<List<PropertyName>>, + values: List<T> + ): LoDashImplicitWrapper<Dictionary<T>>; + + /** + * @see _.zipObject + */ + zipObject( + this: LoDashImplicitWrapper<List<PropertyName>> + ): LoDashImplicitWrapper<Dictionary<undefined>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.zipObject + */ + zipObject<T>( + this: LoDashExplicitWrapper<List<PropertyName>>, + values: List<T> + ): LoDashExplicitWrapper<Dictionary<T>>; + + /** + * @see _.zipObject + */ + zipObject( + this: LoDashExplicitWrapper<List<PropertyName>> + ): LoDashExplicitWrapper<Dictionary<undefined>>; + } + + // zipObjectDeep + + interface LoDashStatic { + /** + * This method is like _.zipObject except that it supports property paths. + * + * @param paths The property names. + * @param values The property values. + * @return Returns the new object. + */ + zipObjectDeep( + paths?: List<PropertyPath>, + values?: List<any> + ): object; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.zipObjectDeep + */ + zipObjectDeep( + this: LoDashImplicitWrapper<List<PropertyPath>>, + values?: List<any> + ): LoDashImplicitWrapper<object>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.zipObjectDeep + */ + zipObjectDeep( + this: LoDashExplicitWrapper<List<PropertyPath>>, + values?: List<any> + ): LoDashExplicitWrapper<object>; + } + + // zipWith + + interface LoDashStatic { + /** + * This method is like _.zip except that it accepts an iteratee to specify how grouped values should be + * combined. The iteratee is invoked with four arguments: (accumulator, value, index, + * group). + * @param arrays The arrays to process. + * @param iteratee The function to combine grouped values. + * @return Returns the new array of grouped elements. + */ + zipWith<T, TResult>( + arrays: List<T>, + iteratee: (value1: T) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, TResult>( + arrays1: List<T1>, + arrays2: List<T2>, + iteratee: (value1: T1, value2: T2) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, TResult>( + arrays1: List<T1>, + arrays2: List<T2>, + arrays3: List<T3>, + iteratee: (value1: T1, value2: T2, value3: T3) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, T4, TResult>( + arrays1: List<T1>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, T4, T5, TResult>( + arrays1: List<T1>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + arrays5: List<T5>, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult + ): TResult[]; + + /** + * @see _.zipWith + */ + zipWith<T, TResult>( + ...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined> + ): TResult[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.zipWith + */ + zipWith<T, TResult>( + this: LoDashImplicitWrapper<List<T>>, + iteratee: (value1: T) => TResult + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, TResult>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + iteratee: (value1: T1, value2: T2) => TResult + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, TResult>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + iteratee: (value1: T1, value2: T2, value3: T3) => TResult + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, T4, TResult>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, T4, T5, TResult>( + this: LoDashImplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + arrays5: List<T5>, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined> + ): LoDashImplicitWrapper<TResult[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.zipWith + */ + zipWith<T, TResult>( + this: LoDashExplicitWrapper<List<T>>, + iteratee: (value1: T) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, TResult>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + iteratee: (value1: T1, value2: T2) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, TResult>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + iteratee: (value1: T1, value2: T2, value3: T3) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, T4, TResult>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T1, T2, T3, T4, T5, TResult>( + this: LoDashExplicitWrapper<List<T1>>, + arrays2: List<T2>, + arrays3: List<T3>, + arrays4: List<T4>, + arrays5: List<T5>, + iteratee: (value1: T1, value2: T2, value3: T3, value4: T4, value5: T5) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.zipWith + */ + zipWith<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...iteratee: Array<((...group: T[]) => TResult) | List<T> | null | undefined> + ): LoDashExplicitWrapper<TResult[]>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/collection.d.ts b/jtg js/node_modules/@types/lodash/common/collection.d.ts new file mode 100644 index 0000000..2e38422 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/collection.d.ts @@ -0,0 +1,2575 @@ +import _ = require("../index"); +declare module "../index" { + // countBy + + interface LoDashStatic { + /** + * Creates an object composed of keys generated from the results of running each element of collection through + * iteratee. The corresponding value of each key is the number of times the key was returned by iteratee. The + * iteratee is invoked with one argument: (value). + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the composed aggregate object. + */ + countBy<T>( + collection: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): Dictionary<number>; + + /** + * @see _.countBy + */ + countBy<T extends object>( + collection: T | null | undefined, + iteratee?: ValueIteratee<T[keyof T]> + ): Dictionary<number>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.countBy + */ + countBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<Dictionary<number>>; + + /** + * @see _.countBy + */ + countBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee?: ValueIteratee<T[keyof T]> + ): LoDashImplicitWrapper<Dictionary<number>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.countBy + */ + countBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<Dictionary<number>>; + + /** + * @see _.countBy + */ + countBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee?: ValueIteratee<T[keyof T]> + ): LoDashExplicitWrapper<Dictionary<number>>; + } + + // each + + interface LoDashStatic { + each: typeof _.forEach; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forEach + */ + each<T>( + this: LoDashWrapper<T[] | null | undefined>, + iteratee?: ArrayIterator<T, any> + ): this; + + /** + * @see _.forEach + */ + each( + this: LoDashWrapper<string | null | undefined>, + iteratee?: StringIterator<any> + ): this; + + /** + * @see _.forEach + */ + each<T>( + this: LoDashWrapper<List<T> | null | undefined>, + iteratee?: ListIterator<T, any> + ): this; + + /** + * @see _.forEach + */ + each<T extends object>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // eachRight + + interface LoDashStatic { + eachRight: typeof _.forEachRight; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forEachRight + */ + eachRight<T>( + this: LoDashWrapper<T[] | null | undefined>, + iteratee?: ArrayIterator<T, any> + ): this; + + /** + * @see _.forEachRight + */ + eachRight( + this: LoDashWrapper<string | null | undefined>, + iteratee?: StringIterator<any> + ): this; + + /** + * @see _.forEachRight + */ + eachRight<T>( + this: LoDashWrapper<List<T> | null | undefined>, + iteratee?: ListIterator<T, any> + ): this; + + /** + * @see _.forEachRight + */ + eachRight<T extends object>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // every + + interface LoDashStatic { + /** + * Checks if predicate returns truthy for all elements of collection. Iteration is stopped once predicate + * returns falsey. The predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @return Returns true if all elements pass the predicate check, else false. + */ + every<T>( + collection: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean> + ): boolean; + + /** + * @see _.every + */ + every<T extends object>( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom<T, boolean> + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.every + */ + every<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): boolean; + + /** + * @see _.every + */ + every<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.every + */ + every<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<boolean>; + + /** + * @see _.every + */ + every<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<boolean>; + } + + // filter + + interface LoDashStatic { + /** + * Iterates over elements of collection, returning an array of all elements predicate returns truthy for. The + * predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @return Returns the new filtered array. + */ + filter( + collection: string | null | undefined, + predicate?: StringIterator<boolean> + ): string[]; + + /** + * @see _.filter + */ + filter<T, S extends T>( + collection: List<T> | null | undefined, + predicate: ListIteratorTypeGuard<T, S> + ): S[]; + + /** + * @see _.filter + */ + filter<T>( + collection: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean> + ): T[]; + + /** + * @see _.filter + */ + filter<T extends object, S extends T[keyof T]>( + collection: T | null | undefined, + predicate: ObjectIteratorTypeGuard<T, S> + ): S[]; + + /** + * @see _.filter + */ + filter<T extends object>( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom<T, boolean> + ): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.filter + */ + filter( + this: LoDashImplicitWrapper<string | null | undefined>, + predicate?: StringIterator<boolean> + ): LoDashImplicitWrapper<string[]>; + + /** + * @see _.filter + */ + filter<T, S extends T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate: ListIteratorTypeGuard<T, S> + ): LoDashImplicitWrapper<S[]>; + + /** + * @see _.filter + */ + filter<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.filter + */ + filter<T extends object, S extends T[keyof T]>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate: ObjectIteratorTypeGuard<T, S> + ): LoDashImplicitWrapper<S[]>; + + /** + * @see _.filter + */ + filter<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.filter + */ + filter( + this: LoDashExplicitWrapper<string | null | undefined>, + predicate?: StringIterator<boolean> + ): LoDashExplicitWrapper<string[]>; + + /** + * @see _.filter + */ + filter<T, S extends T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate: ListIteratorTypeGuard<T, S> + ): LoDashExplicitWrapper<S[]>; + + /** + * @see _.filter + */ + filter<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.filter + */ + filter<T extends object, S extends T[keyof T]>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate: ObjectIteratorTypeGuard<T, S> + ): LoDashExplicitWrapper<S[]>; + + /** + * @see _.filter + */ + filter<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // find + + interface LoDashStatic { + /** + * Iterates over elements of collection, returning the first element predicate returns truthy for. + * The predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to search. + * @param predicate The function invoked per iteration. + * @param fromIndex The index to search from. + * @return Returns the matched element, else undefined. + */ + find<T, S extends T>( + collection: List<T> | null | undefined, + predicate: ListIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find<T>( + collection: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): T|undefined; + + /** + * @see _.find + */ + find<T extends object, S extends T[keyof T]>( + collection: T | null | undefined, + predicate: ObjectIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find<T extends object>( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom<T, boolean>, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.find + */ + find<T, S extends T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate: ListIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): T|undefined; + + /** + * @see _.find + */ + find<T extends object, S extends T[keyof T]>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate: ObjectIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.find + */ + find<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean>, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.find + */ + find<T, S extends T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate: ListIteratorTypeGuard<T, S>, + fromIndex?: number + ): LoDashExplicitWrapper<S|undefined>; + + /** + * @see _.find + */ + find<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): LoDashExplicitWrapper<T|undefined>; + + /** + * @see _.find + */ + find<T extends object, S extends T[keyof T]>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate: ObjectIteratorTypeGuard<T, S>, + fromIndex?: number + ): LoDashExplicitWrapper<S|undefined>; + + /** + * @see _.find + */ + find<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean>, + fromIndex?: number + ): LoDashExplicitWrapper<T[keyof T]|undefined>; + } + + // findLast + + interface LoDashStatic { + /** + * This method is like _.find except that it iterates over elements of a collection from + * right to left. + * @param collection Searches for a value in this list. + * @param predicate The function called per iteration. + * @param fromIndex The index to search from. + * @return The found element, else undefined. + */ + findLast<T, S extends T>( + collection: List<T> | null | undefined, + predicate: ListIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.findLast + */ + findLast<T>( + collection: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): T|undefined; + + /** + * @see _.findLast + */ + findLast<T extends object, S extends T[keyof T]>( + collection: T | null | undefined, + predicate: ObjectIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.findLast + */ + findLast<T extends object>( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom<T, boolean>, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.findLast + */ + findLast<T, S extends T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate: ListIteratorTypeGuard<T, S>, + fromIndex?: number + ): S | undefined; + + /** + * @see _.findLast + */ + findLast<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): T | undefined; + + /** + * @see _.findLast + */ + findLast<T extends object, S extends T[keyof T]>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate: ObjectIteratorTypeGuard<T, S>, + fromIndex?: number + ): S|undefined; + + /** + * @see _.findLast + */ + findLast<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean>, + fromIndex?: number + ): T[keyof T]|undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.findLast + */ + findLast<T, S extends T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate: ListIteratorTypeGuard<T, S>, + fromIndex?: number + ): LoDashExplicitWrapper<S | undefined>; + + /** + * @see _.findLast + */ + findLast<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean>, + fromIndex?: number + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.findLast + */ + findLast<T extends object, S extends T[keyof T]>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate: ObjectIteratorTypeGuard<T, S>, + fromIndex?: number + ): LoDashExplicitWrapper<S|undefined>; + + /** + * @see _.findLast + */ + findLast<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean>, + fromIndex?: number + ): LoDashExplicitWrapper<T[keyof T]|undefined>; + } + + // flatMap + + interface LoDashStatic { + /** + * Creates an array of flattened values by running each element in collection through iteratee + * and concating its result to the other mapped values. The iteratee is invoked with three arguments: + * (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the new flattened array. + */ + flatMap<T>( + collection: List<Many<T>> | Dictionary<Many<T>> | NumericDictionary<Many<T>> | null | undefined + ): T[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: object | null | undefined + ): any[]; + + /** + * @see _.flatMap + */ + flatMap<T, TResult>( + collection: List<T> | null | undefined, + iteratee: ListIterator<T, Many<TResult>> + ): TResult[]; + + /** + * @see _.flatMap + */ + flatMap<T extends object, TResult>( + collection: T | null | undefined, + iteratee: ObjectIterator<T, Many<TResult>> + ): TResult[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: object | null | undefined, + iteratee: string + ): any[]; + + /** + * @see _.flatMap + */ + flatMap( + collection: object | null | undefined, + iteratee: object + ): boolean[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flatMap + */ + flatMap<T>(this: LoDashImplicitWrapper<List<Many<T>> | Dictionary<Many<T>> | NumericDictionary<Many<T>> | null | undefined>): LoDashImplicitWrapper<T[]>; + + /** + * @see _.flatMap + */ + flatMap(): LoDashImplicitWrapper<any[]>; + + /** + * @see _.flatMap + */ + flatMap<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, Many<TResult>> + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.flatMap + */ + flatMap<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, Many<TResult>> + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: string + ): LoDashImplicitWrapper<any[]>; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: object + ): LoDashImplicitWrapper<boolean[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flatMap + */ + flatMap<T>(this: LoDashExplicitWrapper<List<Many<T>> | Dictionary<Many<T>> | NumericDictionary<Many<T>> | null | undefined>): LoDashExplicitWrapper<T[]>; + + /** + * @see _.flatMap + */ + flatMap(): LoDashExplicitWrapper<any[]>; + + /** + * @see _.flatMap + */ + flatMap<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, Many<TResult>> + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.flatMap + */ + flatMap<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, Many<TResult>> + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: string + ): LoDashExplicitWrapper<any[]>; + + /** + * @see _.flatMap + */ + flatMap( + iteratee: object + ): LoDashExplicitWrapper<boolean[]>; + } + + // flatMapDeep + + interface LoDashStatic { + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results. + * + * @since 4.7.0 + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratee=_.identity] The function invoked per iteration. + * @returns Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDeep([1, 2], duplicate); + * // => [1, 1, 2, 2] + */ + flatMapDeep<T>( + collection: List<ListOfRecursiveArraysOrValues<T> | T> | Dictionary<ListOfRecursiveArraysOrValues<T> | T> | NumericDictionary<ListOfRecursiveArraysOrValues<T> | T> | null | undefined + ): T[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep<T, TResult>( + collection: List<T> | null | undefined, + iteratee: ListIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult> + ): TResult[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep<T extends object, TResult>( + collection: T | null | undefined, + iteratee: ObjectIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult> + ): TResult[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: object | null | undefined, + iteratee: string + ): any[]; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + collection: object | null | undefined, + iteratee: object + ): boolean[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flatMapDeep + */ + flatMapDeep<T>( + this: LoDashImplicitWrapper<List<ListOfRecursiveArraysOrValues<T> | T> | Dictionary<ListOfRecursiveArraysOrValues<T> | T> | NumericDictionary<ListOfRecursiveArraysOrValues<T> | T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult> + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult> + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper<object | null | undefined>, + iteratee: string + ): LoDashImplicitWrapper<any[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashImplicitWrapper<object | null | undefined>, + iteratee: object + ): LoDashImplicitWrapper<boolean[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flatMapDeep + */ + flatMapDeep<T>( + this: LoDashExplicitWrapper<List<ListOfRecursiveArraysOrValues<T> | T> | Dictionary<ListOfRecursiveArraysOrValues<T> | T> | NumericDictionary<ListOfRecursiveArraysOrValues<T> | T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult> + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult> + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper<object | null | undefined>, + iteratee: string + ): LoDashExplicitWrapper<any[]>; + + /** + * @see _.flatMapDeep + */ + flatMapDeep( + this: LoDashExplicitWrapper<object | null | undefined>, + iteratee: object + ): LoDashExplicitWrapper<boolean[]>; + } + + // flatMapDepth + + interface LoDashStatic { + /** + * This method is like `_.flatMap` except that it recursively flattens the + * mapped results up to `depth` times. + * + * @since 4.7.0 + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratee=_.identity] The function invoked per iteration. + * @param [depth=1] The maximum recursion depth. + * @returns Returns the new flattened array. + * @example + * + * function duplicate(n) { + * return [[[n, n]]]; + * } + * + * _.flatMapDepth([1, 2], duplicate, 2); + * // => [[1, 1], [2, 2]] + */ + flatMapDepth<T>( + collection: List<ListOfRecursiveArraysOrValues<T> | T> | Dictionary<ListOfRecursiveArraysOrValues<T> | T> | NumericDictionary<ListOfRecursiveArraysOrValues<T> | T> | null | undefined + ): T[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth<T, TResult>( + collection: List<T> | null | undefined, + iteratee: ListIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult>, + depth?: number + ): TResult[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth<T extends object, TResult>( + collection: T | null | undefined, + iteratee: ObjectIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult>, + depth?: number + ): TResult[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: object | null | undefined, + iteratee: string, + depth?: number + ): any[]; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + collection: object | null | undefined, + iteratee: object, + depth?: number + ): boolean[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flatMapDepth + */ + flatMapDepth<T>( + this: LoDashImplicitWrapper<List<ListOfRecursiveArraysOrValues<T> | T> | Dictionary<ListOfRecursiveArraysOrValues<T> | T> | NumericDictionary<ListOfRecursiveArraysOrValues<T> | T> | null | undefined> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult>, + depth?: number + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult>, + depth?: number + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper<object | null | undefined>, + iteratee: string, + depth?: number + ): LoDashImplicitWrapper<any[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashImplicitWrapper<object | null | undefined>, + iteratee: object, + depth?: number + ): LoDashImplicitWrapper<boolean[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flatMapDepth + */ + flatMapDepth<T>( + this: LoDashExplicitWrapper<List<ListOfRecursiveArraysOrValues<T> | T> | Dictionary<ListOfRecursiveArraysOrValues<T> | T> | NumericDictionary<ListOfRecursiveArraysOrValues<T> | T> | null | undefined> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult>, + depth?: number + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, ListOfRecursiveArraysOrValues<TResult> | TResult>, + depth?: number + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper<object | null | undefined>, + iteratee: string, + depth?: number + ): LoDashExplicitWrapper<any[]>; + + /** + * @see _.flatMapDepth + */ + flatMapDepth( + this: LoDashExplicitWrapper<object | null | undefined>, + iteratee: object, + depth?: number + ): LoDashExplicitWrapper<boolean[]>; + } + + // forEach + + interface LoDashStatic { + /** + * Iterates over elements of collection invoking iteratee for each element. The iteratee is invoked with three arguments: + * (value, index|key, collection). Iteratee functions may exit iteration early by explicitly returning false. + * + * Note: As with other "Collections" methods, objects with a "length" property are iterated like arrays. To + * avoid this behavior _.forIn or _.forOwn may be used for object iteration. + * + * @alias _.each + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + */ + forEach<T>( + collection: T[], + iteratee?: ArrayIterator<T, any> + ): T[]; + + /** + * @see _.forEach + */ + forEach( + collection: string, + iteratee?: StringIterator<any> + ): string; + + /** + * @see _.forEach + */ + forEach<T>( + collection: List<T>, + iteratee?: ListIterator<T, any> + ): List<T>; + + /** + * @see _.forEach + */ + forEach<T extends object>( + collection: T, + iteratee?: ObjectIterator<T, any> + ): T; + + /** + * @see _.forEach + */ + forEach<T, TArray extends T[] | null | undefined>( + collection: TArray & (T[] | null | undefined), + iteratee?: ArrayIterator<T, any> + ): TArray; + + /** + * @see _.forEach + */ + forEach<TString extends string | null | undefined>( + collection: TString, + iteratee?: StringIterator<any> + ): TString; + + /** + * @see _.forEach + */ + forEach<T, TList extends List<T> | null | undefined>( + collection: TList & (List<T> | null | undefined), + iteratee?: ListIterator<T, any> + ): TList; + + /** + * @see _.forEach + */ + forEach<T extends object>( + collection: T | null | undefined, + iteratee?: ObjectIterator<T, any> + ): T | null | undefined; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forEach + */ + forEach<T>( + this: LoDashWrapper<T[] | null | undefined>, + iteratee?: ArrayIterator<T, any> + ): this; + + /** + * @see _.forEach + */ + forEach( + this: LoDashWrapper<string | null | undefined>, + iteratee?: StringIterator<any> + ): this; + + /** + * @see _.forEach + */ + forEach<T>( + this: LoDashWrapper<List<T> | null | undefined>, + iteratee?: ListIterator<T, any> + ): this; + + /** + * @see _.forEach + */ + forEach<T extends object>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // forEachRight + + interface LoDashStatic { + /** + * This method is like _.forEach except that it iterates over elements of collection from right to left. + * + * @alias _.eachRight + * + * @param collection The collection to iterate over. + * @param iteratee The function called per iteration. + */ + forEachRight<T>( + collection: T[], + iteratee?: ArrayIterator<T, any> + ): T[]; + + /** + * @see _.forEachRight + */ + forEachRight( + collection: string, + iteratee?: StringIterator<any> + ): string; + + /** + * @see _.forEachRight + */ + forEachRight<T>( + collection: List<T>, + iteratee?: ListIterator<T, any> + ): List<T>; + + /** + * @see _.forEachRight + */ + forEachRight<T extends object>( + collection: T, + iteratee?: ObjectIterator<T, any> + ): T; + + /** + * @see _.forEachRight + */ + forEachRight<T, TArray extends T[] | null | undefined>( + collection: TArray & (T[] | null | undefined), + iteratee?: ArrayIterator<T, any> + ): TArray; + + /** + * @see _.forEachRight + */ + forEachRight<TString extends string | null | undefined>( + collection: TString, + iteratee?: StringIterator<any> + ): TString; + + /** + * @see _.forEachRight + */ + forEachRight<T, TList extends List<T> | null | undefined>( + collection: TList & (List<T> | null | undefined), + iteratee?: ListIterator<T, any> + ): TList; + + /** + * @see _.forEachRight + */ + forEachRight<T extends object>( + collection: T | null | undefined, + iteratee?: ObjectIterator<T, any> + ): T | null | undefined; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forEachRight + */ + forEachRight<T>( + this: LoDashWrapper<T[] | null | undefined>, + iteratee?: ArrayIterator<T, any> + ): this; + + /** + * @see _.forEachRight + */ + forEachRight( + this: LoDashWrapper<string | null | undefined>, + iteratee?: StringIterator<any> + ): this; + + /** + * @see _.forEachRight + */ + forEachRight<T>( + this: LoDashWrapper<List<T> | null | undefined>, + iteratee?: ListIterator<T, any> + ): this; + + /** + * @see _.forEachRight + */ + forEachRight<T extends object>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // groupBy + + interface LoDashStatic { + /** + * Creates an object composed of keys generated from the results of running each element of collection through + * iteratee. The corresponding value of each key is an array of the elements responsible for generating the + * key. The iteratee is invoked with one argument: (value). + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the composed aggregate object. + */ + groupBy<T>( + collection: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): Dictionary<T[]>; + + /** + * @see _.groupBy + */ + groupBy<T extends object>( + collection: T | null | undefined, + iteratee?: ValueIteratee<T[keyof T]> + ): Dictionary<Array<T[keyof T]>>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.groupBy + */ + groupBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashImplicitWrapper<Dictionary<T[]>>; + + /** + * @see _.groupBy + */ + groupBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee?: ValueIteratee<T[keyof T]> + ): LoDashImplicitWrapper<Dictionary<Array<T[keyof T]>>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.groupBy + */ + groupBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<Dictionary<T[]>>; + + /** + * @see _.groupBy + */ + groupBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee?: ValueIteratee<T[keyof T]> + ): LoDashExplicitWrapper<Dictionary<Array<T[keyof T]>>>; + } + + // includes + + interface LoDashStatic { + /** + * Checks if target is in collection using SameValueZero for equality comparisons. If fromIndex is negative, + * it’s used as the offset from the end of collection. + * + * @param collection The collection to search. + * @param target The value to search for. + * @param fromIndex The index to search from. + * @return True if the target element is found, else false. + */ + includes<T>( + collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + target: T, + fromIndex?: number + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.includes + */ + includes<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + target: T, + fromIndex?: number + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.includes + */ + includes<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + target: T, + fromIndex?: number + ): LoDashExplicitWrapper<boolean>; + } + + // invokeMap + + interface LoDashStatic { + /** + * Invokes the method named by methodName on each element in the collection returning + * an array of the results of each invoked method. Additional arguments will be provided + * to each invoked method. If methodName is a function it will be invoked for, and this + * bound to, each element in the collection. + * @param collection The collection to iterate over. + * @param methodName The name of the method to invoke. + * @param args Arguments to invoke the method with. + **/ + invokeMap( + collection: object | null | undefined, + methodName: string, + ...args: any[]): any[]; + + /** + * @see _.invokeMap + **/ + invokeMap<TResult>( + collection: object | null | undefined, + method: (...args: any[]) => TResult, + ...args: any[]): TResult[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.invokeMap + **/ + invokeMap( + methodName: string, + ...args: any[]): LoDashImplicitWrapper<any[]>; + + /** + * @see _.invokeMap + **/ + invokeMap<TResult>( + method: (...args: any[]) => TResult, + ...args: any[]): LoDashImplicitWrapper<TResult[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.invokeMap + **/ + invokeMap( + methodName: string, + ...args: any[]): LoDashExplicitWrapper<any[]>; + + /** + * @see _.invokeMap + **/ + invokeMap<TResult>( + method: (...args: any[]) => TResult, + ...args: any[]): LoDashExplicitWrapper<TResult[]>; + } + + // keyBy + + interface LoDashStatic { + /** + * Creates an object composed of keys generated from the results of running each element of collection through + * iteratee. The corresponding value of each key is the last element responsible for generating the key. The + * iteratee function is invoked with one argument: (value). + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the composed aggregate object. + */ + keyBy<T>( + collection: List<T> | null | undefined, + iteratee?: ValueIterateeCustom<T, PropertyName> + ): Dictionary<T>; + + /** + * @see _.keyBy + */ + keyBy<T extends object>( + collection: T | null | undefined, + iteratee?: ValueIterateeCustom<T[keyof T], PropertyName> + ): Dictionary<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.keyBy + */ + keyBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIterateeCustom<T, PropertyName> + ): LoDashImplicitWrapper<Dictionary<T>>; + + /** + * @see _.keyBy + */ + keyBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee?: ValueIterateeCustom<T[keyof T], PropertyName> + ): LoDashImplicitWrapper<Dictionary<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.keyBy + */ + keyBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIterateeCustom<T, PropertyName> + ): LoDashExplicitWrapper<Dictionary<T>>; + + /** + * @see _.keyBy + */ + keyBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee?: ValueIterateeCustom<T[keyof T], PropertyName> + ): LoDashExplicitWrapper<Dictionary<T[keyof T]>>; + } + + // map + + interface LoDashStatic { + /** + * Creates an array of values by running each element in collection through iteratee. The iteratee is + * invoked with three arguments: (value, index|key, collection). + * + * Many lodash methods are guarded to work as iteratees for methods like _.every, _.filter, _.map, _.mapValues, + * _.reject, and _.some. + * + * The guarded methods are: + * ary, callback, chunk, clone, create, curry, curryRight, drop, dropRight, every, fill, flatten, invert, max, + * min, parseInt, slice, sortBy, take, takeRight, template, trim, trimLeft, trimRight, trunc, random, range, + * sample, some, sum, uniq, and words + * + * @param collection The collection to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the new mapped array. + */ + map<T, TResult>( + collection: T[] | null | undefined, + iteratee: ArrayIterator<T, TResult> + ): TResult[]; + + /** + * @see _.map + */ + map<T, TResult>( + collection: List<T> | null | undefined, + iteratee: ListIterator<T, TResult> + ): TResult[]; + + /** + * @see _.map + */ + map<T>(collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined): T[]; + + /** + * @see _.map + */ + map<T extends object, TResult>( + collection: T | null | undefined, + iteratee: ObjectIterator<T, TResult> + ): TResult[]; + + /** @see _.map */ + map<T, K extends keyof T>( + collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + iteratee: K + ): Array<T[K]>; + + /** + * @see _.map + */ + map<T>( + collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + iteratee?: string + ): any[]; + + /** + * @see _.map + */ + map<T>( + collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + iteratee?: object + ): boolean[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.map + */ + map<T, TResult>( + this: LoDashImplicitWrapper<T[] | null | undefined>, + iteratee: ArrayIterator<T, TResult> + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.map + */ + map<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, TResult> + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.map + */ + map<T>(this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + + /** + * @see _.map + */ + map<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, TResult> + ): LoDashImplicitWrapper<TResult[]>; + + /** @see _.map */ + map<T, K extends keyof T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: K + ): LoDashImplicitWrapper<Array<T[K]>>; + + /** + * @see _.map + */ + map<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee?: string + ): LoDashImplicitWrapper<any[]>; + + /** + * @see _.map + */ + map<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee?: object + ): LoDashImplicitWrapper<boolean[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.map + */ + map<T, TResult>( + this: LoDashExplicitWrapper<T[] | null | undefined>, + iteratee: ArrayIterator<T, TResult> + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.map + */ + map<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee: ListIterator<T, TResult> + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.map + */ + map<T>(this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + + /** + * @see _.map + */ + map<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee: ObjectIterator<T, TResult> + ): LoDashExplicitWrapper<TResult[]>; + + /** @see _.map */ + map<T, K extends keyof T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: K + ): LoDashExplicitWrapper<Array<T[K]>>; + + /** + * @see _.map + */ + map<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee?: string + ): LoDashExplicitWrapper<any[]>; + + /** + * @see _.map + */ + map<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee?: object + ): LoDashExplicitWrapper<boolean[]>; + } + + // orderBy + + interface LoDashStatic { + /** + * This method is like `_.sortBy` except that it allows specifying the sort + * orders of the iteratees to sort by. If `orders` is unspecified, all values + * are sorted in ascending order. Otherwise, specify an order of "desc" for + * descending or "asc" for ascending sort order of corresponding values. + * + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratees=[_.identity]] The iteratees to sort by. + * @param [orders] The sort orders of `iteratees`. + * @param- {Object} [guard] Enables use as an iteratee for functions like `_.reduce`. + * @returns Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 34 }, + * { 'user': 'fred', 'age': 42 }, + * { 'user': 'barney', 'age': 36 } + * ]; + * + * // sort by `user` in ascending order and by `age` in descending order + * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] + */ + orderBy<T>( + collection: List<T> | null | undefined, + iteratees?: Many<ListIterator<T, NotVoid>>, + orders?: Many<boolean|string> + ): T[]; + + /** + * @see _.orderBy + */ + orderBy<T>( + collection: List<T> | null | undefined, + iteratees?: Many<ListIteratee<T>>, + orders?: Many<boolean|string> + ): T[]; + + /** + * @see _.orderBy + */ + orderBy<T extends object>( + collection: T | null | undefined, + iteratees?: Many<ObjectIterator<T, NotVoid>>, + orders?: Many<boolean|string> + ): Array<T[keyof T]>; + + /** + * @see _.orderBy + */ + orderBy<T extends object>( + collection: T | null | undefined, + iteratees?: Many<ObjectIteratee<T>>, + orders?: Many<boolean|string> + ): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.orderBy + */ + orderBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratees?: Many<ListIterator<T, NotVoid>>, + orders?: Many<boolean|string> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.orderBy + */ + orderBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratees?: Many<ListIteratee<T>>, + orders?: Many<boolean|string> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.orderBy + */ + orderBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratees?: Many<ObjectIterator<T, NotVoid>>, + orders?: Many<boolean|string> + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + + /** + * @see _.orderBy + */ + orderBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratees?: Many<ObjectIteratee<T>>, + orders?: Many<boolean|string> + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.orderBy + */ + orderBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratees?: Many<ListIterator<T, NotVoid>>, + orders?: Many<boolean|string> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.orderBy + */ + orderBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratees?: Many<ListIteratee<T>>, + orders?: Many<boolean|string> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.orderBy + */ + orderBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratees?: Many<ObjectIterator<T, NotVoid>>, + orders?: Many<boolean|string> + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + + /** + * @see _.orderBy + */ + orderBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratees?: Many<ObjectIteratee<T>>, + orders?: Many<boolean|string> + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // partition + + interface LoDashStatic { + /** + * Creates an array of elements split into two groups, the first of which contains elements predicate returns truthy for, + * while the second of which contains elements predicate returns falsey for. + * The predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param callback The function called per iteration. + * @return Returns the array of grouped elements. + **/ + partition<T>( + collection: List<T> | null | undefined, + callback: ValueIteratee<T> + ): [T[], T[]]; + + /** + * @see _.partition + */ + partition<T extends object>( + collection: T | null | undefined, + callback: ValueIteratee<T[keyof T]> + ): [Array<T[keyof T]>, Array<T[keyof T]>]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.partition + */ + partition<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + callback: ValueIteratee<T> + ): LoDashImplicitWrapper<[T[], T[]]>; + + /** + * @see _.partition + */ + partition<T>( + this: LoDashImplicitWrapper<T | null | undefined>, + callback: ValueIteratee<T[keyof T]> + ): LoDashImplicitWrapper<[Array<T[keyof T]>, Array<T[keyof T]>]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.partition + */ + partition<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + callback: ValueIteratee<T> + ): LoDashExplicitWrapper<[T[], T[]]>; + + /** + * @see _.partition + */ + partition<T>( + this: LoDashExplicitWrapper<T | null | undefined>, + callback: ValueIteratee<T[keyof T]> + ): LoDashExplicitWrapper<[Array<T[keyof T]>, Array<T[keyof T]>]>; + } + + // reduce + + interface LoDashStatic { + /** + * Reduces a collection to a value which is the accumulated result of running each + * element in the collection through the callback, where each successive callback execution + * consumes the return value of the previous execution. If accumulator is not provided the + * first element of the collection will be used as the initial accumulator value. The callback + * is invoked with four arguments: (accumulator, value, index|key, collection). + * @param collection The collection to iterate over. + * @param callback The function called per iteration. + * @param accumulator Initial value of the accumulator. + * @return Returns the accumulated value. + **/ + reduce<T, TResult>( + collection: T[] | null | undefined, + callback: MemoListIterator<T, TResult, T[]>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce<T, TResult>( + collection: List<T> | null | undefined, + callback: MemoListIterator<T, TResult, List<T>>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce<T extends object, TResult>( + collection: T | null | undefined, + callback: MemoObjectIterator<T[keyof T], TResult, T>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce<T>( + collection: T[] | null | undefined, + callback: MemoListIterator<T, T, T[]> + ): T | undefined; + + /** + * @see _.reduce + **/ + reduce<T>( + collection: List<T> | null | undefined, + callback: MemoListIterator<T, T, List<T>> + ): T | undefined; + + /** + * @see _.reduce + **/ + reduce<T extends object>( + collection: T | null | undefined, + callback: MemoObjectIterator<T[keyof T], T[keyof T], T> + ): T[keyof T] | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.reduce + **/ + reduce<T, TResult>( + this: LoDashImplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, TResult, T[]>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, TResult, List<T>>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], TResult, T>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduce + **/ + reduce<T>( + this: LoDashImplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, T, T[]> + ): T | undefined; + + /** + * @see _.reduce + **/ + reduce<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, T, List<T>> + ): T | undefined; + + /** + * @see _.reduce + **/ + reduce<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], T[keyof T], T> + ): T[keyof T] | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.reduce + **/ + reduce<T, TResult>( + this: LoDashExplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, TResult, T[]>, + accumulator: TResult + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.reduce + **/ + reduce<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, TResult, List<T>>, + accumulator: TResult + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.reduce + **/ + reduce<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], TResult, T>, + accumulator: TResult + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.reduce + **/ + reduce<T>( + this: LoDashExplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, T, T[]> + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.reduce + **/ + reduce<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, T, List<T>> + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.reduce + **/ + reduce<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], T[keyof T], T> + ): LoDashExplicitWrapper<T[keyof T] | undefined>; + } + + // reduceRight + + interface LoDashStatic { + /** + * This method is like _.reduce except that it iterates over elements of a collection from + * right to left. + * @param collection The collection to iterate over. + * @param callback The function called per iteration. + * @param accumulator Initial value of the accumulator. + * @return The accumulated value. + **/ + reduceRight<T, TResult>( + collection: T[] | null | undefined, + callback: MemoListIterator<T, TResult, T[]>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight<T, TResult>( + collection: List<T> | null | undefined, + callback: MemoListIterator<T, TResult, List<T>>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight<T extends object, TResult>( + collection: T | null | undefined, + callback: MemoObjectIterator<T[keyof T], TResult, T>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight<T>( + collection: T[] | null | undefined, + callback: MemoListIterator<T, T, T[]> + ): T | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight<T>( + collection: List<T> | null | undefined, + callback: MemoListIterator<T, T, List<T>> + ): T | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight<T extends object>( + collection: T | null | undefined, + callback: MemoObjectIterator<T[keyof T], T[keyof T], T> + ): T[keyof T] | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.reduceRight + **/ + reduceRight<T, TResult>( + this: LoDashImplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, TResult, T[]>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight<T, TResult>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, TResult, List<T>>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], TResult, T>, + accumulator: TResult + ): TResult; + + /** + * @see _.reduceRight + **/ + reduceRight<T>( + this: LoDashImplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, T, T[]> + ): T | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, T, List<T>> + ): T | undefined; + + /** + * @see _.reduceRight + **/ + reduceRight<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], T[keyof T], T> + ): T[keyof T] | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.reduceRight + **/ + reduceRight<T, TResult>( + this: LoDashExplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, TResult, T[]>, + accumulator: TResult + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.reduceRight + **/ + reduceRight<T, TResult>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, TResult, List<T>>, + accumulator: TResult + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.reduceRight + **/ + reduceRight<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], TResult, T>, + accumulator: TResult + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.reduceRight + **/ + reduceRight<T>( + this: LoDashExplicitWrapper<T[] | null | undefined>, + callback: MemoListIterator<T, T, T[]> + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.reduceRight + **/ + reduceRight<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + callback: MemoListIterator<T, T, List<T>> + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.reduceRight + **/ + reduceRight<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + callback: MemoObjectIterator<T[keyof T], T[keyof T], T> + ): LoDashExplicitWrapper<T[keyof T] | undefined>; + } + + // reject + + interface LoDashStatic { + /** + * The opposite of _.filter; this method returns the elements of collection that predicate does not return + * truthy for. + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @return Returns the new filtered array. + */ + reject( + collection: string | null | undefined, + predicate?: StringIterator<boolean> + ): string[]; + + /** + * @see _.reject + */ + reject<T>( + collection: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean> + ): T[]; + + /** + * @see _.reject + */ + reject<T extends object>( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom<T, boolean> + ): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.reject + */ + reject( + this: LoDashImplicitWrapper<string | null | undefined>, + predicate?: StringIterator<boolean> + ): LoDashImplicitWrapper<string[]>; + + /** + * @see _.reject + */ + reject<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.reject + */ + reject<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.reject + */ + reject( + this: LoDashExplicitWrapper<string | null | undefined>, + predicate?: StringIterator<boolean> + ): LoDashExplicitWrapper<string[]>; + + /** + * @see _.reject + */ + reject<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.reject + */ + reject<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // sample + + interface LoDashStatic { + /** + * Gets a random element from collection. + * + * @param collection The collection to sample. + * @return Returns the random element. + */ + sample<T>( + collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined + ): T | undefined; + + /** + * @see _.sample + */ + sample<T extends object>( + collection: T | null | undefined + ): T[keyof T] | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sample + */ + sample<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined> + ): T | undefined; + + /** + * @see _.sample + */ + sample<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined> + ): T[keyof T] | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sample + */ + sample<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined> + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.sample + */ + sample<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined> + ): LoDashExplicitWrapper<T[keyof T] | undefined>; + } + + // sampleSize + + interface LoDashStatic { + /** + * Gets n random elements at unique keys from collection up to the size of collection. + * + * @param collection The collection to sample. + * @param n The number of elements to sample. + * @return Returns the random elements. + */ + sampleSize<T>( + collection: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + n?: number + ): T[]; + + /** + * @see _.sampleSize + */ + sampleSize<T extends object>( + collection: T | null | undefined, + n?: number + ): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sampleSize + */ + sampleSize<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + n?: number + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.sampleSize + */ + sampleSize<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + n?: number + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sampleSize + */ + sampleSize<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + n?: number + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.sampleSize + */ + sampleSize<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + n?: number + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // shuffle + + interface LoDashStatic { + /** + * Creates an array of shuffled values, using a version of the Fisher-Yates shuffle. + * + * @param collection The collection to shuffle. + * @return Returns the new shuffled array. + */ + shuffle<T>(collection: List<T> | null | undefined): T[]; + + /** + * @see _.shuffle + */ + shuffle<T extends object>(collection: T | null | undefined): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.shuffle + */ + shuffle<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + + /** + * @see _.shuffle + */ + shuffle<T extends object>(this: LoDashImplicitWrapper<T | null | undefined>): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.shuffle + */ + shuffle<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + + /** + * @see _.shuffle + */ + shuffle<T extends object>(this: LoDashExplicitWrapper<T | null | undefined>): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // size + + interface LoDashStatic { + /** + * Gets the size of collection by returning its length for array-like values or the number of own enumerable + * properties for objects. + * + * @param collection The collection to inspect. + * @return Returns the size of collection. + */ + size(collection: object | string | null | undefined): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.size + */ + size(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.size + */ + size(): LoDashExplicitWrapper<number>; + } + + // some + + interface LoDashStatic { + /** + * Checks if predicate returns truthy for any element of collection. Iteration is stopped once predicate + * returns truthy. The predicate is invoked with three arguments: (value, index|key, collection). + * + * @param collection The collection to iterate over. + * @param predicate The function invoked per iteration. + * @return Returns true if any element passes the predicate check, else false. + */ + some<T>( + collection: List<T> | null | undefined, + predicate?: ListIterateeCustom<T, boolean> + ): boolean; + + /** + * @see _.some + */ + some<T extends object>( + collection: T | null | undefined, + predicate?: ObjectIterateeCustom<T, boolean> + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.some + */ + some<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): boolean; + + /** + * @see _.some + */ + some<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.some + */ + some<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + predicate?: ListIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<boolean>; + + /** + * @see _.some + */ + some<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIterateeCustom<T, boolean> + ): LoDashExplicitWrapper<boolean>; + } + + // sortBy + + interface LoDashStatic { + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection through each iteratee. This method + * performs a stable sort, that is, it preserves the original sort order of + * equal elements. The iteratees are invoked with one argument: (value). + * + * @category Collection + * @param collection The collection to iterate over. + * @param [iteratees=[_.identity]] + * The iteratees to sort by, specified individually or in arrays. + * @returns Returns the new sorted array. + * @example + * + * var users = [ + * { 'user': 'fred', 'age': 48 }, + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 42 }, + * { 'user': 'barney', 'age': 34 } + * ]; + * + * _.sortBy(users, function(o) { return o.user; }); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] + * + * _.sortBy(users, ['user', 'age']); + * // => objects for [['barney', 34], ['barney', 36], ['fred', 42], ['fred', 48]] + * + * _.sortBy(users, 'user', function(o) { + * return Math.floor(o.age / 10); + * }); + * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 42]] + */ + sortBy<T>( + collection: List<T> | null | undefined, + ...iteratees: Array<Many<ListIteratee<T>>> + ): T[]; + + /** + * @see _.sortBy + */ + sortBy<T extends object>( + collection: T | null | undefined, + ...iteratees: Array<Many<ObjectIteratee<T>>> + ): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sortBy + */ + sortBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + ...iteratees: Array<Many<ListIteratee<T>>> + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.sortBy + */ + sortBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + ...iteratees: Array<Many<ObjectIteratee<T>>> + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sortBy + */ + sortBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + ...iteratees: Array<Many<ListIteratee<T>>> + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.sortBy + */ + sortBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + ...iteratees: Array<Many<ObjectIteratee<T>>> + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/common.d.ts b/jtg js/node_modules/@types/lodash/common/common.d.ts new file mode 100644 index 0000000..d0856a0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/common.d.ts @@ -0,0 +1,268 @@ +import _ = require("../index"); +// tslint:disable-next-line:strict-export-declare-modifiers +type GlobalPartial<T> = Partial<T>; +declare module "../index" { + type PartialObject<T> = GlobalPartial<T>; + type Many<T> = T | T[]; // TODO: Should be ReadonlyArray<T>, but requires ts2.5 to not infinitely loop + interface LoDashStatic { + /** + * Creates a lodash object which wraps value to enable implicit method chain sequences. + * Methods that operate on and return arrays, collections, and functions can be chained together. + * Methods that retrieve a single value or may return a primitive value will automatically end the + * chain sequence and return the unwrapped value. Otherwise, the value must be unwrapped with value(). + * + * Explicit chain sequences, which must be unwrapped with value(), may be enabled using _.chain. + * + * The execution of chained methods is lazy, that is, it's deferred until value() is + * implicitly or explicitly called. + * + * Lazy evaluation allows several methods to support shortcut fusion. Shortcut fusion + * is an optimization to merge iteratee calls; this avoids the creation of intermediate + * arrays and can greatly reduce the number of iteratee executions. Sections of a chain + * sequence qualify for shortcut fusion if the section is applied to an array and iteratees + * accept only one argument. The heuristic for whether a section qualifies for shortcut + * fusion is subject to change. + * + * Chaining is supported in custom builds as long as the value() method is directly or + * indirectly included in the build. + * + * In addition to lodash methods, wrappers have Array and String methods. + * The wrapper Array methods are: + * concat, join, pop, push, shift, sort, splice, and unshift. + * The wrapper String methods are: + * replace and split. + * + * The wrapper methods that support shortcut fusion are: + * at, compact, drop, dropRight, dropWhile, filter, find, findLast, head, initial, last, + * map, reject, reverse, slice, tail, take, takeRight, takeRightWhile, takeWhile, and toArray + * + * The chainable wrapper methods are: + * after, ary, assign, assignIn, assignInWith, assignWith, at, before, bind, bindAll, bindKey, + * castArray, chain, chunk, commit, compact, concat, conforms, constant, countBy, create, + * curry, debounce, defaults, defaultsDeep, defer, delay, difference, differenceBy, differenceWith, + * drop, dropRight, dropRightWhile, dropWhile, extend, extendWith, fill, filter, flatMap, + * flatMapDeep, flatMapDepth, flatten, flattenDeep, flattenDepth, flip, flow, flowRight, + * fromPairs, functions, functionsIn, groupBy, initial, intersection, intersectionBy, intersectionWith, + * invert, invertBy, invokeMap, iteratee, keyBy, keys, keysIn, map, mapKeys, mapValues, + * matches, matchesProperty, memoize, merge, mergeWith, method, methodOf, mixin, negate, + * nthArg, omit, omitBy, once, orderBy, over, overArgs, overEvery, overSome, partial, partialRight, + * partition, pick, pickBy, plant, property, propertyOf, pull, pullAll, pullAllBy, pullAllWith, pullAt, + * push, range, rangeRight, rearg, reject, remove, rest, reverse, sampleSize, set, setWith, + * shuffle, slice, sort, sortBy, sortedUniq, sortedUniqBy, splice, spread, tail, take, + * takeRight, takeRightWhile, takeWhile, tap, throttle, thru, toArray, toPairs, toPairsIn, + * toPath, toPlainObject, transform, unary, union, unionBy, unionWith, uniq, uniqBy, uniqWith, + * unset, unshift, unzip, unzipWith, update, updateWith, values, valuesIn, without, wrap, + * xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, and zipWith. + * + * The wrapper methods that are not chainable by default are: + * add, attempt, camelCase, capitalize, ceil, clamp, clone, cloneDeep, cloneDeepWith, cloneWith, + * conformsTo, deburr, defaultTo, divide, each, eachRight, endsWith, eq, escape, escapeRegExp, + * every, find, findIndex, findKey, findLast, findLastIndex, findLastKey, first, floor, forEach, + * forEachRight, forIn, forInRight, forOwn, forOwnRight, get, gt, gte, has, hasIn, head, + * identity, includes, indexOf, inRange, invoke, isArguments, isArray, isArrayBuffer, + * isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith, + * isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN, + * isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp, + * isSafeInteger, isSet, isString, isUndefined, isTypedArray, isWeakMap, isWeakSet, join, + * kebabCase, last, lastIndexOf, lowerCase, lowerFirst, lt, lte, max, maxBy, mean, meanBy, + * min, minBy, multiply, noConflict, noop, now, nth, pad, padEnd, padStart, parseInt, pop, + * random, reduce, reduceRight, repeat, result, round, runInContext, sample, shift, size, + * snakeCase, some, sortedIndex, sortedIndexBy, sortedLastIndex, sortedLastIndexBy, startCase, + * startsWith, stubArray, stubFalse, stubObject, stubString, stubTrue, subtract, sum, sumBy, + * template, times, toFinite, toInteger, toJSON, toLength, toLower, toNumber, toSafeInteger, + * toString, toUpper, trim, trimEnd, trimStart, truncate, unescape, uniqueId, upperCase, + * upperFirst, value, and words. + **/ + <T>(value: T): LoDashImplicitWrapper<T>; + + /** + * The semantic version number. + **/ + VERSION: string; + + /** + * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby + * (ERB). Change the following template settings to use alternative delimiters. + **/ + templateSettings: TemplateSettings; + } + + /** + * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby + * (ERB). Change the following template settings to use alternative delimiters. + **/ + interface TemplateSettings { + /** + * The "escape" delimiter. + **/ + escape?: RegExp; + + /** + * The "evaluate" delimiter. + **/ + evaluate?: RegExp; + + /** + * An object to import into the template as local variables. + **/ + imports?: Dictionary<any>; + + /** + * The "interpolate" delimiter. + **/ + interpolate?: RegExp; + + /** + * Used to reference the data object in the template text. + **/ + variable?: string; + } + + /** + * Creates a cache object to store key/value pairs. + */ + interface MapCache { + /** + * Removes `key` and its value from the cache. + * @param key The key of the value to remove. + * @return Returns `true` if the entry was removed successfully, else `false`. + */ + delete(key: string): boolean; + + /** + * Gets the cached value for `key`. + * @param key The key of the value to get. + * @return Returns the cached value. + */ + get(key: string): any; + + /** + * Checks if a cached value for `key` exists. + * @param key The key of the entry to check. + * @return Returns `true` if an entry for `key` exists, else `false`. + */ + has(key: string): boolean; + + /** + * Sets `value` to `key` of the cache. + * @param key The key of the value to cache. + * @param value The value to cache. + * @return Returns the cache object. + */ + set(key: string, value: any): Dictionary<any>; + + /** + * Removes all key-value entries from the map. + */ + clear(): void; + } + interface MapCacheConstructor { + new (): MapCache; + } + + interface LoDashImplicitWrapper<TValue> extends LoDashWrapper<TValue> { + pop<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + push<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, ...items: T[]): this; + shift<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + sort<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, compareFn?: (a: T, b: T) => number): this; + splice<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, start: number, deleteCount?: number, ...items: T[]): this; + unshift<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>, ...items: T[]): this; + } + + interface LoDashExplicitWrapper<TValue> extends LoDashWrapper<TValue> { + pop<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + push<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, ...items: T[]): this; + shift<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + sort<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, compareFn?: (a: T, b: T) => number): this; + splice<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, start: number, deleteCount?: number, ...items: T[]): this; + unshift<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>, ...items: T[]): this; + } + + type NotVoid = {} | null | undefined; + type ArrayIterator<T, TResult> = (value: T, index: number, collection: T[]) => TResult; + type ListIterator<T, TResult> = (value: T, index: number, collection: List<T>) => TResult; + type ListIteratee<T> = ListIterator<T, NotVoid> | string | [string, any] | PartialDeep<T>; + type ListIterateeCustom<T, TResult> = ListIterator<T, TResult> | string | [string, any] | PartialDeep<T>; + type ListIteratorTypeGuard<T, S extends T> = (value: T, index: number, collection: List<T>) => value is S; + + // Note: key should be string, not keyof T, because the actual object may contain extra properties that were not specified in the type. + type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult; + type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | string | [string, any] | PartialDeep<TObject[keyof TObject]>; + type ObjectIterateeCustom<TObject, TResult> = ObjectIterator<TObject, TResult> | string | [string, any] | PartialDeep<TObject[keyof TObject]>; + type ObjectIteratorTypeGuard<TObject, S extends TObject[keyof TObject]> = (value: TObject[keyof TObject], key: string, collection: TObject) => value is S; + + type StringIterator<TResult> = (char: string, index: number, string: string) => TResult; + + /** @deprecated Use MemoVoidArrayIterator or MemoVoidDictionaryIterator instead. */ + type MemoVoidIterator<T, TResult> = (prev: TResult, curr: T, indexOrKey: any, list: T[]) => void; + + /** @deprecated Use MemoListIterator or MemoObjectIterator instead. */ + type MemoIterator<T, TResult> = (prev: TResult, curr: T, indexOrKey: any, list: T[]) => TResult; + type MemoListIterator<T, TResult, TList> = (prev: TResult, curr: T, index: number, list: TList) => TResult; + type MemoObjectIterator<T, TResult, TList> = (prev: TResult, curr: T, key: string, list: TList) => TResult; + type MemoIteratorCapped<T, TResult> = (prev: TResult, curr: T) => TResult; + type MemoIteratorCappedRight<T, TResult> = (curr: T, prev: TResult) => TResult; + + type MemoVoidArrayIterator<T, TResult> = (acc: TResult, curr: T, index: number, arr: T[]) => void; + type MemoVoidDictionaryIterator<T, TResult> = (acc: TResult, curr: T, key: string, dict: Dictionary<T>) => void; + type MemoVoidIteratorCapped<T, TResult> = (acc: TResult, curr: T) => void; + + type ValueIteratee<T> = ((value: T) => NotVoid) | string | [string, any] | PartialDeep<T>; + type ValueIterateeCustom<T, TResult> = ((value: T) => TResult) | string | [string, any] | PartialDeep<T>; + type ValueIteratorTypeGuard<T, S extends T> = (value: T) => value is S; + type ValueKeyIteratee<T> = ((value: T, key: string) => NotVoid) | string | [string, any] | PartialDeep<T>; + type Comparator<T> = (a: T, b: T) => boolean; + type Comparator2<T1, T2> = (a: T1, b: T2) => boolean; + + type PropertyName = string | number | symbol; + type PropertyPath = Many<PropertyName>; + + type Omit<T, K extends keyof T> = Pick<T, ({ [P in keyof T]: P } & { [P in K]: never } & { [x: string]: never })[keyof T]>; + + /** Common interface between Arrays and jQuery objects */ + type List<T> = ArrayLike<T>; + + interface Dictionary<T> { + [index: string]: T; + } + + interface NumericDictionary<T> { + [index: number]: T; + } + + // Crazy typedef needed get _.omit to work properly with Dictionary and NumericDictionary + type AnyKindOfDictionary = + | Dictionary<{} | null | undefined> + | NumericDictionary<{} | null | undefined>; + + interface Cancelable { + cancel(): void; + flush(): void; + } + + type PartialDeep<T> = { + [P in keyof T]?: PartialDeep<T[P]>; + }; + + // For backwards compatibility + type LoDashImplicitArrayWrapper<T> = LoDashImplicitWrapper<T[]>; + type LoDashImplicitNillableArrayWrapper<T> = LoDashImplicitWrapper<T[] | null | undefined>; + type LoDashImplicitObjectWrapper<T> = LoDashImplicitWrapper<T>; + type LoDashImplicitNillableObjectWrapper<T> = LoDashImplicitWrapper<T | null | undefined>; + type LoDashImplicitNumberArrayWrapper = LoDashImplicitWrapper<number[]>; + type LoDashImplicitStringWrapper = LoDashImplicitWrapper<string>; + type LoDashExplicitArrayWrapper<T> = LoDashExplicitWrapper<T[]>; + type LoDashExplicitNillableArrayWrapper<T> = LoDashExplicitWrapper<T[] | null | undefined>; + type LoDashExplicitObjectWrapper<T> = LoDashExplicitWrapper<T>; + type LoDashExplicitNillableObjectWrapper<T> = LoDashExplicitWrapper<T | null | undefined>; + type LoDashExplicitNumberArrayWrapper = LoDashExplicitWrapper<number[]>; + type LoDashExplicitStringWrapper = LoDashExplicitWrapper<string>; + + type DictionaryIterator<T, TResult> = ObjectIterator<Dictionary<T>, TResult>; + type DictionaryIteratee<T> = ObjectIteratee<Dictionary<T>>; + type DictionaryIteratorTypeGuard<T, S extends T> = ObjectIteratorTypeGuard<Dictionary<T>, S>; + // NOTE: keys of objects at run time are always strings, even when a NumericDictionary is being iterated. + type NumericDictionaryIterator<T, TResult> = (value: T, key: string, collection: NumericDictionary<T>) => TResult; + type NumericDictionaryIteratee<T> = NumericDictionaryIterator<T, NotVoid> | string | [string, any] | PartialDeep<T>; + type NumericDictionaryIterateeCustom<T, TResult> = NumericDictionaryIterator<T, TResult> | string | [string, any] | PartialDeep<T>; +} diff --git a/jtg js/node_modules/@types/lodash/common/date.d.ts b/jtg js/node_modules/@types/lodash/common/date.d.ts new file mode 100644 index 0000000..79131e4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/date.d.ts @@ -0,0 +1,27 @@ +import _ = require("../index"); +declare module "../index" { + // now + + interface LoDashStatic { + /** + * Gets the number of milliseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @return The number of milliseconds. + */ + now(): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.now + */ + now(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.now + */ + now(): LoDashExplicitWrapper<number>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/function.d.ts b/jtg js/node_modules/@types/lodash/common/function.d.ts new file mode 100644 index 0000000..71ec3bb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/function.d.ts @@ -0,0 +1,1473 @@ +import _ = require("../index"); +declare module "../index" { + // after + + interface LoDashStatic { + /** + * The opposite of _.before; this method creates a function that invokes func once it’s called n or more times. + * + * @param n The number of calls before func is invoked. + * @param func The function to restrict. + * @return Returns the new restricted function. + */ + after<TFunc extends (...args: any[]) => any>( + n: number, + func: TFunc + ): TFunc; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.after + **/ + after<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashImplicitWrapper<TFunc>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.after + **/ + after<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashExplicitWrapper<TFunc>; + } + + // ary + + interface LoDashStatic { + /** + * Creates a function that accepts up to n arguments ignoring any additional arguments. + * + * @param func The function to cap arguments for. + * @param n The arity cap. + * @returns Returns the new function. + */ + ary( + func: (...args: any[]) => any, + n?: number + ): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.ary + */ + ary(n?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.ary + */ + ary(n?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // before + + interface LoDashStatic { + /** + * Creates a function that invokes func, with the this binding and arguments of the created function, while + * it’s called less than n times. Subsequent calls to the created function return the result of the last func + * invocation. + * + * @param n The number of calls at which func is no longer invoked. + * @param func The function to restrict. + * @return Returns the new restricted function. + */ + before<TFunc extends (...args: any[]) => any>( + n: number, + func: TFunc + ): TFunc; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.before + **/ + before<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashImplicitWrapper<TFunc>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.before + **/ + before<TFunc extends (...args: any[]) => any>(func: TFunc): LoDashExplicitWrapper<TFunc>; + } + + // bind + + interface FunctionBind { + placeholder: __; + + ( + func: (...args: any[]) => any, + thisArg: any, + ...partials: any[] + ): (...args: any[]) => any; + } + + interface LoDashStatic { + /** + * Creates a function that invokes func with the this binding of thisArg and prepends any additional _.bind + * arguments to those provided to the bound function. + * + * The _.bind.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder for + * partially applied arguments. + * + * Note: Unlike native Function#bind this method does not set the "length" property of bound functions. + * + * @param func The function to bind. + * @param thisArg The this binding of func. + * @param partials The arguments to be partially applied. + * @return Returns the new bound function. + */ + bind: FunctionBind; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.bind + */ + bind( + thisArg: any, + ...partials: any[] + ): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.bind + */ + bind( + thisArg: any, + ...partials: any[] + ): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // bindKey + + interface FunctionBindKey { + placeholder: __; + + ( + object: object, + key: string, + ...partials: any[] + ): (...args: any[]) => any; + } + + interface LoDashStatic { + /** + * Creates a function that invokes the method at object[key] and prepends any additional _.bindKey arguments + * to those provided to the bound function. + * + * This method differs from _.bind by allowing bound functions to reference methods that may be redefined + * or don’t yet exist. See Peter Michaux’s article for more details. + * + * The _.bindKey.placeholder value, which defaults to _ in monolithic builds, may be used as a placeholder + * for partially applied arguments. + * + * @param object The object the method belongs to. + * @param key The key of the method. + * @param partials The arguments to be partially applied. + * @return Returns the new bound function. + */ + bindKey: FunctionBindKey; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.bindKey + */ + bindKey( + key: string, + ...partials: any[] + ): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.bindKey + */ + bindKey( + key: string, + ...partials: any[] + ): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // curry + + interface Curry { + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, R>(func: (t1: T1) => R, arity?: number): + CurriedFunction1<T1, R>; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number): + CurriedFunction2<T1, T2, R>; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): + CurriedFunction3<T1, T2, T3, R>; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): + CurriedFunction4<T1, T2, T3, T4, R>; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): + CurriedFunction5<T1, T2, T3, T4, T5, R>; + /** + * Creates a function that accepts one or more arguments of func that when called either invokes func returning + * its result, if all func arguments have been provided, or returns a function that accepts one or more of the + * remaining func arguments, and so on. The arity of func may be specified if func.length is not sufficient. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + (func: (...args: any[]) => any, arity?: number): (...args: any[]) => any; + + placeholder: __; + } + + interface LoDashStatic { + curry: Curry; + } + + interface CurriedFunction1<T1, R> { + (): CurriedFunction1<T1, R>; + (t1: T1): R; + } + + interface CurriedFunction2<T1, T2, R> { + (): CurriedFunction2<T1, T2, R>; + (t1: T1): CurriedFunction1<T2, R>; + (t1: __, t2: T2): CurriedFunction1<T1, R>; + (t1: T1, t2: T2): R; + } + + interface CurriedFunction3<T1, T2, T3, R> { + (): CurriedFunction3<T1, T2, T3, R>; + (t1: T1): CurriedFunction2<T2, T3, R>; + (t1: __, t2: T2): CurriedFunction2<T1, T3, R>; + (t1: T1, t2: T2): CurriedFunction1<T3, R>; + (t1: __, t2: __, t3: T3): CurriedFunction2<T1, T2, R>; + (t1: T1, t2: __, t3: T3): CurriedFunction1<T2, R>; + (t1: __, t2: T2, t3: T3): CurriedFunction1<T1, R>; + (t1: T1, t2: T2, t3: T3): R; + } + + interface CurriedFunction4<T1, T2, T3, T4, R> { + (): CurriedFunction4<T1, T2, T3, T4, R>; + (t1: T1): CurriedFunction3<T2, T3, T4, R>; + (t1: __, t2: T2): CurriedFunction3<T1, T3, T4, R>; + (t1: T1, t2: T2): CurriedFunction2<T3, T4, R>; + (t1: __, t2: __, t3: T3): CurriedFunction3<T1, T2, T4, R>; + (t1: __, t2: __, t3: T3): CurriedFunction2<T2, T4, R>; + (t1: __, t2: T2, t3: T3): CurriedFunction2<T1, T4, R>; + (t1: T1, t2: T2, t3: T3): CurriedFunction1<T4, R>; + (t1: __, t2: __, t3: __, t4: T4): CurriedFunction3<T1, T2, T3, R>; + (t1: T1, t2: __, t3: __, t4: T4): CurriedFunction2<T2, T3, R>; + (t1: __, t2: T2, t3: __, t4: T4): CurriedFunction2<T1, T3, R>; + (t1: __, t2: __, t3: T3, t4: T4): CurriedFunction2<T1, T2, R>; + (t1: T1, t2: T2, t3: __, t4: T4): CurriedFunction1<T3, R>; + (t1: T1, t2: __, t3: T3, t4: T4): CurriedFunction1<T2, R>; + (t1: __, t2: T2, t3: T3, t4: T4): CurriedFunction1<T1, R>; + (t1: T1, t2: T2, t3: T3, t4: T4): R; + } + + interface CurriedFunction5<T1, T2, T3, T4, T5, R> { + (): CurriedFunction5<T1, T2, T3, T4, T5, R>; + (t1: T1): CurriedFunction4<T2, T3, T4, T5, R>; + (t1: __, t2: T2): CurriedFunction4<T1, T3, T4, T5, R>; + (t1: T1, t2: T2): CurriedFunction3<T3, T4, T5, R>; + (t1: __, t2: __, t3: T3): CurriedFunction4<T1, T2, T4, T5, R>; + (t1: T1, t2: __, t3: T3): CurriedFunction3<T2, T4, T5, R>; + (t1: __, t2: T2, t3: T3): CurriedFunction3<T1, T4, T5, R>; + (t1: T1, t2: T2, t3: T3): CurriedFunction2<T4, T5, R>; + (t1: __, t2: __, t3: __, t4: T4): CurriedFunction4<T1, T2, T3, T5, R>; + (t1: T1, t2: __, t3: __, t4: T4): CurriedFunction3<T2, T3, T5, R>; + (t1: __, t2: T2, t3: __, t4: T4): CurriedFunction3<T1, T3, T5, R>; + (t1: __, t2: __, t3: T3, t4: T4): CurriedFunction3<T1, T2, T5, R>; + (t1: T1, t2: T2, t3: __, t4: T4): CurriedFunction2<T3, T5, R>; + (t1: T1, t2: __, t3: T3, t4: T4): CurriedFunction2<T2, T5, R>; + (t1: __, t2: T2, t3: T3, t4: T4): CurriedFunction2<T1, T5, R>; + (t1: T1, t2: T2, t3: T3, t4: T4): CurriedFunction1<T5, R>; + (t1: __, t2: __, t3: __, t4: __, t5: T5): CurriedFunction4<T1, T2, T3, T4, R>; + (t1: T1, t2: __, t3: __, t4: __, t5: T5): CurriedFunction3<T2, T3, T4, R>; + (t1: __, t2: T2, t3: __, t4: __, t5: T5): CurriedFunction3<T1, T3, T4, R>; + (t1: __, t2: __, t3: T3, t4: __, t5: T5): CurriedFunction3<T1, T2, T4, R>; + (t1: __, t2: __, t3: __, t4: T4, t5: T5): CurriedFunction3<T1, T2, T3, R>; + (t1: T1, t2: T2, t3: __, t4: __, t5: T5): CurriedFunction2<T3, T4, R>; + (t1: T1, t2: __, t3: T3, t4: __, t5: T5): CurriedFunction2<T2, T4, R>; + (t1: T1, t2: __, t3: __, t4: T4, t5: T5): CurriedFunction2<T2, T3, R>; + (t1: __, t2: T2, t3: T3, t4: __, t5: T5): CurriedFunction2<T1, T4, R>; + (t1: __, t2: T2, t3: __, t4: T4, t5: T5): CurriedFunction2<T1, T3, R>; + (t1: __, t2: __, t3: T3, t4: T4, t5: T5): CurriedFunction2<T1, T2, R>; + (t1: T1, t2: T2, t3: T3, t4: __, t5: T5): CurriedFunction1<T4, R>; + (t1: T1, t2: T2, t3: __, t4: T4, t5: T5): CurriedFunction1<T3, R>; + (t1: T1, t2: __, t3: T3, t4: T4, t5: T5): CurriedFunction1<T2, R>; + (t1: __, t2: T2, t3: T3, t4: T4, t5: T5): CurriedFunction1<T1, R>; + (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; + } + + interface RightCurriedFunction1<T1, R> { + (): RightCurriedFunction1<T1, R>; + (t1: T1): R; + } + + interface RightCurriedFunction2<T1, T2, R> { + (): RightCurriedFunction2<T1, T2, R>; + (t2: T2): RightCurriedFunction1<T1, R>; + (t1: T1, t2: __): RightCurriedFunction1<T2, R>; + (t1: T1, t2: T2): R; + } + + interface RightCurriedFunction3<T1, T2, T3, R> { + (): RightCurriedFunction3<T1, T2, T3, R>; + (t3: T3): RightCurriedFunction2<T1, T2, R>; + (t2: T2, t3: __): RightCurriedFunction2<T1, T3, R>; + (t2: T2, t3: T3): RightCurriedFunction1<T1, R>; + (t1: T1, t2: __, t3: __): RightCurriedFunction2<T2, T3, R>; + (t1: T1, t2: T2, t3: __): RightCurriedFunction1<T3, R>; + (t1: T1, t2: __, t3: T3): RightCurriedFunction1<T2, R>; + (t1: T1, t2: T2, t3: T3): R; + } + + interface RightCurriedFunction4<T1, T2, T3, T4, R> { + (): RightCurriedFunction4<T1, T2, T3, T4, R>; + (t4: T4): RightCurriedFunction3<T1, T2, T3, R>; + (t3: T3, t4: __): RightCurriedFunction3<T1, T2, T4, R>; + (t3: T3, t4: T4): RightCurriedFunction2<T1, T2, R>; + (t2: T2, t3: __, t4: __): RightCurriedFunction3<T1, T3, T4, R>; + (t2: T2, t3: T3, t4: __): RightCurriedFunction2<T1, T4, R>; + (t2: T2, t3: __, t4: T4): RightCurriedFunction2<T1, T3, R>; + (t2: T2, t3: T3, t4: T4): RightCurriedFunction1<T1, R>; + (t1: T1, t2: __, t3: __, t4: __): RightCurriedFunction3<T2, T3, T4, R>; + (t1: T1, t2: T2, t3: __, t4: __): RightCurriedFunction2<T3, T4, R>; + (t1: T1, t2: __, t3: T3, t4: __): RightCurriedFunction2<T2, T4, R>; + (t1: T1, t2: __, t3: __, t4: T4): RightCurriedFunction2<T2, T3, R>; + (t1: T1, t2: T2, t3: T3, t4: __): RightCurriedFunction1<T4, R>; + (t1: T1, t2: T2, t3: __, t4: T4): RightCurriedFunction1<T3, R>; + (t1: T1, t2: __, t3: T3, t4: T4): RightCurriedFunction1<T2, R>; + (t1: T1, t2: T2, t3: T3, t4: T4): R; + } + + interface RightCurriedFunction5<T1, T2, T3, T4, T5, R> { + (): RightCurriedFunction5<T1, T2, T3, T4, T5, R>; + (t5: T5): RightCurriedFunction4<T1, T2, T3, T4, R>; + (t4: T4, t5: __): RightCurriedFunction4<T1, T2, T3, T5, R>; + (t4: T4, t5: T5): RightCurriedFunction3<T1, T2, T3, R>; + (t3: T3, t4: __, t5: __): RightCurriedFunction4<T1, T2, T4, T5, R>; + (t3: T3, t4: T4, t5: __): RightCurriedFunction3<T1, T2, T5, R>; + (t3: T3, t4: __, t5: T5): RightCurriedFunction3<T1, T2, T4, R>; + (t3: T3, t4: T4, t5: T5): RightCurriedFunction2<T1, T2, R>; + (t2: T2, t3: __, t4: __, t5: __): RightCurriedFunction4<T1, T3, T4, T5, R>; + (t2: T2, t3: T3, t4: __, t5: __): RightCurriedFunction3<T1, T4, T5, R>; + (t2: T2, t3: __, t4: T4, t5: __): RightCurriedFunction3<T1, T3, T5, R>; + (t2: T2, t3: __, t4: __, t5: T5): RightCurriedFunction3<T1, T3, T4, R>; + (t2: T2, t3: T3, t4: T4, t5: __): RightCurriedFunction2<T1, T5, R>; + (t2: T2, t3: T3, t4: __, t5: T5): RightCurriedFunction2<T1, T4, R>; + (t2: T2, t3: __, t4: T4, t5: T5): RightCurriedFunction2<T1, T3, R>; + (t2: T2, t3: T3, t4: T4, t5: T5): RightCurriedFunction1<T1, R>; + (t1: T1, t2: __, t3: __, t4: __, t5: __): RightCurriedFunction4<T2, T3, T4, T5, R>; + (t1: T1, t2: T2, t3: __, t4: __, t5: __): RightCurriedFunction3<T3, T4, T5, R>; + (t1: T1, t2: __, t3: T3, t4: __, t5: __): RightCurriedFunction3<T2, T4, T5, R>; + (t1: T1, t2: __, t3: __, t4: T4, t5: __): RightCurriedFunction3<T2, T3, T5, R>; + (t1: T1, t2: __, t3: __, t4: __, t5: T5): RightCurriedFunction3<T2, T3, T4, R>; + (t1: T1, t2: T2, t3: T3, t4: __, t5: __): RightCurriedFunction2<T4, T5, R>; + (t1: T1, t2: T2, t3: __, t4: T4, t5: __): RightCurriedFunction2<T3, T5, R>; + (t1: T1, t2: T2, t3: __, t4: __, t5: T5): RightCurriedFunction2<T3, T4, R>; + (t1: T1, t2: __, t3: T3, t4: T4, t5: __): RightCurriedFunction2<T2, T5, R>; + (t1: T1, t2: __, t3: T3, t4: __, t5: T5): RightCurriedFunction2<T2, T4, R>; + (t1: T1, t2: __, t3: __, t4: T4, t5: T5): RightCurriedFunction2<T2, T3, R>; + (t1: T1, t2: T2, t3: T3, t4: T4, t5: __): RightCurriedFunction1<T5, R>; + (t1: T1, t2: T2, t3: T3, t4: __, t5: T5): RightCurriedFunction1<T4, R>; + (t1: T1, t2: T2, t3: __, t4: T4, t5: T5): RightCurriedFunction1<T3, R>; + (t1: T1, t2: __, t3: T3, t4: T4, t5: T5): RightCurriedFunction1<T2, R>; + (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5): R; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.curry + **/ + curry<T1, R>(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number): + LoDashImplicitWrapper<CurriedFunction1<T1, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): + LoDashImplicitWrapper<CurriedFunction2<T1, T2, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, T3, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): + LoDashImplicitWrapper<CurriedFunction3<T1, T2, T3, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): + LoDashImplicitWrapper<CurriedFunction4<T1, T2, T3, T4, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, T3, T4, T5, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): + LoDashImplicitWrapper<CurriedFunction5<T1, T2, T3, T4, T5, R>>; + + /** + * @see _.curry + **/ + curry(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.curry + **/ + curry<T1, R>(this: LoDashExplicitWrapper<(t1: T1) => R>): + LoDashExplicitWrapper<CurriedFunction1<T1, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>): + LoDashExplicitWrapper<CurriedFunction2<T1, T2, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, T3, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>): + LoDashExplicitWrapper<CurriedFunction3<T1, T2, T3, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>): + LoDashExplicitWrapper<CurriedFunction4<T1, T2, T3, T4, R>>; + + /** + * @see _.curry + **/ + curry<T1, T2, T3, T4, T5, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>): + LoDashExplicitWrapper<CurriedFunction5<T1, T2, T3, T4, T5, R>>; + + /** + * @see _.curry + **/ + curry(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // curryRight + + interface CurryRight { + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, R>(func: (t1: T1) => R, arity?: number): + RightCurriedFunction1<T1, R>; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, R>(func: (t1: T1, t2: T2) => R, arity?: number): + RightCurriedFunction2<T1, T2, R>; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R, arity?: number): + RightCurriedFunction3<T1, T2, T3, R>; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R, arity?: number): + RightCurriedFunction4<T1, T2, T3, T4, R>; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R, arity?: number): + RightCurriedFunction5<T1, T2, T3, T4, T5, R>; + /** + * This method is like _.curry except that arguments are applied to func in the manner of _.partialRight + * instead of _.partial. + * @param func The function to curry. + * @param arity The arity of func. + * @return Returns the new curried function. + */ + (func: (...args: any[]) => any, arity?: number): (...args: any[]) => any; + + placeholder: __; + } + + interface LoDashStatic { + curryRight: CurryRight; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.curryRight + **/ + curryRight<T1, R>(this: LoDashImplicitWrapper<(t1: T1) => R>, arity?: number): + LoDashImplicitWrapper<RightCurriedFunction1<T1, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): + LoDashImplicitWrapper<RightCurriedFunction2<T1, T2, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, T3, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): + LoDashImplicitWrapper<RightCurriedFunction3<T1, T2, T3, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): + LoDashImplicitWrapper<RightCurriedFunction4<T1, T2, T3, T4, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, T3, T4, T5, R>(this: LoDashImplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): + LoDashImplicitWrapper<RightCurriedFunction5<T1, T2, T3, T4, T5, R>>; + + /** + * @see _.curryRight + **/ + curryRight(arity?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.curryRight + **/ + curryRight<T1, R>(this: LoDashExplicitWrapper<(t1: T1) => R>, arity?: number): + LoDashExplicitWrapper<RightCurriedFunction1<T1, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2) => R>, arity?: number): + LoDashExplicitWrapper<RightCurriedFunction2<T1, T2, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, T3, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3) => R>, arity?: number): + LoDashExplicitWrapper<RightCurriedFunction3<T1, T2, T3, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4) => R>, arity?: number): + LoDashExplicitWrapper<RightCurriedFunction4<T1, T2, T3, T4, R>>; + + /** + * @see _.curryRight + **/ + curryRight<T1, T2, T3, T4, T5, R>(this: LoDashExplicitWrapper<(t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R>, arity?: number): + LoDashExplicitWrapper<RightCurriedFunction5<T1, T2, T3, T4, T5, R>>; + + /** + * @see _.curryRight + **/ + curryRight(arity?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // debounce + + interface DebounceSettings { + /** + * Specify invoking on the leading edge of the timeout. + */ + leading?: boolean; + + /** + * The maximum time func is allowed to be delayed before it’s invoked. + */ + maxWait?: number; + + /** + * Specify invoking on the trailing edge of the timeout. + */ + trailing?: boolean; + } + + interface LoDashStatic { + /** + * Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since + * the last time the debounced function was invoked. The debounced function comes with a cancel method to + * cancel delayed invocations and a flush method to immediately invoke them. Provide an options object to + * indicate that func should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent + * calls to the debounced function return the result of the last func invocation. + * + * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only + * if the the debounced function is invoked more than once during the wait timeout. + * + * See David Corbacho’s article for details over the differences between _.debounce and _.throttle. + * + * @param func The function to debounce. + * @param wait The number of milliseconds to delay. + * @param options The options object. + * @param options.leading Specify invoking on the leading edge of the timeout. + * @param options.maxWait The maximum time func is allowed to be delayed before it’s invoked. + * @param options.trailing Specify invoking on the trailing edge of the timeout. + * @return Returns the new debounced function. + */ + debounce<T extends (...args: any[]) => any>( + func: T, + wait?: number, + options?: DebounceSettings + ): T & Cancelable; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.debounce + */ + debounce( + wait?: number, + options?: DebounceSettings + ): LoDashImplicitWrapper<TValue & Cancelable>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.debounce + */ + debounce( + wait?: number, + options?: DebounceSettings + ): LoDashExplicitWrapper<TValue & Cancelable>; + } + + // defer + + interface LoDashStatic { + /** + * Defers invoking the func until the current call stack has cleared. Any additional arguments are provided to + * func when it’s invoked. + * + * @param func The function to defer. + * @param args The arguments to invoke the function with. + * @return Returns the timer id. + */ + defer( + func: (...args: any[]) => any, + ...args: any[] + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.defer + */ + defer(...args: any[]): LoDashImplicitWrapper<number>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.defer + */ + defer(...args: any[]): LoDashExplicitWrapper<number>; + } + + // delay + + interface LoDashStatic { + /** + * Invokes func after wait milliseconds. Any additional arguments are provided to func when it’s invoked. + * + * @param func The function to delay. + * @param wait The number of milliseconds to delay invocation. + * @param args The arguments to invoke the function with. + * @return Returns the timer id. + */ + delay( + func: (...args: any[]) => any, + wait: number, + ...args: any[] + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.delay + */ + delay( + wait: number, + ...args: any[] + ): LoDashImplicitWrapper<number>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.delay + */ + delay( + wait: number, + ...args: any[] + ): LoDashExplicitWrapper<number>; + } + + // flip + + interface LoDashStatic { + /** + * Creates a function that invokes `func` with arguments reversed. + * + * @category Function + * @param func The function to flip arguments for. + * @returns Returns the new function. + * @example + * + * var flipped = _.flip(function() { + * return _.toArray(arguments); + * }); + * + * flipped('a', 'b', 'c', 'd'); + * // => ['d', 'c', 'b', 'a'] + */ + flip<T extends (...args: any[]) => any>(func: T): T; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.flip + */ + flip(): this; + } + + // memoize + + interface MemoizedFunction { + cache: MapCache; + } + + interface LoDashStatic { + /** + * Creates a function that memoizes the result of func. If resolver is provided it determines the cache key for + * storing the result based on the arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is coerced to a string and used as the cache key. The func is invoked with + * the this binding of the memoized function. + * + * @param func The function to have its output memoized. + * @param resolver The function to resolve the cache key. + * @return Returns the new memoizing function. + */ + memoize: { + <T extends (...args: any[]) => any>(func: T, resolver?: (...args: any[]) => any): T & MemoizedFunction; + Cache: MapCacheConstructor; + }; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.memoize + */ + memoize(resolver?: (...args: any[]) => any): LoDashImplicitWrapper<TValue & MemoizedFunction>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.memoize + */ + memoize(resolver?: (...args: any[]) => any): LoDashExplicitWrapper<TValue & MemoizedFunction>; + } + + // negate + + interface LoDashStatic { + /** + * Creates a function that negates the result of the predicate func. The func predicate is invoked with + * the this binding and arguments of the created function. + * + * @param predicate The predicate to negate. + * @return Returns the new function. + */ + negate<T extends (...args: any[]) => any>(predicate: T): T; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.negate + */ + negate(): this; + } + + // once + + interface LoDashStatic { + /** + * Creates a function that is restricted to invoking func once. Repeat calls to the function return the value + * of the first call. The func is invoked with the this binding and arguments of the created function. + * + * @param func The function to restrict. + * @return Returns the new restricted function. + */ + once<T extends (...args: any[]) => any>(func: T): T; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.once + */ + once(): this; + } + + // overArgs + + interface LoDashStatic { + /** + * Creates a function that runs each argument through a corresponding transform function. + * + * @param func The function to wrap. + * @param transforms The functions to transform arguments, specified as individual functions or arrays + * of functions. + * @return Returns the new function. + */ + overArgs( + func: (...args: any[]) => any, + ...transforms: Array<Many<(...args: any[]) => any>> + ): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.overArgs + */ + overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.overArgs + */ + overArgs(...transforms: Array<Many<(...args: any[]) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // partial + + interface LoDashStatic { + /** + * Creates a function that, when called, invokes func with any additional partial arguments + * prepended to those provided to the new function. This method is similar to _.bind except + * it does not alter the this binding. + * @param func The function to partially apply arguments to. + * @param args Arguments to be partially applied. + * @return The new partially applied function. + **/ + partial: Partial; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.partial + */ + partial: ImplicitPartial; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.partial + */ + partial: ExplicitPartial; + } + + /** The placeholder, to be used in curried functions */ + type __ = LoDashStatic; + + type Function0<R> = () => R; + type Function1<T1, R> = (t1: T1) => R; + type Function2<T1, T2, R> = (t1: T1, t2: T2) => R; + type Function3<T1, T2, T3, R> = (t1: T1, t2: T2, t3: T3) => R; + type Function4<T1, T2, T3, T4, R> = (t1: T1, t2: T2, t3: T3, t4: T4) => R; + + interface Partial { + // arity 0 + <R>(func: Function0<R>): Function0<R>; + // arity 1 + <T1, R>(func: Function1<T1, R>): Function1<T1, R>; + <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>; + // arity 2 + <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>; + <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1): Function1< T2, R>; + <T1, T2, R>(func: Function2<T1, T2, R>, plc1: __, arg2: T2): Function1<T1, R>; + <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>; + // arity 3 + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1): Function2< T2, T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2): Function2<T1, T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2): Function1< T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, plc2: __, arg3: T3): Function2<T1, T2, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, plc1: __, arg2: T2, arg3: T3): Function1<T1, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>; + // arity 4 + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1): Function3< T2, T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2): Function3<T1, T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2): Function2< T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3): Function3<T1, T2, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3): Function2< T2, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3): Function2<T1, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3): Function1< T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, plc3: __, arg4: T4): Function3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, plc2: __, arg3: T3, arg4: T4): Function2<T1, T2, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, plc1: __, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>; + // catch-all + (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any; + + placeholder: __; + } + + interface ImplicitPartial { + // arity 0 + <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>; + // arity 1 + <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>; + // arity 2 + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashImplicitWrapper<Function1< T2, R>>; + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>; + // arity 3 + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashImplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>; + // arity 4 + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function2< T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function2< T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function2<T1, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1< T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>; + // catch-all + (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface ExplicitPartial { + // arity 0 + <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>; + // arity 1 + <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>; + // arity 2 + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1): LoDashExplicitWrapper<Function1< T2, R>>; + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>; + // arity 3 + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1): LoDashExplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>; + // arity 4 + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function2< T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function2< T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function2<T1, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1< T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, plc1: __, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>; + // catch-all + (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // partialRight + + interface LoDashStatic { + /** + * This method is like _.partial except that partial arguments are appended to those provided + * to the new function. + * @param func The function to partially apply arguments to. + * @param args Arguments to be partially applied. + * @return The new partially applied function. + **/ + partialRight: PartialRight; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.partialRight + */ + partialRight: ImplicitPartialRight; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.partialRight + */ + partialRight: ExplicitPartialRight; + } + + interface PartialRight { + // arity 0 + <R>(func: Function0<R>): Function0<R>; + // arity 1 + <T1, R>(func: Function1<T1, R>): Function1<T1, R>; + <T1, R>(func: Function1<T1, R>, arg1: T1): Function0<R>; + // arity 2 + <T1, T2, R>(func: Function2<T1, T2, R>): Function2<T1, T2, R>; + <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, plc2: __): Function1< T2, R>; + <T1, T2, R>(func: Function2<T1, T2, R>, arg2: T2): Function1<T1, R>; + <T1, T2, R>(func: Function2<T1, T2, R>, arg1: T1, arg2: T2): Function0< R>; + // arity 3 + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>): Function3<T1, T2, T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, plc3: __): Function2< T2, T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, plc3: __): Function2<T1, T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, plc3: __): Function1< T3, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg3: T3): Function2<T1, T2, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, plc2: __, arg3: T3): Function1< T2, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg2: T2, arg3: T3): Function1<T1, R>; + <T1, T2, T3, R>(func: Function3<T1, T2, T3, R>, arg1: T1, arg2: T2, arg3: T3): Function0< R>; + // arity 4 + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>): Function4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, plc4: __): Function3< T2, T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, plc4: __): Function3<T1, T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, plc4: __): Function2< T3, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, plc4: __): Function3<T1, T2, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, plc4: __): Function2< T2, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, plc4: __): Function2<T1, T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, plc4: __): Function1< T4, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg4: T4): Function3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, plc3: __, arg4: T4): Function2< T2, T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, plc3: __, arg4: T4): Function2<T1, T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, plc3: __, arg4: T4): Function1< T3, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg3: T3, arg4: T4): Function2<T1, T2, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, plc2: __, arg3: T3, arg4: T4): Function1< T2, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg2: T2, arg3: T3, arg4: T4): Function1<T1, R>; + <T1, T2, T3, T4, R>(func: Function4<T1, T2, T3, T4, R>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): Function0< R>; + // catch-all + (func: (...args: any[]) => any, ...args: any[]): (...args: any[]) => any; + + placeholder: __; + } + + interface ImplicitPartialRight { + // arity 0 + <R>(this: LoDashImplicitWrapper<Function0<R>>): LoDashImplicitWrapper<Function0<R>>; + // arity 1 + <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, R>(this: LoDashImplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashImplicitWrapper<Function0<R>>; + // arity 2 + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>): LoDashImplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashImplicitWrapper<Function1< T2, R>>; + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, T2, R>(this: LoDashImplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashImplicitWrapper<Function0< R>>; + // arity 3 + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashImplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashImplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashImplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashImplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashImplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, R>(this: LoDashImplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashImplicitWrapper<Function0< R>>; + // arity 4 + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashImplicitWrapper<Function3< T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function3<T1, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashImplicitWrapper<Function2< T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashImplicitWrapper<Function3<T1, T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2< T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function2<T1, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashImplicitWrapper<Function1< T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashImplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashImplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, T4, R>(this: LoDashImplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashImplicitWrapper<Function0< R>>; + // catch-all + (...args: any[]): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface ExplicitPartialRight { + // arity 0 + <R>(this: LoDashExplicitWrapper<Function0<R>>): LoDashExplicitWrapper<Function0<R>>; + // arity 1 + <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, R>(this: LoDashExplicitWrapper<Function1<T1, R>>, arg1: T1): LoDashExplicitWrapper<Function0<R>>; + // arity 2 + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>): LoDashExplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, plc2: __): LoDashExplicitWrapper<Function1< T2, R>>; + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg2: T2): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, T2, R>(this: LoDashExplicitWrapper<Function2<T1, T2, R>>, arg1: T1, arg2: T2): LoDashExplicitWrapper<Function0< R>>; + // arity 3 + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, plc3: __): LoDashExplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, plc3: __): LoDashExplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, plc3: __): LoDashExplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg3: T3): LoDashExplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, plc2: __, arg3: T3): LoDashExplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, R>(this: LoDashExplicitWrapper<Function3<T1, T2, T3, R>>, arg1: T1, arg2: T2, arg3: T3): LoDashExplicitWrapper<Function0< R>>; + // arity 4 + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>): LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, plc4: __): LoDashExplicitWrapper<Function3< T2, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function3<T1, T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, plc4: __): LoDashExplicitWrapper<Function2< T3, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, plc4: __): LoDashExplicitWrapper<Function3<T1, T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2< T2, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function2<T1, T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, plc4: __): LoDashExplicitWrapper<Function1< T4, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg4: T4): LoDashExplicitWrapper<Function3<T1, T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2< T2, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function2<T1, T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, plc3: __, arg4: T4): LoDashExplicitWrapper<Function1< T3, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function2<T1, T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, plc2: __, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1< T2, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function1<T1, R>>; + <T1, T2, T3, T4, R>(this: LoDashExplicitWrapper<Function4<T1, T2, T3, T4, R>>, arg1: T1, arg2: T2, arg3: T3, arg4: T4): LoDashExplicitWrapper<Function0< R>>; + // catch-all + (...args: any[]): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // rearg + + interface LoDashStatic { + /** + * Creates a function that invokes func with arguments arranged according to the specified indexes where the + * argument value at the first index is provided as the first argument, the argument value at the second index + * is provided as the second argument, and so on. + * @param func The function to rearrange arguments for. + * @param indexes The arranged argument indexes, specified as individual indexes or arrays of indexes. + * @return Returns the new function. + */ + rearg(func: (...args: any[]) => any, ...indexes: Array<Many<number>>): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.rearg + */ + rearg(...indexes: Array<Many<number>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.rearg + */ + rearg(...indexes: Array<Many<number>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // rest + + interface LoDashStatic { + /** + * Creates a function that invokes func with the this binding of the created function and arguments from start + * and beyond provided as an array. + * + * Note: This method is based on the rest parameter. + * + * @param func The function to apply a rest parameter to. + * @param start The start position of the rest parameter. + * @return Returns the new function. + */ + rest( + func: (...args: any[]) => any, + start?: number + ): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.rest + */ + rest(start?: number): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.rest + */ + rest(start?: number): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // spread + + interface LoDashStatic { + /** + * Creates a function that invokes func with the this binding of the created function and an array of arguments + * much like Function#apply. + * + * Note: This method is based on the spread operator. + * + * @param func The function to spread arguments over. + * @return Returns the new function. + */ + spread<TResult>(func: (...args: any[]) => TResult): (...args: any[]) => TResult; + + /** + * @see _.spread + */ + spread<TResult>(func: (...args: any[]) => TResult, start: number): (...args: any[]) => TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.spread + */ + spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>): LoDashImplicitWrapper<(...args: any[]) => TResult>; + + /** + * @see _.spread + */ + spread<TResult>(this: LoDashImplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashImplicitWrapper<(...args: any[]) => TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.spread + */ + spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>): LoDashExplicitWrapper<(...args: any[]) => TResult>; + + /** + * @see _.spread + */ + spread<TResult>(this: LoDashExplicitWrapper<(...args: any[]) => TResult>, start: number): LoDashExplicitWrapper<(...args: any[]) => TResult>; + } + + // throttle + + interface ThrottleSettings { + /** + * If you'd like to disable the leading-edge call, pass this as false. + */ + leading?: boolean; + + /** + * If you'd like to disable the execution on the trailing-edge, pass false. + */ + trailing?: boolean; + } + + interface LoDashStatic { + /** + * Creates a throttled function that only invokes func at most once per every wait milliseconds. The throttled + * function comes with a cancel method to cancel delayed invocations and a flush method to immediately invoke + * them. Provide an options object to indicate that func should be invoked on the leading and/or trailing edge + * of the wait timeout. Subsequent calls to the throttled function return the result of the last func call. + * + * Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only if + * the the throttled function is invoked more than once during the wait timeout. + * + * @param func The function to throttle. + * @param wait The number of milliseconds to throttle invocations to. + * @param options The options object. + * @param options.leading Specify invoking on the leading edge of the timeout. + * @param options.trailing Specify invoking on the trailing edge of the timeout. + * @return Returns the new throttled function. + */ + throttle<T extends (...args: any[]) => any>( + func: T, + wait?: number, + options?: ThrottleSettings + ): T & Cancelable; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.throttle + */ + throttle( + wait?: number, + options?: ThrottleSettings + ): LoDashImplicitWrapper<TValue & Cancelable>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.throttle + */ + throttle( + wait?: number, + options?: ThrottleSettings + ): LoDashExplicitWrapper<TValue & Cancelable>; + } + + // unary + + interface LoDashStatic { + /** + * Creates a function that accepts up to one argument, ignoring any + * additional arguments. + * + * @category Function + * @param func The function to cap arguments for. + * @returns Returns the new function. + * @example + * + * _.map(['6', '8', '10'], _.unary(parseInt)); + * // => [6, 8, 10] + */ + unary<T, TResult>(func: (arg1: T, ...args: any[]) => TResult): (arg1: T) => TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unary + */ + unary<T, TResult>(this: LoDashImplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashImplicitWrapper<(arg1: T) => TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unary + */ + unary<T, TResult>(this: LoDashExplicitWrapper<(arg1: T, ...args: any[]) => TResult>): LoDashExplicitWrapper<(arg1: T) => TResult>; + } + + // wrap + + interface LoDashStatic { + /** + * Creates a function that provides value to the wrapper function as its first argument. Any additional + * arguments provided to the function are appended to those provided to the wrapper function. The wrapper is + * invoked with the this binding of the created function. + * + * @param value The value to wrap. + * @param wrapper The wrapper function. + * @return Returns the new function. + */ + wrap<T, TArgs, TResult>( + value: T, + wrapper: (value: T, ...args: TArgs[]) => TResult + ): (...args: TArgs[]) => TResult; + + /** + * @see _.wrap + */ + wrap<T, TResult>( + value: T, + wrapper: (value: T, ...args: any[]) => TResult + ): (...args: any[]) => TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.wrap + */ + wrap<TArgs, TResult>( + wrapper: (value: TValue, ...args: TArgs[]) => TResult + ): LoDashImplicitWrapper<(...args: TArgs[]) => TResult>; + + /** + * @see _.wrap + */ + wrap<TResult>( + wrapper: (value: TValue, ...args: any[]) => TResult + ): LoDashImplicitWrapper<(...args: any[]) => TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.wrap + */ + /** + * @see _.wrap + */ + wrap<TArgs, TResult>( + wrapper: (value: TValue, ...args: TArgs[]) => TResult + ): LoDashExplicitWrapper<(...args: TArgs[]) => TResult>; + + /** + * @see _.wrap + */ + wrap<TResult>( + wrapper: (value: TValue, ...args: any[]) => TResult + ): LoDashExplicitWrapper<(...args: any[]) => TResult>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/lang.d.ts b/jtg js/node_modules/@types/lodash/common/lang.d.ts new file mode 100644 index 0000000..a185402 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/lang.d.ts @@ -0,0 +1,2065 @@ +import _ = require("../index"); +declare module "../index" { + // castArray + + interface LoDashStatic { + /** + * Casts value as an array if it’s not one. + * + * @param value The value to inspect. + * @return Returns the cast array. + */ + castArray<T>(value?: Many<T>): T[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.castArray + */ + castArray<T>(this: LoDashImplicitWrapper<Many<T>>): LoDashImplicitWrapper<T[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.castArray + */ + castArray<T>(this: LoDashExplicitWrapper<Many<T>>): LoDashExplicitWrapper<T[]>; + } + + // clone + + interface LoDashStatic { + /** + * Creates a shallow clone of value. + * + * Note: This method is loosely based on the structured clone algorithm and supports cloning arrays, + * array buffers, booleans, date objects, maps, numbers, Object objects, regexes, sets, strings, symbols, + * and typed arrays. The own enumerable properties of arguments objects are cloned as plain objects. An empty + * object is returned for uncloneable values such as error objects, functions, DOM nodes, and WeakMaps. + * + * @param value The value to clone. + * @return Returns the cloned value. + */ + clone<T>(value: T): T; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.clone + */ + clone(): TValue; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.clone + */ + clone(): this; + } + + // cloneDeep + + interface LoDashStatic { + /** + * This method is like _.clone except that it recursively clones value. + * + * @param value The value to recursively clone. + * @return Returns the deep cloned value. + */ + cloneDeep<T>(value: T): T; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.cloneDeep + */ + cloneDeep(): TValue; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.cloneDeep + */ + cloneDeep(): this; + } + + // cloneDeepWith + + type CloneDeepWithCustomizer<TObject> = (value: any, key: number | string | undefined, object: TObject | undefined, stack: any) => any; + + interface LoDashStatic { + /** + * This method is like _.cloneWith except that it recursively clones value. + * + * @param value The value to recursively clone. + * @param customizer The function to customize cloning. + * @return Returns the deep cloned value. + */ + cloneDeepWith<T>( + value: T, + customizer: CloneDeepWithCustomizer<T> + ): any; + + /** + * @see _.cloneDeepWith + */ + cloneDeepWith<T>(value: T): T; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.cloneDeepWith + */ + cloneDeepWith( + customizer: CloneDeepWithCustomizer<TValue> + ): any; + + /** + * @see _.cloneDeepWith + */ + cloneDeepWith(): TValue; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.cloneDeepWith + */ + cloneDeepWith( + customizer: CloneDeepWithCustomizer<TValue> + ): LoDashExplicitWrapper<any>; + + /** + * @see _.cloneDeepWith + */ + cloneDeepWith(): this; + } + + // cloneWith + + type CloneWithCustomizer<TValue, TResult> = (value: TValue, key: number | string | undefined, object: any, stack: any) => TResult; + + interface LoDashStatic { + /** + * This method is like _.clone except that it accepts customizer which is invoked to produce the cloned value. + * If customizer returns undefined cloning is handled by the method instead. + * + * @param value The value to clone. + * @param customizer The function to customize cloning. + * @return Returns the cloned value. + */ + cloneWith<T, TResult extends object | string | number | boolean | null>( + value: T, + customizer: CloneWithCustomizer<T, TResult> + ): TResult; + + /** + * @see _.cloneWith + */ + cloneWith<T, TResult>( + value: T, + customizer: CloneWithCustomizer<T, TResult | undefined> + ): TResult | T; + + /** + * @see _.cloneWith + */ + cloneWith<T>(value: T): T; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.cloneWith + */ + cloneWith<TResult extends object | string | number | boolean | null>( + customizer: CloneWithCustomizer<TValue, TResult> + ): TResult; + + /** + * @see _.cloneWith + */ + cloneWith<TResult>( + customizer: CloneWithCustomizer<TValue, TResult | undefined> + ): TResult | TValue; + + /** + * @see _.cloneWith + */ + cloneWith(): TValue; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.cloneWith + */ + cloneWith<TResult extends object | string | number | boolean | null>( + customizer: CloneWithCustomizer<TValue, TResult> + ): LoDashExplicitWrapper<TResult>; + + /** + * @see _.cloneWith + */ + cloneWith<TResult>( + customizer: CloneWithCustomizer<TValue, TResult | undefined> + ): LoDashExplicitWrapper<TResult | TValue>; + + /** + * @see _.cloneWith + */ + cloneWith(): this; + } + + // conformsTo + + interface LoDashStatic { + /** + * Checks if object conforms to source by invoking the predicate properties of source with the + * corresponding property values of object. + * + * Note: This method is equivalent to _.conforms when source is partially applied. + */ + conformsTo<T>(object: T, source: ConformsPredicateObject<T>): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.conformsTo + */ + conformsTo<T>(this: LoDashImplicitWrapper<T>, source: ConformsPredicateObject<T>): boolean; + // Note: we can't use TValue here, because it generates a typescript error when strictFunctionTypes is enabled. + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.conformsTo + */ + conformsTo<T>(this: LoDashExplicitWrapper<T>, source: ConformsPredicateObject<T>): LoDashExplicitWrapper<boolean>; + // Note: we can't use TValue here, because it generates a typescript error when strictFunctionTypes is enabled. + } + + type CondPair<T, R> = [(val: T) => boolean, (val: T) => R]; + + // eq + + interface LoDashStatic { + /** + * Performs a [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @category Lang + * @param value The value to compare. + * @param other The other value to compare. + * @returns Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'user': 'fred' }; + * var other = { 'user': 'fred' }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ + eq( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.eq + */ + eq( + other: any + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.eq + */ + eq( + other: any + ): LoDashExplicitWrapper<boolean>; + } + + // gt + + interface LoDashStatic { + /** + * Checks if value is greater than other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is greater than other, else false. + */ + gt( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.gt + */ + gt(other: any): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.gt + */ + gt(other: any): LoDashExplicitWrapper<boolean>; + } + + // gte + + interface LoDashStatic { + /** + * Checks if value is greater than or equal to other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is greater than or equal to other, else false. + */ + gte( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.gte + */ + gte(other: any): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.gte + */ + gte(other: any): LoDashExplicitWrapper<boolean>; + } + + // isArguments + + interface LoDashStatic { + /** + * Checks if value is classified as an arguments object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isArguments(value?: any): value is IArguments; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isArguments + */ + isArguments(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isArguments + */ + isArguments(): LoDashExplicitWrapper<boolean>; + } + + // isArray + + interface LoDashStatic { + /** + * Checks if value is classified as an Array object. + * @param value The value to check. + * + * @return Returns true if value is correctly classified, else false. + */ + isArray(value?: any): value is any[]; + + /** + * DEPRECATED + */ + isArray<T>(value?: any): value is any[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isArray + */ + isArray(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isArray + */ + isArray(): LoDashExplicitWrapper<boolean>; + } + + // isArrayBuffer + + interface LoDashStatic { + /** + * Checks if value is classified as an ArrayBuffer object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isArrayBuffer(value?: any): value is ArrayBuffer; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isArrayBuffer + */ + isArrayBuffer(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isArrayBuffer + */ + isArrayBuffer(): LoDashExplicitWrapper<boolean>; + } + + // isArrayLike + + interface LoDashStatic { + /** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ + isArrayLike<T>(value: T & string & number): boolean; // should only match if T = any + + /** + * @see _.isArrayLike + */ + isArrayLike(value: ((...args: any[]) => any) | null | undefined): value is never; + + /** + * @see _.isArrayLike + */ + isArrayLike(value: any): value is { length: number }; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isArrayLike + */ + isArrayLike(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isArrayLike + */ + isArrayLike(): LoDashExplicitWrapper<boolean>; + } + + // isArrayLikeObject + + interface LoDashStatic { + /** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is an array-like object, else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ + isArrayLikeObject<T>(value: T & string & number): boolean; // should only match if T = any + + /** + * @see _.isArrayLike + */ + // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) + isArrayLikeObject(value: ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is never; + + /** + * @see _.isArrayLike + */ + // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) + isArrayLikeObject<T extends object>(value: T | ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is T & { length: number }; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isArrayLikeObject + */ + isArrayLikeObject(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isArrayLikeObject + */ + isArrayLikeObject(): LoDashExplicitWrapper<boolean>; + } + + // isBoolean + + interface LoDashStatic { + /** + * Checks if value is classified as a boolean primitive or object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isBoolean(value?: any): value is boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isBoolean + */ + isBoolean(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isBoolean + */ + isBoolean(): LoDashExplicitWrapper<boolean>; + } + + // isBuffer + + interface LoDashStatic { + /** + * Checks if value is a buffer. + * + * @param value The value to check. + * @return Returns true if value is a buffer, else false. + */ + isBuffer(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isBuffer + */ + isBuffer(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isBuffer + */ + isBuffer(): LoDashExplicitWrapper<boolean>; + } + + // isDate + + interface LoDashStatic { + /** + * Checks if value is classified as a Date object. + * @param value The value to check. + * + * @return Returns true if value is correctly classified, else false. + */ + isDate(value?: any): value is Date; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isDate + */ + isDate(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isDate + */ + isDate(): LoDashExplicitWrapper<boolean>; + } + + // isElement + + interface LoDashStatic { + /** + * Checks if value is a DOM element. + * + * @param value The value to check. + * @return Returns true if value is a DOM element, else false. + */ + isElement(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isElement + */ + isElement(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isElement + */ + isElement(): LoDashExplicitWrapper<boolean>; + } + + // isEmpty + + interface LoDashStatic { + /** + * Checks if value is empty. A value is considered empty unless it’s an arguments object, array, string, or + * jQuery-like collection with a length greater than 0 or an object with own enumerable properties. + * + * @param value The value to inspect. + * @return Returns true if value is empty, else false. + */ + isEmpty(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isEmpty + */ + isEmpty(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isEmpty + */ + isEmpty(): LoDashExplicitWrapper<boolean>; + } + + // isEqual + + interface LoDashStatic { + /** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are **not** supported. + * + * @category Lang + * @param value The value to compare. + * @param other The other value to compare. + * @returns Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'user': 'fred' }; + * var other = { 'user': 'fred' }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ + isEqual( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isEqual + */ + isEqual( + other: any + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isEqual + */ + isEqual( + other: any + ): LoDashExplicitWrapper<boolean>; + } + + // isEqualWith + + type IsEqualCustomizer = (value: any, other: any, indexOrKey: PropertyName | undefined, parent: any, otherParent: any, stack: any) => boolean|undefined; + + interface LoDashStatic { + /** + * This method is like `_.isEqual` except that it accepts `customizer` which is + * invoked to compare values. If `customizer` returns `undefined` comparisons are + * handled by the method instead. The `customizer` is invoked with up to seven arguments: + * (objValue, othValue [, index|key, object, other, stack]). + * + * @category Lang + * @param value The value to compare. + * @param other The other value to compare. + * @param [customizer] The function to customize comparisons. + * @returns Returns `true` if the values are equivalent, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, othValue) { + * if (isGreeting(objValue) && isGreeting(othValue)) { + * return true; + * } + * } + * + * var array = ['hello', 'goodbye']; + * var other = ['hi', 'goodbye']; + * + * _.isEqualWith(array, other, customizer); + * // => true + */ + isEqualWith( + value: any, + other: any, + customizer?: IsEqualCustomizer + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isEqualWith + */ + isEqualWith( + other: any, + customizer?: IsEqualCustomizer + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isEqualWith + */ + isEqualWith( + other: any, + customizer?: IsEqualCustomizer + ): LoDashExplicitWrapper<boolean>; + } + + // isError + + interface LoDashStatic { + /** + * Checks if value is an Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, or URIError + * object. + * + * @param value The value to check. + * @return Returns true if value is an error object, else false. + */ + isError(value: any): value is Error; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isError + */ + isError(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isError + */ + isError(): LoDashExplicitWrapper<boolean>; + } + + // isFinite + + interface LoDashStatic { + /** + * Checks if value is a finite primitive number. + * + * Note: This method is based on Number.isFinite. + * + * @param value The value to check. + * @return Returns true if value is a finite number, else false. + */ + isFinite(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isFinite + */ + isFinite(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isFinite + */ + isFinite(): LoDashExplicitWrapper<boolean>; + } + + // isFunction + + interface LoDashStatic { + /** + * Checks if value is a callable function. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isFunction(value: any): value is (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isFunction + */ + isFunction(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isFunction + */ + isFunction(): LoDashExplicitWrapper<boolean>; + } + + // isInteger + + interface LoDashStatic { + /** + * Checks if `value` is an integer. + * + * **Note:** This method is based on [`Number.isInteger`](https://mdn.io/Number/isInteger). + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is an integer, else `false`. + * @example + * + * _.isInteger(3); + * // => true + * + * _.isInteger(Number.MIN_VALUE); + * // => false + * + * _.isInteger(Infinity); + * // => false + * + * _.isInteger('3'); + * // => false + */ + isInteger(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isInteger + */ + isInteger(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isInteger + */ + isInteger(): LoDashExplicitWrapper<boolean>; + } + + // isLength + + interface LoDashStatic { + /** + * Checks if `value` is a valid array-like length. + * + * **Note:** This function is loosely based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ + isLength(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isLength + */ + isLength(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isLength + */ + isLength(): LoDashExplicitWrapper<boolean>; + } + + // isMap + + interface LoDashStatic { + /** + * Checks if value is classified as a Map object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isMap(value?: any): value is Map<any, any>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isMap + */ + isMap(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isMap + */ + isMap(): LoDashExplicitWrapper<boolean>; + } + + // isMatch + + type isMatchCustomizer = (value: any, other: any, indexOrKey?: PropertyName) => boolean; + + interface LoDashStatic { + /** + * Performs a deep comparison between `object` and `source` to determine if + * `object` contains equivalent property values. + * + * **Note:** This method supports comparing the same values as `_.isEqual`. + * + * @category Lang + * @param object The object to inspect. + * @param source The object of property values to match. + * @returns Returns `true` if `object` is a match, else `false`. + * @example + * + * var object = { 'user': 'fred', 'age': 40 }; + * + * _.isMatch(object, { 'age': 40 }); + * // => true + * + * _.isMatch(object, { 'age': 36 }); + * // => false + */ + isMatch(object: object, source: object): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isMatch + */ + isMatch(source: object): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isMatch + */ + isMatch(source: object): LoDashExplicitWrapper<boolean>; + } + + // isMatchWith + + type isMatchWithCustomizer = (value: any, other: any, indexOrKey: PropertyName) => boolean; + + interface LoDashStatic { + /** + * This method is like `_.isMatch` except that it accepts `customizer` which + * is invoked to compare values. If `customizer` returns `undefined` comparisons + * are handled by the method instead. The `customizer` is invoked with three + * arguments: (objValue, srcValue, index|key, object, source). + * + * @category Lang + * @param object The object to inspect. + * @param source The object of property values to match. + * @param [customizer] The function to customize comparisons. + * @returns Returns `true` if `object` is a match, else `false`. + * @example + * + * function isGreeting(value) { + * return /^h(?:i|ello)$/.test(value); + * } + * + * function customizer(objValue, srcValue) { + * if (isGreeting(objValue) && isGreeting(srcValue)) { + * return true; + * } + * } + * + * var object = { 'greeting': 'hello' }; + * var source = { 'greeting': 'hi' }; + * + * _.isMatchWith(object, source, customizer); + * // => true + */ + isMatchWith(object: object, source: object, customizer: isMatchWithCustomizer): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isMatchWith + */ + isMatchWith(source: object, customizer: isMatchWithCustomizer): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isMatchWith + */ + isMatchWith(source: object, customizer: isMatchWithCustomizer): LoDashExplicitWrapper<boolean>; + } + + // isNaN + + interface LoDashStatic { + /** + * Checks if value is NaN. + * + * Note: This method is not the same as isNaN which returns true for undefined and other non-numeric values. + * + * @param value The value to check. + * @return Returns true if value is NaN, else false. + */ + isNaN(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isNaN + */ + isNaN(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isNaN + */ + isNaN(): LoDashExplicitWrapper<boolean>; + } + + // isNative + + interface LoDashStatic { + /** + * Checks if value is a native function. + * @param value The value to check. + * + * @retrun Returns true if value is a native function, else false. + */ + isNative(value: any): value is (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isNative + */ + isNative(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isNative + */ + isNative(): LoDashExplicitWrapper<boolean>; + } + + // isNil + + interface LoDashStatic { + /** + * Checks if `value` is `null` or `undefined`. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is nullish, else `false`. + * @example + * + * _.isNil(null); + * // => true + * + * _.isNil(void 0); + * // => true + * + * _.isNil(NaN); + * // => false + */ + isNil(value: any): value is null | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isNil + */ + isNil(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isNil + */ + isNil(): LoDashExplicitWrapper<boolean>; + } + + // isNull + + interface LoDashStatic { + /** + * Checks if value is null. + * + * @param value The value to check. + * @return Returns true if value is null, else false. + */ + isNull(value: any): value is null; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isNull + */ + isNull(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isNull + */ + isNull(): LoDashExplicitWrapper<boolean>; + } + + // isNumber + + interface LoDashStatic { + /** + * Checks if value is classified as a Number primitive or object. + * + * Note: To exclude Infinity, -Infinity, and NaN, which are classified as numbers, use the _.isFinite method. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isNumber(value?: any): value is number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isNumber + */ + isNumber(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isNumber + */ + isNumber(): LoDashExplicitWrapper<boolean>; + } + + // isObject + + interface LoDashStatic { + /** + * Checks if value is the language type of Object. (e.g. arrays, functions, objects, regexes, new Number(0), + * and new String('')) + * + * @param value The value to check. + * @return Returns true if value is an object, else false. + */ + isObject(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isObject + */ + isObject(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isObject + */ + isObject(): LoDashExplicitWrapper<boolean>; + } + + // isObjectLike + + interface LoDashStatic { + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + isObjectLike(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isObjectLike + */ + isObjectLike(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isObjectLike + */ + isObjectLike(): LoDashExplicitWrapper<boolean>; + } + + // isPlainObject + + interface LoDashStatic { + /** + * Checks if value is a plain object, that is, an object created by the Object constructor or one with a + * [[Prototype]] of null. + * + * Note: This method assumes objects created by the Object constructor have no inherited enumerable properties. + * + * @param value The value to check. + * @return Returns true if value is a plain object, else false. + */ + isPlainObject(value?: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isPlainObject + */ + isPlainObject(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isPlainObject + */ + isPlainObject(): LoDashExplicitWrapper<boolean>; + } + + // isRegExp + + interface LoDashStatic { + /** + * Checks if value is classified as a RegExp object. + * @param value The value to check. + * + * @return Returns true if value is correctly classified, else false. + */ + isRegExp(value?: any): value is RegExp; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isRegExp + */ + isRegExp(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isRegExp + */ + isRegExp(): LoDashExplicitWrapper<boolean>; + } + + // isSafeInteger + + interface LoDashStatic { + /** + * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 + * double precision number which isn't the result of a rounded unsafe integer. + * + * **Note:** This method is based on [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is a safe integer, else `false`. + * @example + * + * _.isSafeInteger(3); + * // => true + * + * _.isSafeInteger(Number.MIN_VALUE); + * // => false + * + * _.isSafeInteger(Infinity); + * // => false + * + * _.isSafeInteger('3'); + * // => false + */ + isSafeInteger(value: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isSafeInteger + */ + isSafeInteger(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isSafeInteger + */ + isSafeInteger(): LoDashExplicitWrapper<boolean>; + } + + // isSet + + interface LoDashStatic { + /** + * Checks if value is classified as a Set object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isSet(value?: any): value is Set<any>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isSet + */ + isSet(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isSet + */ + isSet(): LoDashExplicitWrapper<boolean>; + } + + // isString + + interface LoDashStatic { + /** + * Checks if value is classified as a String primitive or object. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isString(value?: any): value is string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isString + */ + isString(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isString + */ + isString(): LoDashExplicitWrapper<boolean>; + } + + // isSymbol + + interface LoDashStatic { + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @category Lang + * @param value The value to check. + * @returns Returns `true` if `value` is correctly classified, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + isSymbol(value: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isSymbol + */ + isSymbol(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isSymbol + */ + isSymbol(): LoDashExplicitWrapper<boolean>; + } + + // isTypedArray + + interface LoDashStatic { + /** + * Checks if value is classified as a typed array. + * + * @param value The value to check. + * @return Returns true if value is correctly classified, else false. + */ + isTypedArray(value: any): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isTypedArray + */ + isTypedArray(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isTypedArray + */ + isTypedArray(): LoDashExplicitWrapper<boolean>; + } + + // isUndefined + + interface LoDashStatic { + /** + * Checks if value is undefined. + * + * @param value The value to check. + * @return Returns true if value is undefined, else false. + */ + isUndefined(value: any): value is undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * see _.isUndefined + */ + isUndefined(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * see _.isUndefined + */ + isUndefined(): LoDashExplicitWrapper<boolean>; + } + + // isWeakMap + + interface LoDashStatic { + /** + * Checks if value is classified as a WeakMap object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isWeakMap(value?: any): value is WeakMap<object, any>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isSet + */ + isWeakMap(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isSet + */ + isWeakMap(): LoDashExplicitWrapper<boolean>; + } + + // isWeakSet + + interface LoDashStatic { + /** + * Checks if value is classified as a WeakSet object. + * + * @param value The value to check. + * @returns Returns true if value is correctly classified, else false. + */ + isWeakSet(value?: any): value is WeakSet<object>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.isWeakSet + */ + isWeakSet(): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.isWeakSet + */ + isWeakSet(): LoDashExplicitWrapper<boolean>; + } + + // lt + + interface LoDashStatic { + /** + * Checks if value is less than other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is less than other, else false. + */ + lt( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.lt + */ + lt(other: any): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.lt + */ + lt(other: any): LoDashExplicitWrapper<boolean>; + } + + // lte + + interface LoDashStatic { + /** + * Checks if value is less than or equal to other. + * + * @param value The value to compare. + * @param other The other value to compare. + * @return Returns true if value is less than or equal to other, else false. + */ + lte( + value: any, + other: any + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.lte + */ + lte(other: any): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.lte + */ + lte(other: any): LoDashExplicitWrapper<boolean>; + } + + // toArray + + interface LoDashStatic { + /** + * Converts value to an array. + * + * @param value The value to convert. + * @return Returns the converted array. + */ + toArray<T>(value: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined): T[]; + + /** + * @see _.toArray + */ + toArray<T>(value: T): Array<T[keyof T]>; + + /** + * @see _.toArray + */ + toArray(): any[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toArray + */ + toArray<T>(this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + + /** + * @see _.toArray + */ + toArray<T extends object>(this: LoDashImplicitWrapper<T>): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toArray + */ + toArray<T>(this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + + /** + * @see _.toArray + */ + toArray<T extends object>(this: LoDashImplicitWrapper<T>): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // toFinite + + interface LoDashStatic { + /** + * Converts `value` to a finite number. + * + * @since 4.12.0 + * @category Lang + * @param value The value to convert. + * @returns Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ + toFinite(value: any): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toFinite + */ + toFinite(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toFinite + */ + toFinite(): LoDashExplicitWrapper<number>; + } + + // toInteger + + interface LoDashStatic { + /** + * Converts `value` to an integer. + * + * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger). + * + * @category Lang + * @param value The value to convert. + * @returns Returns the converted integer. + * @example + * + * _.toInteger(3); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3'); + * // => 3 + */ + toInteger(value: any): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toInteger + */ + toInteger(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toInteger + */ + toInteger(): LoDashExplicitWrapper<number>; + } + + // toLength + + interface LoDashStatic { + /** + * Converts `value` to an integer suitable for use as the length of an + * array-like object. + * + * **Note:** This method is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). + * + * @category Lang + * @param value The value to convert. + * @return Returns the converted integer. + * @example + * + * _.toLength(3); + * // => 3 + * + * _.toLength(Number.MIN_VALUE); + * // => 0 + * + * _.toLength(Infinity); + * // => 4294967295 + * + * _.toLength('3'); + * // => 3 + */ + toLength(value: any): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toLength + */ + toLength(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toLength + */ + toLength(): LoDashExplicitWrapper<number>; + } + + // toNumber + + interface LoDashStatic { + /** + * Converts `value` to a number. + * + * @category Lang + * @param value The value to process. + * @returns Returns the number. + * @example + * + * _.toNumber(3); + * // => 3 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3'); + * // => 3 + */ + toNumber(value: any): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toNumber + */ + toNumber(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toNumber + */ + toNumber(): LoDashExplicitWrapper<number>; + } + + // toPlainObject + + interface LoDashStatic { + /** + * Converts value to a plain object flattening inherited enumerable properties of value to own properties + * of the plain object. + * + * @param value The value to convert. + * @return Returns the converted plain object. + */ + toPlainObject(value?: any): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toPlainObject + */ + toPlainObject(): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toPlainObject + */ + toPlainObject(): LoDashExplicitWrapper<any>; + } + + // toSafeInteger + + interface LoDashStatic { + /** + * Converts `value` to a safe integer. A safe integer can be compared and + * represented correctly. + * + * @category Lang + * @param value The value to convert. + * @returns Returns the converted integer. + * @example + * + * _.toSafeInteger(3); + * // => 3 + * + * _.toSafeInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toSafeInteger(Infinity); + * // => 9007199254740991 + * + * _.toSafeInteger('3'); + * // => 3 + */ + toSafeInteger(value: any): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toSafeInteger + */ + toSafeInteger(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toSafeInteger + */ + toSafeInteger(): LoDashExplicitWrapper<number>; + } + + // toString + + interface LoDashStatic { + /** + * Converts `value` to a string if it's not one. An empty string is returned + * for `null` and `undefined` values. The sign of `-0` is preserved. + * + * @category Lang + * @param value The value to process. + * @returns Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ + toString(value: any): string; + } + + // isValid + interface LoDashStatic { + /** + * æ£€æŸ¥å¯¹è±¡æ˜¯å¦æœ‰æ•ˆ. + * + * @param value to inspect. + * @return null or undefined return false, else return true. + */ + isValid(value?: any): boolean; + } + + // isTrue + interface LoDashStatic { + /** + * æ£€æŸ¥å¯¹è±¡æ˜¯å¦æœ‰æ•ˆ. + * + * @param value to inspect. + * @return boolean. + */ + isTrue(value?: any): boolean; + } + + // fuzzyEqual + interface LoDashStatic { + /** + * æ¨¡ç³Šæ¯”è¾ƒä¸¤ä¸ªæ•°å—æ˜¯å¦ç›¸ç‰. + * + * @param value1 . + * @param value2 . + * @return boolean. + */ + fuzzyEqual(value1: number, value2: number): boolean; + } + + // fuzzyLessThan + interface LoDashStatic { + /** + * 模糊比较value1是å¦<value2,比较公差为0.000001 + * + * @param value1 . + * @param value2 . + * @return boolean. + */ + fuzzyLessThan(value1: number, value2: number): boolean; + } + + // fuzzyLessEqual + interface LoDashStatic { + /** + * 模糊比较value1是å¦<=value2,比较公差为0.000001 + * + * @param value1 . + * @param value2 . + * @return boolean. + */ + fuzzyLessEqual(value1: number, value2: number): boolean; + } + + // fuzzyGreaterThan + interface LoDashStatic { + /** + * 模糊比较value1是å¦>value2,比较公差为0.000001 + * + * @param value1 . + * @param value2 . + * @return boolean. + */ + fuzzyGreaterThan(value1: number, value2: number): boolean; + } + + + // fuzzyGreaterEqual + interface LoDashStatic { + /** + * 模糊比较value1是å¦>=value2,比较公差为0.000001 + * + * @param value1 . + * @param value2 . + * @return boolean. + */ + fuzzyGreaterEqual(value1: number, value2: number): boolean; + } + + // format + interface LoDashStatic { + /** + * 使用 values...替æ¢`template`ä¸çš„å ä½ç¬¦, å ä½ç¬¦ä¸º`{number}` + * + * @param template 模版å—符串. + * @param values 替æ¢å€¼. + * @return string 替æ¢åŽçš„å—符串. + */ + format(template: string, values:((...args: any[]) => any)): string; + } + + // formatUnicorn + interface LoDashStatic { + /** + * 使用valueä¸åŒ¹é…çš„é”®çš„å€¼æ›¿æ¢æ¨¡æ¿ä¸çš„å ä½ç¬¦,å ä½ç¬¦ä¸º`${key}` + * + * @param template 模版å—符串. + * @param object 替æ¢å€¼. + * @return string 替æ¢åŽçš„å—符串. + */ + formatUnicorn(template: string, values:object): string; + } + + // romanize + interface LoDashStatic { + /** + * å°†å进制数å—è½¬æ¢æˆç½—é©¬æ•°å— + * + * @param value å进制数å—. + * @return string 罗马å—符串. + */ + romanize(value:number): string; + } + + // deromanize + interface LoDashStatic { + /** + * 将罗马数å—è½¬æ¢æˆåè¿›åˆ¶æ•°å— + * + * @param value 罗马数å—. + * @return number å进制数å—. + */ + deromanize(value:number): string; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/math.d.ts b/jtg js/node_modules/@types/lodash/common/math.d.ts new file mode 100644 index 0000000..640fbc4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/math.d.ts @@ -0,0 +1,532 @@ +import _ = require("../index"); +declare module "../index" { + // add + + interface LoDashStatic { + /** + * Adds two numbers. + * + * @param augend The first number to add. + * @param addend The second number to add. + * @return Returns the sum. + */ + add( + augend: number, + addend: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.add + */ + add(addend: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.add + */ + add(addend: number): LoDashExplicitWrapper<number>; + } + + // ceil + + interface LoDashStatic { + /** + * Calculates n rounded up to precision. + * + * @param n The number to round up. + * @param precision The precision to round up to. + * @return Returns the rounded up number. + */ + ceil( + n: number, + precision?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.ceil + */ + ceil(precision?: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.ceil + */ + ceil(precision?: number): LoDashExplicitWrapper<number>; + } + + // divide + + interface LoDashStatic { + /** + * Divide two numbers. + * + * @param dividend The first number in a division. + * @param divisor The second number in a division. + * @returns Returns the quotient. + */ + divide( + dividend: number, + divisor: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.divide + */ + divide(divisor: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.divide + */ + divide(divisor: number): LoDashExplicitWrapper<number>; + } + + // floor + + interface LoDashStatic { + /** + * Calculates n rounded down to precision. + * + * @param n The number to round down. + * @param precision The precision to round down to. + * @return Returns the rounded down number. + */ + floor( + n: number, + precision?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.floor + */ + floor(precision?: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.floor + */ + floor(precision?: number): LoDashExplicitWrapper<number>; + } + + // max + + interface LoDashStatic { + /** + * Computes the maximum value of `array`. If `array` is empty or falsey + * `undefined` is returned. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the maximum value. + */ + max<T>( + collection: List<T> | null | undefined + ): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.max + */ + max<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.max + */ + max<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + } + + // maxBy + + interface LoDashStatic { + /** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @category Math + * @param array The array to iterate over. + * @param iteratee The iteratee invoked per element. + * @returns Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.a; }); + * // => { 'n': 2 } + * + * // using the `_.property` iteratee shorthand + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ + maxBy<T>( + collection: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.maxBy + */ + maxBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.maxBy + */ + maxBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T | undefined>; + } + + // mean + + interface LoDashStatic { + /** + * Computes the mean of the values in `array`. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the mean. + * @example + * + * _.mean([4, 2, 8, 6]); + * // => 5 + */ + mean( + collection: List<any> | null | undefined + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.mean + */ + mean(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.mean + */ + mean(): LoDashExplicitWrapper<number>; + } + + // meanBy + + interface LoDashStatic { + /** + * Computes the mean of the provided propties of the objects in the `array` + * + * @category Math + * @param array The array to iterate over. + * @param iteratee The iteratee invoked per element. + * @returns Returns the mean. + * @example + * + * _.mean([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], 'n'); + * // => 5 + */ + meanBy<T>( + collection: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.meanBy + */ + meanBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.meanBy + */ + meanBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<number>; + } + + // min + + interface LoDashStatic { + /** + * Computes the minimum value of `array`. If `array` is empty or falsey + * `undefined` is returned. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the minimum value. + */ + min<T>( + collection: List<T> | null | undefined + ): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.min + */ + min<T>(this: LoDashImplicitWrapper<List<T> | null | undefined>): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.min + */ + min<T>(this: LoDashExplicitWrapper<List<T> | null | undefined>): LoDashExplicitWrapper<T | undefined>; + } + + // minBy + + interface LoDashStatic { + /** + * This method is like `_.min` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. The iteratee is invoked with one argument: (value). + * + * @category Math + * @param array The array to iterate over. + * @param iteratee The iteratee invoked per element. + * @returns Returns the minimum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.minBy(objects, function(o) { return o.a; }); + * // => { 'n': 1 } + * + * // using the `_.property` iteratee shorthand + * _.minBy(objects, 'n'); + * // => { 'n': 1 } + */ + minBy<T>( + collection: List<T> | null | undefined, + iteratee?: ValueIteratee<T> + ): T | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.minBy + */ + minBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): T | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.minBy + */ + minBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ValueIteratee<T> + ): LoDashExplicitWrapper<T | undefined>; + } + + // multiply + + interface LoDashStatic { + /** + * Multiply two numbers. + * @param multiplier The first number in a multiplication. + * @param multiplicand The second number in a multiplication. + * @returns Returns the product. + */ + multiply( + multiplier: number, + multiplicand: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.multiply + */ + multiply(multiplicand: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.multiply + */ + multiply(multiplicand: number): LoDashExplicitWrapper<number>; + } + + // round + + interface LoDashStatic { + /** + * Calculates n rounded to precision. + * + * @param n The number to round. + * @param precision The precision to round to. + * @return Returns the rounded number. + */ + round( + n: number, + precision?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.round + */ + round(precision?: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.round + */ + round(precision?: number): LoDashExplicitWrapper<number>; + } + + // subtract + + interface LoDashStatic { + /** + * Subtract two numbers. + * + * @category Math + * @param minuend The first number in a subtraction. + * @param subtrahend The second number in a subtraction. + * @returns Returns the difference. + * @example + * + * _.subtract(6, 4); + * // => 2 + */ + subtract( + minuend: number, + subtrahend: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.subtract + */ + subtract( + subtrahend: number + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.subtract + */ + subtract( + subtrahend: number + ): LoDashExplicitWrapper<number>; + } + + // sum + + interface LoDashStatic { + /** + * Computes the sum of the values in `array`. + * + * @category Math + * @param array The array to iterate over. + * @returns Returns the sum. + * @example + * + * _.sum([4, 2, 8, 6]); + * // => 20 + */ + sum(collection: List<any> | null | undefined): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sum + */ + sum(): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sum + */ + sum(): LoDashExplicitWrapper<number>; + } + + // sumBy + + interface LoDashStatic { + /** + * This method is like `_.sum` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the value to be summed. + * The iteratee is invoked with one argument: (value). + * + * @category Math + * @param array The array to iterate over. + * @param [iteratee=_.identity] The iteratee invoked per element. + * @returns Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // using the `_.property` iteratee shorthand + * _.sumBy(objects, 'n'); + * // => 20 + */ + sumBy<T>( + collection: List<T> | null | undefined, + iteratee?: ((value: T) => number) | string + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.sumBy + */ + sumBy<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ((value: T) => number) | string + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.sumBy + */ + sumBy<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ((value: T) => number) | string + ): LoDashExplicitWrapper<number>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/number.d.ts b/jtg js/node_modules/@types/lodash/common/number.d.ts new file mode 100644 index 0000000..7da1cab --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/number.d.ts @@ -0,0 +1,178 @@ +import _ = require("../index"); +declare module "../index" { + // clamp + + interface LoDashStatic { + /** + * Clamps `number` within the inclusive `lower` and `upper` bounds. + * + * @category Number + * @param number The number to clamp. + * @param [lower] The lower bound. + * @param upper The upper bound. + * @returns Returns the clamped number. + * @example + * + * _.clamp(-10, -5, 5); + * // => -5 + * + * _.clamp(10, -5, 5); + * // => 5 + */ + clamp( + number: number, + lower: number, + upper: number + ): number; + clamp( + number: number, + upper: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.clamp + */ + clamp( + lower: number, + upper: number + ): number; + clamp( + upper: number + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.clamp + */ + clamp( + lower: number, + upper: number + ): LoDashExplicitWrapper<number>; + clamp( + upper: number + ): LoDashExplicitWrapper<number>; + } + + // inRange + + interface LoDashStatic { + /** + * Checks if n is between start and up to but not including, end. If end is not specified it’s set to start + * with start then set to 0. + * + * @param n The number to check. + * @param start The start of the range. + * @param end The end of the range. + * @return Returns true if n is in the range, else false. + */ + inRange( + n: number, + start: number, + end?: number + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.inRange + */ + inRange( + start: number, + end?: number + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.inRange + */ + inRange( + start: number, + end?: number + ): LoDashExplicitWrapper<boolean>; + } + + // random + + interface LoDashStatic { + /** + * Produces a random number between min and max (inclusive). If only one argument is provided a number between + * 0 and the given number is returned. If floating is true, or either min or max are floats, a floating-point + * number is returned instead of an integer. + * + * @param min The minimum possible value. + * @param max The maximum possible value. + * @param floating Specify returning a floating-point number. + * @return Returns the random number. + */ + random( + floating?: boolean + ): number; + + /** + * @see _.random + */ + random( + max: number, + floating?: boolean + ): number; + + /** + * @see _.random + */ + random( + min: number, + max: number, + floating?: boolean + ): number; + + /** + * Produces a random number between min and max (inclusive). If only one argument is provided a number between + * 0 and the given number is returned. If floating is true, or either min or max are floats, a floating-point + * number is returned instead of an integer. + * + * @param min The minimum possible value. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the random number. + */ + random( + min: number, + index: string | number, + guard: object + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.random + */ + random(floating?: boolean): number; + + /** + * @see _.random + */ + random( + max: number, + floating?: boolean + ): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.random + */ + random(floating?: boolean): LoDashExplicitWrapper<number>; + + /** + * @see _.random + */ + random( + max: number, + floating?: boolean + ): LoDashExplicitWrapper<number>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/object.d.ts b/jtg js/node_modules/@types/lodash/common/object.d.ts new file mode 100644 index 0000000..5e2d539 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/object.d.ts @@ -0,0 +1,3761 @@ +import _ = require("../index"); +declare module "../index" { + // assign + + interface LoDashStatic { + /** + * Assigns own enumerable properties of source objects to the destination + * object. Source objects are applied from left to right. Subsequent sources + * overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @category Object + * @param object The destination object. + * @param [sources] The source objects. + * @returns Returns `object`. + * @example + * + * function Foo() { + * this.c = 3; + * } + * + * function Bar() { + * this.e = 5; + * } + * + * Foo.prototype.d = 4; + * Bar.prototype.f = 6; + * + * _.assign({ 'a': 1 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3, 'e': 5 } + */ + assign<TObject, TSource>( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see assign + */ + assign<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see assign + */ + assign<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assign + */ + assign<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assign + */ + assign<TObject>(object: TObject): TObject; + + /** + * @see _.assign + */ + assign( + object: any, + ...otherArgs: any[] + ): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.assign + */ + assign<TSource>( + source: TSource + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see assign + */ + assign<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assign + */ + assign<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assign + */ + assign<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assign + */ + assign(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.assign + */ + assign(...otherArgs: any[]): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.assign + */ + assign<TSource>( + source: TSource + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see assign + */ + assign<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assign + */ + assign<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assign + */ + assign<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assign + */ + assign(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.assign + */ + assign(...otherArgs: any[]): LoDashExplicitWrapper<any>; + } + + // assignIn + + interface LoDashStatic { + /** + * This method is like `_.assign` except that it iterates over own and + * inherited source properties. + * + * **Note:** This method mutates `object`. + * + * @alias extend + * @category Object + * @param object The destination object. + * @param [sources] The source objects. + * @returns Returns `object`. + * @example + * + * function Foo() { + * this.b = 2; + * } + * + * function Bar() { + * this.d = 4; + * } + * + * Foo.prototype.c = 3; + * Bar.prototype.e = 5; + * + * _.assignIn({ 'a': 1 }, new Foo, new Bar); + * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 } + */ + assignIn<TObject, TSource>( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see assignIn + */ + assignIn<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see assignIn + */ + assignIn<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assignIn + */ + assignIn<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assignIn + */ + assignIn<TObject>(object: TObject): TObject; + + /** + * @see _.assignIn + */ + assignIn<TResult>( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.assignIn + */ + assignIn<TSource>( + source: TSource + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see assignIn + */ + assignIn<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assignIn + */ + assignIn<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assignIn + */ + assignIn<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assignIn + */ + assignIn(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.assignIn + */ + assignIn<TResult>(...otherArgs: any[]): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.assignIn + */ + assignIn<TSource>( + source: TSource + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see assignIn + */ + assignIn<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assignIn + */ + assignIn<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assignIn + */ + assignIn<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assignIn + */ + assignIn(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.assignIn + */ + assignIn(...otherArgs: any[]): LoDashExplicitWrapper<any>; + } + + // assignInWith + + type AssignCustomizer = (objectValue: any, sourceValue: any, key?: string, object?: {}, source?: {}) => any; + + interface LoDashStatic { + /** + * This method is like `_.assignIn` except that it accepts `customizer` which + * is invoked to produce the assigned values. If `customizer` returns `undefined` + * assignment is handled by the method instead. The `customizer` is invoked + * with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @alias extendWith + * @category Object + * @param object The destination object. + * @param sources The source objects. + * @param [customizer] The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignInWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + assignInWith<TObject, TSource>( + object: TObject, + source: TSource, + customizer: AssignCustomizer + ): TObject & TSource; + + /** + * @see assignInWith + */ + assignInWith<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see assignInWith + */ + assignInWith<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assignInWith + */ + assignInWith<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assignInWith + */ + assignInWith<TObject>(object: TObject): TObject; + + /** + * @see _.assignInWith + */ + assignInWith<TResult>( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.assignInWith + */ + assignInWith<TSource>( + source: TSource, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see assignInWith + */ + assignInWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assignInWith + */ + assignInWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assignInWith + */ + assignInWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assignInWith + */ + assignInWith(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.assignInWith + */ + assignInWith<TResult>(...otherArgs: any[]): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.assignInWith + */ + assignInWith<TSource>( + source: TSource, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see assignInWith + */ + assignInWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assignInWith + */ + assignInWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assignInWith + */ + assignInWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assignInWith + */ + assignInWith(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.assignInWith + */ + assignInWith(...otherArgs: any[]): LoDashExplicitWrapper<any>; + } + + // assignWith + + interface LoDashStatic { + /** + * This method is like `_.assign` except that it accepts `customizer` which + * is invoked to produce the assigned values. If `customizer` returns `undefined` + * assignment is handled by the method instead. The `customizer` is invoked + * with five arguments: (objValue, srcValue, key, object, source). + * + * **Note:** This method mutates `object`. + * + * @category Object + * @param object The destination object. + * @param sources The source objects. + * @param [customizer] The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * return _.isUndefined(objValue) ? srcValue : objValue; + * } + * + * var defaults = _.partialRight(_.assignWith, customizer); + * + * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); + * // => { 'a': 1, 'b': 2 } + */ + assignWith<TObject, TSource>( + object: TObject, + source: TSource, + customizer: AssignCustomizer + ): TObject & TSource; + + /** + * @see assignWith + */ + assignWith<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see assignWith + */ + assignWith<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see assignWith + */ + assignWith<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.assignWith + */ + assignWith<TObject>(object: TObject): TObject; + + /** + * @see _.assignWith + */ + assignWith<TResult>( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.assignWith + */ + assignWith<TSource>( + source: TSource, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see assignWith + */ + assignWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assignWith + */ + assignWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assignWith + */ + assignWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assignWith + */ + assignWith(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.assignWith + */ + assignWith<TResult>(...otherArgs: any[]): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.assignWith + */ + assignWith<TSource>( + source: TSource, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see assignWith + */ + assignWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see assignWith + */ + assignWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see assignWith + */ + assignWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.assignWith + */ + assignWith(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.assignWith + */ + assignWith(...otherArgs: any[]): LoDashExplicitWrapper<any>; + } + + // at + + interface LoDashStatic { + /** + * Creates an array of elements corresponding to the given keys, or indexes, of collection. Keys may be + * specified as individual arguments or as arrays of keys. + * + * @param object The object to iterate over. + * @param props The property names or indexes of elements to pick, specified individually or in arrays. + * @return Returns the new array of picked elements. + */ + at<T>( + object: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + ...props: PropertyPath[] + ): T[]; + + /** + * @see _.at + */ + at<T extends object>( + object: T | null | undefined, + ...props: Array<Many<keyof T>> + ): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.at + */ + at<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + ...props: PropertyPath[] + ): LoDashImplicitWrapper<T[]>; + + /** + * @see _.at + */ + at<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + ...props: Array<Many<keyof T>> + ): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.at + */ + at<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + ...props: PropertyPath[] + ): LoDashExplicitWrapper<T[]>; + + /** + * @see _.at + */ + at<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + ...props: Array<Many<keyof T>> + ): LoDashExplicitWrapper<Array<T[keyof T]>>; + } + + // create + + interface LoDashStatic { + /** + * Creates an object that inherits from the given prototype object. If a properties object is provided its own + * enumerable properties are assigned to the created object. + * + * @param prototype The object to inherit from. + * @param properties The properties to assign to the object. + * @return Returns the new object. + */ + create<T extends object, U extends object>( + prototype: T, + properties?: U + ): T & U; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.create + */ + create<U extends object>(properties?: U): LoDashImplicitWrapper<TValue & U>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.create + */ + create<U extends object>(properties?: U): LoDashExplicitWrapper<TValue & U>; + } + + // defaults + + interface LoDashStatic { + /** + * Assigns own enumerable properties of source object(s) to the destination object for all destination + * properties that resolve to undefined. Once a property is set, additional values of the same property are + * ignored. + * + * Note: This method mutates object. + * + * @param object The destination object. + * @param sources The source objects. + * @return The destination object. + */ + defaults<TObject, TSource>( + object: TObject, + source: TSource + ): TSource & TObject; + + /** + * @see _.defaults + */ + defaults<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TSource2 & TSource1 & TObject; + + /** + * @see _.defaults + */ + defaults<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TSource3 & TSource2 & TSource1 & TObject; + + /** + * @see _.defaults + */ + defaults<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TSource4 & TSource3 & TSource2 & TSource1 & TObject; + + /** + * @see _.defaults + */ + defaults<TObject>(object: TObject): TObject; + + /** + * @see _.defaults + */ + defaults( + object: any, + ...sources: any[] + ): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.defaults + */ + defaults<TSource>( + source: TSource + ): LoDashImplicitWrapper<TSource & TValue>; + + /** + * @see _.defaults + */ + defaults<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper<TSource2 & TSource1 & TValue>; + + /** + * @see _.defaults + */ + defaults<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper<TSource3 & TSource2 & TSource1 & TValue>; + + /** + * @see _.defaults + */ + defaults<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper<TSource4 & TSource3 & TSource2 & TSource1 & TValue>; + + /** + * @see _.defaults + */ + defaults(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.defaults + */ + defaults(...sources: any[]): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.defaults + */ + defaults<TSource>( + source: TSource + ): LoDashExplicitWrapper<TSource & TValue>; + + /** + * @see _.defaults + */ + defaults<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper<TSource2 & TSource1 & TValue>; + + /** + * @see _.defaults + */ + defaults<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper<TSource3 & TSource2 & TSource1 & TValue>; + + /** + * @see _.defaults + */ + defaults<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper<TSource4 & TSource3 & TSource2 & TSource1 & TValue>; + + /** + * @see _.defaults + */ + defaults(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.defaults + */ + defaults(...sources: any[]): LoDashExplicitWrapper<any>; + } + + // defaultsDeep + + interface LoDashStatic { + /** + * This method is like _.defaults except that it recursively assigns default properties. + * @param object The destination object. + * @param sources The source objects. + * @return Returns object. + **/ + defaultsDeep( + object: any, + ...sources: any[]): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.defaultsDeep + **/ + defaultsDeep(...sources: any[]): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.defaultsDeep + **/ + defaultsDeep(...sources: any[]): LoDashExplicitWrapper<any>; + } + + // entries + + interface LoDashStatic { + /** + * @see _.toPairs + */ + entries<T>(object?: Dictionary<T> | NumericDictionary<T>): Array<[string, T]>; + + /** + * @see _.toPairs + */ + entries(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toPairs + */ + entries<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashImplicitWrapper<Array<[string, T]>>; + + /** + * @see _.toPairs + */ + entries(): LoDashImplicitWrapper<Array<[string, any]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toPairs + */ + entries<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashExplicitWrapper<Array<[string, T]>>; + + /** + * @see _.toPairs + */ + entries(): LoDashExplicitWrapper<Array<[string, any]>>; + } + + // entriesIn + + interface LoDashStatic { + /** + * @see _.entriesIn + */ + entriesIn<T>(object?: Dictionary<T> | NumericDictionary<T>): Array<[string, T]>; + + /** + * @see _.entriesIn + */ + entriesIn(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.entriesIn + */ + entriesIn<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashImplicitWrapper<Array<[string, T]>>; + + /** + * @see _.entriesIn + */ + entriesIn(): LoDashImplicitWrapper<Array<[string, any]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.entriesIn + */ + entriesIn<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashExplicitWrapper<Array<[string, T]>>; + + /** + * @see _.entriesIn + */ + entriesIn(): LoDashExplicitWrapper<Array<[string, any]>>; + } + + // extend + + interface LoDashStatic { + /** + * @see _.extend + */ + extend<TObject, TSource>( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see _.extend + */ + extend<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see _.extend + */ + extend<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.extend + */ + extend<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.extend + */ + extend<TObject>(object: TObject): TObject; + + /** + * @see _.extend + */ + extend<TResult>( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.extend + */ + extend<TSource>( + source: TSource + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see _.extend + */ + extend<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.extend + */ + extend<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.extend + */ + extend<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.extend + */ + extend(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.extend + */ + extend(...otherArgs: any[]): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.extend + */ + extend<TSource>( + source: TSource + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see _.extend + */ + extend<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.extend + */ + extend<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.extend + */ + extend<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.extend + */ + extend(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.extend + */ + extend(...otherArgs: any[]): LoDashExplicitWrapper<any>; + } + + // extendWith + + interface LoDashStatic { + /** + * @see _.extendWith + */ + extendWith<TObject, TSource>( + object: TObject, + source: TSource, + customizer: AssignCustomizer + ): TObject & TSource; + + /** + * @see _.extendWith + */ + extendWith<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see _.extendWith + */ + extendWith<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.extendWith + */ + extendWith<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.extendWith + */ + extendWith<TObject>(object: TObject): TObject; + + /** + * @see _.extendWith + */ + extendWith<TResult>( + object: any, + ...otherArgs: any[] + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.extendWith + */ + extendWith<TSource>( + source: TSource, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see _.extendWith + */ + extendWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.extendWith + */ + extendWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.extendWith + */ + extendWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.extendWith + */ + extendWith(): LoDashImplicitWrapper<TValue>; + + /** + * @see _.extendWith + */ + extendWith(...otherArgs: any[]): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.extendWith + */ + extendWith<TSource>( + source: TSource, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see _.extendWith + */ + extendWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.extendWith + */ + extendWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.extendWith + */ + extendWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: AssignCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.extendWith + */ + extendWith(): LoDashExplicitWrapper<TValue>; + + /** + * @see _.extendWith + */ + extendWith(...otherArgs: any[]): LoDashExplicitWrapper<any>; + } + + // findKey + + interface LoDashStatic { + /** + * This method is like _.find except that it returns the key of the first element predicate returns truthy for + * instead of the element itself. + * + * @param object The object to search. + * @param predicate The function invoked per iteration. + * @return Returns the key of the matched element, else undefined. + */ + findKey<T>( + object: T | null | undefined, + predicate?: ObjectIteratee<T> + ): string | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.findKey + */ + findKey<T>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIteratee<T> + ): string | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.findKey + */ + findKey<T>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIteratee<T> + ): LoDashExplicitWrapper<string | undefined>; + } + + // findLastKey + + interface LoDashStatic { + /** + * This method is like _.findKey except that it iterates over elements of a collection in the opposite order. + * + * @param object The object to search. + * @param predicate The function invoked per iteration. + * @return Returns the key of the matched element, else undefined. + */ + findLastKey<T>( + object: T | null | undefined, + predicate?: ObjectIteratee<T> + ): string | undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.findLastKey + */ + findLastKey<T>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ObjectIteratee<T> + ): string | undefined; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.findLastKey + */ + findLastKey<T>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ObjectIteratee<T> + ): LoDashExplicitWrapper<string | undefined>; + } + + // forIn + + interface LoDashStatic { + /** + * Iterates over own and inherited enumerable properties of an object invoking iteratee for each property. The + * iteratee is invoked with three arguments: (value, key, object). Iteratee functions may + * exit iteration early by explicitly returning false. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns object. + */ + forIn<T>( + object: T, + iteratee?: ObjectIterator<T, any> + ): T; + + /** + * @see _.forIn + */ + forIn<T>( + object: T | null | undefined, + iteratee?: ObjectIterator<T, any> + ): T | null | undefined; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forIn + */ + forIn<T>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // forInRight + + interface LoDashStatic { + /** + * This method is like _.forIn except that it iterates over properties of object in the opposite order. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns object. + */ + forInRight<T>( + object: T, + iteratee?: ObjectIterator<T, any> + ): T; + + /** + * @see _.forInRight + */ + forInRight<T>( + object: T | null | undefined, + iteratee?: ObjectIterator<T, any> + ): T | null | undefined; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forInRight + */ + forInRight<T>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // forOwn + + interface LoDashStatic { + /** + * Iterates over own enumerable properties of an object invoking iteratee for each property. The iteratee is + * invoked with three arguments: (value, key, object). Iteratee functions may exit + * iteration early by explicitly returning false. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns object. + */ + forOwn<T>( + object: T, + iteratee?: ObjectIterator<T, any> + ): T; + + /** + * @see _.forOwn + */ + forOwn<T>( + object: T | null | undefined, + iteratee?: ObjectIterator<T, any> + ): T | null | undefined; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forOwn + */ + forOwn<T>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // forOwnRight + + interface LoDashStatic { + /** + * This method is like _.forOwn except that it iterates over properties of object in the opposite order. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns object. + */ + forOwnRight<T>( + object: T, + iteratee?: ObjectIterator<T, any> + ): T; + + /** + * @see _.forOwnRight + */ + forOwnRight<T>( + object: T | null | undefined, + iteratee?: ObjectIterator<T, any> + ): T | null | undefined; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.forOwnRight + */ + forOwnRight<T>( + this: LoDashWrapper<T | null | undefined>, + iteratee?: ObjectIterator<T, any> + ): this; + } + + // functions + + interface LoDashStatic { + /** + * Creates an array of function property names from own enumerable properties + * of `object`. + * + * @category Object + * @param object The object to inspect. + * @returns Returns the new array of property names. + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functions(new Foo); + * // => ['a', 'b'] + */ + functions(object: any): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.functions + */ + functions(): LoDashImplicitWrapper<string[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.functions + */ + functions(): LoDashExplicitWrapper<string[]>; + } + + // functionsIn + + interface LoDashStatic { + /** + * Creates an array of function property names from own and inherited + * enumerable properties of `object`. + * + * @category Object + * @param object The object to inspect. + * @returns Returns the new array of property names. + * @example + * + * function Foo() { + * this.a = _.constant('a'); + * this.b = _.constant('b'); + * } + * + * Foo.prototype.c = _.constant('c'); + * + * _.functionsIn(new Foo); + * // => ['a', 'b', 'c'] + */ + functionsIn<T extends {}>(object: any): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.functionsIn + */ + functionsIn(): LoDashImplicitWrapper<string[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.functionsIn + */ + functionsIn(): LoDashExplicitWrapper<string[]>; + } + + // get + + interface LoDashStatic { + /** + * Gets the property value at path of object. If the resolved value is undefined the defaultValue is used + * in its place. + * + * @param object The object to query. + * @param path The path of the property to get. + * @param defaultValue The value returned if the resolved value is undefined. + * @return Returns the resolved value. + */ + get<TObject extends object, TKey extends keyof TObject>( + object: TObject, + path: TKey | [TKey] + ): TObject[TKey]; + + /** + * @see _.get + */ + get<TObject extends object, TKey extends keyof TObject>( + object: TObject | null | undefined, + path: TKey | [TKey] + ): TObject[TKey] | undefined; + + /** + * @see _.get + */ + get<TObject extends object, TKey extends keyof TObject, TDefault>( + object: TObject | null | undefined, + path: TKey | [TKey], + defaultValue: TDefault + ): TObject[TKey] | TDefault; + + /** + * @see _.get + */ + get<T>( + object: NumericDictionary<T>, + path: number + ): T; + + /** + * @see _.get + */ + get<T>( + object: NumericDictionary<T> | null | undefined, + path: number + ): T | undefined; + + /** + * @see _.get + */ + get<T, TDefault>( + object: NumericDictionary<T> | null | undefined, + path: number, + defaultValue: TDefault + ): T | TDefault; + + /** + * @see _.get + */ + get<TDefault>( + object: null | undefined, + path: PropertyPath, + defaultValue: TDefault + ): TDefault; + + /** + * @see _.get + */ + get( + object: null | undefined, + path: PropertyPath + ): undefined; + + /** + * @see _.get + */ + get( + object: any, + path: PropertyPath, + defaultValue?: any + ): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.get + */ + get<TKey extends keyof TValue>( + path: TKey | [TKey] + ): TValue[TKey]; + + /** + * @see _.get + */ + get<TObject extends object, TKey extends keyof TObject>( + this: LoDashImplicitWrapper<TObject | null | undefined>, + path: TKey | [TKey], + ): TObject[TKey] | undefined; + + /** + * @see _.get + */ + get<TObject extends object, TKey extends keyof TObject, TDefault>( + this: LoDashImplicitWrapper<TObject | null | undefined>, + path: TKey | [TKey], + defaultValue: TDefault + ): TObject[TKey] | TDefault; + + /** + * @see _.get + */ + get<T>( + this: LoDashImplicitWrapper<NumericDictionary<T>>, + path: number + ): T; + + /** + * @see _.get + */ + get<T>( + this: LoDashImplicitWrapper<NumericDictionary<T> | null | undefined>, + path: number + ): T | undefined; + + /** + * @see _.get + */ + get<T, TDefault>( + this: LoDashImplicitWrapper<NumericDictionary<T> | null | undefined>, + path: number, + defaultValue: TDefault + ): T | TDefault; + + /** + * @see _.get + */ + get<TDefault>( + this: LoDashImplicitWrapper<null | undefined>, + path: PropertyPath, + defaultValue: TDefault + ): TDefault; + + /** + * @see _.get + */ + get( + this: LoDashImplicitWrapper<null | undefined>, + path: PropertyPath + ): undefined; + + /** + * @see _.get + */ + get<TResult>( + path: PropertyPath, + defaultValue?: any + ): any; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.get + */ + get<TKey extends keyof TValue>( + path: TKey | [TKey] + ): LoDashExplicitWrapper<TValue[TKey]>; + + /** + * @see _.get + */ + get<TObject extends object, TKey extends keyof TObject>( + this: LoDashExplicitWrapper<TObject | null | undefined>, + path: TKey | [TKey], + ): LoDashExplicitWrapper<TObject[TKey] | undefined>; + + /** + * @see _.get + */ + get<TObject extends object, TKey extends keyof TObject, TDefault>( + this: LoDashExplicitWrapper<TObject | null | undefined>, + path: TKey | [TKey], + defaultValue: TDefault + ): LoDashExplicitWrapper<TObject[TKey] | TDefault>; + + /** + * @see _.get + */ + get<T>( + this: LoDashExplicitWrapper<NumericDictionary<T>>, + path: number + ): LoDashExplicitWrapper<T>; + + /** + * @see _.get + */ + get<T>( + this: LoDashExplicitWrapper<NumericDictionary<T> | null | undefined>, + path: number + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.get + */ + get<T, TDefault>( + this: LoDashExplicitWrapper<NumericDictionary<T> | null | undefined>, + path: number, + defaultValue: TDefault + ): LoDashExplicitWrapper<T | undefined>; + + /** + * @see _.get + */ + get<TDefault>( + this: LoDashExplicitWrapper<null | undefined>, + path: PropertyPath, + defaultValue: TDefault + ): LoDashExplicitWrapper<TDefault>; + + /** + * @see _.get + */ + get( + this: LoDashExplicitWrapper<null | undefined>, + path: PropertyPath + ): LoDashExplicitWrapper<undefined>; + + /** + * @see _.get + */ + get( + path: PropertyPath, + defaultValue?: any + ): LoDashExplicitWrapper<any>; + } + + // has + + interface LoDashStatic { + /** + * Checks if `path` is a direct property of `object`. + * + * @category Object + * @param object The object to query. + * @param path The path to check. + * @returns Returns `true` if `path` exists, else `false`. + * @example + * + * var object = { 'a': { 'b': { 'c': 3 } } }; + * var other = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); + * + * _.has(object, 'a'); + * // => true + * + * _.has(object, 'a.b.c'); + * // => true + * + * _.has(object, ['a', 'b', 'c']); + * // => true + * + * _.has(other, 'a'); + * // => false + */ + has<T>( + object: T, + path: PropertyPath + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.has + */ + has(path: PropertyPath): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.has + */ + has(path: PropertyPath): LoDashExplicitWrapper<boolean>; + } + + // hasIn + + interface LoDashStatic { + /** + * Checks if `path` is a direct or inherited property of `object`. + * + * @category Object + * @param object The object to query. + * @param path The path to check. + * @returns Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': _.create({ 'c': 3 }) }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b.c'); + * // => true + * + * _.hasIn(object, ['a', 'b', 'c']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ + hasIn<T>( + object: T, + path: PropertyPath + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.hasIn + */ + hasIn(path: PropertyPath): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.hasIn + */ + hasIn(path: PropertyPath): LoDashExplicitWrapper<boolean>; + } + + // invert + + interface LoDashStatic { + /** + * Creates an object composed of the inverted keys and values of object. If object contains duplicate values, + * subsequent values overwrite property assignments of previous values unless multiValue is true. + * + * @param object The object to invert. + * @param multiValue Allow multiple values per key. + * @return Returns the new inverted object. + */ + invert( + object: object + ): Dictionary<string>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.invert + */ + invert(): LoDashImplicitWrapper<Dictionary<string>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.invert + */ + invert(): LoDashExplicitWrapper<Dictionary<string>>; + } + + // invertBy + + interface LoDashStatic { + /** + * This method is like _.invert except that the inverted object is generated from the results of running each + * element of object through iteratee. The corresponding inverted value of each inverted key is an array of + * keys responsible for generating the inverted value. The iteratee is invoked with one argument: (value). + * + * @param object The object to invert. + * @param interatee The iteratee invoked per element. + * @return Returns the new inverted object. + */ + invertBy<T>( + object: List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined, + interatee?: ValueIteratee<T> + ): Dictionary<string[]>; + + /** + * @see _.invertBy + */ + invertBy<T extends object>( + object: T | null | undefined, + interatee?: ValueIteratee<T[keyof T]> + ): Dictionary<string[]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.invertBy + */ + invertBy<T>( + this: LoDashImplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + interatee?: ValueIteratee<T> + ): LoDashImplicitWrapper<Dictionary<string[]>>; + + /** + * @see _.invertBy + */ + invertBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + interatee?: ValueIteratee<T[keyof T]> + ): LoDashImplicitWrapper<Dictionary<string[]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.invertBy + */ + invertBy<T>( + this: LoDashExplicitWrapper<List<T> | Dictionary<T> | NumericDictionary<T> | null | undefined>, + interatee?: ValueIteratee<T> + ): LoDashExplicitWrapper<Dictionary<string[]>>; + + /** + * @see _.invertBy + */ + invertBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + interatee?: ValueIteratee<T[keyof T]> + ): LoDashExplicitWrapper<Dictionary<string[]>>; + } + + // invoke + + interface LoDashStatic { + /** + * Invokes the method at path of object. + * @param object The object to query. + * @param path The path of the method to invoke. + * @param args The arguments to invoke the method with. + **/ + invoke( + object: any, + path: PropertyPath, + ...args: any[]): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.invoke + **/ + invoke( + path: PropertyPath, + ...args: any[]): any; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.invoke + **/ + invoke( + path: PropertyPath, + ...args: any[]): LoDashExplicitWrapper<any>; + } + + // keys + + interface LoDashStatic { + /** + * Creates an array of the own enumerable property names of object. + * + * Note: Non-object values are coerced to objects. See the ES spec for more details. + * + * @param object The object to query. + * @return Returns the array of property names. + */ + keys(object?: any): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.keys + */ + keys(): LoDashImplicitWrapper<string[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.keys + */ + keys(): LoDashExplicitWrapper<string[]>; + } + + // keysIn + + interface LoDashStatic { + /** + * Creates an array of the own and inherited enumerable property names of object. + * + * Note: Non-object values are coerced to objects. + * + * @param object The object to query. + * @return An array of property names. + */ + keysIn(object?: any): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.keysIn + */ + keysIn(): LoDashImplicitWrapper<string[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.keysIn + */ + keysIn(): LoDashExplicitWrapper<string[]>; + } + + // mapKeys + + interface LoDashStatic { + /** + * The opposite of _.mapValues; this method creates an object with the same values as object and keys generated + * by running each own enumerable property of object through iteratee. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the new mapped object. + */ + mapKeys<T>( + object: List<T> | null | undefined, + iteratee?: ListIteratee<T> + ): Dictionary<T>; + + /** + * @see _.mapKeys + */ + mapKeys<T extends object>( + object: T | null | undefined, + iteratee?: ObjectIteratee<T> + ): Dictionary<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.mapKeys + */ + mapKeys<T>( + this: LoDashImplicitWrapper<List<T> | null | undefined>, + iteratee?: ListIteratee<T> + ): LoDashImplicitWrapper<Dictionary<T>>; + + /** + * @see _.mapKeys + */ + mapKeys<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee?: ObjectIteratee<T> + ): LoDashImplicitWrapper<Dictionary<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.mapKeys + */ + mapKeys<T>( + this: LoDashExplicitWrapper<List<T> | null | undefined>, + iteratee?: ListIteratee<T> + ): LoDashExplicitWrapper<Dictionary<T>>; + + /** + * @see _.mapKeys + */ + mapKeys<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee?: ObjectIteratee<T> + ): LoDashExplicitWrapper<Dictionary<T[keyof T]>>; + } + + // mapValues + + interface LoDashStatic { + /** + * Creates an object with the same keys as object and values generated by running each own + * enumerable property of object through iteratee. The iteratee function is + * invoked with three arguments: (value, key, object). + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @return Returns the new mapped object. + */ + mapValues<TResult>(obj: string | null | undefined, callback: StringIterator<TResult>): NumericDictionary<TResult>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T, TResult>(obj: Dictionary<T> | NumericDictionary<T> | null | undefined, callback: DictionaryIterator<T, TResult>): Dictionary<TResult>; + + /** + * @see _.mapValues + */ + mapValues<T extends object, TResult>(obj: T | null | undefined, callback: ObjectIterator<T, TResult>): { [P in keyof T]: TResult }; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>(obj: Dictionary<T> | NumericDictionary<T> | null | undefined, iteratee: object): Dictionary<boolean>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(obj: T | null | undefined, iteratee: object): { [P in keyof T]: boolean }; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T, TKey extends keyof T>(obj: Dictionary<T> | NumericDictionary<T> | null | undefined, iteratee: TKey): Dictionary<T[TKey]>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>(obj: Dictionary<T> | NumericDictionary<T> | null | undefined, iteratee: string): Dictionary<any>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(obj: T | null | undefined, iteratee: string): { [P in keyof T]: any }; + + /** + * @see _.mapValues + */ + mapValues(obj: string | null | undefined): NumericDictionary<string>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>(obj: Dictionary<T> | NumericDictionary<T> | null | undefined): Dictionary<T>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(obj: T): T; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(obj: T | null | undefined): PartialObject<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.mapValues + */ + mapValues<TResult>( + this: LoDashImplicitWrapper<string | null | undefined>, + callback: StringIterator<TResult> + ): LoDashImplicitWrapper<NumericDictionary<TResult>>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T, TResult>( + this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + callback: DictionaryIterator<T, TResult> + ): LoDashImplicitWrapper<Dictionary<TResult>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object, TResult>( + this: LoDashImplicitWrapper<T | null | undefined>, + callback: ObjectIterator<T, TResult> + ): LoDashImplicitWrapper<{ [P in keyof T]: TResult }>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>( + this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: object + ): LoDashImplicitWrapper<Dictionary<boolean>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee: object + ): LoDashImplicitWrapper<{ [P in keyof T]: boolean }>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T, TKey extends keyof T>( + this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: TKey + ): LoDashImplicitWrapper<Dictionary<T[TKey]>>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>( + this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: string + ): LoDashImplicitWrapper<Dictionary<any>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + iteratee: string + ): LoDashImplicitWrapper<{ [P in keyof T]: any }>; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashImplicitWrapper<string | null | undefined>): LoDashImplicitWrapper<NumericDictionary<string>>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>): LoDashImplicitWrapper<Dictionary<T>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(this: LoDashImplicitWrapper<T>): LoDashImplicitWrapper<T>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(this: LoDashImplicitWrapper<T | null | undefined>): LoDashImplicitWrapper<PartialObject<T>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.mapValues + */ + mapValues<TResult>( + this: LoDashExplicitWrapper<string | null | undefined>, + callback: StringIterator<TResult> + ): LoDashExplicitWrapper<NumericDictionary<TResult>>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T, TResult>( + this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + callback: DictionaryIterator<T, TResult> + ): LoDashExplicitWrapper<Dictionary<TResult>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object, TResult>( + this: LoDashExplicitWrapper<T | null | undefined>, + callback: ObjectIterator<T, TResult> + ): LoDashExplicitWrapper<{ [P in keyof T]: TResult }>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>( + this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: object + ): LoDashExplicitWrapper<Dictionary<boolean>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee: object + ): LoDashExplicitWrapper<{ [P in keyof T]: boolean }>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T, TKey extends keyof T>( + this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: TKey + ): LoDashExplicitWrapper<Dictionary<T[TKey]>>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>( + this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>, + iteratee: string + ): LoDashExplicitWrapper<Dictionary<any>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + iteratee: string + ): LoDashExplicitWrapper<{ [P in keyof T]: any }>; + + /** + * @see _.mapValues + */ + mapValues(this: LoDashExplicitWrapper<string | null | undefined>): LoDashExplicitWrapper<NumericDictionary<string>>; + + /** + * @see _.mapValues + * TODO: This would be better if we had a separate overload for obj: NumericDictionary that returned a NumericDictionary, + * but TypeScript cannot select overload signatures based on number vs string index key type. + */ + mapValues<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | null | undefined>): LoDashExplicitWrapper<Dictionary<T>>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(this: LoDashExplicitWrapper<T>): LoDashExplicitWrapper<T>; + + /** + * @see _.mapValues + */ + mapValues<T extends object>(this: LoDashExplicitWrapper<T | null | undefined>): LoDashExplicitWrapper<PartialObject<T>>; + } + + // merge + + interface LoDashStatic { + /** + * Recursively merges own and inherited enumerable properties of source + * objects into the destination object, skipping source properties that resolve + * to `undefined`. Array and plain object properties are merged recursively. + * Other objects and value types are overridden by assignment. Source objects + * are applied from left to right. Subsequent sources overwrite property + * assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @category Object + * @param object The destination object. + * @param [sources] The source objects. + * @returns Returns `object`. + * @example + * + * var users = { + * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] + * }; + * + * var ages = { + * 'data': [{ 'age': 36 }, { 'age': 40 }] + * }; + * + * _.merge(users, ages); + * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } + */ + merge<TObject, TSource>( + object: TObject, + source: TSource + ): TObject & TSource; + + /** + * @see _.merge + */ + merge<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2 + ): TObject & TSource1 & TSource2; + + /** + * @see _.merge + */ + merge<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.merge + */ + merge<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.merge + */ + merge( + object: any, + ...otherArgs: any[] + ): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.merge + */ + merge<TSource>( + source: TSource + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see _.merge + */ + merge<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.merge + */ + merge<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.merge + */ + merge<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.merge + */ + merge( + ...otherArgs: any[] + ): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.merge + */ + merge<TSource>( + source: TSource + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see _.merge + */ + merge<TSource1, TSource2>( + source1: TSource1, + source2: TSource2 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.merge + */ + merge<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.merge + */ + merge<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4 + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.merge + */ + merge( + ...otherArgs: any[] + ): LoDashExplicitWrapper<any>; + } + + // mergeWith + + type MergeWithCustomizer = { bivariantHack(value: any, srcValue: any, key: string, object: any, source: any): any; }["bivariantHack"]; + + interface LoDashStatic { + /** + * This method is like `_.merge` except that it accepts `customizer` which + * is invoked to produce the merged values of the destination and source + * properties. If `customizer` returns `undefined` merging is handled by the + * method instead. The `customizer` is invoked with seven arguments: + * (objValue, srcValue, key, object, source, stack). + * + * @category Object + * @param object The destination object. + * @param sources The source objects. + * @param customizer The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * function customizer(objValue, srcValue) { + * if (_.isArray(objValue)) { + * return objValue.concat(srcValue); + * } + * } + * + * var object = { + * 'fruits': ['apple'], + * 'vegetables': ['beet'] + * }; + * + * var other = { + * 'fruits': ['banana'], + * 'vegetables': ['carrot'] + * }; + * + * _.merge(object, other, customizer); + * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] } + */ + mergeWith<TObject, TSource>( + object: TObject, + source: TSource, + customizer: MergeWithCustomizer + ): TObject & TSource; + + /** + * @see _.mergeWith + */ + mergeWith<TObject, TSource1, TSource2>( + object: TObject, + source1: TSource1, + source2: TSource2, + customizer: MergeWithCustomizer + ): TObject & TSource1 & TSource2; + + /** + * @see _.mergeWith + */ + mergeWith<TObject, TSource1, TSource2, TSource3>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: MergeWithCustomizer + ): TObject & TSource1 & TSource2 & TSource3; + + /** + * @see _.mergeWith + */ + mergeWith<TObject, TSource1, TSource2, TSource3, TSource4>( + object: TObject, + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: MergeWithCustomizer + ): TObject & TSource1 & TSource2 & TSource3 & TSource4; + + /** + * @see _.mergeWith + */ + mergeWith( + object: any, + ...otherArgs: any[] + ): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.mergeWith + */ + mergeWith<TSource>( + source: TSource, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper<TValue & TSource>; + + /** + * @see _.mergeWith + */ + mergeWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.mergeWith + */ + mergeWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.mergeWith + */ + mergeWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: MergeWithCustomizer + ): LoDashImplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.mergeWith + */ + mergeWith( + ...otherArgs: any[] + ): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.mergeWith + */ + mergeWith<TSource>( + source: TSource, + customizer: MergeWithCustomizer + ): LoDashExplicitWrapper<TValue & TSource>; + + /** + * @see _.mergeWith + */ + mergeWith<TSource1, TSource2>( + source1: TSource1, + source2: TSource2, + customizer: MergeWithCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2>; + + /** + * @see _.mergeWith + */ + mergeWith<TSource1, TSource2, TSource3>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + customizer: MergeWithCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3>; + + /** + * @see _.mergeWith + */ + mergeWith<TSource1, TSource2, TSource3, TSource4>( + source1: TSource1, + source2: TSource2, + source3: TSource3, + source4: TSource4, + customizer: MergeWithCustomizer + ): LoDashExplicitWrapper<TValue & TSource1 & TSource2 & TSource3 & TSource4>; + + /** + * @see _.mergeWith + */ + mergeWith( + ...otherArgs: any[] + ): LoDashExplicitWrapper<any>; + } + + // omit + + interface LoDashStatic { + /** + * The opposite of `_.pick`; this method creates an object composed of the + * own and inherited enumerable properties of `object` that are not omitted. + * + * @category Object + * @param object The source object. + * @param [paths] The property names to omit, specified + * individually or in arrays.. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omit(object, ['a', 'c']); + * // => { 'b': '2' } + */ + omit<T extends AnyKindOfDictionary>( + object: T | null | undefined, + ...paths: Array<Many<PropertyName>> + ): T; + + /** + * @see _.omit + */ + omit<T extends object, K extends keyof T>( + object: T | null | undefined, + ...paths: Array<Many<K>> + ): Omit<T, K>; + + /** + * @see _.omit + */ + omit<T extends object>( + object: T | null | undefined, + ...paths: Array<Many<PropertyName>> + ): PartialObject<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.omit + */ + omit<T extends AnyKindOfDictionary>( + this: LoDashImplicitWrapper<T | null | undefined>, + ...paths: Array<Many<PropertyName>> + ): LoDashImplicitWrapper<T>; + + /** + * @see _.omit + */ + omit<T extends object, K extends keyof T>( + this: LoDashImplicitWrapper<T | null | undefined>, + ...paths: Array<Many<K>> + ): LoDashImplicitWrapper<Omit<T, K>>; + + /** + * @see _.omit + */ + omit<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + ...paths: Array<Many<PropertyName>> + ): LoDashImplicitWrapper<PartialObject<T>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.omit + */ + omit<T extends AnyKindOfDictionary>( + this: LoDashExplicitWrapper<T | null | undefined>, + ...paths: Array<Many<PropertyName>> + ): LoDashExplicitWrapper<T>; + + /** + * @see _.omit + */ + omit<T extends object, K extends keyof T>( + this: LoDashExplicitWrapper<T | null | undefined>, + ...paths: Array<Many<K>> + ): LoDashExplicitWrapper<Omit<T, K>>; + + /** + * @see _.omit + */ + omit<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + ...paths: Array<Many<PropertyName>> + ): LoDashExplicitWrapper<PartialObject<T>>; + } + + // omitBy + + interface LoDashStatic { + /** + * The opposite of `_.pickBy`; this method creates an object composed of the + * own and inherited enumerable properties of `object` that `predicate` + * doesn't return truthy for. + * + * @category Object + * @param object The source object. + * @param [predicate=_.identity] The function invoked per property. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.omitBy(object, _.isNumber); + * // => { 'b': '2' } + */ + omitBy<T extends object>( + object: T | null | undefined, + predicate: ValueKeyIteratee<T[keyof T]> + ): PartialObject<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.omitBy + */ + omitBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate: ValueKeyIteratee<T[keyof T]> + ): LoDashImplicitWrapper<PartialObject<T>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.omitBy + */ + omitBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate: ValueKeyIteratee<T[keyof T]> + ): LoDashExplicitWrapper<PartialObject<T>>; + } + + // pick + + interface LoDashStatic { + /** + * Creates an object composed of the picked `object` properties. + * + * @category Object + * @param object The source object. + * @param [props] The property names to pick, specified + * individually or in arrays. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pick(object, ['a', 'c']); + * // => { 'a': 1, 'c': 3 } + */ + pick<T extends object, U extends keyof T>( + object: T, + ...props: Array<Many<U>> + ): Pick<T, U>; + + /** + * @see _.pick + */ + pick<T>( + object: T | null | undefined, + ...props: PropertyPath[] + ): PartialDeep<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.pick + */ + pick<T extends object, U extends keyof T>( + this: LoDashImplicitWrapper<T>, + ...props: Array<Many<U>> + ): LoDashImplicitWrapper<Pick<T, U>>; + + /** + * @see _.pick + */ + pick<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + ...props: PropertyPath[] + ): LoDashImplicitWrapper<PartialObject<T>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.pick + */ + pick<T extends object, U extends keyof T>( + this: LoDashExplicitWrapper<T>, + ...props: Array<Many<U>> + ): LoDashExplicitWrapper<Pick<T, U>>; + + /** + * @see _.pick + */ + pick<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + ...props: PropertyPath[] + ): LoDashExplicitWrapper<PartialObject<T>>; + } + + // pickBy + + interface LoDashStatic { + /** + * Creates an object composed of the `object` properties `predicate` returns + * truthy for. The predicate is invoked with two arguments: (value, key). + * + * @category Object + * @param object The source object. + * @param [predicate=_.identity] The function invoked per property. + * @returns Returns the new object. + * @example + * + * var object = { 'a': 1, 'b': '2', 'c': 3 }; + * + * _.pickBy(object, _.isNumber); + * // => { 'a': 1, 'c': 3 } + */ + pickBy<T extends object>( + object: T | null | undefined, + predicate?: ValueKeyIteratee<T[keyof T]> + ): PartialObject<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.pickBy + */ + pickBy<T extends object>( + this: LoDashImplicitWrapper<T | null | undefined>, + predicate?: ValueKeyIteratee<T[keyof T]> + ): LoDashImplicitWrapper<PartialObject<T>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.pickBy + */ + pickBy<T extends object>( + this: LoDashExplicitWrapper<T | null | undefined>, + predicate?: ValueKeyIteratee<T[keyof T]> + ): LoDashExplicitWrapper<PartialObject<T>>; + } + + // result + + interface LoDashStatic { + /** + * This method is like _.get except that if the resolved value is a function it’s invoked with the this binding + * of its parent object and its result is returned. + * + * @param object The object to query. + * @param path The path of the property to resolve. + * @param defaultValue The value returned if the resolved value is undefined. + * @return Returns the resolved value. + */ + result<TResult>( + object: any, + path: PropertyPath, + defaultValue?: TResult|((...args: any[]) => TResult) + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.result + */ + result<TResult>( + path: PropertyPath, + defaultValue?: TResult|((...args: any[]) => TResult) + ): TResult; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.result + */ + result<TResult>( + path: PropertyPath, + defaultValue?: TResult|((...args: any[]) => TResult) + ): LoDashExplicitWrapper<TResult>; + } + + // set + + interface LoDashStatic { + /** + * Sets the value at path of object. If a portion of path doesn’t exist it’s created. Arrays are created for + * missing index properties while objects are created for all other missing properties. Use _.setWith to + * customize path creation. + * + * @param object The object to modify. + * @param path The path of the property to set. + * @param value The value to set. + * @return Returns object. + */ + set<T extends object>( + object: T, + path: PropertyPath, + value: any + ): T; + + /** + * @see _.set + */ + set<TResult>( + object: object, + path: PropertyPath, + value: any + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.set + */ + set( + path: PropertyPath, + value: any + ): this; + + /** + * @see _.set + */ + set<TResult>( + path: PropertyPath, + value: any + ): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.set + */ + set( + path: PropertyPath, + value: any + ): this; + + /** + * @see _.set + */ + set<TResult>( + path: PropertyPath, + value: any + ): LoDashExplicitWrapper<TResult>; + } + + // setWith + + type SetWithCustomizer<T> = (nsValue: any, key: string, nsObject: T) => any; + + interface LoDashStatic { + /** + * This method is like _.set except that it accepts customizer which is invoked to produce the objects of + * path. If customizer returns undefined path creation is handled by the method instead. The customizer is + * invoked with three arguments: (nsValue, key, nsObject). + * + * @param object The object to modify. + * @param path The path of the property to set. + * @param value The value to set. + * @param customizer The function to customize assigned values. + * @return Returns object. + */ + setWith<T extends object>( + object: T, + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer<T> + ): T; + + setWith<T extends object, TResult>( + object: T, + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer<T> + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.setWith + */ + setWith( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer<TValue> + ): this; + + /** + * @see _.setWith + */ + setWith<TResult>( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer<TValue> + ): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.setWith + */ + setWith( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer<TValue> + ): this; + + /** + * @see _.setWith + */ + setWith<TResult>( + path: PropertyPath, + value: any, + customizer?: SetWithCustomizer<TValue> + ): LoDashExplicitWrapper<TResult>; + } + + // toPairs + + interface LoDashStatic { + /** + * Creates an array of own enumerable key-value pairs for object. + * + * @param object The object to query. + * @return Returns the new array of key-value pairs. + */ + toPairs<T>(object?: Dictionary<T> | NumericDictionary<T>): Array<[string, T]>; + + /** + * @see _.toPairs + */ + toPairs(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toPairs + */ + toPairs<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashImplicitWrapper<Array<[string, T]>>; + + /** + * @see _.toPairs + */ + toPairs(): LoDashImplicitWrapper<Array<[string, any]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toPairs + */ + toPairs<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashExplicitWrapper<Array<[string, T]>>; + + /** + * @see _.toPairs + */ + toPairs(): LoDashExplicitWrapper<Array<[string, any]>>; + } + + // toPairsIn + + interface LoDashStatic { + /** + * Creates an array of own and inherited enumerable key-value pairs for object. + * + * @param object The object to query. + * @return Returns the new array of key-value pairs. + */ + toPairsIn<T>(object?: Dictionary<T> | NumericDictionary<T>): Array<[string, T]>; + + /** + * @see _.toPairsIn + */ + toPairsIn(object?: object): Array<[string, any]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toPairsIn + */ + toPairsIn<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashImplicitWrapper<Array<[string, T]>>; + + /** + * @see _.toPairsIn + */ + toPairsIn(): LoDashImplicitWrapper<Array<[string, any]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toPairsIn + */ + toPairsIn<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T>>): LoDashExplicitWrapper<Array<[string, T]>>; + + /** + * @see _.toPairsIn + */ + toPairsIn(): LoDashExplicitWrapper<Array<[string, any]>>; + } + + // transform + + interface LoDashStatic { + /** + * An alternative to _.reduce; this method transforms object to a new accumulator object which is the result of + * running each of its own enumerable properties through iteratee, with each invocation potentially mutating + * the accumulator object. The iteratee is invoked with four arguments: (accumulator, + * value, key, object). Iteratee functions may exit iteration early by explicitly returning false. + * + * @param object The object to iterate over. + * @param iteratee The function invoked per iteration. + * @param accumulator The custom accumulator value. + * @return Returns the accumulated value. + */ + transform<T, TResult>( + object: T[], + iteratee: MemoVoidArrayIterator<T, TResult[]>, + accumulator?: TResult[] + ): TResult[]; + + /** + * @see _.transform + */ + transform<T, TResult>( + object: T[], + iteratee: MemoVoidArrayIterator<T, Dictionary<TResult>>, + accumulator: Dictionary<TResult> + ): Dictionary<TResult>; + + /** + * @see _.transform + */ + transform<T, TResult>( + object: Dictionary<T>, + iteratee: MemoVoidDictionaryIterator<T, Dictionary<TResult>>, + accumulator?: Dictionary<TResult> + ): Dictionary<TResult>; + + /** + * @see _.transform + */ + transform<T, TResult>( + object: Dictionary<T>, + iteratee: MemoVoidDictionaryIterator<T, TResult[]>, + accumulator: TResult[] + ): TResult[]; + + /** + * @see _.transform + */ + transform( + object: any[], + ): any[]; + + /** + * @see _.transform + */ + transform( + object: object, + ): Dictionary<any>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashImplicitWrapper<T[]>, + iteratee: MemoVoidArrayIterator<T, TResult[]>, + accumulator?: TResult[] + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashImplicitWrapper<T[]>, + iteratee: MemoVoidArrayIterator<T, Dictionary<TResult>>, + accumulator: Dictionary<TResult> + ): LoDashImplicitWrapper<Dictionary<TResult>>; + + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashImplicitWrapper<Dictionary<T>>, + iteratee: MemoVoidDictionaryIterator<T, Dictionary<TResult>>, + accumulator?: Dictionary<TResult> + ): LoDashImplicitWrapper<Dictionary<TResult>>; + + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashImplicitWrapper<Dictionary<T>>, + iteratee: MemoVoidDictionaryIterator<T, TResult[]>, + accumulator: TResult[] + ): LoDashImplicitWrapper<TResult[]>; + + /** + * @see _.transform + */ + transform( + this: LoDashImplicitWrapper<any[]>, + ): LoDashImplicitWrapper<any[]>; + + /** + * @see _.transform + */ + transform(): LoDashImplicitWrapper<Dictionary<any>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashExplicitWrapper<T[]>, + iteratee: MemoVoidArrayIterator<T, TResult[]>, + accumulator?: TResult[] + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashExplicitWrapper<T[]>, + iteratee: MemoVoidArrayIterator<T, Dictionary<TResult>>, + accumulator?: Dictionary<TResult> + ): LoDashExplicitWrapper<Dictionary<TResult>>; + + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashExplicitWrapper<Dictionary<T>>, + iteratee: MemoVoidDictionaryIterator<T, Dictionary<TResult>>, + accumulator?: Dictionary<TResult> + ): LoDashExplicitWrapper<Dictionary<TResult>>; + + /** + * @see _.transform + */ + transform<T, TResult>( + this: LoDashExplicitWrapper<Dictionary<T>>, + iteratee: MemoVoidDictionaryIterator<T, TResult[]>, + accumulator?: TResult[] + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.transform + */ + transform( + this: LoDashExplicitWrapper<any[]>, + ): LoDashExplicitWrapper<any[]>; + + /** + * @see _.transform + */ + transform(): LoDashExplicitWrapper<Dictionary<any>>; + } + + // unset + + interface LoDashStatic { + /** + * Removes the property at path of object. + * + * Note: This method mutates object. + * + * @param object The object to modify. + * @param path The path of the property to unset. + * @return Returns true if the property is deleted, else false. + */ + unset( + object: any, + path: PropertyPath + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unset + */ + unset(path: PropertyPath): LoDashImplicitWrapper<boolean>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unset + */ + unset(path: PropertyPath): LoDashExplicitWrapper<boolean>; + } + + // update + + interface LoDashStatic { + /** + * This method is like _.set except that accepts updater to produce the value to set. Use _.updateWith to + * customize path creation. The updater is invoked with one argument: (value). + * + * @param object The object to modify. + * @param path The path of the property to set. + * @param updater The function to produce the updated value. + * @return Returns object. + */ + update( + object: object, + path: PropertyPath, + updater: (value: any) => any + ): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.update + */ + update( + path: PropertyPath, + updater: (value: any) => any + ): LoDashImplicitWrapper<any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.update + */ + update( + path: PropertyPath, + updater: (value: any) => any + ): LoDashExplicitWrapper<any>; + } + + // updateWith + + interface LoDashStatic { + /** + * This method is like `_.update` except that it accepts `customizer` which is + * invoked to produce the objects of `path`. If `customizer` returns `undefined` + * path creation is handled by the method instead. The `customizer` is invoked + * with three arguments: (nsValue, key, nsObject). + * + * **Note:** This method mutates `object`. + * + * @since 4.6.0 + * @category Object + * @param object The object to modify. + * @param path The path of the property to set. + * @param updater The function to produce the updated value. + * @param [customizer] The function to customize assigned values. + * @returns Returns `object`. + * @example + * + * var object = {}; + * + * _.updateWith(object, '[0][1]', _.constant('a'), Object); + * // => { '0': { '1': 'a' } } + */ + updateWith<T extends object>( + object: T, + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer<T> + ): T; + + /** + * @see _.updateWith + */ + updateWith<T extends object, TResult>( + object: T, + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer<T> + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.updateWith + */ + updateWith( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer<TValue> + ): this; + + /** + * @see _.updateWith + */ + updateWith<TResult>( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer<TValue> + ): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.updateWith + */ + updateWith( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer<TValue> + ): this; + + /** + * @see _.updateWith + */ + updateWith<TResult>( + path: PropertyPath, + updater: (oldValue: any) => any, + customizer?: SetWithCustomizer<TValue> + ): LoDashExplicitWrapper<TResult>; + } + + // values + + interface LoDashStatic { + /** + * Creates an array of the own enumerable property values of object. + * + * @param object The object to query. + * @return Returns an array of property values. + */ + values<T>(object: Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined): T[]; + + /** + * @see _.values + */ + values<T extends object>(object: T | null | undefined): Array<T[keyof T]>; + + /** + * @see _.values + */ + values(object: any): any[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.values + */ + values<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + + /** + * @see _.values + */ + values<T extends object>(this: LoDashImplicitWrapper<T | null | undefined>): LoDashImplicitWrapper<Array<T[keyof T]>>; + + /** + * @see _.values + */ + values(): LoDashImplicitWrapper<any[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.values + */ + values<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + + /** + * @see _.values + */ + values<T extends object>(this: LoDashExplicitWrapper<T | null | undefined>): LoDashExplicitWrapper<Array<T[keyof T]>>; + + /** + * @see _.values + */ + values(): LoDashExplicitWrapper<any[]>; + } + + // valuesIn + + interface LoDashStatic { + /** + * Creates an array of the own and inherited enumerable property values of object. + * + * @param object The object to query. + * @return Returns the array of property values. + */ + valuesIn<T>(object: Dictionary<T>|NumericDictionary<T>|List<T> | null | undefined): T[]; + + /** + * @see _.valuesIn + */ + valuesIn<T extends object>(object: T | null | undefined): Array<T[keyof T]>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.valuesIn + */ + valuesIn<T>(this: LoDashImplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashImplicitWrapper<T[]>; + + /** + * @see _.valuesIn + */ + valuesIn<T extends object>(this: LoDashImplicitWrapper<T | null | undefined>): LoDashImplicitWrapper<Array<T[keyof T]>>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.valuesIn + */ + valuesIn<T>(this: LoDashExplicitWrapper<Dictionary<T> | NumericDictionary<T> | List<T> | null | undefined>): LoDashExplicitWrapper<T[]>; + + /** + * @see _.valuesIn + */ + valuesIn<T extends object>(this: LoDashExplicitWrapper<T | null | undefined>): LoDashExplicitWrapper<Array<T[keyof T]>>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/seq.d.ts b/jtg js/node_modules/@types/lodash/common/seq.d.ts new file mode 100644 index 0000000..bc3cc39 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/seq.d.ts @@ -0,0 +1,196 @@ +import _ = require("../index"); +declare module "../index" { + // chain + + interface LoDashStatic { + /** + * Creates a lodash object that wraps value with explicit method chaining enabled. + * + * @param value The value to wrap. + * @return Returns the new lodash wrapper instance. + */ + chain<T>(value: T): LoDashExplicitWrapper<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.chain + */ + chain(): LoDashExplicitWrapper<TValue>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.chain + */ + chain(): this; + } + + // prototype.chain + + interface LoDashStatic { + /** + * Creates a lodash object that wraps value with explicit method chaining enabled. + * + * @param value The value to wrap. + * @return Returns the new lodash wrapper instance. + */ + chain<T>(value: T): LoDashExplicitWrapper<T>; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.chain + */ + chain(): LoDashExplicitWrapper<TValue>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.chain + */ + chain(): this; + } + + // prototype.commit + + interface LoDashWrapper<TValue> { + /** + * Executes the chained sequence and returns the wrapped result. + * + * @return Returns the new lodash wrapper instance. + */ + commit(): this; + } + + // prototype.plant + + interface LoDashImplicitWrapper<TValue> { + /** + * Creates a clone of the chained sequence planting value as the wrapped value. + * @param value The value to plant as the wrapped value. + * @return Returns the new lodash wrapper instance. + */ + plant<T>(value: T): LoDashImplicitWrapper<T>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.plant + */ + plant<T>(value: T): LoDashExplicitWrapper<T>; + } + + // prototype.reverse + + interface LoDashWrapper<TValue> { + /** + * Reverses the wrapped array so the first element becomes the last, the second element becomes the second to + * last, and so on. + * + * Note: This method mutates the wrapped array. + * + * @return Returns the new reversed lodash wrapper instance. + */ + reverse(): this; + } + + // prototype.toJSON + + interface LoDashWrapper<TValue> { + /** + * @see _.value + */ + toJSON(): TValue; + } + + // prototype.toString + + interface LoDashWrapper<TValue> { + /** + * Produces the result of coercing the unwrapped value to a string. + * + * @return Returns the coerced string value. + */ + toString(): string; + } + + // prototype.value + + interface LoDashWrapper<TValue> { + /** + * Executes the chained sequence to extract the unwrapped value. + * + * @alias _.toJSON, _.valueOf + * + * @return Returns the resolved unwrapped value. + */ + value(): TValue; + } + + // prototype.valueOf + + interface LoDashWrapper<TValue> { + /** + * @see _.value + */ + valueOf(): TValue; + } + + // tap + + interface LoDashStatic { + /** + * This method invokes interceptor and returns value. The interceptor is invoked with one + * argument; (value). The purpose of this method is to "tap into" a method chain in order to perform operations + * on intermediate results within the chain. + * + * @param value The value to provide to interceptor. + * @param interceptor The function to invoke. + * @return Returns value. + **/ + tap<T>( + value: T, + interceptor: (value: T) => void + ): T; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.tap + */ + tap( + interceptor: (value: TValue) => void + ): this; + } + + // thru + + interface LoDashStatic { + /** + * This method is like _.tap except that it returns the result of interceptor. + * + * @param value The value to provide to interceptor. + * @param interceptor The function to invoke. + * @return Returns the result of interceptor. + */ + thru<T, TResult>( + value: T, + interceptor: (value: T) => TResult + ): TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.thru + */ + thru<TResult>(interceptor: (value: TValue) => TResult): LoDashImplicitWrapper<TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.thru + */ + thru<TResult>(interceptor: (value: TValue) => TResult): LoDashExplicitWrapper<TResult>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/string.d.ts b/jtg js/node_modules/@types/lodash/common/string.d.ts new file mode 100644 index 0000000..d940406 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/string.d.ts @@ -0,0 +1,1059 @@ +import _ = require("../index"); +declare module "../index" { + // camelCase + + interface LoDashStatic { + /** + * Converts string to camel case. + * + * @param string The string to convert. + * @return Returns the camel cased string. + */ + camelCase(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.camelCase + */ + camelCase(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.camelCase + */ + camelCase(): LoDashExplicitWrapper<string>; + } + + // capitalize + + interface LoDashStatic { + /** + * Converts the first character of string to upper case and the remaining to lower case. + * + * @param string The string to capitalize. + * @return Returns the capitalized string. + */ + capitalize(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.capitalize + */ + capitalize(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.capitalize + */ + capitalize(): LoDashExplicitWrapper<string>; + } + + // deburr + + interface LoDashStatic { + /** + * Deburrs string by converting latin-1 supplementary letters to basic latin letters and removing combining + * diacritical marks. + * + * @param string The string to deburr. + * @return Returns the deburred string. + */ + deburr(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.deburr + */ + deburr(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.deburr + */ + deburr(): LoDashExplicitWrapper<string>; + } + + // endsWith + + interface LoDashStatic { + /** + * Checks if string ends with the given target string. + * + * @param string The string to search. + * @param target The string to search for. + * @param position The position to search from. + * @return Returns true if string ends with target, else false. + */ + endsWith( + string?: string, + target?: string, + position?: number + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.endsWith + */ + endsWith( + target?: string, + position?: number + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.endsWith + */ + endsWith( + target?: string, + position?: number + ): LoDashExplicitWrapper<boolean>; + } + + // escape + + interface LoDashStatic { + /** + * Converts the characters "&", "<", ">", '"', "'", and "`" in string to their corresponding HTML entities. + * + * Note: No other characters are escaped. To escape additional characters use a third-party library like he. + * + * hough the ">" character is escaped for symmetry, characters like ">" and "/" don’t need escaping in HTML + * and have no special meaning unless they're part of a tag or unquoted attribute value. See Mathias Bynens’s + * article (under "semi-related fun fact") for more details. + * + * Backticks are escaped because in IE < 9, they can break out of attribute values or HTML comments. See #59, + * #102, #108, and #133 of the HTML5 Security Cheatsheet for more details. + * + * When working with HTML you should always quote attribute values to reduce XSS vectors. + * + * @param string The string to escape. + * @return Returns the escaped string. + */ + escape(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.escape + */ + escape(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.escape + */ + escape(): LoDashExplicitWrapper<string>; + } + + // escapeRegExp + + interface LoDashStatic { + /** + * Escapes the RegExp special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]", + * "{", "}", and "|" in string. + * + * @param string The string to escape. + * @return Returns the escaped string. + */ + escapeRegExp(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.escapeRegExp + */ + escapeRegExp(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.escapeRegExp + */ + escapeRegExp(): LoDashExplicitWrapper<string>; + } + + // kebabCase + + interface LoDashStatic { + /** + * Converts string to kebab case. + * + * @param string The string to convert. + * @return Returns the kebab cased string. + */ + kebabCase(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.kebabCase + */ + kebabCase(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.kebabCase + */ + kebabCase(): LoDashExplicitWrapper<string>; + } + + // lowerCase + + interface LoDashStatic { + /** + * Converts `string`, as space separated words, to lower case. + * + * @param string The string to convert. + * @return Returns the lower cased string. + */ + lowerCase(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.lowerCase + */ + lowerCase(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.lowerCase + */ + lowerCase(): LoDashExplicitWrapper<string>; + } + + // lowerFirst + + interface LoDashStatic { + /** + * Converts the first character of `string` to lower case. + * + * @param string The string to convert. + * @return Returns the converted string. + */ + lowerFirst(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.lowerFirst + */ + lowerFirst(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.lowerFirst + */ + lowerFirst(): LoDashExplicitWrapper<string>; + } + + // pad + + interface LoDashStatic { + /** + * Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if + * they can’t be evenly divided by length. + * + * @param string The string to pad. + * @param length The padding length. + * @param chars The string used as padding. + * @return Returns the padded string. + */ + pad( + string?: string, + length?: number, + chars?: string + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.pad + */ + pad( + length?: number, + chars?: string + ): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.pad + */ + pad( + length?: number, + chars?: string + ): LoDashExplicitWrapper<string>; + } + + // padEnd + + interface LoDashStatic { + /** + * Pads string on the right side if it’s shorter than length. Padding characters are truncated if they exceed + * length. + * + * @param string The string to pad. + * @param length The padding length. + * @param chars The string used as padding. + * @return Returns the padded string. + */ + padEnd( + string?: string, + length?: number, + chars?: string + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.padEnd + */ + padEnd( + length?: number, + chars?: string + ): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.padEnd + */ + padEnd( + length?: number, + chars?: string + ): LoDashExplicitWrapper<string>; + } + + // padStart + + interface LoDashStatic { + /** + * Pads string on the left side if it’s shorter than length. Padding characters are truncated if they exceed + * length. + * + * @param string The string to pad. + * @param length The padding length. + * @param chars The string used as padding. + * @return Returns the padded string. + */ + padStart( + string?: string, + length?: number, + chars?: string + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.padStart + */ + padStart( + length?: number, + chars?: string + ): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.padStart + */ + padStart( + length?: number, + chars?: string + ): LoDashExplicitWrapper<string>; + } + + // parseInt + + interface LoDashStatic { + /** + * Converts string to an integer of the specified radix. If radix is undefined or 0, a radix of 10 is used + * unless value is a hexadecimal, in which case a radix of 16 is used. + * + * Note: This method aligns with the ES5 implementation of parseInt. + * + * @param string The string to convert. + * @param radix The radix to interpret value by. + * @return Returns the converted integer. + */ + parseInt( + string: string, + radix?: number + ): number; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.parseInt + */ + parseInt(radix?: number): number; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.parseInt + */ + parseInt(radix?: number): LoDashExplicitWrapper<number>; + } + + // repeat + + interface LoDashStatic { + /** + * Repeats the given string n times. + * + * @param string The string to repeat. + * @param n The number of times to repeat the string. + * @return Returns the repeated string. + */ + repeat( + string?: string, + n?: number + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.repeat + */ + repeat(n?: number): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.repeat + */ + repeat(n?: number): LoDashExplicitWrapper<string>; + } + + type ReplaceFunction = (match: string, ...args: any[]) => string; + + // replace + + interface LoDashStatic { + /** + * Replaces matches for pattern in string with replacement. + * + * Note: This method is based on String#replace. + * + * @return Returns the modified string. + */ + replace( + string: string, + pattern: RegExp | string, + replacement: ReplaceFunction | string + ): string; + + /** + * @see _.replace + */ + replace( + pattern: RegExp | string, + replacement: ReplaceFunction | string + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.replace + */ + replace( + pattern: RegExp|string, + replacement: ReplaceFunction | string + ): string; + + /** + * @see _.replace + */ + replace( + replacement: ReplaceFunction | string + ): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.replace + */ + replace( + pattern: RegExp | string, + replacement: ReplaceFunction | string + ): LoDashExplicitWrapper<string>; + + /** + * @see _.replace + */ + replace( + replacement: ReplaceFunction | string + ): LoDashExplicitWrapper<string>; + } + + // snakeCase + + interface LoDashStatic { + /** + * Converts string to snake case. + * + * @param string The string to convert. + * @return Returns the snake cased string. + */ + snakeCase(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.snakeCase + */ + snakeCase(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.snakeCase + */ + snakeCase(): LoDashExplicitWrapper<string>; + } + + // split + + interface LoDashStatic { + /** + * Splits string by separator. + * + * Note: This method is based on String#split. + * + * @param string The string to trim. + * @param separator The separator pattern to split by. + * @param limit The length to truncate results to. + * @return Returns the new array of string segments. + */ + split( + string: string, + separator?: RegExp|string, + limit?: number + ): string[]; + + /** + * Splits string by separator. + * + * Note: This method is based on String#split. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the new array of string segments. + */ + split( + string: string, + index: string | number, + guard: object + ): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.split + */ + split( + separator?: RegExp|string, + limit?: number + ): LoDashImplicitWrapper<string[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.split + */ + split( + separator?: RegExp|string, + limit?: number + ): LoDashExplicitWrapper<string[]>; + } + + // startCase + + interface LoDashStatic { + /** + * Converts string to start case. + * + * @param string The string to convert. + * @return Returns the start cased string. + */ + startCase(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.startCase + */ + startCase(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.startCase + */ + startCase(): LoDashExplicitWrapper<string>; + } + + // startsWith + + interface LoDashStatic { + /** + * Checks if string starts with the given target string. + * + * @param string The string to search. + * @param target The string to search for. + * @param position The position to search from. + * @return Returns true if string starts with target, else false. + */ + startsWith( + string?: string, + target?: string, + position?: number + ): boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.startsWith + */ + startsWith( + target?: string, + position?: number + ): boolean; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.startsWith + */ + startsWith( + target?: string, + position?: number + ): LoDashExplicitWrapper<boolean>; + } + + // template + + interface TemplateOptions extends TemplateSettings { + /** + * The sourceURL of the template's compiled source. + */ + sourceURL?: string; + } + + interface TemplateExecutor { + (data?: object): string; + source: string; + } + + interface LoDashStatic { + /** + * Creates a compiled template function that can interpolate data properties in "interpolate" delimiters, + * HTML-escape interpolated data properties in "escape" delimiters, and execute JavaScript in "evaluate" + * delimiters. Data properties may be accessed as free variables in the template. If a setting object is + * provided it takes precedence over _.templateSettings values. + * + * Note: In the development build _.template utilizes + * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier + * debugging. + * + * For more information on precompiling templates see + * [lodash's custom builds documentation](https://lodash.com/custom-builds). + * + * For more information on Chrome extension sandboxes see + * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). + * + * @param string The template string. + * @param options The options object. + * @param options.escape The HTML "escape" delimiter. + * @param options.evaluate The "evaluate" delimiter. + * @param options.imports An object to import into the template as free variables. + * @param options.interpolate The "interpolate" delimiter. + * @param options.sourceURL The sourceURL of the template's compiled source. + * @param options.variable The data object variable name. + * @return Returns the compiled template function. + */ + template( + string?: string, + options?: TemplateOptions + ): TemplateExecutor; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.template + */ + template(options?: TemplateOptions): TemplateExecutor; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.template + */ + template(options?: TemplateOptions): LoDashExplicitWrapper<TemplateExecutor>; + } + + // toLower + + interface LoDashStatic { + /** + * Converts `string`, as a whole, to lower case. + * + * @param string The string to convert. + * @return Returns the lower cased string. + */ + toLower(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toLower + */ + toLower(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toLower + */ + toLower(): LoDashExplicitWrapper<string>; + } + + // toUpper + + interface LoDashStatic { + /** + * Converts `string`, as a whole, to upper case. + * + * @param string The string to convert. + * @return Returns the upper cased string. + */ + toUpper(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toUpper + */ + toUpper(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toUpper + */ + toUpper(): LoDashExplicitWrapper<string>; + } + + // trim + + interface LoDashStatic { + /** + * Removes leading and trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param chars The characters to trim. + * @return Returns the trimmed string. + */ + trim( + string?: string, + chars?: string + ): string; + + /** + * Removes leading and trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the trimmed string. + */ + trim( + string: string, + index: string | number, + guard: object + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.trim + */ + trim(chars?: string): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.trim + */ + trim(chars?: string): LoDashExplicitWrapper<string>; + } + + // trimEnd + + interface LoDashStatic { + /** + * Removes trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param chars The characters to trim. + * @return Returns the trimmed string. + */ + trimEnd( + string?: string, + chars?: string + ): string; + + /** + * Removes trailing whitespace or specified characters from string. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the trimmed string. + */ + trimEnd( + string: string, + index: string | number, + guard: object + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.trimEnd + */ + trimEnd(chars?: string): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.trimEnd + */ + trimEnd(chars?: string): LoDashExplicitWrapper<string>; + } + + // trimStart + + interface LoDashStatic { + /** + * Removes leading whitespace or specified characters from string. + * + * @param string The string to trim. + * @param chars The characters to trim. + * @return Returns the trimmed string. + */ + trimStart( + string?: string, + chars?: string + ): string; + + /** + * Removes leading whitespace or specified characters from string. + * + * @param string The string to trim. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the trimmed string. + */ + trimStart( + string: string, + index: string | number, + guard: object + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.trimStart + */ + trimStart(chars?: string): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.trimStart + */ + trimStart(chars?: string): LoDashExplicitWrapper<string>; + } + + // truncate + + interface TruncateOptions { + /** The maximum string length. */ + length?: number; + /** The string to indicate text is omitted. */ + omission?: string; + /** The separator pattern to truncate to. */ + separator?: string|RegExp; + } + + interface LoDashStatic { + /** + * Truncates string if it’s longer than the given maximum string length. The last characters of the truncated + * string are replaced with the omission string which defaults to "…". + * + * @param string The string to truncate. + * @param options The options object or maximum string length. + * @return Returns the truncated string. + */ + truncate( + string?: string, + options?: TruncateOptions + ): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.truncate + */ + truncate(options?: TruncateOptions): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.truncate + */ + truncate(options?: TruncateOptions): LoDashExplicitWrapper<string>; + } + + // unescape + + interface LoDashStatic { + /** + * The inverse of _.escape; this method converts the HTML entities &, <, >, ", ', and ` + * in string to their corresponding characters. + * + * Note: No other HTML entities are unescaped. To unescape additional HTML entities use a third-party library + * like he. + * + * @param string The string to unescape. + * @return Returns the unescaped string. + */ + unescape(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.unescape + */ + unescape(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.unescape + */ + unescape(): LoDashExplicitWrapper<string>; + } + + // upperCase + + interface LoDashStatic { + /** + * Converts `string`, as space separated words, to upper case. + * + * @param string The string to convert. + * @return Returns the upper cased string. + */ + upperCase(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.upperCase + */ + upperCase(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.upperCase + */ + upperCase(): LoDashExplicitWrapper<string>; + } + + // upperFirst + + interface LoDashStatic { + /** + * Converts the first character of `string` to upper case. + * + * @param string The string to convert. + * @return Returns the converted string. + */ + upperFirst(string?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.upperFirst + */ + upperFirst(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.upperFirst + */ + upperFirst(): LoDashExplicitWrapper<string>; + } + + // words + + interface LoDashStatic { + /** + * Splits `string` into an array of its words. + * + * @param string The string to inspect. + * @param pattern The pattern to match words. + * @return Returns the words of `string`. + */ + words( + string?: string, + pattern?: string|RegExp + ): string[]; + + /** + * Splits `string` into an array of its words. + * + * @param string The string to inspect. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns the words of `string`. + */ + words( + string: string, + index: string | number, + guard: object + ): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.words + */ + words(pattern?: string|RegExp): string[]; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.words + */ + words(pattern?: string|RegExp): LoDashExplicitWrapper<string[]>; + } +} diff --git a/jtg js/node_modules/@types/lodash/common/util.d.ts b/jtg js/node_modules/@types/lodash/common/util.d.ts new file mode 100644 index 0000000..80b0677 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/common/util.d.ts @@ -0,0 +1,1463 @@ +import _ = require("../index"); +declare module "../index" { + // attempt + + interface LoDashStatic { + /** + * Attempts to invoke func, returning either the result or the caught error object. Any additional arguments + * are provided to func when it’s invoked. + * + * @param func The function to attempt. + * @return Returns the func result or error object. + */ + attempt<TResult>(func: (...args: any[]) => TResult, ...args: any[]): TResult|Error; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.attempt + */ + attempt<TResult>(...args: any[]): TResult|Error; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.attempt + */ + attempt<TResult>(...args: any[]): LoDashExplicitWrapper<TResult|Error>; + } + + // bindAll + + interface LoDashStatic { + /** + * Binds methods of an object to the object itself, overwriting the existing method. Method names may be + * specified as individual arguments or as arrays of method names. If no method names are provided all + * enumerable function properties, own and inherited, of object are bound. + * + * Note: This method does not set the "length" property of bound functions. + * + * @param object The object to bind and assign the bound methods to. + * @param methodNames The object method names to bind, specified as individual method names or arrays of + * method names. + * @return Returns object. + */ + bindAll<T>( + object: T, + ...methodNames: Array<Many<string>> + ): T; + } + + interface LoDashWrapper<TValue> { + /** + * @see _.bindAll + */ + bindAll(...methodNames: Array<Many<string>>): this; + } + + // cond + + interface LoDashStatic { + /** + * Creates a function that iterates over `pairs` and invokes the corresponding + * function of the first predicate to return truthy. The predicate-function + * pairs are invoked with the `this` binding and arguments of the created + * function. + * + * @since 4.0.0 + * @category Util + * @param pairs The predicate-function pairs. + * @returns Returns the new composite function. + * @example + * + * var func = _.cond([ + * [_.matches({ 'a': 1 }), _.constant('matches A')], + * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], + * [_.stubTrue, _.constant('no match')] + * ]); + * + * func({ 'a': 1, 'b': 2 }); + * // => 'matches A' + * + * func({ 'a': 0, 'b': 1 }); + * // => 'matches B' + * + * func({ 'a': '1', 'b': '2' }); + * // => 'no match' + */ + cond<T, R>(pairs: Array<CondPair<T, R>>): (Target: T) => R; + } + + // conforms + + type ConformsPredicateObject<T> = { + [P in keyof T]?: (val: T[P]) => boolean; + }; + + interface LoDashStatic { + /** + * Creates a function that invokes the predicate properties of `source` with the corresponding + * property values of a given object, returning true if all predicates return truthy, else false. + */ + conforms<T>(source: ConformsPredicateObject<T>): (value: T) => boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.conforms + */ + conforms<T>(this: LoDashImplicitWrapper<ConformsPredicateObject<T>>): LoDashImplicitWrapper<(value: T) => boolean>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.conforms + */ + conforms<T>(this: LoDashExplicitWrapper<ConformsPredicateObject<T>>): LoDashExplicitWrapper<(value: T) => boolean>; + } + + // constant + + interface LoDashStatic { + /** + * Creates a function that returns value. + * + * @param value The value to return from the new function. + * @return Returns the new function. + */ + constant<T>(value: T): () => T; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.constant + */ + constant(): LoDashImplicitWrapper<() => TValue>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.constant + */ + constant(): LoDashExplicitWrapper<() => TValue>; + } + + // defaultTo + + interface LoDashStatic { + /** + * Checks `value` to determine whether a default value should be returned in + * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, + * or `undefined`. + * + * @param value The value to check. + * @param defaultValue The default value. + * @returns Returns the resolved value. + */ + defaultTo<T>(value: T | null | undefined, defaultValue: T): T; + + /** + * @see _.defaultTo + */ + defaultTo<T, TDefault>( + value: T | null | undefined, + defaultValue: TDefault + ): T | TDefault; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.defaultTo + */ + defaultTo<T>(this: LoDashImplicitWrapper<T | null | undefined>, defaultValue: T): T; + + /** + * @see _.defaultTo + */ + defaultTo<T, TDefault>( + this: LoDashImplicitWrapper<T | null | undefined>, + defaultValue: TDefault + ): T | TDefault; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.defaultTo + */ + defaultTo<T>(this: LoDashExplicitWrapper<T | null | undefined>, defaultValue: T): LoDashExplicitWrapper<T>; + + /** + * @see _.defaultTo + */ + defaultTo<T, TDefault>( + this: LoDashExplicitWrapper<T | null | undefined>, + defaultValue: TDefault + ): LoDashExplicitWrapper<T | TDefault>; + } + + // flow + + interface LoDashStatic { + /** + * Creates a function that returns the result of invoking the provided functions with the this binding of the + * created function, where each successive invocation is supplied the return value of the previous. + * + * @param funcs Functions to invoke. + * @return Returns the new function. + */ + // 0-argument first function + flow<R1, R2>(f1: () => R1, f2: (a: R1) => R2): () => R2; + flow<R1, R2, R3>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): () => R3; + flow<R1, R2, R3, R4>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): () => R4; + flow<R1, R2, R3, R4, R5>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): () => R5; + flow<R1, R2, R3, R4, R5, R6>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): () => R6; + flow<R1, R2, R3, R4, R5, R6, R7>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): () => R7; + flow<R1, R2, R3, R4, R5, R6, R7>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): () => any; + // 1-argument first function + flow<A1, R1, R2>(f1: (a1: A1) => R1, f2: (a: R1) => R2): (a1: A1) => R2; + flow<A1, R1, R2, R3>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1) => R3; + flow<A1, R1, R2, R3, R4>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1) => R4; + flow<A1, R1, R2, R3, R4, R5>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1) => R5; + flow<A1, R1, R2, R3, R4, R5, R6>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1) => R6; + flow<A1, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1) => R7; + flow<A1, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): (a1: A1) => any; + // 2-argument first function + flow<A1, A2, R1, R2>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2) => R2; + flow<A1, A2, R1, R2, R3>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2) => R3; + flow<A1, A2, R1, R2, R3, R4>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2) => R4; + flow<A1, A2, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2) => R5; + flow<A1, A2, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2) => R6; + flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2) => R7; + flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): (a1: A1, a2: A2) => any; + // 3-argument first function + flow<A1, A2, A3, R1, R2>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3) => R2; + flow<A1, A2, A3, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3) => R3; + flow<A1, A2, A3, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3) => R4; + flow<A1, A2, A3, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3) => R5; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3) => R6; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3) => R7; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): (a1: A1, a2: A2, a3: A3) => any; + // 4-argument first function + flow<A1, A2, A3, A4, R1, R2>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; + flow<A1, A2, A3, A4, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; + flow<A1, A2, A3, A4, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): (a1: A1, a2: A2, a3: A3, a4: A4) => any; + // any-argument first function + flow<A1, A2, A3, A4, R1, R2>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2; + flow<A1, A2, A3, A4, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3; + flow<A1, A2, A3, A4, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any; + flow(funcs: Array<Many<(...args: any[]) => any>>): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flow + */ + // 0-argument first function + flow<R1, R2>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<() => R2>; + flow<R1, R2, R3>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<() => R3>; + flow<R1, R2, R3, R4>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<() => R4>; + flow<R1, R2, R3, R4, R5>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<() => R5>; + flow<R1, R2, R3, R4, R5, R6>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<() => R6>; + flow<R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<() => R7>; + flow<R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<() => any>; + // 1-argument first function + flow<A1, R1, R2>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1) => R2>; + flow<A1, R1, R2, R3>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1) => R3>; + flow<A1, R1, R2, R3, R4>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1) => R4>; + flow<A1, R1, R2, R3, R4, R5>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1) => R5>; + flow<A1, R1, R2, R3, R4, R5, R6>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1) => R6>; + flow<A1, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1) => R7>; + flow<A1, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<(a1: A1) => any>; + // 2-argument first function + flow<A1, A2, R1, R2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2) => R2>; + flow<A1, A2, R1, R2, R3>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2) => R3>; + flow<A1, A2, R1, R2, R3, R4>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2) => R4>; + flow<A1, A2, R1, R2, R3, R4, R5>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2) => R5>; + flow<A1, A2, R1, R2, R3, R4, R5, R6>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2) => R6>; + flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2) => R7>; + flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<(a1: A1, a2: A2) => any>; + // 3-argument first function + flow<A1, A2, A3, R1, R2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flow<A1, A2, A3, R1, R2, R3>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flow<A1, A2, A3, R1, R2, R3, R4>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flow<A1, A2, A3, R1, R2, R3, R4, R5>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => any>; + // 4-argument first function + flow<A1, A2, A3, A4, R1, R2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flow<A1, A2, A3, A4, R1, R2, R3>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flow<A1, A2, A3, A4, R1, R2, R3, R4>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => any>; + // any-argument first function + flow<A1, A2, A3, A4, R1, R2>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2>; + flow<A1, A2, A3, A4, R1, R2, R3>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3>; + flow<A1, A2, A3, A4, R1, R2, R3, R4>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any>; + flow(this: LoDashImplicitWrapper<(...args: any[]) => any>, funcs: Array<Many<(a: any) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flow + */ + // 0-argument first function + flow<R1, R2>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<() => R2>; + flow<R1, R2, R3>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<() => R3>; + flow<R1, R2, R3, R4>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<() => R4>; + flow<R1, R2, R3, R4, R5>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<() => R5>; + flow<R1, R2, R3, R4, R5, R6>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<() => R6>; + flow<R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<() => R7>; + flow<R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<() => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<() => any>; + // 1-argument first function + flow<A1, R1, R2>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1) => R2>; + flow<A1, R1, R2, R3>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1) => R3>; + flow<A1, R1, R2, R3, R4>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1) => R4>; + flow<A1, R1, R2, R3, R4, R5>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1) => R5>; + flow<A1, R1, R2, R3, R4, R5, R6>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1) => R6>; + flow<A1, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1) => R7>; + flow<A1, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<(a1: A1) => any>; + // 2-argument first function + flow<A1, A2, R1, R2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2) => R2>; + flow<A1, A2, R1, R2, R3>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2) => R3>; + flow<A1, A2, R1, R2, R3, R4>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2) => R4>; + flow<A1, A2, R1, R2, R3, R4, R5>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2) => R5>; + flow<A1, A2, R1, R2, R3, R4, R5, R6>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2) => R6>; + flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2) => R7>; + flow<A1, A2, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<(a1: A1, a2: A2) => any>; + // 3-argument first function + flow<A1, A2, A3, R1, R2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flow<A1, A2, A3, R1, R2, R3>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flow<A1, A2, A3, R1, R2, R3, R4>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flow<A1, A2, A3, R1, R2, R3, R4, R5>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + flow<A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => any>; + // 4-argument first function + flow<A1, A2, A3, A4, R1, R2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flow<A1, A2, A3, A4, R1, R2, R3>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flow<A1, A2, A3, A4, R1, R2, R3, R4>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => any>; + // any-argument first function + flow<A1, A2, A3, A4, R1, R2>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2>; + flow<A1, A2, A3, A4, R1, R2, R3>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3>; + flow<A1, A2, A3, A4, R1, R2, R3, R4>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7>; + flow<A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(this: LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1>, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any>; + flow(this: LoDashExplicitWrapper<(...args: any[]) => any>, funcs: Array<Many<(a: any) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // flowRight + + interface LoDashStatic { + /** + * This method is like _.flow except that it creates a function that invokes the provided functions from right + * to left. + * + * @param funcs Functions to invoke. + * @return Returns the new function. + */ + // 0-argument first function + flowRight<R2, R1>(f2: (a: R1) => R2, f1: () => R1): () => R2; + flowRight<R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R3; + flowRight<R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R4; + flowRight<R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R5; + flowRight<R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R6; + flowRight<R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R7; + // 1-argument first function + flowRight<A1, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R2; + flowRight<A1, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R3; + flowRight<A1, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R4; + flowRight<A1, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R5; + flowRight<A1, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R6; + flowRight<A1, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R7; + // 2-argument first function + flowRight<A1, A2, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R2; + flowRight<A1, A2, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R3; + flowRight<A1, A2, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R4; + flowRight<A1, A2, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R5; + flowRight<A1, A2, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R6; + flowRight<A1, A2, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R7; + // 3-argument first function + flowRight<A1, A2, A3, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R2; + flowRight<A1, A2, A3, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R3; + flowRight<A1, A2, A3, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R4; + flowRight<A1, A2, A3, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R5; + flowRight<A1, A2, A3, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R6; + flowRight<A1, A2, A3, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R7; + // 4-argument first function + flowRight<A1, A2, A3, A4, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; + flowRight<A1, A2, A3, A4, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; + flowRight<A1, A2, A3, A4, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; + flowRight<A1, A2, A3, A4, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; + flowRight<A1, A2, A3, A4, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; + flowRight<A1, A2, A3, A4, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; + // any-argument first function + flowRight<R2, R1>(f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R2; + flowRight<R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R3; + flowRight<R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R4; + flowRight<R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R5; + flowRight<R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R6; + flowRight<R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R7; + flowRight(f7: (a: any) => any, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array<Many<(...args: any[]) => any>>): (...args: any[]) => any; + flowRight(funcs: Array<Many<(...args: any[]) => any>>): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.flowRight + */ + // 0-argument first function + flowRight<R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: () => R1): LoDashImplicitWrapper<() => R2>; + flowRight<R3, R2, R1>(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R3>; + flowRight<R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R4>; + flowRight<R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R5>; + flowRight<R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R6>; + flowRight<R7, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashImplicitWrapper<() => R7>; + // 1-argument first function + flowRight<A1, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R2>; + flowRight<A1, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R3>; + flowRight<A1, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R4>; + flowRight<A1, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R5>; + flowRight<A1, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R6>; + flowRight<A1, R7, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashImplicitWrapper<(a1: A1) => R7>; + // 2-argument first function + flowRight<A1, A2, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R2>; + flowRight<A1, A2, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R3>; + flowRight<A1, A2, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R4>; + flowRight<A1, A2, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R5>; + flowRight<A1, A2, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R6>; + flowRight<A1, A2, R7, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2) => R7>; + // 3-argument first function + flowRight<A1, A2, A3, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flowRight<A1, A2, A3, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flowRight<A1, A2, A3, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flowRight<A1, A2, A3, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flowRight<A1, A2, A3, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flowRight<A1, A2, A3, R7, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + // 4-argument first function + flowRight<A1, A2, A3, A4, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flowRight<A1, A2, A3, A4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flowRight<A1, A2, A3, A4, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flowRight<A1, A2, A3, A4, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flowRight<A1, A2, A3, A4, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flowRight<A1, A2, A3, A4, R7, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashImplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + // any-argument first function + flowRight<R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R2>; + flowRight<R3, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R3>; + flowRight<R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R4>; + flowRight<R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R5>; + flowRight<R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R6>; + flowRight<R7, R6, R5, R4, R3, R2, R1>(this: LoDashImplicitWrapper<(a: R1) => R2>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashImplicitWrapper<(...args: any[]) => R7>; + flowRight(this: LoDashImplicitWrapper<(a: any) => any>, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array<Many<(...args: any[]) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + flowRight(this: LoDashImplicitWrapper<(a: any) => any>, funcs: Array<Many<(...args: any[]) => any>>): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.flowRight + */ + // 0-argument first function + flowRight<R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: () => R1): LoDashExplicitWrapper<() => R2>; + flowRight<R3, R2, R1>(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R3>; + flowRight<R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R4>; + flowRight<R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R5>; + flowRight<R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R6>; + flowRight<R7, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): LoDashExplicitWrapper<() => R7>; + // 1-argument first function + flowRight<A1, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R2>; + flowRight<A1, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R3>; + flowRight<A1, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R4>; + flowRight<A1, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R5>; + flowRight<A1, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R6>; + flowRight<A1, R7, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): LoDashExplicitWrapper<(a1: A1) => R7>; + // 2-argument first function + flowRight<A1, A2, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R2>; + flowRight<A1, A2, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R3>; + flowRight<A1, A2, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R4>; + flowRight<A1, A2, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R5>; + flowRight<A1, A2, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R6>; + flowRight<A1, A2, R7, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2) => R7>; + // 3-argument first function + flowRight<A1, A2, A3, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R2>; + flowRight<A1, A2, A3, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R3>; + flowRight<A1, A2, A3, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R4>; + flowRight<A1, A2, A3, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R5>; + flowRight<A1, A2, A3, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R6>; + flowRight<A1, A2, A3, R7, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3) => R7>; + // 4-argument first function + flowRight<A1, A2, A3, A4, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R2>; + flowRight<A1, A2, A3, A4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R2) => R3>, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R3>; + flowRight<A1, A2, A3, A4, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R3) => R4>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R4>; + flowRight<A1, A2, A3, A4, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R4) => R5>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R5>; + flowRight<A1, A2, A3, A4, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R5) => R6>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R6>; + flowRight<A1, A2, A3, A4, R7, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R6) => R7>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): LoDashExplicitWrapper<(a1: A1, a2: A2, a3: A3, a4: A4) => R7>; + // any-argument first function + flowRight<R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R2>; + flowRight<R3, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R3>; + flowRight<R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R4>; + flowRight<R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R5>; + flowRight<R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R6>; + flowRight<R7, R6, R5, R4, R3, R2, R1>(this: LoDashExplicitWrapper<(a: R1) => R2>, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): LoDashExplicitWrapper<(...args: any[]) => R7>; + flowRight(this: LoDashExplicitWrapper<(a: any) => any>, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array<Many<(...args: any[]) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + flowRight(this: LoDashExplicitWrapper<(a: any) => any>, funcs: Array<Many<(...args: any[]) => any>>): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // identity + + interface LoDashStatic { + /** + * This method returns the first argument provided to it. + * + * @param value Any value. + * @return Returns value. + */ + identity<T>(value: T): T; + + /** + * @see _.identity + */ + identity(): undefined; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.identity + */ + identity(): TValue; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.identity + */ + identity(): this; + } + + // iteratee + + interface LoDashStatic { + /** + * Creates a function that invokes `func` with the arguments of the created + * function. If `func` is a property name the created callback returns the + * property value for a given element. If `func` is an object the created + * callback returns `true` for elements that contain the equivalent object properties, otherwise it returns `false`. + * + * @category Util + * @param [func=_.identity] The value to convert to a callback. + * @returns Returns the callback. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36 }, + * { 'user': 'fred', 'age': 40 } + * ]; + * + * // create custom iteratee shorthands + * _.iteratee = _.wrap(_.iteratee, function(callback, func) { + * var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func); + * return !p ? callback(func) : function(object) { + * return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]); + * }; + * }); + * + * _.filter(users, 'age > 36'); + * // => [{ 'user': 'fred', 'age': 40 }] + */ + iteratee<TFunction extends (...args: any[]) => any>( + func: TFunction + ): TFunction; + + /** + * @see _.iteratee + */ + // tslint:disable-next-line:unified-signatures Tests fail in TS2.3 if the overloads are joined + iteratee( + func: string | object + ): (...args: any[]) => any; + + /** + * @see _.iteratee + */ + iteratee(): typeof _.identity; // tslint:disable-line:no-unnecessary-qualifier + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.iteratee + */ + iteratee<TFunction extends (...args: any[]) => any>( + this: LoDashImplicitWrapper<TFunction | string | object> + ): LoDashImplicitWrapper<TFunction>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.iteratee + */ + iteratee<TFunction extends (...args: any[]) => any>( + this: LoDashExplicitWrapper<TFunction | string | object> + ): LoDashExplicitWrapper<TFunction>; + } + + // matches + + interface LoDashStatic { + /** + * Creates a function that performs a deep comparison between a given object and source, returning true if the + * given object has equivalent property values, else false. + * + * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and + * strings. Objects are compared by their own, not inherited, enumerable properties. For comparing a single own + * or inherited property value see _.matchesProperty. + * + * @param source The object of property values to match. + * @return Returns the new function. + */ + matches<T>(source: T): (value: any) => boolean; + + /** + * @see _.matches + */ + matches<T, V>(source: T): (value: V) => boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.matches + */ + matches<V>(): LoDashImplicitWrapper<(value: V) => boolean>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.matches + */ + matches<V>(): LoDashExplicitWrapper<(value: V) => boolean>; + } + + // matchesProperty + + interface LoDashStatic { + /** + * Creates a function that compares the property value of path on a given object to value. + * + * Note: This method supports comparing arrays, booleans, Date objects, numbers, Object objects, regexes, and + * strings. Objects are compared by their own, not inherited, enumerable properties. + * + * @param path The path of the property to get. + * @param srcValue The value to match. + * @return Returns the new function. + */ + matchesProperty<T>( + path: PropertyPath, + srcValue: T + ): (value: any) => boolean; + + /** + * @see _.matchesProperty + */ + matchesProperty<T, V>( + path: PropertyPath, + srcValue: T + ): (value: V) => boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.matchesProperty + */ + matchesProperty<SrcValue>( + srcValue: SrcValue + ): LoDashImplicitWrapper<(value: any) => boolean>; + + /** + * @see _.matchesProperty + */ + matchesProperty<SrcValue, Value>( + srcValue: SrcValue + ): LoDashImplicitWrapper<(value: Value) => boolean>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.matchesProperty + */ + matchesProperty<SrcValue>( + srcValue: SrcValue + ): LoDashExplicitWrapper<(value: any) => boolean>; + + /** + * @see _.matchesProperty + */ + matchesProperty<SrcValue, Value>( + srcValue: SrcValue + ): LoDashExplicitWrapper<(value: Value) => boolean>; + } + + // method + + interface LoDashStatic { + /** + * Creates a function that invokes the method at path on a given object. Any additional arguments are provided + * to the invoked method. + * + * @param path The path of the method to invoke. + * @param args The arguments to invoke the method with. + * @return Returns the new function. + */ + method( + path: PropertyPath, + ...args: any[] + ): (object: any) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.method + */ + method(...args: any[]): LoDashImplicitWrapper<(object: any) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.method + */ + method(...args: any[]): LoDashExplicitWrapper<(object: any) => any>; + } + + // methodOf + + interface LoDashStatic { + /** + * The opposite of _.method; this method creates a function that invokes the method at a given path on object. + * Any additional arguments are provided to the invoked method. + * + * @param object The object to query. + * @param args The arguments to invoke the method with. + * @return Returns the new function. + */ + methodOf( + object: object, + ...args: any[] + ): (path: PropertyPath) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.methodOf + */ + methodOf( + ...args: any[] + ): LoDashImplicitWrapper<(path: PropertyPath) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.methodOf + */ + methodOf( + ...args: any[] + ): LoDashExplicitWrapper<(path: PropertyPath) => any>; + } + + // mixin + + interface MixinOptions { + chain?: boolean; + } + + interface LoDashStatic { + /** + * Adds all own enumerable function properties of a source object to the destination object. If object is a + * function then methods are added to its prototype as well. + * + * Note: Use _.runInContext to create a pristine lodash function to avoid conflicts caused by modifying + * the original. + * + * @param object The destination object. + * @param source The object of functions to add. + * @param options The options object. + * @param options.chain Specify whether the functions added are chainable. + * @return Returns object. + */ + mixin<TObject>( + object: TObject, + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): TObject; + + /** + * @see _.mixin + */ + mixin<TResult>( + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): LoDashStatic; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.mixin + */ + mixin( + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): this; + + /** + * @see _.mixin + */ + mixin( + options?: MixinOptions + ): LoDashImplicitWrapper<LoDashStatic>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.mixin + */ + mixin( + source: Dictionary<(...args: any[]) => any>, + options?: MixinOptions + ): this; + + /** + * @see _.mixin + */ + mixin( + options?: MixinOptions + ): LoDashExplicitWrapper<LoDashStatic>; + } + + // noConflict + + interface LoDashStatic { + /** + * Reverts the _ variable to its previous value and returns a reference to the lodash function. + * + * @return Returns the lodash function. + */ + noConflict(): typeof _; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.noConflict + */ + noConflict(): typeof _; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.noConflict + */ + noConflict(): LoDashExplicitWrapper<typeof _>; + } + + // noop + + interface LoDashStatic { + /** + * A no-operation function that returns undefined regardless of the arguments it receives. + * + * @return undefined + */ + noop(...args: any[]): void; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.noop + */ + noop(...args: any[]): void; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.noop + */ + noop(...args: any[]): LoDashExplicitWrapper<undefined>; + } + + // nthArg + + interface LoDashStatic { + /** + * Creates a function that returns its nth argument. + * + * @param n The index of the argument to return. + * @return Returns the new function. + */ + nthArg(n?: number): (...args: any[]) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.nthArg + */ + nthArg(): LoDashImplicitWrapper<(...args: any[]) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.nthArg + */ + nthArg(): LoDashExplicitWrapper<(...args: any[]) => any>; + } + + // over + + interface LoDashStatic { + /** + * Creates a function that invokes iteratees with the arguments provided to the created function and returns + * their results. + * + * @param iteratees The iteratees to invoke. + * @return Returns the new function. + */ + over<TResult>(...iteratees: Array<Many<(...args: any[]) => TResult>>): (...args: any[]) => TResult[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.over + */ + over<TResult>( + this: LoDashImplicitWrapper<Many<(...args: any[]) => TResult>>, + ...iteratees: Array<Many<(...args: any[]) => TResult>> + ): LoDashImplicitWrapper<(...args: any[]) => TResult[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.over + */ + over<TResult>( + this: LoDashExplicitWrapper<Many<(...args: any[]) => TResult>>, + ...iteratees: Array<Many<(...args: any[]) => TResult>> + ): LoDashExplicitWrapper<(...args: any[]) => TResult[]>; + } + + // overEvery + + interface LoDashStatic { + /** + * Creates a function that checks if all of the predicates return truthy when invoked with the arguments + * provided to the created function. + * + * @param predicates The predicates to check. + * @return Returns the new function. + */ + overEvery<T>(...predicates: Array<Many<(...args: T[]) => boolean>>): (...args: T[]) => boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.overEvery + */ + overEvery<T>(...predicates: Array<Many<(...args: T[]) => boolean>>): LoDashImplicitWrapper<(...args: T[]) => boolean>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.overEvery + */ + overEvery<T>(...predicates: Array<Many<(...args: T[]) => boolean>>): LoDashExplicitWrapper<(...args: T[]) => boolean>; + } + + // overSome + + interface LoDashStatic { + /** + * Creates a function that checks if any of the predicates return truthy when invoked with the arguments + * provided to the created function. + * + * @param predicates The predicates to check. + * @return Returns the new function. + */ + overSome<T>(...predicates: Array<Many<(...args: T[]) => boolean>>): (...args: T[]) => boolean; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.overSome + */ + overSome<T>(...predicates: Array<Many<(...args: T[]) => boolean>>): LoDashImplicitWrapper<(...args: T[]) => boolean>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.overSome + */ + overSome<T>(...predicates: Array<Many<(...args: T[]) => boolean>>): LoDashExplicitWrapper<(...args: T[]) => boolean>; + } + + // property + + interface LoDashStatic { + /** + * Creates a function that returns the property value at path on a given object. + * + * @param path The path of the property to get. + * @return Returns the new function. + */ + property<TObj, TResult>(path: PropertyPath): (obj: TObj) => TResult; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.property + */ + property<TObj, TResult>(): LoDashImplicitWrapper<(obj: TObj) => TResult>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.property + */ + property<TObj, TResult>(): LoDashExplicitWrapper<(obj: TObj) => TResult>; + } + + // propertyOf + + interface LoDashStatic { + /** + * The opposite of _.property; this method creates a function that returns the property value at a given path + * on object. + * + * @param object The object to query. + * @return Returns the new function. + */ + propertyOf<T extends {}>(object: T): (path: PropertyPath) => any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.propertyOf + */ + propertyOf(): LoDashImplicitWrapper<(path: PropertyPath) => any>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.propertyOf + */ + propertyOf(): LoDashExplicitWrapper<(path: PropertyPath) => any>; + } + + // range + + interface LoDashStatic { + /** + * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. + * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length + * range is created unless a negative step is specified. + * + * @param start The start of the range. + * @param end The end of the range. + * @param step The value to increment or decrement by. + * @return Returns a new range array. + */ + range( + start: number, + end?: number, + step?: number + ): number[]; + + /** + * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. + * If end is not specified it’s set to start with start then set to 0. If end is less than start a zero-length + * range is created unless a negative step is specified. + * + * @param start The start of the range. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns a new range array. + */ + range( + end: number, + index: string | number, + guard: object + ): number[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.range + */ + range( + end?: number, + step?: number + ): LoDashImplicitWrapper<number[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.range + */ + range( + end?: number, + step?: number + ): LoDashExplicitWrapper<number[]>; + } + + // rangeRight + + interface LoDashStatic { + /** + * This method is like `_.range` except that it populates values in + * descending order. + * + * @category Util + * @param start The start of the range. + * @param end The end of the range. + * @param step The value to increment or decrement by. + * @returns Returns the new array of numbers. + * @example + * + * _.rangeRight(4); + * // => [3, 2, 1, 0] + * + * _.rangeRight(-4); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 5); + * // => [4, 3, 2, 1] + * + * _.rangeRight(0, 20, 5); + * // => [15, 10, 5, 0] + * + * _.rangeRight(0, -4, -1); + * // => [-3, -2, -1, 0] + * + * _.rangeRight(1, 4, 0); + * // => [1, 1, 1] + * + * _.rangeRight(0); + * // => [] + */ + rangeRight( + start: number, + end?: number, + step?: number + ): number[]; + + /** + * This method is like _.range except that it populates values in + * descending order. + * + * @param start The start of the range. + * @param index Not used in this overload. + * @param guard Enables use as an iteratee for methods like _.map. You should not pass this parameter directly in your code. + * @return Returns a new range array. + */ + rangeRight( + end: number, + index: string | number, + guard: object + ): number[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.rangeRight + */ + rangeRight( + end?: number, + step?: number + ): LoDashImplicitWrapper<number[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.rangeRight + */ + rangeRight( + end?: number, + step?: number + ): LoDashExplicitWrapper<number[]>; + } + + // runInContext + + interface LoDashStatic { + /** + * Create a new pristine lodash function using the given context object. + * + * @param context The context object. + * @return Returns a new lodash function. + */ + runInContext(context?: object): LoDashStatic; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.runInContext + */ + runInContext(): LoDashStatic; + } + + // stubArray + + interface LoDashStatic { + /** + * This method returns a new empty array. + * + * @returns Returns the new empty array. + */ + stubArray(): any[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.stubArray + */ + stubArray(): any[]; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.stubArray + */ + stubArray(): LoDashExplicitWrapper<any[]>; + } + + // stubFalse + + interface LoDashStatic { + /** + * This method returns `false`. + * + * @returns Returns `false`. + */ + stubFalse(): false; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.stubFalse + */ + stubFalse(): false; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.stubFalse + */ + stubFalse(): LoDashExplicitWrapper<false>; + } + + // stubObject + + interface LoDashStatic { + /** + * This method returns a new empty object. + * + * @returns Returns the new empty object. + */ + stubObject(): any; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.stubObject + */ + stubObject(): any; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.stubObject + */ + stubObject(): LoDashExplicitWrapper<any>; + } + + // stubString + + interface LoDashStatic { + /** + * This method returns an empty string. + * + * @returns Returns the empty string. + */ + stubString(): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.stubString + */ + stubString(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.stubString + */ + stubString(): LoDashExplicitWrapper<string>; + } + + // stubTrue + + interface LoDashStatic { + /** + * This method returns `true`. + * + * @returns Returns `true`. + */ + stubTrue(): true; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.stubTrue + */ + stubTrue(): true; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.stubTrue + */ + stubTrue(): LoDashExplicitWrapper<true>; + } + + // times + + interface LoDashStatic { + /** + * Invokes the iteratee function n times, returning an array of the results of each invocation. The iteratee + * is invoked with one argument; (index). + * + * @param n The number of times to invoke iteratee. + * @param iteratee The function invoked per iteration. + * @return Returns the array of results. + */ + times<TResult>( + n: number, + iteratee: (num: number) => TResult + ): TResult[]; + + /** + * @see _.times + */ + times(n: number): number[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.times + */ + times<TResult>( + iteratee: (num: number) => TResult + ): TResult[]; + + /** + * @see _.times + */ + times(): number[]; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.times + */ + times<TResult>( + iteratee: (num: number) => TResult + ): LoDashExplicitWrapper<TResult[]>; + + /** + * @see _.times + */ + times(): LoDashExplicitWrapper<number[]>; + } + + // toPath + + interface LoDashStatic { + /** + * Converts `value` to a property path array. + * + * @category Util + * @param value The value to convert. + * @returns Returns the new property path array. + * @example + * + * _.toPath('a.b.c'); + * // => ['a', 'b', 'c'] + * + * _.toPath('a[0].b.c'); + * // => ['a', '0', 'b', 'c'] + * + * var path = ['a', 'b', 'c'], + * newPath = _.toPath(path); + * + * console.log(newPath); + * // => ['a', 'b', 'c'] + * + * console.log(path === newPath); + * // => false + */ + toPath(value: any): string[]; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.toPath + */ + toPath(): LoDashImplicitWrapper<string[]>; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.toPath + */ + toPath(): LoDashExplicitWrapper<string[]>; + } + + // uniqueId + + interface LoDashStatic { + /** + * Generates a unique ID. If prefix is provided the ID is appended to it. + * + * @param prefix The value to prefix the ID with. + * @return Returns the unique ID. + */ + uniqueId(prefix?: string): string; + } + + interface LoDashImplicitWrapper<TValue> { + /** + * @see _.uniqueId + */ + uniqueId(): string; + } + + interface LoDashExplicitWrapper<TValue> { + /** + * @see _.uniqueId + */ + uniqueId(): LoDashExplicitWrapper<string>; + } +} diff --git a/jtg js/node_modules/@types/lodash/compact.d.ts b/jtg js/node_modules/@types/lodash/compact.d.ts new file mode 100644 index 0000000..94a5397 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/compact.d.ts @@ -0,0 +1,2 @@ +import { compact } from "./index"; +export = compact; diff --git a/jtg js/node_modules/@types/lodash/concat.d.ts b/jtg js/node_modules/@types/lodash/concat.d.ts new file mode 100644 index 0000000..f8c2612 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/concat.d.ts @@ -0,0 +1,2 @@ +import { concat } from "./index"; +export = concat; diff --git a/jtg js/node_modules/@types/lodash/cond.d.ts b/jtg js/node_modules/@types/lodash/cond.d.ts new file mode 100644 index 0000000..a325bad --- /dev/null +++ b/jtg js/node_modules/@types/lodash/cond.d.ts @@ -0,0 +1,2 @@ +import { cond } from "./index"; +export = cond; diff --git a/jtg js/node_modules/@types/lodash/conformsTo.d.ts b/jtg js/node_modules/@types/lodash/conformsTo.d.ts new file mode 100644 index 0000000..320b180 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/conformsTo.d.ts @@ -0,0 +1,2 @@ +import { conformsTo } from "./index"; +export = conformsTo; diff --git a/jtg js/node_modules/@types/lodash/constant.d.ts b/jtg js/node_modules/@types/lodash/constant.d.ts new file mode 100644 index 0000000..ebab572 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/constant.d.ts @@ -0,0 +1,2 @@ +import { constant } from "./index"; +export = constant; diff --git a/jtg js/node_modules/@types/lodash/countBy.d.ts b/jtg js/node_modules/@types/lodash/countBy.d.ts new file mode 100644 index 0000000..db56ff3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/countBy.d.ts @@ -0,0 +1,2 @@ +import { countBy } from "./index"; +export = countBy; diff --git a/jtg js/node_modules/@types/lodash/create.d.ts b/jtg js/node_modules/@types/lodash/create.d.ts new file mode 100644 index 0000000..5c7dc7a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/create.d.ts @@ -0,0 +1,2 @@ +import { create } from "./index"; +export = create; diff --git a/jtg js/node_modules/@types/lodash/curry.d.ts b/jtg js/node_modules/@types/lodash/curry.d.ts new file mode 100644 index 0000000..afbb8f4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/curry.d.ts @@ -0,0 +1,2 @@ +import { curry } from "./index"; +export = curry; diff --git a/jtg js/node_modules/@types/lodash/curryRight.d.ts b/jtg js/node_modules/@types/lodash/curryRight.d.ts new file mode 100644 index 0000000..7d224c9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/curryRight.d.ts @@ -0,0 +1,2 @@ +import { curryRight } from "./index"; +export = curryRight; diff --git a/jtg js/node_modules/@types/lodash/debounce.d.ts b/jtg js/node_modules/@types/lodash/debounce.d.ts new file mode 100644 index 0000000..983edd7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/debounce.d.ts @@ -0,0 +1,2 @@ +import { debounce } from "./index"; +export = debounce; diff --git a/jtg js/node_modules/@types/lodash/deburr.d.ts b/jtg js/node_modules/@types/lodash/deburr.d.ts new file mode 100644 index 0000000..cf1fa37 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/deburr.d.ts @@ -0,0 +1,2 @@ +import { deburr } from "./index"; +export = deburr; diff --git a/jtg js/node_modules/@types/lodash/defaultTo.d.ts b/jtg js/node_modules/@types/lodash/defaultTo.d.ts new file mode 100644 index 0000000..89fb565 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/defaultTo.d.ts @@ -0,0 +1,2 @@ +import { defaultTo } from "./index"; +export = defaultTo; diff --git a/jtg js/node_modules/@types/lodash/defaults.d.ts b/jtg js/node_modules/@types/lodash/defaults.d.ts new file mode 100644 index 0000000..e83508d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/defaults.d.ts @@ -0,0 +1,2 @@ +import { defaults } from "./index"; +export = defaults; diff --git a/jtg js/node_modules/@types/lodash/defaultsDeep.d.ts b/jtg js/node_modules/@types/lodash/defaultsDeep.d.ts new file mode 100644 index 0000000..19ff551 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/defaultsDeep.d.ts @@ -0,0 +1,2 @@ +import { defaultsDeep } from "./index"; +export = defaultsDeep; diff --git a/jtg js/node_modules/@types/lodash/defer.d.ts b/jtg js/node_modules/@types/lodash/defer.d.ts new file mode 100644 index 0000000..144bf5b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/defer.d.ts @@ -0,0 +1,2 @@ +import { defer } from "./index"; +export = defer; diff --git a/jtg js/node_modules/@types/lodash/delay.d.ts b/jtg js/node_modules/@types/lodash/delay.d.ts new file mode 100644 index 0000000..ead89c1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/delay.d.ts @@ -0,0 +1,2 @@ +import { delay } from "./index"; +export = delay; diff --git a/jtg js/node_modules/@types/lodash/difference.d.ts b/jtg js/node_modules/@types/lodash/difference.d.ts new file mode 100644 index 0000000..4a73c56 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/difference.d.ts @@ -0,0 +1,2 @@ +import { difference } from "./index"; +export = difference; diff --git a/jtg js/node_modules/@types/lodash/differenceBy.d.ts b/jtg js/node_modules/@types/lodash/differenceBy.d.ts new file mode 100644 index 0000000..34558c4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/differenceBy.d.ts @@ -0,0 +1,2 @@ +import { differenceBy } from "./index"; +export = differenceBy; diff --git a/jtg js/node_modules/@types/lodash/differenceWith.d.ts b/jtg js/node_modules/@types/lodash/differenceWith.d.ts new file mode 100644 index 0000000..86aebd8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/differenceWith.d.ts @@ -0,0 +1,2 @@ +import { differenceWith } from "./index"; +export = differenceWith; diff --git a/jtg js/node_modules/@types/lodash/divide.d.ts b/jtg js/node_modules/@types/lodash/divide.d.ts new file mode 100644 index 0000000..3d8e393 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/divide.d.ts @@ -0,0 +1,2 @@ +import { divide } from "./index"; +export = divide; diff --git a/jtg js/node_modules/@types/lodash/drop.d.ts b/jtg js/node_modules/@types/lodash/drop.d.ts new file mode 100644 index 0000000..1283f99 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/drop.d.ts @@ -0,0 +1,2 @@ +import { drop } from "./index"; +export = drop; diff --git a/jtg js/node_modules/@types/lodash/dropRight.d.ts b/jtg js/node_modules/@types/lodash/dropRight.d.ts new file mode 100644 index 0000000..4133c98 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/dropRight.d.ts @@ -0,0 +1,2 @@ +import { dropRight } from "./index"; +export = dropRight; diff --git a/jtg js/node_modules/@types/lodash/dropRightWhile.d.ts b/jtg js/node_modules/@types/lodash/dropRightWhile.d.ts new file mode 100644 index 0000000..0dda808 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/dropRightWhile.d.ts @@ -0,0 +1,2 @@ +import { dropRightWhile } from "./index"; +export = dropRightWhile; diff --git a/jtg js/node_modules/@types/lodash/dropWhile.d.ts b/jtg js/node_modules/@types/lodash/dropWhile.d.ts new file mode 100644 index 0000000..894ebaa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/dropWhile.d.ts @@ -0,0 +1,2 @@ +import { dropWhile } from "./index"; +export = dropWhile; diff --git a/jtg js/node_modules/@types/lodash/each.d.ts b/jtg js/node_modules/@types/lodash/each.d.ts new file mode 100644 index 0000000..608f8a9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/each.d.ts @@ -0,0 +1,2 @@ +import { each } from "./index"; +export = each; diff --git a/jtg js/node_modules/@types/lodash/eachRight.d.ts b/jtg js/node_modules/@types/lodash/eachRight.d.ts new file mode 100644 index 0000000..ae0bb6f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/eachRight.d.ts @@ -0,0 +1,2 @@ +import { eachRight } from "./index"; +export = eachRight; diff --git a/jtg js/node_modules/@types/lodash/endsWith.d.ts b/jtg js/node_modules/@types/lodash/endsWith.d.ts new file mode 100644 index 0000000..d8475b1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/endsWith.d.ts @@ -0,0 +1,2 @@ +import { endsWith } from "./index"; +export = endsWith; diff --git a/jtg js/node_modules/@types/lodash/entries.d.ts b/jtg js/node_modules/@types/lodash/entries.d.ts new file mode 100644 index 0000000..24b2417 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/entries.d.ts @@ -0,0 +1,2 @@ +import { entries } from "./index"; +export = entries; diff --git a/jtg js/node_modules/@types/lodash/entriesIn.d.ts b/jtg js/node_modules/@types/lodash/entriesIn.d.ts new file mode 100644 index 0000000..a68ab1e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/entriesIn.d.ts @@ -0,0 +1,2 @@ +import { entriesIn } from "./index"; +export = entriesIn; diff --git a/jtg js/node_modules/@types/lodash/eq.d.ts b/jtg js/node_modules/@types/lodash/eq.d.ts new file mode 100644 index 0000000..88ec887 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/eq.d.ts @@ -0,0 +1,2 @@ +import { eq } from "./index"; +export = eq; diff --git a/jtg js/node_modules/@types/lodash/escape.d.ts b/jtg js/node_modules/@types/lodash/escape.d.ts new file mode 100644 index 0000000..9f628a3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/escape.d.ts @@ -0,0 +1,2 @@ +import { escape } from "./index"; +export = escape; diff --git a/jtg js/node_modules/@types/lodash/escapeRegExp.d.ts b/jtg js/node_modules/@types/lodash/escapeRegExp.d.ts new file mode 100644 index 0000000..97519c1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/escapeRegExp.d.ts @@ -0,0 +1,2 @@ +import { escapeRegExp } from "./index"; +export = escapeRegExp; diff --git a/jtg js/node_modules/@types/lodash/every.d.ts b/jtg js/node_modules/@types/lodash/every.d.ts new file mode 100644 index 0000000..d9717d4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/every.d.ts @@ -0,0 +1,2 @@ +import { every } from "./index"; +export = every; diff --git a/jtg js/node_modules/@types/lodash/extend.d.ts b/jtg js/node_modules/@types/lodash/extend.d.ts new file mode 100644 index 0000000..1b3107a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/extend.d.ts @@ -0,0 +1,2 @@ +import { extend } from "./index"; +export = extend; diff --git a/jtg js/node_modules/@types/lodash/extendWith.d.ts b/jtg js/node_modules/@types/lodash/extendWith.d.ts new file mode 100644 index 0000000..99ca5d0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/extendWith.d.ts @@ -0,0 +1,2 @@ +import { extendWith } from "./index"; +export = extendWith; diff --git a/jtg js/node_modules/@types/lodash/fill.d.ts b/jtg js/node_modules/@types/lodash/fill.d.ts new file mode 100644 index 0000000..f595dfc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fill.d.ts @@ -0,0 +1,2 @@ +import { fill } from "./index"; +export = fill; diff --git a/jtg js/node_modules/@types/lodash/filter.d.ts b/jtg js/node_modules/@types/lodash/filter.d.ts new file mode 100644 index 0000000..a4496de --- /dev/null +++ b/jtg js/node_modules/@types/lodash/filter.d.ts @@ -0,0 +1,2 @@ +import { filter } from "./index"; +export = filter; diff --git a/jtg js/node_modules/@types/lodash/find.d.ts b/jtg js/node_modules/@types/lodash/find.d.ts new file mode 100644 index 0000000..e8da4b4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/find.d.ts @@ -0,0 +1,2 @@ +import { find } from "./index"; +export = find; diff --git a/jtg js/node_modules/@types/lodash/findIndex.d.ts b/jtg js/node_modules/@types/lodash/findIndex.d.ts new file mode 100644 index 0000000..6b72444 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/findIndex.d.ts @@ -0,0 +1,2 @@ +import { findIndex } from "./index"; +export = findIndex; diff --git a/jtg js/node_modules/@types/lodash/findKey.d.ts b/jtg js/node_modules/@types/lodash/findKey.d.ts new file mode 100644 index 0000000..90230b4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/findKey.d.ts @@ -0,0 +1,2 @@ +import { findKey } from "./index"; +export = findKey; diff --git a/jtg js/node_modules/@types/lodash/findLast.d.ts b/jtg js/node_modules/@types/lodash/findLast.d.ts new file mode 100644 index 0000000..c4f24fc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/findLast.d.ts @@ -0,0 +1,2 @@ +import { findLast } from "./index"; +export = findLast; diff --git a/jtg js/node_modules/@types/lodash/findLastIndex.d.ts b/jtg js/node_modules/@types/lodash/findLastIndex.d.ts new file mode 100644 index 0000000..21856e5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/findLastIndex.d.ts @@ -0,0 +1,2 @@ +import { findLastIndex } from "./index"; +export = findLastIndex; diff --git a/jtg js/node_modules/@types/lodash/findLastKey.d.ts b/jtg js/node_modules/@types/lodash/findLastKey.d.ts new file mode 100644 index 0000000..ed7ff79 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/findLastKey.d.ts @@ -0,0 +1,2 @@ +import { findLastKey } from "./index"; +export = findLastKey; diff --git a/jtg js/node_modules/@types/lodash/first.d.ts b/jtg js/node_modules/@types/lodash/first.d.ts new file mode 100644 index 0000000..fd1cda7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/first.d.ts @@ -0,0 +1,2 @@ +import { first } from "./index"; +export = first; diff --git a/jtg js/node_modules/@types/lodash/flatMap.d.ts b/jtg js/node_modules/@types/lodash/flatMap.d.ts new file mode 100644 index 0000000..0057053 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flatMap.d.ts @@ -0,0 +1,2 @@ +import { flatMap } from "./index"; +export = flatMap; diff --git a/jtg js/node_modules/@types/lodash/flatMapDeep.d.ts b/jtg js/node_modules/@types/lodash/flatMapDeep.d.ts new file mode 100644 index 0000000..c65639a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flatMapDeep.d.ts @@ -0,0 +1,2 @@ +import { flatMapDeep } from "./index"; +export = flatMapDeep; diff --git a/jtg js/node_modules/@types/lodash/flatMapDepth.d.ts b/jtg js/node_modules/@types/lodash/flatMapDepth.d.ts new file mode 100644 index 0000000..7ec1853 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flatMapDepth.d.ts @@ -0,0 +1,2 @@ +import { flatMapDepth } from "./index"; +export = flatMapDepth; diff --git a/jtg js/node_modules/@types/lodash/flatten.d.ts b/jtg js/node_modules/@types/lodash/flatten.d.ts new file mode 100644 index 0000000..43ac0f4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flatten.d.ts @@ -0,0 +1,2 @@ +import { flatten } from "./index"; +export = flatten; diff --git a/jtg js/node_modules/@types/lodash/flattenDeep.d.ts b/jtg js/node_modules/@types/lodash/flattenDeep.d.ts new file mode 100644 index 0000000..df08bfa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flattenDeep.d.ts @@ -0,0 +1,2 @@ +import { flattenDeep } from "./index"; +export = flattenDeep; diff --git a/jtg js/node_modules/@types/lodash/flattenDepth.d.ts b/jtg js/node_modules/@types/lodash/flattenDepth.d.ts new file mode 100644 index 0000000..f6be541 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flattenDepth.d.ts @@ -0,0 +1,2 @@ +import { flattenDepth } from "./index"; +export = flattenDepth; diff --git a/jtg js/node_modules/@types/lodash/flip.d.ts b/jtg js/node_modules/@types/lodash/flip.d.ts new file mode 100644 index 0000000..48c9924 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flip.d.ts @@ -0,0 +1,2 @@ +import { flip } from "./index"; +export = flip; diff --git a/jtg js/node_modules/@types/lodash/floor.d.ts b/jtg js/node_modules/@types/lodash/floor.d.ts new file mode 100644 index 0000000..a101e5d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/floor.d.ts @@ -0,0 +1,2 @@ +import { floor } from "./index"; +export = floor; diff --git a/jtg js/node_modules/@types/lodash/flow.d.ts b/jtg js/node_modules/@types/lodash/flow.d.ts new file mode 100644 index 0000000..37af0d4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flow.d.ts @@ -0,0 +1,2 @@ +import { flow } from "./index"; +export = flow; diff --git a/jtg js/node_modules/@types/lodash/flowRight.d.ts b/jtg js/node_modules/@types/lodash/flowRight.d.ts new file mode 100644 index 0000000..6c63f3e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/flowRight.d.ts @@ -0,0 +1,2 @@ +import { flowRight } from "./index"; +export = flowRight; diff --git a/jtg js/node_modules/@types/lodash/forEach.d.ts b/jtg js/node_modules/@types/lodash/forEach.d.ts new file mode 100644 index 0000000..8416aab --- /dev/null +++ b/jtg js/node_modules/@types/lodash/forEach.d.ts @@ -0,0 +1,2 @@ +import { forEach } from "./index"; +export = forEach; diff --git a/jtg js/node_modules/@types/lodash/forEachRight.d.ts b/jtg js/node_modules/@types/lodash/forEachRight.d.ts new file mode 100644 index 0000000..af65b5c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/forEachRight.d.ts @@ -0,0 +1,2 @@ +import { forEachRight } from "./index"; +export = forEachRight; diff --git a/jtg js/node_modules/@types/lodash/forIn.d.ts b/jtg js/node_modules/@types/lodash/forIn.d.ts new file mode 100644 index 0000000..77d6f48 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/forIn.d.ts @@ -0,0 +1,2 @@ +import { forIn } from "./index"; +export = forIn; diff --git a/jtg js/node_modules/@types/lodash/forInRight.d.ts b/jtg js/node_modules/@types/lodash/forInRight.d.ts new file mode 100644 index 0000000..d732969 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/forInRight.d.ts @@ -0,0 +1,2 @@ +import { forInRight } from "./index"; +export = forInRight; diff --git a/jtg js/node_modules/@types/lodash/forOwn.d.ts b/jtg js/node_modules/@types/lodash/forOwn.d.ts new file mode 100644 index 0000000..dfa930f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/forOwn.d.ts @@ -0,0 +1,2 @@ +import { forOwn } from "./index"; +export = forOwn; diff --git a/jtg js/node_modules/@types/lodash/forOwnRight.d.ts b/jtg js/node_modules/@types/lodash/forOwnRight.d.ts new file mode 100644 index 0000000..fddde6a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/forOwnRight.d.ts @@ -0,0 +1,2 @@ +import { forOwnRight } from "./index"; +export = forOwnRight; diff --git a/jtg js/node_modules/@types/lodash/fp.d.ts b/jtg js/node_modules/@types/lodash/fp.d.ts new file mode 100644 index 0000000..c799bd7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp.d.ts @@ -0,0 +1,4765 @@ +// AUTO-GENERATED: do not modify this file directly. +// If you need to make changes, modify generate-fp.ts (if necessary), then open a terminal in types/lodash/scripts, and do: +// npm install && npm run generate + +import lodash = require("./index"); + +export = _; + +declare const _: _.LoDashFp; +declare namespace _ { + interface LodashAdd { + (augend: number): LodashAdd1x1; + (augend: lodash.__, addend: number): LodashAdd1x2; + (augend: number, addend: number): number; + } + type LodashAdd1x1 = (addend: number) => number; + type LodashAdd1x2 = (augend: number) => number; + interface LodashAfter { + <TFunc extends (...args: any[]) => any>(func: TFunc): LodashAfter1x1<TFunc>; + (func: lodash.__, n: number): LodashAfter1x2; + <TFunc extends (...args: any[]) => any>(func: TFunc, n: number): TFunc; + } + type LodashAfter1x1<TFunc> = (n: number) => TFunc; + type LodashAfter1x2 = <TFunc extends (...args: any[]) => any>(func: TFunc) => TFunc; + interface LodashEvery { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashEvery1x1<T>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashEvery1x2<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): boolean; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashEvery2x2<T>; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): boolean; + } + type LodashEvery1x1<T> = (collection: lodash.List<T> | object | null | undefined) => boolean; + type LodashEvery1x2<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => boolean; + type LodashEvery2x2<T> = (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>) => boolean; + type LodashOverEvery = <T>(predicates: lodash.Many<(...args: T[]) => boolean>) => (...args: T[]) => boolean; + type LodashConstant = <T>(value: T) => () => T; + interface LodashSome { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashSome1x1<T>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashSome1x2<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): boolean; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashSome2x2<T>; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): boolean; + } + type LodashSome1x1<T> = (collection: lodash.List<T> | object | null | undefined) => boolean; + type LodashSome1x2<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => boolean; + type LodashSome2x2<T> = (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>) => boolean; + type LodashOverSome = <T>(predicates: lodash.Many<(...args: T[]) => boolean>) => (...args: T[]) => boolean; + type LodashApply = <TResult>(func: (...args: any[]) => TResult) => (...args: any[]) => TResult; + interface LodashAry { + (n: number): LodashAry1x1; + (n: lodash.__, func: (...args: any[]) => any): LodashAry1x2; + (n: number, func: (...args: any[]) => any): (...args: any[]) => any; + } + type LodashAry1x1 = (func: (...args: any[]) => any) => (...args: any[]) => any; + type LodashAry1x2 = (n: number) => (...args: any[]) => any; + interface LodashAssign { + <TObject>(object: TObject): LodashAssign1x1<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashAssign1x2<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + type LodashAssign1x1<TObject> = <TSource>(source: TSource) => TObject & TSource; + type LodashAssign1x2<TSource> = <TObject>(object: TObject) => TObject & TSource; + interface LodashAssignAll { + <TObject, TSource>(object: [TObject, TSource]): TObject & TSource; + <TObject, TSource1, TSource2>(object: [TObject, TSource1, TSource2]): TObject & TSource1 & TSource2; + <TObject, TSource1, TSource2, TSource3>(object: [TObject, TSource1, TSource2, TSource3]): TObject & TSource1 & TSource2 & TSource3; + <TObject, TSource1, TSource2, TSource3, TSource4>(object: [TObject, TSource1, TSource2, TSource3, TSource4]): TObject & TSource1 & TSource2 & TSource3 & TSource4; + <TObject>(object: [TObject]): TObject; + (object: ReadonlyArray<any>): any; + } + interface LodashAssignAllWith { + (customizer: lodash.AssignCustomizer): LodashAssignAllWith1x1; + (customizer: lodash.__, args: ReadonlyArray<any>): LodashAssignAllWith1x2; + (customizer: lodash.AssignCustomizer, args: ReadonlyArray<any>): any; + } + type LodashAssignAllWith1x1 = (args: ReadonlyArray<any>) => any; + type LodashAssignAllWith1x2 = (customizer: lodash.AssignCustomizer) => any; + interface LodashAssignIn { + <TObject>(object: TObject): LodashAssignIn1x1<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashAssignIn1x2<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + type LodashAssignIn1x1<TObject> = <TSource>(source: TSource) => TObject & TSource; + type LodashAssignIn1x2<TSource> = <TObject>(object: TObject) => TObject & TSource; + interface LodashAssignInAll { + <TObject, TSource>(object: [TObject, TSource]): TObject & TSource; + <TObject, TSource1, TSource2>(object: [TObject, TSource1, TSource2]): TObject & TSource1 & TSource2; + <TObject, TSource1, TSource2, TSource3>(object: [TObject, TSource1, TSource2, TSource3]): TObject & TSource1 & TSource2 & TSource3; + <TObject, TSource1, TSource2, TSource3, TSource4>(object: [TObject, TSource1, TSource2, TSource3, TSource4]): TObject & TSource1 & TSource2 & TSource3 & TSource4; + <TObject>(object: [TObject]): TObject; + <TResult>(object: ReadonlyArray<any>): TResult; + } + interface LodashAssignInAllWith { + (customizer: lodash.AssignCustomizer): LodashAssignInAllWith1x1; + (customizer: lodash.__, args: ReadonlyArray<any>): LodashAssignInAllWith1x2; + (customizer: lodash.AssignCustomizer, args: ReadonlyArray<any>): any; + } + type LodashAssignInAllWith1x1 = (args: ReadonlyArray<any>) => any; + type LodashAssignInAllWith1x2 = (customizer: lodash.AssignCustomizer) => any; + interface LodashAssignInWith { + (customizer: lodash.AssignCustomizer): LodashAssignInWith1x1; + <TObject>(customizer: lodash.__, object: TObject): LodashAssignInWith1x2<TObject>; + <TObject>(customizer: lodash.AssignCustomizer, object: TObject): LodashAssignInWith1x3<TObject>; + <TSource>(customizer: lodash.__, object: lodash.__, source: TSource): LodashAssignInWith1x4<TSource>; + <TSource>(customizer: lodash.AssignCustomizer, object: lodash.__, source: TSource): LodashAssignInWith1x5<TSource>; + <TObject, TSource>(customizer: lodash.__, object: TObject, source: TSource): LodashAssignInWith1x6<TObject, TSource>; + <TObject, TSource>(customizer: lodash.AssignCustomizer, object: TObject, source: TSource): TObject & TSource; + } + interface LodashAssignInWith1x1 { + <TObject>(object: TObject): LodashAssignInWith1x3<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashAssignInWith1x5<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + interface LodashAssignInWith1x2<TObject> { + (customizer: lodash.AssignCustomizer): LodashAssignInWith1x3<TObject>; + <TSource>(customizer: lodash.__, source: TSource): LodashAssignInWith1x6<TObject, TSource>; + <TSource>(customizer: lodash.AssignCustomizer, source: TSource): TObject & TSource; + } + type LodashAssignInWith1x3<TObject> = <TSource>(source: TSource) => TObject & TSource; + interface LodashAssignInWith1x4<TSource> { + (customizer: lodash.AssignCustomizer): LodashAssignInWith1x5<TSource>; + <TObject>(customizer: lodash.__, object: TObject): LodashAssignInWith1x6<TObject, TSource>; + <TObject>(customizer: lodash.AssignCustomizer, object: TObject): TObject & TSource; + } + type LodashAssignInWith1x5<TSource> = <TObject>(object: TObject) => TObject & TSource; + type LodashAssignInWith1x6<TObject, TSource> = (customizer: lodash.AssignCustomizer) => TObject & TSource; + interface LodashAssignWith { + (customizer: lodash.AssignCustomizer): LodashAssignWith1x1; + <TObject>(customizer: lodash.__, object: TObject): LodashAssignWith1x2<TObject>; + <TObject>(customizer: lodash.AssignCustomizer, object: TObject): LodashAssignWith1x3<TObject>; + <TSource>(customizer: lodash.__, object: lodash.__, source: TSource): LodashAssignWith1x4<TSource>; + <TSource>(customizer: lodash.AssignCustomizer, object: lodash.__, source: TSource): LodashAssignWith1x5<TSource>; + <TObject, TSource>(customizer: lodash.__, object: TObject, source: TSource): LodashAssignWith1x6<TObject, TSource>; + <TObject, TSource>(customizer: lodash.AssignCustomizer, object: TObject, source: TSource): TObject & TSource; + } + interface LodashAssignWith1x1 { + <TObject>(object: TObject): LodashAssignWith1x3<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashAssignWith1x5<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + interface LodashAssignWith1x2<TObject> { + (customizer: lodash.AssignCustomizer): LodashAssignWith1x3<TObject>; + <TSource>(customizer: lodash.__, source: TSource): LodashAssignWith1x6<TObject, TSource>; + <TSource>(customizer: lodash.AssignCustomizer, source: TSource): TObject & TSource; + } + type LodashAssignWith1x3<TObject> = <TSource>(source: TSource) => TObject & TSource; + interface LodashAssignWith1x4<TSource> { + (customizer: lodash.AssignCustomizer): LodashAssignWith1x5<TSource>; + <TObject>(customizer: lodash.__, object: TObject): LodashAssignWith1x6<TObject, TSource>; + <TObject>(customizer: lodash.AssignCustomizer, object: TObject): TObject & TSource; + } + type LodashAssignWith1x5<TSource> = <TObject>(object: TObject) => TObject & TSource; + type LodashAssignWith1x6<TObject, TSource> = (customizer: lodash.AssignCustomizer) => TObject & TSource; + interface LodashSet { + (path: lodash.PropertyPath): LodashSet1x1; + (path: lodash.__, value: any): LodashSet1x2; + (path: lodash.PropertyPath, value: any): LodashSet1x3; + <T extends object>(path: lodash.__, value: lodash.__, object: T): LodashSet1x4<T>; + <T extends object>(path: lodash.PropertyPath, value: lodash.__, object: T): LodashSet1x5<T>; + <T extends object>(path: lodash.__, value: any, object: T): LodashSet1x6<T>; + <T extends object>(path: lodash.PropertyPath, value: any, object: T): T; + (path: lodash.__, value: lodash.__, object: object): LodashSet2x4; + (path: lodash.PropertyPath, value: lodash.__, object: object): LodashSet2x5; + (path: lodash.__, value: any, object: object): LodashSet2x6; + <TResult>(path: lodash.PropertyPath, value: any, object: object): TResult; + } + interface LodashSet1x1 { + (value: any): LodashSet1x3; + <T extends object>(value: lodash.__, object: T): LodashSet1x5<T>; + <T extends object>(value: any, object: T): T; + (value: lodash.__, object: object): LodashSet2x5; + <TResult>(value: any, object: object): TResult; + } + interface LodashSet1x2 { + (path: lodash.PropertyPath): LodashSet1x3; + <T extends object>(path: lodash.__, object: T): LodashSet1x6<T>; + <T extends object>(path: lodash.PropertyPath, object: T): T; + (path: lodash.__, object: object): LodashSet2x6; + <TResult>(path: lodash.PropertyPath, object: object): TResult; + } + interface LodashSet1x3 { + <T extends object>(object: T): T; + <TResult>(object: object): TResult; + } + interface LodashSet1x4<T> { + (path: lodash.PropertyPath): LodashSet1x5<T>; + (path: lodash.__, value: any): LodashSet1x6<T>; + (path: lodash.PropertyPath, value: any): T; + } + type LodashSet1x5<T> = (value: any) => T; + type LodashSet1x6<T> = (path: lodash.PropertyPath) => T; + interface LodashSet2x4 { + (path: lodash.PropertyPath): LodashSet2x5; + (path: lodash.__, value: any): LodashSet2x6; + <TResult>(path: lodash.PropertyPath, value: any): TResult; + } + type LodashSet2x5 = <TResult>(value: any) => TResult; + type LodashSet2x6 = <TResult>(path: lodash.PropertyPath) => TResult; + interface LodashAt { + (props: lodash.PropertyPath): LodashAt1x1; + <T>(props: lodash.__, object: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashAt1x2<T>; + <T>(props: lodash.PropertyPath, object: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): T[]; + <T extends object>(props: lodash.Many<keyof T>): LodashAt2x1<T>; + <T extends object>(props: lodash.__, object: T | null | undefined): LodashAt2x2<T>; + <T extends object>(props: lodash.Many<keyof T>, object: T | null | undefined): Array<T[keyof T]>; + } + type LodashAt1x1 = <T>(object: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => T[]; + type LodashAt1x2<T> = (props: lodash.PropertyPath) => T[]; + type LodashAt2x1<T> = (object: T | null | undefined) => Array<T[keyof T]>; + type LodashAt2x2<T> = (props: lodash.Many<keyof T>) => Array<T[keyof T]>; + type LodashAttempt = <TResult>(func: (...args: any[]) => TResult) => TResult|Error; + interface LodashBefore { + <TFunc extends (...args: any[]) => any>(func: TFunc): LodashBefore1x1<TFunc>; + (func: lodash.__, n: number): LodashBefore1x2; + <TFunc extends (...args: any[]) => any>(func: TFunc, n: number): TFunc; + } + type LodashBefore1x1<TFunc> = (n: number) => TFunc; + type LodashBefore1x2 = <TFunc extends (...args: any[]) => any>(func: TFunc) => TFunc; + interface LodashBind { + (func: (...args: any[]) => any): LodashBind1x1; + (func: lodash.__, thisArg: any): LodashBind1x2; + (func: (...args: any[]) => any, thisArg: any): (...args: any[]) => any; + placeholder: lodash.__; + } + type LodashBind1x1 = (thisArg: any) => (...args: any[]) => any; + type LodashBind1x2 = (func: (...args: any[]) => any) => (...args: any[]) => any; + interface LodashBindAll { + (methodNames: lodash.Many<string>): LodashBindAll1x1; + <T>(methodNames: lodash.__, object: T): LodashBindAll1x2<T>; + <T>(methodNames: lodash.Many<string>, object: T): T; + } + type LodashBindAll1x1 = <T>(object: T) => T; + type LodashBindAll1x2<T> = (methodNames: lodash.Many<string>) => T; + interface LodashBindKey { + (object: object): LodashBindKey1x1; + (object: lodash.__, key: string): LodashBindKey1x2; + (object: object, key: string): (...args: any[]) => any; + placeholder: lodash.__; + } + type LodashBindKey1x1 = (key: string) => (...args: any[]) => any; + type LodashBindKey1x2 = (object: object) => (...args: any[]) => any; + type LodashCamelCase = (string: string) => string; + type LodashCapitalize = (string: string) => string; + type LodashCastArray = <T>(value: lodash.Many<T>) => T[]; + type LodashCeil = (n: number) => number; + interface LodashChunk { + (size: number): LodashChunk1x1; + <T>(size: lodash.__, array: lodash.List<T> | null | undefined): LodashChunk1x2<T>; + <T>(size: number, array: lodash.List<T> | null | undefined): T[][]; + } + type LodashChunk1x1 = <T>(array: lodash.List<T> | null | undefined) => T[][]; + type LodashChunk1x2<T> = (size: number) => T[][]; + interface LodashClamp { + (lower: number): LodashClamp1x1; + (lower: lodash.__, upper: number): LodashClamp1x2; + (lower: number, upper: number): LodashClamp1x3; + (lower: lodash.__, upper: lodash.__, number: number): LodashClamp1x4; + (lower: number, upper: lodash.__, number: number): LodashClamp1x5; + (lower: lodash.__, upper: number, number: number): LodashClamp1x6; + (lower: number, upper: number, number: number): number; + } + interface LodashClamp1x1 { + (upper: number): LodashClamp1x3; + (upper: lodash.__, number: number): LodashClamp1x5; + (upper: number, number: number): number; + } + interface LodashClamp1x2 { + (lower: number): LodashClamp1x3; + (lower: lodash.__, number: number): LodashClamp1x6; + (lower: number, number: number): number; + } + type LodashClamp1x3 = (number: number) => number; + interface LodashClamp1x4 { + (lower: number): LodashClamp1x5; + (lower: lodash.__, upper: number): LodashClamp1x6; + (lower: number, upper: number): number; + } + type LodashClamp1x5 = (upper: number) => number; + type LodashClamp1x6 = (lower: number) => number; + type LodashClone = <T>(value: T) => T; + type LodashCloneDeep = <T>(value: T) => T; + interface LodashCloneDeepWith { + <T>(customizer: lodash.CloneDeepWithCustomizer<T>): LodashCloneDeepWith1x1<T>; + <T>(customizer: lodash.__, value: T): LodashCloneDeepWith1x2<T>; + <T>(customizer: lodash.CloneDeepWithCustomizer<T>, value: T): any; + } + type LodashCloneDeepWith1x1<T> = (value: T) => any; + type LodashCloneDeepWith1x2<T> = (customizer: lodash.CloneDeepWithCustomizer<T>) => any; + interface LodashCloneWith { + <T, TResult extends object | string | number | boolean | null>(customizer: lodash.CloneWithCustomizer<T, TResult>): LodashCloneWith1x1<T, TResult>; + <T>(customizer: lodash.__, value: T): LodashCloneWith1x2<T>; + <T, TResult extends object | string | number | boolean | null>(customizer: lodash.CloneWithCustomizer<T, TResult>, value: T): TResult; + <T, TResult>(customizer: lodash.CloneWithCustomizer<T, TResult | undefined>): LodashCloneWith2x1<T, TResult>; + <T, TResult>(customizer: lodash.CloneWithCustomizer<T, TResult | undefined>, value: T): TResult | T; + } + type LodashCloneWith1x1<T, TResult> = (value: T) => TResult; + interface LodashCloneWith1x2<T> { + <TResult extends object | string | number | boolean | null>(customizer: lodash.CloneWithCustomizer<T, TResult>): TResult; + <TResult>(customizer: lodash.CloneWithCustomizer<T, TResult | undefined>): TResult | T; + } + type LodashCloneWith2x1<T, TResult> = (value: T) => TResult | T; + type LodashCompact = <T>(array: lodash.List<T | null | undefined | false | "" | 0> | null | undefined) => T[]; + type LodashNegate = <T extends (...args: any[]) => any>(predicate: T) => T; + interface LodashFlowRight { + <R2, R1>(f2: (a: R1) => R2, f1: () => R1): () => R2; + <R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R3; + <R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R4; + <R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R5; + <R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R6; + <R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: () => R1): () => R7; + <A1, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R2; + <A1, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R3; + <A1, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R4; + <A1, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R5; + <A1, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R6; + <A1, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1) => R1): (a1: A1) => R7; + <A1, A2, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R2; + <A1, A2, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R3; + <A1, A2, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R4; + <A1, A2, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R5; + <A1, A2, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R6; + <A1, A2, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2) => R1): (a1: A1, a2: A2) => R7; + <A1, A2, A3, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R2; + <A1, A2, A3, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R3; + <A1, A2, A3, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R4; + <A1, A2, A3, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R5; + <A1, A2, A3, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R6; + <A1, A2, A3, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3) => R1): (a1: A1, a2: A2, a3: A3) => R7; + <A1, A2, A3, A4, R2, R1>(f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; + <A1, A2, A3, A4, R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; + <A1, A2, A3, A4, R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; + <A1, A2, A3, A4, R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; + <A1, A2, A3, A4, R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; + <A1, A2, A3, A4, R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; + <R2, R1>(f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R2; + <R3, R2, R1>(f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R3; + <R4, R3, R2, R1>(f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R4; + <R5, R4, R3, R2, R1>(f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R5; + <R6, R5, R4, R3, R2, R1>(f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R6; + <R7, R6, R5, R4, R3, R2, R1>(f7: (a: R6) => R7, f6: (a: R5) => R6, f5: (a: R4) => R5, f4: (a: R3) => R4, f3: (a: R2) => R3, f2: (a: R1) => R2, f1: (...args: any[]) => R1): (...args: any[]) => R7; + (f7: (a: any) => any, f6: (a: any) => any, f5: (a: any) => any, f4: (a: any) => any, f3: (a: any) => any, f2: (a: any) => any, f1: () => any, ...funcs: Array<lodash.Many<(...args: any[]) => any>>): (...args: any[]) => any; + (funcs: Array<lodash.Many<(...args: any[]) => any>>): (...args: any[]) => any; + } + interface LodashConcat { + <T>(array: lodash.Many<T>): LodashConcat1x1<T>; + <T>(array: lodash.__, values: lodash.Many<T>): LodashConcat1x2<T>; + <T>(array: lodash.Many<T>, values: lodash.Many<T>): T[]; + } + type LodashConcat1x1<T> = (values: lodash.Many<T>) => T[]; + type LodashConcat1x2<T> = (array: lodash.Many<T>) => T[]; + type LodashCond = <T, R>(pairs: Array<lodash.CondPair<T, R>>) => (Target: T) => R; + interface LodashConformsTo { + <T>(source: lodash.ConformsPredicateObject<T>): LodashConformsTo1x1<T>; + <T>(source: lodash.__, object: T): LodashConformsTo1x2<T>; + <T>(source: lodash.ConformsPredicateObject<T>, object: T): boolean; + } + type LodashConformsTo1x1<T> = (object: T) => boolean; + type LodashConformsTo1x2<T> = (source: lodash.ConformsPredicateObject<T>) => boolean; + interface LodashContains { + <T>(target: T): LodashContains1x1<T>; + <T>(target: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashContains1x2<T>; + <T>(target: T, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): boolean; + } + type LodashContains1x1<T> = (collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => boolean; + type LodashContains1x2<T> = (target: T) => boolean; + interface LodashCountBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashCountBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashCountBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): lodash.Dictionary<number>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashCountBy2x2<T>; + <T extends object>(iteratee: lodash.ValueIteratee<T[keyof T]>, collection: T | null | undefined): lodash.Dictionary<number>; + } + type LodashCountBy1x1<T> = (collection: lodash.List<T> | object | null | undefined) => lodash.Dictionary<number>; + type LodashCountBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => lodash.Dictionary<number>; + type LodashCountBy2x2<T> = (iteratee: lodash.ValueIteratee<T[keyof T]>) => lodash.Dictionary<number>; + type LodashCreate = <T extends object, U extends object>(prototype: T) => T & U; + interface LodashCurry { + <T1, R>(func: (t1: T1) => R): lodash.CurriedFunction1<T1, R>; + <T1, T2, R>(func: (t1: T1, t2: T2) => R): lodash.CurriedFunction2<T1, T2, R>; + <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R): lodash.CurriedFunction3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): lodash.CurriedFunction4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): lodash.CurriedFunction5<T1, T2, T3, T4, T5, R>; + (func: (...args: any[]) => any): (...args: any[]) => any; + placeholder: lodash.__; + } + interface LodashCurryN { + (arity: number): LodashCurryN1x1; + <T1, R>(arity: lodash.__, func: (t1: T1) => R): LodashCurryN1x2<T1, R>; + <T1, R>(arity: number, func: (t1: T1) => R): lodash.CurriedFunction1<T1, R>; + <T1, T2, R>(arity: lodash.__, func: (t1: T1, t2: T2) => R): LodashCurryN2x2<T1, T2, R>; + <T1, T2, R>(arity: number, func: (t1: T1, t2: T2) => R): lodash.CurriedFunction2<T1, T2, R>; + <T1, T2, T3, R>(arity: lodash.__, func: (t1: T1, t2: T2, t3: T3) => R): LodashCurryN3x2<T1, T2, T3, R>; + <T1, T2, T3, R>(arity: number, func: (t1: T1, t2: T2, t3: T3) => R): lodash.CurriedFunction3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(arity: lodash.__, func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): LodashCurryN4x2<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, R>(arity: number, func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): lodash.CurriedFunction4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, T5, R>(arity: lodash.__, func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): LodashCurryN5x2<T1, T2, T3, T4, T5, R>; + <T1, T2, T3, T4, T5, R>(arity: number, func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): lodash.CurriedFunction5<T1, T2, T3, T4, T5, R>; + (arity: lodash.__, func: (...args: any[]) => any): LodashCurryN6x2; + (arity: number, func: (...args: any[]) => any): (...args: any[]) => any; + placeholder: lodash.__; + } + interface LodashCurryN1x1 { + <T1, R>(func: (t1: T1) => R): lodash.CurriedFunction1<T1, R>; + <T1, T2, R>(func: (t1: T1, t2: T2) => R): lodash.CurriedFunction2<T1, T2, R>; + <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R): lodash.CurriedFunction3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): lodash.CurriedFunction4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): lodash.CurriedFunction5<T1, T2, T3, T4, T5, R>; + (func: (...args: any[]) => any): (...args: any[]) => any; + } + type LodashCurryN1x2<T1, R> = (arity: number) => lodash.CurriedFunction1<T1, R>; + type LodashCurryN2x2<T1, T2, R> = (arity: number) => lodash.CurriedFunction2<T1, T2, R>; + type LodashCurryN3x2<T1, T2, T3, R> = (arity: number) => lodash.CurriedFunction3<T1, T2, T3, R>; + type LodashCurryN4x2<T1, T2, T3, T4, R> = (arity: number) => lodash.CurriedFunction4<T1, T2, T3, T4, R>; + type LodashCurryN5x2<T1, T2, T3, T4, T5, R> = (arity: number) => lodash.CurriedFunction5<T1, T2, T3, T4, T5, R>; + type LodashCurryN6x2 = (arity: number) => (...args: any[]) => any; + interface LodashCurryRight { + <T1, R>(func: (t1: T1) => R): lodash.RightCurriedFunction1<T1, R>; + <T1, T2, R>(func: (t1: T1, t2: T2) => R): lodash.RightCurriedFunction2<T1, T2, R>; + <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R): lodash.RightCurriedFunction3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): lodash.RightCurriedFunction4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): lodash.RightCurriedFunction5<T1, T2, T3, T4, T5, R>; + (func: (...args: any[]) => any): (...args: any[]) => any; + placeholder: lodash.__; + } + interface LodashCurryRightN { + (arity: number): LodashCurryRightN1x1; + <T1, R>(arity: lodash.__, func: (t1: T1) => R): LodashCurryRightN1x2<T1, R>; + <T1, R>(arity: number, func: (t1: T1) => R): lodash.RightCurriedFunction1<T1, R>; + <T1, T2, R>(arity: lodash.__, func: (t1: T1, t2: T2) => R): LodashCurryRightN2x2<T1, T2, R>; + <T1, T2, R>(arity: number, func: (t1: T1, t2: T2) => R): lodash.RightCurriedFunction2<T1, T2, R>; + <T1, T2, T3, R>(arity: lodash.__, func: (t1: T1, t2: T2, t3: T3) => R): LodashCurryRightN3x2<T1, T2, T3, R>; + <T1, T2, T3, R>(arity: number, func: (t1: T1, t2: T2, t3: T3) => R): lodash.RightCurriedFunction3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(arity: lodash.__, func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): LodashCurryRightN4x2<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, R>(arity: number, func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): lodash.RightCurriedFunction4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, T5, R>(arity: lodash.__, func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): LodashCurryRightN5x2<T1, T2, T3, T4, T5, R>; + <T1, T2, T3, T4, T5, R>(arity: number, func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): lodash.RightCurriedFunction5<T1, T2, T3, T4, T5, R>; + (arity: lodash.__, func: (...args: any[]) => any): LodashCurryRightN6x2; + (arity: number, func: (...args: any[]) => any): (...args: any[]) => any; + placeholder: lodash.__; + } + interface LodashCurryRightN1x1 { + <T1, R>(func: (t1: T1) => R): lodash.RightCurriedFunction1<T1, R>; + <T1, T2, R>(func: (t1: T1, t2: T2) => R): lodash.RightCurriedFunction2<T1, T2, R>; + <T1, T2, T3, R>(func: (t1: T1, t2: T2, t3: T3) => R): lodash.RightCurriedFunction3<T1, T2, T3, R>; + <T1, T2, T3, T4, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4) => R): lodash.RightCurriedFunction4<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, T5, R>(func: (t1: T1, t2: T2, t3: T3, t4: T4, t5: T5) => R): lodash.RightCurriedFunction5<T1, T2, T3, T4, T5, R>; + (func: (...args: any[]) => any): (...args: any[]) => any; + } + type LodashCurryRightN1x2<T1, R> = (arity: number) => lodash.RightCurriedFunction1<T1, R>; + type LodashCurryRightN2x2<T1, T2, R> = (arity: number) => lodash.RightCurriedFunction2<T1, T2, R>; + type LodashCurryRightN3x2<T1, T2, T3, R> = (arity: number) => lodash.RightCurriedFunction3<T1, T2, T3, R>; + type LodashCurryRightN4x2<T1, T2, T3, T4, R> = (arity: number) => lodash.RightCurriedFunction4<T1, T2, T3, T4, R>; + type LodashCurryRightN5x2<T1, T2, T3, T4, T5, R> = (arity: number) => lodash.RightCurriedFunction5<T1, T2, T3, T4, T5, R>; + type LodashCurryRightN6x2 = (arity: number) => (...args: any[]) => any; + interface LodashDebounce { + (wait: number): LodashDebounce1x1; + <T extends (...args: any[]) => any>(wait: lodash.__, func: T): LodashDebounce1x2<T>; + <T extends (...args: any[]) => any>(wait: number, func: T): T & lodash.Cancelable; + } + type LodashDebounce1x1 = <T extends (...args: any[]) => any>(func: T) => T & lodash.Cancelable; + type LodashDebounce1x2<T> = (wait: number) => T & lodash.Cancelable; + type LodashDeburr = (string: string) => string; + interface LodashDefaults { + <TSource>(source: TSource): LodashDefaults1x1<TSource>; + <TObject>(source: lodash.__, object: TObject): LodashDefaults1x2<TObject>; + <TObject, TSource>(source: TSource, object: TObject): TSource & TObject; + } + type LodashDefaults1x1<TSource> = <TObject>(object: TObject) => TSource & TObject; + type LodashDefaults1x2<TObject> = <TSource>(source: TSource) => TSource & TObject; + interface LodashDefaultsAll { + <TObject, TSource>(object: [TObject, TSource]): TSource & TObject; + <TObject, TSource1, TSource2>(object: [TObject, TSource1, TSource2]): TSource2 & TSource1 & TObject; + <TObject, TSource1, TSource2, TSource3>(object: [TObject, TSource1, TSource2, TSource3]): TSource3 & TSource2 & TSource1 & TObject; + <TObject, TSource1, TSource2, TSource3, TSource4>(object: [TObject, TSource1, TSource2, TSource3, TSource4]): TSource4 & TSource3 & TSource2 & TSource1 & TObject; + <TObject>(object: [TObject]): TObject; + (object: ReadonlyArray<any>): any; + } + interface LodashDefaultsDeep { + (sources: any): LodashDefaultsDeep1x1; + (sources: lodash.__, object: any): LodashDefaultsDeep1x2; + (sources: any, object: any): any; + } + type LodashDefaultsDeep1x1 = (object: any) => any; + type LodashDefaultsDeep1x2 = (sources: any) => any; + type LodashDefaultsDeepAll = (object: ReadonlyArray<any>) => any; + interface LodashDefaultTo { + <T>(defaultValue: T): LodashDefaultTo1x1<T>; + <T>(defaultValue: lodash.__, value: T | null | undefined): LodashDefaultTo1x2<T>; + <T>(defaultValue: T, value: T | null | undefined): T; + <TDefault>(defaultValue: TDefault): LodashDefaultTo2x1<TDefault>; + <T, TDefault>(defaultValue: TDefault, value: T | null | undefined): T | TDefault; + } + type LodashDefaultTo1x1<T> = (value: T | null | undefined) => T; + interface LodashDefaultTo1x2<T> { + (defaultValue: T): T; + <TDefault>(defaultValue: TDefault): T | TDefault; + } + type LodashDefaultTo2x1<TDefault> = <T>(value: T | null | undefined) => T | TDefault; + type LodashDefer = (func: (...args: any[]) => any, ...args: any[]) => number; + interface LodashDelay { + (wait: number): LodashDelay1x1; + (wait: lodash.__, func: (...args: any[]) => any): LodashDelay1x2; + (wait: number, func: (...args: any[]) => any): number; + } + type LodashDelay1x1 = (func: (...args: any[]) => any) => number; + type LodashDelay1x2 = (wait: number) => number; + interface LodashDifference { + <T>(array: lodash.List<T> | null | undefined): LodashDifference1x1<T>; + <T>(array: lodash.__, values: lodash.List<T>): LodashDifference1x2<T>; + <T>(array: lodash.List<T> | null | undefined, values: lodash.List<T>): T[]; + } + type LodashDifference1x1<T> = (values: lodash.List<T>) => T[]; + type LodashDifference1x2<T> = (array: lodash.List<T> | null | undefined) => T[]; + interface LodashDifferenceBy { + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashDifferenceBy1x1<T1, T2>; + <T1>(iteratee: lodash.__, array: lodash.List<T1> | null | undefined): LodashDifferenceBy1x2<T1>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1> | null | undefined): LodashDifferenceBy1x3<T1, T2>; + <T2>(iteratee: lodash.__, array: lodash.__, values: lodash.List<T2>): LodashDifferenceBy1x4<T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.__, values: lodash.List<T2>): LodashDifferenceBy1x5<T1>; + <T1, T2>(iteratee: lodash.__, array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): LodashDifferenceBy1x6<T1, T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): T1[]; + } + interface LodashDifferenceBy1x1<T1, T2> { + (array: lodash.List<T1> | null | undefined): LodashDifferenceBy1x3<T1, T2>; + (array: lodash.__, values: lodash.List<T2>): LodashDifferenceBy1x5<T1>; + (array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): T1[]; + } + interface LodashDifferenceBy1x2<T1> { + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashDifferenceBy1x3<T1, T2>; + <T2>(iteratee: lodash.__, values: lodash.List<T2>): LodashDifferenceBy1x6<T1, T2>; + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>): T1[]; + } + type LodashDifferenceBy1x3<T1, T2> = (values: lodash.List<T2>) => T1[]; + interface LodashDifferenceBy1x4<T2> { + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashDifferenceBy1x5<T1>; + <T1>(iteratee: lodash.__, array: lodash.List<T1> | null | undefined): LodashDifferenceBy1x6<T1, T2>; + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1> | null | undefined): T1[]; + } + type LodashDifferenceBy1x5<T1> = (array: lodash.List<T1> | null | undefined) => T1[]; + type LodashDifferenceBy1x6<T1, T2> = (iteratee: lodash.ValueIteratee<T1 | T2>) => T1[]; + interface LodashDifferenceWith { + <T1, T2>(comparator: lodash.Comparator2<T1, T2>): LodashDifferenceWith1x1<T1, T2>; + <T1>(comparator: lodash.__, array: lodash.List<T1> | null | undefined): LodashDifferenceWith1x2<T1>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1> | null | undefined): LodashDifferenceWith1x3<T1, T2>; + <T2>(comparator: lodash.__, array: lodash.__, values: lodash.List<T2>): LodashDifferenceWith1x4<T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, array: lodash.__, values: lodash.List<T2>): LodashDifferenceWith1x5<T1>; + <T1, T2>(comparator: lodash.__, array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): LodashDifferenceWith1x6<T1, T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): T1[]; + } + interface LodashDifferenceWith1x1<T1, T2> { + (array: lodash.List<T1> | null | undefined): LodashDifferenceWith1x3<T1, T2>; + (array: lodash.__, values: lodash.List<T2>): LodashDifferenceWith1x5<T1>; + (array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): T1[]; + } + interface LodashDifferenceWith1x2<T1> { + <T2>(comparator: lodash.Comparator2<T1, T2>): LodashDifferenceWith1x3<T1, T2>; + <T2>(comparator: lodash.__, values: lodash.List<T2>): LodashDifferenceWith1x6<T1, T2>; + <T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>): T1[]; + } + type LodashDifferenceWith1x3<T1, T2> = (values: lodash.List<T2>) => T1[]; + interface LodashDifferenceWith1x4<T2> { + <T1>(comparator: lodash.Comparator2<T1, T2>): LodashDifferenceWith1x5<T1>; + <T1>(comparator: lodash.__, array: lodash.List<T1> | null | undefined): LodashDifferenceWith1x6<T1, T2>; + <T1>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1> | null | undefined): T1[]; + } + type LodashDifferenceWith1x5<T1> = (array: lodash.List<T1> | null | undefined) => T1[]; + type LodashDifferenceWith1x6<T1, T2> = (comparator: lodash.Comparator2<T1, T2>) => T1[]; + interface LodashUnset { + (path: lodash.PropertyPath): LodashUnset1x1; + <T>(path: lodash.__, object: T): LodashUnset1x2<T>; + <T>(path: lodash.PropertyPath, object: T): T; + } + type LodashUnset1x1 = <T>(object: T) => T; + type LodashUnset1x2<T> = (path: lodash.PropertyPath) => T; + interface LodashDivide { + (dividend: number): LodashDivide1x1; + (dividend: lodash.__, divisor: number): LodashDivide1x2; + (dividend: number, divisor: number): number; + } + type LodashDivide1x1 = (divisor: number) => number; + type LodashDivide1x2 = (dividend: number) => number; + interface LodashDrop { + (n: number): LodashDrop1x1; + <T>(n: lodash.__, array: lodash.List<T> | null | undefined): LodashDrop1x2<T>; + <T>(n: number, array: lodash.List<T> | null | undefined): T[]; + } + type LodashDrop1x1 = <T>(array: lodash.List<T> | null | undefined) => T[]; + type LodashDrop1x2<T> = (n: number) => T[]; + interface LodashDropRight { + (n: number): LodashDropRight1x1; + <T>(n: lodash.__, array: lodash.List<T> | null | undefined): LodashDropRight1x2<T>; + <T>(n: number, array: lodash.List<T> | null | undefined): T[]; + } + type LodashDropRight1x1 = <T>(array: lodash.List<T> | null | undefined) => T[]; + type LodashDropRight1x2<T> = (n: number) => T[]; + interface LodashDropRightWhile { + <T>(predicate: lodash.ValueIteratee<T>): LodashDropRightWhile1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashDropRightWhile1x2<T>; + <T>(predicate: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashDropRightWhile1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashDropRightWhile1x2<T> = (predicate: lodash.ValueIteratee<T>) => T[]; + interface LodashDropWhile { + <T>(predicate: lodash.ValueIteratee<T>): LodashDropWhile1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashDropWhile1x2<T>; + <T>(predicate: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashDropWhile1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashDropWhile1x2<T> = (predicate: lodash.ValueIteratee<T>) => T[]; + interface LodashForEach { + <T>(iteratee: (value: T) => any): LodashForEach1x1<T>; + <T>(iteratee: lodash.__, collection: ReadonlyArray<T>): LodashForEach1x2<T>; + <T>(iteratee: (value: T) => any, collection: ReadonlyArray<T>): T[]; + (iteratee: (value: string) => any): LodashForEach2x1; + (iteratee: lodash.__, collection: string): LodashForEach2x2; + (iteratee: (value: string) => any, collection: string): string; + <T>(iteratee: lodash.__, collection: lodash.List<T>): LodashForEach3x2<T>; + <T>(iteratee: (value: T) => any, collection: lodash.List<T>): lodash.List<T>; + <T extends object>(iteratee: lodash.__, collection: T): LodashForEach4x2<T>; + <T extends object>(iteratee: (value: T[keyof T]) => any, collection: T): T; + <T, TArray extends T[] | null | undefined>(iteratee: lodash.__, collection: TArray & (T[] | null | undefined)): LodashForEach5x2<T, TArray>; + <T, TArray extends T[] | null | undefined>(iteratee: (value: T) => any, collection: TArray & (T[] | null | undefined)): TArray; + <TString extends string | null | undefined>(iteratee: lodash.__, collection: TString): LodashForEach6x2<TString>; + <TString extends string | null | undefined>(iteratee: (value: string) => any, collection: TString): TString; + <T, TList extends lodash.List<T> | null | undefined>(iteratee: lodash.__, collection: TList & (lodash.List<T> | null | undefined)): LodashForEach7x2<T, TList>; + <T, TList extends lodash.List<T> | null | undefined>(iteratee: (value: T) => any, collection: TList & (lodash.List<T> | null | undefined)): TList; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashForEach8x2<T>; + <T extends object>(iteratee: (value: T[keyof T]) => any, collection: T | null | undefined): T | null | undefined; + } + interface LodashForEach1x1<T> { + (collection: ReadonlyArray<T>): T[]; + (collection: lodash.List<T>): lodash.List<T>; + <T1 extends object>(collection: T1): T1; + <TArray extends T[] | null | undefined>(collection: TArray & (T[] | null | undefined)): TArray; + <TList extends lodash.List<T> | null | undefined>(collection: TList & (lodash.List<T> | null | undefined)): TList; + <T1 extends object>(collection: T1 | null | undefined): T1 | null | undefined; + } + type LodashForEach1x2<T> = (iteratee: (value: T) => any) => T[]; + interface LodashForEach2x1 { + (collection: string): string; + <TString extends string | null | undefined>(collection: TString): TString; + } + type LodashForEach2x2 = (iteratee: (value: string) => any) => string; + type LodashForEach3x2<T> = (iteratee: (value: T) => any) => lodash.List<T>; + type LodashForEach4x2<T> = (iteratee: (value: T[keyof T]) => any) => T; + type LodashForEach5x2<T, TArray> = (iteratee: (value: T) => any) => TArray; + type LodashForEach6x2<TString> = (iteratee: (value: string) => any) => TString; + type LodashForEach7x2<T, TList> = (iteratee: (value: T) => any) => TList; + type LodashForEach8x2<T> = (iteratee: (value: T[keyof T]) => any) => T | null | undefined; + interface LodashForEachRight { + <T>(iteratee: (value: T) => any): LodashForEachRight1x1<T>; + <T>(iteratee: lodash.__, collection: ReadonlyArray<T>): LodashForEachRight1x2<T>; + <T>(iteratee: (value: T) => any, collection: ReadonlyArray<T>): T[]; + (iteratee: (value: string) => any): LodashForEachRight2x1; + (iteratee: lodash.__, collection: string): LodashForEachRight2x2; + (iteratee: (value: string) => any, collection: string): string; + <T>(iteratee: lodash.__, collection: lodash.List<T>): LodashForEachRight3x2<T>; + <T>(iteratee: (value: T) => any, collection: lodash.List<T>): lodash.List<T>; + <T extends object>(iteratee: lodash.__, collection: T): LodashForEachRight4x2<T>; + <T extends object>(iteratee: (value: T[keyof T]) => any, collection: T): T; + <T, TArray extends T[] | null | undefined>(iteratee: lodash.__, collection: TArray & (T[] | null | undefined)): LodashForEachRight5x2<T, TArray>; + <T, TArray extends T[] | null | undefined>(iteratee: (value: T) => any, collection: TArray & (T[] | null | undefined)): TArray; + <TString extends string | null | undefined>(iteratee: lodash.__, collection: TString): LodashForEachRight6x2<TString>; + <TString extends string | null | undefined>(iteratee: (value: string) => any, collection: TString): TString; + <T, TList extends lodash.List<T> | null | undefined>(iteratee: lodash.__, collection: TList & (lodash.List<T> | null | undefined)): LodashForEachRight7x2<T, TList>; + <T, TList extends lodash.List<T> | null | undefined>(iteratee: (value: T) => any, collection: TList & (lodash.List<T> | null | undefined)): TList; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashForEachRight8x2<T>; + <T extends object>(iteratee: (value: T[keyof T]) => any, collection: T | null | undefined): T | null | undefined; + } + interface LodashForEachRight1x1<T> { + (collection: ReadonlyArray<T>): T[]; + (collection: lodash.List<T>): lodash.List<T>; + <T1 extends object>(collection: T1): T1; + <TArray extends T[] | null | undefined>(collection: TArray & (T[] | null | undefined)): TArray; + <TList extends lodash.List<T> | null | undefined>(collection: TList & (lodash.List<T> | null | undefined)): TList; + <T1 extends object>(collection: T1 | null | undefined): T1 | null | undefined; + } + type LodashForEachRight1x2<T> = (iteratee: (value: T) => any) => T[]; + interface LodashForEachRight2x1 { + (collection: string): string; + <TString extends string | null | undefined>(collection: TString): TString; + } + type LodashForEachRight2x2 = (iteratee: (value: string) => any) => string; + type LodashForEachRight3x2<T> = (iteratee: (value: T) => any) => lodash.List<T>; + type LodashForEachRight4x2<T> = (iteratee: (value: T[keyof T]) => any) => T; + type LodashForEachRight5x2<T, TArray> = (iteratee: (value: T) => any) => TArray; + type LodashForEachRight6x2<TString> = (iteratee: (value: string) => any) => TString; + type LodashForEachRight7x2<T, TList> = (iteratee: (value: T) => any) => TList; + type LodashForEachRight8x2<T> = (iteratee: (value: T[keyof T]) => any) => T | null | undefined; + interface LodashEndsWith { + (target: string): LodashEndsWith1x1; + (target: lodash.__, string: string): LodashEndsWith1x2; + (target: string, string: string): boolean; + } + type LodashEndsWith1x1 = (string: string) => boolean; + type LodashEndsWith1x2 = (target: string) => boolean; + interface LodashToPairs { + <T>(object: lodash.Dictionary<T> | lodash.NumericDictionary<T>): Array<[string, T]>; + (object: object): Array<[string, any]>; + } + interface LodashToPairsIn { + <T>(object: lodash.Dictionary<T> | lodash.NumericDictionary<T>): Array<[string, T]>; + (object: object): Array<[string, any]>; + } + interface LodashEq { + (value: any): LodashEq1x1; + (value: lodash.__, other: any): LodashEq1x2; + (value: any, other: any): boolean; + } + type LodashEq1x1 = (other: any) => boolean; + type LodashEq1x2 = (value: any) => boolean; + interface LodashIsEqual { + (value: any): LodashIsEqual1x1; + (value: lodash.__, other: any): LodashIsEqual1x2; + (value: any, other: any): boolean; + } + type LodashIsEqual1x1 = (other: any) => boolean; + type LodashIsEqual1x2 = (value: any) => boolean; + type LodashEscape = (string: string) => string; + type LodashEscapeRegExp = (string: string) => string; + interface LodashExtend { + <TObject>(object: TObject): LodashExtend1x1<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashExtend1x2<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + type LodashExtend1x1<TObject> = <TSource>(source: TSource) => TObject & TSource; + type LodashExtend1x2<TSource> = <TObject>(object: TObject) => TObject & TSource; + interface LodashExtendAll { + <TObject, TSource>(object: [TObject, TSource]): TObject & TSource; + <TObject, TSource1, TSource2>(object: [TObject, TSource1, TSource2]): TObject & TSource1 & TSource2; + <TObject, TSource1, TSource2, TSource3>(object: [TObject, TSource1, TSource2, TSource3]): TObject & TSource1 & TSource2 & TSource3; + <TObject, TSource1, TSource2, TSource3, TSource4>(object: [TObject, TSource1, TSource2, TSource3, TSource4]): TObject & TSource1 & TSource2 & TSource3 & TSource4; + <TObject>(object: [TObject]): TObject; + <TResult>(object: ReadonlyArray<any>): TResult; + } + interface LodashExtendAllWith { + (customizer: lodash.AssignCustomizer): LodashExtendAllWith1x1; + (customizer: lodash.__, args: ReadonlyArray<any>): LodashExtendAllWith1x2; + (customizer: lodash.AssignCustomizer, args: ReadonlyArray<any>): any; + } + type LodashExtendAllWith1x1 = (args: ReadonlyArray<any>) => any; + type LodashExtendAllWith1x2 = (customizer: lodash.AssignCustomizer) => any; + interface LodashExtendWith { + (customizer: lodash.AssignCustomizer): LodashExtendWith1x1; + <TObject>(customizer: lodash.__, object: TObject): LodashExtendWith1x2<TObject>; + <TObject>(customizer: lodash.AssignCustomizer, object: TObject): LodashExtendWith1x3<TObject>; + <TSource>(customizer: lodash.__, object: lodash.__, source: TSource): LodashExtendWith1x4<TSource>; + <TSource>(customizer: lodash.AssignCustomizer, object: lodash.__, source: TSource): LodashExtendWith1x5<TSource>; + <TObject, TSource>(customizer: lodash.__, object: TObject, source: TSource): LodashExtendWith1x6<TObject, TSource>; + <TObject, TSource>(customizer: lodash.AssignCustomizer, object: TObject, source: TSource): TObject & TSource; + } + interface LodashExtendWith1x1 { + <TObject>(object: TObject): LodashExtendWith1x3<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashExtendWith1x5<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + interface LodashExtendWith1x2<TObject> { + (customizer: lodash.AssignCustomizer): LodashExtendWith1x3<TObject>; + <TSource>(customizer: lodash.__, source: TSource): LodashExtendWith1x6<TObject, TSource>; + <TSource>(customizer: lodash.AssignCustomizer, source: TSource): TObject & TSource; + } + type LodashExtendWith1x3<TObject> = <TSource>(source: TSource) => TObject & TSource; + interface LodashExtendWith1x4<TSource> { + (customizer: lodash.AssignCustomizer): LodashExtendWith1x5<TSource>; + <TObject>(customizer: lodash.__, object: TObject): LodashExtendWith1x6<TObject, TSource>; + <TObject>(customizer: lodash.AssignCustomizer, object: TObject): TObject & TSource; + } + type LodashExtendWith1x5<TSource> = <TObject>(object: TObject) => TObject & TSource; + type LodashExtendWith1x6<TObject, TSource> = (customizer: lodash.AssignCustomizer) => TObject & TSource; + type LodashStubFalse = () => false; + interface LodashFill { + (start: number): LodashFill1x1; + (start: lodash.__, end: number): LodashFill1x2; + (start: number, end: number): LodashFill1x3; + <T>(start: lodash.__, end: lodash.__, value: T): LodashFill1x4<T>; + <T>(start: number, end: lodash.__, value: T): LodashFill1x5<T>; + <T>(start: lodash.__, end: number, value: T): LodashFill1x6<T>; + <T>(start: number, end: number, value: T): LodashFill1x7<T>; + <U>(start: lodash.__, end: lodash.__, value: lodash.__, array: U[] | null | undefined): LodashFill1x8<U>; + <U>(start: number, end: lodash.__, value: lodash.__, array: U[] | null | undefined): LodashFill1x9<U>; + <U>(start: lodash.__, end: number, value: lodash.__, array: U[] | null | undefined): LodashFill1x10<U>; + <U>(start: number, end: number, value: lodash.__, array: U[] | null | undefined): LodashFill1x11<U>; + <T, U>(start: lodash.__, end: lodash.__, value: T, array: U[] | null | undefined): LodashFill1x12<T, U>; + <T, U>(start: number, end: lodash.__, value: T, array: U[] | null | undefined): LodashFill1x13<T, U>; + <T, U>(start: lodash.__, end: number, value: T, array: U[] | null | undefined): LodashFill1x14<T, U>; + <T, U>(start: number, end: number, value: T, array: U[] | null | undefined): Array<T | U>; + <U>(start: lodash.__, end: lodash.__, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x8<U>; + <U>(start: number, end: lodash.__, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x9<U>; + <U>(start: lodash.__, end: number, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x10<U>; + <U>(start: number, end: number, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x11<U>; + <T, U>(start: lodash.__, end: lodash.__, value: T, array: lodash.List<U> | null | undefined): LodashFill2x12<T, U>; + <T, U>(start: number, end: lodash.__, value: T, array: lodash.List<U> | null | undefined): LodashFill2x13<T, U>; + <T, U>(start: lodash.__, end: number, value: T, array: lodash.List<U> | null | undefined): LodashFill2x14<T, U>; + <T, U>(start: number, end: number, value: T, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x1 { + (end: number): LodashFill1x3; + <T>(end: lodash.__, value: T): LodashFill1x5<T>; + <T>(end: number, value: T): LodashFill1x7<T>; + <U>(end: lodash.__, value: lodash.__, array: U[] | null | undefined): LodashFill1x9<U>; + <U>(end: number, value: lodash.__, array: U[] | null | undefined): LodashFill1x11<U>; + <T, U>(end: lodash.__, value: T, array: U[] | null | undefined): LodashFill1x13<T, U>; + <T, U>(end: number, value: T, array: U[] | null | undefined): Array<T | U>; + <U>(end: lodash.__, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x9<U>; + <U>(end: number, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x11<U>; + <T, U>(end: lodash.__, value: T, array: lodash.List<U> | null | undefined): LodashFill2x13<T, U>; + <T, U>(end: number, value: T, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x2 { + (start: number): LodashFill1x3; + <T>(start: lodash.__, value: T): LodashFill1x6<T>; + <T>(start: number, value: T): LodashFill1x7<T>; + <U>(start: lodash.__, value: lodash.__, array: U[] | null | undefined): LodashFill1x10<U>; + <U>(start: number, value: lodash.__, array: U[] | null | undefined): LodashFill1x11<U>; + <T, U>(start: lodash.__, value: T, array: U[] | null | undefined): LodashFill1x14<T, U>; + <T, U>(start: number, value: T, array: U[] | null | undefined): Array<T | U>; + <U>(start: lodash.__, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x10<U>; + <U>(start: number, value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x11<U>; + <T, U>(start: lodash.__, value: T, array: lodash.List<U> | null | undefined): LodashFill2x14<T, U>; + <T, U>(start: number, value: T, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x3 { + <T>(value: T): LodashFill1x7<T>; + <U>(value: lodash.__, array: U[] | null | undefined): LodashFill1x11<U>; + <T, U>(value: T, array: U[] | null | undefined): Array<T | U>; + <U>(value: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x11<U>; + <T, U>(value: T, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x4<T> { + (start: number): LodashFill1x5<T>; + (start: lodash.__, end: number): LodashFill1x6<T>; + (start: number, end: number): LodashFill1x7<T>; + <U>(start: lodash.__, end: lodash.__, array: U[] | null | undefined): LodashFill1x12<T, U>; + <U>(start: number, end: lodash.__, array: U[] | null | undefined): LodashFill1x13<T, U>; + <U>(start: lodash.__, end: number, array: U[] | null | undefined): LodashFill1x14<T, U>; + <U>(start: number, end: number, array: U[] | null | undefined): Array<T | U>; + <U>(start: lodash.__, end: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x12<T, U>; + <U>(start: number, end: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x13<T, U>; + <U>(start: lodash.__, end: number, array: lodash.List<U> | null | undefined): LodashFill2x14<T, U>; + <U>(start: number, end: number, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x5<T> { + (end: number): LodashFill1x7<T>; + <U>(end: lodash.__, array: U[] | null | undefined): LodashFill1x13<T, U>; + <U>(end: number, array: U[] | null | undefined): Array<T | U>; + <U>(end: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x13<T, U>; + <U>(end: number, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x6<T> { + (start: number): LodashFill1x7<T>; + <U>(start: lodash.__, array: U[] | null | undefined): LodashFill1x14<T, U>; + <U>(start: number, array: U[] | null | undefined): Array<T | U>; + <U>(start: lodash.__, array: lodash.List<U> | null | undefined): LodashFill2x14<T, U>; + <U>(start: number, array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x7<T> { + <U>(array: U[] | null | undefined): Array<T | U>; + <U>(array: lodash.List<U> | null | undefined): lodash.List<T | U>; + } + interface LodashFill1x8<U> { + (start: number): LodashFill1x9<U>; + (start: lodash.__, end: number): LodashFill1x10<U>; + (start: number, end: number): LodashFill1x11<U>; + <T>(start: lodash.__, end: lodash.__, value: T): LodashFill1x12<T, U>; + <T>(start: number, end: lodash.__, value: T): LodashFill1x13<T, U>; + <T>(start: lodash.__, end: number, value: T): LodashFill1x14<T, U>; + <T>(start: number, end: number, value: T): Array<T | U>; + } + interface LodashFill1x9<U> { + (end: number): LodashFill1x11<U>; + <T>(end: lodash.__, value: T): LodashFill1x13<T, U>; + <T>(end: number, value: T): Array<T | U>; + } + interface LodashFill1x10<U> { + (start: number): LodashFill1x11<U>; + <T>(start: lodash.__, value: T): LodashFill1x14<T, U>; + <T>(start: number, value: T): Array<T | U>; + } + type LodashFill1x11<U> = <T>(value: T) => Array<T | U>; + interface LodashFill1x12<T, U> { + (start: number): LodashFill1x13<T, U>; + (start: lodash.__, end: number): LodashFill1x14<T, U>; + (start: number, end: number): Array<T | U>; + } + type LodashFill1x13<T, U> = (end: number) => Array<T | U>; + type LodashFill1x14<T, U> = (start: number) => Array<T | U>; + interface LodashFill2x8<U> { + (start: number): LodashFill2x9<U>; + (start: lodash.__, end: number): LodashFill2x10<U>; + (start: number, end: number): LodashFill2x11<U>; + <T>(start: lodash.__, end: lodash.__, value: T): LodashFill2x12<T, U>; + <T>(start: number, end: lodash.__, value: T): LodashFill2x13<T, U>; + <T>(start: lodash.__, end: number, value: T): LodashFill2x14<T, U>; + <T>(start: number, end: number, value: T): lodash.List<T | U>; + } + interface LodashFill2x9<U> { + (end: number): LodashFill2x11<U>; + <T>(end: lodash.__, value: T): LodashFill2x13<T, U>; + <T>(end: number, value: T): lodash.List<T | U>; + } + interface LodashFill2x10<U> { + (start: number): LodashFill2x11<U>; + <T>(start: lodash.__, value: T): LodashFill2x14<T, U>; + <T>(start: number, value: T): lodash.List<T | U>; + } + type LodashFill2x11<U> = <T>(value: T) => lodash.List<T | U>; + interface LodashFill2x12<T, U> { + (start: number): LodashFill2x13<T, U>; + (start: lodash.__, end: number): LodashFill2x14<T, U>; + (start: number, end: number): lodash.List<T | U>; + } + type LodashFill2x13<T, U> = (end: number) => lodash.List<T | U>; + type LodashFill2x14<T, U> = (start: number) => lodash.List<T | U>; + interface LodashFilter { + (predicate: (value: string) => boolean): LodashFilter1x1; + (predicate: lodash.__, collection: string | null | undefined): LodashFilter1x2; + (predicate: (value: string) => boolean, collection: string | null | undefined): string[]; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFilter2x1<T, S>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashFilter2x2<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, collection: lodash.List<T> | null | undefined): S[]; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFilter3x1<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): T[]; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFilter4x1<T, S>; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashFilter4x2<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, collection: T | null | undefined): S[]; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): Array<T[keyof T]>; + } + type LodashFilter1x1 = (collection: string | null | undefined) => string[]; + type LodashFilter1x2 = (predicate: (value: string) => boolean) => string[]; + type LodashFilter2x1<T, S> = (collection: lodash.List<T> | null | undefined) => S[]; + interface LodashFilter2x2<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): S[]; + (predicate: lodash.ValueIterateeCustom<T, boolean>): T[]; + } + type LodashFilter3x1<T> = (collection: lodash.List<T> | object | null | undefined) => T[]; + type LodashFilter4x1<T, S> = (collection: T | null | undefined) => S[]; + interface LodashFilter4x2<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): S[]; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): Array<T[keyof T]>; + } + interface LodashFind { + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFind1x1<T, S>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashFind1x2<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, collection: lodash.List<T> | null | undefined): S|undefined; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFind2x1<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): T|undefined; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFind3x1<T, S>; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashFind3x2<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, collection: T | null | undefined): S|undefined; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): T[keyof T]|undefined; + } + type LodashFind1x1<T, S> = (collection: lodash.List<T> | null | undefined) => S|undefined; + interface LodashFind1x2<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T, boolean>): T|undefined; + } + type LodashFind2x1<T> = (collection: lodash.List<T> | object | null | undefined) => T|undefined; + type LodashFind3x1<T, S> = (collection: T | null | undefined) => S|undefined; + interface LodashFind3x2<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): T[keyof T]|undefined; + } + interface LodashFindFrom { + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindFrom1x1<T, S>; + (predicate: lodash.__, fromIndex: number): LodashFindFrom1x2; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: number): LodashFindFrom1x3<T, S>; + <T>(predicate: lodash.__, fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindFrom1x4<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindFrom1x5<S>; + <T>(predicate: lodash.__, fromIndex: number, collection: lodash.List<T> | null | undefined): LodashFindFrom1x6<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: number, collection: lodash.List<T> | null | undefined): S|undefined; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindFrom2x1<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): LodashFindFrom2x3<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindFrom2x5<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number, collection: lodash.List<T> | null | undefined): T|undefined; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindFrom3x1<T, S>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: number): LodashFindFrom3x3<T, S>; + <T extends object>(predicate: lodash.__, fromIndex: lodash.__, collection: T | null | undefined): LodashFindFrom3x4<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: lodash.__, collection: T | null | undefined): LodashFindFrom3x5<S>; + <T extends object>(predicate: lodash.__, fromIndex: number, collection: T | null | undefined): LodashFindFrom3x6<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: number, collection: T | null | undefined): S|undefined; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, fromIndex: lodash.__, collection: T | null | undefined): LodashFindFrom4x5<T>; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, fromIndex: number, collection: T | null | undefined): T[keyof T]|undefined; + } + interface LodashFindFrom1x1<T, S> { + (fromIndex: number): LodashFindFrom1x3<T, S>; + (fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindFrom1x5<S>; + (fromIndex: number, collection: lodash.List<T> | null | undefined): S|undefined; + } + interface LodashFindFrom1x2 { + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindFrom1x3<T, S>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindFrom1x6<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, collection: lodash.List<T> | null | undefined): S|undefined; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindFrom2x3<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): T|undefined; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindFrom3x3<T, S>; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashFindFrom3x6<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, collection: T | null | undefined): S|undefined; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): T[keyof T]|undefined; + } + type LodashFindFrom1x3<T, S> = (collection: lodash.List<T> | null | undefined) => S|undefined; + interface LodashFindFrom1x4<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindFrom1x5<S>; + (predicate: lodash.__, fromIndex: number): LodashFindFrom1x6<T>; + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: number): S|undefined; + (predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindFrom2x5<T>; + (predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): T|undefined; + } + type LodashFindFrom1x5<S> = (fromIndex: number) => S|undefined; + interface LodashFindFrom1x6<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T, boolean>): T|undefined; + } + interface LodashFindFrom2x1<T> { + (fromIndex: number): LodashFindFrom2x3<T>; + (fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindFrom2x5<T>; + (fromIndex: number, collection: lodash.List<T> | object | null | undefined): T|undefined; + <T1 extends object>(fromIndex: lodash.__, collection: T1 | null | undefined): LodashFindFrom4x5<T>; + } + interface LodashFindFrom2x3<T> { + (collection: lodash.List<T> | null | undefined): T|undefined; + (collection: object | null | undefined): object|undefined; + } + type LodashFindFrom2x5<T> = (fromIndex: number) => T|undefined; + interface LodashFindFrom3x1<T, S> { + (fromIndex: number): LodashFindFrom3x3<T, S>; + (fromIndex: lodash.__, collection: T | null | undefined): LodashFindFrom3x5<S>; + (fromIndex: number, collection: T | null | undefined): S|undefined; + } + type LodashFindFrom3x3<T, S> = (collection: T | null | undefined) => S|undefined; + interface LodashFindFrom3x4<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindFrom3x5<S>; + (predicate: lodash.__, fromIndex: number): LodashFindFrom3x6<T>; + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: number): S|undefined; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): LodashFindFrom4x5<T>; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, fromIndex: number): T[keyof T]|undefined; + } + type LodashFindFrom3x5<S> = (fromIndex: number) => S|undefined; + interface LodashFindFrom3x6<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): T[keyof T]|undefined; + } + type LodashFindFrom4x5<T> = (fromIndex: number) => T[keyof T]|undefined; + interface LodashFindIndex { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindIndex1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashFindIndex1x2<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, array: lodash.List<T> | null | undefined): number; + } + type LodashFindIndex1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashFindIndex1x2<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => number; + interface LodashFindIndexFrom { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindIndexFrom1x1<T>; + (predicate: lodash.__, fromIndex: number): LodashFindIndexFrom1x2; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): LodashFindIndexFrom1x3<T>; + <T>(predicate: lodash.__, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashFindIndexFrom1x4<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashFindIndexFrom1x5; + <T>(predicate: lodash.__, fromIndex: number, array: lodash.List<T> | null | undefined): LodashFindIndexFrom1x6<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number, array: lodash.List<T> | null | undefined): number; + } + interface LodashFindIndexFrom1x1<T> { + (fromIndex: number): LodashFindIndexFrom1x3<T>; + (fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashFindIndexFrom1x5; + (fromIndex: number, array: lodash.List<T> | null | undefined): number; + } + interface LodashFindIndexFrom1x2 { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindIndexFrom1x3<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashFindIndexFrom1x6<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, array: lodash.List<T> | null | undefined): number; + } + type LodashFindIndexFrom1x3<T> = (array: lodash.List<T> | null | undefined) => number; + interface LodashFindIndexFrom1x4<T> { + (predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindIndexFrom1x5; + (predicate: lodash.__, fromIndex: number): LodashFindIndexFrom1x6<T>; + (predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): number; + } + type LodashFindIndexFrom1x5 = (fromIndex: number) => number; + type LodashFindIndexFrom1x6<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => number; + interface LodashFindKey { + <T>(predicate: lodash.ValueIteratee<T>): LodashFindKey1x1<T>; + <T>(predicate: lodash.__, object: T | null | undefined): LodashFindKey1x2<T>; + <T>(predicate: lodash.ValueIteratee<T[keyof T]>, object: T | null | undefined): string | undefined; + } + type LodashFindKey1x1<T> = (object: object | null | undefined) => string | undefined; + type LodashFindKey1x2<T> = (predicate: lodash.ValueIteratee<T[keyof T]>) => string | undefined; + interface LodashFindLast { + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindLast1x1<T, S>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLast1x2<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, collection: lodash.List<T> | null | undefined): S|undefined; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLast2x1<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): T|undefined; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindLast3x1<T, S>; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashFindLast3x2<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, collection: T | null | undefined): S|undefined; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): T[keyof T]|undefined; + } + type LodashFindLast1x1<T, S> = (collection: lodash.List<T> | null | undefined) => S|undefined; + interface LodashFindLast1x2<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T, boolean>): T|undefined; + } + type LodashFindLast2x1<T> = (collection: lodash.List<T> | object | null | undefined) => T|undefined; + type LodashFindLast3x1<T, S> = (collection: T | null | undefined) => S|undefined; + interface LodashFindLast3x2<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): T[keyof T]|undefined; + } + interface LodashFindLastFrom { + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindLastFrom1x1<T, S>; + (predicate: lodash.__, fromIndex: number): LodashFindLastFrom1x2; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: number): LodashFindLastFrom1x3<T, S>; + <T>(predicate: lodash.__, fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLastFrom1x4<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLastFrom1x5<S>; + <T>(predicate: lodash.__, fromIndex: number, collection: lodash.List<T> | null | undefined): LodashFindLastFrom1x6<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: number, collection: lodash.List<T> | null | undefined): S|undefined; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastFrom2x1<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): LodashFindLastFrom2x3<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLastFrom2x5<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number, collection: lodash.List<T> | null | undefined): T|undefined; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindLastFrom3x1<T, S>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: number): LodashFindLastFrom3x3<T, S>; + <T extends object>(predicate: lodash.__, fromIndex: lodash.__, collection: T | null | undefined): LodashFindLastFrom3x4<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: lodash.__, collection: T | null | undefined): LodashFindLastFrom3x5<S>; + <T extends object>(predicate: lodash.__, fromIndex: number, collection: T | null | undefined): LodashFindLastFrom3x6<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: number, collection: T | null | undefined): S|undefined; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, fromIndex: lodash.__, collection: T | null | undefined): LodashFindLastFrom4x5<T>; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, fromIndex: number, collection: T | null | undefined): T[keyof T]|undefined; + } + interface LodashFindLastFrom1x1<T, S> { + (fromIndex: number): LodashFindLastFrom1x3<T, S>; + (fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLastFrom1x5<S>; + (fromIndex: number, collection: lodash.List<T> | null | undefined): S|undefined; + } + interface LodashFindLastFrom1x2 { + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindLastFrom1x3<T, S>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLastFrom1x6<T>; + <T, S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, collection: lodash.List<T> | null | undefined): S|undefined; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastFrom2x3<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): T|undefined; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindLastFrom3x3<T, S>; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashFindLastFrom3x6<T>; + <T extends object, S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, collection: T | null | undefined): S|undefined; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): T[keyof T]|undefined; + } + type LodashFindLastFrom1x3<T, S> = (collection: lodash.List<T> | null | undefined) => S|undefined; + interface LodashFindLastFrom1x4<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): LodashFindLastFrom1x5<S>; + (predicate: lodash.__, fromIndex: number): LodashFindLastFrom1x6<T>; + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>, fromIndex: number): S|undefined; + (predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastFrom2x5<T>; + (predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): T|undefined; + } + type LodashFindLastFrom1x5<S> = (fromIndex: number) => S|undefined; + interface LodashFindLastFrom1x6<T> { + <S extends T>(predicate: lodash.ValueIteratorTypeGuard<T, S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T, boolean>): T|undefined; + } + interface LodashFindLastFrom2x1<T> { + (fromIndex: number): LodashFindLastFrom2x3<T>; + (fromIndex: lodash.__, collection: lodash.List<T> | null | undefined): LodashFindLastFrom2x5<T>; + (fromIndex: number, collection: lodash.List<T> | object | null | undefined): T|undefined; + <T1 extends object>(fromIndex: lodash.__, collection: T1 | null | undefined): LodashFindLastFrom4x5<T>; + } + interface LodashFindLastFrom2x3<T> { + (collection: lodash.List<T> | null | undefined): T|undefined; + (collection: object | null | undefined): object|undefined; + } + type LodashFindLastFrom2x5<T> = (fromIndex: number) => T|undefined; + interface LodashFindLastFrom3x1<T, S> { + (fromIndex: number): LodashFindLastFrom3x3<T, S>; + (fromIndex: lodash.__, collection: T | null | undefined): LodashFindLastFrom3x5<S>; + (fromIndex: number, collection: T | null | undefined): S|undefined; + } + type LodashFindLastFrom3x3<T, S> = (collection: T | null | undefined) => S|undefined; + interface LodashFindLastFrom3x4<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): LodashFindLastFrom3x5<S>; + (predicate: lodash.__, fromIndex: number): LodashFindLastFrom3x6<T>; + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>, fromIndex: number): S|undefined; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): LodashFindLastFrom4x5<T>; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, fromIndex: number): T[keyof T]|undefined; + } + type LodashFindLastFrom3x5<S> = (fromIndex: number) => S|undefined; + interface LodashFindLastFrom3x6<T> { + <S extends T[keyof T]>(predicate: lodash.ValueIteratorTypeGuard<T[keyof T], S>): S|undefined; + (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>): T[keyof T]|undefined; + } + type LodashFindLastFrom4x5<T> = (fromIndex: number) => T[keyof T]|undefined; + interface LodashFindLastIndex { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastIndex1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashFindLastIndex1x2<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, array: lodash.List<T> | null | undefined): number; + } + type LodashFindLastIndex1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashFindLastIndex1x2<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => number; + interface LodashFindLastIndexFrom { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastIndexFrom1x1<T>; + (predicate: lodash.__, fromIndex: number): LodashFindLastIndexFrom1x2; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): LodashFindLastIndexFrom1x3<T>; + <T>(predicate: lodash.__, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashFindLastIndexFrom1x4<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashFindLastIndexFrom1x5; + <T>(predicate: lodash.__, fromIndex: number, array: lodash.List<T> | null | undefined): LodashFindLastIndexFrom1x6<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number, array: lodash.List<T> | null | undefined): number; + } + interface LodashFindLastIndexFrom1x1<T> { + (fromIndex: number): LodashFindLastIndexFrom1x3<T>; + (fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashFindLastIndexFrom1x5; + (fromIndex: number, array: lodash.List<T> | null | undefined): number; + } + interface LodashFindLastIndexFrom1x2 { + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastIndexFrom1x3<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashFindLastIndexFrom1x6<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, array: lodash.List<T> | null | undefined): number; + } + type LodashFindLastIndexFrom1x3<T> = (array: lodash.List<T> | null | undefined) => number; + interface LodashFindLastIndexFrom1x4<T> { + (predicate: lodash.ValueIterateeCustom<T, boolean>): LodashFindLastIndexFrom1x5; + (predicate: lodash.__, fromIndex: number): LodashFindLastIndexFrom1x6<T>; + (predicate: lodash.ValueIterateeCustom<T, boolean>, fromIndex: number): number; + } + type LodashFindLastIndexFrom1x5 = (fromIndex: number) => number; + type LodashFindLastIndexFrom1x6<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => number; + interface LodashFindLastKey { + <T>(predicate: lodash.ValueIteratee<T>): LodashFindLastKey1x1<T>; + <T>(predicate: lodash.__, object: T | null | undefined): LodashFindLastKey1x2<T>; + <T>(predicate: lodash.ValueIteratee<T[keyof T]>, object: T | null | undefined): string | undefined; + } + type LodashFindLastKey1x1<T> = (object: object | null | undefined) => string | undefined; + type LodashFindLastKey1x2<T> = (predicate: lodash.ValueIteratee<T[keyof T]>) => string | undefined; + type LodashHead = <T>(array: lodash.List<T> | null | undefined) => T | undefined; + interface LodashFlatMap { + <T, TResult>(iteratee: (value: T) => lodash.Many<TResult>): LodashFlatMap1x1<T, TResult>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashFlatMap1x2<T>; + <T, TResult>(iteratee: (value: T) => lodash.Many<TResult>, collection: lodash.List<T> | null | undefined): TResult[]; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.Many<TResult>): LodashFlatMap2x1<T, TResult>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashFlatMap2x2<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.Many<TResult>, collection: T | null | undefined): TResult[]; + (iteratee: string): LodashFlatMap3x1; + (iteratee: lodash.__, collection: object | null | undefined): LodashFlatMap3x2; + (iteratee: string, collection: object | null | undefined): any[]; + (iteratee: object): LodashFlatMap4x1; + (iteratee: object, collection: object | null | undefined): boolean[]; + } + type LodashFlatMap1x1<T, TResult> = (collection: lodash.List<T> | null | undefined) => TResult[]; + type LodashFlatMap1x2<T> = <TResult>(iteratee: (value: T) => lodash.Many<TResult>) => TResult[]; + type LodashFlatMap2x1<T, TResult> = (collection: T | null | undefined) => TResult[]; + type LodashFlatMap2x2<T> = <TResult>(iteratee: (value: T[keyof T]) => lodash.Many<TResult>) => TResult[]; + type LodashFlatMap3x1 = (collection: object | null | undefined) => any[]; + interface LodashFlatMap3x2 { + (iteratee: string): any[]; + (iteratee: object): boolean[]; + } + type LodashFlatMap4x1 = (collection: object | null | undefined) => boolean[]; + interface LodashFlatMapDeep { + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDeep1x1<T, TResult>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashFlatMapDeep1x2<T>; + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, collection: lodash.List<T> | null | undefined): TResult[]; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDeep2x1<T, TResult>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashFlatMapDeep2x2<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, collection: T | null | undefined): TResult[]; + (iteratee: string): LodashFlatMapDeep3x1; + (iteratee: lodash.__, collection: object | null | undefined): LodashFlatMapDeep3x2; + (iteratee: string, collection: object | null | undefined): any[]; + (iteratee: object): LodashFlatMapDeep4x1; + (iteratee: object, collection: object | null | undefined): boolean[]; + } + type LodashFlatMapDeep1x1<T, TResult> = (collection: lodash.List<T> | null | undefined) => TResult[]; + type LodashFlatMapDeep1x2<T> = <TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult) => TResult[]; + type LodashFlatMapDeep2x1<T, TResult> = (collection: T | null | undefined) => TResult[]; + type LodashFlatMapDeep2x2<T> = <TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult) => TResult[]; + type LodashFlatMapDeep3x1 = (collection: object | null | undefined) => any[]; + interface LodashFlatMapDeep3x2 { + (iteratee: string): any[]; + (iteratee: object): boolean[]; + } + type LodashFlatMapDeep4x1 = (collection: object | null | undefined) => boolean[]; + interface LodashFlatMapDepth { + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDepth1x1<T, TResult>; + (iteratee: lodash.__, depth: number): LodashFlatMapDepth1x2; + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: number): LodashFlatMapDepth1x3<T, TResult>; + <T>(iteratee: lodash.__, depth: lodash.__, collection: lodash.List<T> | null | undefined): LodashFlatMapDepth1x4<T>; + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: lodash.__, collection: lodash.List<T> | null | undefined): LodashFlatMapDepth1x5<TResult>; + <T>(iteratee: lodash.__, depth: number, collection: lodash.List<T> | null | undefined): LodashFlatMapDepth1x6<T>; + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: number, collection: lodash.List<T> | null | undefined): TResult[]; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDepth2x1<T, TResult>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: number): LodashFlatMapDepth2x3<T, TResult>; + <T extends object>(iteratee: lodash.__, depth: lodash.__, collection: T | null | undefined): LodashFlatMapDepth2x4<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: lodash.__, collection: T | null | undefined): LodashFlatMapDepth2x5<TResult>; + <T extends object>(iteratee: lodash.__, depth: number, collection: T | null | undefined): LodashFlatMapDepth2x6<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: number, collection: T | null | undefined): TResult[]; + (iteratee: string): LodashFlatMapDepth3x1; + (iteratee: string, depth: number): LodashFlatMapDepth3x3; + (iteratee: lodash.__, depth: lodash.__, collection: object | null | undefined): LodashFlatMapDepth3x4; + (iteratee: string, depth: lodash.__, collection: object | null | undefined): LodashFlatMapDepth3x5; + (iteratee: lodash.__, depth: number, collection: object | null | undefined): LodashFlatMapDepth3x6; + (iteratee: string, depth: number, collection: object | null | undefined): any[]; + (iteratee: object): LodashFlatMapDepth4x1; + (iteratee: object, depth: number): LodashFlatMapDepth4x3; + (iteratee: object, depth: lodash.__, collection: object | null | undefined): LodashFlatMapDepth4x5; + (iteratee: object, depth: number, collection: object | null | undefined): boolean[]; + } + interface LodashFlatMapDepth1x1<T, TResult> { + (depth: number): LodashFlatMapDepth1x3<T, TResult>; + (depth: lodash.__, collection: lodash.List<T> | null | undefined): LodashFlatMapDepth1x5<TResult>; + (depth: number, collection: lodash.List<T> | null | undefined): TResult[]; + } + interface LodashFlatMapDepth1x2 { + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDepth1x3<T, TResult>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashFlatMapDepth1x6<T>; + <T, TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, collection: lodash.List<T> | null | undefined): TResult[]; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDepth2x3<T, TResult>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashFlatMapDepth2x6<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, collection: T | null | undefined): TResult[]; + (iteratee: string): LodashFlatMapDepth3x3; + (iteratee: lodash.__, collection: object | null | undefined): LodashFlatMapDepth3x6; + (iteratee: string, collection: object | null | undefined): any[]; + (iteratee: object): LodashFlatMapDepth4x3; + (iteratee: object, collection: object | null | undefined): boolean[]; + } + type LodashFlatMapDepth1x3<T, TResult> = (collection: lodash.List<T> | null | undefined) => TResult[]; + interface LodashFlatMapDepth1x4<T> { + <TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDepth1x5<TResult>; + (iteratee: lodash.__, depth: number): LodashFlatMapDepth1x6<T>; + <TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: number): TResult[]; + } + type LodashFlatMapDepth1x5<TResult> = (depth: number) => TResult[]; + type LodashFlatMapDepth1x6<T> = <TResult>(iteratee: (value: T) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult) => TResult[]; + interface LodashFlatMapDepth2x1<T, TResult> { + (depth: number): LodashFlatMapDepth2x3<T, TResult>; + (depth: lodash.__, collection: T | null | undefined): LodashFlatMapDepth2x5<TResult>; + (depth: number, collection: T | null | undefined): TResult[]; + } + type LodashFlatMapDepth2x3<T, TResult> = (collection: T | null | undefined) => TResult[]; + interface LodashFlatMapDepth2x4<T> { + <TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult): LodashFlatMapDepth2x5<TResult>; + (iteratee: lodash.__, depth: number): LodashFlatMapDepth2x6<T>; + <TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult, depth: number): TResult[]; + } + type LodashFlatMapDepth2x5<TResult> = (depth: number) => TResult[]; + type LodashFlatMapDepth2x6<T> = <TResult>(iteratee: (value: T[keyof T]) => lodash.ListOfRecursiveArraysOrValues<TResult> | TResult) => TResult[]; + interface LodashFlatMapDepth3x1 { + (depth: number): LodashFlatMapDepth3x3; + (depth: lodash.__, collection: object | null | undefined): LodashFlatMapDepth3x5; + (depth: number, collection: object | null | undefined): any[]; + } + type LodashFlatMapDepth3x3 = (collection: object | null | undefined) => any[]; + interface LodashFlatMapDepth3x4 { + (iteratee: string): LodashFlatMapDepth3x5; + (iteratee: lodash.__, depth: number): LodashFlatMapDepth3x6; + (iteratee: string, depth: number): any[]; + (iteratee: object): LodashFlatMapDepth4x5; + (iteratee: object, depth: number): boolean[]; + } + type LodashFlatMapDepth3x5 = (depth: number) => any[]; + interface LodashFlatMapDepth3x6 { + (iteratee: string): any[]; + (iteratee: object): boolean[]; + } + interface LodashFlatMapDepth4x1 { + (depth: number): LodashFlatMapDepth4x3; + (depth: lodash.__, collection: object | null | undefined): LodashFlatMapDepth4x5; + (depth: number, collection: object | null | undefined): boolean[]; + } + type LodashFlatMapDepth4x3 = (collection: object | null | undefined) => boolean[]; + type LodashFlatMapDepth4x5 = (depth: number) => boolean[]; + type LodashFlatten = <T>(array: lodash.List<lodash.Many<T>> | null | undefined) => T[]; + type LodashFlattenDeep = <T>(array: lodash.ListOfRecursiveArraysOrValues<T> | null | undefined) => T[]; + interface LodashFlattenDepth { + (depth: number): LodashFlattenDepth1x1; + <T>(depth: lodash.__, array: lodash.ListOfRecursiveArraysOrValues<T> | null | undefined): LodashFlattenDepth1x2<T>; + <T>(depth: number, array: lodash.ListOfRecursiveArraysOrValues<T> | null | undefined): T[]; + } + type LodashFlattenDepth1x1 = <T>(array: lodash.ListOfRecursiveArraysOrValues<T> | null | undefined) => T[]; + type LodashFlattenDepth1x2<T> = (depth: number) => T[]; + type LodashFlip = <T extends (...args: any[]) => any>(func: T) => T; + type LodashFloor = (n: number) => number; + interface LodashFlow { + <R1, R2>(f1: () => R1, f2: (a: R1) => R2): () => R2; + <R1, R2, R3>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): () => R3; + <R1, R2, R3, R4>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): () => R4; + <R1, R2, R3, R4, R5>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): () => R5; + <R1, R2, R3, R4, R5, R6>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): () => R6; + <R1, R2, R3, R4, R5, R6, R7>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): () => R7; + <R1, R2, R3, R4, R5, R6, R7>(f1: () => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<lodash.Many<(a: any) => any>>): () => any; + <A1, R1, R2>(f1: (a1: A1) => R1, f2: (a: R1) => R2): (a1: A1) => R2; + <A1, R1, R2, R3>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1) => R3; + <A1, R1, R2, R3, R4>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1) => R4; + <A1, R1, R2, R3, R4, R5>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1) => R5; + <A1, R1, R2, R3, R4, R5, R6>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1) => R6; + <A1, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1) => R7; + <A1, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<lodash.Many<(a: any) => any>>): (a1: A1) => any; + <A1, A2, R1, R2>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2) => R2; + <A1, A2, R1, R2, R3>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2) => R3; + <A1, A2, R1, R2, R3, R4>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2) => R4; + <A1, A2, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2) => R5; + <A1, A2, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2) => R6; + <A1, A2, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2) => R7; + <A1, A2, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<lodash.Many<(a: any) => any>>): (a1: A1, a2: A2) => any; + <A1, A2, A3, R1, R2>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3) => R2; + <A1, A2, A3, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3) => R3; + <A1, A2, A3, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3) => R4; + <A1, A2, A3, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3) => R5; + <A1, A2, A3, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3) => R6; + <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3) => R7; + <A1, A2, A3, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<lodash.Many<(a: any) => any>>): (a1: A1, a2: A2, a3: A3) => any; + <A1, A2, A3, A4, R1, R2>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4) => R2; + <A1, A2, A3, A4, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4) => R3; + <A1, A2, A3, A4, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4) => R4; + <A1, A2, A3, A4, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4) => R5; + <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4) => R6; + <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4) => R7; + <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<lodash.Many<(a: any) => any>>): (a1: A1, a2: A2, a3: A3, a4: A4) => any; + <A1, A2, A3, A4, R1, R2>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R2; + <A1, A2, A3, A4, R1, R2, R3>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R3; + <A1, A2, A3, A4, R1, R2, R3, R4>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R4; + <A1, A2, A3, A4, R1, R2, R3, R4, R5>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R5; + <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R6; + <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R7; + <A1, A2, A3, A4, R1, R2, R3, R4, R5, R6, R7>(f1: (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => R1, f2: (a: R1) => R2, f3: (a: R2) => R3, f4: (a: R3) => R4, f5: (a: R4) => R5, f6: (a: R5) => R6, f7: (a: R6) => R7, ...funcs: Array<lodash.Many<(a: any) => any>>): (a1: A1, a2: A2, a3: A3, a4: A4, ...args: any[]) => any; + (funcs: Array<lodash.Many<(...args: any[]) => any>>): (...args: any[]) => any; + } + interface LodashForIn { + <T>(iteratee: (value: T) => any): LodashForIn1x1<T>; + <T>(iteratee: lodash.__, object: T): LodashForIn1x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T): T; + <T>(iteratee: lodash.__, object: T | null | undefined): LodashForIn2x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T | null | undefined): T | null | undefined; + } + interface LodashForIn1x1<T> { + <T1 extends object>(object: T1): T1; + <T1 extends object>(object: T1 | null | undefined): T1 | null | undefined; + } + type LodashForIn1x2<T> = (iteratee: (value: T[keyof T]) => any) => T; + type LodashForIn2x2<T> = (iteratee: (value: T[keyof T]) => any) => T | null | undefined; + interface LodashForInRight { + <T>(iteratee: (value: T) => any): LodashForInRight1x1<T>; + <T>(iteratee: lodash.__, object: T): LodashForInRight1x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T): T; + <T>(iteratee: lodash.__, object: T | null | undefined): LodashForInRight2x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T | null | undefined): T | null | undefined; + } + interface LodashForInRight1x1<T> { + <T1 extends object>(object: T1): T1; + <T1 extends object>(object: T1 | null | undefined): T1 | null | undefined; + } + type LodashForInRight1x2<T> = (iteratee: (value: T[keyof T]) => any) => T; + type LodashForInRight2x2<T> = (iteratee: (value: T[keyof T]) => any) => T | null | undefined; + interface LodashForOwn { + <T>(iteratee: (value: T) => any): LodashForOwn1x1<T>; + <T>(iteratee: lodash.__, object: T): LodashForOwn1x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T): T; + <T>(iteratee: lodash.__, object: T | null | undefined): LodashForOwn2x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T | null | undefined): T | null | undefined; + } + interface LodashForOwn1x1<T> { + <T1 extends object>(object: T1): T1; + <T1 extends object>(object: T1 | null | undefined): T1 | null | undefined; + } + type LodashForOwn1x2<T> = (iteratee: (value: T[keyof T]) => any) => T; + type LodashForOwn2x2<T> = (iteratee: (value: T[keyof T]) => any) => T | null | undefined; + interface LodashForOwnRight { + <T>(iteratee: (value: T) => any): LodashForOwnRight1x1<T>; + <T>(iteratee: lodash.__, object: T): LodashForOwnRight1x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T): T; + <T>(iteratee: lodash.__, object: T | null | undefined): LodashForOwnRight2x2<T>; + <T>(iteratee: (value: T[keyof T]) => any, object: T | null | undefined): T | null | undefined; + } + interface LodashForOwnRight1x1<T> { + <T1 extends object>(object: T1): T1; + <T1 extends object>(object: T1 | null | undefined): T1 | null | undefined; + } + type LodashForOwnRight1x2<T> = (iteratee: (value: T[keyof T]) => any) => T; + type LodashForOwnRight2x2<T> = (iteratee: (value: T[keyof T]) => any) => T | null | undefined; + interface LodashFromPairs { + <T>(pairs: lodash.List<[lodash.PropertyName, T]> | null | undefined): lodash.Dictionary<T>; + (pairs: lodash.List<any[]> | null | undefined): lodash.Dictionary<any>; + } + type LodashFunctions = (object: any) => string[]; + type LodashFunctionsIn = (object: any) => string[]; + interface LodashGet { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashGet1x1<TObject, TKey>; + <TObject extends object>(path: lodash.__, object: TObject): LodashGet1x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey]; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashGet2x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined; + (path: number): LodashGet3x1; + <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashGet3x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T>): T; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGet4x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + (path: lodash.PropertyPath): LodashGet5x1; + (path: lodash.__, object: null | undefined): LodashGet5x2; + (path: lodash.PropertyPath, object: null | undefined): undefined; + (path: lodash.__, object: any): LodashGet6x2; + (path: lodash.PropertyPath, object: any): any; + } + interface LodashGet1x1<TObject, TKey extends keyof TObject> { + (object: TObject): TObject[TKey]; + (object: TObject | null | undefined): TObject[TKey] | undefined; + } + type LodashGet1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey]; + type LodashGet2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined; + interface LodashGet3x1 { + <T>(object: lodash.NumericDictionary<T>): T; + <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + } + type LodashGet3x2<T> = (path: number) => T; + type LodashGet4x2<T> = (path: number) => T | undefined; + interface LodashGet5x1 { + (object: null | undefined): undefined; + (object: any): any; + } + type LodashGet5x2 = (path: lodash.PropertyPath) => undefined; + type LodashGet6x2 = (path: lodash.PropertyPath) => any; + interface LodashGetOr { + <TDefault>(defaultValue: TDefault): LodashGetOr1x1<TDefault>; + <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashGetOr1x2<TObject, TKey>; + <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): LodashGetOr1x3<TObject, TKey, TDefault>; + <TObject extends object>(defaultValue: lodash.__, path: lodash.__, object: TObject | null | undefined): LodashGetOr1x4<TObject>; + <TObject extends object, TDefault>(defaultValue: TDefault, path: lodash.__, object: TObject | null | undefined): LodashGetOr1x5<TObject, TDefault>; + <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey], object: TObject | null | undefined): LodashGetOr1x6<TObject, TKey>; + <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | TDefault; + (defaultValue: lodash.__, path: number): LodashGetOr2x2; + <TDefault>(defaultValue: TDefault, path: number): LodashGetOr2x3<TDefault>; + <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x4<T>; + <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x5<T, TDefault>; + <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x6<T>; + <T, TDefault>(defaultValue: TDefault, path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr3x2; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashGetOr3x3<TDefault>; + (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashGetOr3x4; + <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashGetOr3x5<TDefault>; + (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashGetOr3x6; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath, object: null | undefined): TDefault; + (defaultValue: any): LodashGetOr4x1; + (defaultValue: any, path: lodash.PropertyPath): LodashGetOr4x3; + (defaultValue: lodash.__, path: lodash.__, object: any): LodashGetOr4x4; + (defaultValue: any, path: lodash.__, object: any): LodashGetOr4x5; + (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashGetOr4x6; + (defaultValue: any, path: lodash.PropertyPath, object: any): any; + } + interface LodashGetOr1x1<TDefault> { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashGetOr1x3<TObject, TKey, TDefault>; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashGetOr1x5<TObject, TDefault>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | TDefault; + (path: number): LodashGetOr2x3<TDefault>; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x5<T, TDefault>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + (path: lodash.PropertyPath): LodashGetOr3x3<TDefault>; + (path: lodash.__, object: null | undefined): LodashGetOr3x5<TDefault>; + (path: lodash.PropertyPath, object: null | undefined): TDefault; + } + interface LodashGetOr1x2<TObject, TKey extends keyof TObject> { + <TDefault>(defaultValue: TDefault): LodashGetOr1x3<TObject, TKey, TDefault>; + (defaultValue: lodash.__, object: TObject | null | undefined): LodashGetOr1x6<TObject, TKey>; + <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): TObject[TKey] | TDefault; + } + type LodashGetOr1x3<TObject, TKey extends keyof TObject, TDefault> = (object: TObject | null | undefined) => TObject[TKey] | TDefault; + interface LodashGetOr1x4<TObject> { + <TDefault>(defaultValue: TDefault): LodashGetOr1x5<TObject, TDefault>; + <TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashGetOr1x6<TObject, TKey>; + <TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): TObject[TKey] | TDefault; + } + type LodashGetOr1x5<TObject, TDefault> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | TDefault; + type LodashGetOr1x6<TObject, TKey extends keyof TObject> = <TDefault>(defaultValue: TDefault) => TObject[TKey] | TDefault; + interface LodashGetOr2x2 { + <TDefault>(defaultValue: TDefault): LodashGetOr2x3<TDefault>; + <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashGetOr2x6<T>; + <T, TDefault>(defaultValue: TDefault, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + } + type LodashGetOr2x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault; + interface LodashGetOr2x4<T> { + <TDefault>(defaultValue: TDefault): LodashGetOr2x5<T, TDefault>; + (defaultValue: lodash.__, path: number): LodashGetOr2x6<T>; + <TDefault>(defaultValue: TDefault, path: number): T | TDefault; + } + type LodashGetOr2x5<T, TDefault> = (path: number) => T | TDefault; + type LodashGetOr2x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault; + interface LodashGetOr3x2 { + <TDefault>(defaultValue: TDefault): LodashGetOr3x3<TDefault>; + (defaultValue: lodash.__, object: null | undefined): LodashGetOr3x6; + <TDefault>(defaultValue: TDefault, object: null | undefined): TDefault; + (defaultValue: any): LodashGetOr4x3; + (defaultValue: lodash.__, object: any): LodashGetOr4x6; + (defaultValue: any, object: any): any; + } + type LodashGetOr3x3<TDefault> = (object: null | undefined) => TDefault; + interface LodashGetOr3x4 { + <TDefault>(defaultValue: TDefault): LodashGetOr3x5<TDefault>; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr3x6; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): TDefault; + } + type LodashGetOr3x5<TDefault> = (path: lodash.PropertyPath) => TDefault; + type LodashGetOr3x6 = <TDefault>(defaultValue: TDefault) => TDefault; + interface LodashGetOr4x1 { + (path: lodash.PropertyPath): LodashGetOr4x3; + (path: lodash.__, object: any): LodashGetOr4x5; + (path: lodash.PropertyPath, object: any): any; + } + type LodashGetOr4x3 = (object: any) => any; + interface LodashGetOr4x4 { + (defaultValue: any): LodashGetOr4x5; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashGetOr4x6; + (defaultValue: any, path: lodash.PropertyPath): any; + } + type LodashGetOr4x5 = (path: lodash.PropertyPath) => any; + type LodashGetOr4x6 = (defaultValue: any) => any; + interface LodashGroupBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashGroupBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashGroupBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): lodash.Dictionary<T[]>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashGroupBy2x2<T>; + <T extends object>(iteratee: lodash.ValueIteratee<T[keyof T]>, collection: T | null | undefined): lodash.Dictionary<Array<T[keyof T]>>; + } + type LodashGroupBy1x1<T> = (collection: lodash.List<T> | object | null | undefined) => lodash.Dictionary<T[]>; + type LodashGroupBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => lodash.Dictionary<T[]>; + type LodashGroupBy2x2<T> = (iteratee: lodash.ValueIteratee<T[keyof T]>) => lodash.Dictionary<Array<T[keyof T]>>; + interface LodashGt { + (value: any): LodashGt1x1; + (value: lodash.__, other: any): LodashGt1x2; + (value: any, other: any): boolean; + } + type LodashGt1x1 = (other: any) => boolean; + type LodashGt1x2 = (value: any) => boolean; + interface LodashGte { + (value: any): LodashGte1x1; + (value: lodash.__, other: any): LodashGte1x2; + (value: any, other: any): boolean; + } + type LodashGte1x1 = (other: any) => boolean; + type LodashGte1x2 = (value: any) => boolean; + interface LodashHas { + (path: lodash.PropertyPath): LodashHas1x1; + <T>(path: lodash.__, object: T): LodashHas1x2; + <T>(path: lodash.PropertyPath, object: T): boolean; + } + type LodashHas1x1 = <T>(object: T) => boolean; + type LodashHas1x2 = (path: lodash.PropertyPath) => boolean; + interface LodashHasIn { + (path: lodash.PropertyPath): LodashHasIn1x1; + <T>(path: lodash.__, object: T): LodashHasIn1x2; + <T>(path: lodash.PropertyPath, object: T): boolean; + } + type LodashHasIn1x1 = <T>(object: T) => boolean; + type LodashHasIn1x2 = (path: lodash.PropertyPath) => boolean; + interface LodashIdentity { + <T>(value: T): T; + (): undefined; + } + interface LodashIncludes { + <T>(target: T): LodashIncludes1x1<T>; + <T>(target: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashIncludes1x2<T>; + <T>(target: T, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): boolean; + } + type LodashIncludes1x1<T> = (collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => boolean; + type LodashIncludes1x2<T> = (target: T) => boolean; + interface LodashIncludesFrom { + <T>(target: T): LodashIncludesFrom1x1<T>; + (target: lodash.__, fromIndex: number): LodashIncludesFrom1x2; + <T>(target: T, fromIndex: number): LodashIncludesFrom1x3<T>; + <T>(target: lodash.__, fromIndex: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashIncludesFrom1x4<T>; + <T>(target: T, fromIndex: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashIncludesFrom1x5; + <T>(target: lodash.__, fromIndex: number, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashIncludesFrom1x6<T>; + <T>(target: T, fromIndex: number, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): boolean; + } + interface LodashIncludesFrom1x1<T> { + (fromIndex: number): LodashIncludesFrom1x3<T>; + (fromIndex: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashIncludesFrom1x5; + (fromIndex: number, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): boolean; + } + interface LodashIncludesFrom1x2 { + <T>(target: T): LodashIncludesFrom1x3<T>; + <T>(target: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashIncludesFrom1x6<T>; + <T>(target: T, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): boolean; + } + type LodashIncludesFrom1x3<T> = (collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => boolean; + interface LodashIncludesFrom1x4<T> { + (target: T): LodashIncludesFrom1x5; + (target: lodash.__, fromIndex: number): LodashIncludesFrom1x6<T>; + (target: T, fromIndex: number): boolean; + } + type LodashIncludesFrom1x5 = (fromIndex: number) => boolean; + type LodashIncludesFrom1x6<T> = (target: T) => boolean; + interface LodashKeyBy { + <T>(iteratee: lodash.ValueIterateeCustom<T, lodash.PropertyName>): LodashKeyBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashKeyBy1x2<T>; + <T>(iteratee: lodash.ValueIterateeCustom<T, lodash.PropertyName>, collection: lodash.List<T> | null | undefined): lodash.Dictionary<T>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashKeyBy2x2<T>; + <T extends object>(iteratee: lodash.ValueIterateeCustom<T[keyof T], lodash.PropertyName>, collection: T | null | undefined): lodash.Dictionary<T[keyof T]>; + } + type LodashKeyBy1x1<T> = (collection: lodash.List<T> | object | null | undefined) => lodash.Dictionary<T>; + type LodashKeyBy1x2<T> = (iteratee: lodash.ValueIterateeCustom<T, lodash.PropertyName>) => lodash.Dictionary<T>; + type LodashKeyBy2x2<T> = (iteratee: lodash.ValueIterateeCustom<T[keyof T], lodash.PropertyName>) => lodash.Dictionary<T[keyof T]>; + interface LodashIndexOf { + <T>(value: T): LodashIndexOf1x1<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashIndexOf1x2<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashIndexOf1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashIndexOf1x2<T> = (value: T) => number; + interface LodashIndexOfFrom { + <T>(value: T): LodashIndexOfFrom1x1<T>; + (value: lodash.__, fromIndex: number): LodashIndexOfFrom1x2; + <T>(value: T, fromIndex: number): LodashIndexOfFrom1x3<T>; + <T>(value: lodash.__, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashIndexOfFrom1x4<T>; + <T>(value: T, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashIndexOfFrom1x5; + <T>(value: lodash.__, fromIndex: number, array: lodash.List<T> | null | undefined): LodashIndexOfFrom1x6<T>; + <T>(value: T, fromIndex: number, array: lodash.List<T> | null | undefined): number; + } + interface LodashIndexOfFrom1x1<T> { + (fromIndex: number): LodashIndexOfFrom1x3<T>; + (fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashIndexOfFrom1x5; + (fromIndex: number, array: lodash.List<T> | null | undefined): number; + } + interface LodashIndexOfFrom1x2 { + <T>(value: T): LodashIndexOfFrom1x3<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashIndexOfFrom1x6<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashIndexOfFrom1x3<T> = (array: lodash.List<T> | null | undefined) => number; + interface LodashIndexOfFrom1x4<T> { + (value: T): LodashIndexOfFrom1x5; + (value: lodash.__, fromIndex: number): LodashIndexOfFrom1x6<T>; + (value: T, fromIndex: number): number; + } + type LodashIndexOfFrom1x5 = (fromIndex: number) => number; + type LodashIndexOfFrom1x6<T> = (value: T) => number; + type LodashInitial = <T>(array: lodash.List<T> | null | undefined) => T[]; + interface LodashInRange { + (start: number): LodashInRange1x1; + (start: lodash.__, end: number): LodashInRange1x2; + (start: number, end: number): LodashInRange1x3; + (start: lodash.__, end: lodash.__, n: number): LodashInRange1x4; + (start: number, end: lodash.__, n: number): LodashInRange1x5; + (start: lodash.__, end: number, n: number): LodashInRange1x6; + (start: number, end: number, n: number): boolean; + } + interface LodashInRange1x1 { + (end: number): LodashInRange1x3; + (end: lodash.__, n: number): LodashInRange1x5; + (end: number, n: number): boolean; + } + interface LodashInRange1x2 { + (start: number): LodashInRange1x3; + (start: lodash.__, n: number): LodashInRange1x6; + (start: number, n: number): boolean; + } + type LodashInRange1x3 = (n: number) => boolean; + interface LodashInRange1x4 { + (start: number): LodashInRange1x5; + (start: lodash.__, end: number): LodashInRange1x6; + (start: number, end: number): boolean; + } + type LodashInRange1x5 = (end: number) => boolean; + type LodashInRange1x6 = (start: number) => boolean; + interface LodashIntersection { + <T>(arrays2: lodash.List<T>): LodashIntersection1x1<T>; + <T>(arrays2: lodash.__, arrays: lodash.List<T>): LodashIntersection1x2<T>; + <T>(arrays2: lodash.List<T>, arrays: lodash.List<T>): T[]; + } + type LodashIntersection1x1<T> = (arrays: lodash.List<T>) => T[]; + type LodashIntersection1x2<T> = (arrays2: lodash.List<T>) => T[]; + interface LodashIntersectionBy { + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashIntersectionBy1x1<T1, T2>; + <T1>(iteratee: lodash.__, array: lodash.List<T1> | null): LodashIntersectionBy1x2<T1>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1> | null): LodashIntersectionBy1x3<T1, T2>; + <T2>(iteratee: lodash.__, array: lodash.__, values: lodash.List<T2>): LodashIntersectionBy1x4<T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.__, values: lodash.List<T2>): LodashIntersectionBy1x5<T1>; + <T1, T2>(iteratee: lodash.__, array: lodash.List<T1> | null, values: lodash.List<T2>): LodashIntersectionBy1x6<T1, T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1> | null, values: lodash.List<T2>): T1[]; + } + interface LodashIntersectionBy1x1<T1, T2> { + (array: lodash.List<T1> | null): LodashIntersectionBy1x3<T1, T2>; + (array: lodash.__, values: lodash.List<T2>): LodashIntersectionBy1x5<T1>; + (array: lodash.List<T1> | null, values: lodash.List<T2>): T1[]; + } + interface LodashIntersectionBy1x2<T1> { + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashIntersectionBy1x3<T1, T2>; + <T2>(iteratee: lodash.__, values: lodash.List<T2>): LodashIntersectionBy1x6<T1, T2>; + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>): T1[]; + } + type LodashIntersectionBy1x3<T1, T2> = (values: lodash.List<T2>) => T1[]; + interface LodashIntersectionBy1x4<T2> { + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashIntersectionBy1x5<T1>; + <T1>(iteratee: lodash.__, array: lodash.List<T1> | null): LodashIntersectionBy1x6<T1, T2>; + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1> | null): T1[]; + } + type LodashIntersectionBy1x5<T1> = (array: lodash.List<T1> | null) => T1[]; + type LodashIntersectionBy1x6<T1, T2> = (iteratee: lodash.ValueIteratee<T1 | T2>) => T1[]; + interface LodashIntersectionWith { + <T1, T2>(comparator: lodash.Comparator2<T1, T2>): LodashIntersectionWith1x1<T1, T2>; + <T1>(comparator: lodash.__, array: lodash.List<T1> | null | undefined): LodashIntersectionWith1x2<T1>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1> | null | undefined): LodashIntersectionWith1x3<T1, T2>; + <T2>(comparator: lodash.__, array: lodash.__, values: lodash.List<T2>): LodashIntersectionWith1x4<T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, array: lodash.__, values: lodash.List<T2>): LodashIntersectionWith1x5<T1>; + <T1, T2>(comparator: lodash.__, array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): LodashIntersectionWith1x6<T1, T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): T1[]; + } + interface LodashIntersectionWith1x1<T1, T2> { + (array: lodash.List<T1> | null | undefined): LodashIntersectionWith1x3<T1, T2>; + (array: lodash.__, values: lodash.List<T2>): LodashIntersectionWith1x5<T1>; + (array: lodash.List<T1> | null | undefined, values: lodash.List<T2>): T1[]; + } + interface LodashIntersectionWith1x2<T1> { + <T2>(comparator: lodash.Comparator2<T1, T2>): LodashIntersectionWith1x3<T1, T2>; + <T2>(comparator: lodash.__, values: lodash.List<T2>): LodashIntersectionWith1x6<T1, T2>; + <T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>): T1[]; + } + type LodashIntersectionWith1x3<T1, T2> = (values: lodash.List<T2>) => T1[]; + interface LodashIntersectionWith1x4<T2> { + <T1>(comparator: lodash.Comparator2<T1, T2>): LodashIntersectionWith1x5<T1>; + <T1>(comparator: lodash.__, array: lodash.List<T1> | null | undefined): LodashIntersectionWith1x6<T1, T2>; + <T1>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1> | null | undefined): T1[]; + } + type LodashIntersectionWith1x5<T1> = (array: lodash.List<T1> | null | undefined) => T1[]; + type LodashIntersectionWith1x6<T1, T2> = (comparator: lodash.Comparator2<T1, T2>) => T1[]; + type LodashInvert = (object: object) => lodash.Dictionary<string>; + interface LodashInvertBy { + <T>(interatee: lodash.ValueIteratee<T>): LodashInvertBy1x1<T>; + <T>(interatee: lodash.__, object: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashInvertBy1x2<T>; + <T>(interatee: lodash.ValueIteratee<T>, object: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<string[]>; + <T extends object>(interatee: lodash.__, object: T | null | undefined): LodashInvertBy2x2<T>; + <T extends object>(interatee: lodash.ValueIteratee<T[keyof T]>, object: T | null | undefined): lodash.Dictionary<string[]>; + } + type LodashInvertBy1x1<T> = (object: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | object | null | undefined) => lodash.Dictionary<string[]>; + type LodashInvertBy1x2<T> = (interatee: lodash.ValueIteratee<T>) => lodash.Dictionary<string[]>; + type LodashInvertBy2x2<T> = (interatee: lodash.ValueIteratee<T[keyof T]>) => lodash.Dictionary<string[]>; + interface LodashInvoke { + (path: lodash.PropertyPath): LodashInvoke1x1; + (path: lodash.__, object: any): LodashInvoke1x2; + (path: lodash.PropertyPath, object: any): any; + } + type LodashInvoke1x1 = (object: any) => any; + type LodashInvoke1x2 = (path: lodash.PropertyPath) => any; + interface LodashInvokeArgs { + (path: lodash.PropertyPath): LodashInvokeArgs1x1; + (path: lodash.__, args: ReadonlyArray<any>): LodashInvokeArgs1x2; + (path: lodash.PropertyPath, args: ReadonlyArray<any>): LodashInvokeArgs1x3; + (path: lodash.__, args: lodash.__, object: any): LodashInvokeArgs1x4; + (path: lodash.PropertyPath, args: lodash.__, object: any): LodashInvokeArgs1x5; + (path: lodash.__, args: ReadonlyArray<any>, object: any): LodashInvokeArgs1x6; + (path: lodash.PropertyPath, args: ReadonlyArray<any>, object: any): any; + } + interface LodashInvokeArgs1x1 { + (args: ReadonlyArray<any>): LodashInvokeArgs1x3; + (args: lodash.__, object: any): LodashInvokeArgs1x5; + (args: ReadonlyArray<any>, object: any): any; + } + interface LodashInvokeArgs1x2 { + (path: lodash.PropertyPath): LodashInvokeArgs1x3; + (path: lodash.__, object: any): LodashInvokeArgs1x6; + (path: lodash.PropertyPath, object: any): any; + } + type LodashInvokeArgs1x3 = (object: any) => any; + interface LodashInvokeArgs1x4 { + (path: lodash.PropertyPath): LodashInvokeArgs1x5; + (path: lodash.__, args: ReadonlyArray<any>): LodashInvokeArgs1x6; + (path: lodash.PropertyPath, args: ReadonlyArray<any>): any; + } + type LodashInvokeArgs1x5 = (args: ReadonlyArray<any>) => any; + type LodashInvokeArgs1x6 = (path: lodash.PropertyPath) => any; + interface LodashInvokeArgsMap { + (methodName: string): LodashInvokeArgsMap1x1; + (methodNameOrMethod: lodash.__, args: ReadonlyArray<any>): LodashInvokeArgsMap1x2; + (methodName: string, args: ReadonlyArray<any>): LodashInvokeArgsMap1x3; + (methodNameOrMethod: lodash.__, args: lodash.__, collection: object | null | undefined): LodashInvokeArgsMap1x4; + (methodName: string, args: lodash.__, collection: object | null | undefined): LodashInvokeArgsMap1x5; + (methodNameOrMethod: lodash.__, args: ReadonlyArray<any>, collection: object | null | undefined): LodashInvokeArgsMap1x6; + (methodName: string, args: ReadonlyArray<any>, collection: object | null | undefined): any[]; + <TResult>(method: (...args: any[]) => TResult): LodashInvokeArgsMap2x1<TResult>; + <TResult>(method: (...args: any[]) => TResult, args: ReadonlyArray<any>): LodashInvokeArgsMap2x3<TResult>; + <TResult>(method: (...args: any[]) => TResult, args: lodash.__, collection: object | null | undefined): LodashInvokeArgsMap2x5<TResult>; + <TResult>(method: (...args: any[]) => TResult, args: ReadonlyArray<any>, collection: object | null | undefined): TResult[]; + } + interface LodashInvokeArgsMap1x1 { + (args: ReadonlyArray<any>): LodashInvokeArgsMap1x3; + (args: lodash.__, collection: object | null | undefined): LodashInvokeArgsMap1x5; + (args: ReadonlyArray<any>, collection: object | null | undefined): any[]; + } + interface LodashInvokeArgsMap1x2 { + (methodName: string): LodashInvokeArgsMap1x3; + (methodNameOrMethod: lodash.__, collection: object | null | undefined): LodashInvokeArgsMap1x6; + (methodName: string, collection: object | null | undefined): any[]; + <TResult>(method: (...args: any[]) => TResult): LodashInvokeArgsMap2x3<TResult>; + <TResult>(method: (...args: any[]) => TResult, collection: object | null | undefined): TResult[]; + } + type LodashInvokeArgsMap1x3 = (collection: object | null | undefined) => any[]; + interface LodashInvokeArgsMap1x4 { + (methodName: string): LodashInvokeArgsMap1x5; + (methodNameOrMethod: lodash.__, args: ReadonlyArray<any>): LodashInvokeArgsMap1x6; + (methodName: string, args: ReadonlyArray<any>): any[]; + <TResult>(method: (...args: any[]) => TResult): LodashInvokeArgsMap2x5<TResult>; + <TResult>(method: (...args: any[]) => TResult, args: ReadonlyArray<any>): TResult[]; + } + type LodashInvokeArgsMap1x5 = (args: ReadonlyArray<any>) => any[]; + interface LodashInvokeArgsMap1x6 { + (methodName: string): any[]; + <TResult>(method: (...args: any[]) => TResult): TResult[]; + } + interface LodashInvokeArgsMap2x1<TResult> { + (args: ReadonlyArray<any>): LodashInvokeArgsMap2x3<TResult>; + (args: lodash.__, collection: object | null | undefined): LodashInvokeArgsMap2x5<TResult>; + (args: ReadonlyArray<any>, collection: object | null | undefined): TResult[]; + } + type LodashInvokeArgsMap2x3<TResult> = (collection: object | null | undefined) => TResult[]; + type LodashInvokeArgsMap2x5<TResult> = (args: ReadonlyArray<any>) => TResult[]; + interface LodashInvokeMap { + (methodName: string): LodashInvokeMap1x1; + (methodNameOrMethod: lodash.__, collection: object | null | undefined): LodashInvokeMap1x2; + (methodName: string, collection: object | null | undefined): any[]; + <TResult>(method: (...args: any[]) => TResult): LodashInvokeMap2x1<TResult>; + <TResult>(method: (...args: any[]) => TResult, collection: object | null | undefined): TResult[]; + } + type LodashInvokeMap1x1 = (collection: object | null | undefined) => any[]; + interface LodashInvokeMap1x2 { + (methodName: string): any[]; + <TResult>(method: (...args: any[]) => TResult): TResult[]; + } + type LodashInvokeMap2x1<TResult> = (collection: object | null | undefined) => TResult[]; + type LodashIsArguments = (value: any) => value is IArguments; + type LodashIsArray = (value: any) => value is any[]; + type LodashIsArrayBuffer = (value: any) => value is ArrayBuffer; + interface LodashIsArrayLike { + <T>(value: T & string & number): boolean; + (value: ((...args: any[]) => any) | null | undefined): value is never; + (value: any): value is { length: number }; + } + interface LodashIsArrayLikeObject { + <T>(value: T & string & number): boolean; + // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) + (value: ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is never; + // tslint:disable-next-line:ban-types (type guard doesn't seem to work correctly without the Function type) + <T extends object>(value: T | ((...args: any[]) => any) | Function | string | boolean | number | null | undefined): value is T & { length: number }; + } + type LodashIsBoolean = (value: any) => value is boolean; + type LodashIsBuffer = (value: any) => boolean; + type LodashIsDate = (value: any) => value is Date; + type LodashIsElement = (value: any) => boolean; + type LodashIsEmpty = (value: any) => boolean; + interface LodashIsEqualWith { + (customizer: lodash.IsEqualCustomizer): LodashIsEqualWith1x1; + (customizer: lodash.__, value: any): LodashIsEqualWith1x2; + (customizer: lodash.IsEqualCustomizer, value: any): LodashIsEqualWith1x3; + (customizer: lodash.__, value: lodash.__, other: any): LodashIsEqualWith1x4; + (customizer: lodash.IsEqualCustomizer, value: lodash.__, other: any): LodashIsEqualWith1x5; + (customizer: lodash.__, value: any, other: any): LodashIsEqualWith1x6; + (customizer: lodash.IsEqualCustomizer, value: any, other: any): boolean; + } + interface LodashIsEqualWith1x1 { + (value: any): LodashIsEqualWith1x3; + (value: lodash.__, other: any): LodashIsEqualWith1x5; + (value: any, other: any): boolean; + } + interface LodashIsEqualWith1x2 { + (customizer: lodash.IsEqualCustomizer): LodashIsEqualWith1x3; + (customizer: lodash.__, other: any): LodashIsEqualWith1x6; + (customizer: lodash.IsEqualCustomizer, other: any): boolean; + } + type LodashIsEqualWith1x3 = (other: any) => boolean; + interface LodashIsEqualWith1x4 { + (customizer: lodash.IsEqualCustomizer): LodashIsEqualWith1x5; + (customizer: lodash.__, value: any): LodashIsEqualWith1x6; + (customizer: lodash.IsEqualCustomizer, value: any): boolean; + } + type LodashIsEqualWith1x5 = (value: any) => boolean; + type LodashIsEqualWith1x6 = (customizer: lodash.IsEqualCustomizer) => boolean; + type LodashIsError = (value: any) => value is Error; + type LodashIsFinite = (value: any) => boolean; + type LodashIsFunction = (value: any) => value is (...args: any[]) => any; + type LodashIsInteger = (value: any) => boolean; + type LodashIsLength = (value: any) => boolean; + type LodashIsMap = (value: any) => value is Map<any, any>; + interface LodashIsMatch { + (source: object): LodashIsMatch1x1; + (source: lodash.__, object: object): LodashIsMatch1x2; + (source: object, object: object): boolean; + } + type LodashIsMatch1x1 = (object: object) => boolean; + type LodashIsMatch1x2 = (source: object) => boolean; + interface LodashIsMatchWith { + (customizer: lodash.isMatchWithCustomizer): LodashIsMatchWith1x1; + (customizer: lodash.__, source: object): LodashIsMatchWith1x2; + (customizer: lodash.isMatchWithCustomizer, source: object): LodashIsMatchWith1x3; + (customizer: lodash.__, source: lodash.__, object: object): LodashIsMatchWith1x4; + (customizer: lodash.isMatchWithCustomizer, source: lodash.__, object: object): LodashIsMatchWith1x5; + (customizer: lodash.__, source: object, object: object): LodashIsMatchWith1x6; + (customizer: lodash.isMatchWithCustomizer, source: object, object: object): boolean; + } + interface LodashIsMatchWith1x1 { + (source: object): LodashIsMatchWith1x3; + (source: lodash.__, object: object): LodashIsMatchWith1x5; + (source: object, object: object): boolean; + } + interface LodashIsMatchWith1x2 { + (customizer: lodash.isMatchWithCustomizer): LodashIsMatchWith1x3; + (customizer: lodash.__, object: object): LodashIsMatchWith1x6; + (customizer: lodash.isMatchWithCustomizer, object: object): boolean; + } + type LodashIsMatchWith1x3 = (object: object) => boolean; + interface LodashIsMatchWith1x4 { + (customizer: lodash.isMatchWithCustomizer): LodashIsMatchWith1x5; + (customizer: lodash.__, source: object): LodashIsMatchWith1x6; + (customizer: lodash.isMatchWithCustomizer, source: object): boolean; + } + type LodashIsMatchWith1x5 = (source: object) => boolean; + type LodashIsMatchWith1x6 = (customizer: lodash.isMatchWithCustomizer) => boolean; + type LodashIsNaN = (value: any) => boolean; + type LodashIsNative = (value: any) => value is (...args: any[]) => any; + type LodashIsNil = (value: any) => value is null | undefined; + type LodashIsNull = (value: any) => value is null; + type LodashIsNumber = (value: any) => value is number; + type LodashIsObject = (value: any) => boolean; + type LodashIsObjectLike = (value: any) => boolean; + type LodashIsPlainObject = (value: any) => boolean; + type LodashIsRegExp = (value: any) => value is RegExp; + type LodashIsSafeInteger = (value: any) => boolean; + type LodashIsSet = (value: any) => value is Set<any>; + type LodashIsString = (value: any) => value is string; + type LodashIsSymbol = (value: any) => boolean; + type LodashIsTypedArray = (value: any) => boolean; + type LodashIsUndefined = (value: any) => value is undefined; + type LodashIsWeakMap = (value: any) => value is WeakMap<object, any>; + type LodashIsWeakSet = (value: any) => value is WeakSet<object>; + interface LodashIteratee { + <TFunction extends (...args: any[]) => any>(func: TFunction): TFunction; + (func: string | object): (...args: any[]) => any; + } + interface LodashJoin { + (separator: string): LodashJoin1x1; + (separator: lodash.__, array: lodash.List<any> | null | undefined): LodashJoin1x2; + (separator: string, array: lodash.List<any> | null | undefined): string; + } + type LodashJoin1x1 = (array: lodash.List<any> | null | undefined) => string; + type LodashJoin1x2 = (separator: string) => string; + type LodashOver = <TResult>(iteratees: lodash.Many<(...args: any[]) => TResult>) => (...args: any[]) => TResult[]; + type LodashKebabCase = (string: string) => string; + type LodashKeys = (object: any) => string[]; + type LodashKeysIn = (object: any) => string[]; + type LodashLast = <T>(array: lodash.List<T> | null | undefined) => T | undefined; + interface LodashLastIndexOf { + <T>(value: T): LodashLastIndexOf1x1<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashLastIndexOf1x2<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashLastIndexOf1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashLastIndexOf1x2<T> = (value: T) => number; + interface LodashLastIndexOfFrom { + <T>(value: T): LodashLastIndexOfFrom1x1<T>; + (value: lodash.__, fromIndex: true|number): LodashLastIndexOfFrom1x2; + <T>(value: T, fromIndex: true|number): LodashLastIndexOfFrom1x3<T>; + <T>(value: lodash.__, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashLastIndexOfFrom1x4<T>; + <T>(value: T, fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashLastIndexOfFrom1x5; + <T>(value: lodash.__, fromIndex: true|number, array: lodash.List<T> | null | undefined): LodashLastIndexOfFrom1x6<T>; + <T>(value: T, fromIndex: true|number, array: lodash.List<T> | null | undefined): number; + } + interface LodashLastIndexOfFrom1x1<T> { + (fromIndex: true|number): LodashLastIndexOfFrom1x3<T>; + (fromIndex: lodash.__, array: lodash.List<T> | null | undefined): LodashLastIndexOfFrom1x5; + (fromIndex: true|number, array: lodash.List<T> | null | undefined): number; + } + interface LodashLastIndexOfFrom1x2 { + <T>(value: T): LodashLastIndexOfFrom1x3<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashLastIndexOfFrom1x6<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashLastIndexOfFrom1x3<T> = (array: lodash.List<T> | null | undefined) => number; + interface LodashLastIndexOfFrom1x4<T> { + (value: T): LodashLastIndexOfFrom1x5; + (value: lodash.__, fromIndex: true|number): LodashLastIndexOfFrom1x6<T>; + (value: T, fromIndex: true|number): number; + } + type LodashLastIndexOfFrom1x5 = (fromIndex: true|number) => number; + type LodashLastIndexOfFrom1x6<T> = (value: T) => number; + type LodashLowerCase = (string: string) => string; + type LodashLowerFirst = (string: string) => string; + interface LodashLt { + (value: any): LodashLt1x1; + (value: lodash.__, other: any): LodashLt1x2; + (value: any, other: any): boolean; + } + type LodashLt1x1 = (other: any) => boolean; + type LodashLt1x2 = (value: any) => boolean; + interface LodashLte { + (value: any): LodashLte1x1; + (value: lodash.__, other: any): LodashLte1x2; + (value: any, other: any): boolean; + } + type LodashLte1x1 = (other: any) => boolean; + type LodashLte1x2 = (value: any) => boolean; + interface LodashMap { + <T, TResult>(iteratee: (value: T) => TResult): LodashMap1x1<T, TResult>; + <T>(iteratee: lodash.__, collection: T[] | null | undefined): LodashMap1x2<T>; + <T, TResult>(iteratee: (value: T) => TResult, collection: T[] | lodash.List<T> | null | undefined): TResult[]; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashMap2x2<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => TResult): LodashMap3x1<T, TResult>; + <T extends object>(iteratee: lodash.__, collection: T | null | undefined): LodashMap3x2<T>; + <T extends object, TResult>(iteratee: (value: T[keyof T]) => TResult, collection: T | null | undefined): TResult[]; + <T, K extends keyof T>(iteratee: K): LodashMap4x1<T, K>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashMap4x2<T>; + <T, K extends keyof T>(iteratee: K, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): Array<T[K]>; + (iteratee: string): LodashMap5x1; + <T>(iteratee: string, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): any[]; + (iteratee: object): LodashMap6x1; + <T>(iteratee: object, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): boolean[]; + } + type LodashMap1x1<T, TResult> = (collection: T[] | lodash.List<T> | null | undefined) => TResult[]; + type LodashMap1x2<T> = <TResult>(iteratee: (value: T) => TResult) => TResult[]; + type LodashMap2x2<T> = <TResult>(iteratee: (value: T) => TResult) => TResult[]; + type LodashMap3x1<T, TResult> = (collection: T | null | undefined) => TResult[]; + type LodashMap3x2<T> = <TResult>(iteratee: (value: T[keyof T]) => TResult) => TResult[]; + type LodashMap4x1<T, K extends keyof T> = (collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => Array<T[K]>; + interface LodashMap4x2<T> { + <K extends keyof T>(iteratee: K): Array<T[K]>; + (iteratee: string): any[]; + (iteratee: object): boolean[]; + } + type LodashMap5x1 = <T>(collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => any[]; + type LodashMap6x1 = <T>(collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => boolean[]; + interface LodashMapKeys { + (iteratee: lodash.ValueIteratee<number>): LodashMapKeys1x1; + <T>(iteratee: lodash.__, object: lodash.List<T> | null | undefined): LodashMapKeys1x2<T>; + <T>(iteratee: lodash.ValueIteratee<number>, object: lodash.List<T> | null | undefined): lodash.Dictionary<T>; + (iteratee: lodash.ValueIteratee<string>): LodashMapKeys2x1; + <T extends object>(iteratee: lodash.__, object: T | null | undefined): LodashMapKeys2x2<T>; + <T extends object>(iteratee: lodash.ValueIteratee<string>, object: T | null | undefined): lodash.Dictionary<T[keyof T]>; + } + type LodashMapKeys1x1 = <T>(object: lodash.List<T> | null | undefined) => lodash.Dictionary<T>; + type LodashMapKeys1x2<T> = (iteratee: lodash.ValueIteratee<number>) => lodash.Dictionary<T>; + type LodashMapKeys2x1 = <T extends object>(object: T | null | undefined) => lodash.Dictionary<T[keyof T]>; + type LodashMapKeys2x2<T> = (iteratee: lodash.ValueIteratee<string>) => lodash.Dictionary<T[keyof T]>; + interface LodashMapValues { + <TResult>(callback: (value: string) => TResult): LodashMapValues1x1<TResult>; + (callback: lodash.__, obj: string | null | undefined): LodashMapValues1x2; + <TResult>(callback: (value: string) => TResult, obj: string | null | undefined): lodash.NumericDictionary<TResult>; + <T, TResult>(callback: (value: T) => TResult): LodashMapValues2x1<T, TResult>; + <T>(callbackOrIterateeOrIterateeOrIteratee: lodash.__, obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashMapValues2x2<T>; + <T, TResult>(callback: (value: T) => TResult, obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<TResult>; + <T extends object, TResult>(callback: (value: T[keyof T]) => TResult): LodashMapValues3x1<T, TResult>; + <T extends object>(callbackOrIterateeOrIteratee: lodash.__, obj: T | null | undefined): LodashMapValues3x2<T>; + <T extends object, TResult>(callback: (value: T[keyof T]) => TResult, obj: T | null | undefined): { [P in keyof T]: TResult }; + (iteratee: object): LodashMapValues4x1; + <T>(iteratee: object, obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<boolean>; + <T extends object>(iteratee: object, obj: T | null | undefined): { [P in keyof T]: boolean }; + <T, TKey extends keyof T>(iteratee: TKey): LodashMapValues6x1<T, TKey>; + <T, TKey extends keyof T>(iteratee: TKey, obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<T[TKey]>; + (iteratee: string): LodashMapValues7x1; + <T>(iteratee: string, obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<any>; + <T extends object>(iteratee: string, obj: T | null | undefined): { [P in keyof T]: any }; + } + type LodashMapValues1x1<TResult> = (obj: string | null | undefined) => lodash.NumericDictionary<TResult>; + type LodashMapValues1x2 = <TResult>(callback: (value: string) => TResult) => lodash.NumericDictionary<TResult>; + type LodashMapValues2x1<T, TResult> = (obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => lodash.Dictionary<TResult>; + interface LodashMapValues2x2<T> { + <TResult>(callback: (value: T) => TResult): lodash.Dictionary<TResult>; + (iteratee: object): lodash.Dictionary<boolean>; + <TKey extends keyof T>(iteratee: TKey): lodash.Dictionary<T[TKey]>; + (iteratee: string): lodash.Dictionary<any>; + } + type LodashMapValues3x1<T, TResult> = (obj: T | null | undefined) => { [P in keyof T]: TResult }; + interface LodashMapValues3x2<T> { + <TResult>(callback: (value: T[keyof T]) => TResult): { [P in keyof T]: TResult }; + (iteratee: object): { [P in keyof T]: boolean }; + (iteratee: string): { [P in keyof T]: any }; + } + interface LodashMapValues4x1 { + <T>(obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<boolean>; + <T extends object>(obj: T | null | undefined): { [P in keyof T]: boolean }; + } + type LodashMapValues6x1<T, TKey extends keyof T> = (obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined) => lodash.Dictionary<T[TKey]>; + interface LodashMapValues7x1 { + <T>(obj: lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): lodash.Dictionary<any>; + <T extends object>(obj: T | null | undefined): { [P in keyof T]: any }; + } + interface LodashMatchesProperty { + (path: lodash.PropertyPath): LodashMatchesProperty1x1; + <T>(path: lodash.__, srcValue: T): LodashMatchesProperty1x2; + <T>(path: lodash.PropertyPath, srcValue: T): (value: any) => boolean; + } + type LodashMatchesProperty1x1 = <T>(srcValue: T) => (value: any) => boolean; + type LodashMatchesProperty1x2 = (path: lodash.PropertyPath) => (value: any) => boolean; + type LodashMax = <T>(collection: lodash.List<T> | null | undefined) => T | undefined; + interface LodashMaxBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashMaxBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashMaxBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): T | undefined; + } + type LodashMaxBy1x1<T> = (collection: lodash.List<T> | null | undefined) => T | undefined; + type LodashMaxBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => T | undefined; + type LodashMean = (collection: lodash.List<any> | null | undefined) => number; + interface LodashMeanBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashMeanBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashMeanBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): number; + } + type LodashMeanBy1x1<T> = (collection: lodash.List<T> | null | undefined) => number; + type LodashMeanBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => number; + type LodashMemoize = <T extends (...args: any[]) => any>(func: T) => T & lodash.MemoizedFunction; + interface LodashMerge { + <TObject>(object: TObject): LodashMerge1x1<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashMerge1x2<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + type LodashMerge1x1<TObject> = <TSource>(source: TSource) => TObject & TSource; + type LodashMerge1x2<TSource> = <TObject>(object: TObject) => TObject & TSource; + interface LodashMergeAll { + <TObject, TSource>(object: [TObject, TSource]): TObject & TSource; + <TObject, TSource1, TSource2>(object: [TObject, TSource1, TSource2]): TObject & TSource1 & TSource2; + <TObject, TSource1, TSource2, TSource3>(object: [TObject, TSource1, TSource2, TSource3]): TObject & TSource1 & TSource2 & TSource3; + <TObject, TSource1, TSource2, TSource3, TSource4>(object: [TObject, TSource1, TSource2, TSource3, TSource4]): TObject & TSource1 & TSource2 & TSource3 & TSource4; + (object: ReadonlyArray<any>): any; + } + interface LodashMergeAllWith { + (customizer: lodash.MergeWithCustomizer): LodashMergeAllWith1x1; + (customizer: lodash.__, args: ReadonlyArray<any>): LodashMergeAllWith1x2; + (customizer: lodash.MergeWithCustomizer, args: ReadonlyArray<any>): any; + } + type LodashMergeAllWith1x1 = (args: ReadonlyArray<any>) => any; + type LodashMergeAllWith1x2 = (customizer: lodash.MergeWithCustomizer) => any; + interface LodashMergeWith { + (customizer: lodash.MergeWithCustomizer): LodashMergeWith1x1; + <TObject>(customizer: lodash.__, object: TObject): LodashMergeWith1x2<TObject>; + <TObject>(customizer: lodash.MergeWithCustomizer, object: TObject): LodashMergeWith1x3<TObject>; + <TSource>(customizer: lodash.__, object: lodash.__, source: TSource): LodashMergeWith1x4<TSource>; + <TSource>(customizer: lodash.MergeWithCustomizer, object: lodash.__, source: TSource): LodashMergeWith1x5<TSource>; + <TObject, TSource>(customizer: lodash.__, object: TObject, source: TSource): LodashMergeWith1x6<TObject, TSource>; + <TObject, TSource>(customizer: lodash.MergeWithCustomizer, object: TObject, source: TSource): TObject & TSource; + } + interface LodashMergeWith1x1 { + <TObject>(object: TObject): LodashMergeWith1x3<TObject>; + <TSource>(object: lodash.__, source: TSource): LodashMergeWith1x5<TSource>; + <TObject, TSource>(object: TObject, source: TSource): TObject & TSource; + } + interface LodashMergeWith1x2<TObject> { + (customizer: lodash.MergeWithCustomizer): LodashMergeWith1x3<TObject>; + <TSource>(customizer: lodash.__, source: TSource): LodashMergeWith1x6<TObject, TSource>; + <TSource>(customizer: lodash.MergeWithCustomizer, source: TSource): TObject & TSource; + } + type LodashMergeWith1x3<TObject> = <TSource>(source: TSource) => TObject & TSource; + interface LodashMergeWith1x4<TSource> { + (customizer: lodash.MergeWithCustomizer): LodashMergeWith1x5<TSource>; + <TObject>(customizer: lodash.__, object: TObject): LodashMergeWith1x6<TObject, TSource>; + <TObject>(customizer: lodash.MergeWithCustomizer, object: TObject): TObject & TSource; + } + type LodashMergeWith1x5<TSource> = <TObject>(object: TObject) => TObject & TSource; + type LodashMergeWith1x6<TObject, TSource> = (customizer: lodash.MergeWithCustomizer) => TObject & TSource; + type LodashMethod = (path: lodash.PropertyPath) => (object: any) => any; + type LodashMethodOf = (object: object) => (path: lodash.PropertyPath) => any; + type LodashMin = <T>(collection: lodash.List<T> | null | undefined) => T | undefined; + interface LodashMinBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashMinBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashMinBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): T | undefined; + } + type LodashMinBy1x1<T> = (collection: lodash.List<T> | null | undefined) => T | undefined; + type LodashMinBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => T | undefined; + interface LodashMultiply { + (multiplier: number): LodashMultiply1x1; + (multiplier: lodash.__, multiplicand: number): LodashMultiply1x2; + (multiplier: number, multiplicand: number): number; + } + type LodashMultiply1x1 = (multiplicand: number) => number; + type LodashMultiply1x2 = (multiplier: number) => number; + type LodashNoConflict = () => typeof _; + type LodashNoop = (...args: any[]) => void; + type LodashNow = () => number; + interface LodashNth { + (n: number): LodashNth1x1; + <T>(n: lodash.__, array: lodash.List<T> | null | undefined): LodashNth1x2<T>; + <T>(n: number, array: lodash.List<T> | null | undefined): T | undefined; + } + type LodashNth1x1 = <T>(array: lodash.List<T> | null | undefined) => T | undefined; + type LodashNth1x2<T> = (n: number) => T | undefined; + type LodashNthArg = (n: number) => (...args: any[]) => any; + interface LodashOmit { + (paths: lodash.Many<lodash.PropertyName>): LodashOmit1x1; + <T extends lodash.AnyKindOfDictionary>(paths: lodash.__, object: T | null | undefined): LodashOmit1x2<T>; + <T extends lodash.AnyKindOfDictionary>(paths: lodash.Many<lodash.PropertyName>, object: T | null | undefined): T; + <T extends object, K extends keyof T>(paths: lodash.Many<K>): LodashOmit2x1<T, K>; + <T extends object>(paths: lodash.__, object: T | null | undefined): LodashOmit2x2<T>; + <T extends object, K extends keyof T>(paths: lodash.Many<K>, object: T | null | undefined): lodash.Omit<T, K>; + <T extends object>(paths: lodash.Many<lodash.PropertyName>, object: T | null | undefined): lodash.PartialObject<T>; + } + interface LodashOmit1x1 { + <T extends lodash.AnyKindOfDictionary>(object: T | null | undefined): T; + <T extends object>(object: T | null | undefined): lodash.PartialObject<T>; + } + type LodashOmit1x2<T> = (paths: lodash.Many<lodash.PropertyName>) => T; + type LodashOmit2x1<T, K extends keyof T> = (object: T | null | undefined) => lodash.Omit<T, K>; + interface LodashOmit2x2<T> { + <K extends keyof T>(paths: lodash.Many<K>): lodash.Omit<T, K>; + (paths: lodash.Many<lodash.PropertyName>): lodash.PartialObject<T>; + } + interface LodashOmitBy { + <T>(predicate: lodash.ValueKeyIteratee<T>): LodashOmitBy1x1<T>; + <T extends object>(predicate: lodash.__, object: T | null | undefined): LodashOmitBy1x2<T>; + <T extends object>(predicate: lodash.ValueKeyIteratee<T[keyof T]>, object: T | null | undefined): lodash.PartialObject<T>; + } + type LodashOmitBy1x1<T> = <T1 extends object>(object: T1 | null | undefined) => lodash.PartialObject<T1>; + type LodashOmitBy1x2<T> = (predicate: lodash.ValueKeyIteratee<T[keyof T]>) => lodash.PartialObject<T>; + type LodashOnce = <T extends (...args: any[]) => any>(func: T) => T; + interface LodashOrderBy { + <T>(iteratees: lodash.Many<(value: T) => lodash.NotVoid>): LodashOrderBy1x1<T>; + (iteratees: lodash.__, orders: lodash.Many<boolean|string>): LodashOrderBy1x2; + <T>(iteratees: lodash.Many<(value: T) => lodash.NotVoid>, orders: lodash.Many<boolean|string>): LodashOrderBy1x3<T>; + <T>(iteratees: lodash.__, orders: lodash.__, collection: lodash.List<T> | null | undefined): LodashOrderBy1x4<T>; + <T>(iteratees: lodash.Many<(value: T) => lodash.NotVoid>, orders: lodash.__, collection: lodash.List<T> | null | undefined): LodashOrderBy1x5<T>; + <T>(iteratees: lodash.__, orders: lodash.Many<boolean|string>, collection: lodash.List<T> | null | undefined): LodashOrderBy1x6<T>; + <T>(iteratees: lodash.Many<(value: T) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T>>, orders: lodash.Many<boolean | string>, collection: lodash.List<T> | null | undefined): T[]; + <T>(iteratees: lodash.Many<lodash.ValueIteratee<T>>): LodashOrderBy2x1<T>; + <T>(iteratees: lodash.Many<lodash.ValueIteratee<T>>, orders: lodash.Many<boolean|string>): LodashOrderBy2x3<T>; + <T>(iteratees: lodash.Many<lodash.ValueIteratee<T>>, orders: lodash.__, collection: lodash.List<T> | null | undefined): LodashOrderBy2x5<T>; + <T extends object>(iteratees: lodash.__, orders: lodash.__, collection: T | null | undefined): LodashOrderBy3x4<T>; + <T extends object>(iteratees: lodash.Many<(value: T[keyof T]) => lodash.NotVoid>, orders: lodash.__, collection: T | null | undefined): LodashOrderBy3x5<T>; + <T extends object>(iteratees: lodash.__, orders: lodash.Many<boolean|string>, collection: T | null | undefined): LodashOrderBy3x6<T>; + <T extends object>(iteratees: lodash.Many<(value: T[keyof T]) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T[keyof T]>>, orders: lodash.Many<boolean | string>, collection: T | null | undefined): Array<T[keyof T]>; + <T extends object>(iteratees: lodash.Many<lodash.ValueIteratee<T[keyof T]>>, orders: lodash.__, collection: T | null | undefined): LodashOrderBy4x5<T>; + } + interface LodashOrderBy1x1<T> { + (orders: lodash.Many<boolean | string>): LodashOrderBy1x3<T>; + (orders: lodash.__, collection: lodash.List<T> | null | undefined): LodashOrderBy1x5<T>; + (orders: lodash.Many<boolean | string>, collection: lodash.List<T> | object | null | undefined): T[]; + <T1 extends object>(orders: lodash.__, collection: T1 | null | undefined): LodashOrderBy3x5<T>; + } + interface LodashOrderBy1x2 { + <T>(iteratees: lodash.Many<(value: T) => lodash.NotVoid>): LodashOrderBy1x3<T>; + <T>(iteratees: lodash.__, collection: lodash.List<T> | null | undefined): LodashOrderBy1x6<T>; + <T>(iteratees: lodash.Many<(value: T) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T>>, collection: lodash.List<T> | null | undefined): T[]; + <T>(iteratees: lodash.Many<lodash.ValueIteratee<T>>): LodashOrderBy2x3<T>; + <T extends object>(iteratees: lodash.__, collection: T | null | undefined): LodashOrderBy3x6<T>; + <T extends object>(iteratees: lodash.Many<(value: T[keyof T]) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T[keyof T]>>, collection: T | null | undefined): Array<T[keyof T]>; + } + interface LodashOrderBy1x3<T> { + (collection: lodash.List<T> | null | undefined): T[]; + (collection: object | null | undefined): object[]; + } + interface LodashOrderBy1x4<T> { + (iteratees: lodash.Many<(value: T) => lodash.NotVoid>): LodashOrderBy1x5<T>; + (iteratees: lodash.__, orders: lodash.Many<boolean | string>): LodashOrderBy1x6<T>; + (iteratees: lodash.Many<(value: T) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T>>, orders: lodash.Many<boolean | string>): T[]; + (iteratees: lodash.Many<lodash.ValueIteratee<T>>): LodashOrderBy2x5<T>; + } + type LodashOrderBy1x5<T> = (orders: lodash.Many<boolean|string>) => T[]; + type LodashOrderBy1x6<T> = (iteratees: lodash.Many<(value: T) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T>>) => T[]; + interface LodashOrderBy2x1<T> { + (orders: lodash.Many<boolean | string>): LodashOrderBy2x3<T>; + (orders: lodash.__, collection: lodash.List<T> | null | undefined): LodashOrderBy2x5<T>; + (orders: lodash.Many<boolean | string>, collection: lodash.List<T> | object | null | undefined): T[]; + <T1 extends object>(orders: lodash.__, collection: T1 | null | undefined): LodashOrderBy4x5<T>; + } + interface LodashOrderBy2x3<T> { + (collection: lodash.List<T> | null | undefined): T[]; + (collection: object | null | undefined): object[]; + } + type LodashOrderBy2x5<T> = (orders: lodash.Many<boolean|string>) => T[]; + interface LodashOrderBy3x4<T> { + (iteratees: lodash.Many<(value: T[keyof T]) => lodash.NotVoid>): LodashOrderBy3x5<T>; + (iteratees: lodash.__, orders: lodash.Many<boolean | string>): LodashOrderBy3x6<T>; + (iteratees: lodash.Many<(value: T[keyof T]) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T[keyof T]>>, orders: lodash.Many<boolean | string>): Array<T[keyof T]>; + (iteratees: lodash.Many<lodash.ValueIteratee<T[keyof T]>>): LodashOrderBy4x5<T>; + } + type LodashOrderBy3x5<T> = (orders: lodash.Many<boolean|string>) => Array<T[keyof T]>; + type LodashOrderBy3x6<T> = (iteratees: lodash.Many<(value: T[keyof T]) => lodash.NotVoid> | lodash.Many<lodash.ValueIteratee<T[keyof T]>>) => Array<T[keyof T]>; + type LodashOrderBy4x5<T> = (orders: lodash.Many<boolean|string>) => Array<T[keyof T]>; + interface LodashOverArgs { + (func: (...args: any[]) => any): LodashOverArgs1x1; + (func: lodash.__, transforms: lodash.Many<(...args: any[]) => any>): LodashOverArgs1x2; + (func: (...args: any[]) => any, transforms: lodash.Many<(...args: any[]) => any>): (...args: any[]) => any; + } + type LodashOverArgs1x1 = (transforms: lodash.Many<(...args: any[]) => any>) => (...args: any[]) => any; + type LodashOverArgs1x2 = (func: (...args: any[]) => any) => (...args: any[]) => any; + interface LodashPad { + (length: number): LodashPad1x1; + (length: lodash.__, string: string): LodashPad1x2; + (length: number, string: string): string; + } + type LodashPad1x1 = (string: string) => string; + type LodashPad1x2 = (length: number) => string; + interface LodashPadChars { + (chars: string): LodashPadChars1x1; + (chars: lodash.__, length: number): LodashPadChars1x2; + (chars: string, length: number): LodashPadChars1x3; + (chars: lodash.__, length: lodash.__, string: string): LodashPadChars1x4; + (chars: string, length: lodash.__, string: string): LodashPadChars1x5; + (chars: lodash.__, length: number, string: string): LodashPadChars1x6; + (chars: string, length: number, string: string): string; + } + interface LodashPadChars1x1 { + (length: number): LodashPadChars1x3; + (length: lodash.__, string: string): LodashPadChars1x5; + (length: number, string: string): string; + } + interface LodashPadChars1x2 { + (chars: string): LodashPadChars1x3; + (chars: lodash.__, string: string): LodashPadChars1x6; + (chars: string, string: string): string; + } + type LodashPadChars1x3 = (string: string) => string; + interface LodashPadChars1x4 { + (chars: string): LodashPadChars1x5; + (chars: lodash.__, length: number): LodashPadChars1x6; + (chars: string, length: number): string; + } + type LodashPadChars1x5 = (length: number) => string; + type LodashPadChars1x6 = (chars: string) => string; + interface LodashPadCharsEnd { + (chars: string): LodashPadCharsEnd1x1; + (chars: lodash.__, length: number): LodashPadCharsEnd1x2; + (chars: string, length: number): LodashPadCharsEnd1x3; + (chars: lodash.__, length: lodash.__, string: string): LodashPadCharsEnd1x4; + (chars: string, length: lodash.__, string: string): LodashPadCharsEnd1x5; + (chars: lodash.__, length: number, string: string): LodashPadCharsEnd1x6; + (chars: string, length: number, string: string): string; + } + interface LodashPadCharsEnd1x1 { + (length: number): LodashPadCharsEnd1x3; + (length: lodash.__, string: string): LodashPadCharsEnd1x5; + (length: number, string: string): string; + } + interface LodashPadCharsEnd1x2 { + (chars: string): LodashPadCharsEnd1x3; + (chars: lodash.__, string: string): LodashPadCharsEnd1x6; + (chars: string, string: string): string; + } + type LodashPadCharsEnd1x3 = (string: string) => string; + interface LodashPadCharsEnd1x4 { + (chars: string): LodashPadCharsEnd1x5; + (chars: lodash.__, length: number): LodashPadCharsEnd1x6; + (chars: string, length: number): string; + } + type LodashPadCharsEnd1x5 = (length: number) => string; + type LodashPadCharsEnd1x6 = (chars: string) => string; + interface LodashPadCharsStart { + (chars: string): LodashPadCharsStart1x1; + (chars: lodash.__, length: number): LodashPadCharsStart1x2; + (chars: string, length: number): LodashPadCharsStart1x3; + (chars: lodash.__, length: lodash.__, string: string): LodashPadCharsStart1x4; + (chars: string, length: lodash.__, string: string): LodashPadCharsStart1x5; + (chars: lodash.__, length: number, string: string): LodashPadCharsStart1x6; + (chars: string, length: number, string: string): string; + } + interface LodashPadCharsStart1x1 { + (length: number): LodashPadCharsStart1x3; + (length: lodash.__, string: string): LodashPadCharsStart1x5; + (length: number, string: string): string; + } + interface LodashPadCharsStart1x2 { + (chars: string): LodashPadCharsStart1x3; + (chars: lodash.__, string: string): LodashPadCharsStart1x6; + (chars: string, string: string): string; + } + type LodashPadCharsStart1x3 = (string: string) => string; + interface LodashPadCharsStart1x4 { + (chars: string): LodashPadCharsStart1x5; + (chars: lodash.__, length: number): LodashPadCharsStart1x6; + (chars: string, length: number): string; + } + type LodashPadCharsStart1x5 = (length: number) => string; + type LodashPadCharsStart1x6 = (chars: string) => string; + interface LodashPadEnd { + (length: number): LodashPadEnd1x1; + (length: lodash.__, string: string): LodashPadEnd1x2; + (length: number, string: string): string; + } + type LodashPadEnd1x1 = (string: string) => string; + type LodashPadEnd1x2 = (length: number) => string; + interface LodashPadStart { + (length: number): LodashPadStart1x1; + (length: lodash.__, string: string): LodashPadStart1x2; + (length: number, string: string): string; + } + type LodashPadStart1x1 = (string: string) => string; + type LodashPadStart1x2 = (length: number) => string; + interface LodashParseInt { + (radix: number): LodashParseInt1x1; + (radix: lodash.__, string: string): LodashParseInt1x2; + (radix: number, string: string): number; + } + type LodashParseInt1x1 = (string: string) => number; + type LodashParseInt1x2 = (radix: number) => number; + interface LodashPartial { + <T1, R>(func: lodash.Function1<T1, R>): LodashPartial1x1<T1, R>; + <T1>(func: lodash.__, arg1: [T1]): LodashPartial1x2<T1>; + <T1, R>(func: lodash.Function1<T1, R>, arg1: [T1]): lodash.Function0<R>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>): LodashPartial2x1<T1, T2, R>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>, arg1: [T1]): lodash.Function1< T2, R>; + <T2>(func: lodash.__, plc1: [lodash.__, T2]): LodashPartial3x2<T2>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>, plc1: [lodash.__, T2]): lodash.Function1<T1, R>; + <T1, T2>(func: lodash.__, arg1: [T1, T2]): LodashPartial4x2<T1, T2>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>, arg1: [T1, T2]): lodash.Function0< R>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>): LodashPartial5x1<T1, T2, T3, R>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1]): lodash.Function2< T2, T3, R>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, plc1: [lodash.__, T2]): lodash.Function2<T1, T3, R>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, T2]): lodash.Function1< T3, R>; + <T3>(func: lodash.__, plc1: [lodash.__, lodash.__, T3]): LodashPartial8x2<T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, plc1: [lodash.__, lodash.__, T3]): lodash.Function2<T1, T2, R>; + <T1, T3>(func: lodash.__, arg1: [T1, lodash.__, T3]): LodashPartial9x2<T1, T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, lodash.__, T3]): lodash.Function1< T2, R>; + <T2, T3>(func: lodash.__, plc1: [lodash.__, T2, T3]): LodashPartial10x2<T2, T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, plc1: [lodash.__, T2, T3]): lodash.Function1<T1, R>; + <T1, T2, T3>(func: lodash.__, arg1: [T1, T2, T3]): LodashPartial11x2<T1, T2, T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, T2, T3]): lodash.Function0< R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): LodashPartial12x1<T1, T2, T3, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1]): lodash.Function3< T2, T3, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, T2]): lodash.Function3<T1, T3, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2]): lodash.Function2< T3, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, lodash.__, T3]): lodash.Function3<T1, T2, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, T3]): lodash.Function2< T2, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, T2, T3]): lodash.Function2<T1, T4, R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, T3]): lodash.Function1< T4, R>; + <T4>(func: lodash.__, plc1: [lodash.__, lodash.__, lodash.__, T4]): LodashPartial19x2<T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, lodash.__, lodash.__, T4]): lodash.Function3<T1, T2, T3, R>; + <T1, T4>(func: lodash.__, arg1: [T1, lodash.__, lodash.__, T4]): LodashPartial20x2<T1, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, lodash.__, T4]): lodash.Function2< T2, T3, R>; + <T2, T4>(func: lodash.__, plc1: [lodash.__, T2, lodash.__, T4]): LodashPartial21x2<T2, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, T2, lodash.__, T4]): lodash.Function2<T1, T3, R>; + <T1, T2, T4>(func: lodash.__, arg1: [T1, T2, lodash.__, T4]): LodashPartial22x2<T1, T2, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, lodash.__, T4]): lodash.Function1< T3, R>; + <T3, T4>(func: lodash.__, plc1: [lodash.__, lodash.__, T3, T4]): LodashPartial23x2<T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, lodash.__, T3, T4]): lodash.Function2<T1, T2, R>; + <T1, T3, T4>(func: lodash.__, arg1: [T1, lodash.__, T3, T4]): LodashPartial24x2<T1, T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, T3, T4]): lodash.Function1< T2, R>; + <T2, T3, T4>(func: lodash.__, plc1: [lodash.__, T2, T3, T4]): LodashPartial25x2<T2, T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, plc1: [lodash.__, T2, T3, T4]): lodash.Function1<T1, R>; + <T1, T2, T3, T4>(func: lodash.__, arg1: [T1, T2, T3, T4]): LodashPartial26x2<T1, T2, T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, T3, T4]): lodash.Function0< R>; + (func: (...args: any[]) => any): LodashPartial27x1; + (func: lodash.__, args: ReadonlyArray<any>): LodashPartial27x2; + (func: (...args: any[]) => any, args: ReadonlyArray<any>): (...args: any[]) => any; + placeholder: lodash.__; + } + type LodashPartial1x1<T1, R> = (arg1: [T1]) => lodash.Function0<R>; + interface LodashPartial1x2<T1> { + <R>(func: lodash.Function1<T1, R>): lodash.Function0<R>; + <T2, R>(func: lodash.Function2<T1, T2, R>): lodash.Function1< T2, R>; + <T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function2< T2, T3, R>; + <T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function3< T2, T3, T4, R>; + } + interface LodashPartial2x1<T1, T2, R> { + (arg1: [T1]): lodash.Function1< T2, R>; + (plc1: [lodash.__, T2]): lodash.Function1<T1, R>; + (arg1: [T1, T2]): lodash.Function0< R>; + } + interface LodashPartial3x2<T2> { + <T1, R>(func: lodash.Function2<T1, T2, R>): lodash.Function1<T1, R>; + <T1, T3, R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function2<T1, T3, R>; + <T1, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function3<T1, T3, T4, R>; + } + interface LodashPartial4x2<T1, T2> { + <R>(func: lodash.Function2<T1, T2, R>): lodash.Function0< R>; + <T3, R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function1< T3, R>; + <T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function2< T3, T4, R>; + } + interface LodashPartial5x1<T1, T2, T3, R> { + (arg1: [T1]): lodash.Function2< T2, T3, R>; + (plc1: [lodash.__, T2]): lodash.Function2<T1, T3, R>; + (arg1: [T1, T2]): lodash.Function1< T3, R>; + (plc1: [lodash.__, lodash.__, T3]): lodash.Function2<T1, T2, R>; + (arg1: [T1, lodash.__, T3]): lodash.Function1< T2, R>; + (plc1: [lodash.__, T2, T3]): lodash.Function1<T1, R>; + (arg1: [T1, T2, T3]): lodash.Function0< R>; + } + interface LodashPartial8x2<T3> { + <T1, T2, R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function2<T1, T2, R>; + <T1, T2, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function3<T1, T2, T4, R>; + } + interface LodashPartial9x2<T1, T3> { + <T2, R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function1< T2, R>; + <T2, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function2< T2, T4, R>; + } + interface LodashPartial10x2<T2, T3> { + <T1, R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function1<T1, R>; + <T1, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function2<T1, T4, R>; + } + interface LodashPartial11x2<T1, T2, T3> { + <R>(func: lodash.Function3<T1, T2, T3, R>): lodash.Function0< R>; + <T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): lodash.Function1< T4, R>; + } + interface LodashPartial12x1<T1, T2, T3, T4, R> { + (arg1: [T1]): lodash.Function3< T2, T3, T4, R>; + (plc1: [lodash.__, T2]): lodash.Function3<T1, T3, T4, R>; + (arg1: [T1, T2]): lodash.Function2< T3, T4, R>; + (plc1: [lodash.__, lodash.__, T3]): lodash.Function3<T1, T2, T4, R>; + (arg1: [T1, lodash.__, T3]): lodash.Function2< T2, T4, R>; + (plc1: [lodash.__, T2, T3]): lodash.Function2<T1, T4, R>; + (arg1: [T1, T2, T3]): lodash.Function1< T4, R>; + (plc1: [lodash.__, lodash.__, lodash.__, T4]): lodash.Function3<T1, T2, T3, R>; + (arg1: [T1, lodash.__, lodash.__, T4]): lodash.Function2< T2, T3, R>; + (plc1: [lodash.__, T2, lodash.__, T4]): lodash.Function2<T1, T3, R>; + (arg1: [T1, T2, lodash.__, T4]): lodash.Function1< T3, R>; + (plc1: [lodash.__, lodash.__, T3, T4]): lodash.Function2<T1, T2, R>; + (arg1: [T1, lodash.__, T3, T4]): lodash.Function1< T2, R>; + (plc1: [lodash.__, T2, T3, T4]): lodash.Function1<T1, R>; + (arg1: [T1, T2, T3, T4]): lodash.Function0< R>; + } + type LodashPartial19x2<T4> = <T1, T2, T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function3<T1, T2, T3, R>; + type LodashPartial20x2<T1, T4> = <T2, T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2< T2, T3, R>; + type LodashPartial21x2<T2, T4> = <T1, T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2<T1, T3, R>; + type LodashPartial22x2<T1, T2, T4> = <T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1< T3, R>; + type LodashPartial23x2<T3, T4> = <T1, T2, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2<T1, T2, R>; + type LodashPartial24x2<T1, T3, T4> = <T2, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1< T2, R>; + type LodashPartial25x2<T2, T3, T4> = <T1, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1<T1, R>; + type LodashPartial26x2<T1, T2, T3, T4> = <R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function0< R>; + type LodashPartial27x1 = (args: ReadonlyArray<any>) => (...args: any[]) => any; + type LodashPartial27x2 = (func: (...args: any[]) => any) => (...args: any[]) => any; + interface LodashPartialRight { + <T1, R>(func: lodash.Function1<T1, R>): LodashPartialRight1x1<T1, R>; + <T1>(func: lodash.__, arg1: [T1]): LodashPartialRight1x2<T1>; + <T1, R>(func: lodash.Function1<T1, R>, arg1: [T1]): lodash.Function0<R>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>): LodashPartialRight2x1<T1, T2, R>; + <T1>(func: lodash.__, arg1: [T1, lodash.__]): LodashPartialRight2x2<T1>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>, arg1: [T1, lodash.__]): lodash.Function1< T2, R>; + <T2>(func: lodash.__, arg2: [T2]): LodashPartialRight3x2<T2>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>, arg2: [T2]): lodash.Function1<T1, R>; + <T1, T2>(func: lodash.__, arg1: [T1, T2]): LodashPartialRight4x2<T1, T2>; + <T1, T2, R>(func: lodash.Function2<T1, T2, R>, arg1: [T1, T2]): lodash.Function0< R>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>): LodashPartialRight5x1<T1, T2, T3, R>; + <T1>(func: lodash.__, arg1: [T1, lodash.__, lodash.__]): LodashPartialRight5x2<T1>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, lodash.__, lodash.__]): lodash.Function2< T2, T3, R>; + <T2>(func: lodash.__, arg2: [T2, lodash.__]): LodashPartialRight6x2<T2>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg2: [T2, lodash.__]): lodash.Function2<T1, T3, R>; + <T1, T2>(func: lodash.__, arg1: [T1, T2, lodash.__]): LodashPartialRight7x2<T1, T2>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, T2, lodash.__]): lodash.Function1< T3, R>; + <T3>(func: lodash.__, arg3: [T3]): LodashPartialRight8x2<T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg3: [T3]): lodash.Function2<T1, T2, R>; + <T1, T3>(func: lodash.__, arg1: [T1, lodash.__, T3]): LodashPartialRight9x2<T1, T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, lodash.__, T3]): lodash.Function1< T2, R>; + <T2, T3>(func: lodash.__, arg2: [T2, T3]): LodashPartialRight10x2<T2, T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg2: [T2, T3]): lodash.Function1<T1, R>; + <T1, T2, T3>(func: lodash.__, arg1: [T1, T2, T3]): LodashPartialRight11x2<T1, T2, T3>; + <T1, T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>, arg1: [T1, T2, T3]): lodash.Function0< R>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>): LodashPartialRight12x1<T1, T2, T3, T4, R>; + <T1>(func: lodash.__, arg1: [T1, lodash.__, lodash.__, lodash.__]): LodashPartialRight12x2<T1>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, lodash.__, lodash.__]): lodash.Function3< T2, T3, T4, R>; + <T2>(func: lodash.__, arg2: [T2, lodash.__, lodash.__]): LodashPartialRight13x2<T2>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg2: [T2, lodash.__, lodash.__]): lodash.Function3<T1, T3, T4, R>; + <T1, T2>(func: lodash.__, arg1: [T1, T2, lodash.__, lodash.__]): LodashPartialRight14x2<T1, T2>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, lodash.__, lodash.__]): lodash.Function2< T3, T4, R>; + <T3>(func: lodash.__, arg3: [T3, lodash.__]): LodashPartialRight15x2<T3>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg3: [T3, lodash.__]): lodash.Function3<T1, T2, T4, R>; + <T1, T3>(func: lodash.__, arg1: [T1, lodash.__, T3, lodash.__]): LodashPartialRight16x2<T1, T3>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, T3, lodash.__]): lodash.Function2< T2, T4, R>; + <T2, T3>(func: lodash.__, arg2: [T2, T3, lodash.__]): LodashPartialRight17x2<T2, T3>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg2: [T2, T3, lodash.__]): lodash.Function2<T1, T4, R>; + <T1, T2, T3>(func: lodash.__, arg1: [T1, T2, T3, lodash.__]): LodashPartialRight18x2<T1, T2, T3>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, T3, lodash.__]): lodash.Function1< T4, R>; + <T4>(func: lodash.__, arg4: [T4]): LodashPartialRight19x2<T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg4: [T4]): lodash.Function3<T1, T2, T3, R>; + <T1, T4>(func: lodash.__, arg1: [T1, lodash.__, lodash.__, T4]): LodashPartialRight20x2<T1, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, lodash.__, T4]): lodash.Function2< T2, T3, R>; + <T2, T4>(func: lodash.__, arg2: [T2, lodash.__, T4]): LodashPartialRight21x2<T2, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg2: [T2, lodash.__, T4]): lodash.Function2<T1, T3, R>; + <T1, T2, T4>(func: lodash.__, arg1: [T1, T2, lodash.__, T4]): LodashPartialRight22x2<T1, T2, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, lodash.__, T4]): lodash.Function1< T3, R>; + <T3, T4>(func: lodash.__, arg3: [T3, T4]): LodashPartialRight23x2<T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg3: [T3, T4]): lodash.Function2<T1, T2, R>; + <T1, T3, T4>(func: lodash.__, arg1: [T1, lodash.__, T3, T4]): LodashPartialRight24x2<T1, T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, lodash.__, T3, T4]): lodash.Function1< T2, R>; + <T2, T3, T4>(func: lodash.__, arg2: [T2, T3, T4]): LodashPartialRight25x2<T2, T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg2: [T2, T3, T4]): lodash.Function1<T1, R>; + <T1, T2, T3, T4>(func: lodash.__, arg1: [T1, T2, T3, T4]): LodashPartialRight26x2<T1, T2, T3, T4>; + <T1, T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>, arg1: [T1, T2, T3, T4]): lodash.Function0< R>; + (func: (...args: any[]) => any): LodashPartialRight27x1; + (func: lodash.__, args: ReadonlyArray<any>): LodashPartialRight27x2; + (func: (...args: any[]) => any, args: ReadonlyArray<any>): (...args: any[]) => any; + placeholder: lodash.__; + } + type LodashPartialRight1x1<T1, R> = (arg1: [T1]) => lodash.Function0<R>; + type LodashPartialRight1x2<T1> = <R>(func: lodash.Function1<T1, R>) => lodash.Function0<R>; + interface LodashPartialRight2x1<T1, T2, R> { + (arg1: [T1, lodash.__]): lodash.Function1< T2, R>; + (arg2: [T2]): lodash.Function1<T1, R>; + (arg1: [T1, T2]): lodash.Function0< R>; + } + type LodashPartialRight2x2<T1> = <T2, R>(func: lodash.Function2<T1, T2, R>) => lodash.Function1< T2, R>; + type LodashPartialRight3x2<T2> = <T1, R>(func: lodash.Function2<T1, T2, R>) => lodash.Function1<T1, R>; + type LodashPartialRight4x2<T1, T2> = <R>(func: lodash.Function2<T1, T2, R>) => lodash.Function0< R>; + interface LodashPartialRight5x1<T1, T2, T3, R> { + (arg1: [T1, lodash.__, lodash.__]): lodash.Function2< T2, T3, R>; + (arg2: [T2, lodash.__]): lodash.Function2<T1, T3, R>; + (arg1: [T1, T2, lodash.__]): lodash.Function1< T3, R>; + (arg3: [T3]): lodash.Function2<T1, T2, R>; + (arg1: [T1, lodash.__, T3]): lodash.Function1< T2, R>; + (arg2: [T2, T3]): lodash.Function1<T1, R>; + (arg1: [T1, T2, T3]): lodash.Function0< R>; + } + type LodashPartialRight5x2<T1> = <T2, T3, R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function2< T2, T3, R>; + type LodashPartialRight6x2<T2> = <T1, T3, R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function2<T1, T3, R>; + type LodashPartialRight7x2<T1, T2> = <T3, R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function1< T3, R>; + type LodashPartialRight8x2<T3> = <T1, T2, R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function2<T1, T2, R>; + type LodashPartialRight9x2<T1, T3> = <T2, R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function1< T2, R>; + type LodashPartialRight10x2<T2, T3> = <T1, R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function1<T1, R>; + type LodashPartialRight11x2<T1, T2, T3> = <R>(func: lodash.Function3<T1, T2, T3, R>) => lodash.Function0< R>; + interface LodashPartialRight12x1<T1, T2, T3, T4, R> { + (arg1: [T1, lodash.__, lodash.__, lodash.__]): lodash.Function3< T2, T3, T4, R>; + (arg2: [T2, lodash.__, lodash.__]): lodash.Function3<T1, T3, T4, R>; + (arg1: [T1, T2, lodash.__, lodash.__]): lodash.Function2< T3, T4, R>; + (arg3: [T3, lodash.__]): lodash.Function3<T1, T2, T4, R>; + (arg1: [T1, lodash.__, T3, lodash.__]): lodash.Function2< T2, T4, R>; + (arg2: [T2, T3, lodash.__]): lodash.Function2<T1, T4, R>; + (arg1: [T1, T2, T3, lodash.__]): lodash.Function1< T4, R>; + (arg4: [T4]): lodash.Function3<T1, T2, T3, R>; + (arg1: [T1, lodash.__, lodash.__, T4]): lodash.Function2< T2, T3, R>; + (arg2: [T2, lodash.__, T4]): lodash.Function2<T1, T3, R>; + (arg1: [T1, T2, lodash.__, T4]): lodash.Function1< T3, R>; + (arg3: [T3, T4]): lodash.Function2<T1, T2, R>; + (arg1: [T1, lodash.__, T3, T4]): lodash.Function1< T2, R>; + (arg2: [T2, T3, T4]): lodash.Function1<T1, R>; + (arg1: [T1, T2, T3, T4]): lodash.Function0< R>; + } + type LodashPartialRight12x2<T1> = <T2, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function3< T2, T3, T4, R>; + type LodashPartialRight13x2<T2> = <T1, T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function3<T1, T3, T4, R>; + type LodashPartialRight14x2<T1, T2> = <T3, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2< T3, T4, R>; + type LodashPartialRight15x2<T3> = <T1, T2, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function3<T1, T2, T4, R>; + type LodashPartialRight16x2<T1, T3> = <T2, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2< T2, T4, R>; + type LodashPartialRight17x2<T2, T3> = <T1, T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2<T1, T4, R>; + type LodashPartialRight18x2<T1, T2, T3> = <T4, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1< T4, R>; + type LodashPartialRight19x2<T4> = <T1, T2, T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function3<T1, T2, T3, R>; + type LodashPartialRight20x2<T1, T4> = <T2, T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2< T2, T3, R>; + type LodashPartialRight21x2<T2, T4> = <T1, T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2<T1, T3, R>; + type LodashPartialRight22x2<T1, T2, T4> = <T3, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1< T3, R>; + type LodashPartialRight23x2<T3, T4> = <T1, T2, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function2<T1, T2, R>; + type LodashPartialRight24x2<T1, T3, T4> = <T2, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1< T2, R>; + type LodashPartialRight25x2<T2, T3, T4> = <T1, R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function1<T1, R>; + type LodashPartialRight26x2<T1, T2, T3, T4> = <R>(func: lodash.Function4<T1, T2, T3, T4, R>) => lodash.Function0< R>; + type LodashPartialRight27x1 = (args: ReadonlyArray<any>) => (...args: any[]) => any; + type LodashPartialRight27x2 = (func: (...args: any[]) => any) => (...args: any[]) => any; + interface LodashPartition { + <T>(callback: lodash.ValueIteratee<T>): LodashPartition1x1<T>; + <T>(callback: lodash.__, collection: lodash.List<T> | null | undefined): LodashPartition1x2<T>; + <T>(callback: lodash.ValueIteratee<T>, collection: lodash.List<T> | null | undefined): [T[], T[]]; + <T extends object>(callback: lodash.__, collection: T | null | undefined): LodashPartition2x2<T>; + <T extends object>(callback: lodash.ValueIteratee<T[keyof T]>, collection: T | null | undefined): [Array<T[keyof T]>, Array<T[keyof T]>]; + } + type LodashPartition1x1<T> = (collection: lodash.List<T> | object | null | undefined) => [T[], T[]]; + type LodashPartition1x2<T> = (callback: lodash.ValueIteratee<T>) => [T[], T[]]; + type LodashPartition2x2<T> = (callback: lodash.ValueIteratee<T[keyof T]>) => [Array<T[keyof T]>, Array<T[keyof T]>]; + interface LodashPath { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPath1x1<TObject, TKey>; + <TObject extends object>(path: lodash.__, object: TObject): LodashPath1x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey]; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPath2x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined; + (path: number): LodashPath3x1; + <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashPath3x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T>): T; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPath4x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + (path: lodash.PropertyPath): LodashPath5x1; + (path: lodash.__, object: null | undefined): LodashPath5x2; + (path: lodash.PropertyPath, object: null | undefined): undefined; + (path: lodash.__, object: any): LodashPath6x2; + (path: lodash.PropertyPath, object: any): any; + } + interface LodashPath1x1<TObject, TKey extends keyof TObject> { + (object: TObject): TObject[TKey]; + (object: TObject | null | undefined): TObject[TKey] | undefined; + } + type LodashPath1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey]; + type LodashPath2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined; + interface LodashPath3x1 { + <T>(object: lodash.NumericDictionary<T>): T; + <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + } + type LodashPath3x2<T> = (path: number) => T; + type LodashPath4x2<T> = (path: number) => T | undefined; + interface LodashPath5x1 { + (object: null | undefined): undefined; + (object: any): any; + } + type LodashPath5x2 = (path: lodash.PropertyPath) => undefined; + type LodashPath6x2 = (path: lodash.PropertyPath) => any; + interface LodashPathOr { + <TDefault>(defaultValue: TDefault): LodashPathOr1x1<TDefault>; + <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPathOr1x2<TObject, TKey>; + <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): LodashPathOr1x3<TObject, TKey, TDefault>; + <TObject extends object>(defaultValue: lodash.__, path: lodash.__, object: TObject | null | undefined): LodashPathOr1x4<TObject>; + <TObject extends object, TDefault>(defaultValue: TDefault, path: lodash.__, object: TObject | null | undefined): LodashPathOr1x5<TObject, TDefault>; + <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey], object: TObject | null | undefined): LodashPathOr1x6<TObject, TKey>; + <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | TDefault; + (defaultValue: lodash.__, path: number): LodashPathOr2x2; + <TDefault>(defaultValue: TDefault, path: number): LodashPathOr2x3<TDefault>; + <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x4<T>; + <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x5<T, TDefault>; + <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x6<T>; + <T, TDefault>(defaultValue: TDefault, path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr3x2; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashPathOr3x3<TDefault>; + (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashPathOr3x4; + <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashPathOr3x5<TDefault>; + (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashPathOr3x6; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath, object: null | undefined): TDefault; + (defaultValue: any): LodashPathOr4x1; + (defaultValue: any, path: lodash.PropertyPath): LodashPathOr4x3; + (defaultValue: lodash.__, path: lodash.__, object: any): LodashPathOr4x4; + (defaultValue: any, path: lodash.__, object: any): LodashPathOr4x5; + (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashPathOr4x6; + (defaultValue: any, path: lodash.PropertyPath, object: any): any; + } + interface LodashPathOr1x1<TDefault> { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPathOr1x3<TObject, TKey, TDefault>; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPathOr1x5<TObject, TDefault>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | TDefault; + (path: number): LodashPathOr2x3<TDefault>; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x5<T, TDefault>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + (path: lodash.PropertyPath): LodashPathOr3x3<TDefault>; + (path: lodash.__, object: null | undefined): LodashPathOr3x5<TDefault>; + (path: lodash.PropertyPath, object: null | undefined): TDefault; + } + interface LodashPathOr1x2<TObject, TKey extends keyof TObject> { + <TDefault>(defaultValue: TDefault): LodashPathOr1x3<TObject, TKey, TDefault>; + (defaultValue: lodash.__, object: TObject | null | undefined): LodashPathOr1x6<TObject, TKey>; + <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): TObject[TKey] | TDefault; + } + type LodashPathOr1x3<TObject, TKey extends keyof TObject, TDefault> = (object: TObject | null | undefined) => TObject[TKey] | TDefault; + interface LodashPathOr1x4<TObject> { + <TDefault>(defaultValue: TDefault): LodashPathOr1x5<TObject, TDefault>; + <TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPathOr1x6<TObject, TKey>; + <TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): TObject[TKey] | TDefault; + } + type LodashPathOr1x5<TObject, TDefault> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | TDefault; + type LodashPathOr1x6<TObject, TKey extends keyof TObject> = <TDefault>(defaultValue: TDefault) => TObject[TKey] | TDefault; + interface LodashPathOr2x2 { + <TDefault>(defaultValue: TDefault): LodashPathOr2x3<TDefault>; + <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPathOr2x6<T>; + <T, TDefault>(defaultValue: TDefault, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + } + type LodashPathOr2x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault; + interface LodashPathOr2x4<T> { + <TDefault>(defaultValue: TDefault): LodashPathOr2x5<T, TDefault>; + (defaultValue: lodash.__, path: number): LodashPathOr2x6<T>; + <TDefault>(defaultValue: TDefault, path: number): T | TDefault; + } + type LodashPathOr2x5<T, TDefault> = (path: number) => T | TDefault; + type LodashPathOr2x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault; + interface LodashPathOr3x2 { + <TDefault>(defaultValue: TDefault): LodashPathOr3x3<TDefault>; + (defaultValue: lodash.__, object: null | undefined): LodashPathOr3x6; + <TDefault>(defaultValue: TDefault, object: null | undefined): TDefault; + (defaultValue: any): LodashPathOr4x3; + (defaultValue: lodash.__, object: any): LodashPathOr4x6; + (defaultValue: any, object: any): any; + } + type LodashPathOr3x3<TDefault> = (object: null | undefined) => TDefault; + interface LodashPathOr3x4 { + <TDefault>(defaultValue: TDefault): LodashPathOr3x5<TDefault>; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr3x6; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): TDefault; + } + type LodashPathOr3x5<TDefault> = (path: lodash.PropertyPath) => TDefault; + type LodashPathOr3x6 = <TDefault>(defaultValue: TDefault) => TDefault; + interface LodashPathOr4x1 { + (path: lodash.PropertyPath): LodashPathOr4x3; + (path: lodash.__, object: any): LodashPathOr4x5; + (path: lodash.PropertyPath, object: any): any; + } + type LodashPathOr4x3 = (object: any) => any; + interface LodashPathOr4x4 { + (defaultValue: any): LodashPathOr4x5; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPathOr4x6; + (defaultValue: any, path: lodash.PropertyPath): any; + } + type LodashPathOr4x5 = (path: lodash.PropertyPath) => any; + type LodashPathOr4x6 = (defaultValue: any) => any; + interface LodashPick { + <T extends object, U extends keyof T>(props: lodash.Many<U>): LodashPick1x1<T, U>; + <T extends object>(props: lodash.__, object: T): LodashPick1x2<T>; + <T extends object, U extends keyof T>(props: lodash.Many<U>, object: T): Pick<T, U>; + (props: lodash.PropertyPath): LodashPick2x1; + <T>(props: lodash.__, object: T | null | undefined): LodashPick2x2<T>; + <T>(props: lodash.PropertyPath, object: T | null | undefined): lodash.PartialDeep<T>; + } + type LodashPick1x1<T, U extends keyof T> = (object: T) => Pick<T, U>; + type LodashPick1x2<T> = <U extends keyof T>(props: lodash.Many<U>) => Pick<T, U>; + type LodashPick2x1 = <T>(object: T | null | undefined) => lodash.PartialDeep<T>; + type LodashPick2x2<T> = (props: lodash.PropertyPath) => lodash.PartialDeep<T>; + interface LodashPickBy { + <T>(predicate: lodash.ValueKeyIteratee<T>): LodashPickBy1x1<T>; + <T extends object>(predicate: lodash.__, object: T | null | undefined): LodashPickBy1x2<T>; + <T extends object>(predicate: lodash.ValueKeyIteratee<T[keyof T]>, object: T | null | undefined): lodash.PartialObject<T>; + } + type LodashPickBy1x1<T> = <T1 extends object>(object: T1 | null | undefined) => lodash.PartialObject<T1>; + type LodashPickBy1x2<T> = (predicate: lodash.ValueKeyIteratee<T[keyof T]>) => lodash.PartialObject<T>; + interface LodashProp { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashProp1x1<TObject, TKey>; + <TObject extends object>(path: lodash.__, object: TObject): LodashProp1x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey]; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashProp2x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined; + (path: number): LodashProp3x1; + <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashProp3x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T>): T; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashProp4x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + (path: lodash.PropertyPath): LodashProp5x1; + (path: lodash.__, object: null | undefined): LodashProp5x2; + (path: lodash.PropertyPath, object: null | undefined): undefined; + (path: lodash.__, object: any): LodashProp6x2; + (path: lodash.PropertyPath, object: any): any; + } + interface LodashProp1x1<TObject, TKey extends keyof TObject> { + (object: TObject): TObject[TKey]; + (object: TObject | null | undefined): TObject[TKey] | undefined; + } + type LodashProp1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey]; + type LodashProp2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined; + interface LodashProp3x1 { + <T>(object: lodash.NumericDictionary<T>): T; + <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + } + type LodashProp3x2<T> = (path: number) => T; + type LodashProp4x2<T> = (path: number) => T | undefined; + interface LodashProp5x1 { + (object: null | undefined): undefined; + (object: any): any; + } + type LodashProp5x2 = (path: lodash.PropertyPath) => undefined; + type LodashProp6x2 = (path: lodash.PropertyPath) => any; + interface LodashProperty { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashProperty1x1<TObject, TKey>; + <TObject extends object>(path: lodash.__, object: TObject): LodashProperty1x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey]; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashProperty2x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined; + (path: number): LodashProperty3x1; + <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashProperty3x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T>): T; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashProperty4x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + (path: lodash.PropertyPath): LodashProperty5x1; + (path: lodash.__, object: null | undefined): LodashProperty5x2; + (path: lodash.PropertyPath, object: null | undefined): undefined; + (path: lodash.__, object: any): LodashProperty6x2; + (path: lodash.PropertyPath, object: any): any; + } + interface LodashProperty1x1<TObject, TKey extends keyof TObject> { + (object: TObject): TObject[TKey]; + (object: TObject | null | undefined): TObject[TKey] | undefined; + } + type LodashProperty1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey]; + type LodashProperty2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined; + interface LodashProperty3x1 { + <T>(object: lodash.NumericDictionary<T>): T; + <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + } + type LodashProperty3x2<T> = (path: number) => T; + type LodashProperty4x2<T> = (path: number) => T | undefined; + interface LodashProperty5x1 { + (object: null | undefined): undefined; + (object: any): any; + } + type LodashProperty5x2 = (path: lodash.PropertyPath) => undefined; + type LodashProperty6x2 = (path: lodash.PropertyPath) => any; + interface LodashPropertyOf { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPropertyOf1x1<TObject, TKey>; + <TObject extends object>(path: lodash.__, object: TObject): LodashPropertyOf1x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject): TObject[TKey]; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPropertyOf2x2<TObject>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | undefined; + (path: number): LodashPropertyOf3x1; + <T>(path: lodash.__, object: lodash.NumericDictionary<T>): LodashPropertyOf3x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T>): T; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropertyOf4x2<T>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + (path: lodash.PropertyPath): LodashPropertyOf5x1; + (path: lodash.__, object: null | undefined): LodashPropertyOf5x2; + (path: lodash.PropertyPath, object: null | undefined): undefined; + (path: lodash.__, object: any): LodashPropertyOf6x2; + (path: lodash.PropertyPath, object: any): any; + } + interface LodashPropertyOf1x1<TObject, TKey extends keyof TObject> { + (object: TObject): TObject[TKey]; + (object: TObject | null | undefined): TObject[TKey] | undefined; + } + type LodashPropertyOf1x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey]; + type LodashPropertyOf2x2<TObject> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | undefined; + interface LodashPropertyOf3x1 { + <T>(object: lodash.NumericDictionary<T>): T; + <T>(object: lodash.NumericDictionary<T> | null | undefined): T | undefined; + } + type LodashPropertyOf3x2<T> = (path: number) => T; + type LodashPropertyOf4x2<T> = (path: number) => T | undefined; + interface LodashPropertyOf5x1 { + (object: null | undefined): undefined; + (object: any): any; + } + type LodashPropertyOf5x2 = (path: lodash.PropertyPath) => undefined; + type LodashPropertyOf6x2 = (path: lodash.PropertyPath) => any; + interface LodashPropOr { + <TDefault>(defaultValue: TDefault): LodashPropOr1x1<TDefault>; + <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPropOr1x2<TObject, TKey>; + <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): LodashPropOr1x3<TObject, TKey, TDefault>; + <TObject extends object>(defaultValue: lodash.__, path: lodash.__, object: TObject | null | undefined): LodashPropOr1x4<TObject>; + <TObject extends object, TDefault>(defaultValue: TDefault, path: lodash.__, object: TObject | null | undefined): LodashPropOr1x5<TObject, TDefault>; + <TObject extends object, TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey], object: TObject | null | undefined): LodashPropOr1x6<TObject, TKey>; + <TObject extends object, TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | TDefault; + (defaultValue: lodash.__, path: number): LodashPropOr2x2; + <TDefault>(defaultValue: TDefault, path: number): LodashPropOr2x3<TDefault>; + <T>(defaultValue: lodash.__, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x4<T>; + <T, TDefault>(defaultValue: TDefault, path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x5<T, TDefault>; + <T>(defaultValue: lodash.__, path: number, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x6<T>; + <T, TDefault>(defaultValue: TDefault, path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr3x2; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): LodashPropOr3x3<TDefault>; + (defaultValue: lodash.__, path: lodash.__, object: null | undefined): LodashPropOr3x4; + <TDefault>(defaultValue: TDefault, path: lodash.__, object: null | undefined): LodashPropOr3x5<TDefault>; + (defaultValue: lodash.__, path: lodash.PropertyPath, object: null | undefined): LodashPropOr3x6; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath, object: null | undefined): TDefault; + (defaultValue: any): LodashPropOr4x1; + (defaultValue: any, path: lodash.PropertyPath): LodashPropOr4x3; + (defaultValue: lodash.__, path: lodash.__, object: any): LodashPropOr4x4; + (defaultValue: any, path: lodash.__, object: any): LodashPropOr4x5; + (defaultValue: lodash.__, path: lodash.PropertyPath, object: any): LodashPropOr4x6; + (defaultValue: any, path: lodash.PropertyPath, object: any): any; + } + interface LodashPropOr1x1<TDefault> { + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey]): LodashPropOr1x3<TObject, TKey, TDefault>; + <TObject extends object>(path: lodash.__, object: TObject | null | undefined): LodashPropOr1x5<TObject, TDefault>; + <TObject extends object, TKey extends keyof TObject>(path: TKey | [TKey], object: TObject | null | undefined): TObject[TKey] | TDefault; + (path: number): LodashPropOr2x3<TDefault>; + <T>(path: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x5<T, TDefault>; + <T>(path: number, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + (path: lodash.PropertyPath): LodashPropOr3x3<TDefault>; + (path: lodash.__, object: null | undefined): LodashPropOr3x5<TDefault>; + (path: lodash.PropertyPath, object: null | undefined): TDefault; + } + interface LodashPropOr1x2<TObject, TKey extends keyof TObject> { + <TDefault>(defaultValue: TDefault): LodashPropOr1x3<TObject, TKey, TDefault>; + (defaultValue: lodash.__, object: TObject | null | undefined): LodashPropOr1x6<TObject, TKey>; + <TDefault>(defaultValue: TDefault, object: TObject | null | undefined): TObject[TKey] | TDefault; + } + type LodashPropOr1x3<TObject, TKey extends keyof TObject, TDefault> = (object: TObject | null | undefined) => TObject[TKey] | TDefault; + interface LodashPropOr1x4<TObject> { + <TDefault>(defaultValue: TDefault): LodashPropOr1x5<TObject, TDefault>; + <TKey extends keyof TObject>(defaultValue: lodash.__, path: TKey | [TKey]): LodashPropOr1x6<TObject, TKey>; + <TKey extends keyof TObject, TDefault>(defaultValue: TDefault, path: TKey | [TKey]): TObject[TKey] | TDefault; + } + type LodashPropOr1x5<TObject, TDefault> = <TKey extends keyof TObject>(path: TKey | [TKey]) => TObject[TKey] | TDefault; + type LodashPropOr1x6<TObject, TKey extends keyof TObject> = <TDefault>(defaultValue: TDefault) => TObject[TKey] | TDefault; + interface LodashPropOr2x2 { + <TDefault>(defaultValue: TDefault): LodashPropOr2x3<TDefault>; + <T>(defaultValue: lodash.__, object: lodash.NumericDictionary<T> | null | undefined): LodashPropOr2x6<T>; + <T, TDefault>(defaultValue: TDefault, object: lodash.NumericDictionary<T> | null | undefined): T | TDefault; + } + type LodashPropOr2x3<TDefault> = <T>(object: lodash.NumericDictionary<T> | null | undefined) => T | TDefault; + interface LodashPropOr2x4<T> { + <TDefault>(defaultValue: TDefault): LodashPropOr2x5<T, TDefault>; + (defaultValue: lodash.__, path: number): LodashPropOr2x6<T>; + <TDefault>(defaultValue: TDefault, path: number): T | TDefault; + } + type LodashPropOr2x5<T, TDefault> = (path: number) => T | TDefault; + type LodashPropOr2x6<T> = <TDefault>(defaultValue: TDefault) => T | TDefault; + interface LodashPropOr3x2 { + <TDefault>(defaultValue: TDefault): LodashPropOr3x3<TDefault>; + (defaultValue: lodash.__, object: null | undefined): LodashPropOr3x6; + <TDefault>(defaultValue: TDefault, object: null | undefined): TDefault; + (defaultValue: any): LodashPropOr4x3; + (defaultValue: lodash.__, object: any): LodashPropOr4x6; + (defaultValue: any, object: any): any; + } + type LodashPropOr3x3<TDefault> = (object: null | undefined) => TDefault; + interface LodashPropOr3x4 { + <TDefault>(defaultValue: TDefault): LodashPropOr3x5<TDefault>; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr3x6; + <TDefault>(defaultValue: TDefault, path: lodash.PropertyPath): TDefault; + } + type LodashPropOr3x5<TDefault> = (path: lodash.PropertyPath) => TDefault; + type LodashPropOr3x6 = <TDefault>(defaultValue: TDefault) => TDefault; + interface LodashPropOr4x1 { + (path: lodash.PropertyPath): LodashPropOr4x3; + (path: lodash.__, object: any): LodashPropOr4x5; + (path: lodash.PropertyPath, object: any): any; + } + type LodashPropOr4x3 = (object: any) => any; + interface LodashPropOr4x4 { + (defaultValue: any): LodashPropOr4x5; + (defaultValue: lodash.__, path: lodash.PropertyPath): LodashPropOr4x6; + (defaultValue: any, path: lodash.PropertyPath): any; + } + type LodashPropOr4x5 = (path: lodash.PropertyPath) => any; + type LodashPropOr4x6 = (defaultValue: any) => any; + interface LodashPull { + <T>(values: T): LodashPull1x1<T>; + <T>(values: lodash.__, array: ReadonlyArray<T>): LodashPull1x2<T>; + <T>(values: T, array: ReadonlyArray<T>): T[]; + <T>(values: lodash.__, array: lodash.List<T>): LodashPull2x2<T>; + <T>(values: T, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPull1x1<T> { + (array: ReadonlyArray<T>): T[]; + (array: lodash.List<T>): lodash.List<T>; + } + type LodashPull1x2<T> = (values: T) => T[]; + type LodashPull2x2<T> = (values: T) => lodash.List<T>; + interface LodashPullAll { + <T>(values: lodash.List<T>): LodashPullAll1x1<T>; + <T>(values: lodash.__, array: ReadonlyArray<T>): LodashPullAll1x2<T>; + <T>(values: lodash.List<T>, array: ReadonlyArray<T>): T[]; + <T>(values: lodash.__, array: lodash.List<T>): LodashPullAll2x2<T>; + <T>(values: lodash.List<T>, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAll1x1<T> { + (array: ReadonlyArray<T>): T[]; + (array: lodash.List<T>): lodash.List<T>; + } + type LodashPullAll1x2<T> = (values: lodash.List<T>) => T[]; + type LodashPullAll2x2<T> = (values: lodash.List<T>) => lodash.List<T>; + interface LodashPullAllBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashPullAllBy1x1<T>; + <T>(iteratee: lodash.__, values: lodash.List<T>): LodashPullAllBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, values: lodash.List<T>): LodashPullAllBy1x3<T>; + <T>(iteratee: lodash.__, values: lodash.__, array: ReadonlyArray<T>): LodashPullAllBy1x4<T>; + <T>(iteratee: lodash.ValueIteratee<T>, values: lodash.__, array: ReadonlyArray<T>): LodashPullAllBy1x5<T>; + <T>(iteratee: lodash.__, values: lodash.List<T>, array: ReadonlyArray<T>): LodashPullAllBy1x6<T>; + <T>(iteratee: lodash.ValueIteratee<T>, values: lodash.List<T>, array: ReadonlyArray<T>): T[]; + <T>(iteratee: lodash.__, values: lodash.__, array: lodash.List<T>): LodashPullAllBy2x4<T>; + <T>(iteratee: lodash.ValueIteratee<T>, values: lodash.__, array: lodash.List<T>): LodashPullAllBy2x5<T>; + <T>(iteratee: lodash.__, values: lodash.List<T>, array: lodash.List<T>): LodashPullAllBy2x6<T>; + <T>(iteratee: lodash.ValueIteratee<T>, values: lodash.List<T>, array: lodash.List<T>): lodash.List<T>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashPullAllBy3x1<T1, T2>; + <T2>(iteratee: lodash.__, values: lodash.List<T2>): LodashPullAllBy3x2<T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>): LodashPullAllBy3x3<T1>; + <T1>(iteratee: lodash.__, values: lodash.__, array: ReadonlyArray<T1>): LodashPullAllBy3x4<T1>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.__, array: ReadonlyArray<T1>): LodashPullAllBy3x5<T1, T2>; + <T1, T2>(iteratee: lodash.__, values: lodash.List<T2>, array: ReadonlyArray<T1>): LodashPullAllBy3x6<T1, T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>, array: ReadonlyArray<T1>): T1[]; + <T1>(iteratee: lodash.__, values: lodash.__, array: lodash.List<T1>): LodashPullAllBy4x4<T1>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.__, array: lodash.List<T1>): LodashPullAllBy4x5<T1, T2>; + <T1, T2>(iteratee: lodash.__, values: lodash.List<T2>, array: lodash.List<T1>): LodashPullAllBy4x6<T1, T2>; + <T1, T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>, array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllBy1x1<T> { + (values: lodash.List<T>): LodashPullAllBy1x3<T>; + (values: lodash.__, array: ReadonlyArray<T>): LodashPullAllBy1x5<T>; + (values: lodash.List<T>, array: ReadonlyArray<T>): T[]; + (values: lodash.__, array: lodash.List<T>): LodashPullAllBy2x5<T>; + (values: lodash.List<T>, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAllBy1x2<T> { + (iteratee: lodash.ValueIteratee<T>): LodashPullAllBy1x3<T>; + (iteratee: lodash.__, array: ReadonlyArray<T>): LodashPullAllBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, array: ReadonlyArray<T>): T[]; + (iteratee: lodash.__, array: lodash.List<T>): LodashPullAllBy2x6<T>; + (iteratee: lodash.ValueIteratee<T>, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAllBy1x3<T> { + (array: ReadonlyArray<T>): T[]; + (array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAllBy1x4<T> { + (iteratee: lodash.ValueIteratee<T>): LodashPullAllBy1x5<T>; + (iteratee: lodash.__, values: lodash.List<T>): LodashPullAllBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, values: lodash.List<T>): T[]; + } + type LodashPullAllBy1x5<T> = (values: lodash.List<T>) => T[]; + type LodashPullAllBy1x6<T> = (iteratee: lodash.ValueIteratee<T>) => T[]; + interface LodashPullAllBy2x4<T> { + (iteratee: lodash.ValueIteratee<T>): LodashPullAllBy2x5<T>; + (iteratee: lodash.__, values: lodash.List<T>): LodashPullAllBy2x6<T>; + (iteratee: lodash.ValueIteratee<T>, values: lodash.List<T>): lodash.List<T>; + } + type LodashPullAllBy2x5<T> = (values: lodash.List<T>) => lodash.List<T>; + type LodashPullAllBy2x6<T> = (iteratee: lodash.ValueIteratee<T>) => lodash.List<T>; + interface LodashPullAllBy3x1<T1, T2> { + (values: lodash.List<T2>): LodashPullAllBy3x3<T1>; + (values: lodash.__, array: ReadonlyArray<T1>): LodashPullAllBy3x5<T1, T2>; + (values: lodash.List<T2>, array: ReadonlyArray<T1>): T1[]; + (values: lodash.__, array: lodash.List<T1>): LodashPullAllBy4x5<T1, T2>; + (values: lodash.List<T2>, array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllBy3x2<T2> { + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashPullAllBy3x3<T1>; + <T1>(iteratee: lodash.__, array: ReadonlyArray<T1>): LodashPullAllBy3x6<T1, T2>; + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>, array: ReadonlyArray<T1>): T1[]; + <T1>(iteratee: lodash.__, array: lodash.List<T1>): LodashPullAllBy4x6<T1, T2>; + <T1>(iteratee: lodash.ValueIteratee<T1 | T2>, array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllBy3x3<T1> { + (array: ReadonlyArray<T1>): T1[]; + (array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllBy3x4<T1> { + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashPullAllBy3x5<T1, T2>; + <T2>(iteratee: lodash.__, values: lodash.List<T2>): LodashPullAllBy3x6<T1, T2>; + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>): T1[]; + } + type LodashPullAllBy3x5<T1, T2> = (values: lodash.List<T2>) => T1[]; + type LodashPullAllBy3x6<T1, T2> = (iteratee: lodash.ValueIteratee<T1 | T2>) => T1[]; + interface LodashPullAllBy4x4<T1> { + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>): LodashPullAllBy4x5<T1, T2>; + <T2>(iteratee: lodash.__, values: lodash.List<T2>): LodashPullAllBy4x6<T1, T2>; + <T2>(iteratee: lodash.ValueIteratee<T1 | T2>, values: lodash.List<T2>): lodash.List<T1>; + } + type LodashPullAllBy4x5<T1, T2> = (values: lodash.List<T2>) => lodash.List<T1>; + type LodashPullAllBy4x6<T1, T2> = (iteratee: lodash.ValueIteratee<T1 | T2>) => lodash.List<T1>; + interface LodashPullAllWith { + <T>(comparator: lodash.Comparator<T>): LodashPullAllWith1x1<T>; + <T>(comparator: lodash.__, values: lodash.List<T>): LodashPullAllWith1x2<T>; + <T>(comparator: lodash.Comparator<T>, values: lodash.List<T>): LodashPullAllWith1x3<T>; + <T>(comparator: lodash.__, values: lodash.__, array: ReadonlyArray<T>): LodashPullAllWith1x4<T>; + <T>(comparator: lodash.Comparator<T>, values: lodash.__, array: ReadonlyArray<T>): LodashPullAllWith1x5<T>; + <T>(comparator: lodash.__, values: lodash.List<T>, array: ReadonlyArray<T>): LodashPullAllWith1x6<T>; + <T>(comparator: lodash.Comparator<T>, values: lodash.List<T>, array: ReadonlyArray<T>): T[]; + <T>(comparator: lodash.__, values: lodash.__, array: lodash.List<T>): LodashPullAllWith2x4<T>; + <T>(comparator: lodash.Comparator<T>, values: lodash.__, array: lodash.List<T>): LodashPullAllWith2x5<T>; + <T>(comparator: lodash.__, values: lodash.List<T>, array: lodash.List<T>): LodashPullAllWith2x6<T>; + <T>(comparator: lodash.Comparator<T>, values: lodash.List<T>, array: lodash.List<T>): lodash.List<T>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>): LodashPullAllWith3x1<T1, T2>; + <T2>(comparator: lodash.__, values: lodash.List<T2>): LodashPullAllWith3x2<T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>): LodashPullAllWith3x3<T1>; + <T1>(comparator: lodash.__, values: lodash.__, array: ReadonlyArray<T1>): LodashPullAllWith3x4<T1>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.__, array: ReadonlyArray<T1>): LodashPullAllWith3x5<T1, T2>; + <T1, T2>(comparator: lodash.__, values: lodash.List<T2>, array: ReadonlyArray<T1>): LodashPullAllWith3x6<T1, T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>, array: ReadonlyArray<T1>): T1[]; + <T1>(comparator: lodash.__, values: lodash.__, array: lodash.List<T1>): LodashPullAllWith4x4<T1>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.__, array: lodash.List<T1>): LodashPullAllWith4x5<T1, T2>; + <T1, T2>(comparator: lodash.__, values: lodash.List<T2>, array: lodash.List<T1>): LodashPullAllWith4x6<T1, T2>; + <T1, T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>, array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllWith1x1<T> { + (values: lodash.List<T>): LodashPullAllWith1x3<T>; + (values: lodash.__, array: ReadonlyArray<T>): LodashPullAllWith1x5<T>; + (values: lodash.List<T>, array: ReadonlyArray<T>): T[]; + (values: lodash.__, array: lodash.List<T>): LodashPullAllWith2x5<T>; + (values: lodash.List<T>, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAllWith1x2<T> { + (comparator: lodash.Comparator<T>): LodashPullAllWith1x3<T>; + (comparator: lodash.__, array: ReadonlyArray<T>): LodashPullAllWith1x6<T>; + (comparator: lodash.Comparator<T>, array: ReadonlyArray<T>): T[]; + (comparator: lodash.__, array: lodash.List<T>): LodashPullAllWith2x6<T>; + (comparator: lodash.Comparator<T>, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAllWith1x3<T> { + (array: ReadonlyArray<T>): T[]; + (array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAllWith1x4<T> { + (comparator: lodash.Comparator<T>): LodashPullAllWith1x5<T>; + (comparator: lodash.__, values: lodash.List<T>): LodashPullAllWith1x6<T>; + (comparator: lodash.Comparator<T>, values: lodash.List<T>): T[]; + } + type LodashPullAllWith1x5<T> = (values: lodash.List<T>) => T[]; + type LodashPullAllWith1x6<T> = (comparator: lodash.Comparator<T>) => T[]; + interface LodashPullAllWith2x4<T> { + (comparator: lodash.Comparator<T>): LodashPullAllWith2x5<T>; + (comparator: lodash.__, values: lodash.List<T>): LodashPullAllWith2x6<T>; + (comparator: lodash.Comparator<T>, values: lodash.List<T>): lodash.List<T>; + } + type LodashPullAllWith2x5<T> = (values: lodash.List<T>) => lodash.List<T>; + type LodashPullAllWith2x6<T> = (comparator: lodash.Comparator<T>) => lodash.List<T>; + interface LodashPullAllWith3x1<T1, T2> { + (values: lodash.List<T2>): LodashPullAllWith3x3<T1>; + (values: lodash.__, array: ReadonlyArray<T1>): LodashPullAllWith3x5<T1, T2>; + (values: lodash.List<T2>, array: ReadonlyArray<T1>): T1[]; + (values: lodash.__, array: lodash.List<T1>): LodashPullAllWith4x5<T1, T2>; + (values: lodash.List<T2>, array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllWith3x2<T2> { + <T1>(comparator: lodash.Comparator2<T1, T2>): LodashPullAllWith3x3<T1>; + <T1>(comparator: lodash.__, array: ReadonlyArray<T1>): LodashPullAllWith3x6<T1, T2>; + <T1>(comparator: lodash.Comparator2<T1, T2>, array: ReadonlyArray<T1>): T1[]; + <T1>(comparator: lodash.__, array: lodash.List<T1>): LodashPullAllWith4x6<T1, T2>; + <T1>(comparator: lodash.Comparator2<T1, T2>, array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllWith3x3<T1> { + (array: ReadonlyArray<T1>): T1[]; + (array: lodash.List<T1>): lodash.List<T1>; + } + interface LodashPullAllWith3x4<T1> { + <T2>(comparator: lodash.Comparator2<T1, T2>): LodashPullAllWith3x5<T1, T2>; + <T2>(comparator: lodash.__, values: lodash.List<T2>): LodashPullAllWith3x6<T1, T2>; + <T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>): T1[]; + } + type LodashPullAllWith3x5<T1, T2> = (values: lodash.List<T2>) => T1[]; + type LodashPullAllWith3x6<T1, T2> = (comparator: lodash.Comparator2<T1, T2>) => T1[]; + interface LodashPullAllWith4x4<T1> { + <T2>(comparator: lodash.Comparator2<T1, T2>): LodashPullAllWith4x5<T1, T2>; + <T2>(comparator: lodash.__, values: lodash.List<T2>): LodashPullAllWith4x6<T1, T2>; + <T2>(comparator: lodash.Comparator2<T1, T2>, values: lodash.List<T2>): lodash.List<T1>; + } + type LodashPullAllWith4x5<T1, T2> = (values: lodash.List<T2>) => lodash.List<T1>; + type LodashPullAllWith4x6<T1, T2> = (comparator: lodash.Comparator2<T1, T2>) => lodash.List<T1>; + interface LodashPullAt { + (indexes: lodash.Many<number>): LodashPullAt1x1; + <T>(indexes: lodash.__, array: ReadonlyArray<T>): LodashPullAt1x2<T>; + <T>(indexes: lodash.Many<number>, array: ReadonlyArray<T>): T[]; + <T>(indexes: lodash.__, array: lodash.List<T>): LodashPullAt2x2<T>; + <T>(indexes: lodash.Many<number>, array: lodash.List<T>): lodash.List<T>; + } + interface LodashPullAt1x1 { + <T>(array: ReadonlyArray<T>): T[]; + <T>(array: lodash.List<T>): lodash.List<T>; + } + type LodashPullAt1x2<T> = (indexes: lodash.Many<number>) => T[]; + type LodashPullAt2x2<T> = (indexes: lodash.Many<number>) => lodash.List<T>; + interface LodashRandom { + (maxOrMin: number): LodashRandom1x1; + (max: lodash.__, floating: boolean): LodashRandom1x2; + (maxOrMin: number, floatingOrMax: boolean | number): number; + (min: lodash.__, max: number): LodashRandom2x2; + } + type LodashRandom1x1 = (floatingOrMax: boolean | number) => number; + type LodashRandom1x2 = (max: number) => number; + type LodashRandom2x2 = (min: number) => number; + interface LodashRange { + (start: number): LodashRange1x1; + (start: lodash.__, end: number): LodashRange1x2; + (start: number, end: number): number[]; + } + type LodashRange1x1 = (end: number) => number[]; + type LodashRange1x2 = (start: number) => number[]; + interface LodashRangeRight { + (start: number): LodashRangeRight1x1; + (start: lodash.__, end: number): LodashRangeRight1x2; + (start: number, end: number): number[]; + } + type LodashRangeRight1x1 = (end: number) => number[]; + type LodashRangeRight1x2 = (start: number) => number[]; + interface LodashRangeStep { + (start: number): LodashRangeStep1x1; + (start: lodash.__, end: number): LodashRangeStep1x2; + (start: number, end: number): LodashRangeStep1x3; + (start: lodash.__, end: lodash.__, step: number): LodashRangeStep1x4; + (start: number, end: lodash.__, step: number): LodashRangeStep1x5; + (start: lodash.__, end: number, step: number): LodashRangeStep1x6; + (start: number, end: number, step: number): number[]; + } + interface LodashRangeStep1x1 { + (end: number): LodashRangeStep1x3; + (end: lodash.__, step: number): LodashRangeStep1x5; + (end: number, step: number): number[]; + } + interface LodashRangeStep1x2 { + (start: number): LodashRangeStep1x3; + (start: lodash.__, step: number): LodashRangeStep1x6; + (start: number, step: number): number[]; + } + type LodashRangeStep1x3 = (step: number) => number[]; + interface LodashRangeStep1x4 { + (start: number): LodashRangeStep1x5; + (start: lodash.__, end: number): LodashRangeStep1x6; + (start: number, end: number): number[]; + } + type LodashRangeStep1x5 = (end: number) => number[]; + type LodashRangeStep1x6 = (start: number) => number[]; + interface LodashRangeStepRight { + (start: number): LodashRangeStepRight1x1; + (start: lodash.__, end: number): LodashRangeStepRight1x2; + (start: number, end: number): LodashRangeStepRight1x3; + (start: lodash.__, end: lodash.__, step: number): LodashRangeStepRight1x4; + (start: number, end: lodash.__, step: number): LodashRangeStepRight1x5; + (start: lodash.__, end: number, step: number): LodashRangeStepRight1x6; + (start: number, end: number, step: number): number[]; + } + interface LodashRangeStepRight1x1 { + (end: number): LodashRangeStepRight1x3; + (end: lodash.__, step: number): LodashRangeStepRight1x5; + (end: number, step: number): number[]; + } + interface LodashRangeStepRight1x2 { + (start: number): LodashRangeStepRight1x3; + (start: lodash.__, step: number): LodashRangeStepRight1x6; + (start: number, step: number): number[]; + } + type LodashRangeStepRight1x3 = (step: number) => number[]; + interface LodashRangeStepRight1x4 { + (start: number): LodashRangeStepRight1x5; + (start: lodash.__, end: number): LodashRangeStepRight1x6; + (start: number, end: number): number[]; + } + type LodashRangeStepRight1x5 = (end: number) => number[]; + type LodashRangeStepRight1x6 = (start: number) => number[]; + interface LodashRearg { + (indexes: lodash.Many<number>): LodashRearg1x1; + (indexes: lodash.__, func: (...args: any[]) => any): LodashRearg1x2; + (indexes: lodash.Many<number>, func: (...args: any[]) => any): (...args: any[]) => any; + } + type LodashRearg1x1 = (func: (...args: any[]) => any) => (...args: any[]) => any; + type LodashRearg1x2 = (indexes: lodash.Many<number>) => (...args: any[]) => any; + interface LodashReduce { + <T, TResult>(callback: lodash.MemoIteratorCapped<T, TResult>): LodashReduce1x1<T, TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduce1x2<TResult>; + <T, TResult>(callback: lodash.MemoIteratorCapped<T, TResult>, accumulator: TResult): LodashReduce1x3<T, TResult>; + <T>(callback: lodash.__, accumulator: lodash.__, collection: T[] | null | undefined): LodashReduce1x4<T>; + <T, TResult>(callback: lodash.MemoIteratorCapped<T, TResult>, accumulator: lodash.__, collection: T[] | null | undefined): LodashReduce1x5<TResult>; + <T, TResult>(callback: lodash.__, accumulator: TResult, collection: T[] | null | undefined): LodashReduce1x6<T, TResult>; + <T, TResult>(callback: lodash.MemoIteratorCapped<T, TResult>, accumulator: TResult, collection: T[] | lodash.List<T> | null | undefined): TResult; + <T>(callback: lodash.__, accumulator: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduce2x4<T>; + <T, TResult>(callback: lodash.MemoIteratorCapped<T, TResult>, accumulator: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduce2x5<TResult>; + <T, TResult>(callback: lodash.__, accumulator: TResult, collection: lodash.List<T> | null | undefined): LodashReduce2x6<T, TResult>; + <T extends object, TResult>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>): LodashReduce3x1<T, TResult>; + <T extends object, TResult>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>, accumulator: TResult): LodashReduce3x3<T, TResult>; + <T extends object>(callback: lodash.__, accumulator: lodash.__, collection: T | null | undefined): LodashReduce3x4<T>; + <T extends object, TResult>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>, accumulator: lodash.__, collection: T | null | undefined): LodashReduce3x5<TResult>; + <T extends object, TResult>(callback: lodash.__, accumulator: TResult, collection: T | null | undefined): LodashReduce3x6<T, TResult>; + <T extends object, TResult>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>, accumulator: TResult, collection: T | null | undefined): TResult; + } + interface LodashReduce1x1<T, TResult> { + (accumulator: TResult): LodashReduce1x3<T, TResult>; + (accumulator: lodash.__, collection: T[] | null | undefined): LodashReduce1x5<TResult>; + (accumulator: TResult, collection: T[] | lodash.List<T> | null | undefined): TResult; + (accumulator: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduce2x5<TResult>; + } + interface LodashReduce1x2<TResult> { + <T>(callback: lodash.MemoIteratorCapped<T, TResult>): LodashReduce1x3<T, TResult>; + <T>(callback: lodash.__, collection: T[] | null | undefined): LodashReduce1x6<T, TResult>; + <T>(callback: lodash.MemoIteratorCapped<T, TResult>, collection: T[] | lodash.List<T> | null | undefined): TResult; + <T>(callback: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduce2x6<T, TResult>; + <T extends object>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>): LodashReduce3x3<T, TResult>; + <T extends object>(callback: lodash.__, collection: T | null | undefined): LodashReduce3x6<T, TResult>; + <T extends object>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>, collection: T | null | undefined): TResult; + } + type LodashReduce1x3<T, TResult> = (collection: T[] | lodash.List<T> | null | undefined) => TResult; + interface LodashReduce1x4<T> { + <TResult>(callback: lodash.MemoIteratorCapped<T, TResult>): LodashReduce1x5<TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduce1x6<T, TResult>; + <TResult>(callback: lodash.MemoIteratorCapped<T, TResult>, accumulator: TResult): TResult; + } + type LodashReduce1x5<TResult> = (accumulator: TResult) => TResult; + type LodashReduce1x6<T, TResult> = (callback: lodash.MemoIteratorCapped<T, TResult>) => TResult; + interface LodashReduce2x4<T> { + <TResult>(callback: lodash.MemoIteratorCapped<T, TResult>): LodashReduce2x5<TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduce2x6<T, TResult>; + <TResult>(callback: lodash.MemoIteratorCapped<T, TResult>, accumulator: TResult): TResult; + } + type LodashReduce2x5<TResult> = (accumulator: TResult) => TResult; + type LodashReduce2x6<T, TResult> = (callback: lodash.MemoIteratorCapped<T, TResult>) => TResult; + interface LodashReduce3x1<T, TResult> { + (accumulator: TResult): LodashReduce3x3<T, TResult>; + (accumulator: lodash.__, collection: T | null | undefined): LodashReduce3x5<TResult>; + (accumulator: TResult, collection: T | null | undefined): TResult; + } + type LodashReduce3x3<T, TResult> = (collection: T | null | undefined) => TResult; + interface LodashReduce3x4<T> { + <TResult>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>): LodashReduce3x5<TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduce3x6<T, TResult>; + <TResult>(callback: lodash.MemoIteratorCapped<T[keyof T], TResult>, accumulator: TResult): TResult; + } + type LodashReduce3x5<TResult> = (accumulator: TResult) => TResult; + type LodashReduce3x6<T, TResult> = (callback: lodash.MemoIteratorCapped<T[keyof T], TResult>) => TResult; + interface LodashReduceRight { + <T, TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>): LodashReduceRight1x1<T, TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduceRight1x2<TResult>; + <T, TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>, accumulator: TResult): LodashReduceRight1x3<T, TResult>; + <T>(callback: lodash.__, accumulator: lodash.__, collection: T[] | null | undefined): LodashReduceRight1x4<T>; + <T, TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>, accumulator: lodash.__, collection: T[] | null | undefined): LodashReduceRight1x5<TResult>; + <T, TResult>(callback: lodash.__, accumulator: TResult, collection: T[] | null | undefined): LodashReduceRight1x6<T, TResult>; + <T, TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>, accumulator: TResult, collection: T[] | lodash.List<T> | null | undefined): TResult; + <T>(callback: lodash.__, accumulator: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduceRight2x4<T>; + <T, TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>, accumulator: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduceRight2x5<TResult>; + <T, TResult>(callback: lodash.__, accumulator: TResult, collection: lodash.List<T> | null | undefined): LodashReduceRight2x6<T, TResult>; + <T extends object, TResult>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>): LodashReduceRight3x1<T, TResult>; + <T extends object, TResult>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>, accumulator: TResult): LodashReduceRight3x3<T, TResult>; + <T extends object>(callback: lodash.__, accumulator: lodash.__, collection: T | null | undefined): LodashReduceRight3x4<T>; + <T extends object, TResult>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>, accumulator: lodash.__, collection: T | null | undefined): LodashReduceRight3x5<TResult>; + <T extends object, TResult>(callback: lodash.__, accumulator: TResult, collection: T | null | undefined): LodashReduceRight3x6<T, TResult>; + <T extends object, TResult>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>, accumulator: TResult, collection: T | null | undefined): TResult; + } + interface LodashReduceRight1x1<T, TResult> { + (accumulator: TResult): LodashReduceRight1x3<T, TResult>; + (accumulator: lodash.__, collection: T[] | null | undefined): LodashReduceRight1x5<TResult>; + (accumulator: TResult, collection: T[] | lodash.List<T> | null | undefined): TResult; + (accumulator: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduceRight2x5<TResult>; + } + interface LodashReduceRight1x2<TResult> { + <T>(callback: lodash.MemoIteratorCappedRight<T, TResult>): LodashReduceRight1x3<T, TResult>; + <T>(callback: lodash.__, collection: T[] | null | undefined): LodashReduceRight1x6<T, TResult>; + <T>(callback: lodash.MemoIteratorCappedRight<T, TResult>, collection: T[] | lodash.List<T> | null | undefined): TResult; + <T>(callback: lodash.__, collection: lodash.List<T> | null | undefined): LodashReduceRight2x6<T, TResult>; + <T extends object>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>): LodashReduceRight3x3<T, TResult>; + <T extends object>(callback: lodash.__, collection: T | null | undefined): LodashReduceRight3x6<T, TResult>; + <T extends object>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>, collection: T | null | undefined): TResult; + } + type LodashReduceRight1x3<T, TResult> = (collection: T[] | lodash.List<T> | null | undefined) => TResult; + interface LodashReduceRight1x4<T> { + <TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>): LodashReduceRight1x5<TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduceRight1x6<T, TResult>; + <TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>, accumulator: TResult): TResult; + } + type LodashReduceRight1x5<TResult> = (accumulator: TResult) => TResult; + type LodashReduceRight1x6<T, TResult> = (callback: lodash.MemoIteratorCappedRight<T, TResult>) => TResult; + interface LodashReduceRight2x4<T> { + <TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>): LodashReduceRight2x5<TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduceRight2x6<T, TResult>; + <TResult>(callback: lodash.MemoIteratorCappedRight<T, TResult>, accumulator: TResult): TResult; + } + type LodashReduceRight2x5<TResult> = (accumulator: TResult) => TResult; + type LodashReduceRight2x6<T, TResult> = (callback: lodash.MemoIteratorCappedRight<T, TResult>) => TResult; + interface LodashReduceRight3x1<T, TResult> { + (accumulator: TResult): LodashReduceRight3x3<T, TResult>; + (accumulator: lodash.__, collection: T | null | undefined): LodashReduceRight3x5<TResult>; + (accumulator: TResult, collection: T | null | undefined): TResult; + } + type LodashReduceRight3x3<T, TResult> = (collection: T | null | undefined) => TResult; + interface LodashReduceRight3x4<T> { + <TResult>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>): LodashReduceRight3x5<TResult>; + <TResult>(callback: lodash.__, accumulator: TResult): LodashReduceRight3x6<T, TResult>; + <TResult>(callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>, accumulator: TResult): TResult; + } + type LodashReduceRight3x5<TResult> = (accumulator: TResult) => TResult; + type LodashReduceRight3x6<T, TResult> = (callback: lodash.MemoIteratorCappedRight<T[keyof T], TResult>) => TResult; + interface LodashReject { + (predicate: (value: string) => boolean): LodashReject1x1; + (predicate: lodash.__, collection: string | null | undefined): LodashReject1x2; + (predicate: (value: string) => boolean, collection: string | null | undefined): string[]; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>): LodashReject2x1<T>; + <T>(predicate: lodash.__, collection: lodash.List<T> | null | undefined): LodashReject2x2<T>; + <T>(predicate: lodash.ValueIterateeCustom<T, boolean>, collection: lodash.List<T> | null | undefined): T[]; + <T extends object>(predicate: lodash.__, collection: T | null | undefined): LodashReject3x2<T>; + <T extends object>(predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>, collection: T | null | undefined): Array<T[keyof T]>; + } + type LodashReject1x1 = (collection: string | null | undefined) => string[]; + type LodashReject1x2 = (predicate: (value: string) => boolean) => string[]; + type LodashReject2x1<T> = (collection: lodash.List<T> | object | null | undefined) => T[]; + type LodashReject2x2<T> = (predicate: lodash.ValueIterateeCustom<T, boolean>) => T[]; + type LodashReject3x2<T> = (predicate: lodash.ValueIterateeCustom<T[keyof T], boolean>) => Array<T[keyof T]>; + interface LodashRemove { + <T>(predicate: lodash.ValueIteratee<T>): LodashRemove1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T>): LodashRemove1x2<T>; + <T>(predicate: lodash.ValueIteratee<T>, array: lodash.List<T>): T[]; + } + type LodashRemove1x1<T> = (array: lodash.List<T>) => T[]; + type LodashRemove1x2<T> = (predicate: lodash.ValueIteratee<T>) => T[]; + interface LodashRepeat { + (n: number): LodashRepeat1x1; + (n: lodash.__, string: string): LodashRepeat1x2; + (n: number, string: string): string; + } + type LodashRepeat1x1 = (string: string) => string; + type LodashRepeat1x2 = (n: number) => string; + interface LodashReplace { + (pattern: RegExp | string): LodashReplace1x1; + (pattern: lodash.__, replacement: lodash.ReplaceFunction | string): LodashReplace1x2; + (pattern: RegExp | string, replacement: lodash.ReplaceFunction | string): LodashReplace1x3; + (pattern: lodash.__, replacement: lodash.__, string: string): LodashReplace1x4; + (pattern: RegExp | string, replacement: lodash.__, string: string): LodashReplace1x5; + (pattern: lodash.__, replacement: lodash.ReplaceFunction | string, string: string): LodashReplace1x6; + (pattern: RegExp | string, replacement: lodash.ReplaceFunction | string, string: string): string; + } + interface LodashReplace1x1 { + (replacement: lodash.ReplaceFunction | string): LodashReplace1x3; + (replacement: lodash.__, string: string): LodashReplace1x5; + (replacement: lodash.ReplaceFunction | string, string: string): string; + } + interface LodashReplace1x2 { + (pattern: RegExp | string): LodashReplace1x3; + (pattern: lodash.__, string: string): LodashReplace1x6; + (pattern: RegExp | string, string: string): string; + } + type LodashReplace1x3 = (string: string) => string; + interface LodashReplace1x4 { + (pattern: RegExp | string): LodashReplace1x5; + (pattern: lodash.__, replacement: lodash.ReplaceFunction | string): LodashReplace1x6; + (pattern: RegExp | string, replacement: lodash.ReplaceFunction | string): string; + } + type LodashReplace1x5 = (replacement: lodash.ReplaceFunction | string) => string; + type LodashReplace1x6 = (pattern: RegExp | string) => string; + type LodashRest = (func: (...args: any[]) => any) => (...args: any[]) => any; + interface LodashRestFrom { + (start: number): LodashRestFrom1x1; + (start: lodash.__, func: (...args: any[]) => any): LodashRestFrom1x2; + (start: number, func: (...args: any[]) => any): (...args: any[]) => any; + } + type LodashRestFrom1x1 = (func: (...args: any[]) => any) => (...args: any[]) => any; + type LodashRestFrom1x2 = (start: number) => (...args: any[]) => any; + interface LodashResult { + (path: lodash.PropertyPath): LodashResult1x1; + (path: lodash.__, object: any): LodashResult1x2; + <TResult>(path: lodash.PropertyPath, object: any): TResult; + } + type LodashResult1x1 = <TResult>(object: any) => TResult; + type LodashResult1x2 = <TResult>(path: lodash.PropertyPath) => TResult; + type LodashReverse = <TList extends lodash.List<any>>(array: TList) => TList; + type LodashRound = (n: number) => number; + type LodashRunInContext = (context: object) => lodash.LoDashStatic; + interface LodashSample { + <T>(collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): T | undefined; + <T extends object>(collection: T | null | undefined): T[keyof T] | undefined; + } + interface LodashSampleSize { + (n: number): LodashSampleSize1x1; + <T>(n: lodash.__, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): LodashSampleSize1x2<T>; + <T>(n: number, collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): T[]; + <T extends object>(n: lodash.__, collection: T | null | undefined): LodashSampleSize2x2<T>; + <T extends object>(n: number, collection: T | null | undefined): Array<T[keyof T]>; + } + interface LodashSampleSize1x1 { + <T>(collection: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): T[]; + <T extends object>(collection: T | null | undefined): Array<T[keyof T]>; + } + type LodashSampleSize1x2<T> = (n: number) => T[]; + type LodashSampleSize2x2<T> = (n: number) => Array<T[keyof T]>; + interface LodashSetWith { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x1<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashSetWith1x2; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): LodashSetWith1x3<T>; + (customizer: lodash.__, path: lodash.__, value: any): LodashSetWith1x4; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, value: any): LodashSetWith1x5<T>; + (customizer: lodash.__, path: lodash.PropertyPath, value: any): LodashSetWith1x6; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, value: any): LodashSetWith1x7<T>; + <T extends object>(customizer: lodash.__, path: lodash.__, value: lodash.__, object: T): LodashSetWith1x8<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, value: lodash.__, object: T): LodashSetWith1x9<T>; + <T extends object>(customizer: lodash.__, path: lodash.PropertyPath, value: lodash.__, object: T): LodashSetWith1x10<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, value: lodash.__, object: T): LodashSetWith1x11<T>; + <T extends object>(customizer: lodash.__, path: lodash.__, value: any, object: T): LodashSetWith1x12<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, value: any, object: T): LodashSetWith1x13<T>; + <T extends object>(customizer: lodash.__, path: lodash.PropertyPath, value: any, object: T): LodashSetWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, value: any, object: T): T; + } + interface LodashSetWith1x1<T> { + (path: lodash.PropertyPath): LodashSetWith1x3<T>; + (path: lodash.__, value: any): LodashSetWith1x5<T>; + (path: lodash.PropertyPath, value: any): LodashSetWith1x7<T>; + (path: lodash.__, value: lodash.__, object: T): LodashSetWith1x9<T>; + (path: lodash.PropertyPath, value: lodash.__, object: T): LodashSetWith1x11<T>; + (path: lodash.__, value: any, object: T): LodashSetWith1x13<T>; + (path: lodash.PropertyPath, value: any, object: T): T; + } + interface LodashSetWith1x2 { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x3<T>; + (customizer: lodash.__, value: any): LodashSetWith1x6; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, value: any): LodashSetWith1x7<T>; + <T extends object>(customizer: lodash.__, value: lodash.__, object: T): LodashSetWith1x10<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, value: lodash.__, object: T): LodashSetWith1x11<T>; + <T extends object>(customizer: lodash.__, value: any, object: T): LodashSetWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, value: any, object: T): T; + } + interface LodashSetWith1x3<T> { + (value: any): LodashSetWith1x7<T>; + (value: lodash.__, object: T): LodashSetWith1x11<T>; + (value: any, object: T): T; + } + interface LodashSetWith1x4 { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x5<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashSetWith1x6; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): LodashSetWith1x7<T>; + <T extends object>(customizer: lodash.__, path: lodash.__, object: T): LodashSetWith1x12<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, object: T): LodashSetWith1x13<T>; + <T extends object>(customizer: lodash.__, path: lodash.PropertyPath, object: T): LodashSetWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, object: T): T; + } + interface LodashSetWith1x5<T> { + (path: lodash.PropertyPath): LodashSetWith1x7<T>; + (path: lodash.__, object: T): LodashSetWith1x13<T>; + (path: lodash.PropertyPath, object: T): T; + } + interface LodashSetWith1x6 { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x7<T>; + <T extends object>(customizer: lodash.__, object: T): LodashSetWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, object: T): T; + } + type LodashSetWith1x7<T> = (object: T) => T; + interface LodashSetWith1x8<T> { + (customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x9<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashSetWith1x10<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): LodashSetWith1x11<T>; + (customizer: lodash.__, path: lodash.__, value: any): LodashSetWith1x12<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.__, value: any): LodashSetWith1x13<T>; + (customizer: lodash.__, path: lodash.PropertyPath, value: any): LodashSetWith1x14<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, value: any): T; + } + interface LodashSetWith1x9<T> { + (path: lodash.PropertyPath): LodashSetWith1x11<T>; + (path: lodash.__, value: any): LodashSetWith1x13<T>; + (path: lodash.PropertyPath, value: any): T; + } + interface LodashSetWith1x10<T> { + (customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x11<T>; + (customizer: lodash.__, value: any): LodashSetWith1x14<T>; + (customizer: lodash.SetWithCustomizer<T>, value: any): T; + } + type LodashSetWith1x11<T> = (value: any) => T; + interface LodashSetWith1x12<T> { + (customizer: lodash.SetWithCustomizer<T>): LodashSetWith1x13<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashSetWith1x14<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): T; + } + type LodashSetWith1x13<T> = (path: lodash.PropertyPath) => T; + type LodashSetWith1x14<T> = (customizer: lodash.SetWithCustomizer<T>) => T; + interface LodashShuffle { + <T>(collection: lodash.List<T> | null | undefined): T[]; + <T extends object>(collection: T | null | undefined): Array<T[keyof T]>; + } + type LodashSize = (collection: object | string | null | undefined) => number; + interface LodashSlice { + (start: number): LodashSlice1x1; + (start: lodash.__, end: number): LodashSlice1x2; + (start: number, end: number): LodashSlice1x3; + <T>(start: lodash.__, end: lodash.__, array: lodash.List<T> | null | undefined): LodashSlice1x4<T>; + <T>(start: number, end: lodash.__, array: lodash.List<T> | null | undefined): LodashSlice1x5<T>; + <T>(start: lodash.__, end: number, array: lodash.List<T> | null | undefined): LodashSlice1x6<T>; + <T>(start: number, end: number, array: lodash.List<T> | null | undefined): T[]; + } + interface LodashSlice1x1 { + (end: number): LodashSlice1x3; + <T>(end: lodash.__, array: lodash.List<T> | null | undefined): LodashSlice1x5<T>; + <T>(end: number, array: lodash.List<T> | null | undefined): T[]; + } + interface LodashSlice1x2 { + (start: number): LodashSlice1x3; + <T>(start: lodash.__, array: lodash.List<T> | null | undefined): LodashSlice1x6<T>; + <T>(start: number, array: lodash.List<T> | null | undefined): T[]; + } + type LodashSlice1x3 = <T>(array: lodash.List<T> | null | undefined) => T[]; + interface LodashSlice1x4<T> { + (start: number): LodashSlice1x5<T>; + (start: lodash.__, end: number): LodashSlice1x6<T>; + (start: number, end: number): T[]; + } + type LodashSlice1x5<T> = (end: number) => T[]; + type LodashSlice1x6<T> = (start: number) => T[]; + type LodashSnakeCase = (string: string) => string; + interface LodashSortBy { + <T>(iteratees: lodash.Many<lodash.ValueIteratee<T>>): LodashSortBy1x1<T>; + <T>(iteratees: lodash.__, collection: lodash.List<T> | null | undefined): LodashSortBy1x2<T>; + <T>(iteratees: lodash.Many<lodash.ValueIteratee<T>>, collection: lodash.List<T> | null | undefined): T[]; + <T extends object>(iteratees: lodash.__, collection: T | null | undefined): LodashSortBy2x2<T>; + <T extends object>(iteratees: lodash.Many<lodash.ValueIteratee<T[keyof T]>>, collection: T | null | undefined): Array<T[keyof T]>; + } + type LodashSortBy1x1<T> = (collection: lodash.List<T> | object | null | undefined) => T[]; + type LodashSortBy1x2<T> = (iteratees: lodash.Many<lodash.ValueIteratee<T>>) => T[]; + type LodashSortBy2x2<T> = (iteratees: lodash.Many<lodash.ValueIteratee<T[keyof T]>>) => Array<T[keyof T]>; + interface LodashSortedIndex { + <T>(value: T): LodashSortedIndex1x1<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedIndex1x2<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashSortedIndex1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashSortedIndex1x2<T> = (value: T) => number; + interface LodashSortedIndexBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashSortedIndexBy1x1<T>; + <T>(iteratee: lodash.__, value: T): LodashSortedIndexBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, value: T): LodashSortedIndexBy1x3<T>; + <T>(iteratee: lodash.__, value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedIndexBy1x4<T>; + <T>(iteratee: lodash.ValueIteratee<T>, value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedIndexBy1x5<T>; + <T>(iteratee: lodash.__, value: T, array: lodash.List<T> | null | undefined): LodashSortedIndexBy1x6<T>; + <T>(iteratee: lodash.ValueIteratee<T>, value: T, array: lodash.List<T> | null | undefined): number; + } + interface LodashSortedIndexBy1x1<T> { + (value: T): LodashSortedIndexBy1x3<T>; + (value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedIndexBy1x5<T>; + (value: T, array: lodash.List<T> | null | undefined): number; + } + interface LodashSortedIndexBy1x2<T> { + (iteratee: lodash.ValueIteratee<T>): LodashSortedIndexBy1x3<T>; + (iteratee: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedIndexBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): number; + } + type LodashSortedIndexBy1x3<T> = (array: lodash.List<T> | null | undefined) => number; + interface LodashSortedIndexBy1x4<T> { + (iteratee: lodash.ValueIteratee<T>): LodashSortedIndexBy1x5<T>; + (iteratee: lodash.__, value: T): LodashSortedIndexBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, value: T): number; + } + type LodashSortedIndexBy1x5<T> = (value: T) => number; + type LodashSortedIndexBy1x6<T> = (iteratee: lodash.ValueIteratee<T>) => number; + interface LodashSortedIndexOf { + <T>(value: T): LodashSortedIndexOf1x1<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedIndexOf1x2<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashSortedIndexOf1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashSortedIndexOf1x2<T> = (value: T) => number; + interface LodashSortedLastIndex { + <T>(value: T): LodashSortedLastIndex1x1<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedLastIndex1x2<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashSortedLastIndex1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashSortedLastIndex1x2<T> = (value: T) => number; + interface LodashSortedLastIndexBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashSortedLastIndexBy1x1<T>; + <T>(iteratee: lodash.__, value: T): LodashSortedLastIndexBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, value: T): LodashSortedLastIndexBy1x3<T>; + <T>(iteratee: lodash.__, value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedLastIndexBy1x4<T>; + <T>(iteratee: lodash.ValueIteratee<T>, value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedLastIndexBy1x5<T>; + <T>(iteratee: lodash.__, value: T, array: lodash.List<T> | null | undefined): LodashSortedLastIndexBy1x6<T>; + <T>(iteratee: lodash.ValueIteratee<T>, value: T, array: lodash.List<T> | null | undefined): number; + } + interface LodashSortedLastIndexBy1x1<T> { + (value: T): LodashSortedLastIndexBy1x3<T>; + (value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedLastIndexBy1x5<T>; + (value: T, array: lodash.List<T> | null | undefined): number; + } + interface LodashSortedLastIndexBy1x2<T> { + (iteratee: lodash.ValueIteratee<T>): LodashSortedLastIndexBy1x3<T>; + (iteratee: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedLastIndexBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): number; + } + type LodashSortedLastIndexBy1x3<T> = (array: lodash.List<T> | null | undefined) => number; + interface LodashSortedLastIndexBy1x4<T> { + (iteratee: lodash.ValueIteratee<T>): LodashSortedLastIndexBy1x5<T>; + (iteratee: lodash.__, value: T): LodashSortedLastIndexBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, value: T): number; + } + type LodashSortedLastIndexBy1x5<T> = (value: T) => number; + type LodashSortedLastIndexBy1x6<T> = (iteratee: lodash.ValueIteratee<T>) => number; + interface LodashSortedLastIndexOf { + <T>(value: T): LodashSortedLastIndexOf1x1<T>; + <T>(value: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedLastIndexOf1x2<T>; + <T>(value: T, array: lodash.List<T> | null | undefined): number; + } + type LodashSortedLastIndexOf1x1<T> = (array: lodash.List<T> | null | undefined) => number; + type LodashSortedLastIndexOf1x2<T> = (value: T) => number; + type LodashSortedUniq = <T>(array: lodash.List<T> | null | undefined) => T[]; + interface LodashSortedUniqBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashSortedUniqBy1x1<T>; + <T>(iteratee: lodash.__, array: lodash.List<T> | null | undefined): LodashSortedUniqBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashSortedUniqBy1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashSortedUniqBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => T[]; + interface LodashSplit { + (separator: RegExp|string): LodashSplit1x1; + (separator: lodash.__, string: string): LodashSplit1x2; + (separator: RegExp|string, string: string): string[]; + } + type LodashSplit1x1 = (string: string) => string[]; + type LodashSplit1x2 = (separator: RegExp|string) => string[]; + type LodashSpread = <TResult>(func: (...args: any[]) => TResult) => (...args: any[]) => TResult; + interface LodashSpreadFrom { + (start: number): LodashSpreadFrom1x1; + <TResult>(start: lodash.__, func: (...args: any[]) => TResult): LodashSpreadFrom1x2<TResult>; + <TResult>(start: number, func: (...args: any[]) => TResult): (...args: any[]) => TResult; + } + type LodashSpreadFrom1x1 = <TResult>(func: (...args: any[]) => TResult) => (...args: any[]) => TResult; + type LodashSpreadFrom1x2<TResult> = (start: number) => (...args: any[]) => TResult; + type LodashStartCase = (string: string) => string; + interface LodashStartsWith { + (target: string): LodashStartsWith1x1; + (target: lodash.__, string: string): LodashStartsWith1x2; + (target: string, string: string): boolean; + } + type LodashStartsWith1x1 = (string: string) => boolean; + type LodashStartsWith1x2 = (target: string) => boolean; + type LodashStubArray = () => any[]; + type LodashStubObject = () => any; + type LodashStubString = () => string; + type LodashStubTrue = () => true; + interface LodashSubtract { + (minuend: number): LodashSubtract1x1; + (minuend: lodash.__, subtrahend: number): LodashSubtract1x2; + (minuend: number, subtrahend: number): number; + } + type LodashSubtract1x1 = (subtrahend: number) => number; + type LodashSubtract1x2 = (minuend: number) => number; + type LodashSum = (collection: lodash.List<any> | null | undefined) => number; + interface LodashSumBy { + <T>(iteratee: ((value: T) => number) | string): LodashSumBy1x1<T>; + <T>(iteratee: lodash.__, collection: lodash.List<T> | null | undefined): LodashSumBy1x2<T>; + <T>(iteratee: ((value: T) => number) | string, collection: lodash.List<T> | null | undefined): number; + } + type LodashSumBy1x1<T> = (collection: lodash.List<T> | null | undefined) => number; + type LodashSumBy1x2<T> = (iteratee: ((value: T) => number) | string) => number; + interface LodashXor { + <T>(arrays2: lodash.List<T> | null | undefined): LodashXor1x1<T>; + <T>(arrays2: lodash.__, arrays: lodash.List<T> | null | undefined): LodashXor1x2<T>; + <T>(arrays2: lodash.List<T> | null | undefined, arrays: lodash.List<T> | null | undefined): T[]; + } + type LodashXor1x1<T> = (arrays: lodash.List<T> | null | undefined) => T[]; + type LodashXor1x2<T> = (arrays2: lodash.List<T> | null | undefined) => T[]; + interface LodashXorBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashXorBy1x1<T>; + <T>(iteratee: lodash.__, arrays: lodash.List<T> | null | undefined): LodashXorBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, arrays: lodash.List<T> | null | undefined): LodashXorBy1x3<T>; + <T>(iteratee: lodash.__, arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorBy1x4<T>; + <T>(iteratee: lodash.ValueIteratee<T>, arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorBy1x5<T>; + <T>(iteratee: lodash.__, arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): LodashXorBy1x6<T>; + <T>(iteratee: lodash.ValueIteratee<T>, arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashXorBy1x1<T> { + (arrays: lodash.List<T> | null | undefined): LodashXorBy1x3<T>; + (arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorBy1x5<T>; + (arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashXorBy1x2<T> { + (iteratee: lodash.ValueIteratee<T>): LodashXorBy1x3<T>; + (iteratee: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, arrays2: lodash.List<T> | null | undefined): T[]; + } + type LodashXorBy1x3<T> = (arrays2: lodash.List<T> | null | undefined) => T[]; + interface LodashXorBy1x4<T> { + (iteratee: lodash.ValueIteratee<T>): LodashXorBy1x5<T>; + (iteratee: lodash.__, arrays: lodash.List<T> | null | undefined): LodashXorBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, arrays: lodash.List<T> | null | undefined): T[]; + } + type LodashXorBy1x5<T> = (arrays: lodash.List<T> | null | undefined) => T[]; + type LodashXorBy1x6<T> = (iteratee: lodash.ValueIteratee<T>) => T[]; + interface LodashXorWith { + <T>(comparator: lodash.Comparator<T>): LodashXorWith1x1<T>; + <T>(comparator: lodash.__, arrays: lodash.List<T> | null | undefined): LodashXorWith1x2<T>; + <T>(comparator: lodash.Comparator<T>, arrays: lodash.List<T> | null | undefined): LodashXorWith1x3<T>; + <T>(comparator: lodash.__, arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorWith1x4<T>; + <T>(comparator: lodash.Comparator<T>, arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorWith1x5<T>; + <T>(comparator: lodash.__, arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): LodashXorWith1x6<T>; + <T>(comparator: lodash.Comparator<T>, arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashXorWith1x1<T> { + (arrays: lodash.List<T> | null | undefined): LodashXorWith1x3<T>; + (arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorWith1x5<T>; + (arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashXorWith1x2<T> { + (comparator: lodash.Comparator<T>): LodashXorWith1x3<T>; + (comparator: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashXorWith1x6<T>; + (comparator: lodash.Comparator<T>, arrays2: lodash.List<T> | null | undefined): T[]; + } + type LodashXorWith1x3<T> = (arrays2: lodash.List<T> | null | undefined) => T[]; + interface LodashXorWith1x4<T> { + (comparator: lodash.Comparator<T>): LodashXorWith1x5<T>; + (comparator: lodash.__, arrays: lodash.List<T> | null | undefined): LodashXorWith1x6<T>; + (comparator: lodash.Comparator<T>, arrays: lodash.List<T> | null | undefined): T[]; + } + type LodashXorWith1x5<T> = (arrays: lodash.List<T> | null | undefined) => T[]; + type LodashXorWith1x6<T> = (comparator: lodash.Comparator<T>) => T[]; + type LodashTail = <T>(array: lodash.List<T> | null | undefined) => T[]; + interface LodashTake { + (n: number): LodashTake1x1; + <T>(n: lodash.__, array: lodash.List<T> | null | undefined): LodashTake1x2<T>; + <T>(n: number, array: lodash.List<T> | null | undefined): T[]; + } + type LodashTake1x1 = <T>(array: lodash.List<T> | null | undefined) => T[]; + type LodashTake1x2<T> = (n: number) => T[]; + interface LodashTakeRight { + (n: number): LodashTakeRight1x1; + <T>(n: lodash.__, array: lodash.List<T> | null | undefined): LodashTakeRight1x2<T>; + <T>(n: number, array: lodash.List<T> | null | undefined): T[]; + } + type LodashTakeRight1x1 = <T>(array: lodash.List<T> | null | undefined) => T[]; + type LodashTakeRight1x2<T> = (n: number) => T[]; + interface LodashTakeRightWhile { + <T>(predicate: lodash.ValueIteratee<T>): LodashTakeRightWhile1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashTakeRightWhile1x2<T>; + <T>(predicate: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashTakeRightWhile1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashTakeRightWhile1x2<T> = (predicate: lodash.ValueIteratee<T>) => T[]; + interface LodashTakeWhile { + <T>(predicate: lodash.ValueIteratee<T>): LodashTakeWhile1x1<T>; + <T>(predicate: lodash.__, array: lodash.List<T> | null | undefined): LodashTakeWhile1x2<T>; + <T>(predicate: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashTakeWhile1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashTakeWhile1x2<T> = (predicate: lodash.ValueIteratee<T>) => T[]; + interface LodashTap { + <T>(interceptor: (value: T) => void): LodashTap1x1<T>; + <T>(interceptor: lodash.__, value: T): LodashTap1x2<T>; + <T>(interceptor: (value: T) => void, value: T): T; + } + type LodashTap1x1<T> = (value: T) => T; + type LodashTap1x2<T> = (interceptor: (value: T) => void) => T; + type LodashTemplate = (string: string) => lodash.TemplateExecutor; + interface LodashThrottle { + (wait: number): LodashThrottle1x1; + <T extends (...args: any[]) => any>(wait: lodash.__, func: T): LodashThrottle1x2<T>; + <T extends (...args: any[]) => any>(wait: number, func: T): T & lodash.Cancelable; + } + type LodashThrottle1x1 = <T extends (...args: any[]) => any>(func: T) => T & lodash.Cancelable; + type LodashThrottle1x2<T> = (wait: number) => T & lodash.Cancelable; + interface LodashThru { + <T, TResult>(interceptor: (value: T) => TResult): LodashThru1x1<T, TResult>; + <T>(interceptor: lodash.__, value: T): LodashThru1x2<T>; + <T, TResult>(interceptor: (value: T) => TResult, value: T): TResult; + } + type LodashThru1x1<T, TResult> = (value: T) => TResult; + type LodashThru1x2<T> = <TResult>(interceptor: (value: T) => TResult) => TResult; + interface LodashTimes { + <TResult>(iteratee: (num: number) => TResult): LodashTimes1x1<TResult>; + (iteratee: lodash.__, n: number): LodashTimes1x2; + <TResult>(iteratee: (num: number) => TResult, n: number): TResult[]; + } + type LodashTimes1x1<TResult> = (n: number) => TResult[]; + type LodashTimes1x2 = <TResult>(iteratee: (num: number) => TResult) => TResult[]; + interface LodashToArray { + <T>(value: lodash.List<T> | lodash.Dictionary<T> | lodash.NumericDictionary<T> | null | undefined): T[]; + <T>(value: T): Array<T[keyof T]>; + (): any[]; + } + type LodashToFinite = (value: any) => number; + type LodashToInteger = (value: any) => number; + type LodashToLength = (value: any) => number; + type LodashToLower = (string: string) => string; + type LodashToNumber = (value: any) => number; + type LodashToPath = (value: any) => string[]; + type LodashToPlainObject = (value: any) => any; + type LodashToSafeInteger = (value: any) => number; + type LodashToString = (value: any) => string; + type LodashToUpper = (string: string) => string; + interface LodashTransform { + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>): LodashTransform1x1<T, TResult>; + <TResult>(iteratee: lodash.__, accumulator: ReadonlyArray<TResult>): LodashTransform1x2<TResult>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, accumulator: ReadonlyArray<TResult>): LodashTransform1x3<T, TResult>; + <T>(iteratee: lodash.__, accumulator: lodash.__, object: ReadonlyArray<T>): LodashTransform1x4<T>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, accumulator: lodash.__, object: ReadonlyArray<T>): LodashTransform1x5<TResult>; + <T, TResult>(iteratee: lodash.__, accumulator: ReadonlyArray<TResult>, object: ReadonlyArray<T>): LodashTransform1x6<T, TResult>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, accumulator: ReadonlyArray<TResult>, object: ReadonlyArray<T> | lodash.Dictionary<T>): TResult[]; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>): LodashTransform2x1<T, TResult>; + <TResult>(iteratee: lodash.__, accumulator: lodash.Dictionary<TResult>): LodashTransform2x2<TResult>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, accumulator: lodash.Dictionary<TResult>): LodashTransform2x3<T, TResult>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, accumulator: lodash.__, object: ReadonlyArray<T>): LodashTransform2x5<TResult>; + <T, TResult>(iteratee: lodash.__, accumulator: lodash.Dictionary<TResult>, object: ReadonlyArray<T>): LodashTransform2x6<T, TResult>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, accumulator: lodash.Dictionary<TResult>, object: ReadonlyArray<T> | lodash.Dictionary<T>): lodash.Dictionary<TResult>; + <T>(iteratee: lodash.__, accumulator: lodash.__, object: lodash.Dictionary<T>): LodashTransform3x4<T>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, accumulator: lodash.__, object: lodash.Dictionary<T>): LodashTransform3x5<TResult>; + <T, TResult>(iteratee: lodash.__, accumulator: lodash.Dictionary<TResult>, object: lodash.Dictionary<T>): LodashTransform3x6<T, TResult>; + <T, TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, accumulator: lodash.__, object: lodash.Dictionary<T>): LodashTransform4x5<TResult>; + <T, TResult>(iteratee: lodash.__, accumulator: ReadonlyArray<TResult>, object: lodash.Dictionary<T>): LodashTransform4x6<T, TResult>; + } + interface LodashTransform1x1<T, TResult> { + (accumulator: ReadonlyArray<TResult>): LodashTransform1x3<T, TResult>; + (accumulator: lodash.__, object: ReadonlyArray<T>): LodashTransform1x5<TResult>; + (accumulator: ReadonlyArray<TResult>, object: ReadonlyArray<T> | lodash.Dictionary<T>): TResult[]; + (accumulator: lodash.__, object: lodash.Dictionary<T>): LodashTransform4x5<TResult>; + } + interface LodashTransform1x2<TResult> { + <T>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>): LodashTransform1x3<T, TResult>; + <T>(iteratee: lodash.__, object: ReadonlyArray<T>): LodashTransform1x6<T, TResult>; + <T>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, object: ReadonlyArray<T> | lodash.Dictionary<T>): TResult[]; + <T>(iteratee: lodash.__, object: lodash.Dictionary<T>): LodashTransform4x6<T, TResult>; + } + type LodashTransform1x3<T, TResult> = (object: ReadonlyArray<T> | lodash.Dictionary<T>) => TResult[]; + interface LodashTransform1x4<T> { + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>): LodashTransform1x5<TResult>; + <TResult>(iteratee: lodash.__, accumulator: ReadonlyArray<TResult>): LodashTransform1x6<T, TResult>; + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, accumulator: ReadonlyArray<TResult>): TResult[]; + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>): LodashTransform2x5<TResult>; + <TResult>(iteratee: lodash.__, accumulator: lodash.Dictionary<TResult>): LodashTransform2x6<T, TResult>; + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, accumulator: lodash.Dictionary<TResult>): lodash.Dictionary<TResult>; + } + type LodashTransform1x5<TResult> = (accumulator: ReadonlyArray<TResult>) => TResult[]; + type LodashTransform1x6<T, TResult> = (iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>) => TResult[]; + interface LodashTransform2x1<T, TResult> { + (accumulator: lodash.Dictionary<TResult>): LodashTransform2x3<T, TResult>; + (accumulator: lodash.__, object: ReadonlyArray<T>): LodashTransform2x5<TResult>; + (accumulator: lodash.Dictionary<TResult>, object: ReadonlyArray<T> | lodash.Dictionary<T>): lodash.Dictionary<TResult>; + (accumulator: lodash.__, object: lodash.Dictionary<T>): LodashTransform3x5<TResult>; + } + interface LodashTransform2x2<TResult> { + <T>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>): LodashTransform2x3<T, TResult>; + <T>(iteratee: lodash.__, object: ReadonlyArray<T>): LodashTransform2x6<T, TResult>; + <T>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, object: ReadonlyArray<T> | lodash.Dictionary<T>): lodash.Dictionary<TResult>; + <T>(iteratee: lodash.__, object: lodash.Dictionary<T>): LodashTransform3x6<T, TResult>; + } + type LodashTransform2x3<T, TResult> = (object: ReadonlyArray<T> | lodash.Dictionary<T>) => lodash.Dictionary<TResult>; + type LodashTransform2x5<TResult> = (accumulator: lodash.Dictionary<TResult>) => lodash.Dictionary<TResult>; + type LodashTransform2x6<T, TResult> = (iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>) => lodash.Dictionary<TResult>; + interface LodashTransform3x4<T> { + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>): LodashTransform3x5<TResult>; + <TResult>(iteratee: lodash.__, accumulator: lodash.Dictionary<TResult>): LodashTransform3x6<T, TResult>; + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>, accumulator: lodash.Dictionary<TResult>): lodash.Dictionary<TResult>; + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>): LodashTransform4x5<TResult>; + <TResult>(iteratee: lodash.__, accumulator: ReadonlyArray<TResult>): LodashTransform4x6<T, TResult>; + <TResult>(iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>, accumulator: ReadonlyArray<TResult>): TResult[]; + } + type LodashTransform3x5<TResult> = (accumulator: lodash.Dictionary<TResult>) => lodash.Dictionary<TResult>; + type LodashTransform3x6<T, TResult> = (iteratee: lodash.MemoVoidIteratorCapped<T, lodash.Dictionary<TResult>>) => lodash.Dictionary<TResult>; + type LodashTransform4x5<TResult> = (accumulator: ReadonlyArray<TResult>) => TResult[]; + type LodashTransform4x6<T, TResult> = (iteratee: lodash.MemoVoidIteratorCapped<T, TResult[]>) => TResult[]; + type LodashTrim = (string: string) => string; + interface LodashTrimChars { + (chars: string): LodashTrimChars1x1; + (chars: lodash.__, string: string): LodashTrimChars1x2; + (chars: string, string: string): string; + } + type LodashTrimChars1x1 = (string: string) => string; + type LodashTrimChars1x2 = (chars: string) => string; + interface LodashTrimCharsEnd { + (chars: string): LodashTrimCharsEnd1x1; + (chars: lodash.__, string: string): LodashTrimCharsEnd1x2; + (chars: string, string: string): string; + } + type LodashTrimCharsEnd1x1 = (string: string) => string; + type LodashTrimCharsEnd1x2 = (chars: string) => string; + interface LodashTrimCharsStart { + (chars: string): LodashTrimCharsStart1x1; + (chars: lodash.__, string: string): LodashTrimCharsStart1x2; + (chars: string, string: string): string; + } + type LodashTrimCharsStart1x1 = (string: string) => string; + type LodashTrimCharsStart1x2 = (chars: string) => string; + type LodashTrimEnd = (string: string) => string; + type LodashTrimStart = (string: string) => string; + interface LodashTruncate { + (options: lodash.TruncateOptions): LodashTruncate1x1; + (options: lodash.__, string: string): LodashTruncate1x2; + (options: lodash.TruncateOptions, string: string): string; + } + type LodashTruncate1x1 = (string: string) => string; + type LodashTruncate1x2 = (options: lodash.TruncateOptions) => string; + type LodashUnapply = (func: (...args: any[]) => any) => (...args: any[]) => any; + type LodashUnary = <T, TResult>(func: (arg1: T, ...args: any[]) => TResult) => (arg1: T) => TResult; + type LodashUnescape = (string: string) => string; + interface LodashUnion { + <T>(arrays2: lodash.List<T> | null | undefined): LodashUnion1x1<T>; + <T>(arrays2: lodash.__, arrays: lodash.List<T> | null | undefined): LodashUnion1x2<T>; + <T>(arrays2: lodash.List<T> | null | undefined, arrays: lodash.List<T> | null | undefined): T[]; + } + type LodashUnion1x1<T> = (arrays: lodash.List<T> | null | undefined) => T[]; + type LodashUnion1x2<T> = (arrays2: lodash.List<T> | null | undefined) => T[]; + interface LodashUnionBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashUnionBy1x1<T>; + <T>(iteratee: lodash.__, arrays1: lodash.List<T> | null | undefined): LodashUnionBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, arrays1: lodash.List<T> | null | undefined): LodashUnionBy1x3<T>; + <T>(iteratee: lodash.__, arrays1: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionBy1x4<T>; + <T>(iteratee: lodash.ValueIteratee<T>, arrays1: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionBy1x5<T>; + <T>(iteratee: lodash.__, arrays1: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): LodashUnionBy1x6<T>; + <T>(iteratee: lodash.ValueIteratee<T>, arrays1: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashUnionBy1x1<T> { + (arrays1: lodash.List<T> | null | undefined): LodashUnionBy1x3<T>; + (arrays1: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionBy1x5<T>; + (arrays1: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashUnionBy1x2<T> { + (iteratee: lodash.ValueIteratee<T>): LodashUnionBy1x3<T>; + (iteratee: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, arrays2: lodash.List<T> | null | undefined): T[]; + } + type LodashUnionBy1x3<T> = (arrays2: lodash.List<T> | null | undefined) => T[]; + interface LodashUnionBy1x4<T> { + (iteratee: lodash.ValueIteratee<T>): LodashUnionBy1x5<T>; + (iteratee: lodash.__, arrays1: lodash.List<T> | null | undefined): LodashUnionBy1x6<T>; + (iteratee: lodash.ValueIteratee<T>, arrays1: lodash.List<T> | null | undefined): T[]; + } + type LodashUnionBy1x5<T> = (arrays1: lodash.List<T> | null | undefined) => T[]; + type LodashUnionBy1x6<T> = (iteratee: lodash.ValueIteratee<T>) => T[]; + interface LodashUnionWith { + <T>(comparator: lodash.Comparator<T>): LodashUnionWith1x1<T>; + <T>(comparator: lodash.__, arrays: lodash.List<T> | null | undefined): LodashUnionWith1x2<T>; + <T>(comparator: lodash.Comparator<T>, arrays: lodash.List<T> | null | undefined): LodashUnionWith1x3<T>; + <T>(comparator: lodash.__, arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionWith1x4<T>; + <T>(comparator: lodash.Comparator<T>, arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionWith1x5<T>; + <T>(comparator: lodash.__, arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): LodashUnionWith1x6<T>; + <T>(comparator: lodash.Comparator<T>, arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashUnionWith1x1<T> { + (arrays: lodash.List<T> | null | undefined): LodashUnionWith1x3<T>; + (arrays: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionWith1x5<T>; + (arrays: lodash.List<T> | null | undefined, arrays2: lodash.List<T> | null | undefined): T[]; + } + interface LodashUnionWith1x2<T> { + (comparator: lodash.Comparator<T>): LodashUnionWith1x3<T>; + (comparator: lodash.__, arrays2: lodash.List<T> | null | undefined): LodashUnionWith1x6<T>; + (comparator: lodash.Comparator<T>, arrays2: lodash.List<T> | null | undefined): T[]; + } + type LodashUnionWith1x3<T> = (arrays2: lodash.List<T> | null | undefined) => T[]; + interface LodashUnionWith1x4<T> { + (comparator: lodash.Comparator<T>): LodashUnionWith1x5<T>; + (comparator: lodash.__, arrays: lodash.List<T> | null | undefined): LodashUnionWith1x6<T>; + (comparator: lodash.Comparator<T>, arrays: lodash.List<T> | null | undefined): T[]; + } + type LodashUnionWith1x5<T> = (arrays: lodash.List<T> | null | undefined) => T[]; + type LodashUnionWith1x6<T> = (comparator: lodash.Comparator<T>) => T[]; + type LodashUniq = <T>(array: lodash.List<T> | null | undefined) => T[]; + interface LodashUniqBy { + <T>(iteratee: lodash.ValueIteratee<T>): LodashUniqBy1x1<T>; + <T>(iteratee: lodash.__, array: lodash.List<T> | null | undefined): LodashUniqBy1x2<T>; + <T>(iteratee: lodash.ValueIteratee<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashUniqBy1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashUniqBy1x2<T> = (iteratee: lodash.ValueIteratee<T>) => T[]; + type LodashUniqueId = (prefix: string) => string; + interface LodashUniqWith { + <T>(comparator: lodash.Comparator<T>): LodashUniqWith1x1<T>; + <T>(comparator: lodash.__, array: lodash.List<T> | null | undefined): LodashUniqWith1x2<T>; + <T>(comparator: lodash.Comparator<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashUniqWith1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashUniqWith1x2<T> = (comparator: lodash.Comparator<T>) => T[]; + type LodashUnzip = <T>(array: T[][] | lodash.List<lodash.List<T>> | null | undefined) => T[][]; + interface LodashUnzipWith { + <T, TResult>(iteratee: (...values: T[]) => TResult): LodashUnzipWith1x1<T, TResult>; + <T>(iteratee: lodash.__, array: lodash.List<lodash.List<T>> | null | undefined): LodashUnzipWith1x2<T>; + <T, TResult>(iteratee: (...values: T[]) => TResult, array: lodash.List<lodash.List<T>> | null | undefined): TResult[]; + } + type LodashUnzipWith1x1<T, TResult> = (array: lodash.List<lodash.List<T>> | null | undefined) => TResult[]; + type LodashUnzipWith1x2<T> = <TResult>(iteratee: (...values: T[]) => TResult) => TResult[]; + interface LodashUpdate { + (path: lodash.PropertyPath): LodashUpdate1x1; + (path: lodash.__, updater: (value: any) => any): LodashUpdate1x2; + (path: lodash.PropertyPath, updater: (value: any) => any): LodashUpdate1x3; + (path: lodash.__, updater: lodash.__, object: object): LodashUpdate1x4; + (path: lodash.PropertyPath, updater: lodash.__, object: object): LodashUpdate1x5; + (path: lodash.__, updater: (value: any) => any, object: object): LodashUpdate1x6; + (path: lodash.PropertyPath, updater: (value: any) => any, object: object): any; + } + interface LodashUpdate1x1 { + (updater: (value: any) => any): LodashUpdate1x3; + (updater: lodash.__, object: object): LodashUpdate1x5; + (updater: (value: any) => any, object: object): any; + } + interface LodashUpdate1x2 { + (path: lodash.PropertyPath): LodashUpdate1x3; + (path: lodash.__, object: object): LodashUpdate1x6; + (path: lodash.PropertyPath, object: object): any; + } + type LodashUpdate1x3 = (object: object) => any; + interface LodashUpdate1x4 { + (path: lodash.PropertyPath): LodashUpdate1x5; + (path: lodash.__, updater: (value: any) => any): LodashUpdate1x6; + (path: lodash.PropertyPath, updater: (value: any) => any): any; + } + type LodashUpdate1x5 = (updater: (value: any) => any) => any; + type LodashUpdate1x6 = (path: lodash.PropertyPath) => any; + interface LodashUpdateWith { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x1<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashUpdateWith1x2; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): LodashUpdateWith1x3<T>; + (customizer: lodash.__, path: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x4; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x5<T>; + (customizer: lodash.__, path: lodash.PropertyPath, updater: (oldValue: any) => any): LodashUpdateWith1x6; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, updater: (oldValue: any) => any): LodashUpdateWith1x7<T>; + <T extends object>(customizer: lodash.__, path: lodash.__, updater: lodash.__, object: T): LodashUpdateWith1x8<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, updater: lodash.__, object: T): LodashUpdateWith1x9<T>; + <T extends object>(customizer: lodash.__, path: lodash.PropertyPath, updater: lodash.__, object: T): LodashUpdateWith1x10<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, updater: lodash.__, object: T): LodashUpdateWith1x11<T>; + <T extends object>(customizer: lodash.__, path: lodash.__, updater: (oldValue: any) => any, object: T): LodashUpdateWith1x12<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, updater: (oldValue: any) => any, object: T): LodashUpdateWith1x13<T>; + <T extends object>(customizer: lodash.__, path: lodash.PropertyPath, updater: (oldValue: any) => any, object: T): LodashUpdateWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, updater: (oldValue: any) => any, object: T): T; + } + interface LodashUpdateWith1x1<T> { + (path: lodash.PropertyPath): LodashUpdateWith1x3<T>; + (path: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x5<T>; + (path: lodash.PropertyPath, updater: (oldValue: any) => any): LodashUpdateWith1x7<T>; + (path: lodash.__, updater: lodash.__, object: T): LodashUpdateWith1x9<T>; + (path: lodash.PropertyPath, updater: lodash.__, object: T): LodashUpdateWith1x11<T>; + (path: lodash.__, updater: (oldValue: any) => any, object: T): LodashUpdateWith1x13<T>; + (path: lodash.PropertyPath, updater: (oldValue: any) => any, object: T): T; + } + interface LodashUpdateWith1x2 { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x3<T>; + (customizer: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x6; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, updater: (oldValue: any) => any): LodashUpdateWith1x7<T>; + <T extends object>(customizer: lodash.__, updater: lodash.__, object: T): LodashUpdateWith1x10<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, updater: lodash.__, object: T): LodashUpdateWith1x11<T>; + <T extends object>(customizer: lodash.__, updater: (oldValue: any) => any, object: T): LodashUpdateWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, updater: (oldValue: any) => any, object: T): T; + } + interface LodashUpdateWith1x3<T> { + (updater: (oldValue: any) => any): LodashUpdateWith1x7<T>; + (updater: lodash.__, object: T): LodashUpdateWith1x11<T>; + (updater: (oldValue: any) => any, object: T): T; + } + interface LodashUpdateWith1x4 { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x5<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashUpdateWith1x6; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): LodashUpdateWith1x7<T>; + <T extends object>(customizer: lodash.__, path: lodash.__, object: T): LodashUpdateWith1x12<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.__, object: T): LodashUpdateWith1x13<T>; + <T extends object>(customizer: lodash.__, path: lodash.PropertyPath, object: T): LodashUpdateWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, object: T): T; + } + interface LodashUpdateWith1x5<T> { + (path: lodash.PropertyPath): LodashUpdateWith1x7<T>; + (path: lodash.__, object: T): LodashUpdateWith1x13<T>; + (path: lodash.PropertyPath, object: T): T; + } + interface LodashUpdateWith1x6 { + <T extends object>(customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x7<T>; + <T extends object>(customizer: lodash.__, object: T): LodashUpdateWith1x14<T>; + <T extends object>(customizer: lodash.SetWithCustomizer<T>, object: T): T; + } + type LodashUpdateWith1x7<T> = (object: T) => T; + interface LodashUpdateWith1x8<T> { + (customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x9<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashUpdateWith1x10<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): LodashUpdateWith1x11<T>; + (customizer: lodash.__, path: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x12<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x13<T>; + (customizer: lodash.__, path: lodash.PropertyPath, updater: (oldValue: any) => any): LodashUpdateWith1x14<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath, updater: (oldValue: any) => any): T; + } + interface LodashUpdateWith1x9<T> { + (path: lodash.PropertyPath): LodashUpdateWith1x11<T>; + (path: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x13<T>; + (path: lodash.PropertyPath, updater: (oldValue: any) => any): T; + } + interface LodashUpdateWith1x10<T> { + (customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x11<T>; + (customizer: lodash.__, updater: (oldValue: any) => any): LodashUpdateWith1x14<T>; + (customizer: lodash.SetWithCustomizer<T>, updater: (oldValue: any) => any): T; + } + type LodashUpdateWith1x11<T> = (updater: (oldValue: any) => any) => T; + interface LodashUpdateWith1x12<T> { + (customizer: lodash.SetWithCustomizer<T>): LodashUpdateWith1x13<T>; + (customizer: lodash.__, path: lodash.PropertyPath): LodashUpdateWith1x14<T>; + (customizer: lodash.SetWithCustomizer<T>, path: lodash.PropertyPath): T; + } + type LodashUpdateWith1x13<T> = (path: lodash.PropertyPath) => T; + type LodashUpdateWith1x14<T> = (customizer: lodash.SetWithCustomizer<T>) => T; + type LodashUpperCase = (string: string) => string; + type LodashUpperFirst = (string: string) => string; + interface LodashValues { + <T>(object: lodash.Dictionary<T> | lodash.NumericDictionary<T> | lodash.List<T> | null | undefined): T[]; + <T extends object>(object: T | null | undefined): Array<T[keyof T]>; + (object: any): any[]; + } + interface LodashValuesIn { + <T>(object: lodash.Dictionary<T>|lodash.NumericDictionary<T>|lodash.List<T> | null | undefined): T[]; + <T extends object>(object: T | null | undefined): Array<T[keyof T]>; + } + interface LodashWithout { + <T>(values: ReadonlyArray<T>): LodashWithout1x1<T>; + <T>(values: lodash.__, array: lodash.List<T> | null | undefined): LodashWithout1x2<T>; + <T>(values: ReadonlyArray<T>, array: lodash.List<T> | null | undefined): T[]; + } + type LodashWithout1x1<T> = (array: lodash.List<T> | null | undefined) => T[]; + type LodashWithout1x2<T> = (values: ReadonlyArray<T>) => T[]; + type LodashWords = (string: string) => string[]; + interface LodashWrap { + <T, TArgs, TResult>(wrapper: (value: T, ...args: TArgs[]) => TResult): LodashWrap1x1<T, TArgs, TResult>; + <T>(wrapper: lodash.__, value: T): LodashWrap1x2<T>; + <T, TArgs, TResult>(wrapper: (value: T, ...args: TArgs[]) => TResult, value: T): (...args: TArgs[]) => TResult; + <T, TResult>(wrapper: (value: T, ...args: any[]) => TResult): LodashWrap2x1<T, TResult>; + <T, TResult>(wrapper: (value: T, ...args: any[]) => TResult, value: T): (...args: any[]) => TResult; + } + type LodashWrap1x1<T, TArgs, TResult> = (value: T) => (...args: TArgs[]) => TResult; + interface LodashWrap1x2<T> { + <TArgs, TResult>(wrapper: (value: T, ...args: TArgs[]) => TResult): (...args: TArgs[]) => TResult; + <TResult>(wrapper: (value: T, ...args: any[]) => TResult): (...args: any[]) => TResult; + } + type LodashWrap2x1<T, TResult> = (value: T) => (...args: any[]) => TResult; + interface LodashZip { + <T1>(arrays1: lodash.List<T1>): LodashZip1x1<T1>; + <T2>(arrays1: lodash.__, arrays2: lodash.List<T2>): LodashZip1x2<T2>; + <T1, T2>(arrays1: lodash.List<T1>, arrays2: lodash.List<T2>): Array<[T1 | undefined, T2 | undefined]>; + } + type LodashZip1x1<T1> = <T2>(arrays2: lodash.List<T2>) => Array<[T1 | undefined, T2 | undefined]>; + type LodashZip1x2<T2> = <T1>(arrays1: lodash.List<T1>) => Array<[T1 | undefined, T2 | undefined]>; + interface LodashZipAll { + <T1, T2>(arrays1: [lodash.List<T1>, lodash.List<T2>]): Array<[T1 | undefined, T2 | undefined]>; + <T1, T2, T3>(arrays1: [lodash.List<T1>, lodash.List<T2>, lodash.List<T3>]): Array<[T1 | undefined, T2 | undefined, T3 | undefined]>; + <T1, T2, T3, T4>(arrays1: [lodash.List<T1>, lodash.List<T2>, lodash.List<T3>, lodash.List<T4>]): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined]>; + <T1, T2, T3, T4, T5>(arrays1: [lodash.List<T1>, lodash.List<T2>, lodash.List<T3>, lodash.List<T4>, lodash.List<T5>]): Array<[T1 | undefined, T2 | undefined, T3 | undefined, T4 | undefined, T5 | undefined]>; + <T>(arrays: ReadonlyArray<lodash.List<T> | null | undefined>): Array<Array<T | undefined>>; + } + interface LodashZipObject { + (props: lodash.List<lodash.PropertyName>): LodashZipObject1x1; + <T>(props: lodash.__, values: lodash.List<T>): LodashZipObject1x2<T>; + <T>(props: lodash.List<lodash.PropertyName>, values: lodash.List<T>): lodash.Dictionary<T>; + } + type LodashZipObject1x1 = <T>(values: lodash.List<T>) => lodash.Dictionary<T>; + type LodashZipObject1x2<T> = (props: lodash.List<lodash.PropertyName>) => lodash.Dictionary<T>; + interface LodashZipObjectDeep { + (paths: lodash.List<lodash.PropertyPath>): LodashZipObjectDeep1x1; + (paths: lodash.__, values: lodash.List<any>): LodashZipObjectDeep1x2; + (paths: lodash.List<lodash.PropertyPath>, values: lodash.List<any>): object; + } + type LodashZipObjectDeep1x1 = (values: lodash.List<any>) => object; + type LodashZipObjectDeep1x2 = (paths: lodash.List<lodash.PropertyPath>) => object; + interface LodashZipWith { + <T1, T2, TResult>(iteratee: (value1: T1, value2: T2) => TResult): LodashZipWith1x1<T1, T2, TResult>; + <T1>(iteratee: lodash.__, arrays1: lodash.List<T1>): LodashZipWith1x2<T1>; + <T1, T2, TResult>(iteratee: (value1: T1, value2: T2) => TResult, arrays1: lodash.List<T1>): LodashZipWith1x3<T2, TResult>; + <T2>(iteratee: lodash.__, arrays1: lodash.__, arrays2: lodash.List<T2>): LodashZipWith1x4<T2>; + <T1, T2, TResult>(iteratee: (value1: T1, value2: T2) => TResult, arrays1: lodash.__, arrays2: lodash.List<T2>): LodashZipWith1x5<T1, TResult>; + <T1, T2>(iteratee: lodash.__, arrays1: lodash.List<T1>, arrays2: lodash.List<T2>): LodashZipWith1x6<T1, T2>; + <T1, T2, TResult>(iteratee: (value1: T1, value2: T2) => TResult, arrays1: lodash.List<T1>, arrays2: lodash.List<T2>): TResult[]; + } + interface LodashZipWith1x1<T1, T2, TResult> { + (arrays1: lodash.List<T1>): LodashZipWith1x3<T2, TResult>; + (arrays1: lodash.__, arrays2: lodash.List<T2>): LodashZipWith1x5<T1, TResult>; + (arrays1: lodash.List<T1>, arrays2: lodash.List<T2>): TResult[]; + } + interface LodashZipWith1x2<T1> { + <T2, TResult>(iteratee: (value1: T1, value2: T2) => TResult): LodashZipWith1x3<T2, TResult>; + <T2>(iteratee: lodash.__, arrays2: lodash.List<T2>): LodashZipWith1x6<T1, T2>; + <T2, TResult>(iteratee: (value1: T1, value2: T2) => TResult, arrays2: lodash.List<T2>): TResult[]; + } + type LodashZipWith1x3<T2, TResult> = (arrays2: lodash.List<T2>) => TResult[]; + interface LodashZipWith1x4<T2> { + <T1, TResult>(iteratee: (value1: T1, value2: T2) => TResult): LodashZipWith1x5<T1, TResult>; + <T1>(iteratee: lodash.__, arrays1: lodash.List<T1>): LodashZipWith1x6<T1, T2>; + <T1, TResult>(iteratee: (value1: T1, value2: T2) => TResult, arrays1: lodash.List<T1>): TResult[]; + } + type LodashZipWith1x5<T1, TResult> = (arrays1: lodash.List<T1>) => TResult[]; + type LodashZipWith1x6<T1, T2> = <TResult>(iteratee: (value1: T1, value2: T2) => TResult) => TResult[]; + + interface LoDashFp { + add: LodashAdd; + after: LodashAfter; + all: LodashEvery; + allPass: LodashOverEvery; + always: LodashConstant; + any: LodashSome; + anyPass: LodashOverSome; + apply: LodashApply; + ary: LodashAry; + assign: LodashAssign; + assignAll: LodashAssignAll; + assignAllWith: LodashAssignAllWith; + assignIn: LodashAssignIn; + assignInAll: LodashAssignInAll; + assignInAllWith: LodashAssignInAllWith; + assignInWith: LodashAssignInWith; + assignWith: LodashAssignWith; + assoc: LodashSet; + assocPath: LodashSet; + at: LodashAt; + attempt: LodashAttempt; + before: LodashBefore; + bind: LodashBind; + bindAll: LodashBindAll; + bindKey: LodashBindKey; + camelCase: LodashCamelCase; + capitalize: LodashCapitalize; + castArray: LodashCastArray; + ceil: LodashCeil; + chunk: LodashChunk; + clamp: LodashClamp; + clone: LodashClone; + cloneDeep: LodashCloneDeep; + cloneDeepWith: LodashCloneDeepWith; + cloneWith: LodashCloneWith; + compact: LodashCompact; + complement: LodashNegate; + compose: LodashFlowRight; + concat: LodashConcat; + cond: LodashCond; + conforms: LodashConformsTo; + conformsTo: LodashConformsTo; + constant: LodashConstant; + contains: LodashContains; + countBy: LodashCountBy; + create: LodashCreate; + curry: LodashCurry; + curryN: LodashCurryN; + curryRight: LodashCurryRight; + curryRightN: LodashCurryRightN; + debounce: LodashDebounce; + deburr: LodashDeburr; + defaults: LodashDefaults; + defaultsAll: LodashDefaultsAll; + defaultsDeep: LodashDefaultsDeep; + defaultsDeepAll: LodashDefaultsDeepAll; + defaultTo: LodashDefaultTo; + defer: LodashDefer; + delay: LodashDelay; + difference: LodashDifference; + differenceBy: LodashDifferenceBy; + differenceWith: LodashDifferenceWith; + dissoc: LodashUnset; + dissocPath: LodashUnset; + divide: LodashDivide; + drop: LodashDrop; + dropLast: LodashDropRight; + dropLastWhile: LodashDropRightWhile; + dropRight: LodashDropRight; + dropRightWhile: LodashDropRightWhile; + dropWhile: LodashDropWhile; + each: LodashForEach; + eachRight: LodashForEachRight; + endsWith: LodashEndsWith; + entries: LodashToPairs; + entriesIn: LodashToPairsIn; + eq: LodashEq; + equals: LodashIsEqual; + escape: LodashEscape; + escapeRegExp: LodashEscapeRegExp; + every: LodashEvery; + extend: LodashExtend; + extendAll: LodashExtendAll; + extendAllWith: LodashExtendAllWith; + extendWith: LodashExtendWith; + F: LodashStubFalse; + fill: LodashFill; + filter: LodashFilter; + find: LodashFind; + findFrom: LodashFindFrom; + findIndex: LodashFindIndex; + findIndexFrom: LodashFindIndexFrom; + findKey: LodashFindKey; + findLast: LodashFindLast; + findLastFrom: LodashFindLastFrom; + findLastIndex: LodashFindLastIndex; + findLastIndexFrom: LodashFindLastIndexFrom; + findLastKey: LodashFindLastKey; + first: LodashHead; + flatMap: LodashFlatMap; + flatMapDeep: LodashFlatMapDeep; + flatMapDepth: LodashFlatMapDepth; + flatten: LodashFlatten; + flattenDeep: LodashFlattenDeep; + flattenDepth: LodashFlattenDepth; + flip: LodashFlip; + floor: LodashFloor; + flow: LodashFlow; + flowRight: LodashFlowRight; + forEach: LodashForEach; + forEachRight: LodashForEachRight; + forIn: LodashForIn; + forInRight: LodashForInRight; + forOwn: LodashForOwn; + forOwnRight: LodashForOwnRight; + fromPairs: LodashFromPairs; + functions: LodashFunctions; + functionsIn: LodashFunctionsIn; + get: LodashGet; + getOr: LodashGetOr; + groupBy: LodashGroupBy; + gt: LodashGt; + gte: LodashGte; + has: LodashHas; + hasIn: LodashHasIn; + head: LodashHead; + identical: LodashEq; + identity: LodashIdentity; + includes: LodashIncludes; + includesFrom: LodashIncludesFrom; + indexBy: LodashKeyBy; + indexOf: LodashIndexOf; + indexOfFrom: LodashIndexOfFrom; + init: LodashInitial; + initial: LodashInitial; + inRange: LodashInRange; + intersection: LodashIntersection; + intersectionBy: LodashIntersectionBy; + intersectionWith: LodashIntersectionWith; + invert: LodashInvert; + invertBy: LodashInvertBy; + invertObj: LodashInvert; + invoke: LodashInvoke; + invokeArgs: LodashInvokeArgs; + invokeArgsMap: LodashInvokeArgsMap; + invokeMap: LodashInvokeMap; + isArguments: LodashIsArguments; + isArray: LodashIsArray; + isArrayBuffer: LodashIsArrayBuffer; + isArrayLike: LodashIsArrayLike; + isArrayLikeObject: LodashIsArrayLikeObject; + isBoolean: LodashIsBoolean; + isBuffer: LodashIsBuffer; + isDate: LodashIsDate; + isElement: LodashIsElement; + isEmpty: LodashIsEmpty; + isEqual: LodashIsEqual; + isEqualWith: LodashIsEqualWith; + isError: LodashIsError; + isFinite: LodashIsFinite; + isFunction: LodashIsFunction; + isInteger: LodashIsInteger; + isLength: LodashIsLength; + isMap: LodashIsMap; + isMatch: LodashIsMatch; + isMatchWith: LodashIsMatchWith; + isNaN: LodashIsNaN; + isNative: LodashIsNative; + isNil: LodashIsNil; + isNull: LodashIsNull; + isNumber: LodashIsNumber; + isObject: LodashIsObject; + isObjectLike: LodashIsObjectLike; + isPlainObject: LodashIsPlainObject; + isRegExp: LodashIsRegExp; + isSafeInteger: LodashIsSafeInteger; + isSet: LodashIsSet; + isString: LodashIsString; + isSymbol: LodashIsSymbol; + isTypedArray: LodashIsTypedArray; + isUndefined: LodashIsUndefined; + isWeakMap: LodashIsWeakMap; + isWeakSet: LodashIsWeakSet; + iteratee: LodashIteratee; + join: LodashJoin; + juxt: LodashOver; + kebabCase: LodashKebabCase; + keyBy: LodashKeyBy; + keys: LodashKeys; + keysIn: LodashKeysIn; + last: LodashLast; + lastIndexOf: LodashLastIndexOf; + lastIndexOfFrom: LodashLastIndexOfFrom; + lowerCase: LodashLowerCase; + lowerFirst: LodashLowerFirst; + lt: LodashLt; + lte: LodashLte; + map: LodashMap; + mapKeys: LodashMapKeys; + mapValues: LodashMapValues; + matches: LodashIsMatch; + matchesProperty: LodashMatchesProperty; + max: LodashMax; + maxBy: LodashMaxBy; + mean: LodashMean; + meanBy: LodashMeanBy; + memoize: LodashMemoize; + merge: LodashMerge; + mergeAll: LodashMergeAll; + mergeAllWith: LodashMergeAllWith; + mergeWith: LodashMergeWith; + method: LodashMethod; + methodOf: LodashMethodOf; + min: LodashMin; + minBy: LodashMinBy; + multiply: LodashMultiply; + nAry: LodashAry; + negate: LodashNegate; + noConflict: LodashNoConflict; + noop: LodashNoop; + now: LodashNow; + nth: LodashNth; + nthArg: LodashNthArg; + omit: LodashOmit; + omitAll: LodashOmit; + omitBy: LodashOmitBy; + once: LodashOnce; + orderBy: LodashOrderBy; + over: LodashOver; + overArgs: LodashOverArgs; + overEvery: LodashOverEvery; + overSome: LodashOverSome; + pad: LodashPad; + padChars: LodashPadChars; + padCharsEnd: LodashPadCharsEnd; + padCharsStart: LodashPadCharsStart; + padEnd: LodashPadEnd; + padStart: LodashPadStart; + parseInt: LodashParseInt; + partial: LodashPartial; + partialRight: LodashPartialRight; + partition: LodashPartition; + path: LodashPath; + pathEq: LodashMatchesProperty; + pathOr: LodashPathOr; + paths: LodashAt; + pick: LodashPick; + pickAll: LodashPick; + pickBy: LodashPickBy; + pipe: LodashFlow; + pluck: LodashMap; + prop: LodashProp; + propEq: LodashMatchesProperty; + property: LodashProperty; + propertyOf: LodashPropertyOf; + propOr: LodashPropOr; + props: LodashAt; + pull: LodashPull; + pullAll: LodashPullAll; + pullAllBy: LodashPullAllBy; + pullAllWith: LodashPullAllWith; + pullAt: LodashPullAt; + random: LodashRandom; + range: LodashRange; + rangeRight: LodashRangeRight; + rangeStep: LodashRangeStep; + rangeStepRight: LodashRangeStepRight; + rearg: LodashRearg; + reduce: LodashReduce; + reduceRight: LodashReduceRight; + reject: LodashReject; + remove: LodashRemove; + repeat: LodashRepeat; + replace: LodashReplace; + rest: LodashRest; + restFrom: LodashRestFrom; + result: LodashResult; + reverse: LodashReverse; + round: LodashRound; + runInContext: LodashRunInContext; + sample: LodashSample; + sampleSize: LodashSampleSize; + set: LodashSet; + setWith: LodashSetWith; + shuffle: LodashShuffle; + size: LodashSize; + slice: LodashSlice; + snakeCase: LodashSnakeCase; + some: LodashSome; + sortBy: LodashSortBy; + sortedIndex: LodashSortedIndex; + sortedIndexBy: LodashSortedIndexBy; + sortedIndexOf: LodashSortedIndexOf; + sortedLastIndex: LodashSortedLastIndex; + sortedLastIndexBy: LodashSortedLastIndexBy; + sortedLastIndexOf: LodashSortedLastIndexOf; + sortedUniq: LodashSortedUniq; + sortedUniqBy: LodashSortedUniqBy; + split: LodashSplit; + spread: LodashSpread; + spreadFrom: LodashSpreadFrom; + startCase: LodashStartCase; + startsWith: LodashStartsWith; + stubArray: LodashStubArray; + stubFalse: LodashStubFalse; + stubObject: LodashStubObject; + stubString: LodashStubString; + stubTrue: LodashStubTrue; + subtract: LodashSubtract; + sum: LodashSum; + sumBy: LodashSumBy; + symmetricDifference: LodashXor; + symmetricDifferenceBy: LodashXorBy; + symmetricDifferenceWith: LodashXorWith; + T: LodashStubTrue; + tail: LodashTail; + take: LodashTake; + takeLast: LodashTakeRight; + takeLastWhile: LodashTakeRightWhile; + takeRight: LodashTakeRight; + takeRightWhile: LodashTakeRightWhile; + takeWhile: LodashTakeWhile; + tap: LodashTap; + template: LodashTemplate; + throttle: LodashThrottle; + thru: LodashThru; + times: LodashTimes; + toArray: LodashToArray; + toFinite: LodashToFinite; + toInteger: LodashToInteger; + toLength: LodashToLength; + toLower: LodashToLower; + toNumber: LodashToNumber; + toPairs: LodashToPairs; + toPairsIn: LodashToPairsIn; + toPath: LodashToPath; + toPlainObject: LodashToPlainObject; + toSafeInteger: LodashToSafeInteger; + toString: LodashToString; + toUpper: LodashToUpper; + transform: LodashTransform; + trim: LodashTrim; + trimChars: LodashTrimChars; + trimCharsEnd: LodashTrimCharsEnd; + trimCharsStart: LodashTrimCharsStart; + trimEnd: LodashTrimEnd; + trimStart: LodashTrimStart; + truncate: LodashTruncate; + unapply: LodashUnapply; + unary: LodashUnary; + unescape: LodashUnescape; + union: LodashUnion; + unionBy: LodashUnionBy; + unionWith: LodashUnionWith; + uniq: LodashUniq; + uniqBy: LodashUniqBy; + uniqueId: LodashUniqueId; + uniqWith: LodashUniqWith; + unnest: LodashFlatten; + unset: LodashUnset; + unzip: LodashUnzip; + unzipWith: LodashUnzipWith; + update: LodashUpdate; + updateWith: LodashUpdateWith; + upperCase: LodashUpperCase; + upperFirst: LodashUpperFirst; + useWith: LodashOverArgs; + values: LodashValues; + valuesIn: LodashValuesIn; + where: LodashConformsTo; + whereEq: LodashIsMatch; + without: LodashWithout; + words: LodashWords; + wrap: LodashWrap; + xor: LodashXor; + xorBy: LodashXorBy; + xorWith: LodashXorWith; + zip: LodashZip; + zipAll: LodashZipAll; + zipObj: LodashZipObject; + zipObject: LodashZipObject; + zipObjectDeep: LodashZipObjectDeep; + zipWith: LodashZipWith; + __: lodash.__; + placeholder: lodash.__; + } +} diff --git a/jtg js/node_modules/@types/lodash/fp/F.d.ts b/jtg js/node_modules/@types/lodash/fp/F.d.ts new file mode 100644 index 0000000..33fc579 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/F.d.ts @@ -0,0 +1,2 @@ +import { F } from "../fp"; +export = F; diff --git a/jtg js/node_modules/@types/lodash/fp/T.d.ts b/jtg js/node_modules/@types/lodash/fp/T.d.ts new file mode 100644 index 0000000..886606e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/T.d.ts @@ -0,0 +1,2 @@ +import { T } from "../fp"; +export = T; diff --git a/jtg js/node_modules/@types/lodash/fp/__.d.ts b/jtg js/node_modules/@types/lodash/fp/__.d.ts new file mode 100644 index 0000000..aec0a51 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/__.d.ts @@ -0,0 +1,3 @@ +import _ = require("../index"); +declare const __: _.__; +export = __; diff --git a/jtg js/node_modules/@types/lodash/fp/add.d.ts b/jtg js/node_modules/@types/lodash/fp/add.d.ts new file mode 100644 index 0000000..47c9c6a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/add.d.ts @@ -0,0 +1,2 @@ +import { add } from "../fp"; +export = add; diff --git a/jtg js/node_modules/@types/lodash/fp/after.d.ts b/jtg js/node_modules/@types/lodash/fp/after.d.ts new file mode 100644 index 0000000..93863a5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/after.d.ts @@ -0,0 +1,2 @@ +import { after } from "../fp"; +export = after; diff --git a/jtg js/node_modules/@types/lodash/fp/all.d.ts b/jtg js/node_modules/@types/lodash/fp/all.d.ts new file mode 100644 index 0000000..5ca0f70 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/all.d.ts @@ -0,0 +1,2 @@ +import { all } from "../fp"; +export = all; diff --git a/jtg js/node_modules/@types/lodash/fp/allPass.d.ts b/jtg js/node_modules/@types/lodash/fp/allPass.d.ts new file mode 100644 index 0000000..5013913 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/allPass.d.ts @@ -0,0 +1,2 @@ +import { allPass } from "../fp"; +export = allPass; diff --git a/jtg js/node_modules/@types/lodash/fp/always.d.ts b/jtg js/node_modules/@types/lodash/fp/always.d.ts new file mode 100644 index 0000000..07bd82d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/always.d.ts @@ -0,0 +1,2 @@ +import { always } from "../fp"; +export = always; diff --git a/jtg js/node_modules/@types/lodash/fp/any.d.ts b/jtg js/node_modules/@types/lodash/fp/any.d.ts new file mode 100644 index 0000000..5d8c38f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/any.d.ts @@ -0,0 +1,2 @@ +import { any } from "../fp"; +export = any; diff --git a/jtg js/node_modules/@types/lodash/fp/anyPass.d.ts b/jtg js/node_modules/@types/lodash/fp/anyPass.d.ts new file mode 100644 index 0000000..b69becf --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/anyPass.d.ts @@ -0,0 +1,2 @@ +import { anyPass } from "../fp"; +export = anyPass; diff --git a/jtg js/node_modules/@types/lodash/fp/apply.d.ts b/jtg js/node_modules/@types/lodash/fp/apply.d.ts new file mode 100644 index 0000000..e13c42c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/apply.d.ts @@ -0,0 +1,2 @@ +import { apply } from "../fp"; +export = apply; diff --git a/jtg js/node_modules/@types/lodash/fp/ary.d.ts b/jtg js/node_modules/@types/lodash/fp/ary.d.ts new file mode 100644 index 0000000..932d7f4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/ary.d.ts @@ -0,0 +1,2 @@ +import { ary } from "../fp"; +export = ary; diff --git a/jtg js/node_modules/@types/lodash/fp/assign.d.ts b/jtg js/node_modules/@types/lodash/fp/assign.d.ts new file mode 100644 index 0000000..cf17310 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assign.d.ts @@ -0,0 +1,2 @@ +import { assign } from "../fp"; +export = assign; diff --git a/jtg js/node_modules/@types/lodash/fp/assignAll.d.ts b/jtg js/node_modules/@types/lodash/fp/assignAll.d.ts new file mode 100644 index 0000000..f95b06b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignAll.d.ts @@ -0,0 +1,2 @@ +import { assignAll } from "../fp"; +export = assignAll; diff --git a/jtg js/node_modules/@types/lodash/fp/assignAllWith.d.ts b/jtg js/node_modules/@types/lodash/fp/assignAllWith.d.ts new file mode 100644 index 0000000..c2695a0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignAllWith.d.ts @@ -0,0 +1,2 @@ +import { assignAllWith } from "../fp"; +export = assignAllWith; diff --git a/jtg js/node_modules/@types/lodash/fp/assignIn.d.ts b/jtg js/node_modules/@types/lodash/fp/assignIn.d.ts new file mode 100644 index 0000000..f6cdee7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignIn.d.ts @@ -0,0 +1,2 @@ +import { assignIn } from "../fp"; +export = assignIn; diff --git a/jtg js/node_modules/@types/lodash/fp/assignInAll.d.ts b/jtg js/node_modules/@types/lodash/fp/assignInAll.d.ts new file mode 100644 index 0000000..539344b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignInAll.d.ts @@ -0,0 +1,2 @@ +import { assignInAll } from "../fp"; +export = assignInAll; diff --git a/jtg js/node_modules/@types/lodash/fp/assignInAllWith.d.ts b/jtg js/node_modules/@types/lodash/fp/assignInAllWith.d.ts new file mode 100644 index 0000000..3b421fb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignInAllWith.d.ts @@ -0,0 +1,2 @@ +import { assignInAllWith } from "../fp"; +export = assignInAllWith; diff --git a/jtg js/node_modules/@types/lodash/fp/assignInWith.d.ts b/jtg js/node_modules/@types/lodash/fp/assignInWith.d.ts new file mode 100644 index 0000000..c410091 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignInWith.d.ts @@ -0,0 +1,2 @@ +import { assignInWith } from "../fp"; +export = assignInWith; diff --git a/jtg js/node_modules/@types/lodash/fp/assignWith.d.ts b/jtg js/node_modules/@types/lodash/fp/assignWith.d.ts new file mode 100644 index 0000000..2205db0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assignWith.d.ts @@ -0,0 +1,2 @@ +import { assignWith } from "../fp"; +export = assignWith; diff --git a/jtg js/node_modules/@types/lodash/fp/assoc.d.ts b/jtg js/node_modules/@types/lodash/fp/assoc.d.ts new file mode 100644 index 0000000..2a2e29c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assoc.d.ts @@ -0,0 +1,2 @@ +import { assoc } from "../fp"; +export = assoc; diff --git a/jtg js/node_modules/@types/lodash/fp/assocPath.d.ts b/jtg js/node_modules/@types/lodash/fp/assocPath.d.ts new file mode 100644 index 0000000..e2dd517 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/assocPath.d.ts @@ -0,0 +1,2 @@ +import { assocPath } from "../fp"; +export = assocPath; diff --git a/jtg js/node_modules/@types/lodash/fp/at.d.ts b/jtg js/node_modules/@types/lodash/fp/at.d.ts new file mode 100644 index 0000000..beefa33 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/at.d.ts @@ -0,0 +1,2 @@ +import { at } from "../fp"; +export = at; diff --git a/jtg js/node_modules/@types/lodash/fp/attempt.d.ts b/jtg js/node_modules/@types/lodash/fp/attempt.d.ts new file mode 100644 index 0000000..72d60af --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/attempt.d.ts @@ -0,0 +1,2 @@ +import { attempt } from "../fp"; +export = attempt; diff --git a/jtg js/node_modules/@types/lodash/fp/before.d.ts b/jtg js/node_modules/@types/lodash/fp/before.d.ts new file mode 100644 index 0000000..ead2869 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/before.d.ts @@ -0,0 +1,2 @@ +import { before } from "../fp"; +export = before; diff --git a/jtg js/node_modules/@types/lodash/fp/bind.d.ts b/jtg js/node_modules/@types/lodash/fp/bind.d.ts new file mode 100644 index 0000000..a312192 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/bind.d.ts @@ -0,0 +1,2 @@ +import { bind } from "../fp"; +export = bind; diff --git a/jtg js/node_modules/@types/lodash/fp/bindAll.d.ts b/jtg js/node_modules/@types/lodash/fp/bindAll.d.ts new file mode 100644 index 0000000..4f7c7db --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/bindAll.d.ts @@ -0,0 +1,2 @@ +import { bindAll } from "../fp"; +export = bindAll; diff --git a/jtg js/node_modules/@types/lodash/fp/bindKey.d.ts b/jtg js/node_modules/@types/lodash/fp/bindKey.d.ts new file mode 100644 index 0000000..8986b2f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/bindKey.d.ts @@ -0,0 +1,2 @@ +import { bindKey } from "../fp"; +export = bindKey; diff --git a/jtg js/node_modules/@types/lodash/fp/camelCase.d.ts b/jtg js/node_modules/@types/lodash/fp/camelCase.d.ts new file mode 100644 index 0000000..be6628d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/camelCase.d.ts @@ -0,0 +1,2 @@ +import { camelCase } from "../fp"; +export = camelCase; diff --git a/jtg js/node_modules/@types/lodash/fp/capitalize.d.ts b/jtg js/node_modules/@types/lodash/fp/capitalize.d.ts new file mode 100644 index 0000000..7dc552f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/capitalize.d.ts @@ -0,0 +1,2 @@ +import { capitalize } from "../fp"; +export = capitalize; diff --git a/jtg js/node_modules/@types/lodash/fp/castArray.d.ts b/jtg js/node_modules/@types/lodash/fp/castArray.d.ts new file mode 100644 index 0000000..a431805 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/castArray.d.ts @@ -0,0 +1,2 @@ +import { castArray } from "../fp"; +export = castArray; diff --git a/jtg js/node_modules/@types/lodash/fp/ceil.d.ts b/jtg js/node_modules/@types/lodash/fp/ceil.d.ts new file mode 100644 index 0000000..13cd731 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/ceil.d.ts @@ -0,0 +1,2 @@ +import { ceil } from "../fp"; +export = ceil; diff --git a/jtg js/node_modules/@types/lodash/fp/chunk.d.ts b/jtg js/node_modules/@types/lodash/fp/chunk.d.ts new file mode 100644 index 0000000..2e40666 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/chunk.d.ts @@ -0,0 +1,2 @@ +import { chunk } from "../fp"; +export = chunk; diff --git a/jtg js/node_modules/@types/lodash/fp/clamp.d.ts b/jtg js/node_modules/@types/lodash/fp/clamp.d.ts new file mode 100644 index 0000000..121c6f9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/clamp.d.ts @@ -0,0 +1,2 @@ +import { clamp } from "../fp"; +export = clamp; diff --git a/jtg js/node_modules/@types/lodash/fp/clone.d.ts b/jtg js/node_modules/@types/lodash/fp/clone.d.ts new file mode 100644 index 0000000..9edf0c8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/clone.d.ts @@ -0,0 +1,2 @@ +import { clone } from "../fp"; +export = clone; diff --git a/jtg js/node_modules/@types/lodash/fp/cloneDeep.d.ts b/jtg js/node_modules/@types/lodash/fp/cloneDeep.d.ts new file mode 100644 index 0000000..3bdab15 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/cloneDeep.d.ts @@ -0,0 +1,2 @@ +import { cloneDeep } from "../fp"; +export = cloneDeep; diff --git a/jtg js/node_modules/@types/lodash/fp/cloneDeepWith.d.ts b/jtg js/node_modules/@types/lodash/fp/cloneDeepWith.d.ts new file mode 100644 index 0000000..57cf5af --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/cloneDeepWith.d.ts @@ -0,0 +1,2 @@ +import { cloneDeepWith } from "../fp"; +export = cloneDeepWith; diff --git a/jtg js/node_modules/@types/lodash/fp/cloneWith.d.ts b/jtg js/node_modules/@types/lodash/fp/cloneWith.d.ts new file mode 100644 index 0000000..9c63e13 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/cloneWith.d.ts @@ -0,0 +1,2 @@ +import { cloneWith } from "../fp"; +export = cloneWith; diff --git a/jtg js/node_modules/@types/lodash/fp/compact.d.ts b/jtg js/node_modules/@types/lodash/fp/compact.d.ts new file mode 100644 index 0000000..6ca1547 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/compact.d.ts @@ -0,0 +1,2 @@ +import { compact } from "../fp"; +export = compact; diff --git a/jtg js/node_modules/@types/lodash/fp/complement.d.ts b/jtg js/node_modules/@types/lodash/fp/complement.d.ts new file mode 100644 index 0000000..e4c3112 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/complement.d.ts @@ -0,0 +1,2 @@ +import { complement } from "../fp"; +export = complement; diff --git a/jtg js/node_modules/@types/lodash/fp/compose.d.ts b/jtg js/node_modules/@types/lodash/fp/compose.d.ts new file mode 100644 index 0000000..7950c7c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/compose.d.ts @@ -0,0 +1,2 @@ +import { compose } from "../fp"; +export = compose; diff --git a/jtg js/node_modules/@types/lodash/fp/concat.d.ts b/jtg js/node_modules/@types/lodash/fp/concat.d.ts new file mode 100644 index 0000000..5e109d1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/concat.d.ts @@ -0,0 +1,2 @@ +import { concat } from "../fp"; +export = concat; diff --git a/jtg js/node_modules/@types/lodash/fp/cond.d.ts b/jtg js/node_modules/@types/lodash/fp/cond.d.ts new file mode 100644 index 0000000..b9216e3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/cond.d.ts @@ -0,0 +1,2 @@ +import { cond } from "../fp"; +export = cond; diff --git a/jtg js/node_modules/@types/lodash/fp/conforms.d.ts b/jtg js/node_modules/@types/lodash/fp/conforms.d.ts new file mode 100644 index 0000000..9bd3353 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/conforms.d.ts @@ -0,0 +1,2 @@ +import { conforms } from "../fp"; +export = conforms; diff --git a/jtg js/node_modules/@types/lodash/fp/conformsTo.d.ts b/jtg js/node_modules/@types/lodash/fp/conformsTo.d.ts new file mode 100644 index 0000000..ad17280 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/conformsTo.d.ts @@ -0,0 +1,2 @@ +import { conformsTo } from "../fp"; +export = conformsTo; diff --git a/jtg js/node_modules/@types/lodash/fp/constant.d.ts b/jtg js/node_modules/@types/lodash/fp/constant.d.ts new file mode 100644 index 0000000..ef80ff5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/constant.d.ts @@ -0,0 +1,2 @@ +import { constant } from "../fp"; +export = constant; diff --git a/jtg js/node_modules/@types/lodash/fp/contains.d.ts b/jtg js/node_modules/@types/lodash/fp/contains.d.ts new file mode 100644 index 0000000..6c29e95 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/contains.d.ts @@ -0,0 +1,2 @@ +import { contains } from "../fp"; +export = contains; diff --git a/jtg js/node_modules/@types/lodash/fp/convert.d.ts b/jtg js/node_modules/@types/lodash/fp/convert.d.ts new file mode 100644 index 0000000..c06ecd9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/convert.d.ts @@ -0,0 +1,15 @@ +interface ConvertOptions { + cap?: boolean; + curry?: boolean; + fixed?: boolean; + immutable?: boolean; + rearg?: boolean; +} + +interface Convert { + (func: object, options?: ConvertOptions): any; + (name: string, func: (...args: any[]) => any, options?: ConvertOptions): any; +} + +declare const convert: Convert; +export = convert; diff --git a/jtg js/node_modules/@types/lodash/fp/countBy.d.ts b/jtg js/node_modules/@types/lodash/fp/countBy.d.ts new file mode 100644 index 0000000..e3725c3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/countBy.d.ts @@ -0,0 +1,2 @@ +import { countBy } from "../fp"; +export = countBy; diff --git a/jtg js/node_modules/@types/lodash/fp/create.d.ts b/jtg js/node_modules/@types/lodash/fp/create.d.ts new file mode 100644 index 0000000..2818e10 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/create.d.ts @@ -0,0 +1,2 @@ +import { create } from "../fp"; +export = create; diff --git a/jtg js/node_modules/@types/lodash/fp/curry.d.ts b/jtg js/node_modules/@types/lodash/fp/curry.d.ts new file mode 100644 index 0000000..e8fcf1d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/curry.d.ts @@ -0,0 +1,2 @@ +import { curry } from "../fp"; +export = curry; diff --git a/jtg js/node_modules/@types/lodash/fp/curryN.d.ts b/jtg js/node_modules/@types/lodash/fp/curryN.d.ts new file mode 100644 index 0000000..55b579b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/curryN.d.ts @@ -0,0 +1,2 @@ +import { curryN } from "../fp"; +export = curryN; diff --git a/jtg js/node_modules/@types/lodash/fp/curryRight.d.ts b/jtg js/node_modules/@types/lodash/fp/curryRight.d.ts new file mode 100644 index 0000000..d431f3c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/curryRight.d.ts @@ -0,0 +1,2 @@ +import { curryRight } from "../fp"; +export = curryRight; diff --git a/jtg js/node_modules/@types/lodash/fp/curryRightN.d.ts b/jtg js/node_modules/@types/lodash/fp/curryRightN.d.ts new file mode 100644 index 0000000..89866d1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/curryRightN.d.ts @@ -0,0 +1,2 @@ +import { curryRightN } from "../fp"; +export = curryRightN; diff --git a/jtg js/node_modules/@types/lodash/fp/debounce.d.ts b/jtg js/node_modules/@types/lodash/fp/debounce.d.ts new file mode 100644 index 0000000..88b003c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/debounce.d.ts @@ -0,0 +1,2 @@ +import { debounce } from "../fp"; +export = debounce; diff --git a/jtg js/node_modules/@types/lodash/fp/deburr.d.ts b/jtg js/node_modules/@types/lodash/fp/deburr.d.ts new file mode 100644 index 0000000..769abfb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/deburr.d.ts @@ -0,0 +1,2 @@ +import { deburr } from "../fp"; +export = deburr; diff --git a/jtg js/node_modules/@types/lodash/fp/defaultTo.d.ts b/jtg js/node_modules/@types/lodash/fp/defaultTo.d.ts new file mode 100644 index 0000000..e02cc46 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/defaultTo.d.ts @@ -0,0 +1,2 @@ +import { defaultTo } from "../fp"; +export = defaultTo; diff --git a/jtg js/node_modules/@types/lodash/fp/defaults.d.ts b/jtg js/node_modules/@types/lodash/fp/defaults.d.ts new file mode 100644 index 0000000..132e47b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/defaults.d.ts @@ -0,0 +1,2 @@ +import { defaults } from "../fp"; +export = defaults; diff --git a/jtg js/node_modules/@types/lodash/fp/defaultsAll.d.ts b/jtg js/node_modules/@types/lodash/fp/defaultsAll.d.ts new file mode 100644 index 0000000..1f2a330 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/defaultsAll.d.ts @@ -0,0 +1,2 @@ +import { defaultsAll } from "../fp"; +export = defaultsAll; diff --git a/jtg js/node_modules/@types/lodash/fp/defaultsDeep.d.ts b/jtg js/node_modules/@types/lodash/fp/defaultsDeep.d.ts new file mode 100644 index 0000000..6268a02 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/defaultsDeep.d.ts @@ -0,0 +1,2 @@ +import { defaultsDeep } from "../fp"; +export = defaultsDeep; diff --git a/jtg js/node_modules/@types/lodash/fp/defaultsDeepAll.d.ts b/jtg js/node_modules/@types/lodash/fp/defaultsDeepAll.d.ts new file mode 100644 index 0000000..7791666 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/defaultsDeepAll.d.ts @@ -0,0 +1,2 @@ +import { defaultsDeepAll } from "../fp"; +export = defaultsDeepAll; diff --git a/jtg js/node_modules/@types/lodash/fp/defer.d.ts b/jtg js/node_modules/@types/lodash/fp/defer.d.ts new file mode 100644 index 0000000..f8be4ae --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/defer.d.ts @@ -0,0 +1,2 @@ +import { defer } from "../fp"; +export = defer; diff --git a/jtg js/node_modules/@types/lodash/fp/delay.d.ts b/jtg js/node_modules/@types/lodash/fp/delay.d.ts new file mode 100644 index 0000000..2f0c399 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/delay.d.ts @@ -0,0 +1,2 @@ +import { delay } from "../fp"; +export = delay; diff --git a/jtg js/node_modules/@types/lodash/fp/difference.d.ts b/jtg js/node_modules/@types/lodash/fp/difference.d.ts new file mode 100644 index 0000000..9448085 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/difference.d.ts @@ -0,0 +1,2 @@ +import { difference } from "../fp"; +export = difference; diff --git a/jtg js/node_modules/@types/lodash/fp/differenceBy.d.ts b/jtg js/node_modules/@types/lodash/fp/differenceBy.d.ts new file mode 100644 index 0000000..52ba5b8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/differenceBy.d.ts @@ -0,0 +1,2 @@ +import { differenceBy } from "../fp"; +export = differenceBy; diff --git a/jtg js/node_modules/@types/lodash/fp/differenceWith.d.ts b/jtg js/node_modules/@types/lodash/fp/differenceWith.d.ts new file mode 100644 index 0000000..fd3c9a2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/differenceWith.d.ts @@ -0,0 +1,2 @@ +import { differenceWith } from "../fp"; +export = differenceWith; diff --git a/jtg js/node_modules/@types/lodash/fp/dissoc.d.ts b/jtg js/node_modules/@types/lodash/fp/dissoc.d.ts new file mode 100644 index 0000000..9b0fd6b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dissoc.d.ts @@ -0,0 +1,2 @@ +import { dissoc } from "../fp"; +export = dissoc; diff --git a/jtg js/node_modules/@types/lodash/fp/dissocPath.d.ts b/jtg js/node_modules/@types/lodash/fp/dissocPath.d.ts new file mode 100644 index 0000000..a201aa4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dissocPath.d.ts @@ -0,0 +1,2 @@ +import { dissocPath } from "../fp"; +export = dissocPath; diff --git a/jtg js/node_modules/@types/lodash/fp/divide.d.ts b/jtg js/node_modules/@types/lodash/fp/divide.d.ts new file mode 100644 index 0000000..5cd02e4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/divide.d.ts @@ -0,0 +1,2 @@ +import { divide } from "../fp"; +export = divide; diff --git a/jtg js/node_modules/@types/lodash/fp/drop.d.ts b/jtg js/node_modules/@types/lodash/fp/drop.d.ts new file mode 100644 index 0000000..bc3b9b2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/drop.d.ts @@ -0,0 +1,2 @@ +import { drop } from "../fp"; +export = drop; diff --git a/jtg js/node_modules/@types/lodash/fp/dropLast.d.ts b/jtg js/node_modules/@types/lodash/fp/dropLast.d.ts new file mode 100644 index 0000000..1dd388a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dropLast.d.ts @@ -0,0 +1,2 @@ +import { dropLast } from "../fp"; +export = dropLast; diff --git a/jtg js/node_modules/@types/lodash/fp/dropLastWhile.d.ts b/jtg js/node_modules/@types/lodash/fp/dropLastWhile.d.ts new file mode 100644 index 0000000..97529a6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dropLastWhile.d.ts @@ -0,0 +1,2 @@ +import { dropLastWhile } from "../fp"; +export = dropLastWhile; diff --git a/jtg js/node_modules/@types/lodash/fp/dropRight.d.ts b/jtg js/node_modules/@types/lodash/fp/dropRight.d.ts new file mode 100644 index 0000000..a2740ff --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dropRight.d.ts @@ -0,0 +1,2 @@ +import { dropRight } from "../fp"; +export = dropRight; diff --git a/jtg js/node_modules/@types/lodash/fp/dropRightWhile.d.ts b/jtg js/node_modules/@types/lodash/fp/dropRightWhile.d.ts new file mode 100644 index 0000000..1a5aa5f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dropRightWhile.d.ts @@ -0,0 +1,2 @@ +import { dropRightWhile } from "../fp"; +export = dropRightWhile; diff --git a/jtg js/node_modules/@types/lodash/fp/dropWhile.d.ts b/jtg js/node_modules/@types/lodash/fp/dropWhile.d.ts new file mode 100644 index 0000000..2cab8d8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/dropWhile.d.ts @@ -0,0 +1,2 @@ +import { dropWhile } from "../fp"; +export = dropWhile; diff --git a/jtg js/node_modules/@types/lodash/fp/each.d.ts b/jtg js/node_modules/@types/lodash/fp/each.d.ts new file mode 100644 index 0000000..af1d3b2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/each.d.ts @@ -0,0 +1,2 @@ +import { each } from "../fp"; +export = each; diff --git a/jtg js/node_modules/@types/lodash/fp/eachRight.d.ts b/jtg js/node_modules/@types/lodash/fp/eachRight.d.ts new file mode 100644 index 0000000..5ca2934 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/eachRight.d.ts @@ -0,0 +1,2 @@ +import { eachRight } from "../fp"; +export = eachRight; diff --git a/jtg js/node_modules/@types/lodash/fp/endsWith.d.ts b/jtg js/node_modules/@types/lodash/fp/endsWith.d.ts new file mode 100644 index 0000000..7e1b243 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/endsWith.d.ts @@ -0,0 +1,2 @@ +import { endsWith } from "../fp"; +export = endsWith; diff --git a/jtg js/node_modules/@types/lodash/fp/entries.d.ts b/jtg js/node_modules/@types/lodash/fp/entries.d.ts new file mode 100644 index 0000000..534c7bd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/entries.d.ts @@ -0,0 +1,2 @@ +import { entries } from "../fp"; +export = entries; diff --git a/jtg js/node_modules/@types/lodash/fp/entriesIn.d.ts b/jtg js/node_modules/@types/lodash/fp/entriesIn.d.ts new file mode 100644 index 0000000..932b17f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/entriesIn.d.ts @@ -0,0 +1,2 @@ +import { entriesIn } from "../fp"; +export = entriesIn; diff --git a/jtg js/node_modules/@types/lodash/fp/eq.d.ts b/jtg js/node_modules/@types/lodash/fp/eq.d.ts new file mode 100644 index 0000000..4778846 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/eq.d.ts @@ -0,0 +1,2 @@ +import { eq } from "../fp"; +export = eq; diff --git a/jtg js/node_modules/@types/lodash/fp/equals.d.ts b/jtg js/node_modules/@types/lodash/fp/equals.d.ts new file mode 100644 index 0000000..18ec108 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/equals.d.ts @@ -0,0 +1,2 @@ +import { equals } from "../fp"; +export = equals; diff --git a/jtg js/node_modules/@types/lodash/fp/escape.d.ts b/jtg js/node_modules/@types/lodash/fp/escape.d.ts new file mode 100644 index 0000000..36e7e87 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/escape.d.ts @@ -0,0 +1,2 @@ +import { escape } from "../fp"; +export = escape; diff --git a/jtg js/node_modules/@types/lodash/fp/escapeRegExp.d.ts b/jtg js/node_modules/@types/lodash/fp/escapeRegExp.d.ts new file mode 100644 index 0000000..6adc20e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/escapeRegExp.d.ts @@ -0,0 +1,2 @@ +import { escapeRegExp } from "../fp"; +export = escapeRegExp; diff --git a/jtg js/node_modules/@types/lodash/fp/every.d.ts b/jtg js/node_modules/@types/lodash/fp/every.d.ts new file mode 100644 index 0000000..7fbeaf7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/every.d.ts @@ -0,0 +1,2 @@ +import { every } from "../fp"; +export = every; diff --git a/jtg js/node_modules/@types/lodash/fp/extend.d.ts b/jtg js/node_modules/@types/lodash/fp/extend.d.ts new file mode 100644 index 0000000..cbe294e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/extend.d.ts @@ -0,0 +1,2 @@ +import { extend } from "../fp"; +export = extend; diff --git a/jtg js/node_modules/@types/lodash/fp/extendAll.d.ts b/jtg js/node_modules/@types/lodash/fp/extendAll.d.ts new file mode 100644 index 0000000..92cb3d6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/extendAll.d.ts @@ -0,0 +1,2 @@ +import { extendAll } from "../fp"; +export = extendAll; diff --git a/jtg js/node_modules/@types/lodash/fp/extendAllWith.d.ts b/jtg js/node_modules/@types/lodash/fp/extendAllWith.d.ts new file mode 100644 index 0000000..712d1d8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/extendAllWith.d.ts @@ -0,0 +1,2 @@ +import { extendAllWith } from "../fp"; +export = extendAllWith; diff --git a/jtg js/node_modules/@types/lodash/fp/extendWith.d.ts b/jtg js/node_modules/@types/lodash/fp/extendWith.d.ts new file mode 100644 index 0000000..9681360 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/extendWith.d.ts @@ -0,0 +1,2 @@ +import { extendWith } from "../fp"; +export = extendWith; diff --git a/jtg js/node_modules/@types/lodash/fp/fill.d.ts b/jtg js/node_modules/@types/lodash/fp/fill.d.ts new file mode 100644 index 0000000..5778015 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/fill.d.ts @@ -0,0 +1,2 @@ +import { fill } from "../fp"; +export = fill; diff --git a/jtg js/node_modules/@types/lodash/fp/filter.d.ts b/jtg js/node_modules/@types/lodash/fp/filter.d.ts new file mode 100644 index 0000000..8619741 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/filter.d.ts @@ -0,0 +1,2 @@ +import { filter } from "../fp"; +export = filter; diff --git a/jtg js/node_modules/@types/lodash/fp/find.d.ts b/jtg js/node_modules/@types/lodash/fp/find.d.ts new file mode 100644 index 0000000..06418fb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/find.d.ts @@ -0,0 +1,2 @@ +import { find } from "../fp"; +export = find; diff --git a/jtg js/node_modules/@types/lodash/fp/findFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/findFrom.d.ts new file mode 100644 index 0000000..64275d0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findFrom.d.ts @@ -0,0 +1,2 @@ +import { findFrom } from "../fp"; +export = findFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/findIndex.d.ts b/jtg js/node_modules/@types/lodash/fp/findIndex.d.ts new file mode 100644 index 0000000..77d1f7b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findIndex.d.ts @@ -0,0 +1,2 @@ +import { findIndex } from "../fp"; +export = findIndex; diff --git a/jtg js/node_modules/@types/lodash/fp/findIndexFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/findIndexFrom.d.ts new file mode 100644 index 0000000..22330ad --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findIndexFrom.d.ts @@ -0,0 +1,2 @@ +import { findIndexFrom } from "../fp"; +export = findIndexFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/findKey.d.ts b/jtg js/node_modules/@types/lodash/fp/findKey.d.ts new file mode 100644 index 0000000..c5a225a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findKey.d.ts @@ -0,0 +1,2 @@ +import { findKey } from "../fp"; +export = findKey; diff --git a/jtg js/node_modules/@types/lodash/fp/findLast.d.ts b/jtg js/node_modules/@types/lodash/fp/findLast.d.ts new file mode 100644 index 0000000..b400c94 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findLast.d.ts @@ -0,0 +1,2 @@ +import { findLast } from "../fp"; +export = findLast; diff --git a/jtg js/node_modules/@types/lodash/fp/findLastFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/findLastFrom.d.ts new file mode 100644 index 0000000..1f034df --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findLastFrom.d.ts @@ -0,0 +1,2 @@ +import { findLastFrom } from "../fp"; +export = findLastFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/findLastIndex.d.ts b/jtg js/node_modules/@types/lodash/fp/findLastIndex.d.ts new file mode 100644 index 0000000..51ee410 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findLastIndex.d.ts @@ -0,0 +1,2 @@ +import { findLastIndex } from "../fp"; +export = findLastIndex; diff --git a/jtg js/node_modules/@types/lodash/fp/findLastIndexFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/findLastIndexFrom.d.ts new file mode 100644 index 0000000..08bd53a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findLastIndexFrom.d.ts @@ -0,0 +1,2 @@ +import { findLastIndexFrom } from "../fp"; +export = findLastIndexFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/findLastKey.d.ts b/jtg js/node_modules/@types/lodash/fp/findLastKey.d.ts new file mode 100644 index 0000000..7437a9d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/findLastKey.d.ts @@ -0,0 +1,2 @@ +import { findLastKey } from "../fp"; +export = findLastKey; diff --git a/jtg js/node_modules/@types/lodash/fp/first.d.ts b/jtg js/node_modules/@types/lodash/fp/first.d.ts new file mode 100644 index 0000000..4554ad0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/first.d.ts @@ -0,0 +1,2 @@ +import { first } from "../fp"; +export = first; diff --git a/jtg js/node_modules/@types/lodash/fp/flatMap.d.ts b/jtg js/node_modules/@types/lodash/fp/flatMap.d.ts new file mode 100644 index 0000000..eb6d804 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flatMap.d.ts @@ -0,0 +1,2 @@ +import { flatMap } from "../fp"; +export = flatMap; diff --git a/jtg js/node_modules/@types/lodash/fp/flatMapDeep.d.ts b/jtg js/node_modules/@types/lodash/fp/flatMapDeep.d.ts new file mode 100644 index 0000000..0ce4db4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flatMapDeep.d.ts @@ -0,0 +1,2 @@ +import { flatMapDeep } from "../fp"; +export = flatMapDeep; diff --git a/jtg js/node_modules/@types/lodash/fp/flatMapDepth.d.ts b/jtg js/node_modules/@types/lodash/fp/flatMapDepth.d.ts new file mode 100644 index 0000000..b60af92 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flatMapDepth.d.ts @@ -0,0 +1,2 @@ +import { flatMapDepth } from "../fp"; +export = flatMapDepth; diff --git a/jtg js/node_modules/@types/lodash/fp/flatten.d.ts b/jtg js/node_modules/@types/lodash/fp/flatten.d.ts new file mode 100644 index 0000000..02c051f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flatten.d.ts @@ -0,0 +1,2 @@ +import { flatten } from "../fp"; +export = flatten; diff --git a/jtg js/node_modules/@types/lodash/fp/flattenDeep.d.ts b/jtg js/node_modules/@types/lodash/fp/flattenDeep.d.ts new file mode 100644 index 0000000..44b40e3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flattenDeep.d.ts @@ -0,0 +1,2 @@ +import { flattenDeep } from "../fp"; +export = flattenDeep; diff --git a/jtg js/node_modules/@types/lodash/fp/flattenDepth.d.ts b/jtg js/node_modules/@types/lodash/fp/flattenDepth.d.ts new file mode 100644 index 0000000..f046f20 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flattenDepth.d.ts @@ -0,0 +1,2 @@ +import { flattenDepth } from "../fp"; +export = flattenDepth; diff --git a/jtg js/node_modules/@types/lodash/fp/flip.d.ts b/jtg js/node_modules/@types/lodash/fp/flip.d.ts new file mode 100644 index 0000000..e5b3b7d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flip.d.ts @@ -0,0 +1,2 @@ +import { flip } from "../fp"; +export = flip; diff --git a/jtg js/node_modules/@types/lodash/fp/floor.d.ts b/jtg js/node_modules/@types/lodash/fp/floor.d.ts new file mode 100644 index 0000000..167ab95 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/floor.d.ts @@ -0,0 +1,2 @@ +import { floor } from "../fp"; +export = floor; diff --git a/jtg js/node_modules/@types/lodash/fp/flow.d.ts b/jtg js/node_modules/@types/lodash/fp/flow.d.ts new file mode 100644 index 0000000..97f0fb8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flow.d.ts @@ -0,0 +1,2 @@ +import { flow } from "../fp"; +export = flow; diff --git a/jtg js/node_modules/@types/lodash/fp/flowRight.d.ts b/jtg js/node_modules/@types/lodash/fp/flowRight.d.ts new file mode 100644 index 0000000..f148fea --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/flowRight.d.ts @@ -0,0 +1,2 @@ +import { flowRight } from "../fp"; +export = flowRight; diff --git a/jtg js/node_modules/@types/lodash/fp/forEach.d.ts b/jtg js/node_modules/@types/lodash/fp/forEach.d.ts new file mode 100644 index 0000000..f8aa7a4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/forEach.d.ts @@ -0,0 +1,2 @@ +import { forEach } from "../fp"; +export = forEach; diff --git a/jtg js/node_modules/@types/lodash/fp/forEachRight.d.ts b/jtg js/node_modules/@types/lodash/fp/forEachRight.d.ts new file mode 100644 index 0000000..135a424 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/forEachRight.d.ts @@ -0,0 +1,2 @@ +import { forEachRight } from "../fp"; +export = forEachRight; diff --git a/jtg js/node_modules/@types/lodash/fp/forIn.d.ts b/jtg js/node_modules/@types/lodash/fp/forIn.d.ts new file mode 100644 index 0000000..dab37b1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/forIn.d.ts @@ -0,0 +1,2 @@ +import { forIn } from "../fp"; +export = forIn; diff --git a/jtg js/node_modules/@types/lodash/fp/forInRight.d.ts b/jtg js/node_modules/@types/lodash/fp/forInRight.d.ts new file mode 100644 index 0000000..c560df0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/forInRight.d.ts @@ -0,0 +1,2 @@ +import { forInRight } from "../fp"; +export = forInRight; diff --git a/jtg js/node_modules/@types/lodash/fp/forOwn.d.ts b/jtg js/node_modules/@types/lodash/fp/forOwn.d.ts new file mode 100644 index 0000000..7099c48 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/forOwn.d.ts @@ -0,0 +1,2 @@ +import { forOwn } from "../fp"; +export = forOwn; diff --git a/jtg js/node_modules/@types/lodash/fp/forOwnRight.d.ts b/jtg js/node_modules/@types/lodash/fp/forOwnRight.d.ts new file mode 100644 index 0000000..f1e3928 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/forOwnRight.d.ts @@ -0,0 +1,2 @@ +import { forOwnRight } from "../fp"; +export = forOwnRight; diff --git a/jtg js/node_modules/@types/lodash/fp/fromPairs.d.ts b/jtg js/node_modules/@types/lodash/fp/fromPairs.d.ts new file mode 100644 index 0000000..b0d0082 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/fromPairs.d.ts @@ -0,0 +1,2 @@ +import { fromPairs } from "../fp"; +export = fromPairs; diff --git a/jtg js/node_modules/@types/lodash/fp/functions.d.ts b/jtg js/node_modules/@types/lodash/fp/functions.d.ts new file mode 100644 index 0000000..727d68e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/functions.d.ts @@ -0,0 +1,2 @@ +import { functions } from "../fp"; +export = functions; diff --git a/jtg js/node_modules/@types/lodash/fp/functionsIn.d.ts b/jtg js/node_modules/@types/lodash/fp/functionsIn.d.ts new file mode 100644 index 0000000..448746e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/functionsIn.d.ts @@ -0,0 +1,2 @@ +import { functionsIn } from "../fp"; +export = functionsIn; diff --git a/jtg js/node_modules/@types/lodash/fp/get.d.ts b/jtg js/node_modules/@types/lodash/fp/get.d.ts new file mode 100644 index 0000000..ff3ab8b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/get.d.ts @@ -0,0 +1,2 @@ +import { get } from "../fp"; +export = get; diff --git a/jtg js/node_modules/@types/lodash/fp/getOr.d.ts b/jtg js/node_modules/@types/lodash/fp/getOr.d.ts new file mode 100644 index 0000000..ce3d5bb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/getOr.d.ts @@ -0,0 +1,2 @@ +import { getOr } from "../fp"; +export = getOr; diff --git a/jtg js/node_modules/@types/lodash/fp/groupBy.d.ts b/jtg js/node_modules/@types/lodash/fp/groupBy.d.ts new file mode 100644 index 0000000..813830a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/groupBy.d.ts @@ -0,0 +1,2 @@ +import { groupBy } from "../fp"; +export = groupBy; diff --git a/jtg js/node_modules/@types/lodash/fp/gt.d.ts b/jtg js/node_modules/@types/lodash/fp/gt.d.ts new file mode 100644 index 0000000..517071f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/gt.d.ts @@ -0,0 +1,2 @@ +import { gt } from "../fp"; +export = gt; diff --git a/jtg js/node_modules/@types/lodash/fp/gte.d.ts b/jtg js/node_modules/@types/lodash/fp/gte.d.ts new file mode 100644 index 0000000..5f6d85c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/gte.d.ts @@ -0,0 +1,2 @@ +import { gte } from "../fp"; +export = gte; diff --git a/jtg js/node_modules/@types/lodash/fp/has.d.ts b/jtg js/node_modules/@types/lodash/fp/has.d.ts new file mode 100644 index 0000000..8cbda7f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/has.d.ts @@ -0,0 +1,2 @@ +import { has } from "../fp"; +export = has; diff --git a/jtg js/node_modules/@types/lodash/fp/hasIn.d.ts b/jtg js/node_modules/@types/lodash/fp/hasIn.d.ts new file mode 100644 index 0000000..7e06a87 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/hasIn.d.ts @@ -0,0 +1,2 @@ +import { hasIn } from "../fp"; +export = hasIn; diff --git a/jtg js/node_modules/@types/lodash/fp/head.d.ts b/jtg js/node_modules/@types/lodash/fp/head.d.ts new file mode 100644 index 0000000..4a7d5e5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/head.d.ts @@ -0,0 +1,2 @@ +import { head } from "../fp"; +export = head; diff --git a/jtg js/node_modules/@types/lodash/fp/identical.d.ts b/jtg js/node_modules/@types/lodash/fp/identical.d.ts new file mode 100644 index 0000000..954dff5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/identical.d.ts @@ -0,0 +1,2 @@ +import { identical } from "../fp"; +export = identical; diff --git a/jtg js/node_modules/@types/lodash/fp/identity.d.ts b/jtg js/node_modules/@types/lodash/fp/identity.d.ts new file mode 100644 index 0000000..97e613c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/identity.d.ts @@ -0,0 +1,2 @@ +import { identity } from "../fp"; +export = identity; diff --git a/jtg js/node_modules/@types/lodash/fp/inRange.d.ts b/jtg js/node_modules/@types/lodash/fp/inRange.d.ts new file mode 100644 index 0000000..06ed312 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/inRange.d.ts @@ -0,0 +1,2 @@ +import { inRange } from "../fp"; +export = inRange; diff --git a/jtg js/node_modules/@types/lodash/fp/includes.d.ts b/jtg js/node_modules/@types/lodash/fp/includes.d.ts new file mode 100644 index 0000000..afc9984 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/includes.d.ts @@ -0,0 +1,2 @@ +import { includes } from "../fp"; +export = includes; diff --git a/jtg js/node_modules/@types/lodash/fp/includesFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/includesFrom.d.ts new file mode 100644 index 0000000..13042d0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/includesFrom.d.ts @@ -0,0 +1,2 @@ +import { includesFrom } from "../fp"; +export = includesFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/indexBy.d.ts b/jtg js/node_modules/@types/lodash/fp/indexBy.d.ts new file mode 100644 index 0000000..f3f75a4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/indexBy.d.ts @@ -0,0 +1,2 @@ +import { indexBy } from "../fp"; +export = indexBy; diff --git a/jtg js/node_modules/@types/lodash/fp/indexOf.d.ts b/jtg js/node_modules/@types/lodash/fp/indexOf.d.ts new file mode 100644 index 0000000..8078c46 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/indexOf.d.ts @@ -0,0 +1,2 @@ +import { indexOf } from "../fp"; +export = indexOf; diff --git a/jtg js/node_modules/@types/lodash/fp/indexOfFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/indexOfFrom.d.ts new file mode 100644 index 0000000..fe66609 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/indexOfFrom.d.ts @@ -0,0 +1,2 @@ +import { indexOfFrom } from "../fp"; +export = indexOfFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/init.d.ts b/jtg js/node_modules/@types/lodash/fp/init.d.ts new file mode 100644 index 0000000..2f37ecd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/init.d.ts @@ -0,0 +1,2 @@ +import { init } from "../fp"; +export = init; diff --git a/jtg js/node_modules/@types/lodash/fp/initial.d.ts b/jtg js/node_modules/@types/lodash/fp/initial.d.ts new file mode 100644 index 0000000..446da06 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/initial.d.ts @@ -0,0 +1,2 @@ +import { initial } from "../fp"; +export = initial; diff --git a/jtg js/node_modules/@types/lodash/fp/intersection.d.ts b/jtg js/node_modules/@types/lodash/fp/intersection.d.ts new file mode 100644 index 0000000..41d7915 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/intersection.d.ts @@ -0,0 +1,2 @@ +import { intersection } from "../fp"; +export = intersection; diff --git a/jtg js/node_modules/@types/lodash/fp/intersectionBy.d.ts b/jtg js/node_modules/@types/lodash/fp/intersectionBy.d.ts new file mode 100644 index 0000000..a123ddd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/intersectionBy.d.ts @@ -0,0 +1,2 @@ +import { intersectionBy } from "../fp"; +export = intersectionBy; diff --git a/jtg js/node_modules/@types/lodash/fp/intersectionWith.d.ts b/jtg js/node_modules/@types/lodash/fp/intersectionWith.d.ts new file mode 100644 index 0000000..9ad9941 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/intersectionWith.d.ts @@ -0,0 +1,2 @@ +import { intersectionWith } from "../fp"; +export = intersectionWith; diff --git a/jtg js/node_modules/@types/lodash/fp/invert.d.ts b/jtg js/node_modules/@types/lodash/fp/invert.d.ts new file mode 100644 index 0000000..a41c2bc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invert.d.ts @@ -0,0 +1,2 @@ +import { invert } from "../fp"; +export = invert; diff --git a/jtg js/node_modules/@types/lodash/fp/invertBy.d.ts b/jtg js/node_modules/@types/lodash/fp/invertBy.d.ts new file mode 100644 index 0000000..e28f713 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invertBy.d.ts @@ -0,0 +1,2 @@ +import { invertBy } from "../fp"; +export = invertBy; diff --git a/jtg js/node_modules/@types/lodash/fp/invertObj.d.ts b/jtg js/node_modules/@types/lodash/fp/invertObj.d.ts new file mode 100644 index 0000000..2e16c4f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invertObj.d.ts @@ -0,0 +1,2 @@ +import { invertObj } from "../fp"; +export = invertObj; diff --git a/jtg js/node_modules/@types/lodash/fp/invoke.d.ts b/jtg js/node_modules/@types/lodash/fp/invoke.d.ts new file mode 100644 index 0000000..1a9ce3b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invoke.d.ts @@ -0,0 +1,2 @@ +import { invoke } from "../fp"; +export = invoke; diff --git a/jtg js/node_modules/@types/lodash/fp/invokeArgs.d.ts b/jtg js/node_modules/@types/lodash/fp/invokeArgs.d.ts new file mode 100644 index 0000000..8b498e0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invokeArgs.d.ts @@ -0,0 +1,2 @@ +import { invokeArgs } from "../fp"; +export = invokeArgs; diff --git a/jtg js/node_modules/@types/lodash/fp/invokeArgsMap.d.ts b/jtg js/node_modules/@types/lodash/fp/invokeArgsMap.d.ts new file mode 100644 index 0000000..f5ba3e7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invokeArgsMap.d.ts @@ -0,0 +1,2 @@ +import { invokeArgsMap } from "../fp"; +export = invokeArgsMap; diff --git a/jtg js/node_modules/@types/lodash/fp/invokeMap.d.ts b/jtg js/node_modules/@types/lodash/fp/invokeMap.d.ts new file mode 100644 index 0000000..9f0aea9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/invokeMap.d.ts @@ -0,0 +1,2 @@ +import { invokeMap } from "../fp"; +export = invokeMap; diff --git a/jtg js/node_modules/@types/lodash/fp/isArguments.d.ts b/jtg js/node_modules/@types/lodash/fp/isArguments.d.ts new file mode 100644 index 0000000..23c438c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isArguments.d.ts @@ -0,0 +1,2 @@ +import { isArguments } from "../fp"; +export = isArguments; diff --git a/jtg js/node_modules/@types/lodash/fp/isArray.d.ts b/jtg js/node_modules/@types/lodash/fp/isArray.d.ts new file mode 100644 index 0000000..dadecce --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isArray.d.ts @@ -0,0 +1,2 @@ +import { isArray } from "../fp"; +export = isArray; diff --git a/jtg js/node_modules/@types/lodash/fp/isArrayBuffer.d.ts b/jtg js/node_modules/@types/lodash/fp/isArrayBuffer.d.ts new file mode 100644 index 0000000..3201834 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isArrayBuffer.d.ts @@ -0,0 +1,2 @@ +import { isArrayBuffer } from "../fp"; +export = isArrayBuffer; diff --git a/jtg js/node_modules/@types/lodash/fp/isArrayLike.d.ts b/jtg js/node_modules/@types/lodash/fp/isArrayLike.d.ts new file mode 100644 index 0000000..2be9b54 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isArrayLike.d.ts @@ -0,0 +1,2 @@ +import { isArrayLike } from "../fp"; +export = isArrayLike; diff --git a/jtg js/node_modules/@types/lodash/fp/isArrayLikeObject.d.ts b/jtg js/node_modules/@types/lodash/fp/isArrayLikeObject.d.ts new file mode 100644 index 0000000..709f513 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isArrayLikeObject.d.ts @@ -0,0 +1,2 @@ +import { isArrayLikeObject } from "../fp"; +export = isArrayLikeObject; diff --git a/jtg js/node_modules/@types/lodash/fp/isBoolean.d.ts b/jtg js/node_modules/@types/lodash/fp/isBoolean.d.ts new file mode 100644 index 0000000..605cb2c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isBoolean.d.ts @@ -0,0 +1,2 @@ +import { isBoolean } from "../fp"; +export = isBoolean; diff --git a/jtg js/node_modules/@types/lodash/fp/isBuffer.d.ts b/jtg js/node_modules/@types/lodash/fp/isBuffer.d.ts new file mode 100644 index 0000000..3d06b54 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isBuffer.d.ts @@ -0,0 +1,2 @@ +import { isBuffer } from "../fp"; +export = isBuffer; diff --git a/jtg js/node_modules/@types/lodash/fp/isDate.d.ts b/jtg js/node_modules/@types/lodash/fp/isDate.d.ts new file mode 100644 index 0000000..979594f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isDate.d.ts @@ -0,0 +1,2 @@ +import { isDate } from "../fp"; +export = isDate; diff --git a/jtg js/node_modules/@types/lodash/fp/isElement.d.ts b/jtg js/node_modules/@types/lodash/fp/isElement.d.ts new file mode 100644 index 0000000..26739ad --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isElement.d.ts @@ -0,0 +1,2 @@ +import { isElement } from "../fp"; +export = isElement; diff --git a/jtg js/node_modules/@types/lodash/fp/isEmpty.d.ts b/jtg js/node_modules/@types/lodash/fp/isEmpty.d.ts new file mode 100644 index 0000000..ed9b33f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isEmpty.d.ts @@ -0,0 +1,2 @@ +import { isEmpty } from "../fp"; +export = isEmpty; diff --git a/jtg js/node_modules/@types/lodash/fp/isEqual.d.ts b/jtg js/node_modules/@types/lodash/fp/isEqual.d.ts new file mode 100644 index 0000000..0a51c5c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isEqual.d.ts @@ -0,0 +1,2 @@ +import { isEqual } from "../fp"; +export = isEqual; diff --git a/jtg js/node_modules/@types/lodash/fp/isEqualWith.d.ts b/jtg js/node_modules/@types/lodash/fp/isEqualWith.d.ts new file mode 100644 index 0000000..27fa441 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isEqualWith.d.ts @@ -0,0 +1,2 @@ +import { isEqualWith } from "../fp"; +export = isEqualWith; diff --git a/jtg js/node_modules/@types/lodash/fp/isError.d.ts b/jtg js/node_modules/@types/lodash/fp/isError.d.ts new file mode 100644 index 0000000..4adb988 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isError.d.ts @@ -0,0 +1,2 @@ +import { isError } from "../fp"; +export = isError; diff --git a/jtg js/node_modules/@types/lodash/fp/isFinite.d.ts b/jtg js/node_modules/@types/lodash/fp/isFinite.d.ts new file mode 100644 index 0000000..5641edc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isFinite.d.ts @@ -0,0 +1,2 @@ +import { isFinite } from "../fp"; +export = isFinite; diff --git a/jtg js/node_modules/@types/lodash/fp/isFunction.d.ts b/jtg js/node_modules/@types/lodash/fp/isFunction.d.ts new file mode 100644 index 0000000..3404e74 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isFunction.d.ts @@ -0,0 +1,2 @@ +import { isFunction } from "../fp"; +export = isFunction; diff --git a/jtg js/node_modules/@types/lodash/fp/isInteger.d.ts b/jtg js/node_modules/@types/lodash/fp/isInteger.d.ts new file mode 100644 index 0000000..310df93 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isInteger.d.ts @@ -0,0 +1,2 @@ +import { isInteger } from "../fp"; +export = isInteger; diff --git a/jtg js/node_modules/@types/lodash/fp/isLength.d.ts b/jtg js/node_modules/@types/lodash/fp/isLength.d.ts new file mode 100644 index 0000000..3073b67 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isLength.d.ts @@ -0,0 +1,2 @@ +import { isLength } from "../fp"; +export = isLength; diff --git a/jtg js/node_modules/@types/lodash/fp/isMap.d.ts b/jtg js/node_modules/@types/lodash/fp/isMap.d.ts new file mode 100644 index 0000000..e76745c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isMap.d.ts @@ -0,0 +1,2 @@ +import { isMap } from "../fp"; +export = isMap; diff --git a/jtg js/node_modules/@types/lodash/fp/isMatch.d.ts b/jtg js/node_modules/@types/lodash/fp/isMatch.d.ts new file mode 100644 index 0000000..58a0a2d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isMatch.d.ts @@ -0,0 +1,2 @@ +import { isMatch } from "../fp"; +export = isMatch; diff --git a/jtg js/node_modules/@types/lodash/fp/isMatchWith.d.ts b/jtg js/node_modules/@types/lodash/fp/isMatchWith.d.ts new file mode 100644 index 0000000..40ff3a6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isMatchWith.d.ts @@ -0,0 +1,2 @@ +import { isMatchWith } from "../fp"; +export = isMatchWith; diff --git a/jtg js/node_modules/@types/lodash/fp/isNaN.d.ts b/jtg js/node_modules/@types/lodash/fp/isNaN.d.ts new file mode 100644 index 0000000..2f92885 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isNaN.d.ts @@ -0,0 +1,2 @@ +import { isNaN } from "../fp"; +export = isNaN; diff --git a/jtg js/node_modules/@types/lodash/fp/isNative.d.ts b/jtg js/node_modules/@types/lodash/fp/isNative.d.ts new file mode 100644 index 0000000..6e189a8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isNative.d.ts @@ -0,0 +1,2 @@ +import { isNative } from "../fp"; +export = isNative; diff --git a/jtg js/node_modules/@types/lodash/fp/isNil.d.ts b/jtg js/node_modules/@types/lodash/fp/isNil.d.ts new file mode 100644 index 0000000..0baee7f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isNil.d.ts @@ -0,0 +1,2 @@ +import { isNil } from "../fp"; +export = isNil; diff --git a/jtg js/node_modules/@types/lodash/fp/isNull.d.ts b/jtg js/node_modules/@types/lodash/fp/isNull.d.ts new file mode 100644 index 0000000..5e5fad5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isNull.d.ts @@ -0,0 +1,2 @@ +import { isNull } from "../fp"; +export = isNull; diff --git a/jtg js/node_modules/@types/lodash/fp/isNumber.d.ts b/jtg js/node_modules/@types/lodash/fp/isNumber.d.ts new file mode 100644 index 0000000..93368f1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isNumber.d.ts @@ -0,0 +1,2 @@ +import { isNumber } from "../fp"; +export = isNumber; diff --git a/jtg js/node_modules/@types/lodash/fp/isObject.d.ts b/jtg js/node_modules/@types/lodash/fp/isObject.d.ts new file mode 100644 index 0000000..7e9e257 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isObject.d.ts @@ -0,0 +1,2 @@ +import { isObject } from "../fp"; +export = isObject; diff --git a/jtg js/node_modules/@types/lodash/fp/isObjectLike.d.ts b/jtg js/node_modules/@types/lodash/fp/isObjectLike.d.ts new file mode 100644 index 0000000..ba03ddc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isObjectLike.d.ts @@ -0,0 +1,2 @@ +import { isObjectLike } from "../fp"; +export = isObjectLike; diff --git a/jtg js/node_modules/@types/lodash/fp/isPlainObject.d.ts b/jtg js/node_modules/@types/lodash/fp/isPlainObject.d.ts new file mode 100644 index 0000000..87da4bd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isPlainObject.d.ts @@ -0,0 +1,2 @@ +import { isPlainObject } from "../fp"; +export = isPlainObject; diff --git a/jtg js/node_modules/@types/lodash/fp/isRegExp.d.ts b/jtg js/node_modules/@types/lodash/fp/isRegExp.d.ts new file mode 100644 index 0000000..47edf50 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isRegExp.d.ts @@ -0,0 +1,2 @@ +import { isRegExp } from "../fp"; +export = isRegExp; diff --git a/jtg js/node_modules/@types/lodash/fp/isSafeInteger.d.ts b/jtg js/node_modules/@types/lodash/fp/isSafeInteger.d.ts new file mode 100644 index 0000000..a32b12c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isSafeInteger.d.ts @@ -0,0 +1,2 @@ +import { isSafeInteger } from "../fp"; +export = isSafeInteger; diff --git a/jtg js/node_modules/@types/lodash/fp/isSet.d.ts b/jtg js/node_modules/@types/lodash/fp/isSet.d.ts new file mode 100644 index 0000000..85e4933 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isSet.d.ts @@ -0,0 +1,2 @@ +import { isSet } from "../fp"; +export = isSet; diff --git a/jtg js/node_modules/@types/lodash/fp/isString.d.ts b/jtg js/node_modules/@types/lodash/fp/isString.d.ts new file mode 100644 index 0000000..9a21494 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isString.d.ts @@ -0,0 +1,2 @@ +import { isString } from "../fp"; +export = isString; diff --git a/jtg js/node_modules/@types/lodash/fp/isSymbol.d.ts b/jtg js/node_modules/@types/lodash/fp/isSymbol.d.ts new file mode 100644 index 0000000..3d82e97 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isSymbol.d.ts @@ -0,0 +1,2 @@ +import { isSymbol } from "../fp"; +export = isSymbol; diff --git a/jtg js/node_modules/@types/lodash/fp/isTypedArray.d.ts b/jtg js/node_modules/@types/lodash/fp/isTypedArray.d.ts new file mode 100644 index 0000000..fce6c44 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isTypedArray.d.ts @@ -0,0 +1,2 @@ +import { isTypedArray } from "../fp"; +export = isTypedArray; diff --git a/jtg js/node_modules/@types/lodash/fp/isUndefined.d.ts b/jtg js/node_modules/@types/lodash/fp/isUndefined.d.ts new file mode 100644 index 0000000..ccb0100 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isUndefined.d.ts @@ -0,0 +1,2 @@ +import { isUndefined } from "../fp"; +export = isUndefined; diff --git a/jtg js/node_modules/@types/lodash/fp/isWeakMap.d.ts b/jtg js/node_modules/@types/lodash/fp/isWeakMap.d.ts new file mode 100644 index 0000000..11edaab --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isWeakMap.d.ts @@ -0,0 +1,2 @@ +import { isWeakMap } from "../fp"; +export = isWeakMap; diff --git a/jtg js/node_modules/@types/lodash/fp/isWeakSet.d.ts b/jtg js/node_modules/@types/lodash/fp/isWeakSet.d.ts new file mode 100644 index 0000000..6d877e9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/isWeakSet.d.ts @@ -0,0 +1,2 @@ +import { isWeakSet } from "../fp"; +export = isWeakSet; diff --git a/jtg js/node_modules/@types/lodash/fp/iteratee.d.ts b/jtg js/node_modules/@types/lodash/fp/iteratee.d.ts new file mode 100644 index 0000000..0ec2832 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/iteratee.d.ts @@ -0,0 +1,2 @@ +import { iteratee } from "../fp"; +export = iteratee; diff --git a/jtg js/node_modules/@types/lodash/fp/join.d.ts b/jtg js/node_modules/@types/lodash/fp/join.d.ts new file mode 100644 index 0000000..beee04c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/join.d.ts @@ -0,0 +1,2 @@ +import { join } from "../fp"; +export = join; diff --git a/jtg js/node_modules/@types/lodash/fp/juxt.d.ts b/jtg js/node_modules/@types/lodash/fp/juxt.d.ts new file mode 100644 index 0000000..5e972d4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/juxt.d.ts @@ -0,0 +1,2 @@ +import { juxt } from "../fp"; +export = juxt; diff --git a/jtg js/node_modules/@types/lodash/fp/kebabCase.d.ts b/jtg js/node_modules/@types/lodash/fp/kebabCase.d.ts new file mode 100644 index 0000000..8231b15 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/kebabCase.d.ts @@ -0,0 +1,2 @@ +import { kebabCase } from "../fp"; +export = kebabCase; diff --git a/jtg js/node_modules/@types/lodash/fp/keyBy.d.ts b/jtg js/node_modules/@types/lodash/fp/keyBy.d.ts new file mode 100644 index 0000000..e4b1381 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/keyBy.d.ts @@ -0,0 +1,2 @@ +import { keyBy } from "../fp"; +export = keyBy; diff --git a/jtg js/node_modules/@types/lodash/fp/keys.d.ts b/jtg js/node_modules/@types/lodash/fp/keys.d.ts new file mode 100644 index 0000000..0323484 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/keys.d.ts @@ -0,0 +1,2 @@ +import { keys } from "../fp"; +export = keys; diff --git a/jtg js/node_modules/@types/lodash/fp/keysIn.d.ts b/jtg js/node_modules/@types/lodash/fp/keysIn.d.ts new file mode 100644 index 0000000..f6f3482 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/keysIn.d.ts @@ -0,0 +1,2 @@ +import { keysIn } from "../fp"; +export = keysIn; diff --git a/jtg js/node_modules/@types/lodash/fp/last.d.ts b/jtg js/node_modules/@types/lodash/fp/last.d.ts new file mode 100644 index 0000000..f74171a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/last.d.ts @@ -0,0 +1,2 @@ +import { last } from "../fp"; +export = last; diff --git a/jtg js/node_modules/@types/lodash/fp/lastIndexOf.d.ts b/jtg js/node_modules/@types/lodash/fp/lastIndexOf.d.ts new file mode 100644 index 0000000..2d60e64 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/lastIndexOf.d.ts @@ -0,0 +1,2 @@ +import { lastIndexOf } from "../fp"; +export = lastIndexOf; diff --git a/jtg js/node_modules/@types/lodash/fp/lastIndexOfFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/lastIndexOfFrom.d.ts new file mode 100644 index 0000000..7a2f23e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/lastIndexOfFrom.d.ts @@ -0,0 +1,2 @@ +import { lastIndexOfFrom } from "../fp"; +export = lastIndexOfFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/lowerCase.d.ts b/jtg js/node_modules/@types/lodash/fp/lowerCase.d.ts new file mode 100644 index 0000000..1a5360f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/lowerCase.d.ts @@ -0,0 +1,2 @@ +import { lowerCase } from "../fp"; +export = lowerCase; diff --git a/jtg js/node_modules/@types/lodash/fp/lowerFirst.d.ts b/jtg js/node_modules/@types/lodash/fp/lowerFirst.d.ts new file mode 100644 index 0000000..23ce925 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/lowerFirst.d.ts @@ -0,0 +1,2 @@ +import { lowerFirst } from "../fp"; +export = lowerFirst; diff --git a/jtg js/node_modules/@types/lodash/fp/lt.d.ts b/jtg js/node_modules/@types/lodash/fp/lt.d.ts new file mode 100644 index 0000000..a309bdc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/lt.d.ts @@ -0,0 +1,2 @@ +import { lt } from "../fp"; +export = lt; diff --git a/jtg js/node_modules/@types/lodash/fp/lte.d.ts b/jtg js/node_modules/@types/lodash/fp/lte.d.ts new file mode 100644 index 0000000..0d4af2c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/lte.d.ts @@ -0,0 +1,2 @@ +import { lte } from "../fp"; +export = lte; diff --git a/jtg js/node_modules/@types/lodash/fp/map.d.ts b/jtg js/node_modules/@types/lodash/fp/map.d.ts new file mode 100644 index 0000000..17d014c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/map.d.ts @@ -0,0 +1,2 @@ +import { map } from "../fp"; +export = map; diff --git a/jtg js/node_modules/@types/lodash/fp/mapKeys.d.ts b/jtg js/node_modules/@types/lodash/fp/mapKeys.d.ts new file mode 100644 index 0000000..acc6d75 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/mapKeys.d.ts @@ -0,0 +1,2 @@ +import { mapKeys } from "../fp"; +export = mapKeys; diff --git a/jtg js/node_modules/@types/lodash/fp/mapValues.d.ts b/jtg js/node_modules/@types/lodash/fp/mapValues.d.ts new file mode 100644 index 0000000..abef821 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/mapValues.d.ts @@ -0,0 +1,2 @@ +import { mapValues } from "../fp"; +export = mapValues; diff --git a/jtg js/node_modules/@types/lodash/fp/matches.d.ts b/jtg js/node_modules/@types/lodash/fp/matches.d.ts new file mode 100644 index 0000000..e9796de --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/matches.d.ts @@ -0,0 +1,2 @@ +import { matches } from "../fp"; +export = matches; diff --git a/jtg js/node_modules/@types/lodash/fp/matchesProperty.d.ts b/jtg js/node_modules/@types/lodash/fp/matchesProperty.d.ts new file mode 100644 index 0000000..81db8f7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/matchesProperty.d.ts @@ -0,0 +1,2 @@ +import { matchesProperty } from "../fp"; +export = matchesProperty; diff --git a/jtg js/node_modules/@types/lodash/fp/max.d.ts b/jtg js/node_modules/@types/lodash/fp/max.d.ts new file mode 100644 index 0000000..7b08dc5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/max.d.ts @@ -0,0 +1,2 @@ +import { max } from "../fp"; +export = max; diff --git a/jtg js/node_modules/@types/lodash/fp/maxBy.d.ts b/jtg js/node_modules/@types/lodash/fp/maxBy.d.ts new file mode 100644 index 0000000..68f30dd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/maxBy.d.ts @@ -0,0 +1,2 @@ +import { maxBy } from "../fp"; +export = maxBy; diff --git a/jtg js/node_modules/@types/lodash/fp/mean.d.ts b/jtg js/node_modules/@types/lodash/fp/mean.d.ts new file mode 100644 index 0000000..a0b7e22 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/mean.d.ts @@ -0,0 +1,2 @@ +import { mean } from "../fp"; +export = mean; diff --git a/jtg js/node_modules/@types/lodash/fp/meanBy.d.ts b/jtg js/node_modules/@types/lodash/fp/meanBy.d.ts new file mode 100644 index 0000000..d76afd7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/meanBy.d.ts @@ -0,0 +1,2 @@ +import { meanBy } from "../fp"; +export = meanBy; diff --git a/jtg js/node_modules/@types/lodash/fp/memoize.d.ts b/jtg js/node_modules/@types/lodash/fp/memoize.d.ts new file mode 100644 index 0000000..a60b79c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/memoize.d.ts @@ -0,0 +1,2 @@ +import { memoize } from "../fp"; +export = memoize; diff --git a/jtg js/node_modules/@types/lodash/fp/merge.d.ts b/jtg js/node_modules/@types/lodash/fp/merge.d.ts new file mode 100644 index 0000000..f80117b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/merge.d.ts @@ -0,0 +1,2 @@ +import { merge } from "../fp"; +export = merge; diff --git a/jtg js/node_modules/@types/lodash/fp/mergeAll.d.ts b/jtg js/node_modules/@types/lodash/fp/mergeAll.d.ts new file mode 100644 index 0000000..6b462d8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/mergeAll.d.ts @@ -0,0 +1,2 @@ +import { mergeAll } from "../fp"; +export = mergeAll; diff --git a/jtg js/node_modules/@types/lodash/fp/mergeAllWith.d.ts b/jtg js/node_modules/@types/lodash/fp/mergeAllWith.d.ts new file mode 100644 index 0000000..3d2f7f2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/mergeAllWith.d.ts @@ -0,0 +1,2 @@ +import { mergeAllWith } from "../fp"; +export = mergeAllWith; diff --git a/jtg js/node_modules/@types/lodash/fp/mergeWith.d.ts b/jtg js/node_modules/@types/lodash/fp/mergeWith.d.ts new file mode 100644 index 0000000..d1f541e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/mergeWith.d.ts @@ -0,0 +1,2 @@ +import { mergeWith } from "../fp"; +export = mergeWith; diff --git a/jtg js/node_modules/@types/lodash/fp/method.d.ts b/jtg js/node_modules/@types/lodash/fp/method.d.ts new file mode 100644 index 0000000..f9f2ee8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/method.d.ts @@ -0,0 +1,2 @@ +import { method } from "../fp"; +export = method; diff --git a/jtg js/node_modules/@types/lodash/fp/methodOf.d.ts b/jtg js/node_modules/@types/lodash/fp/methodOf.d.ts new file mode 100644 index 0000000..a9e0e4f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/methodOf.d.ts @@ -0,0 +1,2 @@ +import { methodOf } from "../fp"; +export = methodOf; diff --git a/jtg js/node_modules/@types/lodash/fp/min.d.ts b/jtg js/node_modules/@types/lodash/fp/min.d.ts new file mode 100644 index 0000000..7c80ab0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/min.d.ts @@ -0,0 +1,2 @@ +import { min } from "../fp"; +export = min; diff --git a/jtg js/node_modules/@types/lodash/fp/minBy.d.ts b/jtg js/node_modules/@types/lodash/fp/minBy.d.ts new file mode 100644 index 0000000..020a8f5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/minBy.d.ts @@ -0,0 +1,2 @@ +import { minBy } from "../fp"; +export = minBy; diff --git a/jtg js/node_modules/@types/lodash/fp/multiply.d.ts b/jtg js/node_modules/@types/lodash/fp/multiply.d.ts new file mode 100644 index 0000000..b3e5f3a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/multiply.d.ts @@ -0,0 +1,2 @@ +import { multiply } from "../fp"; +export = multiply; diff --git a/jtg js/node_modules/@types/lodash/fp/nAry.d.ts b/jtg js/node_modules/@types/lodash/fp/nAry.d.ts new file mode 100644 index 0000000..882e4a3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/nAry.d.ts @@ -0,0 +1,2 @@ +import { nAry } from "../fp"; +export = nAry; diff --git a/jtg js/node_modules/@types/lodash/fp/negate.d.ts b/jtg js/node_modules/@types/lodash/fp/negate.d.ts new file mode 100644 index 0000000..a7693c1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/negate.d.ts @@ -0,0 +1,2 @@ +import { negate } from "../fp"; +export = negate; diff --git a/jtg js/node_modules/@types/lodash/fp/noConflict.d.ts b/jtg js/node_modules/@types/lodash/fp/noConflict.d.ts new file mode 100644 index 0000000..7694f5a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/noConflict.d.ts @@ -0,0 +1,2 @@ +import { noConflict } from "../fp"; +export = noConflict; diff --git a/jtg js/node_modules/@types/lodash/fp/noop.d.ts b/jtg js/node_modules/@types/lodash/fp/noop.d.ts new file mode 100644 index 0000000..5b6a27b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/noop.d.ts @@ -0,0 +1,2 @@ +import { noop } from "../fp"; +export = noop; diff --git a/jtg js/node_modules/@types/lodash/fp/now.d.ts b/jtg js/node_modules/@types/lodash/fp/now.d.ts new file mode 100644 index 0000000..fdbbd2b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/now.d.ts @@ -0,0 +1,2 @@ +import { now } from "../fp"; +export = now; diff --git a/jtg js/node_modules/@types/lodash/fp/nth.d.ts b/jtg js/node_modules/@types/lodash/fp/nth.d.ts new file mode 100644 index 0000000..e3987e1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/nth.d.ts @@ -0,0 +1,2 @@ +import { nth } from "../fp"; +export = nth; diff --git a/jtg js/node_modules/@types/lodash/fp/nthArg.d.ts b/jtg js/node_modules/@types/lodash/fp/nthArg.d.ts new file mode 100644 index 0000000..216c9bb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/nthArg.d.ts @@ -0,0 +1,2 @@ +import { nthArg } from "../fp"; +export = nthArg; diff --git a/jtg js/node_modules/@types/lodash/fp/omit.d.ts b/jtg js/node_modules/@types/lodash/fp/omit.d.ts new file mode 100644 index 0000000..1cd1b7f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/omit.d.ts @@ -0,0 +1,2 @@ +import { omit } from "../fp"; +export = omit; diff --git a/jtg js/node_modules/@types/lodash/fp/omitAll.d.ts b/jtg js/node_modules/@types/lodash/fp/omitAll.d.ts new file mode 100644 index 0000000..dab5cfa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/omitAll.d.ts @@ -0,0 +1,2 @@ +import { omitAll } from "../fp"; +export = omitAll; diff --git a/jtg js/node_modules/@types/lodash/fp/omitBy.d.ts b/jtg js/node_modules/@types/lodash/fp/omitBy.d.ts new file mode 100644 index 0000000..8be4f5b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/omitBy.d.ts @@ -0,0 +1,2 @@ +import { omitBy } from "../fp"; +export = omitBy; diff --git a/jtg js/node_modules/@types/lodash/fp/once.d.ts b/jtg js/node_modules/@types/lodash/fp/once.d.ts new file mode 100644 index 0000000..24d859c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/once.d.ts @@ -0,0 +1,2 @@ +import { once } from "../fp"; +export = once; diff --git a/jtg js/node_modules/@types/lodash/fp/orderBy.d.ts b/jtg js/node_modules/@types/lodash/fp/orderBy.d.ts new file mode 100644 index 0000000..9443fcf --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/orderBy.d.ts @@ -0,0 +1,2 @@ +import { orderBy } from "../fp"; +export = orderBy; diff --git a/jtg js/node_modules/@types/lodash/fp/over.d.ts b/jtg js/node_modules/@types/lodash/fp/over.d.ts new file mode 100644 index 0000000..1bd2502 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/over.d.ts @@ -0,0 +1,2 @@ +import { over } from "../fp"; +export = over; diff --git a/jtg js/node_modules/@types/lodash/fp/overArgs.d.ts b/jtg js/node_modules/@types/lodash/fp/overArgs.d.ts new file mode 100644 index 0000000..c054c92 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/overArgs.d.ts @@ -0,0 +1,2 @@ +import { overArgs } from "../fp"; +export = overArgs; diff --git a/jtg js/node_modules/@types/lodash/fp/overEvery.d.ts b/jtg js/node_modules/@types/lodash/fp/overEvery.d.ts new file mode 100644 index 0000000..1cf8b40 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/overEvery.d.ts @@ -0,0 +1,2 @@ +import { overEvery } from "../fp"; +export = overEvery; diff --git a/jtg js/node_modules/@types/lodash/fp/overSome.d.ts b/jtg js/node_modules/@types/lodash/fp/overSome.d.ts new file mode 100644 index 0000000..6b098b7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/overSome.d.ts @@ -0,0 +1,2 @@ +import { overSome } from "../fp"; +export = overSome; diff --git a/jtg js/node_modules/@types/lodash/fp/pad.d.ts b/jtg js/node_modules/@types/lodash/fp/pad.d.ts new file mode 100644 index 0000000..a551977 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pad.d.ts @@ -0,0 +1,2 @@ +import { pad } from "../fp"; +export = pad; diff --git a/jtg js/node_modules/@types/lodash/fp/padChars.d.ts b/jtg js/node_modules/@types/lodash/fp/padChars.d.ts new file mode 100644 index 0000000..74d1aab --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/padChars.d.ts @@ -0,0 +1,2 @@ +import { padChars } from "../fp"; +export = padChars; diff --git a/jtg js/node_modules/@types/lodash/fp/padCharsEnd.d.ts b/jtg js/node_modules/@types/lodash/fp/padCharsEnd.d.ts new file mode 100644 index 0000000..3a468dc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/padCharsEnd.d.ts @@ -0,0 +1,2 @@ +import { padCharsEnd } from "../fp"; +export = padCharsEnd; diff --git a/jtg js/node_modules/@types/lodash/fp/padCharsStart.d.ts b/jtg js/node_modules/@types/lodash/fp/padCharsStart.d.ts new file mode 100644 index 0000000..a225235 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/padCharsStart.d.ts @@ -0,0 +1,2 @@ +import { padCharsStart } from "../fp"; +export = padCharsStart; diff --git a/jtg js/node_modules/@types/lodash/fp/padEnd.d.ts b/jtg js/node_modules/@types/lodash/fp/padEnd.d.ts new file mode 100644 index 0000000..5c4e4d8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/padEnd.d.ts @@ -0,0 +1,2 @@ +import { padEnd } from "../fp"; +export = padEnd; diff --git a/jtg js/node_modules/@types/lodash/fp/padStart.d.ts b/jtg js/node_modules/@types/lodash/fp/padStart.d.ts new file mode 100644 index 0000000..a4fca5d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/padStart.d.ts @@ -0,0 +1,2 @@ +import { padStart } from "../fp"; +export = padStart; diff --git a/jtg js/node_modules/@types/lodash/fp/parseInt.d.ts b/jtg js/node_modules/@types/lodash/fp/parseInt.d.ts new file mode 100644 index 0000000..47aff97 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/parseInt.d.ts @@ -0,0 +1,2 @@ +import { parseInt } from "../fp"; +export = parseInt; diff --git a/jtg js/node_modules/@types/lodash/fp/partial.d.ts b/jtg js/node_modules/@types/lodash/fp/partial.d.ts new file mode 100644 index 0000000..f5ebd72 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/partial.d.ts @@ -0,0 +1,2 @@ +import { partial } from "../fp"; +export = partial; diff --git a/jtg js/node_modules/@types/lodash/fp/partialRight.d.ts b/jtg js/node_modules/@types/lodash/fp/partialRight.d.ts new file mode 100644 index 0000000..bc0fa1b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/partialRight.d.ts @@ -0,0 +1,2 @@ +import { partialRight } from "../fp"; +export = partialRight; diff --git a/jtg js/node_modules/@types/lodash/fp/partition.d.ts b/jtg js/node_modules/@types/lodash/fp/partition.d.ts new file mode 100644 index 0000000..6ad41cd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/partition.d.ts @@ -0,0 +1,2 @@ +import { partition } from "../fp"; +export = partition; diff --git a/jtg js/node_modules/@types/lodash/fp/path.d.ts b/jtg js/node_modules/@types/lodash/fp/path.d.ts new file mode 100644 index 0000000..db86d60 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/path.d.ts @@ -0,0 +1,2 @@ +import { path } from "../fp"; +export = path; diff --git a/jtg js/node_modules/@types/lodash/fp/pathEq.d.ts b/jtg js/node_modules/@types/lodash/fp/pathEq.d.ts new file mode 100644 index 0000000..9f32875 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pathEq.d.ts @@ -0,0 +1,2 @@ +import { pathEq } from "../fp"; +export = pathEq; diff --git a/jtg js/node_modules/@types/lodash/fp/pathOr.d.ts b/jtg js/node_modules/@types/lodash/fp/pathOr.d.ts new file mode 100644 index 0000000..6cad6b1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pathOr.d.ts @@ -0,0 +1,2 @@ +import { pathOr } from "../fp"; +export = pathOr; diff --git a/jtg js/node_modules/@types/lodash/fp/paths.d.ts b/jtg js/node_modules/@types/lodash/fp/paths.d.ts new file mode 100644 index 0000000..1e6eb89 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/paths.d.ts @@ -0,0 +1,2 @@ +import { paths } from "../fp"; +export = paths; diff --git a/jtg js/node_modules/@types/lodash/fp/pick.d.ts b/jtg js/node_modules/@types/lodash/fp/pick.d.ts new file mode 100644 index 0000000..4772eca --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pick.d.ts @@ -0,0 +1,2 @@ +import { pick } from "../fp"; +export = pick; diff --git a/jtg js/node_modules/@types/lodash/fp/pickAll.d.ts b/jtg js/node_modules/@types/lodash/fp/pickAll.d.ts new file mode 100644 index 0000000..38d2e3f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pickAll.d.ts @@ -0,0 +1,2 @@ +import { pickAll } from "../fp"; +export = pickAll; diff --git a/jtg js/node_modules/@types/lodash/fp/pickBy.d.ts b/jtg js/node_modules/@types/lodash/fp/pickBy.d.ts new file mode 100644 index 0000000..0b19262 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pickBy.d.ts @@ -0,0 +1,2 @@ +import { pickBy } from "../fp"; +export = pickBy; diff --git a/jtg js/node_modules/@types/lodash/fp/pipe.d.ts b/jtg js/node_modules/@types/lodash/fp/pipe.d.ts new file mode 100644 index 0000000..a53a048 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pipe.d.ts @@ -0,0 +1,2 @@ +import { pipe } from "../fp"; +export = pipe; diff --git a/jtg js/node_modules/@types/lodash/fp/placeholder.d.ts b/jtg js/node_modules/@types/lodash/fp/placeholder.d.ts new file mode 100644 index 0000000..ddaed8e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/placeholder.d.ts @@ -0,0 +1,3 @@ +import _ = require("../index"); +declare const placeholder: _.__; +export = placeholder; diff --git a/jtg js/node_modules/@types/lodash/fp/pluck.d.ts b/jtg js/node_modules/@types/lodash/fp/pluck.d.ts new file mode 100644 index 0000000..c5c916f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pluck.d.ts @@ -0,0 +1,2 @@ +import { pluck } from "../fp"; +export = pluck; diff --git a/jtg js/node_modules/@types/lodash/fp/prop.d.ts b/jtg js/node_modules/@types/lodash/fp/prop.d.ts new file mode 100644 index 0000000..f2061e7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/prop.d.ts @@ -0,0 +1,2 @@ +import { prop } from "../fp"; +export = prop; diff --git a/jtg js/node_modules/@types/lodash/fp/propEq.d.ts b/jtg js/node_modules/@types/lodash/fp/propEq.d.ts new file mode 100644 index 0000000..5e3f4b4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/propEq.d.ts @@ -0,0 +1,2 @@ +import { propEq } from "../fp"; +export = propEq; diff --git a/jtg js/node_modules/@types/lodash/fp/propOr.d.ts b/jtg js/node_modules/@types/lodash/fp/propOr.d.ts new file mode 100644 index 0000000..feabcf6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/propOr.d.ts @@ -0,0 +1,2 @@ +import { propOr } from "../fp"; +export = propOr; diff --git a/jtg js/node_modules/@types/lodash/fp/property.d.ts b/jtg js/node_modules/@types/lodash/fp/property.d.ts new file mode 100644 index 0000000..aaa6c25 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/property.d.ts @@ -0,0 +1,2 @@ +import { property } from "../fp"; +export = property; diff --git a/jtg js/node_modules/@types/lodash/fp/propertyOf.d.ts b/jtg js/node_modules/@types/lodash/fp/propertyOf.d.ts new file mode 100644 index 0000000..a4d5513 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/propertyOf.d.ts @@ -0,0 +1,2 @@ +import { propertyOf } from "../fp"; +export = propertyOf; diff --git a/jtg js/node_modules/@types/lodash/fp/props.d.ts b/jtg js/node_modules/@types/lodash/fp/props.d.ts new file mode 100644 index 0000000..46addba --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/props.d.ts @@ -0,0 +1,2 @@ +import { props } from "../fp"; +export = props; diff --git a/jtg js/node_modules/@types/lodash/fp/pull.d.ts b/jtg js/node_modules/@types/lodash/fp/pull.d.ts new file mode 100644 index 0000000..801cf33 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pull.d.ts @@ -0,0 +1,2 @@ +import { pull } from "../fp"; +export = pull; diff --git a/jtg js/node_modules/@types/lodash/fp/pullAll.d.ts b/jtg js/node_modules/@types/lodash/fp/pullAll.d.ts new file mode 100644 index 0000000..042fe89 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pullAll.d.ts @@ -0,0 +1,2 @@ +import { pullAll } from "../fp"; +export = pullAll; diff --git a/jtg js/node_modules/@types/lodash/fp/pullAllBy.d.ts b/jtg js/node_modules/@types/lodash/fp/pullAllBy.d.ts new file mode 100644 index 0000000..5e5de1f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pullAllBy.d.ts @@ -0,0 +1,2 @@ +import { pullAllBy } from "../fp"; +export = pullAllBy; diff --git a/jtg js/node_modules/@types/lodash/fp/pullAllWith.d.ts b/jtg js/node_modules/@types/lodash/fp/pullAllWith.d.ts new file mode 100644 index 0000000..0c448bf --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pullAllWith.d.ts @@ -0,0 +1,2 @@ +import { pullAllWith } from "../fp"; +export = pullAllWith; diff --git a/jtg js/node_modules/@types/lodash/fp/pullAt.d.ts b/jtg js/node_modules/@types/lodash/fp/pullAt.d.ts new file mode 100644 index 0000000..4bdffd9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/pullAt.d.ts @@ -0,0 +1,2 @@ +import { pullAt } from "../fp"; +export = pullAt; diff --git a/jtg js/node_modules/@types/lodash/fp/random.d.ts b/jtg js/node_modules/@types/lodash/fp/random.d.ts new file mode 100644 index 0000000..a69555c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/random.d.ts @@ -0,0 +1,2 @@ +import { random } from "../fp"; +export = random; diff --git a/jtg js/node_modules/@types/lodash/fp/range.d.ts b/jtg js/node_modules/@types/lodash/fp/range.d.ts new file mode 100644 index 0000000..ace50ce --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/range.d.ts @@ -0,0 +1,2 @@ +import { range } from "../fp"; +export = range; diff --git a/jtg js/node_modules/@types/lodash/fp/rangeRight.d.ts b/jtg js/node_modules/@types/lodash/fp/rangeRight.d.ts new file mode 100644 index 0000000..20c8bae --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/rangeRight.d.ts @@ -0,0 +1,2 @@ +import { rangeRight } from "../fp"; +export = rangeRight; diff --git a/jtg js/node_modules/@types/lodash/fp/rangeStep.d.ts b/jtg js/node_modules/@types/lodash/fp/rangeStep.d.ts new file mode 100644 index 0000000..e5f4c89 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/rangeStep.d.ts @@ -0,0 +1,2 @@ +import { rangeStep } from "../fp"; +export = rangeStep; diff --git a/jtg js/node_modules/@types/lodash/fp/rangeStepRight.d.ts b/jtg js/node_modules/@types/lodash/fp/rangeStepRight.d.ts new file mode 100644 index 0000000..6c7add4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/rangeStepRight.d.ts @@ -0,0 +1,2 @@ +import { rangeStepRight } from "../fp"; +export = rangeStepRight; diff --git a/jtg js/node_modules/@types/lodash/fp/rearg.d.ts b/jtg js/node_modules/@types/lodash/fp/rearg.d.ts new file mode 100644 index 0000000..5c407d1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/rearg.d.ts @@ -0,0 +1,2 @@ +import { rearg } from "../fp"; +export = rearg; diff --git a/jtg js/node_modules/@types/lodash/fp/reduce.d.ts b/jtg js/node_modules/@types/lodash/fp/reduce.d.ts new file mode 100644 index 0000000..e262f39 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/reduce.d.ts @@ -0,0 +1,2 @@ +import { reduce } from "../fp"; +export = reduce; diff --git a/jtg js/node_modules/@types/lodash/fp/reduceRight.d.ts b/jtg js/node_modules/@types/lodash/fp/reduceRight.d.ts new file mode 100644 index 0000000..fa54fa3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/reduceRight.d.ts @@ -0,0 +1,2 @@ +import { reduceRight } from "../fp"; +export = reduceRight; diff --git a/jtg js/node_modules/@types/lodash/fp/reject.d.ts b/jtg js/node_modules/@types/lodash/fp/reject.d.ts new file mode 100644 index 0000000..d0a12af --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/reject.d.ts @@ -0,0 +1,2 @@ +import { reject } from "../fp"; +export = reject; diff --git a/jtg js/node_modules/@types/lodash/fp/remove.d.ts b/jtg js/node_modules/@types/lodash/fp/remove.d.ts new file mode 100644 index 0000000..e0da9b1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/remove.d.ts @@ -0,0 +1,2 @@ +import { remove } from "../fp"; +export = remove; diff --git a/jtg js/node_modules/@types/lodash/fp/repeat.d.ts b/jtg js/node_modules/@types/lodash/fp/repeat.d.ts new file mode 100644 index 0000000..1f757a2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/repeat.d.ts @@ -0,0 +1,2 @@ +import { repeat } from "../fp"; +export = repeat; diff --git a/jtg js/node_modules/@types/lodash/fp/replace.d.ts b/jtg js/node_modules/@types/lodash/fp/replace.d.ts new file mode 100644 index 0000000..c7a75d1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/replace.d.ts @@ -0,0 +1,2 @@ +import { replace } from "../fp"; +export = replace; diff --git a/jtg js/node_modules/@types/lodash/fp/rest.d.ts b/jtg js/node_modules/@types/lodash/fp/rest.d.ts new file mode 100644 index 0000000..b059d67 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/rest.d.ts @@ -0,0 +1,2 @@ +import { rest } from "../fp"; +export = rest; diff --git a/jtg js/node_modules/@types/lodash/fp/restFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/restFrom.d.ts new file mode 100644 index 0000000..218edbd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/restFrom.d.ts @@ -0,0 +1,2 @@ +import { restFrom } from "../fp"; +export = restFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/result.d.ts b/jtg js/node_modules/@types/lodash/fp/result.d.ts new file mode 100644 index 0000000..5a919dd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/result.d.ts @@ -0,0 +1,2 @@ +import { result } from "../fp"; +export = result; diff --git a/jtg js/node_modules/@types/lodash/fp/reverse.d.ts b/jtg js/node_modules/@types/lodash/fp/reverse.d.ts new file mode 100644 index 0000000..f754d6a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/reverse.d.ts @@ -0,0 +1,2 @@ +import { reverse } from "../fp"; +export = reverse; diff --git a/jtg js/node_modules/@types/lodash/fp/round.d.ts b/jtg js/node_modules/@types/lodash/fp/round.d.ts new file mode 100644 index 0000000..02f4e6f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/round.d.ts @@ -0,0 +1,2 @@ +import { round } from "../fp"; +export = round; diff --git a/jtg js/node_modules/@types/lodash/fp/runInContext.d.ts b/jtg js/node_modules/@types/lodash/fp/runInContext.d.ts new file mode 100644 index 0000000..6041db7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/runInContext.d.ts @@ -0,0 +1,2 @@ +import { runInContext } from "../fp"; +export = runInContext; diff --git a/jtg js/node_modules/@types/lodash/fp/sample.d.ts b/jtg js/node_modules/@types/lodash/fp/sample.d.ts new file mode 100644 index 0000000..f2fcf1a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sample.d.ts @@ -0,0 +1,2 @@ +import { sample } from "../fp"; +export = sample; diff --git a/jtg js/node_modules/@types/lodash/fp/sampleSize.d.ts b/jtg js/node_modules/@types/lodash/fp/sampleSize.d.ts new file mode 100644 index 0000000..41a3cab --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sampleSize.d.ts @@ -0,0 +1,2 @@ +import { sampleSize } from "../fp"; +export = sampleSize; diff --git a/jtg js/node_modules/@types/lodash/fp/set.d.ts b/jtg js/node_modules/@types/lodash/fp/set.d.ts new file mode 100644 index 0000000..57960cb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/set.d.ts @@ -0,0 +1,2 @@ +import { set } from "../fp"; +export = set; diff --git a/jtg js/node_modules/@types/lodash/fp/setWith.d.ts b/jtg js/node_modules/@types/lodash/fp/setWith.d.ts new file mode 100644 index 0000000..800a494 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/setWith.d.ts @@ -0,0 +1,2 @@ +import { setWith } from "../fp"; +export = setWith; diff --git a/jtg js/node_modules/@types/lodash/fp/shuffle.d.ts b/jtg js/node_modules/@types/lodash/fp/shuffle.d.ts new file mode 100644 index 0000000..7f07282 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/shuffle.d.ts @@ -0,0 +1,2 @@ +import { shuffle } from "../fp"; +export = shuffle; diff --git a/jtg js/node_modules/@types/lodash/fp/size.d.ts b/jtg js/node_modules/@types/lodash/fp/size.d.ts new file mode 100644 index 0000000..657c8b7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/size.d.ts @@ -0,0 +1,2 @@ +import { size } from "../fp"; +export = size; diff --git a/jtg js/node_modules/@types/lodash/fp/slice.d.ts b/jtg js/node_modules/@types/lodash/fp/slice.d.ts new file mode 100644 index 0000000..fabbbe0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/slice.d.ts @@ -0,0 +1,2 @@ +import { slice } from "../fp"; +export = slice; diff --git a/jtg js/node_modules/@types/lodash/fp/snakeCase.d.ts b/jtg js/node_modules/@types/lodash/fp/snakeCase.d.ts new file mode 100644 index 0000000..a06ac45 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/snakeCase.d.ts @@ -0,0 +1,2 @@ +import { snakeCase } from "../fp"; +export = snakeCase; diff --git a/jtg js/node_modules/@types/lodash/fp/some.d.ts b/jtg js/node_modules/@types/lodash/fp/some.d.ts new file mode 100644 index 0000000..870b231 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/some.d.ts @@ -0,0 +1,2 @@ +import { some } from "../fp"; +export = some; diff --git a/jtg js/node_modules/@types/lodash/fp/sortBy.d.ts b/jtg js/node_modules/@types/lodash/fp/sortBy.d.ts new file mode 100644 index 0000000..72c5799 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortBy.d.ts @@ -0,0 +1,2 @@ +import { sortBy } from "../fp"; +export = sortBy; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedIndex.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedIndex.d.ts new file mode 100644 index 0000000..35b57fe --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedIndex.d.ts @@ -0,0 +1,2 @@ +import { sortedIndex } from "../fp"; +export = sortedIndex; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedIndexBy.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedIndexBy.d.ts new file mode 100644 index 0000000..f6968df --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedIndexBy.d.ts @@ -0,0 +1,2 @@ +import { sortedIndexBy } from "../fp"; +export = sortedIndexBy; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedIndexOf.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedIndexOf.d.ts new file mode 100644 index 0000000..beeb6db --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedIndexOf.d.ts @@ -0,0 +1,2 @@ +import { sortedIndexOf } from "../fp"; +export = sortedIndexOf; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedLastIndex.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedLastIndex.d.ts new file mode 100644 index 0000000..eea77a0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedLastIndex.d.ts @@ -0,0 +1,2 @@ +import { sortedLastIndex } from "../fp"; +export = sortedLastIndex; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedLastIndexBy.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedLastIndexBy.d.ts new file mode 100644 index 0000000..6c8e4ee --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedLastIndexBy.d.ts @@ -0,0 +1,2 @@ +import { sortedLastIndexBy } from "../fp"; +export = sortedLastIndexBy; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedLastIndexOf.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedLastIndexOf.d.ts new file mode 100644 index 0000000..a02caf3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedLastIndexOf.d.ts @@ -0,0 +1,2 @@ +import { sortedLastIndexOf } from "../fp"; +export = sortedLastIndexOf; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedUniq.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedUniq.d.ts new file mode 100644 index 0000000..03d8e69 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedUniq.d.ts @@ -0,0 +1,2 @@ +import { sortedUniq } from "../fp"; +export = sortedUniq; diff --git a/jtg js/node_modules/@types/lodash/fp/sortedUniqBy.d.ts b/jtg js/node_modules/@types/lodash/fp/sortedUniqBy.d.ts new file mode 100644 index 0000000..466981a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sortedUniqBy.d.ts @@ -0,0 +1,2 @@ +import { sortedUniqBy } from "../fp"; +export = sortedUniqBy; diff --git a/jtg js/node_modules/@types/lodash/fp/split.d.ts b/jtg js/node_modules/@types/lodash/fp/split.d.ts new file mode 100644 index 0000000..8274d40 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/split.d.ts @@ -0,0 +1,2 @@ +import { split } from "../fp"; +export = split; diff --git a/jtg js/node_modules/@types/lodash/fp/spread.d.ts b/jtg js/node_modules/@types/lodash/fp/spread.d.ts new file mode 100644 index 0000000..44eb90c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/spread.d.ts @@ -0,0 +1,2 @@ +import { spread } from "../fp"; +export = spread; diff --git a/jtg js/node_modules/@types/lodash/fp/spreadFrom.d.ts b/jtg js/node_modules/@types/lodash/fp/spreadFrom.d.ts new file mode 100644 index 0000000..7eb840b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/spreadFrom.d.ts @@ -0,0 +1,2 @@ +import { spreadFrom } from "../fp"; +export = spreadFrom; diff --git a/jtg js/node_modules/@types/lodash/fp/startCase.d.ts b/jtg js/node_modules/@types/lodash/fp/startCase.d.ts new file mode 100644 index 0000000..4f580aa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/startCase.d.ts @@ -0,0 +1,2 @@ +import { startCase } from "../fp"; +export = startCase; diff --git a/jtg js/node_modules/@types/lodash/fp/startsWith.d.ts b/jtg js/node_modules/@types/lodash/fp/startsWith.d.ts new file mode 100644 index 0000000..f84397d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/startsWith.d.ts @@ -0,0 +1,2 @@ +import { startsWith } from "../fp"; +export = startsWith; diff --git a/jtg js/node_modules/@types/lodash/fp/stubArray.d.ts b/jtg js/node_modules/@types/lodash/fp/stubArray.d.ts new file mode 100644 index 0000000..8ff910e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/stubArray.d.ts @@ -0,0 +1,2 @@ +import { stubArray } from "../fp"; +export = stubArray; diff --git a/jtg js/node_modules/@types/lodash/fp/stubFalse.d.ts b/jtg js/node_modules/@types/lodash/fp/stubFalse.d.ts new file mode 100644 index 0000000..4cc0414 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/stubFalse.d.ts @@ -0,0 +1,2 @@ +import { stubFalse } from "../fp"; +export = stubFalse; diff --git a/jtg js/node_modules/@types/lodash/fp/stubObject.d.ts b/jtg js/node_modules/@types/lodash/fp/stubObject.d.ts new file mode 100644 index 0000000..d7c8269 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/stubObject.d.ts @@ -0,0 +1,2 @@ +import { stubObject } from "../fp"; +export = stubObject; diff --git a/jtg js/node_modules/@types/lodash/fp/stubString.d.ts b/jtg js/node_modules/@types/lodash/fp/stubString.d.ts new file mode 100644 index 0000000..cbfa449 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/stubString.d.ts @@ -0,0 +1,2 @@ +import { stubString } from "../fp"; +export = stubString; diff --git a/jtg js/node_modules/@types/lodash/fp/stubTrue.d.ts b/jtg js/node_modules/@types/lodash/fp/stubTrue.d.ts new file mode 100644 index 0000000..0ed7e5b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/stubTrue.d.ts @@ -0,0 +1,2 @@ +import { stubTrue } from "../fp"; +export = stubTrue; diff --git a/jtg js/node_modules/@types/lodash/fp/subtract.d.ts b/jtg js/node_modules/@types/lodash/fp/subtract.d.ts new file mode 100644 index 0000000..201301b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/subtract.d.ts @@ -0,0 +1,2 @@ +import { subtract } from "../fp"; +export = subtract; diff --git a/jtg js/node_modules/@types/lodash/fp/sum.d.ts b/jtg js/node_modules/@types/lodash/fp/sum.d.ts new file mode 100644 index 0000000..6d7d020 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sum.d.ts @@ -0,0 +1,2 @@ +import { sum } from "../fp"; +export = sum; diff --git a/jtg js/node_modules/@types/lodash/fp/sumBy.d.ts b/jtg js/node_modules/@types/lodash/fp/sumBy.d.ts new file mode 100644 index 0000000..3f44c3f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/sumBy.d.ts @@ -0,0 +1,2 @@ +import { sumBy } from "../fp"; +export = sumBy; diff --git a/jtg js/node_modules/@types/lodash/fp/symmetricDifference.d.ts b/jtg js/node_modules/@types/lodash/fp/symmetricDifference.d.ts new file mode 100644 index 0000000..cba1d1f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/symmetricDifference.d.ts @@ -0,0 +1,2 @@ +import { symmetricDifference } from "../fp"; +export = symmetricDifference; diff --git a/jtg js/node_modules/@types/lodash/fp/symmetricDifferenceBy.d.ts b/jtg js/node_modules/@types/lodash/fp/symmetricDifferenceBy.d.ts new file mode 100644 index 0000000..8e9316c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/symmetricDifferenceBy.d.ts @@ -0,0 +1,2 @@ +import { symmetricDifferenceBy } from "../fp"; +export = symmetricDifferenceBy; diff --git a/jtg js/node_modules/@types/lodash/fp/symmetricDifferenceWith.d.ts b/jtg js/node_modules/@types/lodash/fp/symmetricDifferenceWith.d.ts new file mode 100644 index 0000000..864ec01 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/symmetricDifferenceWith.d.ts @@ -0,0 +1,2 @@ +import { symmetricDifferenceWith } from "../fp"; +export = symmetricDifferenceWith; diff --git a/jtg js/node_modules/@types/lodash/fp/tail.d.ts b/jtg js/node_modules/@types/lodash/fp/tail.d.ts new file mode 100644 index 0000000..df9bcdc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/tail.d.ts @@ -0,0 +1,2 @@ +import { tail } from "../fp"; +export = tail; diff --git a/jtg js/node_modules/@types/lodash/fp/take.d.ts b/jtg js/node_modules/@types/lodash/fp/take.d.ts new file mode 100644 index 0000000..ab46aca --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/take.d.ts @@ -0,0 +1,2 @@ +import { take } from "../fp"; +export = take; diff --git a/jtg js/node_modules/@types/lodash/fp/takeLast.d.ts b/jtg js/node_modules/@types/lodash/fp/takeLast.d.ts new file mode 100644 index 0000000..027dcda --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/takeLast.d.ts @@ -0,0 +1,2 @@ +import { takeLast } from "../fp"; +export = takeLast; diff --git a/jtg js/node_modules/@types/lodash/fp/takeLastWhile.d.ts b/jtg js/node_modules/@types/lodash/fp/takeLastWhile.d.ts new file mode 100644 index 0000000..c6729c3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/takeLastWhile.d.ts @@ -0,0 +1,2 @@ +import { takeLastWhile } from "../fp"; +export = takeLastWhile; diff --git a/jtg js/node_modules/@types/lodash/fp/takeRight.d.ts b/jtg js/node_modules/@types/lodash/fp/takeRight.d.ts new file mode 100644 index 0000000..162c516 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/takeRight.d.ts @@ -0,0 +1,2 @@ +import { takeRight } from "../fp"; +export = takeRight; diff --git a/jtg js/node_modules/@types/lodash/fp/takeRightWhile.d.ts b/jtg js/node_modules/@types/lodash/fp/takeRightWhile.d.ts new file mode 100644 index 0000000..b23f7a4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/takeRightWhile.d.ts @@ -0,0 +1,2 @@ +import { takeRightWhile } from "../fp"; +export = takeRightWhile; diff --git a/jtg js/node_modules/@types/lodash/fp/takeWhile.d.ts b/jtg js/node_modules/@types/lodash/fp/takeWhile.d.ts new file mode 100644 index 0000000..b8cb517 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/takeWhile.d.ts @@ -0,0 +1,2 @@ +import { takeWhile } from "../fp"; +export = takeWhile; diff --git a/jtg js/node_modules/@types/lodash/fp/tap.d.ts b/jtg js/node_modules/@types/lodash/fp/tap.d.ts new file mode 100644 index 0000000..8ffbbd7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/tap.d.ts @@ -0,0 +1,2 @@ +import { tap } from "../fp"; +export = tap; diff --git a/jtg js/node_modules/@types/lodash/fp/template.d.ts b/jtg js/node_modules/@types/lodash/fp/template.d.ts new file mode 100644 index 0000000..3a37ed1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/template.d.ts @@ -0,0 +1,2 @@ +import { template } from "../fp"; +export = template; diff --git a/jtg js/node_modules/@types/lodash/fp/throttle.d.ts b/jtg js/node_modules/@types/lodash/fp/throttle.d.ts new file mode 100644 index 0000000..24d8b7f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/throttle.d.ts @@ -0,0 +1,2 @@ +import { throttle } from "../fp"; +export = throttle; diff --git a/jtg js/node_modules/@types/lodash/fp/thru.d.ts b/jtg js/node_modules/@types/lodash/fp/thru.d.ts new file mode 100644 index 0000000..b972582 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/thru.d.ts @@ -0,0 +1,2 @@ +import { thru } from "../fp"; +export = thru; diff --git a/jtg js/node_modules/@types/lodash/fp/times.d.ts b/jtg js/node_modules/@types/lodash/fp/times.d.ts new file mode 100644 index 0000000..3d9f0c6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/times.d.ts @@ -0,0 +1,2 @@ +import { times } from "../fp"; +export = times; diff --git a/jtg js/node_modules/@types/lodash/fp/toArray.d.ts b/jtg js/node_modules/@types/lodash/fp/toArray.d.ts new file mode 100644 index 0000000..4b18ce6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toArray.d.ts @@ -0,0 +1,2 @@ +import { toArray } from "../fp"; +export = toArray; diff --git a/jtg js/node_modules/@types/lodash/fp/toFinite.d.ts b/jtg js/node_modules/@types/lodash/fp/toFinite.d.ts new file mode 100644 index 0000000..1d41996 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toFinite.d.ts @@ -0,0 +1,2 @@ +import { toFinite } from "../fp"; +export = toFinite; diff --git a/jtg js/node_modules/@types/lodash/fp/toInteger.d.ts b/jtg js/node_modules/@types/lodash/fp/toInteger.d.ts new file mode 100644 index 0000000..46ccaf9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toInteger.d.ts @@ -0,0 +1,2 @@ +import { toInteger } from "../fp"; +export = toInteger; diff --git a/jtg js/node_modules/@types/lodash/fp/toLength.d.ts b/jtg js/node_modules/@types/lodash/fp/toLength.d.ts new file mode 100644 index 0000000..bb62924 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toLength.d.ts @@ -0,0 +1,2 @@ +import { toLength } from "../fp"; +export = toLength; diff --git a/jtg js/node_modules/@types/lodash/fp/toLower.d.ts b/jtg js/node_modules/@types/lodash/fp/toLower.d.ts new file mode 100644 index 0000000..64e6e36 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toLower.d.ts @@ -0,0 +1,2 @@ +import { toLower } from "../fp"; +export = toLower; diff --git a/jtg js/node_modules/@types/lodash/fp/toNumber.d.ts b/jtg js/node_modules/@types/lodash/fp/toNumber.d.ts new file mode 100644 index 0000000..262b91c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toNumber.d.ts @@ -0,0 +1,2 @@ +import { toNumber } from "../fp"; +export = toNumber; diff --git a/jtg js/node_modules/@types/lodash/fp/toPairs.d.ts b/jtg js/node_modules/@types/lodash/fp/toPairs.d.ts new file mode 100644 index 0000000..89334fc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toPairs.d.ts @@ -0,0 +1,2 @@ +import { toPairs } from "../fp"; +export = toPairs; diff --git a/jtg js/node_modules/@types/lodash/fp/toPairsIn.d.ts b/jtg js/node_modules/@types/lodash/fp/toPairsIn.d.ts new file mode 100644 index 0000000..278ff0b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toPairsIn.d.ts @@ -0,0 +1,2 @@ +import { toPairsIn } from "../fp"; +export = toPairsIn; diff --git a/jtg js/node_modules/@types/lodash/fp/toPath.d.ts b/jtg js/node_modules/@types/lodash/fp/toPath.d.ts new file mode 100644 index 0000000..9f2287c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toPath.d.ts @@ -0,0 +1,2 @@ +import { toPath } from "../fp"; +export = toPath; diff --git a/jtg js/node_modules/@types/lodash/fp/toPlainObject.d.ts b/jtg js/node_modules/@types/lodash/fp/toPlainObject.d.ts new file mode 100644 index 0000000..22fa070 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toPlainObject.d.ts @@ -0,0 +1,2 @@ +import { toPlainObject } from "../fp"; +export = toPlainObject; diff --git a/jtg js/node_modules/@types/lodash/fp/toSafeInteger.d.ts b/jtg js/node_modules/@types/lodash/fp/toSafeInteger.d.ts new file mode 100644 index 0000000..2f85078 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toSafeInteger.d.ts @@ -0,0 +1,2 @@ +import { toSafeInteger } from "../fp"; +export = toSafeInteger; diff --git a/jtg js/node_modules/@types/lodash/fp/toString.d.ts b/jtg js/node_modules/@types/lodash/fp/toString.d.ts new file mode 100644 index 0000000..ee6703c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toString.d.ts @@ -0,0 +1,2 @@ +import { toString } from "../fp"; +export = toString; diff --git a/jtg js/node_modules/@types/lodash/fp/toUpper.d.ts b/jtg js/node_modules/@types/lodash/fp/toUpper.d.ts new file mode 100644 index 0000000..6bf21c1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/toUpper.d.ts @@ -0,0 +1,2 @@ +import { toUpper } from "../fp"; +export = toUpper; diff --git a/jtg js/node_modules/@types/lodash/fp/transform.d.ts b/jtg js/node_modules/@types/lodash/fp/transform.d.ts new file mode 100644 index 0000000..ab0653c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/transform.d.ts @@ -0,0 +1,2 @@ +import { transform } from "../fp"; +export = transform; diff --git a/jtg js/node_modules/@types/lodash/fp/trim.d.ts b/jtg js/node_modules/@types/lodash/fp/trim.d.ts new file mode 100644 index 0000000..f0f9b90 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/trim.d.ts @@ -0,0 +1,2 @@ +import { trim } from "../fp"; +export = trim; diff --git a/jtg js/node_modules/@types/lodash/fp/trimChars.d.ts b/jtg js/node_modules/@types/lodash/fp/trimChars.d.ts new file mode 100644 index 0000000..929a493 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/trimChars.d.ts @@ -0,0 +1,2 @@ +import { trimChars } from "../fp"; +export = trimChars; diff --git a/jtg js/node_modules/@types/lodash/fp/trimCharsEnd.d.ts b/jtg js/node_modules/@types/lodash/fp/trimCharsEnd.d.ts new file mode 100644 index 0000000..2f5609a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/trimCharsEnd.d.ts @@ -0,0 +1,2 @@ +import { trimCharsEnd } from "../fp"; +export = trimCharsEnd; diff --git a/jtg js/node_modules/@types/lodash/fp/trimCharsStart.d.ts b/jtg js/node_modules/@types/lodash/fp/trimCharsStart.d.ts new file mode 100644 index 0000000..fb998f7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/trimCharsStart.d.ts @@ -0,0 +1,2 @@ +import { trimCharsStart } from "../fp"; +export = trimCharsStart; diff --git a/jtg js/node_modules/@types/lodash/fp/trimEnd.d.ts b/jtg js/node_modules/@types/lodash/fp/trimEnd.d.ts new file mode 100644 index 0000000..b666494 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/trimEnd.d.ts @@ -0,0 +1,2 @@ +import { trimEnd } from "../fp"; +export = trimEnd; diff --git a/jtg js/node_modules/@types/lodash/fp/trimStart.d.ts b/jtg js/node_modules/@types/lodash/fp/trimStart.d.ts new file mode 100644 index 0000000..988227c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/trimStart.d.ts @@ -0,0 +1,2 @@ +import { trimStart } from "../fp"; +export = trimStart; diff --git a/jtg js/node_modules/@types/lodash/fp/truncate.d.ts b/jtg js/node_modules/@types/lodash/fp/truncate.d.ts new file mode 100644 index 0000000..d38b7b1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/truncate.d.ts @@ -0,0 +1,2 @@ +import { truncate } from "../fp"; +export = truncate; diff --git a/jtg js/node_modules/@types/lodash/fp/unapply.d.ts b/jtg js/node_modules/@types/lodash/fp/unapply.d.ts new file mode 100644 index 0000000..c59b6b2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unapply.d.ts @@ -0,0 +1,2 @@ +import { unapply } from "../fp"; +export = unapply; diff --git a/jtg js/node_modules/@types/lodash/fp/unary.d.ts b/jtg js/node_modules/@types/lodash/fp/unary.d.ts new file mode 100644 index 0000000..02e3195 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unary.d.ts @@ -0,0 +1,2 @@ +import { unary } from "../fp"; +export = unary; diff --git a/jtg js/node_modules/@types/lodash/fp/unescape.d.ts b/jtg js/node_modules/@types/lodash/fp/unescape.d.ts new file mode 100644 index 0000000..efcccf2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unescape.d.ts @@ -0,0 +1,2 @@ +import { unescape } from "../fp"; +export = unescape; diff --git a/jtg js/node_modules/@types/lodash/fp/union.d.ts b/jtg js/node_modules/@types/lodash/fp/union.d.ts new file mode 100644 index 0000000..8e098ee --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/union.d.ts @@ -0,0 +1,2 @@ +import { union } from "../fp"; +export = union; diff --git a/jtg js/node_modules/@types/lodash/fp/unionBy.d.ts b/jtg js/node_modules/@types/lodash/fp/unionBy.d.ts new file mode 100644 index 0000000..f3882c6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unionBy.d.ts @@ -0,0 +1,2 @@ +import { unionBy } from "../fp"; +export = unionBy; diff --git a/jtg js/node_modules/@types/lodash/fp/unionWith.d.ts b/jtg js/node_modules/@types/lodash/fp/unionWith.d.ts new file mode 100644 index 0000000..46e19fd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unionWith.d.ts @@ -0,0 +1,2 @@ +import { unionWith } from "../fp"; +export = unionWith; diff --git a/jtg js/node_modules/@types/lodash/fp/uniq.d.ts b/jtg js/node_modules/@types/lodash/fp/uniq.d.ts new file mode 100644 index 0000000..877d0d9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/uniq.d.ts @@ -0,0 +1,2 @@ +import { uniq } from "../fp"; +export = uniq; diff --git a/jtg js/node_modules/@types/lodash/fp/uniqBy.d.ts b/jtg js/node_modules/@types/lodash/fp/uniqBy.d.ts new file mode 100644 index 0000000..0e6522d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/uniqBy.d.ts @@ -0,0 +1,2 @@ +import { uniqBy } from "../fp"; +export = uniqBy; diff --git a/jtg js/node_modules/@types/lodash/fp/uniqWith.d.ts b/jtg js/node_modules/@types/lodash/fp/uniqWith.d.ts new file mode 100644 index 0000000..165f45f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/uniqWith.d.ts @@ -0,0 +1,2 @@ +import { uniqWith } from "../fp"; +export = uniqWith; diff --git a/jtg js/node_modules/@types/lodash/fp/uniqueId.d.ts b/jtg js/node_modules/@types/lodash/fp/uniqueId.d.ts new file mode 100644 index 0000000..57736d9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/uniqueId.d.ts @@ -0,0 +1,2 @@ +import { uniqueId } from "../fp"; +export = uniqueId; diff --git a/jtg js/node_modules/@types/lodash/fp/unnest.d.ts b/jtg js/node_modules/@types/lodash/fp/unnest.d.ts new file mode 100644 index 0000000..852e9a1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unnest.d.ts @@ -0,0 +1,2 @@ +import { unnest } from "../fp"; +export = unnest; diff --git a/jtg js/node_modules/@types/lodash/fp/unset.d.ts b/jtg js/node_modules/@types/lodash/fp/unset.d.ts new file mode 100644 index 0000000..3e99247 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unset.d.ts @@ -0,0 +1,2 @@ +import { unset } from "../fp"; +export = unset; diff --git a/jtg js/node_modules/@types/lodash/fp/unzip.d.ts b/jtg js/node_modules/@types/lodash/fp/unzip.d.ts new file mode 100644 index 0000000..ba9d4cd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unzip.d.ts @@ -0,0 +1,2 @@ +import { unzip } from "../fp"; +export = unzip; diff --git a/jtg js/node_modules/@types/lodash/fp/unzipWith.d.ts b/jtg js/node_modules/@types/lodash/fp/unzipWith.d.ts new file mode 100644 index 0000000..599eadb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/unzipWith.d.ts @@ -0,0 +1,2 @@ +import { unzipWith } from "../fp"; +export = unzipWith; diff --git a/jtg js/node_modules/@types/lodash/fp/update.d.ts b/jtg js/node_modules/@types/lodash/fp/update.d.ts new file mode 100644 index 0000000..76dfe48 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/update.d.ts @@ -0,0 +1,2 @@ +import { update } from "../fp"; +export = update; diff --git a/jtg js/node_modules/@types/lodash/fp/updateWith.d.ts b/jtg js/node_modules/@types/lodash/fp/updateWith.d.ts new file mode 100644 index 0000000..6d6331d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/updateWith.d.ts @@ -0,0 +1,2 @@ +import { updateWith } from "../fp"; +export = updateWith; diff --git a/jtg js/node_modules/@types/lodash/fp/upperCase.d.ts b/jtg js/node_modules/@types/lodash/fp/upperCase.d.ts new file mode 100644 index 0000000..10aadb2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/upperCase.d.ts @@ -0,0 +1,2 @@ +import { upperCase } from "../fp"; +export = upperCase; diff --git a/jtg js/node_modules/@types/lodash/fp/upperFirst.d.ts b/jtg js/node_modules/@types/lodash/fp/upperFirst.d.ts new file mode 100644 index 0000000..e2c9adf --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/upperFirst.d.ts @@ -0,0 +1,2 @@ +import { upperFirst } from "../fp"; +export = upperFirst; diff --git a/jtg js/node_modules/@types/lodash/fp/useWith.d.ts b/jtg js/node_modules/@types/lodash/fp/useWith.d.ts new file mode 100644 index 0000000..991905a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/useWith.d.ts @@ -0,0 +1,2 @@ +import { useWith } from "../fp"; +export = useWith; diff --git a/jtg js/node_modules/@types/lodash/fp/values.d.ts b/jtg js/node_modules/@types/lodash/fp/values.d.ts new file mode 100644 index 0000000..75ec6fb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/values.d.ts @@ -0,0 +1,2 @@ +import { values } from "../fp"; +export = values; diff --git a/jtg js/node_modules/@types/lodash/fp/valuesIn.d.ts b/jtg js/node_modules/@types/lodash/fp/valuesIn.d.ts new file mode 100644 index 0000000..6f4f3b4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/valuesIn.d.ts @@ -0,0 +1,2 @@ +import { valuesIn } from "../fp"; +export = valuesIn; diff --git a/jtg js/node_modules/@types/lodash/fp/where.d.ts b/jtg js/node_modules/@types/lodash/fp/where.d.ts new file mode 100644 index 0000000..41e21ec --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/where.d.ts @@ -0,0 +1,2 @@ +import { where } from "../fp"; +export = where; diff --git a/jtg js/node_modules/@types/lodash/fp/whereEq.d.ts b/jtg js/node_modules/@types/lodash/fp/whereEq.d.ts new file mode 100644 index 0000000..893316d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/whereEq.d.ts @@ -0,0 +1,2 @@ +import { whereEq } from "../fp"; +export = whereEq; diff --git a/jtg js/node_modules/@types/lodash/fp/without.d.ts b/jtg js/node_modules/@types/lodash/fp/without.d.ts new file mode 100644 index 0000000..600890a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/without.d.ts @@ -0,0 +1,2 @@ +import { without } from "../fp"; +export = without; diff --git a/jtg js/node_modules/@types/lodash/fp/words.d.ts b/jtg js/node_modules/@types/lodash/fp/words.d.ts new file mode 100644 index 0000000..2b06b26 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/words.d.ts @@ -0,0 +1,2 @@ +import { words } from "../fp"; +export = words; diff --git a/jtg js/node_modules/@types/lodash/fp/wrap.d.ts b/jtg js/node_modules/@types/lodash/fp/wrap.d.ts new file mode 100644 index 0000000..d9c2a28 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/wrap.d.ts @@ -0,0 +1,2 @@ +import { wrap } from "../fp"; +export = wrap; diff --git a/jtg js/node_modules/@types/lodash/fp/xor.d.ts b/jtg js/node_modules/@types/lodash/fp/xor.d.ts new file mode 100644 index 0000000..ac69bde --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/xor.d.ts @@ -0,0 +1,2 @@ +import { xor } from "../fp"; +export = xor; diff --git a/jtg js/node_modules/@types/lodash/fp/xorBy.d.ts b/jtg js/node_modules/@types/lodash/fp/xorBy.d.ts new file mode 100644 index 0000000..1232972 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/xorBy.d.ts @@ -0,0 +1,2 @@ +import { xorBy } from "../fp"; +export = xorBy; diff --git a/jtg js/node_modules/@types/lodash/fp/xorWith.d.ts b/jtg js/node_modules/@types/lodash/fp/xorWith.d.ts new file mode 100644 index 0000000..ec93e40 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/xorWith.d.ts @@ -0,0 +1,2 @@ +import { xorWith } from "../fp"; +export = xorWith; diff --git a/jtg js/node_modules/@types/lodash/fp/zip.d.ts b/jtg js/node_modules/@types/lodash/fp/zip.d.ts new file mode 100644 index 0000000..2a83e73 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/zip.d.ts @@ -0,0 +1,2 @@ +import { zip } from "../fp"; +export = zip; diff --git a/jtg js/node_modules/@types/lodash/fp/zipAll.d.ts b/jtg js/node_modules/@types/lodash/fp/zipAll.d.ts new file mode 100644 index 0000000..af0b3ed --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/zipAll.d.ts @@ -0,0 +1,2 @@ +import { zipAll } from "../fp"; +export = zipAll; diff --git a/jtg js/node_modules/@types/lodash/fp/zipObj.d.ts b/jtg js/node_modules/@types/lodash/fp/zipObj.d.ts new file mode 100644 index 0000000..4f4c19a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/zipObj.d.ts @@ -0,0 +1,2 @@ +import { zipObj } from "../fp"; +export = zipObj; diff --git a/jtg js/node_modules/@types/lodash/fp/zipObject.d.ts b/jtg js/node_modules/@types/lodash/fp/zipObject.d.ts new file mode 100644 index 0000000..f302d7b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/zipObject.d.ts @@ -0,0 +1,2 @@ +import { zipObject } from "../fp"; +export = zipObject; diff --git a/jtg js/node_modules/@types/lodash/fp/zipObjectDeep.d.ts b/jtg js/node_modules/@types/lodash/fp/zipObjectDeep.d.ts new file mode 100644 index 0000000..6010634 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/zipObjectDeep.d.ts @@ -0,0 +1,2 @@ +import { zipObjectDeep } from "../fp"; +export = zipObjectDeep; diff --git a/jtg js/node_modules/@types/lodash/fp/zipWith.d.ts b/jtg js/node_modules/@types/lodash/fp/zipWith.d.ts new file mode 100644 index 0000000..9faaf3c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fp/zipWith.d.ts @@ -0,0 +1,2 @@ +import { zipWith } from "../fp"; +export = zipWith; diff --git a/jtg js/node_modules/@types/lodash/fromPairs.d.ts b/jtg js/node_modules/@types/lodash/fromPairs.d.ts new file mode 100644 index 0000000..1c2006c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/fromPairs.d.ts @@ -0,0 +1,2 @@ +import { fromPairs } from "./index"; +export = fromPairs; diff --git a/jtg js/node_modules/@types/lodash/functions.d.ts b/jtg js/node_modules/@types/lodash/functions.d.ts new file mode 100644 index 0000000..8698336 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/functions.d.ts @@ -0,0 +1,2 @@ +import { functions } from "./index"; +export = functions; diff --git a/jtg js/node_modules/@types/lodash/functionsIn.d.ts b/jtg js/node_modules/@types/lodash/functionsIn.d.ts new file mode 100644 index 0000000..9f72a78 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/functionsIn.d.ts @@ -0,0 +1,2 @@ +import { functionsIn } from "./index"; +export = functionsIn; diff --git a/jtg js/node_modules/@types/lodash/get.d.ts b/jtg js/node_modules/@types/lodash/get.d.ts new file mode 100644 index 0000000..5ea7a5a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/get.d.ts @@ -0,0 +1,2 @@ +import { get } from "./index"; +export = get; diff --git a/jtg js/node_modules/@types/lodash/groupBy.d.ts b/jtg js/node_modules/@types/lodash/groupBy.d.ts new file mode 100644 index 0000000..ef49718 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/groupBy.d.ts @@ -0,0 +1,2 @@ +import { groupBy } from "./index"; +export = groupBy; diff --git a/jtg js/node_modules/@types/lodash/gt.d.ts b/jtg js/node_modules/@types/lodash/gt.d.ts new file mode 100644 index 0000000..860134f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/gt.d.ts @@ -0,0 +1,2 @@ +import { gt } from "./index"; +export = gt; diff --git a/jtg js/node_modules/@types/lodash/gte.d.ts b/jtg js/node_modules/@types/lodash/gte.d.ts new file mode 100644 index 0000000..994e882 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/gte.d.ts @@ -0,0 +1,2 @@ +import { gte } from "./index"; +export = gte; diff --git a/jtg js/node_modules/@types/lodash/has.d.ts b/jtg js/node_modules/@types/lodash/has.d.ts new file mode 100644 index 0000000..fff1468 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/has.d.ts @@ -0,0 +1,2 @@ +import { has } from "./index"; +export = has; diff --git a/jtg js/node_modules/@types/lodash/hasIn.d.ts b/jtg js/node_modules/@types/lodash/hasIn.d.ts new file mode 100644 index 0000000..a898071 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/hasIn.d.ts @@ -0,0 +1,2 @@ +import { hasIn } from "./index"; +export = hasIn; diff --git a/jtg js/node_modules/@types/lodash/head.d.ts b/jtg js/node_modules/@types/lodash/head.d.ts new file mode 100644 index 0000000..0e16da1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/head.d.ts @@ -0,0 +1,2 @@ +import { head } from "./index"; +export = head; diff --git a/jtg js/node_modules/@types/lodash/identity.d.ts b/jtg js/node_modules/@types/lodash/identity.d.ts new file mode 100644 index 0000000..6814a16 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/identity.d.ts @@ -0,0 +1,2 @@ +import { identity } from "./index"; +export = identity; diff --git a/jtg js/node_modules/@types/lodash/inRange.d.ts b/jtg js/node_modules/@types/lodash/inRange.d.ts new file mode 100644 index 0000000..d9c57c0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/inRange.d.ts @@ -0,0 +1,2 @@ +import { inRange } from "./index"; +export = inRange; diff --git a/jtg js/node_modules/@types/lodash/includes.d.ts b/jtg js/node_modules/@types/lodash/includes.d.ts new file mode 100644 index 0000000..4edd226 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/includes.d.ts @@ -0,0 +1,2 @@ +import { includes } from "./index"; +export = includes; diff --git a/jtg js/node_modules/@types/lodash/index.d.ts b/jtg js/node_modules/@types/lodash/index.d.ts new file mode 100644 index 0000000..67e9c8f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/index.d.ts @@ -0,0 +1,47 @@ +// Type definitions for Lo-Dash 4.14 +// Project: http://lodash.com/ +// Definitions by: Brian Zengel <https://github.com/bczengel>, +// Ilya Mochalov <https://github.com/chrootsu>, +// Stepan Mikhaylyuk <https://github.com/stepancar>, +// AJ Richardson <https://github.com/aj-r>, +// Junyoung Clare Jang <https://github.com/ailrun>, +// e-cloud <https://github.com/e-cloud>, +// Georgii Dolzhykov <https://github.com/thorn0>, +// Jack Moore <https://github.com/jtmthf>, +// Dominique Rau <https://github.com/DomiR> +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +/// <reference path="./common/common.d.ts" /> +/// <reference path="./common/array.d.ts" /> +/// <reference path="./common/collection.d.ts" /> +/// <reference path="./common/date.d.ts" /> +/// <reference path="./common/function.d.ts" /> +/// <reference path="./common/lang.d.ts" /> +/// <reference path="./common/math.d.ts" /> +/// <reference path="./common/number.d.ts" /> +/// <reference path="./common/object.d.ts" /> +/// <reference path="./common/seq.d.ts" /> +/// <reference path="./common/string.d.ts" /> +/// <reference path="./common/util.d.ts" /> + +export = _; +export as namespace _; + +declare const _: _.LoDashStatic; +declare namespace _ { + // tslint:disable-next-line no-empty-interface (This will be augmented) + interface LoDashStatic {} +} + +// Backward compatibility with --target es5 +declare global { + // tslint:disable-next-line:no-empty-interface + interface Set<T> { } + // tslint:disable-next-line:no-empty-interface + interface Map<K, V> { } + // tslint:disable-next-line:no-empty-interface + interface WeakSet<T> { } + // tslint:disable-next-line:no-empty-interface + interface WeakMap<K extends object, V> { } +} diff --git a/jtg js/node_modules/@types/lodash/indexOf.d.ts b/jtg js/node_modules/@types/lodash/indexOf.d.ts new file mode 100644 index 0000000..50b8f70 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/indexOf.d.ts @@ -0,0 +1,2 @@ +import { indexOf } from "./index"; +export = indexOf; diff --git a/jtg js/node_modules/@types/lodash/initial.d.ts b/jtg js/node_modules/@types/lodash/initial.d.ts new file mode 100644 index 0000000..3ce64eb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/initial.d.ts @@ -0,0 +1,2 @@ +import { initial } from "./index"; +export = initial; diff --git a/jtg js/node_modules/@types/lodash/intersection.d.ts b/jtg js/node_modules/@types/lodash/intersection.d.ts new file mode 100644 index 0000000..1fbe4e5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/intersection.d.ts @@ -0,0 +1,2 @@ +import { intersection } from "./index"; +export = intersection; diff --git a/jtg js/node_modules/@types/lodash/intersectionBy.d.ts b/jtg js/node_modules/@types/lodash/intersectionBy.d.ts new file mode 100644 index 0000000..b4885da --- /dev/null +++ b/jtg js/node_modules/@types/lodash/intersectionBy.d.ts @@ -0,0 +1,2 @@ +import { intersectionBy } from "./index"; +export = intersectionBy; diff --git a/jtg js/node_modules/@types/lodash/intersectionWith.d.ts b/jtg js/node_modules/@types/lodash/intersectionWith.d.ts new file mode 100644 index 0000000..bacccd0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/intersectionWith.d.ts @@ -0,0 +1,2 @@ +import { intersectionWith } from "./index"; +export = intersectionWith; diff --git a/jtg js/node_modules/@types/lodash/invert.d.ts b/jtg js/node_modules/@types/lodash/invert.d.ts new file mode 100644 index 0000000..2287ea1 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/invert.d.ts @@ -0,0 +1,2 @@ +import { invert } from "./index"; +export = invert; diff --git a/jtg js/node_modules/@types/lodash/invertBy.d.ts b/jtg js/node_modules/@types/lodash/invertBy.d.ts new file mode 100644 index 0000000..5951600 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/invertBy.d.ts @@ -0,0 +1,2 @@ +import { invertBy } from "./index"; +export = invertBy; diff --git a/jtg js/node_modules/@types/lodash/invoke.d.ts b/jtg js/node_modules/@types/lodash/invoke.d.ts new file mode 100644 index 0000000..eea6b38 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/invoke.d.ts @@ -0,0 +1,2 @@ +import { invoke } from "./index"; +export = invoke; diff --git a/jtg js/node_modules/@types/lodash/invokeMap.d.ts b/jtg js/node_modules/@types/lodash/invokeMap.d.ts new file mode 100644 index 0000000..814cf05 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/invokeMap.d.ts @@ -0,0 +1,2 @@ +import { invokeMap } from "./index"; +export = invokeMap; diff --git a/jtg js/node_modules/@types/lodash/isArguments.d.ts b/jtg js/node_modules/@types/lodash/isArguments.d.ts new file mode 100644 index 0000000..5b22572 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isArguments.d.ts @@ -0,0 +1,2 @@ +import { isArguments } from "./index"; +export = isArguments; diff --git a/jtg js/node_modules/@types/lodash/isArray.d.ts b/jtg js/node_modules/@types/lodash/isArray.d.ts new file mode 100644 index 0000000..a35ab5a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isArray.d.ts @@ -0,0 +1,2 @@ +import { isArray } from "./index"; +export = isArray; diff --git a/jtg js/node_modules/@types/lodash/isArrayBuffer.d.ts b/jtg js/node_modules/@types/lodash/isArrayBuffer.d.ts new file mode 100644 index 0000000..ec7c68c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isArrayBuffer.d.ts @@ -0,0 +1,2 @@ +import { isArrayBuffer } from "./index"; +export = isArrayBuffer; diff --git a/jtg js/node_modules/@types/lodash/isArrayLike.d.ts b/jtg js/node_modules/@types/lodash/isArrayLike.d.ts new file mode 100644 index 0000000..aa95c77 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isArrayLike.d.ts @@ -0,0 +1,2 @@ +import { isArrayLike } from "./index"; +export = isArrayLike; diff --git a/jtg js/node_modules/@types/lodash/isArrayLikeObject.d.ts b/jtg js/node_modules/@types/lodash/isArrayLikeObject.d.ts new file mode 100644 index 0000000..736c91d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isArrayLikeObject.d.ts @@ -0,0 +1,2 @@ +import { isArrayLikeObject } from "./index"; +export = isArrayLikeObject; diff --git a/jtg js/node_modules/@types/lodash/isBoolean.d.ts b/jtg js/node_modules/@types/lodash/isBoolean.d.ts new file mode 100644 index 0000000..96c306d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isBoolean.d.ts @@ -0,0 +1,2 @@ +import { isBoolean } from "./index"; +export = isBoolean; diff --git a/jtg js/node_modules/@types/lodash/isBuffer.d.ts b/jtg js/node_modules/@types/lodash/isBuffer.d.ts new file mode 100644 index 0000000..b22d782 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isBuffer.d.ts @@ -0,0 +1,2 @@ +import { isBuffer } from "./index"; +export = isBuffer; diff --git a/jtg js/node_modules/@types/lodash/isDate.d.ts b/jtg js/node_modules/@types/lodash/isDate.d.ts new file mode 100644 index 0000000..1269a69 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isDate.d.ts @@ -0,0 +1,2 @@ +import { isDate } from "./index"; +export = isDate; diff --git a/jtg js/node_modules/@types/lodash/isElement.d.ts b/jtg js/node_modules/@types/lodash/isElement.d.ts new file mode 100644 index 0000000..e4510cd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isElement.d.ts @@ -0,0 +1,2 @@ +import { isElement } from "./index"; +export = isElement; diff --git a/jtg js/node_modules/@types/lodash/isEmpty.d.ts b/jtg js/node_modules/@types/lodash/isEmpty.d.ts new file mode 100644 index 0000000..9e71bfa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isEmpty.d.ts @@ -0,0 +1,2 @@ +import { isEmpty } from "./index"; +export = isEmpty; diff --git a/jtg js/node_modules/@types/lodash/isEqual.d.ts b/jtg js/node_modules/@types/lodash/isEqual.d.ts new file mode 100644 index 0000000..1e065fa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isEqual.d.ts @@ -0,0 +1,2 @@ +import { isEqual } from "./index"; +export = isEqual; diff --git a/jtg js/node_modules/@types/lodash/isEqualWith.d.ts b/jtg js/node_modules/@types/lodash/isEqualWith.d.ts new file mode 100644 index 0000000..e14d005 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isEqualWith.d.ts @@ -0,0 +1,2 @@ +import { isEqualWith } from "./index"; +export = isEqualWith; diff --git a/jtg js/node_modules/@types/lodash/isError.d.ts b/jtg js/node_modules/@types/lodash/isError.d.ts new file mode 100644 index 0000000..d9d5785 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isError.d.ts @@ -0,0 +1,2 @@ +import { isError } from "./index"; +export = isError; diff --git a/jtg js/node_modules/@types/lodash/isFinite.d.ts b/jtg js/node_modules/@types/lodash/isFinite.d.ts new file mode 100644 index 0000000..7aba1dc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isFinite.d.ts @@ -0,0 +1,2 @@ +import { isFinite } from "./index"; +export = isFinite; diff --git a/jtg js/node_modules/@types/lodash/isFunction.d.ts b/jtg js/node_modules/@types/lodash/isFunction.d.ts new file mode 100644 index 0000000..0a22d6c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isFunction.d.ts @@ -0,0 +1,2 @@ +import { isFunction } from "./index"; +export = isFunction; diff --git a/jtg js/node_modules/@types/lodash/isInteger.d.ts b/jtg js/node_modules/@types/lodash/isInteger.d.ts new file mode 100644 index 0000000..40d33d3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isInteger.d.ts @@ -0,0 +1,2 @@ +import { isInteger } from "./index"; +export = isInteger; diff --git a/jtg js/node_modules/@types/lodash/isLength.d.ts b/jtg js/node_modules/@types/lodash/isLength.d.ts new file mode 100644 index 0000000..ee5a933 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isLength.d.ts @@ -0,0 +1,2 @@ +import { isLength } from "./index"; +export = isLength; diff --git a/jtg js/node_modules/@types/lodash/isMap.d.ts b/jtg js/node_modules/@types/lodash/isMap.d.ts new file mode 100644 index 0000000..441c538 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isMap.d.ts @@ -0,0 +1,2 @@ +import { isMap } from "./index"; +export = isMap; diff --git a/jtg js/node_modules/@types/lodash/isMatch.d.ts b/jtg js/node_modules/@types/lodash/isMatch.d.ts new file mode 100644 index 0000000..69d194a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isMatch.d.ts @@ -0,0 +1,2 @@ +import { isMatch } from "./index"; +export = isMatch; diff --git a/jtg js/node_modules/@types/lodash/isMatchWith.d.ts b/jtg js/node_modules/@types/lodash/isMatchWith.d.ts new file mode 100644 index 0000000..932310a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isMatchWith.d.ts @@ -0,0 +1,2 @@ +import { isMatchWith } from "./index"; +export = isMatchWith; diff --git a/jtg js/node_modules/@types/lodash/isNaN.d.ts b/jtg js/node_modules/@types/lodash/isNaN.d.ts new file mode 100644 index 0000000..970702b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isNaN.d.ts @@ -0,0 +1,2 @@ +import { isNaN } from "./index"; +export = isNaN; diff --git a/jtg js/node_modules/@types/lodash/isNative.d.ts b/jtg js/node_modules/@types/lodash/isNative.d.ts new file mode 100644 index 0000000..3174f8a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isNative.d.ts @@ -0,0 +1,2 @@ +import { isNative } from "./index"; +export = isNative; diff --git a/jtg js/node_modules/@types/lodash/isNil.d.ts b/jtg js/node_modules/@types/lodash/isNil.d.ts new file mode 100644 index 0000000..9e15819 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isNil.d.ts @@ -0,0 +1,2 @@ +import { isNil } from "./index"; +export = isNil; diff --git a/jtg js/node_modules/@types/lodash/isNull.d.ts b/jtg js/node_modules/@types/lodash/isNull.d.ts new file mode 100644 index 0000000..e572c45 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isNull.d.ts @@ -0,0 +1,2 @@ +import { isNull } from "./index"; +export = isNull; diff --git a/jtg js/node_modules/@types/lodash/isNumber.d.ts b/jtg js/node_modules/@types/lodash/isNumber.d.ts new file mode 100644 index 0000000..91c8359 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isNumber.d.ts @@ -0,0 +1,2 @@ +import { isNumber } from "./index"; +export = isNumber; diff --git a/jtg js/node_modules/@types/lodash/isObject.d.ts b/jtg js/node_modules/@types/lodash/isObject.d.ts new file mode 100644 index 0000000..9a43544 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isObject.d.ts @@ -0,0 +1,2 @@ +import { isObject } from "./index"; +export = isObject; diff --git a/jtg js/node_modules/@types/lodash/isObjectLike.d.ts b/jtg js/node_modules/@types/lodash/isObjectLike.d.ts new file mode 100644 index 0000000..a17d39c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isObjectLike.d.ts @@ -0,0 +1,2 @@ +import { isObjectLike } from "./index"; +export = isObjectLike; diff --git a/jtg js/node_modules/@types/lodash/isPlainObject.d.ts b/jtg js/node_modules/@types/lodash/isPlainObject.d.ts new file mode 100644 index 0000000..4df85e2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isPlainObject.d.ts @@ -0,0 +1,2 @@ +import { isPlainObject } from "./index"; +export = isPlainObject; diff --git a/jtg js/node_modules/@types/lodash/isRegExp.d.ts b/jtg js/node_modules/@types/lodash/isRegExp.d.ts new file mode 100644 index 0000000..ed206d9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isRegExp.d.ts @@ -0,0 +1,2 @@ +import { isRegExp } from "./index"; +export = isRegExp; diff --git a/jtg js/node_modules/@types/lodash/isSafeInteger.d.ts b/jtg js/node_modules/@types/lodash/isSafeInteger.d.ts new file mode 100644 index 0000000..6bc6083 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isSafeInteger.d.ts @@ -0,0 +1,2 @@ +import { isSafeInteger } from "./index"; +export = isSafeInteger; diff --git a/jtg js/node_modules/@types/lodash/isSet.d.ts b/jtg js/node_modules/@types/lodash/isSet.d.ts new file mode 100644 index 0000000..7967b50 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isSet.d.ts @@ -0,0 +1,2 @@ +import { isSet } from "./index"; +export = isSet; diff --git a/jtg js/node_modules/@types/lodash/isString.d.ts b/jtg js/node_modules/@types/lodash/isString.d.ts new file mode 100644 index 0000000..757802e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isString.d.ts @@ -0,0 +1,2 @@ +import { isString } from "./index"; +export = isString; diff --git a/jtg js/node_modules/@types/lodash/isSymbol.d.ts b/jtg js/node_modules/@types/lodash/isSymbol.d.ts new file mode 100644 index 0000000..e28b2b0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isSymbol.d.ts @@ -0,0 +1,2 @@ +import { isSymbol } from "./index"; +export = isSymbol; diff --git a/jtg js/node_modules/@types/lodash/isTypedArray.d.ts b/jtg js/node_modules/@types/lodash/isTypedArray.d.ts new file mode 100644 index 0000000..7f32601 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isTypedArray.d.ts @@ -0,0 +1,2 @@ +import { isTypedArray } from "./index"; +export = isTypedArray; diff --git a/jtg js/node_modules/@types/lodash/isUndefined.d.ts b/jtg js/node_modules/@types/lodash/isUndefined.d.ts new file mode 100644 index 0000000..7a5c64f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isUndefined.d.ts @@ -0,0 +1,2 @@ +import { isUndefined } from "./index"; +export = isUndefined; diff --git a/jtg js/node_modules/@types/lodash/isWeakMap.d.ts b/jtg js/node_modules/@types/lodash/isWeakMap.d.ts new file mode 100644 index 0000000..b0609da --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isWeakMap.d.ts @@ -0,0 +1,2 @@ +import { isWeakMap } from "./index"; +export = isWeakMap; diff --git a/jtg js/node_modules/@types/lodash/isWeakSet.d.ts b/jtg js/node_modules/@types/lodash/isWeakSet.d.ts new file mode 100644 index 0000000..6beda3d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/isWeakSet.d.ts @@ -0,0 +1,2 @@ +import { isWeakSet } from "./index"; +export = isWeakSet; diff --git a/jtg js/node_modules/@types/lodash/iteratee.d.ts b/jtg js/node_modules/@types/lodash/iteratee.d.ts new file mode 100644 index 0000000..493b39c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/iteratee.d.ts @@ -0,0 +1,2 @@ +import { iteratee } from "./index"; +export = iteratee; diff --git a/jtg js/node_modules/@types/lodash/join.d.ts b/jtg js/node_modules/@types/lodash/join.d.ts new file mode 100644 index 0000000..b2c5fb4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/join.d.ts @@ -0,0 +1,2 @@ +import { join } from "./index"; +export = join; diff --git a/jtg js/node_modules/@types/lodash/kebabCase.d.ts b/jtg js/node_modules/@types/lodash/kebabCase.d.ts new file mode 100644 index 0000000..c088ef7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/kebabCase.d.ts @@ -0,0 +1,2 @@ +import { kebabCase } from "./index"; +export = kebabCase; diff --git a/jtg js/node_modules/@types/lodash/keyBy.d.ts b/jtg js/node_modules/@types/lodash/keyBy.d.ts new file mode 100644 index 0000000..664a722 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/keyBy.d.ts @@ -0,0 +1,2 @@ +import { keyBy } from "./index"; +export = keyBy; diff --git a/jtg js/node_modules/@types/lodash/keys.d.ts b/jtg js/node_modules/@types/lodash/keys.d.ts new file mode 100644 index 0000000..7eb29a0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/keys.d.ts @@ -0,0 +1,2 @@ +import { keys } from "./index"; +export = keys; diff --git a/jtg js/node_modules/@types/lodash/keysIn.d.ts b/jtg js/node_modules/@types/lodash/keysIn.d.ts new file mode 100644 index 0000000..c9eeee6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/keysIn.d.ts @@ -0,0 +1,2 @@ +import { keysIn } from "./index"; +export = keysIn; diff --git a/jtg js/node_modules/@types/lodash/last.d.ts b/jtg js/node_modules/@types/lodash/last.d.ts new file mode 100644 index 0000000..cfdeb75 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/last.d.ts @@ -0,0 +1,2 @@ +import { last } from "./index"; +export = last; diff --git a/jtg js/node_modules/@types/lodash/lastIndexOf.d.ts b/jtg js/node_modules/@types/lodash/lastIndexOf.d.ts new file mode 100644 index 0000000..979d80d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/lastIndexOf.d.ts @@ -0,0 +1,2 @@ +import { lastIndexOf } from "./index"; +export = lastIndexOf; diff --git a/jtg js/node_modules/@types/lodash/lowerCase.d.ts b/jtg js/node_modules/@types/lodash/lowerCase.d.ts new file mode 100644 index 0000000..475297d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/lowerCase.d.ts @@ -0,0 +1,2 @@ +import { lowerCase } from "./index"; +export = lowerCase; diff --git a/jtg js/node_modules/@types/lodash/lowerFirst.d.ts b/jtg js/node_modules/@types/lodash/lowerFirst.d.ts new file mode 100644 index 0000000..0836228 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/lowerFirst.d.ts @@ -0,0 +1,2 @@ +import { lowerFirst } from "./index"; +export = lowerFirst; diff --git a/jtg js/node_modules/@types/lodash/lt.d.ts b/jtg js/node_modules/@types/lodash/lt.d.ts new file mode 100644 index 0000000..92cd4e2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/lt.d.ts @@ -0,0 +1,2 @@ +import { lt } from "./index"; +export = lt; diff --git a/jtg js/node_modules/@types/lodash/lte.d.ts b/jtg js/node_modules/@types/lodash/lte.d.ts new file mode 100644 index 0000000..7c80f37 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/lte.d.ts @@ -0,0 +1,2 @@ +import { lte } from "./index"; +export = lte; diff --git a/jtg js/node_modules/@types/lodash/map.d.ts b/jtg js/node_modules/@types/lodash/map.d.ts new file mode 100644 index 0000000..2f783cb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/map.d.ts @@ -0,0 +1,2 @@ +import { map } from "./index"; +export = map; diff --git a/jtg js/node_modules/@types/lodash/mapKeys.d.ts b/jtg js/node_modules/@types/lodash/mapKeys.d.ts new file mode 100644 index 0000000..7c7e1b5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/mapKeys.d.ts @@ -0,0 +1,2 @@ +import { mapKeys } from "./index"; +export = mapKeys; diff --git a/jtg js/node_modules/@types/lodash/mapValues.d.ts b/jtg js/node_modules/@types/lodash/mapValues.d.ts new file mode 100644 index 0000000..3e87ea6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/mapValues.d.ts @@ -0,0 +1,2 @@ +import { mapValues } from "./index"; +export = mapValues; diff --git a/jtg js/node_modules/@types/lodash/matches.d.ts b/jtg js/node_modules/@types/lodash/matches.d.ts new file mode 100644 index 0000000..5bb3cc2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/matches.d.ts @@ -0,0 +1,2 @@ +import { matches } from "./index"; +export = matches; diff --git a/jtg js/node_modules/@types/lodash/matchesProperty.d.ts b/jtg js/node_modules/@types/lodash/matchesProperty.d.ts new file mode 100644 index 0000000..7378498 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/matchesProperty.d.ts @@ -0,0 +1,2 @@ +import { matchesProperty } from "./index"; +export = matchesProperty; diff --git a/jtg js/node_modules/@types/lodash/max.d.ts b/jtg js/node_modules/@types/lodash/max.d.ts new file mode 100644 index 0000000..36d0646 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/max.d.ts @@ -0,0 +1,2 @@ +import { max } from "./index"; +export = max; diff --git a/jtg js/node_modules/@types/lodash/maxBy.d.ts b/jtg js/node_modules/@types/lodash/maxBy.d.ts new file mode 100644 index 0000000..d483d95 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/maxBy.d.ts @@ -0,0 +1,2 @@ +import { maxBy } from "./index"; +export = maxBy; diff --git a/jtg js/node_modules/@types/lodash/mean.d.ts b/jtg js/node_modules/@types/lodash/mean.d.ts new file mode 100644 index 0000000..983ad77 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/mean.d.ts @@ -0,0 +1,2 @@ +import { mean } from "./index"; +export = mean; diff --git a/jtg js/node_modules/@types/lodash/meanBy.d.ts b/jtg js/node_modules/@types/lodash/meanBy.d.ts new file mode 100644 index 0000000..67aebbb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/meanBy.d.ts @@ -0,0 +1,2 @@ +import { meanBy } from "./index"; +export = meanBy; diff --git a/jtg js/node_modules/@types/lodash/memoize.d.ts b/jtg js/node_modules/@types/lodash/memoize.d.ts new file mode 100644 index 0000000..6ff535b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/memoize.d.ts @@ -0,0 +1,2 @@ +import { memoize } from "./index"; +export = memoize; diff --git a/jtg js/node_modules/@types/lodash/merge.d.ts b/jtg js/node_modules/@types/lodash/merge.d.ts new file mode 100644 index 0000000..eb8bd95 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/merge.d.ts @@ -0,0 +1,2 @@ +import { merge } from "./index"; +export = merge; diff --git a/jtg js/node_modules/@types/lodash/mergeWith.d.ts b/jtg js/node_modules/@types/lodash/mergeWith.d.ts new file mode 100644 index 0000000..a58dd90 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/mergeWith.d.ts @@ -0,0 +1,2 @@ +import { mergeWith } from "./index"; +export = mergeWith; diff --git a/jtg js/node_modules/@types/lodash/method.d.ts b/jtg js/node_modules/@types/lodash/method.d.ts new file mode 100644 index 0000000..cc30588 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/method.d.ts @@ -0,0 +1,2 @@ +import { method } from "./index"; +export = method; diff --git a/jtg js/node_modules/@types/lodash/methodOf.d.ts b/jtg js/node_modules/@types/lodash/methodOf.d.ts new file mode 100644 index 0000000..af7f19a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/methodOf.d.ts @@ -0,0 +1,2 @@ +import { methodOf } from "./index"; +export = methodOf; diff --git a/jtg js/node_modules/@types/lodash/min.d.ts b/jtg js/node_modules/@types/lodash/min.d.ts new file mode 100644 index 0000000..e8ba597 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/min.d.ts @@ -0,0 +1,2 @@ +import { min } from "./index"; +export = min; diff --git a/jtg js/node_modules/@types/lodash/minBy.d.ts b/jtg js/node_modules/@types/lodash/minBy.d.ts new file mode 100644 index 0000000..74860f9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/minBy.d.ts @@ -0,0 +1,2 @@ +import { minBy } from "./index"; +export = minBy; diff --git a/jtg js/node_modules/@types/lodash/mixin.d.ts b/jtg js/node_modules/@types/lodash/mixin.d.ts new file mode 100644 index 0000000..7984246 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/mixin.d.ts @@ -0,0 +1,2 @@ +import { mixin } from "./index"; +export = mixin; diff --git a/jtg js/node_modules/@types/lodash/negate.d.ts b/jtg js/node_modules/@types/lodash/negate.d.ts new file mode 100644 index 0000000..46d0596 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/negate.d.ts @@ -0,0 +1,2 @@ +import { negate } from "./index"; +export = negate; diff --git a/jtg js/node_modules/@types/lodash/noConflict.d.ts b/jtg js/node_modules/@types/lodash/noConflict.d.ts new file mode 100644 index 0000000..78b3c92 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/noConflict.d.ts @@ -0,0 +1,2 @@ +import { noConflict } from "./index"; +export = noConflict; diff --git a/jtg js/node_modules/@types/lodash/noop.d.ts b/jtg js/node_modules/@types/lodash/noop.d.ts new file mode 100644 index 0000000..bfaeb88 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/noop.d.ts @@ -0,0 +1,2 @@ +import { noop } from "./index"; +export = noop; diff --git a/jtg js/node_modules/@types/lodash/now.d.ts b/jtg js/node_modules/@types/lodash/now.d.ts new file mode 100644 index 0000000..00f807e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/now.d.ts @@ -0,0 +1,2 @@ +import { now } from "./index"; +export = now; diff --git a/jtg js/node_modules/@types/lodash/nth.d.ts b/jtg js/node_modules/@types/lodash/nth.d.ts new file mode 100644 index 0000000..ce1013f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/nth.d.ts @@ -0,0 +1,2 @@ +import { nth } from "./index"; +export = nth; diff --git a/jtg js/node_modules/@types/lodash/nthArg.d.ts b/jtg js/node_modules/@types/lodash/nthArg.d.ts new file mode 100644 index 0000000..2729d70 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/nthArg.d.ts @@ -0,0 +1,2 @@ +import { nthArg } from "./index"; +export = nthArg; diff --git a/jtg js/node_modules/@types/lodash/omit.d.ts b/jtg js/node_modules/@types/lodash/omit.d.ts new file mode 100644 index 0000000..5868a07 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/omit.d.ts @@ -0,0 +1,2 @@ +import { omit } from "./index"; +export = omit; diff --git a/jtg js/node_modules/@types/lodash/omitBy.d.ts b/jtg js/node_modules/@types/lodash/omitBy.d.ts new file mode 100644 index 0000000..41bf6b4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/omitBy.d.ts @@ -0,0 +1,2 @@ +import { omitBy } from "./index"; +export = omitBy; diff --git a/jtg js/node_modules/@types/lodash/once.d.ts b/jtg js/node_modules/@types/lodash/once.d.ts new file mode 100644 index 0000000..4340e88 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/once.d.ts @@ -0,0 +1,2 @@ +import { once } from "./index"; +export = once; diff --git a/jtg js/node_modules/@types/lodash/orderBy.d.ts b/jtg js/node_modules/@types/lodash/orderBy.d.ts new file mode 100644 index 0000000..02320d5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/orderBy.d.ts @@ -0,0 +1,2 @@ +import { orderBy } from "./index"; +export = orderBy; diff --git a/jtg js/node_modules/@types/lodash/over.d.ts b/jtg js/node_modules/@types/lodash/over.d.ts new file mode 100644 index 0000000..172c822 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/over.d.ts @@ -0,0 +1,2 @@ +import { over } from "./index"; +export = over; diff --git a/jtg js/node_modules/@types/lodash/overArgs.d.ts b/jtg js/node_modules/@types/lodash/overArgs.d.ts new file mode 100644 index 0000000..f8518f6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/overArgs.d.ts @@ -0,0 +1,2 @@ +import { overArgs } from "./index"; +export = overArgs; diff --git a/jtg js/node_modules/@types/lodash/overEvery.d.ts b/jtg js/node_modules/@types/lodash/overEvery.d.ts new file mode 100644 index 0000000..b8328fb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/overEvery.d.ts @@ -0,0 +1,2 @@ +import { overEvery } from "./index"; +export = overEvery; diff --git a/jtg js/node_modules/@types/lodash/overSome.d.ts b/jtg js/node_modules/@types/lodash/overSome.d.ts new file mode 100644 index 0000000..2f17258 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/overSome.d.ts @@ -0,0 +1,2 @@ +import { overSome } from "./index"; +export = overSome; diff --git a/jtg js/node_modules/@types/lodash/package.json b/jtg js/node_modules/@types/lodash/package.json new file mode 100644 index 0000000..4d92102 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/package.json @@ -0,0 +1,84 @@ +{ + "_from": "@types/lodash", + "_id": "@types/lodash@4.14.110", + "_inBundle": false, + "_integrity": "sha1-+wdJj4QVKUfzDqCdiSB8oHEjRh4=", + "_location": "/@types/lodash", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "@types/lodash", + "name": "@types/lodash", + "escapedName": "@types%2flodash", + "scope": "@types", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "http://registry.npm.taobao.org/@types/lodash/download/@types/lodash-4.14.110.tgz", + "_shasum": "fb07498f84152947f30ea09d89207ca07123461e", + "_spec": "@types/lodash", + "_where": "Y:\\Downloads\\lodash-4.17.10", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Brian Zengel", + "url": "https://github.com/bczengel" + }, + { + "name": "Ilya Mochalov", + "url": "https://github.com/chrootsu" + }, + { + "name": "Stepan Mikhaylyuk", + "url": "https://github.com/stepancar" + }, + { + "name": "AJ Richardson", + "url": "https://github.com/aj-r" + }, + { + "name": "Junyoung Clare Jang", + "url": "https://github.com/ailrun" + }, + { + "name": "e-cloud", + "url": "https://github.com/e-cloud" + }, + { + "name": "Georgii Dolzhykov", + "url": "https://github.com/thorn0" + }, + { + "name": "Jack Moore", + "url": "https://github.com/jtmthf" + }, + { + "name": "Dominique Rau", + "url": "https://github.com/DomiR" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "TypeScript definitions for Lo-Dash", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/lodash", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "typeScriptVersion": "2.2", + "typesPublisherContentHash": "ddbd26faa38670a880f723bf4ae03db414e3aeaea656dff9a89414e0ed6fc685", + "version": "4.14.110" +} diff --git a/jtg js/node_modules/@types/lodash/pad.d.ts b/jtg js/node_modules/@types/lodash/pad.d.ts new file mode 100644 index 0000000..552667a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pad.d.ts @@ -0,0 +1,2 @@ +import { pad } from "./index"; +export = pad; diff --git a/jtg js/node_modules/@types/lodash/padEnd.d.ts b/jtg js/node_modules/@types/lodash/padEnd.d.ts new file mode 100644 index 0000000..c81a7b0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/padEnd.d.ts @@ -0,0 +1,2 @@ +import { padEnd } from "./index"; +export = padEnd; diff --git a/jtg js/node_modules/@types/lodash/padStart.d.ts b/jtg js/node_modules/@types/lodash/padStart.d.ts new file mode 100644 index 0000000..c119c35 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/padStart.d.ts @@ -0,0 +1,2 @@ +import { padStart } from "./index"; +export = padStart; diff --git a/jtg js/node_modules/@types/lodash/parseInt.d.ts b/jtg js/node_modules/@types/lodash/parseInt.d.ts new file mode 100644 index 0000000..de59e7b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/parseInt.d.ts @@ -0,0 +1,2 @@ +import { parseInt } from "./index"; +export = parseInt; diff --git a/jtg js/node_modules/@types/lodash/partial.d.ts b/jtg js/node_modules/@types/lodash/partial.d.ts new file mode 100644 index 0000000..d764f6e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/partial.d.ts @@ -0,0 +1,2 @@ +import { partial } from "./index"; +export = partial; diff --git a/jtg js/node_modules/@types/lodash/partialRight.d.ts b/jtg js/node_modules/@types/lodash/partialRight.d.ts new file mode 100644 index 0000000..ed60160 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/partialRight.d.ts @@ -0,0 +1,2 @@ +import { partialRight } from "./index"; +export = partialRight; diff --git a/jtg js/node_modules/@types/lodash/partition.d.ts b/jtg js/node_modules/@types/lodash/partition.d.ts new file mode 100644 index 0000000..f26ab15 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/partition.d.ts @@ -0,0 +1,2 @@ +import { partition } from "./index"; +export = partition; diff --git a/jtg js/node_modules/@types/lodash/pick.d.ts b/jtg js/node_modules/@types/lodash/pick.d.ts new file mode 100644 index 0000000..6d346f8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pick.d.ts @@ -0,0 +1,2 @@ +import { pick } from "./index"; +export = pick; diff --git a/jtg js/node_modules/@types/lodash/pickBy.d.ts b/jtg js/node_modules/@types/lodash/pickBy.d.ts new file mode 100644 index 0000000..5285ead --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pickBy.d.ts @@ -0,0 +1,2 @@ +import { pickBy } from "./index"; +export = pickBy; diff --git a/jtg js/node_modules/@types/lodash/property.d.ts b/jtg js/node_modules/@types/lodash/property.d.ts new file mode 100644 index 0000000..3ff96f0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/property.d.ts @@ -0,0 +1,2 @@ +import { property } from "./index"; +export = property; diff --git a/jtg js/node_modules/@types/lodash/propertyOf.d.ts b/jtg js/node_modules/@types/lodash/propertyOf.d.ts new file mode 100644 index 0000000..27c628f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/propertyOf.d.ts @@ -0,0 +1,2 @@ +import { propertyOf } from "./index"; +export = propertyOf; diff --git a/jtg js/node_modules/@types/lodash/pull.d.ts b/jtg js/node_modules/@types/lodash/pull.d.ts new file mode 100644 index 0000000..b496ebd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pull.d.ts @@ -0,0 +1,2 @@ +import { pull } from "./index"; +export = pull; diff --git a/jtg js/node_modules/@types/lodash/pullAll.d.ts b/jtg js/node_modules/@types/lodash/pullAll.d.ts new file mode 100644 index 0000000..22c81c4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pullAll.d.ts @@ -0,0 +1,2 @@ +import { pullAll } from "./index"; +export = pullAll; diff --git a/jtg js/node_modules/@types/lodash/pullAllBy.d.ts b/jtg js/node_modules/@types/lodash/pullAllBy.d.ts new file mode 100644 index 0000000..e0629ce --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pullAllBy.d.ts @@ -0,0 +1,2 @@ +import { pullAllBy } from "./index"; +export = pullAllBy; diff --git a/jtg js/node_modules/@types/lodash/pullAllWith.d.ts b/jtg js/node_modules/@types/lodash/pullAllWith.d.ts new file mode 100644 index 0000000..d3ce829 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pullAllWith.d.ts @@ -0,0 +1,2 @@ +import { pullAllWith } from "./index"; +export = pullAllWith; diff --git a/jtg js/node_modules/@types/lodash/pullAt.d.ts b/jtg js/node_modules/@types/lodash/pullAt.d.ts new file mode 100644 index 0000000..47be382 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/pullAt.d.ts @@ -0,0 +1,2 @@ +import { pullAt } from "./index"; +export = pullAt; diff --git a/jtg js/node_modules/@types/lodash/random.d.ts b/jtg js/node_modules/@types/lodash/random.d.ts new file mode 100644 index 0000000..a68cc27 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/random.d.ts @@ -0,0 +1,2 @@ +import { random } from "./index"; +export = random; diff --git a/jtg js/node_modules/@types/lodash/range.d.ts b/jtg js/node_modules/@types/lodash/range.d.ts new file mode 100644 index 0000000..8f737ca --- /dev/null +++ b/jtg js/node_modules/@types/lodash/range.d.ts @@ -0,0 +1,2 @@ +import { range } from "./index"; +export = range; diff --git a/jtg js/node_modules/@types/lodash/rangeRight.d.ts b/jtg js/node_modules/@types/lodash/rangeRight.d.ts new file mode 100644 index 0000000..cabd0ed --- /dev/null +++ b/jtg js/node_modules/@types/lodash/rangeRight.d.ts @@ -0,0 +1,2 @@ +import { rangeRight } from "./index"; +export = rangeRight; diff --git a/jtg js/node_modules/@types/lodash/rearg.d.ts b/jtg js/node_modules/@types/lodash/rearg.d.ts new file mode 100644 index 0000000..7684e86 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/rearg.d.ts @@ -0,0 +1,2 @@ +import { rearg } from "./index"; +export = rearg; diff --git a/jtg js/node_modules/@types/lodash/reduce.d.ts b/jtg js/node_modules/@types/lodash/reduce.d.ts new file mode 100644 index 0000000..4765fcd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/reduce.d.ts @@ -0,0 +1,2 @@ +import { reduce } from "./index"; +export = reduce; diff --git a/jtg js/node_modules/@types/lodash/reduceRight.d.ts b/jtg js/node_modules/@types/lodash/reduceRight.d.ts new file mode 100644 index 0000000..1cfdb5f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/reduceRight.d.ts @@ -0,0 +1,2 @@ +import { reduceRight } from "./index"; +export = reduceRight; diff --git a/jtg js/node_modules/@types/lodash/reject.d.ts b/jtg js/node_modules/@types/lodash/reject.d.ts new file mode 100644 index 0000000..aabc141 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/reject.d.ts @@ -0,0 +1,2 @@ +import { reject } from "./index"; +export = reject; diff --git a/jtg js/node_modules/@types/lodash/remove.d.ts b/jtg js/node_modules/@types/lodash/remove.d.ts new file mode 100644 index 0000000..dca4718 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/remove.d.ts @@ -0,0 +1,2 @@ +import { remove } from "./index"; +export = remove; diff --git a/jtg js/node_modules/@types/lodash/repeat.d.ts b/jtg js/node_modules/@types/lodash/repeat.d.ts new file mode 100644 index 0000000..ca3c7fc --- /dev/null +++ b/jtg js/node_modules/@types/lodash/repeat.d.ts @@ -0,0 +1,2 @@ +import { repeat } from "./index"; +export = repeat; diff --git a/jtg js/node_modules/@types/lodash/replace.d.ts b/jtg js/node_modules/@types/lodash/replace.d.ts new file mode 100644 index 0000000..7015411 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/replace.d.ts @@ -0,0 +1,2 @@ +import { replace } from "./index"; +export = replace; diff --git a/jtg js/node_modules/@types/lodash/rest.d.ts b/jtg js/node_modules/@types/lodash/rest.d.ts new file mode 100644 index 0000000..433a4fd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/rest.d.ts @@ -0,0 +1,2 @@ +import { rest } from "./index"; +export = rest; diff --git a/jtg js/node_modules/@types/lodash/result.d.ts b/jtg js/node_modules/@types/lodash/result.d.ts new file mode 100644 index 0000000..6578642 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/result.d.ts @@ -0,0 +1,2 @@ +import { result } from "./index"; +export = result; diff --git a/jtg js/node_modules/@types/lodash/reverse.d.ts b/jtg js/node_modules/@types/lodash/reverse.d.ts new file mode 100644 index 0000000..ecef173 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/reverse.d.ts @@ -0,0 +1,2 @@ +import { reverse } from "./index"; +export = reverse; diff --git a/jtg js/node_modules/@types/lodash/round.d.ts b/jtg js/node_modules/@types/lodash/round.d.ts new file mode 100644 index 0000000..ed2c179 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/round.d.ts @@ -0,0 +1,2 @@ +import { round } from "./index"; +export = round; diff --git a/jtg js/node_modules/@types/lodash/runInContext.d.ts b/jtg js/node_modules/@types/lodash/runInContext.d.ts new file mode 100644 index 0000000..9ee01f3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/runInContext.d.ts @@ -0,0 +1,2 @@ +import { runInContext } from "./index"; +export = runInContext; diff --git a/jtg js/node_modules/@types/lodash/sample.d.ts b/jtg js/node_modules/@types/lodash/sample.d.ts new file mode 100644 index 0000000..c225178 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sample.d.ts @@ -0,0 +1,2 @@ +import { sample } from "./index"; +export = sample; diff --git a/jtg js/node_modules/@types/lodash/sampleSize.d.ts b/jtg js/node_modules/@types/lodash/sampleSize.d.ts new file mode 100644 index 0000000..0f1ed89 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sampleSize.d.ts @@ -0,0 +1,2 @@ +import { sampleSize } from "./index"; +export = sampleSize; diff --git a/jtg js/node_modules/@types/lodash/set.d.ts b/jtg js/node_modules/@types/lodash/set.d.ts new file mode 100644 index 0000000..09d0c24 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/set.d.ts @@ -0,0 +1,2 @@ +import { set } from "./index"; +export = set; diff --git a/jtg js/node_modules/@types/lodash/setWith.d.ts b/jtg js/node_modules/@types/lodash/setWith.d.ts new file mode 100644 index 0000000..d4e319a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/setWith.d.ts @@ -0,0 +1,2 @@ +import { setWith } from "./index"; +export = setWith; diff --git a/jtg js/node_modules/@types/lodash/shuffle.d.ts b/jtg js/node_modules/@types/lodash/shuffle.d.ts new file mode 100644 index 0000000..ff96f88 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/shuffle.d.ts @@ -0,0 +1,2 @@ +import { shuffle } from "./index"; +export = shuffle; diff --git a/jtg js/node_modules/@types/lodash/size.d.ts b/jtg js/node_modules/@types/lodash/size.d.ts new file mode 100644 index 0000000..13d492f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/size.d.ts @@ -0,0 +1,2 @@ +import { size } from "./index"; +export = size; diff --git a/jtg js/node_modules/@types/lodash/slice.d.ts b/jtg js/node_modules/@types/lodash/slice.d.ts new file mode 100644 index 0000000..311d2fa --- /dev/null +++ b/jtg js/node_modules/@types/lodash/slice.d.ts @@ -0,0 +1,2 @@ +import { slice } from "./index"; +export = slice; diff --git a/jtg js/node_modules/@types/lodash/snakeCase.d.ts b/jtg js/node_modules/@types/lodash/snakeCase.d.ts new file mode 100644 index 0000000..8245a7d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/snakeCase.d.ts @@ -0,0 +1,2 @@ +import { snakeCase } from "./index"; +export = snakeCase; diff --git a/jtg js/node_modules/@types/lodash/some.d.ts b/jtg js/node_modules/@types/lodash/some.d.ts new file mode 100644 index 0000000..90ef478 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/some.d.ts @@ -0,0 +1,2 @@ +import { some } from "./index"; +export = some; diff --git a/jtg js/node_modules/@types/lodash/sortBy.d.ts b/jtg js/node_modules/@types/lodash/sortBy.d.ts new file mode 100644 index 0000000..5f3d4f2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortBy.d.ts @@ -0,0 +1,2 @@ +import { sortBy } from "./index"; +export = sortBy; diff --git a/jtg js/node_modules/@types/lodash/sortedIndex.d.ts b/jtg js/node_modules/@types/lodash/sortedIndex.d.ts new file mode 100644 index 0000000..c9c7911 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedIndex.d.ts @@ -0,0 +1,2 @@ +import { sortedIndex } from "./index"; +export = sortedIndex; diff --git a/jtg js/node_modules/@types/lodash/sortedIndexBy.d.ts b/jtg js/node_modules/@types/lodash/sortedIndexBy.d.ts new file mode 100644 index 0000000..fdbedac --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedIndexBy.d.ts @@ -0,0 +1,2 @@ +import { sortedIndexBy } from "./index"; +export = sortedIndexBy; diff --git a/jtg js/node_modules/@types/lodash/sortedIndexOf.d.ts b/jtg js/node_modules/@types/lodash/sortedIndexOf.d.ts new file mode 100644 index 0000000..a076c4a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedIndexOf.d.ts @@ -0,0 +1,2 @@ +import { sortedIndexOf } from "./index"; +export = sortedIndexOf; diff --git a/jtg js/node_modules/@types/lodash/sortedLastIndex.d.ts b/jtg js/node_modules/@types/lodash/sortedLastIndex.d.ts new file mode 100644 index 0000000..808c2c0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedLastIndex.d.ts @@ -0,0 +1,2 @@ +import { sortedLastIndex } from "./index"; +export = sortedLastIndex; diff --git a/jtg js/node_modules/@types/lodash/sortedLastIndexBy.d.ts b/jtg js/node_modules/@types/lodash/sortedLastIndexBy.d.ts new file mode 100644 index 0000000..9f23b9b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedLastIndexBy.d.ts @@ -0,0 +1,2 @@ +import { sortedLastIndexBy } from "./index"; +export = sortedLastIndexBy; diff --git a/jtg js/node_modules/@types/lodash/sortedLastIndexOf.d.ts b/jtg js/node_modules/@types/lodash/sortedLastIndexOf.d.ts new file mode 100644 index 0000000..abdeba0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedLastIndexOf.d.ts @@ -0,0 +1,2 @@ +import { sortedLastIndexOf } from "./index"; +export = sortedLastIndexOf; diff --git a/jtg js/node_modules/@types/lodash/sortedUniq.d.ts b/jtg js/node_modules/@types/lodash/sortedUniq.d.ts new file mode 100644 index 0000000..257d35a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedUniq.d.ts @@ -0,0 +1,2 @@ +import { sortedUniq } from "./index"; +export = sortedUniq; diff --git a/jtg js/node_modules/@types/lodash/sortedUniqBy.d.ts b/jtg js/node_modules/@types/lodash/sortedUniqBy.d.ts new file mode 100644 index 0000000..316156e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sortedUniqBy.d.ts @@ -0,0 +1,2 @@ +import { sortedUniqBy } from "./index"; +export = sortedUniqBy; diff --git a/jtg js/node_modules/@types/lodash/split.d.ts b/jtg js/node_modules/@types/lodash/split.d.ts new file mode 100644 index 0000000..8879eb0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/split.d.ts @@ -0,0 +1,2 @@ +import { split } from "./index"; +export = split; diff --git a/jtg js/node_modules/@types/lodash/spread.d.ts b/jtg js/node_modules/@types/lodash/spread.d.ts new file mode 100644 index 0000000..4f816b2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/spread.d.ts @@ -0,0 +1,2 @@ +import { spread } from "./index"; +export = spread; diff --git a/jtg js/node_modules/@types/lodash/startCase.d.ts b/jtg js/node_modules/@types/lodash/startCase.d.ts new file mode 100644 index 0000000..c201a11 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/startCase.d.ts @@ -0,0 +1,2 @@ +import { startCase } from "./index"; +export = startCase; diff --git a/jtg js/node_modules/@types/lodash/startsWith.d.ts b/jtg js/node_modules/@types/lodash/startsWith.d.ts new file mode 100644 index 0000000..a18b54f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/startsWith.d.ts @@ -0,0 +1,2 @@ +import { startsWith } from "./index"; +export = startsWith; diff --git a/jtg js/node_modules/@types/lodash/subtract.d.ts b/jtg js/node_modules/@types/lodash/subtract.d.ts new file mode 100644 index 0000000..6502fe2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/subtract.d.ts @@ -0,0 +1,2 @@ +import { subtract } from "./index"; +export = subtract; diff --git a/jtg js/node_modules/@types/lodash/sum.d.ts b/jtg js/node_modules/@types/lodash/sum.d.ts new file mode 100644 index 0000000..4e01cb4 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sum.d.ts @@ -0,0 +1,2 @@ +import { sum } from "./index"; +export = sum; diff --git a/jtg js/node_modules/@types/lodash/sumBy.d.ts b/jtg js/node_modules/@types/lodash/sumBy.d.ts new file mode 100644 index 0000000..92c4342 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/sumBy.d.ts @@ -0,0 +1,2 @@ +import { sumBy } from "./index"; +export = sumBy; diff --git a/jtg js/node_modules/@types/lodash/tail.d.ts b/jtg js/node_modules/@types/lodash/tail.d.ts new file mode 100644 index 0000000..2d80b44 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/tail.d.ts @@ -0,0 +1,2 @@ +import { tail } from "./index"; +export = tail; diff --git a/jtg js/node_modules/@types/lodash/take.d.ts b/jtg js/node_modules/@types/lodash/take.d.ts new file mode 100644 index 0000000..be99122 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/take.d.ts @@ -0,0 +1,2 @@ +import { take } from "./index"; +export = take; diff --git a/jtg js/node_modules/@types/lodash/takeRight.d.ts b/jtg js/node_modules/@types/lodash/takeRight.d.ts new file mode 100644 index 0000000..9d78866 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/takeRight.d.ts @@ -0,0 +1,2 @@ +import { takeRight } from "./index"; +export = takeRight; diff --git a/jtg js/node_modules/@types/lodash/takeRightWhile.d.ts b/jtg js/node_modules/@types/lodash/takeRightWhile.d.ts new file mode 100644 index 0000000..3b293de --- /dev/null +++ b/jtg js/node_modules/@types/lodash/takeRightWhile.d.ts @@ -0,0 +1,2 @@ +import { takeRightWhile } from "./index"; +export = takeRightWhile; diff --git a/jtg js/node_modules/@types/lodash/takeWhile.d.ts b/jtg js/node_modules/@types/lodash/takeWhile.d.ts new file mode 100644 index 0000000..088234a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/takeWhile.d.ts @@ -0,0 +1,2 @@ +import { takeWhile } from "./index"; +export = takeWhile; diff --git a/jtg js/node_modules/@types/lodash/tap.d.ts b/jtg js/node_modules/@types/lodash/tap.d.ts new file mode 100644 index 0000000..e15a13c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/tap.d.ts @@ -0,0 +1,2 @@ +import { tap } from "./index"; +export = tap; diff --git a/jtg js/node_modules/@types/lodash/template.d.ts b/jtg js/node_modules/@types/lodash/template.d.ts new file mode 100644 index 0000000..854e753 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/template.d.ts @@ -0,0 +1,2 @@ +import { template } from "./index"; +export = template; diff --git a/jtg js/node_modules/@types/lodash/throttle.d.ts b/jtg js/node_modules/@types/lodash/throttle.d.ts new file mode 100644 index 0000000..2650896 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/throttle.d.ts @@ -0,0 +1,2 @@ +import { throttle } from "./index"; +export = throttle; diff --git a/jtg js/node_modules/@types/lodash/thru.d.ts b/jtg js/node_modules/@types/lodash/thru.d.ts new file mode 100644 index 0000000..0447e12 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/thru.d.ts @@ -0,0 +1,2 @@ +import { thru } from "./index"; +export = thru; diff --git a/jtg js/node_modules/@types/lodash/times.d.ts b/jtg js/node_modules/@types/lodash/times.d.ts new file mode 100644 index 0000000..7fda4de --- /dev/null +++ b/jtg js/node_modules/@types/lodash/times.d.ts @@ -0,0 +1,2 @@ +import { times } from "./index"; +export = times; diff --git a/jtg js/node_modules/@types/lodash/toArray.d.ts b/jtg js/node_modules/@types/lodash/toArray.d.ts new file mode 100644 index 0000000..dd94c8a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toArray.d.ts @@ -0,0 +1,2 @@ +import { toArray } from "./index"; +export = toArray; diff --git a/jtg js/node_modules/@types/lodash/toFinite.d.ts b/jtg js/node_modules/@types/lodash/toFinite.d.ts new file mode 100644 index 0000000..c575b47 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toFinite.d.ts @@ -0,0 +1,2 @@ +import { toFinite } from "./index"; +export = toFinite; diff --git a/jtg js/node_modules/@types/lodash/toInteger.d.ts b/jtg js/node_modules/@types/lodash/toInteger.d.ts new file mode 100644 index 0000000..021a9c0 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toInteger.d.ts @@ -0,0 +1,2 @@ +import { toInteger } from "./index"; +export = toInteger; diff --git a/jtg js/node_modules/@types/lodash/toLength.d.ts b/jtg js/node_modules/@types/lodash/toLength.d.ts new file mode 100644 index 0000000..41a4098 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toLength.d.ts @@ -0,0 +1,2 @@ +import { toLength } from "./index"; +export = toLength; diff --git a/jtg js/node_modules/@types/lodash/toLower.d.ts b/jtg js/node_modules/@types/lodash/toLower.d.ts new file mode 100644 index 0000000..766c173 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toLower.d.ts @@ -0,0 +1,2 @@ +import { toLower } from "./index"; +export = toLower; diff --git a/jtg js/node_modules/@types/lodash/toNumber.d.ts b/jtg js/node_modules/@types/lodash/toNumber.d.ts new file mode 100644 index 0000000..a6c5e1f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toNumber.d.ts @@ -0,0 +1,2 @@ +import { toNumber } from "./index"; +export = toNumber; diff --git a/jtg js/node_modules/@types/lodash/toPairs.d.ts b/jtg js/node_modules/@types/lodash/toPairs.d.ts new file mode 100644 index 0000000..4a7846e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toPairs.d.ts @@ -0,0 +1,2 @@ +import { toPairs } from "./index"; +export = toPairs; diff --git a/jtg js/node_modules/@types/lodash/toPairsIn.d.ts b/jtg js/node_modules/@types/lodash/toPairsIn.d.ts new file mode 100644 index 0000000..82d71b3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toPairsIn.d.ts @@ -0,0 +1,2 @@ +import { toPairsIn } from "./index"; +export = toPairsIn; diff --git a/jtg js/node_modules/@types/lodash/toPath.d.ts b/jtg js/node_modules/@types/lodash/toPath.d.ts new file mode 100644 index 0000000..ff354e5 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toPath.d.ts @@ -0,0 +1,2 @@ +import { toPath } from "./index"; +export = toPath; diff --git a/jtg js/node_modules/@types/lodash/toPlainObject.d.ts b/jtg js/node_modules/@types/lodash/toPlainObject.d.ts new file mode 100644 index 0000000..0561ab6 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toPlainObject.d.ts @@ -0,0 +1,2 @@ +import { toPlainObject } from "./index"; +export = toPlainObject; diff --git a/jtg js/node_modules/@types/lodash/toSafeInteger.d.ts b/jtg js/node_modules/@types/lodash/toSafeInteger.d.ts new file mode 100644 index 0000000..6bb24d8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toSafeInteger.d.ts @@ -0,0 +1,2 @@ +import { toSafeInteger } from "./index"; +export = toSafeInteger; diff --git a/jtg js/node_modules/@types/lodash/toString.d.ts b/jtg js/node_modules/@types/lodash/toString.d.ts new file mode 100644 index 0000000..7765d10 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toString.d.ts @@ -0,0 +1,2 @@ +import { toString } from "./index"; +export = toString; diff --git a/jtg js/node_modules/@types/lodash/toUpper.d.ts b/jtg js/node_modules/@types/lodash/toUpper.d.ts new file mode 100644 index 0000000..af43041 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/toUpper.d.ts @@ -0,0 +1,2 @@ +import { toUpper } from "./index"; +export = toUpper; diff --git a/jtg js/node_modules/@types/lodash/transform.d.ts b/jtg js/node_modules/@types/lodash/transform.d.ts new file mode 100644 index 0000000..05e6543 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/transform.d.ts @@ -0,0 +1,2 @@ +import { transform } from "./index"; +export = transform; diff --git a/jtg js/node_modules/@types/lodash/trim.d.ts b/jtg js/node_modules/@types/lodash/trim.d.ts new file mode 100644 index 0000000..7d0bf90 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/trim.d.ts @@ -0,0 +1,2 @@ +import { trim } from "./index"; +export = trim; diff --git a/jtg js/node_modules/@types/lodash/trimEnd.d.ts b/jtg js/node_modules/@types/lodash/trimEnd.d.ts new file mode 100644 index 0000000..b80c844 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/trimEnd.d.ts @@ -0,0 +1,2 @@ +import { trimEnd } from "./index"; +export = trimEnd; diff --git a/jtg js/node_modules/@types/lodash/trimStart.d.ts b/jtg js/node_modules/@types/lodash/trimStart.d.ts new file mode 100644 index 0000000..a040712 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/trimStart.d.ts @@ -0,0 +1,2 @@ +import { trimStart } from "./index"; +export = trimStart; diff --git a/jtg js/node_modules/@types/lodash/truncate.d.ts b/jtg js/node_modules/@types/lodash/truncate.d.ts new file mode 100644 index 0000000..0ae065b --- /dev/null +++ b/jtg js/node_modules/@types/lodash/truncate.d.ts @@ -0,0 +1,2 @@ +import { truncate } from "./index"; +export = truncate; diff --git a/jtg js/node_modules/@types/lodash/unary.d.ts b/jtg js/node_modules/@types/lodash/unary.d.ts new file mode 100644 index 0000000..4456997 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unary.d.ts @@ -0,0 +1,2 @@ +import { unary } from "./index"; +export = unary; diff --git a/jtg js/node_modules/@types/lodash/unescape.d.ts b/jtg js/node_modules/@types/lodash/unescape.d.ts new file mode 100644 index 0000000..71ba85d --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unescape.d.ts @@ -0,0 +1,2 @@ +import { unescape } from "./index"; +export = unescape; diff --git a/jtg js/node_modules/@types/lodash/union.d.ts b/jtg js/node_modules/@types/lodash/union.d.ts new file mode 100644 index 0000000..7b12e92 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/union.d.ts @@ -0,0 +1,2 @@ +import { union } from "./index"; +export = union; diff --git a/jtg js/node_modules/@types/lodash/unionBy.d.ts b/jtg js/node_modules/@types/lodash/unionBy.d.ts new file mode 100644 index 0000000..0cb1992 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unionBy.d.ts @@ -0,0 +1,2 @@ +import { unionBy } from "./index"; +export = unionBy; diff --git a/jtg js/node_modules/@types/lodash/unionWith.d.ts b/jtg js/node_modules/@types/lodash/unionWith.d.ts new file mode 100644 index 0000000..9888092 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unionWith.d.ts @@ -0,0 +1,2 @@ +import { unionWith } from "./index"; +export = unionWith; diff --git a/jtg js/node_modules/@types/lodash/uniq.d.ts b/jtg js/node_modules/@types/lodash/uniq.d.ts new file mode 100644 index 0000000..6c105ac --- /dev/null +++ b/jtg js/node_modules/@types/lodash/uniq.d.ts @@ -0,0 +1,2 @@ +import { uniq } from "./index"; +export = uniq; diff --git a/jtg js/node_modules/@types/lodash/uniqBy.d.ts b/jtg js/node_modules/@types/lodash/uniqBy.d.ts new file mode 100644 index 0000000..7101b0e --- /dev/null +++ b/jtg js/node_modules/@types/lodash/uniqBy.d.ts @@ -0,0 +1,2 @@ +import { uniqBy } from "./index"; +export = uniqBy; diff --git a/jtg js/node_modules/@types/lodash/uniqWith.d.ts b/jtg js/node_modules/@types/lodash/uniqWith.d.ts new file mode 100644 index 0000000..72c3f8f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/uniqWith.d.ts @@ -0,0 +1,2 @@ +import { uniqWith } from "./index"; +export = uniqWith; diff --git a/jtg js/node_modules/@types/lodash/uniqueId.d.ts b/jtg js/node_modules/@types/lodash/uniqueId.d.ts new file mode 100644 index 0000000..4ea55f9 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/uniqueId.d.ts @@ -0,0 +1,2 @@ +import { uniqueId } from "./index"; +export = uniqueId; diff --git a/jtg js/node_modules/@types/lodash/unset.d.ts b/jtg js/node_modules/@types/lodash/unset.d.ts new file mode 100644 index 0000000..1eac8dd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unset.d.ts @@ -0,0 +1,2 @@ +import { unset } from "./index"; +export = unset; diff --git a/jtg js/node_modules/@types/lodash/unzip.d.ts b/jtg js/node_modules/@types/lodash/unzip.d.ts new file mode 100644 index 0000000..7e320a2 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unzip.d.ts @@ -0,0 +1,2 @@ +import { unzip } from "./index"; +export = unzip; diff --git a/jtg js/node_modules/@types/lodash/unzipWith.d.ts b/jtg js/node_modules/@types/lodash/unzipWith.d.ts new file mode 100644 index 0000000..2bf5394 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/unzipWith.d.ts @@ -0,0 +1,2 @@ +import { unzipWith } from "./index"; +export = unzipWith; diff --git a/jtg js/node_modules/@types/lodash/update.d.ts b/jtg js/node_modules/@types/lodash/update.d.ts new file mode 100644 index 0000000..d072c0f --- /dev/null +++ b/jtg js/node_modules/@types/lodash/update.d.ts @@ -0,0 +1,2 @@ +import { update } from "./index"; +export = update; diff --git a/jtg js/node_modules/@types/lodash/updateWith.d.ts b/jtg js/node_modules/@types/lodash/updateWith.d.ts new file mode 100644 index 0000000..4417542 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/updateWith.d.ts @@ -0,0 +1,2 @@ +import { updateWith } from "./index"; +export = updateWith; diff --git a/jtg js/node_modules/@types/lodash/upperCase.d.ts b/jtg js/node_modules/@types/lodash/upperCase.d.ts new file mode 100644 index 0000000..c33598a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/upperCase.d.ts @@ -0,0 +1,2 @@ +import { upperCase } from "./index"; +export = upperCase; diff --git a/jtg js/node_modules/@types/lodash/upperFirst.d.ts b/jtg js/node_modules/@types/lodash/upperFirst.d.ts new file mode 100644 index 0000000..1f1b2a7 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/upperFirst.d.ts @@ -0,0 +1,2 @@ +import { upperFirst } from "./index"; +export = upperFirst; diff --git a/jtg js/node_modules/@types/lodash/values.d.ts b/jtg js/node_modules/@types/lodash/values.d.ts new file mode 100644 index 0000000..2015ebf --- /dev/null +++ b/jtg js/node_modules/@types/lodash/values.d.ts @@ -0,0 +1,2 @@ +import { values } from "./index"; +export = values; diff --git a/jtg js/node_modules/@types/lodash/valuesIn.d.ts b/jtg js/node_modules/@types/lodash/valuesIn.d.ts new file mode 100644 index 0000000..6f8d6a3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/valuesIn.d.ts @@ -0,0 +1,2 @@ +import { valuesIn } from "./index"; +export = valuesIn; diff --git a/jtg js/node_modules/@types/lodash/without.d.ts b/jtg js/node_modules/@types/lodash/without.d.ts new file mode 100644 index 0000000..bbdfe16 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/without.d.ts @@ -0,0 +1,2 @@ +import { without } from "./index"; +export = without; diff --git a/jtg js/node_modules/@types/lodash/words.d.ts b/jtg js/node_modules/@types/lodash/words.d.ts new file mode 100644 index 0000000..22da6cb --- /dev/null +++ b/jtg js/node_modules/@types/lodash/words.d.ts @@ -0,0 +1,2 @@ +import { words } from "./index"; +export = words; diff --git a/jtg js/node_modules/@types/lodash/wrap.d.ts b/jtg js/node_modules/@types/lodash/wrap.d.ts new file mode 100644 index 0000000..3c20f28 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/wrap.d.ts @@ -0,0 +1,2 @@ +import { wrap } from "./index"; +export = wrap; diff --git a/jtg js/node_modules/@types/lodash/xor.d.ts b/jtg js/node_modules/@types/lodash/xor.d.ts new file mode 100644 index 0000000..894735c --- /dev/null +++ b/jtg js/node_modules/@types/lodash/xor.d.ts @@ -0,0 +1,2 @@ +import { xor } from "./index"; +export = xor; diff --git a/jtg js/node_modules/@types/lodash/xorBy.d.ts b/jtg js/node_modules/@types/lodash/xorBy.d.ts new file mode 100644 index 0000000..6a08c6a --- /dev/null +++ b/jtg js/node_modules/@types/lodash/xorBy.d.ts @@ -0,0 +1,2 @@ +import { xorBy } from "./index"; +export = xorBy; diff --git a/jtg js/node_modules/@types/lodash/xorWith.d.ts b/jtg js/node_modules/@types/lodash/xorWith.d.ts new file mode 100644 index 0000000..7cdcaf3 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/xorWith.d.ts @@ -0,0 +1,2 @@ +import { xorWith } from "./index"; +export = xorWith; diff --git a/jtg js/node_modules/@types/lodash/zip.d.ts b/jtg js/node_modules/@types/lodash/zip.d.ts new file mode 100644 index 0000000..e7467cd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/zip.d.ts @@ -0,0 +1,2 @@ +import { zip } from "./index"; +export = zip; diff --git a/jtg js/node_modules/@types/lodash/zipObject.d.ts b/jtg js/node_modules/@types/lodash/zipObject.d.ts new file mode 100644 index 0000000..ad049fd --- /dev/null +++ b/jtg js/node_modules/@types/lodash/zipObject.d.ts @@ -0,0 +1,2 @@ +import { zipObject } from "./index"; +export = zipObject; diff --git a/jtg js/node_modules/@types/lodash/zipObjectDeep.d.ts b/jtg js/node_modules/@types/lodash/zipObjectDeep.d.ts new file mode 100644 index 0000000..2a483e8 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/zipObjectDeep.d.ts @@ -0,0 +1,2 @@ +import { zipObjectDeep } from "./index"; +export = zipObjectDeep; diff --git a/jtg js/node_modules/@types/lodash/zipWith.d.ts b/jtg js/node_modules/@types/lodash/zipWith.d.ts new file mode 100644 index 0000000..4869374 --- /dev/null +++ b/jtg js/node_modules/@types/lodash/zipWith.d.ts @@ -0,0 +1,2 @@ +import { zipWith } from "./index"; +export = zipWith; diff --git a/jtg js/node_modules/@types/os/index.d.ts b/jtg js/node_modules/@types/os/index.d.ts new file mode 100644 index 0000000..78b6d75 --- /dev/null +++ b/jtg js/node_modules/@types/os/index.d.ts @@ -0,0 +1,77 @@ +declare namespace TopJsSystem { + + export interface NetworkInterface { + name:string, + mac:string, + address:string, + netmask:string, + } + + /** + * èŽ·å–æ“ä½œç³»ç»Ÿä½æ•°ï¼›'x32'|'x64' + */ + export function arch():string + + /** + * 返回计算机主机å + */ + export function hostname():string + + /** + * 返回计算机网å¡ä¿¡æ¯ + */ + export function networkInterfaces():Map<string, Array<NetworkInterface>> + + /** + * èŽ·å–æ“作系统临时目录 + */ + export function tmpdir():string + + /** + * èŽ·å–æ“作系统当å‰ç”¨æˆ·HOME目录; + */ + export function homedir():string + + /** + * 返回æ“作系统类型'windows'|'linux'|'mac' + */ + export function type():string + + + /** + * èŽ·å–æ“ä½œç³»ç»Ÿå†…æ ¸ç±»åž‹ + */ + export function kernelType():string + + /** + * èŽ·å–æ“ä½œç³»ç»Ÿå†…æ ¸ç‰ˆæœ¬ + */ + export function kernelVersion():string + + /** + * èŽ·å–æ“作系统版本 + */ + export function version():string + + /** + * èŽ·å–æ“作系统åç§° + */ + export function name():string + + /** + * èŽ·å–æ“作系统åç§°2 + */ + export function prettyName():string + + /** + * èŽ·å–æ“作系统时间 + */ + export function getNow():string + + /** + * èŽ·å–æ“作系统日期 + */ + export function getToday():string +} + +export = TopJsSystem; diff --git a/jtg js/node_modules/@types/process/index.d.ts b/jtg js/node_modules/@types/process/index.d.ts new file mode 100644 index 0000000..e47ab43 --- /dev/null +++ b/jtg js/node_modules/@types/process/index.d.ts @@ -0,0 +1,172 @@ +declare namespace TopJsProcess { + + export class ProcessStream { + /** + * 设置文件编ç + * @param iEncoding + */ + setCodec(iEncoding:string):void + + /** + * 获å–设置的文件编ç + */ + codec():string + + /** + * 设置自动检测Unicode + * @param iEnabled + */ + setAutoDetectUnicode(iEnabled:boolean):void + + /** + * 是å¦è‡ªåŠ¨æ£€æµ‹Unicode + */ + isAutoDetectUnicode():boolean + + /** + * è®¾ç½®æ˜¯å¦æ¯æ¬¡åœ¨å†™å…¥æ–‡ä»¶æ—¶è‡ªåŠ¨åˆ·æ–°ç¼“å˜è‡³æ–‡ä»¶ + * @param iAutoFlush + */ + setAutoFlush(iAutoFlush:boolean):void + + /** + * æ˜¯å¦æ¯æ¬¡åœ¨å†™å…¥æ–‡ä»¶æ—¶è‡ªåŠ¨åˆ·æ–°ç¼“å˜è‡³æ–‡ä»¶ + */ + isAutoFlush():boolean + + /** + * 是å¦è¯»å–到文件结尾 + */ + atEnd():boolean + + /** + * 将文件读å–ä½ç½®é‡ç½® + */ + reset():void + + /** + * 刷新缓å˜è‡³æ–‡ä»¶ + */ + flush():void + + /** + * 读å–一行,iMaxLen为最大读å–长度;iMaxLen=0表示ä¸é™åˆ¶å¤§å°ï¼› + * @param iMaxLen + */ + readLine(iMaxLen:Number=0):string + + /** + * 读å–全部文件内容 + */ + readAll():string + + /** + * è¯»å–æŒ‡å®šå¤§å°æ–‡æœ¬å— + * @param iMaxLen + */ + read(iMaxLen:Number):string + + /** + * 写入文件 + * @param iText + */ + write(iText:string):void + } + + + /** + * å‘½ä»¤è¡Œå‚æ•° + */ + export var argv:Array<string> + + /** + * æ ‡å‡†è¾“å‡ºæµ + */ + export var stdout:ProcessStream + + /** + * æ ‡å‡†è¾“å…¥æµ + */ + export var stdin:ProcessStream + + /** + * æ ‡å‡†é”™è¯¯æµ + */ + export var stderr:ProcessStream + + /** + * 获å–topjs执行文件路径 + */ + export function topjsBinPath():string + + /** + * 获å–当å‰è¿›ç¨‹PIDå· + */ + export function pid():number + + + /** + * 获å–å¹³å°åç§° + */ + export function platform():string + + /** + * 获å–当剿‰§è¡Œçš„脚本文件路径;(ä¸åŒ…嫿–‡ä»¶å) + */ + export function evalFileDir():string + + /** + * 获å–当剿‰§è¡Œçš„脚本文件å; + */ + export function evalFileName():string + + /** + * 获å–当剿‰§è¡Œçš„脚本文件除去åŽç¼€åŽçš„åç§°; + */ + export function evalFileBaseName():string + + /** + * 创建一个事件对象 + */ + export function createEvent():any + + /** + * 获å–环境å˜é‡ + * @param iName + */ + export function getEnv(iName:string):string + + /** + * 设置环境å˜é‡ + * @param iName + * @param iValue + */ + export function setEnv(iName:string, iValue:string):boolean + + /** + * ç«‹å³å¯¹è¿›ç¨‹è¿›è¡Œåžƒåœ¾å›žæ”¶; + */ + export function gc():null + + /** + * 退出 + * @param iCode + */ + export function exit(iCode:Number):void + + /** + * 开始事件主循环 + */ + export function mainLoop():void + + + /** + * 执行外部命令 + * @param iCmd + * @param iArgs + */ + export function exec(iCmd:string,iArgs:Array<string>):string + +} + +export = TopJsProcess; diff --git a/jtg js/node_modules/@types/topcam.gencom/index.d.ts b/jtg js/node_modules/@types/topcam.gencom/index.d.ts new file mode 100644 index 0000000..fdb7026 --- /dev/null +++ b/jtg js/node_modules/@types/topcam.gencom/index.d.ts @@ -0,0 +1,1434 @@ +import { type } from "os"; + +declare class TopCamGenCom { + constructor(p?:{cam_type?:'genesis'|'incam'='genesis', error_handle?:0|1=1}); + /** + * 获å–当剿–™å· + * @returns è¿”å›žå½“å‰æ–™å·å + */ + currentJob():string; + + /** + * 获å–当å‰å·¥ä½œå±‚ + * @returns 返回当å‰å·¥ä½œå±‚å + */ + getWorkLayer():string; + + /** + * 获å–当å‰å½±å“层 + * @returns 返回当å‰å½±å“层 + */ + getAffectLayer(): string[]; + + /** + * 获å–当剿˜¾ç¤ºçš„层 + * @returns è¿”å›žå½“å‰æ˜¾ç¤ºçš„层 + */ + getDispLayers():string[]; + + /** + * èŽ·å–æ‰€æœ‰`genesis`æ–™å·åˆ—表 + * @returns 返回料å·åˆ—表 + */ + getJobList():string[]; + + /** + * 获å–当å‰`genesis`登录用户å + * @returns 返回当å‰ç™»å½•用户å + */ + getUserName():string; + + /** + * èŽ·å–æŒ‡å®šæ–™å·æ‰€åœ¨è·¯å¾„ + * @returns è¿”å›žæ–™å·æ‰€åœ¨è·¯å¾„ + * @example + * var getJobPath = $.gen.getJobPath({job:jobname}); + */ + getJobPath(object:object):string; + + /** + * èŽ·å–æŒ‡å®šæ–™å·æ‰€å±žDB,æš‚ä¸æ”¯æŒincam + * @returns è¿”å›žæ–™å·æ‰€å±žDB + * @example + * var getJobDbName = $.gen.getJobDbName({job:jobname}); + */ + getJobDbName(object:object):string; + + /** + * åˆ¤æ–æ–™å·æ˜¯ä¸æ˜¯å˜åœ¨ + * @returns 返回真 或者 å‡ + * @example + * var isJobExists = $.gen.isJobExists({job:jobname}); + */ + isJobExists(object:object):boolean; + + /** + * åˆ¤æ–æ–™å·æ˜¯ä¸æ˜¯è¢«æ‰“å¼€ + * @returns 返回真 或者 å‡ + * @example + * var isJobOpen = $.gen.isJobOpen({job:jobname}); + */ + isJobOpen(object:object):boolean; + + /** + * åˆ›å»ºä¸€ä¸ªæ–°æ–™å· + * @returns 返回exists(æ–™å·å˜åœ¨ï¼‰ or 1(创建æˆåŠŸï¼‰ + * @example + * var createJob = $.gen.createJob({name:'aa',db:'genesis'}); + */ + createJob(p:{name:string,db:string}):string; + + /** + * 打开一个å˜åœ¨çš„æ–™å· + * @returns æ— + * @example + * $.gen.openJob({job:jobname}); + */ + openJob(p:{job:string,update_clipboard?: 'view_job'|''}):void; + + /** + * å…³é—ä¸€ä¸ªæ‰“å¼€çš„æ–™å· + * @returns 真 或者 å‡ + * @example + * var closeJob = $.gen.closeJob({job:jobname}); + */ + closeJob(p:{job:string}):boolean; + + /** + * åˆ é™¤ä¸€ä¸ªå˜åœ¨çš„æ–™å·ï¼Œå¦‚æžœæ–™å·æ˜¯æ‰“开的, å°†è‡ªåŠ¨å…³é— + * @returns 真 或者 å‡ + * @example + * var deleteJob = $.gen.deleteJob({job:jobname}); + */ + deleteJob(p:{job:string}):boolean; + + /** + * åˆ é™¤ä¸€ä¸ªå˜åœ¨çš„step,如果ä¸å˜åœ¨å°†è¿”回0 + * @returns 真 或者 å‡ + * @example + * var deleteStep = $.gen.deleteStep({job:jobname,step:stepname}); + */ + deleteStep(p:{job:string,step:string}):boolean; + + /** + * 导入一个`odb++`æ–™å· + * @returns 真 或者 å‡ + * @example + * var importJob = $.gen.importJob({db:'genesis',path:'/tmp/aaa.tgz',name:jobname,analyze_surfaces:'yes'}); + */ + importJob(p:{db:string,path:string,name:string,analyze_surfaces:string}):boolean; + + /** + * 列举所有genesis䏿‰“å¼€çš„æ–™å· + * @returns æ–™å·åˆ—表和打开的用户(数组或数组引用) + * @example + * var listOpenJobs = $.gen.listOpenJobs(); + */ + listOpenJobs():T[]; + + /** + * 创建一个step + * @returns 真 或者 å‡ + * @example + * var createStep = $.gen.createStep({job:jobname,name:stepname}); + */ + createStep(p:{job:string,name:string}):boolean; + + /** + * 检查stepæ˜¯ä¸æ˜¯å˜åœ¨ + * @returns 真 或者 å‡ + * @example + * var isStepExists = $.gen.isStepExists({job:jobname,step:stepname}); + */ + isStepExists(p:{job:string,step:string}):boolean; + + /** + * å–å¾—æŒ‡å®šæ–™å·æ‰€æœ‰stepåå— + * @returns step列表 + * @example + * var getStepList = $.gen.getStepList({job:jobname}); + */ + getStepList(p:{job:string}):T[]; + + /** + * 打开一个step + * @returns 真 或者 å‡ + * @example + * var openStep = $.gen.openStep({job:jobname,name:stepname}); + */ + openStep(p:{job:string,name:string,iconic?:'no'|'yes'}):boolean; + + /** + * 设置当å‰å·¥ä½œgroup + * @returns æ— + * @example + * $.gen.setGroup({group:group}); + */ + setGroup(p:{group:number}):void; + + /** + * å–得指定料å·çš„matrixä¿¡æ¯ + * @returns matrixä¿¡æ¯ + * @example + * var getMatrix = $.gen.getMatrix({job:jobname}); + */ + getMatrix(p:{job:string,type?:'hash'|'array'='hash',layer?:string}):object; + + /** + * 在matrixä¸å¢žåŠ ä¸€ä¸ªå±‚ + * @param after将优先于before + * @returns æ— + * @example + * $.gen.matrixAddLayer({job:jobname,layer:name,type:'signal',context:'board',polarity:'positive',before:'l1'}); + */ + matrixAddLayer(p:{job:string,layer:string,type:string,context:string,polarity:string,row:number,after:string,before:string}):void; + + /** + * 在matrixä¸ç§»åŠ¨æŒ‡å®šçš„è¡Œ(或者层)到相应的ä½ç½®(ins_row,after,before) + * @param row将优先于layer + * @param ins_row将优先于after,after将优先于before + * @returns æ— + * @example + * $.gen.matrixMoveRow({job:jobname,layer:name,before:'l1'}); + */ + matrixMoveRow(p:{job:string,layer:string,row:number,ins_row:number,after:string,before:string}):void; + + /** + * 在matrixä¸å¢žåŠ ä¸€ä¸ªStep + * @param after将优先于before + * @returns æ— + * @example + * $.gen.matrixAddStep({job:jobname,step:step,before:'pcb'}); + */ + matrixAddStep(p:{job:string,layer:string,after:string,before:string}):void; + + /** + * 在matrixä¸åˆ 除一个Step + * @returns æ— + * @example + * $.gen.matrixDeleteStep({job:jobname,step:step}); + */ + matrixDeleteStep(p:{job:string,step:string}):void; + + /** + * 在matrixä¸Copy一个Step + * @param after将优先于before + * @returns æ— + * @example + * $.gen.matrixCopyStep({job:jobname,step:step,new_name:'net'}); + */ + matrixCopyStep(p:{job:string,step:string,new_name:string,after:string,before:string}):void; + + /** + * 在matrixä¸Copy一个Layer + * @param after将优先于before + * @returns æ— + * @example + * $.gen.matrixCopyLayer({job:jobname,layer:layer,new_name:'new_layer'}); + */ + matrixCopyLayer(p:{job:string,layer:string,new_name:string,after?:string,before?:string,type?:'signal'|'solder_mask',context?:'board'|'misc',polarity?:'positive'|'negative'}):void; + + /** + * 打开指定料å·çš„matrixç¼–è¾‘çª—å£ + * @returns æ— + * @example + * $.gen.openMatrix({job:jobname}); + */ + openMatrix(p:{job:string}):void; + + /** + * 刷新指定料å·çš„matrixä¿¡æ¯ + * @returns æ— + * @example + * $.gen.matrixRefresh({job:jobname}); + */ + matrixRefresh(p:{job:string}):void; + + /** + * 设定指定层的matrixä¿¡æ¯ + * @returns æ— + * @example + * $.gen.matrixLayerAttr({job:jobname,layer:layername,type:'drill'}); + */ + matrixLayerAttr(p:{job:string,layer?:string|T,type?:string,context?:string,polarity?:string}):void; + + /** + * 设定钻å”å±‚çš„å¼€å§‹ä¸Žç»“æŸ + * @returns æ— + * @example + * $.gen.matrixLayerDrill({job:jobname,layer:layername,start:startlayer,end:endlayer}); + */ + matrixLayerDrill(p:{job:string,layer:string,start:string,end:string}):void; + + /** + * æ ¹æ®matrix,计算出æ¿å的层数 + * @returns 层数 + * @example + * var getLayerCount = $.gen.getLayerCount({job:jobname}); + */ + getLayerCount(p:{job:string}):number; + + /** + * å–å¾—drill tool manage ä¸çš„æ‰€æœ‰é’»å”ä¿¡æ¯ + * @returns drillä¿¡æ¯(array or hash) + * @example + * var getTool = $.gen.getTool({job:jobname,step:step,layer:layer}); + */ + getTool(p:{job:string,step:string,layer:string,type?:'hash'|"array",hashkey?:'num'|"count",units?:'inch'|"mm"}):any; + + /** + * 设置drill tool manage ä¸å‚æ•°ï¼ˆåªæœ‰å½“genesis ver > 9.1æ‰æœ‰æ•ˆï¼‰ + * @returns æ— + * @example + * $.gen.toolSet({job:jobname,step:step,layer:layer,slots:'by_length'}); + */ + toolSet(p:{job:string,step:string,layer:string,thickness?:string,user_params?:string,slots?:'by_length'}):void; + + /** + * 输出PostScriptæ ¼å¼ + * @returns æ— + * @example + * $.gen.outputPostScript({job:'demo',step:'pcb',layer:'drawing',dir_path:'d:/test/',layer_params:{angle:90,mirror:'yes',x_scale:1,yscale:1,..},outpu_params:{break_symbols:'yes',break_arc:'no',surface_mode:'fill',...}}); + */ + outputPostScript(p:{job:string,step:string,layer:string,dir_path:string,layer_params:object,output_params:object}):void; + + /** + * 输出RS274Xæ ¼å¼ + * @returns æ— + * @example + * $.gen.outputRs274x({job:'demo',step:'pcb',layer:'drawing',dir_path:'d:/test/',layer_params:{angle:90,mirror:'yes',x_scale:1,yscale:1,..},outpu_params:{break_symbols:'yes',break_arc:'no',surface_mode:'fill',...}}); + */ + outputRs274x(p:{job:string,step:string,layer:string,dir_path:string,layer_params:object,output_params:object}):void; + + /** + * 输出DXFæ ¼å¼ + * @returns æ— + * @example + * $.gen.outputDxf({job:'demo',step:'pcb',layer:'drawing',dir_path:'d:/test/',layer_params:{angle:90,mirror:'yes',x_scale:1,yscale:1,..},outpu_params:{break_symbols:'yes',break_arc:'no',surface_mode:'fill',...}}); + */ + outputDxf(p:{job:string,step:string,layer:string,dir_path:string,layer_params:object,output_params:object}):void; + + /** + * 检查层是å¦å˜åœ¨ + * @returns å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var isLayerExists = $.gen.isLayerExists({job:jobname,layer:layer}); + */ + isLayerExists(p:{job:string,layer:string}):boolean; + + /** + * 创建一个新层 + * @returns æ— + * @example + * $.gen.createLayer({job:'demo',layer:'drawing',conext:'board',type:'document'}); + */ + createLayer(p:{job:string,layer:string,conext?:'misc'|'board',type?:'signal'|'document',before?:string,after?:string,delete_exists ?:'no'|'yes'}):void; + + /** + * 在stepä¸Šåˆ é™¤ä¸€å±‚ + * @returns æ— + * @example + * $.gen.deleteLayer({job:'Job',layer:'tmp',step:'step'}); + * $.gen.deleteLayer({job:'Job',layer:['tmp','tmp2']}); + * $.gen.deleteLayer({job:'Job',layer:['~^tmp']}); + */ + deleteLayer(p:{job:string,layer:string}):void; + + /** + * 获å–层图形范围 + * @returns ï½›xmin:?, ymin:?,xmax:?,ymax:?,xsize:?,ysize:?ï½ + * @example + * var getLayerLimits = $.gen.getLayerLimits({job:'demo',step:'pcb',layer:'drawing',units:'mm'}); + */ + getLayerLimits(p:{job:string,step:string,layer:string,units?:'inch'|'mm'}):object; + + /** + * 获å–Symbol范围 + * @returns ï½›xmin:?, ymin:?,xmax:?,ymax:?,xsize:?,ysize:?ï½ + * @example + * var getSymbolLimits = $.gen.getSymbolLimits({job:'demo',symbol:'symbol1',units:'mm'}); + */ + getSymbolLimits(p:{job:string,symbol:string,units?:'inch'|'mm'}):object; + + /** + * 获å–profile范围 + * @returns ï½›xmin:?, ymin:?,xmax:?,ymax:?,xsize:?,ysize:?ï½ + * @example + * var getProfileLimits = $.gen.getProfileLimits({job:'demo',step:'pcb',units:'mm'}); + */ + getProfileLimits(p:{job:string,step:string,units?:'inch'|'mm'}):object; + + /** + * 设置影å“层 + * @returns æ— + * @example + * $.gen.affectedLayer({affected:'no',mode:'all'}); + * $.gen.affectedLayer({affected:'yes',mode:'single',layer:['l1','l2','l3','l4'],clear_before:'yes'}); + */ + affectedLayer(p:{affected:'no'|'yes',mode:'all'|'single',layer:string,clear_before?:'yes'|'no'}):void; + + /** + * 获å–选择的Feature总数 + * @returns 返回选择上的Feature总数 + * @example + * var getSelectCount = $.gen.getSelectCount(); + */ + getSelectCount():number; + + /** + * 将选择的Featureå¤åˆ¶åˆ°å¦ä¸€å±‚ + * @returns æ— + * @example + * $.gen.selCopyOther({dest:'layer_name',target_layer:'temp',invert:'no',dx:0,dy:0,size:0}); + */ + selCopyOther(p:{dest:'affected_layers'|'layer_name',target_layer:string,invert:string,dx:number,dy:number,size:number}):void; + + + /** + * 将选择的Feature移到å¦ä¸€å±‚ + * @returns æ— + * @example + * $.gen.selMoveOther({target_layer:'temp',invert:'no',dx:0,dy:0,size:0}); + */ + selMoveOther(p:{target_layer:string,invert:string,dx:number,dy:number,size:number}):void; + + /** + * 清除层显示 + * @returns æ— + * @example + * $.gen.clearLayers(); + */ + clearLayers():void; + + /** + * 设置当å‰å·¥ä½œå±‚ + * @returns æ— + * @example + * $.gen.workLayer({name:'l1',display_number:2,clear_before:'yes'}); + */ + workLayer(p:{name:string,display_number:number,clear_before:'yes'|'no'}):void; + + /** + * æ”¾å¤§ç¼©å°æ˜¾ç¤º + * @returns æ— + * @example + * $.gen.zoomArea({x1:1,x2:1,y1:2,y2:3}); + */ + zoomArea(p:{x1:number,x2:number,y1:number,y2:number}):void; + + /** + * 设置当å‰å•ä½ + * @returns æ— + * @example + * $.gen.units({type:'mm'}); + */ + units(p:{type:'inch'|'mm'}):void; + + /** + * 通过选择过滤器进行选择Feature + * @returns æ— + * @example + * $.gen.selectByFilter({feat_types:'pad\;text',polarity:'positive',include_syms:'r100;r200',exclude_syms:'s200,s100',attribute:[{attribute:'.drill',option:'plated'}],profile:'all'}); + */ + selectByFilter(p:{feat_types:'text'|'pad\;text',polarity:'positive'|'positive\;negative',include_syms:string,exclude_syms:string,attribute: '.smd'|[{attribute:'.drill',option:'plated'}],profile:'all'|'in'|'out',area_rect?:{x1:?,y1:?,x2:?,y2:?},filter_name?:string,operation?:string,area_type?:string}):void; + + /** + * 通过选择过滤器进行高亮Feature + * @returns æ— + * @example + * $.gen.highlightByFilter({feat_types:'pad\;text',polarity:'positive',include_syms:'r100;r200',exclude_syms:'s200,s100',attribute:[{attribute:'.drill',option:'plated'}],profile:'all'}); + */ + highlightByFilter(p:{feat_types:'text'|'pad\;text',polarity:'positive'|'positive\;negative',include_syms:string,exclude_syms:string,attribute: '.smd'|[{attribute:'.drill',option:'plated'}],profile:'all'|'in'|'out',filter_name?:string}):void; + + /** + * å‚考选择 + * @returns æ— + * @example + * $.gen.selRefFeat({layers:'l2',use:'filter',mode:'touch',f_types:'line\;arc',polarity:'positive',filter:{feat_types:'pad\;text'polarity:'positive',include_syms:'r100;r200',exclude_syms:'s200,s100',attribute:[{attribute:'.drill',option:'plated'}],}}); + */ + selRefFeat(p:{layers:string,use:'filter'|'select',mode:'touch'|'disjoint'|'cover'|'include',f_types:'pad'|'line\;arc',polarity:'positive'|'positive;\negative',filter:object}):void; + + /** + * 设置选择过滤器 + * @returns æ— + * @example + * $.gen.filterSet({feat_types:'pad\;text',polarity:'positive',include_syms:'r100;r200',exclude_syms:'s200,s100',attribute:[{attribute:'.drill',option:'plated'}],profile:'all'}); + */ + filterSet(p:{feat_types:'text'|'pad\;text',polarity:'positive'|'positive\;negative',dcode:?,include_syms:string,exclude_syms:string,attribute: '.smd'|[{attribute:'.drill',option:'plated'}],profile:'all'|'in'|'out',filter_name?:string}):void; + + /** + * check in ,check out æ–™å· + * @returns 如果mode:'test',返回checkout的用户 + * @example + * var checkInout = $.gen.checkInout({job:'demo',mode:'test'}); + */ + checkInout(p:{job:string,mode:'in'|'out'|'test',type?:'job'}):string; + + /** + * ä¿å˜æ–™å· + * @returns æ— + * @example + * $.gen.saveJob({job:'demo'}); + */ + saveJob(p:{job:string,override?:'no'|'yes'}):void; + + /** + * å¤åˆ¶æ–™å· + * @returns æ— + * @example + * $.gen.copyJob({source_job:'demo',dest_job:'demo1',dest_database:'genesis'}); + */ + copyJob(p:{source_job:string,dest_job:string,dest_database:string}):void; + + /** + * å¤åˆ¶å±‚ + * @returns æ— + * @example + * $.gen.copyLayer({source_job:'org_job',source_step:'org',source_layer:'l1',dest_layer:'org_l1'}); + */ + copyLayer(p:{source_job:string,source_step:string,source_layer:string,dest_layer:string,mode?:'replace'|'append',invert?:'no'|'yes'}):void; + + /** + * èŽ·å–æ–™å·çš„checklist + * @returns 返回checklistå称列表;['check1','check2'] + * @example + * var getChecklist = $.gen.getChecklist({job:'demo1',step:'pcb'}); + */ + getChecklist(p:{job:string,step:string}):t[]; + + /** + * 从Libä¸å¤åˆ¶checklist + * @returns æ— + * @example + * $.gen.chklistFromLib({chklist:'pcb_check'}); + */ + chklistFromLib(p:{chklist:string}):void; + + /** + * 创建checklist + * @returns object + * @example + * var createChklist = $.gen.createChklist({chklist:'drill_check_tmp',items:[drill_check : {name:'drill_check',nact:1,action:'valor_analysis_drill',erf:'SRC',params:{pp_layer:?}},]}); + */ + createChklist(p:{chklist:string,items:Array[]}):object; + + /** + * 检查checklist是å¦å˜åœ¨ + * @returns å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var isChklistExists = $.gen.isChklistExists({job:'demo1',step:'pcb',chklist:'pcb_check'}); + */ + isChklistExists(p:{job:string,step:string,chklist:string}):boolean; + + /** + * 显示checklist + * @returns å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var chklistShow = $.gen.chklistShow({chklist:'pcb_check'}); + */ + chklistShow(p:{chklist:string}):boolean; + + /** + * è¿è¡Œchecklist + * @returns å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var chklistRun = $.gen.chklistRun({chklist:'pcb_check'}); + */ + chklistRun(p:{chklist:string,nact?:'a'|'1...n',area?:'profile'|'local'|'global'}):boolean; + + /** + * 获å–checklistè¿è¡Œç»“æžœ + * @returns 返回结果列表,如( ) + * @example + * var getCheckMeas = $.gen.getCheckMeas({job:'demo',step:'pcb',chklist:'pcb_check',nact:2}); + */ + getCheckMeas(p:{job:string,step:string,chklist:string,nact:number,units?:'inch'|'mm',category?:?,severity?:?,layer?:?}):object; + + /** + * è¿è¡Œå•个dfm功能 + * @returns æ— + * @example + * $.gen.runSingleDfm({chklist:'valor_dfm_nfpr',params:{pp_layer : map_layer,pp_delete : 'Duplicate',},area : 'global',show : 'no',show_res:'no'}); + */ + runSingleDfm(p:{chklist:string,show?:'no'|'yes',area?:'profile'|'global'|'local',erf?:'Mil',params?:object,show_res?:'no'|'yes'}):void; + + /** + * 计算铜é¢ç§¯ + * @returns 返回hash{area:?,percent:?} + * @example + * var copperArea = $.gen.copperArea({layer1:layer}); + */ + copperArea(p:{layer1:string,layer2?:'',drills?:'no',drills_source?:'matrix',thickness?:0,resolution_value?:1,x_boxes?:3,y_boxes?:3,area?:'no',x1?:0,x2?:0,y1?:0,y2?:0,dist_map?:'yes',f_type?:'all',out_file?:'',out_layer?:'first'}):object; + + /** + * 计算æ›å…‰é¢ç§¯ + * @returns 返回hash{area:?,percent:?} + * @example + * var exposedArea = $.gen.exposedArea({layer1:layer,mask1:mask}); + */ + exposedArea(p:{layer1:string,mask1:string,consider_route:'yes'|'no',layer2?:'',mask1?:'',drills?:'no',drills_source?:'matrix',thickness?:0,resolution_value?:1,x_boxes?:3,y_boxes?:3,area?:'no',dist_map?:'yes',f_type?:'all'}):object; + + + /** + * æŠŠé€‰æ‹©åˆ°çš„å…ƒç´ è½¬æˆsurface + * @returns æ— + * @example + * $.gen.selContourize(); + */ + selContourize(p:{accuracy?:0,break_to_islands?:'yes',clean_hole_size?:0,clean_hole_mode?:'x_and_y'}):void; + + /** + * çª—å£æ˜¾ç¤ºå›žåˆ°åŽŸå§‹ä½ç½® + * @returns æ— + * @example + * $.gen.zoomHome(); + */ + zoomHome():void; + + /** + * 设置step尺寸 + * @returns æ— + * @example + * $.gen.panelSize({width:18,height:24}); + */ + panelSize(p:{width:number,height:number}):void; + + /** + * 拼版填铜 + * @returns æ— + * @example + * $.gen.srFill({layer:layer}); + */ + srFill(p:{layer:string,dest:'layer_name'|'affected_layers',polarity?:'positive'|'negative',type?:'solid'|'pattern',origin_type?:'datum'|'limits'}):void; + + /** + * åŠ ä¸€ä¸ªpad到指定ä½ç½® + * @returns æ— + * @example + * $.gen.addPad({x:0,y:0,symbol:'r100'}); + */ + addPad(p:{x:number,y:number,symbol:string,polarity?:?,angle?:?,mirror?:?,nx?:?,ny?:?,dx?:?,dy?:?,xscale?:?,yscale?:?,attributes?:?}):void; + + /** + * åŠ ä¸€æ ¹çº¿åˆ°æŒ‡å®šä½ç½® + * @returns æ— + * @example + * $.gen.addLine({xs:0,ys:0,xe:1,ye:1,symbol:'r100'}); + */ + addLine(p:{xs:number,ys:number,xe:number,ye:number,symbo:string,polarity?:?,attributes?:?}):void; + + /** + * åŠ å¼§åˆ°æŒ‡å®šä½ç½® + * @returns æ— + * @example + * $.gen.addArc({xc:0.7,yc:0.7,xs:0,ys:0,xe:1,ye:1,symbo:'r100'}); + */ + addArc(p:{xc:number,yc:number,xs:number,ys:number,xe:number,ye:number,symbo:string,polarity?:?,attributes?:?}):void; + + /** + * å…ƒç´ åæ ‡è½¬æ¢ï¼ˆä¸è°ƒç”¨genesis命令)(mirror,shift,rotation) + * @returns 返回{x:?,y:?} + * @example + * var transCoordinate = $.gen.transCoordinate({x:0,y:0,cx:1,cy:1,mirror:'yes'}); + */ + transCoordinate(p:{x:number,y:number,cx:number,cy:number,angle:0|90|180|270,mirror?:'no'|'yes',shiftx?:0,shifty?:0}):object; + + /** + * åŠ text到指定ä½ç½® + * @returns æ— + * @example + * $.gen.addText({xc:0.7,yc:0.7,xs:0,ys:0,xe:1,ye:1,symbo:'r100'}); + */ + addText(p:{x:number,y:number,text:string,x_size:number,y_size:number,anchor:'center'|'s'|'w'|'n'|'e'|'se'|'ne'|'sw'|'nw',w_factor?:?,line_width?:'unit: mil'}):void; + + /** + * æ·»åŠ ä¸€ä¸ªé•¿æ–¹å½¢çš„å— + * @returns æ— + * @example + * $.gen.addRectangle({x1:0,y1:0,x2:1,y2:1}); + */ + addRectangle(p:{x1:number,y1:number,x2:number,y2:number,type?:'surface'|'line',symbol?:'line',polarity?:'positive'|'negative',attributes?:'no'|'yes'}):void; + + /** + * æ·»åŠ Surface + * @returns æ— + * @example + * $.gen.addPolygon({items:[{x:,y:},{xc:,yc:,xe:,ye:,cw:'yes'|'no'}],polarity:'positive',attributes:[]}); + */ + addPolygon(p:{items:[{x:number,y:number},{xc:number,yc:number,xe:number,ye:number,cw:'yes'|'no'}],type?:'surface'|'line',symbol?:'line',polarity?:'positive'|'negative',attributes?:'no'|'yes'}):void; + + /** + * 对选择的物件进行填充 + * @returns æ— + * @example + * $.gen.selFill(); + */ + selFill():void; + + /** + * åšå选动作 + * @returns æ— + * @example + * $.gen.selReverse(); + */ + selReverse():void; + + /** + * åˆ é™¤é€‰ä¸çš„ç‰©ä»¶ï¼Œå¦‚æžœä¸€ä¸ªéƒ½æ²¡æœ‰é€‰æ‹©å°†åˆ é™¤æ‰€æœ‰çš„ + * @returns æ— + * @example + * $.gen.selDelete(); + */ + selDelete():void; + + /** + * panel拼版 + * @returns æ— + * @example + * $.gen.panelSR({line:1,step:'pcb',x:1,y:1,nx:2,ny:2,dx:3.6,dy:1.8}); + */ + panelSR(p:{line:number,step:string,x:number,y:number,nx:number,ny:number,dx:number,dy:number,angle:?,mirror:?}):void; + + /** + * flatten all information to defined layerå¦‚æžœä¼ äº†jobå’Œstep傿•°ï¼Œå¦‚果没有拼版,则自动调用copy_layer功能 + * @returns æ— + * @example + * $.gen.flattenLayer({source_layer:'comp',target_layer:'test'}); + * $.gen.flattenLayer({job:'test',step:'pcb',source_layer:'comp',target_layer:'test'}); + */ + flattenLayer(p:{source_layer:'comp',target_layer:'test',job?:string,step?:string}):void; + + /** + * å–得指定symbolä¸Šçš„æ‰€æœ‰å…ƒç´ ä¿¡æ¯ + * @returns [{type:'line',xs:0,ys:0,xe:0,ye:0,symbol:'r5',polarity:'positive'}, + * {type:'pad',x:0,y:0,symbol:'r5',polarity:'positive',mirror:'yes',angle:0}] + * @example + * var getSymbolFeatures = $.gen.getSymbolFeatures({job:job,symbol:symbol}); + */ + getSymbolFeatures(p:{job:string,symbol:string,units:'inch'|'mm'}):t[]; + + /** + * å–å¾—æŒ‡å®šå±‚ä¸Šçš„å…ƒç´ ä¿¡æ¯ + * @returns [{type:'line',xs:0,ys:0,xe:0,ye:0,symbol:'r5',polarity:'positive'}, + * {type:'pad',x:0,y:0,symbol:'r5',polarity:'positive',mirror:'yes',angle:0}] + * @example + * var getFeatures = $.gen.getFeatures({job:job,step:step,layer:layer}); + */ + getFeatures(p:{job:string,step:string,layer:string,options:''|'select'|'break_sr',units:'inch'|'mm',surface:0|1}):t[]; + + /** + * æ‹·è´step到指定的job + * @returns æ— + * @example + * $.gen.copyStep({source_job:job,source_name:step,dest_job:job1,dest_name:name1}); + */ + copyStep(p:{source_job:string,source_name:string,dest_job:string,dest_name:string}):void; + + /** + * 更改选择到的symbol + * @returns æ— + * @example + * $.gen.selChangeSym({symbol:'r22.5'}); + */ + selChangeSym(p:{symbol:string,reset_angle?:'no'|'yes'}):void; + + /** + * 选择属于åŒä¸€ç½‘ç»œçš„å…ƒç´ ï¼ˆboard) + * @returns æ— + * @example + * $.gen.selBoardNetFeat({x:1,y:1}); + */ + selBoardNetFeat(p:{x:number,y:number,operation?:'select'|'unselect',tol?:'8.947inch'}):void; + + /** + * 显示层 + * @returns æ— + * @example + * $.gen.displayLayer({name:'l2',number:2}); + */ + displayLayer(p:{name:'l2',number?:1,display?:'yes'|'no'}):void; + + /** + * 获å–NcSet列表 + * @returns 返回NcSetå称列表 + * @example + * var getNcsetsList = $.gen.getNcsetsList({job:'demo',step:'panel',layer:'drill'}); + */ + getNcsetsList(p:{job:string,step:string,layer:string}):t[]; + + /** + * 获å–NcReg傿•° + * @returns 返回NcReg傿•° + * @example + * var getNcsetReg = $.gen.getNcsetReg({job:'demo',step:'panel',layer:'drill',name:'set1'}); + */ + getNcsetReg(p:{job:string,step:string,layer:string,name:string}):object; + + /** + * 将选择的对åƒåˆ›å»ºä¸ºä¸€ä¸ªstep + * @returns æ— + * @example + * $.gen.selCreateStep({step:'pcb1',delete:'yes'}); + */ + selCreateStep(p:{step:string,x_datum?:0,y_datum?:0,delete?:'no'|'yes'}):void; + + /** + * 将选择对象以Step and Repeatæ–¹å¼ç§»åЍ + * @returns æ— + * @example + * $.gen.selMoveRepeat({dest_step:'panel',delete_orig:'yes'}); + */ + selMoveRepeat(p:{dest_step:string,x_repeats?:0,y_repeats?:0,delete_orig?:'yes'|'no'}):void; + + /** + * 创建一个新symbol + * @returns æ— + * @example + * $.gen.createSymbol({job:'demo',name:'symbol1'}); + */ + createSymbol(p:{job:string,name:string}):void; + + /** + * 检查symbol是å¦å˜åœ¨ + * @returns å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var isSymbolExists = $.gen.isSymbolExists({job:'demo',symbol:'symbol1'}); + */ + isSymbolExists(p:{job:string,symbol:string}):boolean; + + /** + * 打开symbolç¼–è¾‘çª—å£ + * @returns æ— + * @example + * $.gen.openSymbol({job:'demo',name:'symbol1'}); + */ + openSymbol(p:{job:string,name:string,iconic?:'no'|'yes'}):void; + + /** + * å…³é—symbolç¼–è¾‘çª—å£ + * @returns æ— + * @example + * $.gen.closeSymbol({); + */ + closeSymbol():void; + + /** + * 获å–checklist属性 + * @returns 返回属性值;如果attr为一个å—符串,则返回一个å•值;如果attr为数组,则返回以属性å为keyçš„hash + * @example + * var getCheckAttr = $.gen.getCheckAttr({job:'demo',step:'pcb',checklist:'chklist1',attr:'min_via',nact:1,units:'mm'}); + * //--> getCheckAttr = 0.12 + * var getCheckAttr = $.gen.getCheckAttr({job:'demo',step:'pcb',checklist:'chklist1',attr:['min_via','min_spacing'],nact:1,units:'mm'}); + * //--> getCheckAttr = {min_via:0.12,min_spacing:0.3} + */ + getCheckAttr(p:{job:string,step:string,checklist:string,attr:string|Array[],nact:number,units?:'inch'|'mm'}):number|object; + + /** + * 获å–profileçš„æè¿°å—符 + * @returns 返回profileæè¿°å—符 + * @example + * var getProfile = $.gen.getProfile({job:'demo',step:'pcb',units:'mm'}); + */ + getProfile(p:{job:string,step:string,units?:'inch'|'mm'}):string; + + /** + * 清除高亮显示 + * @returns æ— + * @example + * $.gen.clearHighlight(); + */ + clearHighlight():void; + + /** + * 选择打散 + * @returns æ— + * @example + * $.gen.selBreak(); + */ + selBreak():void; + + /** + * 获å–当å‰ä½¿ç”¨çš„å•ä½ + * @returns 返回'inch'或'mm' + * @example + * var getUnits = $.gen.getUnits(); + */ + getUnits():string; + + /** + * 获å–层symbol列表 + * @returns 返回层symbol列表 + * @example + * var getLayerSymsHist = $.gen.getLayerSymsHist({job:'demo',step:'panel',layer:'l2',options:'break_sr',units:'mm'}); + */ + getLayerSymsHist(p:{job:string,step:string,layer:string,options?:'undef'|'break_sr',units?:'inch'|'mm'}):object; + + /** + * 获å–Symbol symbol列表 + * @returns 返回层Symbol symbol列表 + * @example + * var getSymbolSymsHist = $.gen.getSymbolSymsHist({job:'demo',symbol:'struct1',units:'mm'}); + */ + getSymbolSymsHist(p:{job:string,symbol:string,units?:'inch'|'mm'}):object; + + /** + * 打开netlistçª—å£ + * @returns æ— + * @example + * $.gen.netlistPageOpen(); + */ + netlistPageOpen(p:{set?:'no'|'yes'}):void; + + + /** + * 釿–°è®¡ç®—netlistæ•°æ® + * @returns æ— + * @example + * $.gen.netlistRecalc({job:'demo',step:'pcb',type:'cur_cad',display:'top'}); + */ + netlistRecalc(p:{job:string,step:string,type:'cad'|'ref'|'cur'|'cur_cad',display:'top'|'bottom'}):void; + + /** + * 比较netlist + * @returns 返回{full_report:'',shorted:1,broken:9,extra:3, missing:0,[possible_shorted:0],[possible_broken:0]} + * @example + * var netlistCompare = $.gen.netlistCompare({job1:'demo',step1:'net',type1:'ref',job2:'demo',step2:'pcb',type2:'cur'}); + */ + netlistCompare(p:{job1:string,step1:string,type1:'cad'|'ref'|'cur'|'cur_cad',job2:string,step2:string,type2:'cad'|'ref'|'cur'|'cur_cad',display?:'yes'|'no'}):object; + + /** + * å…³é—netlistçª—å£ + * @returns æ— + * @example + * $.gen.netlistPageClose(); + */ + netlistPageClose():void; + + /** + * æ¸…é™¤é€‰æ‹©çš„æ•°æ® + * @returns æ— + * @example + * $.gen.selClearFeature(); + */ + selClearFeature():void; + + /** + * 获å–Step and Repeat范围 + * @returns 返回{xmin:,ymin:,xmax:,ymax:,xsize:,ysize:} + * @example + * var getSRLimits = $.gen.getSRLimits({job:'demo',step:'panel'}); + * var getSRLimits = $.gen.getSRLimits({job:'demo',step:'panel',include_step:'^(pcb|array)'}); + */ + getSRLimits(p:{job:string,step:string,include_step?:string,units?:'inch'|'mm'}):object; + + /** + * 获å–Active范围 + * @returns 返回{xmin:,ymin:,xmax:,ymax:,xsize:,ysize:} + * @example + * var getActiveArea = $.gen.getActiveArea({job:'demo',step:'panel'}); + */ + getActiveArea(p:{job:string,step:string,units?:'inch'|'mm'}):object; + + /** + * 设定checklist傿•° + * @returns æ— + * @example + * $.gen.chklistCupd({chklist:'chk1',nact:2,params:{pp_layer:'l1;l2'}}); + */ + chklistCupd(p:{chklist:string,nact?:number,params:object,mode?:'regular'}):void; + + /** + * 获å–checklist ERF 范围 + * @returns 返回{ + p2p : [1,5,7], + p2l : [2,5,6], + } + * @example + * var getChklistRange = $.gen.getChklistRange({job:'demo',step:'pcb',chklist:'pcb_check',nact:2}); + */ + getChklistRange(p:{job:string,step:string,chklist:string,nact:number,units?:'inch'|'mm'}):object; + + /** + * 设置checklist ERF 范围 + * @returns æ— + * @example + * $.gen.chklistErfRange({job:'demo',step:'pcb',chklist:'pcb_check',nact:2,range:{p2p:[1,2,5],p2l:[4,5,6]},default_range:[0,0,0]}); + */ + chklistErfRange(p:{job:string,step:string,chklist:string,nact:number,range:object,default_range:[]}):void; + + /** + * 设置checklist ERF + * @returns æ— + * @example + * $.gen.chklistErf({chklist:'pcb_check',nact:2,erf:'STD mm'}); + */ + chklistErf(p:{chklist:string,nact:number,erf:string}):void; + + /** + * é‡è¯»checklist ERF + * @returns æ— + * @example + * $.gen.chklistRereadErf({chklist:'pcb_check',nact:2}); + */ + chklistRereadErf(p:{chklist:string,nact:number}):void; + + /** + * 选择checklistæ¡ç›® + * @returns æ— + * @example + * $.gen.chklistSelectAct({job:Job,step:Step,chklist:'pcb_check',nact:2,select:'yes',clear_before:'yes'}); + */ + chklistSelectAct(p:{job:string,step:string,chklist:string,nact:number,select:'yes'|'no',clear_before:'yes'|'no',nact_count:number}):void; + + /** + * 选择所有checklistæ¡ç›® + * @returns æ— + * @example + * $.gen.chklistSelectAll({job:Job,step:Step,chklist:'pcb_check',select:'yes'}); + */ + chklistSelectAll(p:{job:string,step:string,chklist:string,select:'yes'|'no',nact_count:number}):void; + + /** + * 获å–checklistæ¡ç›®æ€»æ•° + * @returns checklistæ¡ç›®æ€»æ•° + * @example + * var getChklistActCount = $.gen.getChklistActCount({job:Job,step:Step,chklist:'pcb_check'}); + */ + getChklistActCount(p:{job:string,step:string,chklist:string}):number; + + /** + * chklist生æˆå±‚ + * @returns æ— + * @example + * $.gen.chklistCreateLyrs({chklist:'pcb_check',severity:0,suffix:'_tmp'}); + */ + chklistCreateLyrs(p:{chklist:string,severity:0|1|2|3,suffix:string}):void; + + /** + * 获å–step范围 + * @returns 返回{xmin:,ymin:,xmax:,ymax:,xsize:,ysize:} + * @example + * var getStepLimits = $.gen.getStepLimits({job:'demo',step:'panel'}); + */ + getStepLimits(p:{job:string,step:string,units?:'inch'|'mm'}):object; + + /** + * ç§»åŠ¨é€‰æ‹©æ•°æ® + * @returns æ— + * @example + * $.gen.selMove({dx:2,dy:2}); + */ + selMove(p:{dx:number,dy:number}):void; + + /** + * æ›¿æ¢ + * @returns æ— + * @example + * $.gen.selSubstitute({mode:'substitute',symbol:'r100',tol:2.5}); + */ + selSubstitute(p:{mode?:'select'|'substitute',symbol:string,tol:number,x_datum:number,y_datum:number,dcode:number}):void; + + /** + * å˜å½¢ + * @returns æ— + * @example + * $.gen.selTransform({}); + */ + selTransform(p:{mode?:'anchor'|'axis',oper:string,x_anchor:0,y_anchor:0,duplicate?:'no'|'yes',angle?:0,x_scale?:1,y_scale?:1,x_offset?:0,y_offset?:0}):void; + + /** + * èŽ·å–æŽ’ç‰ˆæ•°æ® + * @returns 返回[{step:,xa:,ya:,dx:,dy:,nx:,ny:,angle:,mirror:,xmin:,ymin:,xmax:,ymax:,xsize:,ysize:}] + * @example + * var getSR1 = $.gen.getSR1({job:'demo',step:'panel'}); + */ + getSR1(p:{job:string,step:string,units?:'inch'|'mm'}):t[]; + + /** + * èŽ·å–æ‰“æ•£åŽçš„æŽ’ç‰ˆæ•°æ® + * @returns 返回[{step:,xa:,ya:,angle:,mirror:,xmin:,ymin:,xmax:,ymax:,xsize:,ysize:}] + * @example + * var getRepeat = $.gen.getRepeat({job:'demo',step:'panel'}); + */ + getRepeat(p:{job:string,step:string,units?:'inch'|'mm'}):t[]; + + /** + * èŽ·å–æŸä¸ªstep内所有用到的stepå称列表 + * @returns 返回['step1','step2',...] + * @example + * var getSubSteps = $.gen.getSubSteps({job:'demo',step:'panel'}); + */ + getSubSteps(p:{job:string,step:string}):t[]; + + /** + * 获å–Datum点 + * @returns 返回{x:?,y:?} + * @example + * var getDatum = $.gen.getDatum({job:'demo',step:'panel'}); + */ + getDatum(p:{job:string,step:string,units?:'inch'|'mm'}):object; + + /** + * 获å–Step属性 + * @returns 返回属性值;如果attr为一个å—符串,则返回一个å•值;如果attr为数组,则返回以属性å为keyçš„hash,如果attr没有定义,则返回所有属性 + * @example + * var getStepAttr = $.gen.getStepAttr({job:'demo',step:'pcb',attr:'attr1'}); + * //--> getStepAttr = 0.12 + * var getStepAttr = $.gen.getStepAttr({job:'demo',step:'pcb',attr:['attr1','attr2']}); + * //--> getStepAttr = {attr1:0.12,attr2:0.3} + */ + getStepAttr(p:{job:string,step:string,attr:'name'|['name1','name2']|'undef '}):number|object; + + /** + * èŽ·å–æ–™å·å±žæ€§ + * @returns 返回属性值;如果attr为一个å—符串,则返回一个å•值;如果attr为数组,则返回以属性å为keyçš„hash,如果attr没有定义,则返回所有属性 + * @example + * var getJobAttr = $.gen.getJobAttr({job:'demo',attr:'attr1'}); + * //--> getJobAttr = 0.12 + * var getJobAttr = $.gen.getJobAttr({job:'demo',attr:['attr1','attr2']}); + * //--> getJobAttr = {attr1:0.12,attr2:0.3} + */ + getJobAttr(p:{job:string,attr:'name'|['name1','name2']|'undef '}):number|object; + + /** + * 设置料å·å±žæ€§ + * @returns æ— + * @example + * $.gen.setJobAttr({job:'demo',attr:{name:2}}); + */ + setJobAttr(p:{job:string,attr:{},units?:'inch'|'mm'}):void; + + /** + * 获å–ç»˜åº•å…‰ç»˜å‚æ•° + * @returns 返回{polarity:?, + stretch_x:?, + stretch_y:?, + shift_x:?, + shift_y:?, + mirror_x:?, + mirror_y:?, + resolution:?, + swap:?} + * @example + * var getLPD = $.gen.getLPD({job:'demo',step:'panel',layer:'l2'}); + */ + getLPD(p:{job:string,step:string,layer:string}):object; + + /** + * 获å–ç»˜åº•ç‰‡å…‰ç»˜æ‰€æœ‰å‚æ•° + * @returns 返回{ lp7008 :{polarity:?, + stretch_x:?, + stretch_y:?, + shift_x:?, + shift_y:?, + mirror_x:?, + mirror_y:?, + resolution:?, + swap:?}, + } + * @example + * var getLPM = $.gen.getLPM({job:'demo',step:'panel',layer:'l2'}); + */ + getLPM(p:{job:string,step:string,layer:string,device?:string}):object; + + /** + * 设置当å‰å±žæ€§ + * @returns æ— + * @example + * $.gen.setCurrentAttribute({attribute:'.smd'}); + * $.gen.setCurrentAttribute({attribute:['.smd','.bga']); + * $.gen.setCurrentAttribute({attribute:'.drill',option:'plated'}); + * $.gen.setCurrentAttribute({attribute:['.smd',{attribute:'.drill',option:'plated'}); + */ + setCurrentAttribute(p:{attribute:[]|{}|''}):void; + + /** + * é‡ç½®å½“å‰å±žæ€§ + * @returns æ— + * @example + * $.gen.attributeReset(); + */ + attributeReset():void; + + /** + * ä¸ºé€‰æ‹©çš„æ•°æ®æ·»åŠ å±žæ€§ + * @returns æ— + * @example + * $.gen.selAddAttr({attribute:'.smd'}); + * $.gen.selAddAttr({attribute:['.smd','.bga']); + * $.gen.selAddAttr({attribute:'.drill',option:'plated'}); + * $.gen.selAddAttr({attribute:['.smd',{attribute:'.drill',option:'plated'}); + */ + selAddAttr(p:{attribute:[]|{}|''}):void; + + /** + * 设置Datum点 + * @returns æ— + * @example + * $.gen.setDatum({x:0,y:0}); + */ + setDatum(p:{x:number,y:number}):void; + + /** + * 以layer netæ–¹å¼é€‰æ‹© + * @returns æ— + * @example + * $.gen.selNetFeat({x:1,y:1}); + */ + selNetFeat(p:{x:number,y:number,operation?:'select'|'unselect',tol:'float'}):void; + + /** + * 获å–åŽŸç‚¹åº§æ ‡ + * @returns 返回 {x:?,y:?} + * @example + * var getOrigin = $.gen.getOrigin(); + */ + getOrigin():object; + + /** + * 设置原点 + * @returns æ— + * @example + * $.gen.origin({x:0,y:0}); + */ + origin(p:{x:number,y:number,push_in_stack?:0|1}):void; + + /** + * 显示check显示结果 + * @returns æ— + * @example + * $.gen.chklistResShow({chklist:'chk1',nact:2}); + */ + chklistResShow(p:{chklist:string,nact?:number,x:0,y:0,w:0,h:0}):void; + + /** + * å…³é—check list + * @returns æ— + * @example + * $.gen.chklistClose({chklist:'chk1'}); + */ + chklistClose(p:{chklist:string,mode?:'hide'}):void; + + /** + * 获å–genesis database 列表 + * @returns 返回 {'db1':'/gen_db/db2','db2':'/gen_db/db1',..} + * @example + * var getDbList = $.gen.getDbList(); + */ + getDbList():object; + + /** + * 获å–层属性 + * @returns 返回属性值;如果attr为一个å—符串,则返回一个å•值;如果attr为数组,则返回以属性å为keyçš„hash,如果attr没有定义,则返回所有属性 + * @example + * var getLayerAttr = $.gen.getLayerAttr({job:'demo',step:'pcb',layer:'l2',attr:'attr1'}); + * //--> getLayerAttr = 0.12 + * var getLayerAttr = $.gen.getLayerAttr({job:'demo',step:'pcb',layer:'l2',attr:['attr1','attr2']}); + * //--> getLayerAttr = {attr1:0.12,attr2:0.3} + */ + getLayerAttr(p:{job:string,step:string,layer:string,attr:'name'|['name1','name2']|'undef '}):number|object; + + /** + * æ–™å·æ˜¯å¦ä¿®æ”¹ + * @returns 更改返回1,没有更改返回0 + * @example + * var isJobChanged = $.gen.isJobChanged({job:'demo'}); + */ + isJobChanged(p:{job:string}):boolean; + + /** + * Step是å¦ä¿®æ”¹ + * @returns 更改返回1,没有更改返回0 + * @example + * var isStepChanged = $.gen.isStepChanged({job:'demo',step:'pcb'}); + */ + isStepChanged(p:{job:string,step:string}):boolean; + + /** + * 层是å¦ä¿®æ”¹ + * @returns 更改返回1,没有更改返回0 + * @example + * var isLayerChanged = $.gen.isLayerChanged({job:'demo',step:'pcb',layer:'map'}); + */ + isLayerChanged(p:{job:string,step:string,layer:string}):boolean; + + /** + * 矩形选择 + * @returns æ— + * @example + * $.gen.selectRectangle({x1:1,y1:1,x2:2,y2:3}); + */ + selectRectangle(p:{x1:number,y1:number,x2:number,y2:number}):void; + + /** + * 更改层å + * @returns æ— + * @example + * $.gen.renameLayer({job:'demo',layer:'top.art',new_name:'l1'}); + */ + renameLayer(p:{job:string,layer:string,new_name:string}):void; + + /** + * 更改stepå + * @returns æ— + * @example + * $.gen.renameStep({job:'demo',name:'pcb_1',new_name:'pcb_a'}); + */ + renameStep(p:{job:string,name:string,new_name:string}):void; + + /** + * 设置层属性 + * @returns æ— + * @example + * $.gen.setLayerAttr({job:'demo',step:'pcb',layer:'l2',attr:{name:2}}); + */ + setLayerAttr(p:{job:string,step:string,layer:string,attr:{name:number},units?:'inch'|'mm'}):void; + + /** + * 设置step属性 + * @returns æ— + * @example + * $.gen.setStepAttr({job:'demo',step:'pcb',attr:{name:2}}); + */ + setStepAttr(p:{job:string,step:string,attr:{name:number},units?:'inch'|'mm'}):void; + + /** + * 设置钻å”Toolçš„User傿•°åç§° + * @returns 返回Tool Useråç§° + * @example + * var getToolUser = $.gen.getToolUser({job:'demo',step:'pcb',layer:'drill'}); + */ + getToolUser(p:{job:string,step:string,layer:string}):string; + + /** + * 设置钻å”Toolçš„Thick傿•°åç§° + * @returns 返回Tool Thick + * @example + * var getToolThick = $.gen.getToolThick({job:'demo',step:'pcb',layer:'drill'}); + */ + getToolThick(p:{job:string,step:string,layer:string}):string; + + /** + * 设置钻å”Toolçš„slot傿•°åç§° + * @returns 返回Tool slots + * @example + * var getToolSlots = $.gen.getToolSlots({job:'demo',step:'pcb',layer:'drill'}); + */ + getToolSlots(p:{job:string,step:string,layer:string}):string; + + /** + * èŽ·å–æ˜¯å¦å˜åœ¨cad netlist + * @returns 代表å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var cadNetlistExists = $.gen.cadNetlistExists({job:'demo',step:'pcb'}); + */ + cadNetlistExists(p:{job:string,step:string}):boolean; + + /** + * èŽ·å–æ˜¯å¦å˜åœ¨ netlist是å¦å˜åœ¨ + * @returns 代表å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var netlistExists = $.gen.netlistExists({job:'demo',step:'net',type:'cadnet'}); + */ + netlistExists(p:{job:string,step:string,type:'cadnet'|'refnet'|'curnet'}):boolean; + + /** + * 层是å¦ä¸ºç©º + * @returns 代表å˜åœ¨è¿”回1,ä¸å˜åœ¨è¿”回0 + * @example + * var isLayerEmpty = $.gen.isLayerEmpty({job:'demo',step:'pcb',layer:'map'}); + */ + isLayerEmpty(p:{job:string,step:string,layer:string}):boolean; + + /** + * 返回genesis版本 + * @returns type为`number`æ—¶è¿”åŠ 82|90,... + //type为`string`时返回 V8.2c (14Mar04) + * @example + * var getGenVersion = $.gen.getGenVersion(); + */ + getGenVersion(p:{type?:'number'|'string'}):number|string; + + /** + * 获å–层FeatHist + * @returns 返回{ + line:1, + pad:10, + surf:22, + arc:4, + text:1, + total:38, + } + * @example + * var getLayerFeatHist = $.gen.getLayerFeatHist({job:Job,step:Step,layer:'l2'}); + */ + getLayerFeatHist(p:{job:string,step:string,layer:string,options?:'undef'|'break_sr'|'select'}):object; + + /** + * å–å¾—æŒ‡å®šæ–™å·æ‰€æœ‰Symbolåå— + * @returns 返回step列表 + * @example + * var getSymbolList = $.gen.getSymbolList({job:jobname}); + */ + getSymbolList(p:{job:string}):t[]; + + /** + * Copy Symbol + * @returns æ— + * @example + * $.gen.copySymbol({source_job:job1,source_name:'symbol1',dest_job:job1,source_name:'symbol2'}); + */ + copySymbol(p:{source_job:string,source_name:string,dest_job:string,source_name:string}):void; + + /** + * Clip Area + * @returns æ— + * @example + * $.gen.clipArea({area_rect:{x1:,y1:,x2:,y2:},inout:'in',contour_cut:'no'}); + */ + clipArea(p:{layers_mode:'layer_name'|'affected_layers',layer:string,margin:?,inout:'in'|'out',contour_cut:'no'|'yes',area_rect:{x1:number,y1:number,x2:number,y2:number},area_polygon:'mannual',ref_layer:'reference',area:'profile'|'reference'|'mannual'}):void; + + /** + * Compare Layers + * @returns 返回 0|1, 0:表示相åŒ,1:表示ä¸åŒ + * @example + * var compareLayers = $.gen.compareLayers(); + */ + compareLayers(p:{layer1?:string,job2?:string,step2?:string,layer2?:string,layer2_ext?:string,tol?:string,area?:'global'|'profile',ignore_attr?:string,map_layer?:string,map_layer_res?:string}):boolean; + + /** + * æš‚åœæç¤º + * @returns ç»§ç»åˆ™è¿”回:'OK',退出则返回:'underfined' + * @example + * $.gen.PAUSE('æš‚åœæç¤ºçš„å†…å®¹'); + */ + PAUSE(p:string):string; + + /** + * 选择当å‰å±‚所有Feature + * @returns æ— + * @example + * $.gen.selAllFeat(); + */ + selAllFeat():void; + + /** + * ä¾ç…§æ‰€é€‰feature创建profile + * @returns æ— + * @example + * $.gen.selCreateProfile(); + */ + selCreateProfile():void; + + /** + * 将选择的FeatureåŠ å¤§ + * @returns æ— + * @example + * $.gen.selResize({size: 3}); + */ + selResize(p:{size:number,corner_ctl:'no'}):void; + +} + +export = TopCamGenCom; + diff --git a/jtg js/node_modules/@types/topcam.ikm6/index.d.ts b/jtg js/node_modules/@types/topcam.ikm6/index.d.ts new file mode 100644 index 0000000..ef79a34 --- /dev/null +++ b/jtg js/node_modules/@types/topcam.ikm6/index.d.ts @@ -0,0 +1,141 @@ +import { type } from "os"; + +declare class TopCamIkm6 { + constructor(p?:{cam_type?:'genesis'|'incam'='genesis', error_handle?:0|1=1}); + /** + * èŽ·å–æ–™å·id + * @returns 返回料å·å对应的id + * @example + * var jobid = ikm.get_job_id("demo"); + */ + get_job_id(job_name:string):number; + + + /** + * 获å–åˆ—è¡¨æ•°æ® + * @example + * ikm.select_fieldarray({ + table:'pdm_job',field:'jobname',order:'id DESC' + }) + */ + select_fieldarray(p:{table:string, field: any, order: any}):any; + + /** + * èŽ·å–æ•°æ®,返回查找到的第一个 + * @example + * ikm.select_value({ + table: 'pdm_job', field: 'jobname', 'where': { id: 1 } + }) + */ + select_value(p:{table:string, field: any, where: any}):any; + + /** + * èŽ·å–æ—¶é—´æ—¥æœŸ + * @example + * console.log('èŽ·å–æ—¶é—´æ—¥æœŸï¼š' + ikm.get_now()); + */ + get_now():string; + + /** + * èŽ·å–æ—¶é—´æ—¥æœŸ + * @example + * console.log('èŽ·å–æ—¶é—´æ—¥æœŸï¼š' + ikm.get_today()); + */ + get_today():string; + + /** + * 获å–é…ç½® + * @example + * ikm.get_config("measure-report-config","excel_template") + */ + get_config( path:string, name:string ):any; + + /** + * ä¿å˜é…ç½® + * @example + * ikm.save_config({path:"test",name:"test",value:'test'}) + */ + save_config(p:{path: string , name:string, value: string }):void; + + /** + * æ’å…¥æ•°æ® + * @example + * ikm.insert({ + table:"pdm_job", data:{jobname:"test"} + }) + */ + insert(p:{table: string , data:object }):void; + + /** + * åˆ é™¤æ•°æ® + * @example + * ikm.dele({ + table:"pdm_job", where: { jobname:"test2" } + }) + */ + dele(p:{table: string , where:Object }):void; + + /** + * æ›´æ–°æ•°æ® + * @example + * ikm.update({ + table:"pdm_job", data:{jobname:"test2"}, where: { jobname:"test" } + }) + */ + update(p:{table: string , data:Object, where:Object }):void; + + /** + * æ‰¹é‡æ’å…¥æ•°æ® + * @example + * ikm.batch_insert({ + table:"pdm_job", + field: ["jobname"], + data: [{jobname:"test7""}, {jobname:"test8""}] + }) + */ + batch_insert(p:{table: string , field:array, data:array }):void; + + /** + * æ›´æ–°æ–™å·å·¥ä½œæµç¨‹æ—¥å¿— + * @returns + * @example + * ikm.update_flow_report({job_id:1 , process_id: 1, report: '<html><head></head><body>test</body></html>'}); + */ + update_flow_report(p:{job_id: number, process_id:number, report:string }):void; + + /** + * get_info_style + * @returns + * @example + * var res = ikm.get_info_style({infoname:'pcb_type'}); + */ + get_info_style(p:{infoname: string }):[Object]; + + /** + * èŽ·å–æµç¨‹çŠ¶æ€ + * @returns 返回æµç¨‹çš„çŠ¶æ€ + * @example + * var res = ikm.get_process_status({jobid:1, process_id:16}); + */ + get_process_status(p:{jobid: number, process_id:number}):Object; + + /** + * round_number + * @returns number + * @example + * var res = ikm.round_number(13.16221, 2); + */ + round_number(number:number, precision:number):number; + + /** +     * 获å–IKMçš„DBè¿žæŽ¥å‚æ•° +     * +     * @param +     * @returns 返回IKMçš„DBè¿žæŽ¥å‚æ•° +     */ +    getIkmConnectParameter():JSON +} + +export = TopCamIkm6; + + diff --git a/jtg js/node_modules/@types/topcam.scriptfunc/index.d.ts b/jtg js/node_modules/@types/topcam.scriptfunc/index.d.ts new file mode 100644 index 0000000..2d27651 --- /dev/null +++ b/jtg js/node_modules/@types/topcam.scriptfunc/index.d.ts @@ -0,0 +1,77 @@ + +import * as TopCamGenCom from "topcam.gencom"; +import * as TopSinDatabase from "topsin.database"; +import * as TopCamIkm6 from "topcam.ikm6"; +import * as Gui from "topsin.gengui"; +declare namespace TopCamScriptFunc { + export interface ScriptArgv { + /** + * genesis接å£å¯¹è±¡ + */ + gen:TopCamGenCom + + /** + * ikm6 接å£å¯¹è±¡ + */ + ikm:TopCamIkm6 + + /** + * gui 接å£å¯¹è±¡ + */ + gui:Gui + + /** + * é…置文件 + */ + conf:Object + + /** + * æ–™å·å + */ + job:string + + /** + * æ–™å·ID + */ + id:number + + /** + * 用户ID + */ + user_id:number + + /** + * 用户å + */ + user_name:string + + /** + * 脚本å + */ + script_name: string + + /** + * 用户完整å + */ + user_full_name:string + + /** + * gen类型 + */ + gen_type:string + + /** + * æ¡†æž¶ä¼ å…¥çš„å‚æ•° + */ + par:object + } + + /** + * 获å–è„šæœ¬å‡½æ•°å‚æ•° + */ + export function argv():ScriptArgv; +} + +export = TopCamScriptFunc; + + diff --git a/jtg js/node_modules/@types/topsin.crypto/index.d.ts b/jtg js/node_modules/@types/topsin.crypto/index.d.ts new file mode 100644 index 0000000..dea414e --- /dev/null +++ b/jtg js/node_modules/@types/topsin.crypto/index.d.ts @@ -0,0 +1,105 @@ +declare class TopSinCrypto { + /** + * èŽ·å–æ•°æ®çš„MD5ç + * @param iData + */ + md5(iData:string):string + + /** + * èŽ·å–æ–‡ä»¶çš„MD5ç + * @param iFilePath + */ + fileMd5(iFilePath:string):string + + /** + * èŽ·å–æ•°æ®çš„SHA256ç + * @param iData + */ + sha256(iData:string):string + + /** + * èŽ·å–æ–‡ä»¶çš„SHA256ç + * @param iFilePath + */ + fileSha256(iFilePath:string):string + + /** + * èŽ·å–æ•°æ®çš„SHA256_3ç + * @param iData + */ + sha3_256(iData:string):string + + /** + * èŽ·å–æ–‡ä»¶çš„SHA256_3ç + * @param iFilePath + */ + fileSha3_256(iFilePath:string):string + + /** + * 转为base64 + * @param iData + */ + encodeBase64(iData:any):any + + /** + * åè§£base64 + * @param iData + */ + decodeBase64(iData:any):any + + /**获å–uuid + */ + uuid():string + + /** + * åŠ å¯†1版 + * + * @param key åŠ å¯†ç”¨çš„key + * @param data è¦åŠ å¯†çš„æ•°æ® + * @returns è¿”å›žåŠ å¯†åŽçš„æ•°æ® + */ + e(key:String, data:String):String + + /** + * 解密1版 + * + * @param key 解密用的key + * @param data è¦è§£å¯†çš„æ•°æ® + * @returns 返回解密åŽçš„æ•°æ® + */ + d(key:String, data:String):String + + /** + * åŠ å¯†2版 + * + * @param data è¦åŠ å¯†çš„æ•°æ® + * @returns è¿”å›žåŠ å¯†åŽçš„æ•°æ® + */ + e2(data:String):String + + /** + * 解密2版 + * + * @param data è¦è§£å¯†çš„æ•°æ® + * @returns 返回解密åŽçš„æ•°æ® + */ + d2(data:String):String + + /** + * åŠ å¯†3版 + * + * @param data è¦åŠ å¯†çš„æ•°æ® + * @reutrns 返回解密åŽçš„æ•°æ® + */ + e3(data:String):String + + /** + * 解密3版 + * + * @param data è¦è§£å¯†çš„æ•°æ® + * @returns 返回解密åŽçš„æ•°æ® + */ + d3(data:String):String +} + +export = TopSinCrypto; diff --git a/jtg js/node_modules/@types/topsin.database/index.d.ts b/jtg js/node_modules/@types/topsin.database/index.d.ts new file mode 100644 index 0000000..c8d87f5 --- /dev/null +++ b/jtg js/node_modules/@types/topsin.database/index.d.ts @@ -0,0 +1,619 @@ +import * as TopSinError from "topsin.error"; +declare namespace TopSinDatabase { + export var DbType: { pg: 'pg', mysql:'mysql', mssql:'mssql',oracle:'oracle',sqlite:'sqlite'}; + export type DbType = "pg" | "mysql" | "mssql" | "oracle" | "sqlite"; + export type DbEncrypt = "" | "EB642"; + export type FieldFormat = '' | 'string' | 'json' | 'array' | 'yyyy-MM' |'yyyy-MM-dd' | 'yyyy-MM-dd hh:mm' | 'yyyy-MM-dd hh:mm:ss'; + export type UpdatePolicy = '' | 'json_merge' | 'array_append'; + export interface SqlConnectionParam { + database_host:string, + database_name:string, + database_type:DbType, + database_user:string, + database_pwd:string, + database_encrypt?:DbEncrypt, + database_options?:string, + auto_close_timeout?:number, + } + + export interface SqlSelectorMap { + table:string, + field?:string | Array<string>, + where?:string | Array<any> | Map<string,any>, + group?:string | Array<string>, + order?:string | Array<string>, + offset?:number, + limit?:number, + unique_field?:string, + value_field?:string, + field_format?:Map<string,FieldFormat>, + } + + export interface SqlInserterMap { + table:string, + field?:string | Array<string>, + data:Map<string,any>, + unique_field?:string | Array<string>, + return_field?:string, + update_policy?:Map<string, UpdatePolicy> + } + + export interface SqlUpdaterMap { + table:string, + data:Map<string, any>, + field?:string | Array<string>, + where?:string | Array<string> | Map<string,any>, + update_policy?:Map<string, UpdatePolicy> + } + + export interface SqlDeleterMap { + table:string, + where?:string | Array<any> | Map<string,any>, + } + + + export interface SelectArrayDataResult { + field:Array<string>, + data: Array<Array<any>> + } + + export class SqlQuery { + /** + * 查询一行数æ®,返回为一个Array<any>数组; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Array<any>结构 + * @example + * query.selectArray({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * where:{username:'admin'} + * }); + */ + selectArray(iSelectorMap:SqlSelectorMap):Array<any>; + + /** + * 查询一行数æ®,返回为一个Array<any>数组; + * + * @param iSql Sqlè¯å¥ + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Array<any>结构 + * @example + * query.selectArray( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where username=:username", + * {tags:'array', attr_data:'json'}, + * {username:'admin'} + * ); + */ + selectArray(iSql:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Array<any>; + + + /** + * 查询一行数æ®,返回为一个Map<string,any>数组; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Map<string,any>结构 + * @example + * query.selectMap({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * where:{username:'admin'} + * }); + */ + selectMap(iSelectorMap:SqlSelectorMap):Map<string,any>; + + /** + * 查询一行数æ®,返回为一个Map<string,any>数组; + * + * @param iSql Sqlè¯å¥ + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Map<string,any>结构 + * @example + * query.selectMap( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where username=:username", + * {tags:'array', attr_data:'json'}, + * {username:'admin'} + * ); + */ + selectMap(iSql:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Map<string,any>; + + + /** + * 查询数æ®,返回第一行第一列; + * + * @param iSelector æŸ¥è¯¢å‚æ•° + * @returns è¿”å›žç¬¬ä¸€è¡Œç¬¬ä¸€åˆ—æ•°æ® + * @example + * query.selectValue({ table:'sys_user', field:'id',where:{username:'admin'}}); + */ + selectValue(iSelector:SqlSelectorMap):any; + + /** + * 查询数æ®,返回第一行第一列; + * + * @param iSql Sqlè¯å¥ + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns è¿”å›žç¬¬ä¸€è¡Œç¬¬ä¸€åˆ—æ•°æ® + * @example + * query.selecValue( "SELECT id FROM sys_user where username=:username", {}, {username:'admin'}); + */ + selectValue(iSql:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):any; + + /** + * 查询数æ®,返回Array<Array<any>>结构; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Array<Array<any>>结构 + * @example + * query.selectArraryArray({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * order:'id ASC', + * limit:10, + * }); + */ + selectArrayArray(iSelectorMap:SqlSelectorMap):Array<Array<any>>; + + /** + * 查询数æ®,返回Array<Array<any>>结构; + * + * @param iSql Sqlè¯å¥ + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Array<Array<any>>结构 + * @example + * query.selectArraryArray( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where id < :maxid", + * {tags:'array', attr_data:'json'}, + * {maxid:1000} + * ); + */ + selectArrayArray(iSql:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Array<Array<any>>; + + /** + * 查询数æ®,返回Array<Map<string,any>>结构; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Array<Map<string,any>>结构 + * @example + * query.selectArraryMap({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * order:'id ASC', + * limit:10, + * }); + */ + selectArrayMap(iSelectorMap:SqlSelectorMap):Array<Map<string,any>>; + + /** + * 查询数æ®,返回Array<Map<string,any>结构; + * + * @param iSql Sqlè¯å¥ + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Array<Map<string,any>结构 + * @example + * query.selectArrayMap( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where id < :maxid", + * {tags:'array', attr_data:'json'}, + * {maxid:1000} + * ); + */ + selectArrayMap(iSql:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Array<Map<string,any>>; + + /** + * 查询数æ®,返回{field:Array<string>, data:Array<Array<any>>}结构; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回{field:Array<string>, data:Array<Array<any>>}结构 + * @example + * query.selectArraryData({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * order:'id ASC', + * limit:10, + * }); + */ + selectArrayData(iSelectorMap:SqlSelectorMap):SelectArrayDataResult; + + /** + * 查询数æ®,返回{field:Array<string>, data:Array<Array<any>>}结构; + * + * @param iSql Sqlè¯å¥ + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回{field:Array<string>, data:Array<Array<any>>}}结构 + * @example + * query.selectArrayData( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where id < :maxid", + * {tags:'array', attr_data:'json'}, + * {maxid:1000} + * ); + */ + selectArrayData(iSql:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):SelectArrayDataResult; + + /** + * 查询数æ®,返回Map<string,Map<string,any>>结构; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Map<string,Map<string,any>>结构 + * @example + * query.selectMapMap({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * unique_field:'id' + * }); + */ + selectMapMap(iSelectorMap:SqlSelectorMap):Map<string,Map<string,any>>; + + /** + * 查询数æ®,返回Map<string,Map<string,any>>结构; + * + * @param iSql Sqlè¯å¥ + * @param iUniqueField 唝䏀嗿®µå + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Map<string,Map<string,any>>结构 + * @example + * query.selectMapMap( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where id < :maxid", + * "id", + * {tags:'array', attr_data:'json'}, + * {maxid:1000} + * ); + */ + selectMapMap(iSql:string, iUniqueField:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Map<string,Map<string,any>>; + + /** + * 查询数æ®,返回Map<string,any>结构; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Map<string,any>结构 + * @example + * query.selectMapValue({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * unique_field:'id', + * value_field:'username', + * }); + */ + selectMapValue(iSelectorMap:SqlSelectorMap):Map<string,any>; + + /** + * 查询数æ®,返回Map<string,any>结构; + * + * @param iSql Sqlè¯å¥ + * @param iUniqueField 唝䏀嗿®µå + * @param iValueField 值嗿®µå + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Map<string,any>结构 + * @example + * query.selectMapValue( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where id < :maxid", + * "id", "username", + * {tags:'array', attr_data:'json'}, + * {maxid:1000} + * ); + */ + selectMapValue(iSql:string, iUniqueField:string, iValueField:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Map<string,any>; + + /** + * 查询数æ®,返回Array<any>结构; + * + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回Array<any>结构 + * @example + * query.selectArrayValue({ + * table:'sys_user', + * field:['id','username','fullname','tags','attr_data'], + * field_format:{tags:'array','attr_data':'json'}, + * value_field:'username', + * }); + */ + selectArrayValue(iSelectorMap:SqlSelectorMap):Array<any>; + + /** + * 查询数æ®,返回Array<any>结构; + * @param iSql Sqlè¯å¥ + * @param iValueField 值嗿®µå + * @param iFieldFormat å—æ®µæ•°æ®ç±»åž‹å®šä¹‰ + * @param iValues Sqlè¯å¥å˜é‡æ›¿æ¢ + * @returns 返回Array<any>结构 + * @example + * query.selectArrayValue( + * "SELECT id,username,fullname,tags,attr_data FROM sys_user where id < :maxid", + * "username", + * {tags:'array', attr_data:'json'}, + * {maxid:1000} + * ); + */ + selectArrayValue(iSql:string, iValueField:string, iFieldFormat?:Map<string, FieldFormat>, iValues?:Map<string,any>):Array<any>; + + + /** + * 查询数æ®çš„行数; + * @param iSelectorMap æŸ¥è¯¢å‚æ•° + * @returns 返回行数 + * @example + * query.selectCount({ + * table:'sys_user', + * where:'id < 100', + * }); + */ + selectCount(iSelectorMap:SqlSelectorMap):number; + + /** + * æ’入一行 + * + * @param iInserterMap æ’入傿•° + * @returns 返回定义的return_field列数æ®ï¼› + * @example + * var id = query.insertRow({ + * table:'sys_user', + * data:{username:'tony', fullname:'Tony Guo', status:'active'}, + * return_field:'id', + * }); + */ + insertRow(iInserterMap:SqlInserterMap):any; + + /** + * æ‰¹é‡æ’å…¥æ•°æ® + * + * @param iTable 表å + * @param iField å—æ®µ + * @param iData æ•°æ® + * @example + * query.batchInsert('sys_user',['username','fullname'], [{username:'user1',fullname:'User 1'},{username:'user2',fullname:'User2'}]) + */ + batchInsert(iTable:string, iField:Array<string>, iData:Array<Map<string, any>>); + + /** + * æ›´æ–°æ•°æ®; + * @param iUpdaterMap æ›´æ–°å‚æ•° + * @returns å½±å“行数 + * @example + * query.updateRow({ + * table:'sys_user', + * field:['tags'], + * data:{tags:'{a,b}']}, + * where:{username:'admin'}, + * }) + */ + updateRow(iUpdaterMap:SqlUpdaterMap):number; + + + /** + * æ›´æ–°æ•°æ®; + * + * @param iTable 表å + * @param iData æ›´æ–°æ•°æ® + * @param iWhere Whereæ¡ä»¶ + * @param iUpdatePolicy æ›´æ–°ç–ç•¥ + * @param iField æ›´æ–°å—æ®µ + * @returns 返回影å“行数 + */ + updateRow(iTable:string, iData:Map<string,any>, + iWhere:string|Array<string>|Map<string,any>, + iUpdatePolicy?:Map<string,any>, + iField?:Array<string> + ):number; + + /** + * 替æ¢è¡Œ(å˜åœ¨åˆ™æ›´æ–°,ä¸å˜åœ¨åˆ™æ’å…¥) + * @param iReplacerMap æ›´æ–°å‚æ•° + * @returns è¿”å›žæŒ‡å®šçš„å—æ®µæ•°æ® + * @example + * query.replaceRow({ + * talbe:'sys_user', + * data:{username:'tony',fullname:'Tony GUO'}, + * unique_field:['username'], + * return_field:'id' + * }); + */ + replaceRow(iReplacerMap:SqlInserterMap):any; + + /** + * 替æ¢è¡Œ(å˜åœ¨åˆ™æ›´æ–°,ä¸å˜åœ¨åˆ™æ’å…¥) + * @param iTable 表å + * @param iData æ›¿æ¢æ•°æ® + * @param iUniqueField åªä¸€å—段 + * @param iUpdatePolicy æ›´æ–°ç–ç•¥ + * @param iReturnField è¿”å›žå—æ®µ + * @returns è¿”å›žæŒ‡å®šçš„å—æ®µæ•°æ® + * @example + * query.replaceRow({ + * talbe:'sys_user', + * data:{username:'tony',fullname:'Tony GUO'}, + * unique_field:['username'], + * return_field:'id' + * }); + */ + replaceRow(iTable:string, iData:Map<string,any>, + iUniqueField:Array<string>, iUpdatePolicy?:Map<string,UpdatePolicy>, + iReturnField?:string + ):any; + + + /** + * åˆ é™¤è¡Œ; + * + * @param iDeleterMap åˆ é™¤å‚æ•° + * @returns 返回影å“行数 + * @example + * query.deleteRow({table:'sys_user', where: {username:'tony'}}); + */ + deleteRow(iDeleterMap:SqlDeleterMap):number; + + /** + * åˆ é™¤è¡Œ; + * + * @param iTable 表å + * @param iWhere Whereæ¡ä»¶ + * @returns 返回影å“行数 + * @example + * query.deleteRow('sys_user'{username:'tony'}); + */ + deleteRow(iTable:string, iWhere:string|Array<any>|Map<string,any>):number; + + /** + * 执行SQLè¯å¥; + * + * @param iSql sqlè¯å¥ + * @returns è¿”å›žæ‰§è¡Œæ˜¯å¦æˆåŠŸ + */ + execSql(iSql:string):boolean; + + /** + * 判æ–表是å¦å˜åœ¨; + * + * @param iTable 表å + * @returns 返回表是å¦å˜åœ¨ + */ + isTableExists(iTable:string):boolean + + /** + * 获å–表列表; + * + * @returns 返回表列表 + */ + getTableList():Array<string> + + /** + * 判æ–å—æ®µæ˜¯å¦å˜åœ¨; + * + * @param iTable 表å + * @param iField å—æ®µå + * @returns è¿”å›žå—æ®µæ˜¯å¦å˜åœ¨ + */ + isFieldExists(iTable:string, iField:string):boolean; + + /** + * 获å–å—æ®µåˆ—表; + * + * @param iTable 表å + * @returns è¿”å›žå—æ®µåˆ—表 + */ + getFieldList(iTable:string):Array<string>; + + /** + * è®¾ç½®åœ¨æ–°å¢žæ•°æ®æ—¶,是å¦å¯ä»¥è®¾ç½®è‡ªå¢žé•¿å—段;(仅对Sql Server有效); + * + * @param iTable 表å + * @param iStatus çŠ¶æ€ + * + */ + setAutoIncrementStatus(iTable:string, iStatus:string):boolean; + + /** + * èŽ·å–æ•°æ®åº“当剿—¶é—´,æ ¼å¼ä¸ºyyyy-MM-dd hh:mm:ss + */ + getNow():string; + + /** + * èŽ·å–æ•°æ®åº“当剿—¥æœŸ,æ ¼å¼ä¸ºyyyy-MM-dd + */ + getToday():string; + + + /** + * 获å–错误文本信æ¯; + */ + errorString():string; + + /** + * èŽ·å–æœ€åŽä¸€æ¬¡é”™è¯¯æ¶ˆæ¯; + */ + lastError():TopSinError; + + /** + * 清除错误; + */ + clearError():void; + + /** + * 事务开始; + * @param iCheckConnection æ˜¯å¦æ£€æŸ¥è¿žæŽ¥æ˜¯å¦æ£å¸¸; + */ + begin(iCheckConnection?:boolean):boolean; + + /** + * æäº¤äº‹åŠ¡;返回当å‰äº‹åŠ¡åµŒå¥—å±‚çº§; + */ + commit():number; + + /** + * 回滚事务;返回当å‰äº‹åŠ¡çš„åµŒå¥—å±‚çº§; + */ + rollback():number; + + /** + * 打开数æ®åº“连接; + * @param iCheckConnection æ˜¯å¦æ£€æŸ¥è¿žæŽ¥æ˜¯å¦æ£å¸¸; + */ + open(iCheckConnection?:boolean):boolean; + + /** + * 关闿•°æ®åº“连接; + */ + close():boolean + + /** + * åˆ¤æ–æ•°æ®åº“是å¦è¿žæŽ¥ä¸Š; + */ + isConnected():boolean; + + /** + * 返回数æ®åº“类型; + */ + databaseType():string; + } + /** + * æ·»åŠ æ•°æ®åº“连接; + * + * @param iCntParam è¿žæŽ¥å‚æ•° + * @param iCntName 连接åç§°,默认为空;为空时代表默认连接 + * @example + *db.addConnection({databse_type:db.DbType.pg, + * database_host:'127.0.0.1:5433', + * database_name:'TOPMES_SNAPSHOT_V6', + * database_user:'toplinker', + * database_pwd:'Password' + *}); + */ + export function addConnection(iCntParam:SqlConnectionParam, iCntName?:string):void; + + /** + * ç§»é™¤å·²æ·»åŠ çš„è¿žæŽ¥; + * @param iCntName 连接åç§° + */ + export function removeConnection(iCntName:string):void + + /** + * 获å–一个数æ®åº“æ“作对象; + * @param iCntName 连接åç§° + */ + export function query(iCntName?:string):SqlQuery + + /** + * 获å–一个数æ®åº“æ“作对象并执行回调函数; + * @param iCntName 连接åç§° + * @param iCallback 回调函数 + */ + export function query(iCntName:string, iCallback:(query:SqlQuery) => any):any + +} + +export = TopSinDatabase; + + diff --git a/jtg js/node_modules/@types/topsin.gengui/index.d.ts b/jtg js/node_modules/@types/topsin.gengui/index.d.ts new file mode 100644 index 0000000..2624d37 --- /dev/null +++ b/jtg js/node_modules/@types/topsin.gengui/index.d.ts @@ -0,0 +1,343 @@ +declare namespace TopSinSocket { + export class TcpSocketImpl { + /** + * 䏿¢è¿žæŽ¥ + */ + abort():void + + /** + * 绑定地å€å’Œç«¯å£ï¼Œè¿”å›žæ˜¯å¦æˆåŠŸ + */ + bind(ip:String, port:Number):boolean + + /** + * 连接到主机 + */ + connectToHost(ip:String, port:Number):void + + /** + * æ–开与主机的连接,如果还有数æ®åœ¨å†™ï¼Œé‚£ä¹ˆä¼šåœ¨ç»“æŸåŽæ–å¼€ + */ + disconnectFromHost(); + + /** + * 返回最近的一次错误 + */ + error():String + + /** + * å†²åˆ·ç¼“å˜ + */ + flush():boolean + + /** + * socket是å¦å¯ç”¨ + */ + isValid():boolean + + /** + * 本地ip + */ + localAddress():String + + /** + * 本地port + */ + localPort():Number + + /** + * 对端ip + */ + peerAddress():String + + /** + * 对端port + */ + peerPort():Number + + /** + * 读缓å˜å¤§å° + */ + readBufferSize():Number + + /** + * 设置读缓å˜å¤§å° + */ + setReadBufferSize(size:Number):void + + /** + * ç‰å¾…直到连接æˆåŠŸæˆ–è¶…æ—¶ + * + * @param msec 超时时间(毫秒) + * @return true 表示连接æˆåŠŸï¼Œfalse表示超时 + */ + waitForConnected(msec:Number):boolean + + /** + * ç‰å¾…直到æ–开连接 + * + * @param msec 超时时间(毫秒) + * @return true 表示æ–å¼€æˆåŠŸï¼Œfalse表示超时 + */ + waitForDisconnected(msec:Number):boolean + + /** + * ç‰å¾…直到å‘é€å®Œè‡³å°‘1å—节或超时 + * + * @param msec 超时时间(毫秒) + * @return true 表示已å‘é€è‡³å°‘1å—节, false表示超时 + */ + waitForReadyRead(msec:Number):boolean + + /** + * 是å¦å·²è¯»å®Œ + */ + atEnd():boolean + + /** + * å¯è¯»å—节数 + */ + bytesAvailable():Number + + /** + * 待写å—节数 + */ + bytesToWrite():Number + + /** + * 是å¦å¯è¯»ä¸€è¡Œæ•°æ® + * 注æ„:二进制数æ®ä¸ä¸€å®šå˜åœ¨æ¢è¡Œ + */ + canReadLine():boolean + + /** + * å…³é—连接 + */ + close():void + + /** + * é”™è¯¯æ¶ˆæ¯ + */ + errorString():String + + /** + * è¿žæŽ¥æ˜¯å¦æ‰“å¼€ + */ + isOpen():boolean + + /** + * 是å¦å¯è¯» + */ + isReadable():boolean + + /** + * 是å¦å¯å†™ + */ + isWritable():boolean + + /** + * è¯»å–æ•°æ® + * 如果数æ®ä¸å¤Ÿä¼šå‘生阻塞 + * + * @param size æ•°æ®å¤§å° + * @return 返回size大å°çš„æ•°æ® + */ + read(size:Number):String + + /** + * 读å–全部数æ®ç›´åˆ°ä¸å¯è¯» + * + * @return è¯»åˆ°çš„æ•°æ® + */ + readAll():String + + /** + * 读å–ä¸€è¡Œæ•°æ® + * 注æ„:二进制数æ®ä¸ä¸€å®šå˜åœ¨æ¢è¡Œ + */ + readLine():String + + /** + * å‘逿•°æ® + * + * @param data å—符串(准确的说是 node ä¸çš„Buffer) + * @return å‘é€å®Œæˆçš„å—节数 + */ + write(data:String):Number + + /** + * 注册事件 + * + * connected + * 连接æˆåŠŸï¼Œå¯¹åº”çš„callback: function(conn: TcpSocket) {} + * + * disconnected + * 连接æ–开,对应的callback: function(conn: TcpSocket) {} + * + * error + * å‘生错误, 对应的callback: function(conn: TcpSocket, error:String) {} + * + * byteswritten + * å‘é€å®Œæ•°æ®ï¼Œ 对应的callback: function(conn: TcpSocket, nbytes: Number) {} + * + * readready + * 连接å¯è¯»ï¼Œ 对应的callback: function(conn: TcpSocket) {} + */ + on(event:TcpSocketEvent, callback:Function) + } + + + export class TcpServerImpl { + constructor(parent:mainLoop):void + + /** + * å…³é—连接 + */ + close():void + + /** + * 最åŽä¸€ä¸ªé”™è¯¯åŽŸå› + */ + errorString():String + + /** + * æ˜¯å¦æœ‰æŽ’队连接 + */ + hasPendingConnections():boolean + + /** + * 监å¬åœ°å€ã€ç«¯å£ + */ + listten(addr:String, port:Number):boolean + + /*** accepterror + * accept出错,对应的callback: function(err: string) {} + * 是å¦åœ¨ç›‘å¬ + */ + isListening():boolean + + /** + * 最大排队连接数 + */ + maxPendingConnections():Number + + /** + * 下一个排队连接 + */ + nextPendingConnection():TcpSocket + + /** + * æš‚åœæŽ¥å—æ–°çš„连接 + */ + pauseAccepting():void + + /** + * æ¢å¤æŽ¥å—新的连接 + */ + resumeAcception():void + + /** + * æœåŠ¡ç«¯ç›‘å¬åœ°å€ + */ + serverAddress():String + + /** + * æœåŠ¡ç«¯ç›‘å¬ç«¯å£ + */ + serverPort():Number + + /** + * æœåŠ¡ç«¯é”™è¯¯ + */ + serverError():String + + /** + * 设置最大排队连接 + */ + setMaxPendingConnections(n:Number):void + + /** + * ç‰å¾…下一个连接 + * + * @param msec ç‰å¾…的毫秒数 + * @return æ˜¯å¦æˆåŠŸ + */ + waitForNewConnection(msec:Number):boolean + + /** + * 注册事件 + * + * accepterror + * accept出错,对应的callback: function(server: TcpServer, err: string) {} + * + * newconnection + * 新的客户端连接æˆåŠŸï¼Œå¯¹åº”çš„callback: function(conn: TcpSocket) {} + */ + on(event:TcpServerEvent, callback:Function):void + } + + /** + * 创建一个新的TcpServer对象 + * + * @param parent 全局的事件循环 + * @example + * + * var socket = require('topsin.socket'); + * var server = socket.TcpServer(mainLoop); + * + * server.on('newconnection', function(conn) { + * console.log("client: " + conn.peerPort() + ", connected"); + * conn.on('readready', function(conn) { + * var data = conn.readAll(); + * console.log(data); + * conn.write(data); + * }); + * conn.on("disconnected", function(c) { + * console.log("client: " + c.peerPort() + ", closed"); + * }); + * ); + * + * server.on('accepterror', function(server) { + * server.close(); + * console.log("exit"); + * mainLoop.quit(); + * }); + * + * server.listen("127.0.0.1", 8888); + * mainLoop.exec(); + */ + export function TcpServer(parent:mainLoop):TcpServerImpl; + + /** + * 创建一个新的TcpSocket对象 + * + * @param parent 全局的事件循环 + * + * @example + * + * var socket = require('topsin.socket'); + * + * var client = socket.TcpSocket(mainLoop); + * client.on('connected', function(conn) { + * console.log("connected"); + * }); + * + * conn.on('readready', function(conn) { + * var data = conn.readAll(); + * console.log(data); + * conn.write(data); + * }); + * + * conn.on('disconnected', function(conn) { + * console.log(conn.errorString()); + * mainLoop.quit(); + * }); + * + * client.connectToHost("127.0.0.1", 8888); + * mainLoop.exec(); + */ + export function TcpSocket(parent:mainLoop):TcpSocketImpl; +} + +export class mainLoop {}; +export = TopSinSocket; \ No newline at end of file diff --git a/jtg js/node_modules/@types/topsin.genmath/index.d.ts b/jtg js/node_modules/@types/topsin.genmath/index.d.ts new file mode 100644 index 0000000..3c89c13 --- /dev/null +++ b/jtg js/node_modules/@types/topsin.genmath/index.d.ts @@ -0,0 +1,451 @@ +declare class GenMath { + /** + * 调整boxå¤§å° + * + * @param box map结构如: {xmin: 0, xmax: 1, ymin: 0, ymax: 1} + * @param size è¦è°ƒæ•´çš„大å°å¦‚: 1 + * @returns 调整大å°åŽçš„box + */ + resizeBox(box:JSON, size: Number):JSON + + /** + * åç§»ç‚¹åæ ‡ + * + * @param point ç‚¹çš„åæ ‡å¦‚: {x: 1, y:1} + * @param shiftx xå移,如 1 + * @param shifty yå移,如 2 + * @param attr 其他属性,JSON类型,如 {mirror: false} + * @returns åç§»åŽçš„点 + */ + gpShift(point:JSON, shiftx:Number, shifty:Number, attr:JSON):JSON + + /** + * å˜æ¢ç‚¹åˆ—表 + * + * @param base åŸºå‡†ç‚¹åæ ‡ + * @param angle 选择角度,å¯é€‰è§’度为 0, 90, 180, 270 + * @param mirror 是å¦é•œåƒ true/false + * @param shiftx xåç§» 1 + * @param shifty yåç§» 0 + * @param point 进行平移æ“作的点列表 [{x: .0, y: .0}, {x: 1.0, y: 2.0}] + * @returns å˜æ¢åŽçš„点列表 + */ + pTrans(base:JSON, angle:Number, mirror:Boolean, shiftx:Number, shifty:Number, points:[JSON]):[JSON] + + /** + * 旋转box + * + * @param box 如 {xmin: 0, ymin: 0, xmax: 1, ymax: 1} + * @angle 选择角度 0, 90, 180, 270 + * @returns 旋转åŽçš„box + */ + rotateBox(box:JSON, angle:Number):JSON + + /** + * 点到点的最å°è·ç¦» + * @param p1 第一个点如 {x: .0, y: .0} + * @param p2 第二个点如 {x: 1, y: .0} + * @returns è·ç¦» + */ + point2PointDis(p1:JSON, p2:JSON):Number + + /** + * 线段长度,ç‰åŒäºŽç‚¹åˆ°ç‚¹çš„æœ€å°è·ç¦» + * + * @param line 输入线段如: {xs: .0, ys: .0, xe: 1.0, ye: .0} + * @returns è·ç¦» + */ + lineLength(line:JSON):Number + + /** + * 点到线段的最çŸè·ç¦» + * + * @param p 输入点 + * @param line 输入线段 + * @returns è·ç¦» + */ + point2LineDis(p:JSON, line:JSON):Number + + /** + * 线段是å¦ç›¸äº¤ + * + * @param line1 第一æ¡çº¿æ®µå¦‚ {xs: -1, ys: 0, xe: 2, ye: 0} + * @param line2 第二æ¡çº¿æ®µå¦‚ {xs: 0, ys: -1, xe: 0, ye: 1} + * @param extend true/false,å¯é€‰ï¼Œæ˜¯å¦åˆ¤æ–延长线相交 + * @returns 相交返回trueå¦åˆ™false + */ + lineIntersect(line1:JSON, line2:JSON, extend:Boolean):Boolean + + /** + * 线段到线段的è·ç¦» + * + * @param line1 第一æ¡çº¿æ®µå¦‚ {xs: -1, ys: 0, xe: 2, ye: 0} + * @param line2 第二æ¡çº¿æ®µå¦‚ {xs: 0, ys: -1, xe: 0, ye: 1} + * @returns è·ç¦» + */ + line2LineDis(line1:JSON, line2:JSON):Number + + /** + * 多边形到多边形的è·ç¦» + * 多边形å³ç‚¹çš„列表 + * + * @param p1 第一个多边形,如: [{x: .0, y: .0}, {x: 1, y: 1}, {x: 2, y:2}] + * @param p2 第二个多边形,如: [{x: .0, y: -1}, {x: 1, y: 1}, {x: 2, y:2}] + * @returns è·ç¦» + */ + polygon2PolygonDis(p1:[JSON], p2:[JSON]):Number + + /** + * 点到多边形的è·ç¦» + * + * @param p 点如 {x: 0, y: 0} + * @param poly 多边形如 [{x: .0, y: -1}, {x: 1, y: 1}, {x: 2, y:2}] + * @returns è·ç¦» + */ + point2PolygonDis(p:JSON, poly:[JSON]):Number + + /** + * 线段到多边形的è·ç¦» + * + * @param line 线段如 {xs: -1, ys: 0, xe: 2, ye: 0} + * @param poly 多边形如 [{x: .0, y: -1}, {x: 1, y: 1}, {x: 2, y:2}] + * @returns è·ç¦» + */ + line2PolygonDis(line:JSON, poly:[JSON]):Number + + /** + * å°†sym转为多边形 + * sym是代表一个形状; + * ä¸»è¦æœ‰ä¸‰ç§ï¼šå¦‚下: + * 1. r10.4表示直径为0.0104的圆形 + * 2. s12.4表示开宽为0.0124çš„æ£æ–¹å½¢ + * 3. rect10.2x12.4表示长为0.0102,宽为0.0124的长方形 + * + * + * { "type":"line", "symbol":"r10.2", "xs": 0, "ys": 0,"xe": 1,"ye":1 } + * { "type":"pad", "symbol":"rect10.2x20.2", "x":0, "y":1, "angle":90, "mirror":true} + * { "type":"surface", "symbol":[{"x":0,"y":0},{"x":0,"y":1},{"x":1,"y":1},{"x":1,"y":0},{"x":0,"y":0}]} + * + * @param sym 形状 + * @return 多边形(å³ç‚¹çš„列表) + */ + sym2Polygon(sym:JSON):[JSON] + + /** + * 点到形状的è·ç¦» + * + * @param p 点 + * @param sym 形状 + * @returns è·ç¦» + */ + point2SymDis(p:JSON, sym:JSON):Number + + /** + * 线段到形状è·ç¦» + * + * @param line 线段 + * @param sym 形状 + * @returns è·ç¦» + */ + line2SymDis(line:JSON, sym:JSON):Number + + /** + * 形状到形状è·ç¦» + * @param sym1 第一个形状 + * @param sym2 第二个形状 + * @returns è·ç¦» + */ + sym2SymDis(sym1:JSON, sym2:JSON):Number + + /** + * 形状到多个形状的最çŸè·ç¦» + * + * @param sym 形状 + * @param featlist 形状列表(å³[sym]) è§ sym2Polygon + * @returns è·ç¦» + */ + sym2FeatlistDis(sym:JSON, featlist:[JSON]):Number + + /** + * 判æ–形状到多个形状的最çŸè·ç¦»æ˜¯å¦å°äºŽç»™å®šå€¼ + * + * @param sym 形状 + * @param featlist 形状列表(å³[sym]) è§ sym2Polygon + * @param dist 给的的è·ç¦» 如 1.0 + * @returns trueè·ç¦»è¡¨ç¤ºå°äºŽdistå¦åˆ™false + */ + checkSymTouchFeatlist(sym:JSON, featlist:[JSON], dist:Number):Boolean + + /** + * 线段到多个形状的最çŸè·ç¦» + * + * @param line 线段 + * @param feat 形状列表 + * @returns è·ç¦» + */ + line2FeatlistDis(line:JSON, feat:[JSON]):Number + + /** + * 获å–固定y值的点列表 + * + * @param from èµ·å§‹ä½ç½® + * @param to 终æ¢ä½ç½® + * @param step è·³æ¥ + * @param startFrom 起点 å¯å– min, max, center 表示起始为from, to, (from+to)/2 + * @param y 固定的 y值 + * @returns 点列表 + * + * @example + * require("topsin.genmath"); + * + * var g = new GenMath(); + * var r = g.gpListLineX(0, 10, 4, "min", 1); + * console.log(r); + * + * => [{"x":0,"y":1},{"x":4,"y":1},{"x":8,"y":1}] + */ + gpListLineX(from:Number, to:Number, step:Number, startFrom:String, y:Number):[JSON] + + /** + * 获å–固定x值的点列表 + * å‚考 gpListLineX + */ + gpListLineY(from:Number, to:Number, step:Number, startFrom:String, x:Number):[JSON] + + /** + * 获å–固定范围的点列表 + * + * @param box 范围 + * @param step è·³æ¥ + * @param startAnchor èµ·å§‹ä½ç½®ï¼Œå¯ä»¥æ˜¯ç‚¹å¦‚ {x: 1, y:2},å¯ä»¥æ˜¯æ–¹å‘ west, south 表示 min; north, east表示max,默认为center + * @param direct æ–¹å‘,å¯é€‰ "x" å’Œ "y", 或者为空 + * @param type 类型,å¯é€‰ "ring" å’Œ "snake" + * @returns 点列表 + */ + gpListArea(area:JSON, step:Number, startAnchor:Object, direct:String, type:String):[JSON] + + /** + * 返回pi值 + */ + pi():Number + + /** + * 弧度转角度 + */ + rad2Deg(rad:Number):Number + + /** + * 角度转弧度 + */ + deg2Rad(deg:Number):Number + + /** + * 线段角度 + * + * @return 角度 + */ + lineAngle(line:JSON):Number + + /** + * 绕基点旋转点 + * + * @param base å‡ ç‚¹ + * @param point è¦æ—‹è½¬çš„点 + * @returns 旋转åŽçš„点 + */ + rotatePoint(base:JSON, point:JSON):JSON + + /** + * 返回给定角(∠ABC)的角度 + * + * @param B 顶点 + * @param A 点 + * @param C 点 + * @returns 角度 + */ + calcAngleThreePoints(B:JSON, A:JSON, C:JSON):Number + + /** + * 获å–线段上å移起点给定长度的点 + * + * @param line 线段 + * @param len 长度 + * @return 点 + */ + calPointOnLine(line:JSON, len:Number):Number + + /** + * 延长线段 + * + * @param line 线段 + * @param len 长度 + * @return å»¶é•¿åŽçš„线段 + */ + extendLine(line:JSON, len:Number):JSON + + /** + * 获å–线段ä¸ç‚¹ + */ + getLineCenter(line:JSON):JSON + + /** + * 判æ–点是å¦åœ¨çº¿æ®µä¸Š + * @returns true在å¦åˆ™false + */ + isPointOnLine(point:JSON, line:JSON):Boolean + + /** + * 判æ–点和圆的ä½ç½®å…³ç³» + * + * @param point 点 + * @param circle 圆,ç”±åœ†å¿ƒåæ ‡å’ŒåŠå¾„表示如: {x: .0, y: .0, r: 10} + * @returns ä½ç½®å…³ç³»ï¼Œin, out, on 分别表示在圆外,在圆内,在圆上 + */ + isPointOnCircle(point:JSON, circle:JSON):String + + /** + * 点到圆的两个切点 + * + * @returns 两个切点如 [p1, p2] + */ + point2CircleTanget(point:JSON, circle:JSON):[JSON, JSON] + + /** + * 弧分割为线段 + * + * 弧表示为 起点(xs, ys)+终点(xe, ye)+弧心(xc,yc)+æ–¹å‘(direction),如 + * {xs: .0, ys: .0, xe: 1, ye: 1, xc: .0, yc: .0, direction: "cw"} + * 其䏿–¹å‘å¯å–值为 "cw"或"ccw" + * + * @param arc å¼§ + * @param den 分æ¯(denominator)å³åˆ†å‰²çš„份数 + * @returns 线段的列表 + * @example + * + * require("topsin.genmath"); + * + * console.log(g.arc2Lines({xs: 0, ys:1, xe: 1, ye: 0, xc: 0, yc: 0, direction: "cw"}, 2)); + * + * => [{"xe":0.7071067811865476,"xs":1,"ye":0.7071067811865475,"ys":0},{"xe":0,"xs":0.7071067811865476,"ye":1,"ys":0.7071067811865475}] + */ + arc2Lines(arc:JSON, den:Number):[JSON] + + /** + * å°†profile转为多边形 + * + * @return 点的列表 + */ + profile2Polygon(profile:String, den:Number):[JSON] + + /** + * å¼§é•¿ + */ + arcLength(arc:JSON):Number + + /** + * 获å–自动排版结构 + * + * @param sub : [{datum=>{x=>?,y=>?},symbol=>?,points=>[{x=>?,y=>?},{x=>?,y=>?},...]},...] + * @param panel : [{datum=>{x=>?,y=>?},symbol=>?,points=>[{x=>?,y=>?},{x=>?,y=>?},...]},...], + * @param type : ['rotate','empty_set'] + * @returns + * { + * rotate: 0|1, + * empty_set: 0|1, + * all_match: 0|1, + * ox: ?, + * oy: ?, + * points: [{x:?,y:?,angle:?},...], + * } + */ + SubPanelSr(sub:[JSON], panel:[JSON]):JSON + + /** + * 计算线段的kå’Œb (y = kx + b) + * + * @return {k:?, b:?} 垂直时k为Inf + */ + getLineKb(line:JSON):JSON + + /** + * æ ¹æ®ä¸€å¯¹k,b值计算交点 + * + * @param kb1 : {k: 1, b: 2} + * @param kb2 : {k: 0, b: 3} + * @returns 交点{x:?, y:?}, ä¸å˜åœ¨åˆ™ä¸ºundefined + */ + getKblineIntersect(kb1:JSON, kb2:JSON):Object + + /** + * 获å–线段交点 + * + * @param line1 线段1 + * @param line2 线段2 + * @param extend å¯é€‰true或false表示是å¦åˆ¤æ–延长线 + * @returns 交点{x:?, y:?},ä¸å˜åœ¨åˆ™ä¸ºundefined + */ + getLineIntersect(line1:JSON, line2:JSON, extend:Boolean):Object + + /** + * 获å–点列表ä¸ç‚¹çš„æœ€å°é—´éš” + * + * @param l 点列表 + * @returns è·ç¦» + */ + getPlistMinDis(l:[JSON]):Number + + /** + * 获å–一个点列表里的ä¸å¿ƒè·ç¦»å°äºŽdis的点列表 + * @param dis : 最å°è·ç¦» + * @param l : [{x=>?,y=>?,r=>?},{x=>?,y=>?},...], #r代表圆形直径 + * @return : { points: [{x:?,y:?},...], lines: [{xs:?,ys:?,xe:?,ye:?},..] } + */ + getPlistLtDistance(dis:Number, l:[JSON]):[JSON, JSON] + + /** + * 获kb线ç»è¿‡æŸä¸€ç‚¹çš„垂线 + * + * @param kb : {k:?, b:?} + * @param point: {x: ?, y:? } + * @returns 垂线的kb {k:?, b:?} + */ + getKbLinePrependicular(kb:JSON, point:JSON):JSON + + /** + * 获kb线è·ç¦»ä¸€å®šå€¼çš„平行线,è·ç¦»æ£è´Ÿä¾X值 + * + * @param kb : {k:?, b:?} + * @param dis è·ç¦» + * @returns 平行线的kb : {k:?, b:?} + */ + getKblineParallel(kb:JSON, dis:Number):JSON + + /** + * 获å–线段è·ç¦»ä¸€å®šå€¼çš„平行线段 + * + * @param line 线段 + * @param dis è·ç¦» + * @returns 平行的线段 + */ + getLineParallel(line:JSON, dis:Number):JSON + + /** + * 获å–å移一定è·ç¦»çš„æŠ˜çº¿ + * + * @param polyline 折线 + * @param dis è·ç¦» + * @returns 新的折线 + */ + polylineOffset(polylin:JSON, dis:Number):JSON + + /** + * box是å¦ç›¸äº¤ + * boxè§ resizeBox + */ + isRangeIntersect(box1:JSON, box2:JSON, tolerance:Number):Boolean + + /** + * è§£æžå æž„ + */ + analyzeStackup(par:JSON):JSON +} \ No newline at end of file diff --git a/jtg js/node_modules/@types/topsin.socket/index.d.ts b/jtg js/node_modules/@types/topsin.socket/index.d.ts new file mode 100644 index 0000000..2624d37 --- /dev/null +++ b/jtg js/node_modules/@types/topsin.socket/index.d.ts @@ -0,0 +1,343 @@ +declare namespace TopSinSocket { + export class TcpSocketImpl { + /** + * 䏿¢è¿žæŽ¥ + */ + abort():void + + /** + * 绑定地å€å’Œç«¯å£ï¼Œè¿”å›žæ˜¯å¦æˆåŠŸ + */ + bind(ip:String, port:Number):boolean + + /** + * 连接到主机 + */ + connectToHost(ip:String, port:Number):void + + /** + * æ–开与主机的连接,如果还有数æ®åœ¨å†™ï¼Œé‚£ä¹ˆä¼šåœ¨ç»“æŸåŽæ–å¼€ + */ + disconnectFromHost(); + + /** + * 返回最近的一次错误 + */ + error():String + + /** + * å†²åˆ·ç¼“å˜ + */ + flush():boolean + + /** + * socket是å¦å¯ç”¨ + */ + isValid():boolean + + /** + * 本地ip + */ + localAddress():String + + /** + * 本地port + */ + localPort():Number + + /** + * 对端ip + */ + peerAddress():String + + /** + * 对端port + */ + peerPort():Number + + /** + * 读缓å˜å¤§å° + */ + readBufferSize():Number + + /** + * 设置读缓å˜å¤§å° + */ + setReadBufferSize(size:Number):void + + /** + * ç‰å¾…直到连接æˆåŠŸæˆ–è¶…æ—¶ + * + * @param msec 超时时间(毫秒) + * @return true 表示连接æˆåŠŸï¼Œfalse表示超时 + */ + waitForConnected(msec:Number):boolean + + /** + * ç‰å¾…直到æ–开连接 + * + * @param msec 超时时间(毫秒) + * @return true 表示æ–å¼€æˆåŠŸï¼Œfalse表示超时 + */ + waitForDisconnected(msec:Number):boolean + + /** + * ç‰å¾…直到å‘é€å®Œè‡³å°‘1å—节或超时 + * + * @param msec 超时时间(毫秒) + * @return true 表示已å‘é€è‡³å°‘1å—节, false表示超时 + */ + waitForReadyRead(msec:Number):boolean + + /** + * 是å¦å·²è¯»å®Œ + */ + atEnd():boolean + + /** + * å¯è¯»å—节数 + */ + bytesAvailable():Number + + /** + * 待写å—节数 + */ + bytesToWrite():Number + + /** + * 是å¦å¯è¯»ä¸€è¡Œæ•°æ® + * 注æ„:二进制数æ®ä¸ä¸€å®šå˜åœ¨æ¢è¡Œ + */ + canReadLine():boolean + + /** + * å…³é—连接 + */ + close():void + + /** + * é”™è¯¯æ¶ˆæ¯ + */ + errorString():String + + /** + * è¿žæŽ¥æ˜¯å¦æ‰“å¼€ + */ + isOpen():boolean + + /** + * 是å¦å¯è¯» + */ + isReadable():boolean + + /** + * 是å¦å¯å†™ + */ + isWritable():boolean + + /** + * è¯»å–æ•°æ® + * 如果数æ®ä¸å¤Ÿä¼šå‘生阻塞 + * + * @param size æ•°æ®å¤§å° + * @return 返回size大å°çš„æ•°æ® + */ + read(size:Number):String + + /** + * 读å–全部数æ®ç›´åˆ°ä¸å¯è¯» + * + * @return è¯»åˆ°çš„æ•°æ® + */ + readAll():String + + /** + * 读å–ä¸€è¡Œæ•°æ® + * 注æ„:二进制数æ®ä¸ä¸€å®šå˜åœ¨æ¢è¡Œ + */ + readLine():String + + /** + * å‘逿•°æ® + * + * @param data å—符串(准确的说是 node ä¸çš„Buffer) + * @return å‘é€å®Œæˆçš„å—节数 + */ + write(data:String):Number + + /** + * 注册事件 + * + * connected + * 连接æˆåŠŸï¼Œå¯¹åº”çš„callback: function(conn: TcpSocket) {} + * + * disconnected + * 连接æ–开,对应的callback: function(conn: TcpSocket) {} + * + * error + * å‘生错误, 对应的callback: function(conn: TcpSocket, error:String) {} + * + * byteswritten + * å‘é€å®Œæ•°æ®ï¼Œ 对应的callback: function(conn: TcpSocket, nbytes: Number) {} + * + * readready + * 连接å¯è¯»ï¼Œ 对应的callback: function(conn: TcpSocket) {} + */ + on(event:TcpSocketEvent, callback:Function) + } + + + export class TcpServerImpl { + constructor(parent:mainLoop):void + + /** + * å…³é—连接 + */ + close():void + + /** + * 最åŽä¸€ä¸ªé”™è¯¯åŽŸå› + */ + errorString():String + + /** + * æ˜¯å¦æœ‰æŽ’队连接 + */ + hasPendingConnections():boolean + + /** + * 监å¬åœ°å€ã€ç«¯å£ + */ + listten(addr:String, port:Number):boolean + + /*** accepterror + * accept出错,对应的callback: function(err: string) {} + * 是å¦åœ¨ç›‘å¬ + */ + isListening():boolean + + /** + * 最大排队连接数 + */ + maxPendingConnections():Number + + /** + * 下一个排队连接 + */ + nextPendingConnection():TcpSocket + + /** + * æš‚åœæŽ¥å—æ–°çš„连接 + */ + pauseAccepting():void + + /** + * æ¢å¤æŽ¥å—新的连接 + */ + resumeAcception():void + + /** + * æœåŠ¡ç«¯ç›‘å¬åœ°å€ + */ + serverAddress():String + + /** + * æœåŠ¡ç«¯ç›‘å¬ç«¯å£ + */ + serverPort():Number + + /** + * æœåŠ¡ç«¯é”™è¯¯ + */ + serverError():String + + /** + * 设置最大排队连接 + */ + setMaxPendingConnections(n:Number):void + + /** + * ç‰å¾…下一个连接 + * + * @param msec ç‰å¾…的毫秒数 + * @return æ˜¯å¦æˆåŠŸ + */ + waitForNewConnection(msec:Number):boolean + + /** + * 注册事件 + * + * accepterror + * accept出错,对应的callback: function(server: TcpServer, err: string) {} + * + * newconnection + * 新的客户端连接æˆåŠŸï¼Œå¯¹åº”çš„callback: function(conn: TcpSocket) {} + */ + on(event:TcpServerEvent, callback:Function):void + } + + /** + * 创建一个新的TcpServer对象 + * + * @param parent 全局的事件循环 + * @example + * + * var socket = require('topsin.socket'); + * var server = socket.TcpServer(mainLoop); + * + * server.on('newconnection', function(conn) { + * console.log("client: " + conn.peerPort() + ", connected"); + * conn.on('readready', function(conn) { + * var data = conn.readAll(); + * console.log(data); + * conn.write(data); + * }); + * conn.on("disconnected", function(c) { + * console.log("client: " + c.peerPort() + ", closed"); + * }); + * ); + * + * server.on('accepterror', function(server) { + * server.close(); + * console.log("exit"); + * mainLoop.quit(); + * }); + * + * server.listen("127.0.0.1", 8888); + * mainLoop.exec(); + */ + export function TcpServer(parent:mainLoop):TcpServerImpl; + + /** + * 创建一个新的TcpSocket对象 + * + * @param parent 全局的事件循环 + * + * @example + * + * var socket = require('topsin.socket'); + * + * var client = socket.TcpSocket(mainLoop); + * client.on('connected', function(conn) { + * console.log("connected"); + * }); + * + * conn.on('readready', function(conn) { + * var data = conn.readAll(); + * console.log(data); + * conn.write(data); + * }); + * + * conn.on('disconnected', function(conn) { + * console.log(conn.errorString()); + * mainLoop.quit(); + * }); + * + * client.connectToHost("127.0.0.1", 8888); + * mainLoop.exec(); + */ + export function TcpSocket(parent:mainLoop):TcpSocketImpl; +} + +export class mainLoop {}; +export = TopSinSocket; \ No newline at end of file diff --git a/test/ATS_AIM_customer_data_analysis.js b/test/ATS_AIM_customer_data_analysis.js index 9eee4d7..fb43b42 100644 --- a/test/ATS_AIM_customer_data_analysis.js +++ b/test/ATS_AIM_customer_data_analysis.js @@ -58,38 +58,20 @@ var JobId = $.job_id; var mode = "develop" // è¿è¡Œæ¨¡å¼ develop 开呿¨¡å¼ 方便调试 try { - // 获å–è„šæœ¬å‚æ•° - var par = $.par; - var parParams = ["step_filter", "erf", "auto_save"]; // par应该有的属性 - var isParExist = parParams.reduce(function (a, b) { - if (!par.hasOwnProperty(b)) { - a = false; - } - else if (par[b] == "") { - switch (b) { - case "step_filter": - par.pcs_step = "pcs"; - break; - case "auto_save": - par.auto_save = "yes"; - break; - } - } - return a; - }, true); - if(!isParExist){return "Error"} // 如果par没有parParams里的属性 就退出 - var job = Job,pcs_step="cad",array_step="stp" // todo - par.job_info = { // todo tmp - vc_src_01005_pad_result: ".smd", - depth_drill: "depth_drill", - depth_routing: "depth_routing", - cavity: "cavity" - } + var par = { + job:"i3", + job_info : { // todo tmp + vc_src_01005_pad_result: ".smd", + depth_drill: "depth_drill", + depth_routing: "depth_routing", + cavity: "cavity" + } + } + var job = par.job.toLowerCase(),pcs_step="cad",array_step="stp" // todo // æ–™å·éªŒè¯ - job = "1" - err = beforeStart({job:job});if(err){ throw err }; + err = beforeStart({job:job});if(err){ throw err }; // matrixåˆ†æž - var matrixInfo = getMatrixInfo({job:job}) + var matrixInfo = getMatrixInfo({job:job}) var matrix_analysis = UPLOAD_LAYER_MATRIX({job:job,matrixInfo:matrixInfo}) // 分æžmatrix var matrix = matrixInfo.matrix @@ -98,7 +80,7 @@ try { // IKM.msg(jobInfo) // 分æžé’»å”属性 // todo é•射切割长度 - analysis_drill({job:job,pcs_step:pcs_step,array_step:array_step,matrixInfo:matrixInfo,matrix_analysis:matrix_analysis},par) + // analysis_drill({job:job,pcs_step:pcs_step,array_step:array_step,matrixInfo:matrixInfo,matrix_analysis:matrix_analysis},par) @@ -154,7 +136,7 @@ function beforeStart(props){ // 脚本开始å‰çš„æ–™å·åˆ¤æ– GEN.checkInout({job:job,mode:"out"}) } function getMatrixInfo(props){ // 获å–matrixå„ç§ä¿¡æ¯ - var job = props.job || Job + var job = props.job var matrix = GEN.getMatrix({job:job}) var res = { matrix: matrix, // matrix @@ -195,12 +177,13 @@ function getMatrixInfo(props){ // 获å–matrixå„ç§ä¿¡æ¯ // 找出外层 以åŠå¤–层对应的防焊层 [{signalL:"top", solderL:"smt"}] res.mOuters = res.mSignals.reduce(function(a,b){ if(b.tl_type == "outer"){ - a.push({ + var solderLayers = res.mSolderMasks.filter(function(v){ + return v.side == b.side + }) + a.push({ signalL: b.name, - solderL: res.mSolderMasks.filter(function(v){ - return v.side == b.side - })[0]["name"] - }) + solderL: solderLayers.length >0 ? solderLayers[0]["name"] : null + }) } return a },[]) diff --git a/test/ATS_AIM_input_data copy.js b/test/ATS_AIM_input_data copy.js new file mode 100644 index 0000000..e071d9f --- /dev/null +++ b/test/ATS_AIM_input_data copy.js @@ -0,0 +1,331 @@ +/* + NAME: + DESCRIPTION: 导入gerberæ•°æ® + PARAMETER: + [ + { + name : 'customer', + title : 'CUSTOMER å', + type : 'LineEdit', + property : {tool_tip : '客户åç§°'} + }, + { + name : 'job_name', + title : 'æ–™å·å', + type : 'LineEdit', + property : {tool_tip : 'æ–™å·å'} + }, + { + name : 'path', + title : '资料路径', + type : 'LineEdit', + property : {tool_tip : '客户资料所在路径'} + } + ] + + VERSION_HISTORY: + V1.00 2020 3-30 Scott + + HELP: + <html><body bgcolor="#DDECFE"> + <font size="3" color="#003DB2"><p>功能简介</p></font> + <p> 导入gerberæ•°æ®</p> + <br> + <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> + <p> 导入gerberæ•°æ®çš„规则 </p> + <font size="3" color="#003DB2"><p>注æ„事项</p></font> + <p> â— æ— </p> + <br> + </body></html> +*/ + +// å¼•å…¥æ¨¡å— åŒ… +var $ = require('topcam.scriptfunc').argv(); +var fs = require('fs'); +var _ = require('lodash'); +var IKM = $.ikm; +var GEN = $.gen; +var GUI = $.gui; +var Job = $.job; + +try { + // 获å–è„šæœ¬å‚æ•° + var par = $.par; + + // !!! tmp + par = { + customer: "ats", + job_name: "1", + path: "C:/Users/Alan/Desktop/Customer_1" + } + + var parParams = ["customer", "job_name", "path"]; // par应该有的属性 + var isParExist = parParams.reduce(function (a, b) { + if (!par.hasOwnProperty(b)) { + a = false; + } + else if (par[b] == "") { + switch (b) { + case "job_name": + par.job_name = Job; + break; + } + } + return a; + }, true); + if(!isParExist){throw "par error"} // 如果par没有parParams里的属性 就退出 + + var cfg = JSON.parse(IKM.select_value({table:'pub_conf',field:'json_data',where:{path : 'cam/input_data'}})); // 读å–é…置文件 + var customer = par.customer.split("_")[0].toLowerCase() + var useCfg = cfg[customer]; + addDefaultCfg(cfg.def, useCfg) // æ·»åŠ é»˜è®¤é…ç½® + if(customer != par.customer.toLowerCase()){ + var cfgType = cfg[par.customer.toLowerCase()] + if(cfgType){ changeCfg(useCfg, cfgType) } + } + var job = par.job_name, path = par.path || useCfg.path, step = useCfg.step, err + err = delSameJob({job:job, delSame:useCfg.delSameJob}); if(err){throw err} + // 判æ–å¯¼å…¥æ–¹å¼ å¤„ç†path + var jobPath = path + "/" + job + if(!fs.exists(jobPath)){throw "path error"} + var pathInfo = getPathInfo({path:jobPath, cfg: useCfg}) // 分æžpath下的文件 + if(!pathInfo.type){throw "file error"} // pathInfo.type "ODB" or "Gerber" + var input_ok = false // åˆ¤æ–æ˜¯ä¸æ˜¯å¯¼å…¥æˆåŠŸ + // 分支 导入ODB + if(pathInfo.type == "ODB"){ + var odb = useCfg.ODB + var fileInfo = getFileInfo({inputConfig:odb, path:jobPath, files:pathInfo.files}) // 获å–å¯¼å…¥æ–‡ä»¶ä¿¡æ¯ + if(/^yes$/ig.test(odb.isMerge) && fileInfo.length > 1){ + var err = mergeJob({odb:odb,job:job,fileInfo:fileInfo,delSameJob:useCfg.delSameJob}) + if(err){throw err} + } else { + var jobInfo = fileInfo.filter(function(v){return v.baseName == job})[0] + if(jobInfo.length==0){throw "file error"} + var err = importJob({name:job,db:odb.db,path:jobInfo.path},useCfg.delSameJob) + if(err){throw err} + } + input_ok = true + } + // 分支 导入Gerber + if(pathInfo.type == "Gerber"){ + var gerber = useCfg.Gerber + // 如果è¦ä¿®æ”¹æ–‡ä»¶ + if(gerber.editFile && gerber.editFile.length){ + // 将文件拷è´ä¸€ä»½åˆ°_tmp + var tmpDir = path + "/" + job + "_tmp" + if(!fs.exists(tmpDir)){fs.mkdir(tmpDir)} + var srcFiles = [] + pathInfo.files.forEach(function(v){ + srcFiles.push(v) + fs.copyFile(v.path,tmpDir + "/" + v.name,true) + }) + jobPath = tmpDir + pathInfo.files = fs.listDir(tmpDir,1) + // é…ç½®æ“作 + gerber.editFile.forEach(function(item){ + var filter = item.filter + var fn = eval(item.callback) + pathInfo.files.forEach(function(file){ + var reg = new RegExp(file.suffix, "ig") + if(reg.test(filter)){ + fn.call({},{fs: fs, nowFile: file, srcFiles: srcFiles}) + } + }) + }) + } + var fileInfo = getFileInfo({inputConfig:gerber, path:jobPath, files:pathInfo.files}) // 获å–å¯¼å…¥æ–‡ä»¶ä¿¡æ¯ + // 导入gerberæ•°æ® + importGerber({job:job,step:step,gerber:gerber,fileInfo:fileInfo}) + input_ok = true + } + + if(!input_ok){throw "input failed"} + // end + if(/^yes$/ig.test(useCfg.isDelComp)){ // åˆ é™¤comp层 + var matrix = GEN.getMatrix({job:job}); + comp = Object.keys(matrix).filter(function(v){ + return /^comp_\+_/ig.test(v) + }) + if (comp.length > 0){ + var tmp = GEN.getStepList({job:job}) + GEN.openStep({job:job,name:tmp[0]}) + GEN.COM("delete_comp") + GEN.closeStep() + } + } + if(/^yes$/ig.test(useCfg.autoSave)){ // 自动ä¿å˜ + GEN.checkInout({job:job,mode:"out"}) + GEN.saveJob({ job: job }); + } + GEN.checkInout({job:job,mode:"in"}) + GEN.closeJob({job:job}) + + return 'Done'; +} +catch (error) { + IKM.msg(error) + return 'Error'; +} + +function addDefaultCfg(def, use) { + for (var key in def) { + var val = def[key] + if (typeof val == "string" && !use.hasOwnProperty(key)) { + use[key] = val + } else if (typeof val == "object" && use.hasOwnProperty(key)) { + if (!use[key].hasOwnProperty("db")) { + use[key].db = val.db + } + if (!use[key].hasOwnProperty("files")) { + use[key].files = val.files + } + } + if (key == "Gerber" && use.hasOwnProperty(key)) { + for (var gkey in val.format) { + if (!use[key].hasOwnProperty("format")) { + use[key].format = val.format + } else if (!use[key].format.hasOwnProperty(gkey)) { + use[key].format[gkey] = val.format[gkey] + } + } + } + if (key == "ODB" && !use.hasOwnProperty(key)){ use.ODB = val } + } +} +function changeCfg(useCfg,cfgType){ + for(var key in cfgType){ + var value = cfgType[key] + if(key == "Gerber"){ + changeCfg(useCfg.Gerber, cfgType.Gerber) + } else { + useCfg[key] = value + } + } +} +function delSameJob(props){ + var job = props.job + var delSame = props.delSame + if(GEN.isJobExists({job:job})){ + if(/^yes$/ig.test(delSame)){ + if(GEN.isJobOpen({job:job})){ GEN.closeJob({job:job}) } + GEN.deleteJob({job:job}) + } else { + return "job "+ job+ " exist" + } + } +} +function getPathInfo(props){ + var path = props.path + var cfg = props.cfg + var res = {} + res.files = fs.listDir(path) + res.fileSuffix = res.files.reduce(function(a,b){ + if(b.isFile && a.indexOf(b.suffix)<0){ + a.push(b.suffix) + } + return a + },[]) + if(cfg.Gerber){ + res.type = cfg.Gerber.files.reduce(function(a,b){ + if(res.fileSuffix.indexOf(b) >= 0){ + a = true + } + return a + }, false)? "Gerber" : undefined + } + if(cfg.ODB){ + res.type = cfg.ODB.files.reduce(function(a,b){ + if(res.fileSuffix.indexOf(b) < 0){ + a = false + } + return a + }, true)? "ODB" : res.type + } + return res +} +function getFileInfo(props){ + var inputConfig = props.inputConfig, path = props.path, files = props.files + var fileInfo = files.reduce(function(a,b){ + if(inputConfig.files.indexOf(b.suffix)>=0){ + a.push({ + name:b.name, + baseName: b.baseName, + completeBaseName: b.completeBaseName, + completeSuffix: b.completeSuffix, + path: b.path, + suffix: b.suffix + }) + } + return a + },[]) + return fileInfo +} + +function importJob(props,delSameJob){ + var name = props.name + if (GEN.isJobExists({ job: name })) { + if (/^yes$/ig.test(delSameJob)) { + if(GEN.isJobOpen({ job: name })){ GEN.closeJob({ job: name }); } + GEN.deleteJob({ job: name }); + } + else { + return "job "+name+" exist"; + } + } + GEN.importJob(props); +} + +function mergeJob(props){ + var odb = props.odb + var job = props.job + var fileInfo = props.fileInfo + var arrJobName = odb.jobNameRule.replace("(job)", job) + var jobInfo = fileInfo.filter(function(v){return v.baseName == job})[0] + var arrJobInfo = fileInfo.filter(function(v){return v.baseName == arrJobName})[0] + if(!jobInfo){ return "file error" } + if(!arrJobInfo){ return "file error" } + var jobInfos = [jobInfo, arrJobInfo] + for(var i = 0;i<jobInfos.length;i++){ + var err = importJob({name:jobInfos[i].baseName,db:odb.db,path:jobInfos[i].path},props.delSameJob) + if(err){return err} + } + // åˆå¹¶æ“作 + jobInfos.forEach(function(v){GEN.openJob({job:v.baseName})}) + GEN.copyStep({ + source_job:arrJobInfo.baseName, + source_name:odb.arrStep, + dest_job:jobInfo.baseName, + dest_name:odb.arrStep, + }); + GEN.closeJob({ job: arrJobInfo.baseName }); + GEN.deleteJob({ job: arrJobInfo.baseName }); +} +function importGerber(props){ + var fileInfo = props.fileInfo + var gerber = props.gerber + var job = props.job + var step = props.step + var gerberFiles = fileInfo.filter(function(file){return gerber.gerberConfig.hasOwnProperty(file.suffix)}) + var gerberInfo = gerberFiles.map(function(item){ + var gerberConfig = gerber.gerberConfig[item.suffix] || {} + var gerberItem = { + layer: item.name.toLowerCase(), path: item.path, + format: gerber.format[item.suffix] || "Excellon2", + job:job,step:step + } + for (var key in gerberConfig) { + gerberItem[key] = gerberConfig[key] + } + return gerberItem + }) + // 创建料å·å’Œstep + GEN.createJob({name:job,db:gerber.db}) + GEN.createStep({job:job,name:step}) + // 分æžgeberé…ç½® + GEN.COM("input_manual_reset") + gerberInfo.forEach(function(v){ + GEN.COM("input_manual_set",v) + }) + GEN.COM("input_manual") +} + diff --git a/test/ATS_AIM_input_data.js b/test/ATS_AIM_input_data.js index e071d9f..8eb778c 100644 --- a/test/ATS_AIM_input_data.js +++ b/test/ATS_AIM_input_data.js @@ -1,44 +1,3 @@ -/* - NAME: - DESCRIPTION: 导入gerberæ•°æ® - PARAMETER: - [ - { - name : 'customer', - title : 'CUSTOMER å', - type : 'LineEdit', - property : {tool_tip : '客户åç§°'} - }, - { - name : 'job_name', - title : 'æ–™å·å', - type : 'LineEdit', - property : {tool_tip : 'æ–™å·å'} - }, - { - name : 'path', - title : '资料路径', - type : 'LineEdit', - property : {tool_tip : '客户资料所在路径'} - } - ] - - VERSION_HISTORY: - V1.00 2020 3-30 Scott - - HELP: - <html><body bgcolor="#DDECFE"> - <font size="3" color="#003DB2"><p>功能简介</p></font> - <p> 导入gerberæ•°æ®</p> - <br> - <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> - <p> 导入gerberæ•°æ®çš„规则 </p> - <font size="3" color="#003DB2"><p>注æ„事项</p></font> - <p> â— æ— </p> - <br> - </body></html> -*/ - // å¼•å…¥æ¨¡å— åŒ… var $ = require('topcam.scriptfunc').argv(); var fs = require('fs'); @@ -47,161 +6,114 @@ var IKM = $.ikm; var GEN = $.gen; var GUI = $.gui; var Job = $.job; +var JobId = $.job_id; try { - // 获å–è„šæœ¬å‚æ•° - var par = $.par; - - // !!! tmp - par = { - customer: "ats", - job_name: "1", - path: "C:/Users/Alan/Desktop/Customer_1" + var config = require("../config1.js") // 读å–é…置文件 + var cfg = IKM.select_value({table:'pub_conf',field:'text_data',where:{path : 'cam/input_data'}}) + var par = { // todo 通过æŸç§æ–¹å¼æ‹¿åˆ°æ–™å·å’Œå®¢æˆ·å + job:"11", + customer: "New_data" } - - var parParams = ["customer", "job_name", "path"]; // par应该有的属性 - var isParExist = parParams.reduce(function (a, b) { - if (!par.hasOwnProperty(b)) { - a = false; - } - else if (par[b] == "") { - switch (b) { - case "job_name": - par.job_name = Job; - break; - } - } - return a; - }, true); - if(!isParExist){throw "par error"} // 如果par没有parParams里的属性 就退出 - - var cfg = JSON.parse(IKM.select_value({table:'pub_conf',field:'json_data',where:{path : 'cam/input_data'}})); // 读å–é…置文件 - var customer = par.customer.split("_")[0].toLowerCase() - var useCfg = cfg[customer]; - addDefaultCfg(cfg.def, useCfg) // æ·»åŠ é»˜è®¤é…ç½® - if(customer != par.customer.toLowerCase()){ - var cfgType = cfg[par.customer.toLowerCase()] - if(cfgType){ changeCfg(useCfg, cfgType) } - } - var job = par.job_name, path = par.path || useCfg.path, step = useCfg.step, err - err = delSameJob({job:job, delSame:useCfg.delSameJob}); if(err){throw err} - // 判æ–å¯¼å…¥æ–¹å¼ å¤„ç†path - var jobPath = path + "/" + job - if(!fs.exists(jobPath)){throw "path error"} - var pathInfo = getPathInfo({path:jobPath, cfg: useCfg}) // 分æžpath下的文件 - if(!pathInfo.type){throw "file error"} // pathInfo.type "ODB" or "Gerber" - var input_ok = false // åˆ¤æ–æ˜¯ä¸æ˜¯å¯¼å…¥æˆåŠŸ - // 分支 导入ODB - if(pathInfo.type == "ODB"){ - var odb = useCfg.ODB - var fileInfo = getFileInfo({inputConfig:odb, path:jobPath, files:pathInfo.files}) // 获å–å¯¼å…¥æ–‡ä»¶ä¿¡æ¯ - if(/^yes$/ig.test(odb.isMerge) && fileInfo.length > 1){ - var err = mergeJob({odb:odb,job:job,fileInfo:fileInfo,delSameJob:useCfg.delSameJob}) - if(err){throw err} - } else { - var jobInfo = fileInfo.filter(function(v){return v.baseName == job})[0] - if(jobInfo.length==0){throw "file error"} - var err = importJob({name:job,db:odb.db,path:jobInfo.path},useCfg.delSameJob) - if(err){throw err} - } - input_ok = true + IKM.msg($.par) + throw "end" + // var config = eval(cfg) + var job = par.job.toLowerCase(); + // 如果genesiså·²ç»å˜åœ¨è¿™ä¸ªæ–™å· + err = delSameJob({job:job,delSame:config.delSameJob}); if(err){throw err}; + var custCfg = config.customer[par.customer] + if(!custCfg){throw "config error"} + var step = custCfg.step.toLowerCase() + // 获å–è·¯å¾„ä¸‹æ–‡ä»¶ä¿¡æ¯ + var pathInfo = fs.listDir(custCfg.path, 1) + // 判æ–å˜ä¸å˜åœ¨æ–™å·æ–‡ä»¶ + var jobFile = pathInfo.filter(function(v){return v.baseName.toLowerCase() == job}) + if(jobFile.length == 0){throw "job file is not exist"} + var jobFiles = [] // 记录è¦åˆ†æžçš„æ–‡ä»¶ + if (!jobFile[0].isDir) { + jobFiles.push(jobFile[0]) + } else { + jobFiles = fs.listDir(jobFile[0].path) } - // 分支 导入Gerber - if(pathInfo.type == "Gerber"){ - var gerber = useCfg.Gerber - // 如果è¦ä¿®æ”¹æ–‡ä»¶ - if(gerber.editFile && gerber.editFile.length){ - // 将文件拷è´ä¸€ä»½åˆ°_tmp - var tmpDir = path + "/" + job + "_tmp" - if(!fs.exists(tmpDir)){fs.mkdir(tmpDir)} - var srcFiles = [] - pathInfo.files.forEach(function(v){ - srcFiles.push(v) - fs.copyFile(v.path,tmpDir + "/" + v.name,true) - }) - jobPath = tmpDir - pathInfo.files = fs.listDir(tmpDir,1) - // é…ç½®æ“作 - gerber.editFile.forEach(function(item){ - var filter = item.filter - var fn = eval(item.callback) - pathInfo.files.forEach(function(file){ - var reg = new RegExp(file.suffix, "ig") - if(reg.test(filter)){ - fn.call({},{fs: fs, nowFile: file, srcFiles: srcFiles}) - } - }) + // åˆ†æžæ–™å·æ–‡ä»¶ 得到料å·å¯¼å…¥ä¿¡æ¯ 导入类型 + var jobInfo = analyJobFiles({jobFiles:jobFiles.filter(function(v){return v.isFile}),custCfg:custCfg,config:config,job:job }) + if(jobInfo.data.length == 0){throw "file error"} + var importOk = false; // æ˜¯å¦æˆåŠŸå¯¼å…¥ + if(/odb/ig.test(jobInfo.type)){ // odb导入 + if(jobInfo.data.length == 1){ // åªåˆ†æžåˆ°ä¸€ä¸ªtgz文件 直接导入 + var err = importJob({name:job,db:custCfg.db,path:jobInfo.data[0].file.path},config.delSameJob) + if(err){throw err} + } else { // 多个tgz文件 说明需è¦åˆå¹¶ + var mergeFiles = jobInfo.data.filter(function(item){ + var err = importJob({name:item.file.baseName,db:custCfg.db,path:item.file.path},config.delSameJob) + if(err){throw err} + return /yes/ig.test(item.format.isMerge) }) + var arr_job = mergeFiles[0] + var arr_step; + var steplist = GEN.getStepList({job:arr_job}) + if(steplist.indexOf(arr_job.format.arrStep) < 0){ + arr_step = steplist[0] + }else{arr_step = arr_job.format.arrStep} + GEN.openJob({job:job}); + GEN.openJob({job:arr_job.file.baseName}); + GEN.copyStep({ // åˆå¹¶ + source_job:arr_job.file.baseName, + source_name:arr_step, + dest_job:job, + dest_name:arr_step, + }); + GEN.closeJob({ job: arr_job.file.baseName }); + GEN.deleteJob({ job: arr_job.file.baseName }); // åˆå¹¶åŽ åˆ é™¤arrayçš„æ–™å· } - var fileInfo = getFileInfo({inputConfig:gerber, path:jobPath, files:pathInfo.files}) // 获å–å¯¼å…¥æ–‡ä»¶ä¿¡æ¯ - // 导入gerberæ•°æ® - importGerber({job:job,step:step,gerber:gerber,fileInfo:fileInfo}) - input_ok = true + importOk = true } - if(!input_ok){throw "input failed"} - // end - if(/^yes$/ig.test(useCfg.isDelComp)){ // åˆ é™¤comp层 - var matrix = GEN.getMatrix({job:job}); - comp = Object.keys(matrix).filter(function(v){ - return /^comp_\+_/ig.test(v) + if(/gerber/ig.test(jobInfo.type)){ // gerber导入 + GEN.createJob({name:job,db:custCfg.db}) + GEN.createStep({job:job,name:step}) + var gerberInfo = jobInfo.data.map(function(item){ + var gerberCfg = JSON.parse(JSON.stringify(item.format)); + var file = item.file + gerberCfg.layer = file.name.toLowerCase() + gerberCfg.path = file.path + gerberCfg.format = item.type + gerberCfg.job = job + gerberCfg.step = step + return gerberCfg }) - if (comp.length > 0){ - var tmp = GEN.getStepList({job:job}) - GEN.openStep({job:job,name:tmp[0]}) - GEN.COM("delete_comp") - GEN.closeStep() - } + GEN.COM("input_manual_reset") + gerberInfo.forEach(function(v){ + GEN.COM("input_manual_set",v) + }) + GEN.COM("input_manual") + importOk = true } - if(/^yes$/ig.test(useCfg.autoSave)){ // 自动ä¿å˜ - GEN.checkInout({job:job,mode:"out"}) - GEN.saveJob({ job: job }); + + if(!importOk){throw "import error"} + // å¯¼å…¥ç»“æŸ + var matrix = GEN.getMatrix({job:job}); + comp = Object.keys(matrix).filter(function(v){ // 如果有comp层 åˆ é™¤ + return /^comp_\+_/ig.test(v) + }) + if (comp.length > 0){ + var tmp = GEN.getStepList({job:job}) + GEN.openStep({job:job,name:tmp[0]}) + GEN.COM("delete_comp") + GEN.closeStep() } + + GEN.checkInout({job:job,mode:"out"}) // 结æŸä¿å˜æ–™å· 关闿–™å· + GEN.saveJob({ job: job }); GEN.checkInout({job:job,mode:"in"}) GEN.closeJob({job:job}) - + return 'Done'; } catch (error) { - IKM.msg(error) + GUI.msg(error) return 'Error'; } - -function addDefaultCfg(def, use) { - for (var key in def) { - var val = def[key] - if (typeof val == "string" && !use.hasOwnProperty(key)) { - use[key] = val - } else if (typeof val == "object" && use.hasOwnProperty(key)) { - if (!use[key].hasOwnProperty("db")) { - use[key].db = val.db - } - if (!use[key].hasOwnProperty("files")) { - use[key].files = val.files - } - } - if (key == "Gerber" && use.hasOwnProperty(key)) { - for (var gkey in val.format) { - if (!use[key].hasOwnProperty("format")) { - use[key].format = val.format - } else if (!use[key].format.hasOwnProperty(gkey)) { - use[key].format[gkey] = val.format[gkey] - } - } - } - if (key == "ODB" && !use.hasOwnProperty(key)){ use.ODB = val } - } -} -function changeCfg(useCfg,cfgType){ - for(var key in cfgType){ - var value = cfgType[key] - if(key == "Gerber"){ - changeCfg(useCfg.Gerber, cfgType.Gerber) - } else { - useCfg[key] = value - } - } -} function delSameJob(props){ var job = props.job var delSame = props.delSame @@ -214,53 +126,60 @@ function delSameJob(props){ } } } -function getPathInfo(props){ - var path = props.path - var cfg = props.cfg - var res = {} - res.files = fs.listDir(path) - res.fileSuffix = res.files.reduce(function(a,b){ - if(b.isFile && a.indexOf(b.suffix)<0){ - a.push(b.suffix) - } - return a - },[]) - if(cfg.Gerber){ - res.type = cfg.Gerber.files.reduce(function(a,b){ - if(res.fileSuffix.indexOf(b) >= 0){ - a = true - } - return a - }, false)? "Gerber" : undefined - } - if(cfg.ODB){ - res.type = cfg.ODB.files.reduce(function(a,b){ - if(res.fileSuffix.indexOf(b) < 0){ - a = false - } - return a - }, true)? "ODB" : res.type - } - return res -} -function getFileInfo(props){ - var inputConfig = props.inputConfig, path = props.path, files = props.files - var fileInfo = files.reduce(function(a,b){ - if(inputConfig.files.indexOf(b.suffix)>=0){ - a.push({ - name:b.name, - baseName: b.baseName, - completeBaseName: b.completeBaseName, - completeSuffix: b.completeSuffix, - path: b.path, - suffix: b.suffix +function analyJobFiles(props){ + var files = props.jobFiles; + var config = props.config; + var job = props.job; + var custCfg = props.custCfg; + var rules = custCfg.rules; + var paramsFile = files.filter(function(file){return /param/ig.test(file.baseName)}) + var tmp_hash = {} + paramsFile.forEach(function(file){ + tmp_hash[file.baseName] = (function(){ + var tmparr = fs.readFile(file.path).split("\n") + var tmp = {} + tmparr.map(function(v){ + var arr = v.split(/\b\s+\b/) + tmp[arr[0].replace(/-/ig,"_")] = arr[1] + }) + return tmp + })() + }) + + var fileInfo = files.reduce(function(a,file){ + try { + rules.forEach(function(item){ + if(item.valid({file:file, job:job})){ + var format = config.formats[item.format] + var format1; + if(item.format_params){ + format1 = item.format_params({params:tmp_hash}) + } + if(format1){ + throw {file:file,type:item.type,format:format1} + }else{ + throw {file:file,type:item.type,format:format} + } + } }) + } catch (info) { + a.push(info) } return a },[]) - return fileInfo + var odbfiles = fileInfo.filter(function(item){return /odb/ig.test(item.type)}) + if(odbfiles.length == 0){ + return { + type: "Gerber", + data: fileInfo + } + } else { + return { + type: "ODB", + data: odbfiles + } + } } - function importJob(props,delSameJob){ var name = props.name if (GEN.isJobExists({ job: name })) { @@ -275,57 +194,4 @@ function importJob(props,delSameJob){ GEN.importJob(props); } -function mergeJob(props){ - var odb = props.odb - var job = props.job - var fileInfo = props.fileInfo - var arrJobName = odb.jobNameRule.replace("(job)", job) - var jobInfo = fileInfo.filter(function(v){return v.baseName == job})[0] - var arrJobInfo = fileInfo.filter(function(v){return v.baseName == arrJobName})[0] - if(!jobInfo){ return "file error" } - if(!arrJobInfo){ return "file error" } - var jobInfos = [jobInfo, arrJobInfo] - for(var i = 0;i<jobInfos.length;i++){ - var err = importJob({name:jobInfos[i].baseName,db:odb.db,path:jobInfos[i].path},props.delSameJob) - if(err){return err} - } - // åˆå¹¶æ“作 - jobInfos.forEach(function(v){GEN.openJob({job:v.baseName})}) - GEN.copyStep({ - source_job:arrJobInfo.baseName, - source_name:odb.arrStep, - dest_job:jobInfo.baseName, - dest_name:odb.arrStep, - }); - GEN.closeJob({ job: arrJobInfo.baseName }); - GEN.deleteJob({ job: arrJobInfo.baseName }); -} -function importGerber(props){ - var fileInfo = props.fileInfo - var gerber = props.gerber - var job = props.job - var step = props.step - var gerberFiles = fileInfo.filter(function(file){return gerber.gerberConfig.hasOwnProperty(file.suffix)}) - var gerberInfo = gerberFiles.map(function(item){ - var gerberConfig = gerber.gerberConfig[item.suffix] || {} - var gerberItem = { - layer: item.name.toLowerCase(), path: item.path, - format: gerber.format[item.suffix] || "Excellon2", - job:job,step:step - } - for (var key in gerberConfig) { - gerberItem[key] = gerberConfig[key] - } - return gerberItem - }) - // 创建料å·å’Œstep - GEN.createJob({name:job,db:gerber.db}) - GEN.createStep({job:job,name:step}) - // 分æžgeberé…ç½® - GEN.COM("input_manual_reset") - gerberInfo.forEach(function(v){ - GEN.COM("input_manual_set",v) - }) - GEN.COM("input_manual") -} diff --git a/test/ATS_AIM_input_data_v3_0.js b/test/ATS_AIM_input_data_v3_0.js index 53666db..6760d8f 100644 --- a/test/ATS_AIM_input_data_v3_0.js +++ b/test/ATS_AIM_input_data_v3_0.js @@ -1,3 +1,4 @@ + // å¼•å…¥æ¨¡å— åŒ… var $ = require('topcam.scriptfunc').argv(); var fs = require('fs'); @@ -7,22 +8,28 @@ var GEN = $.gen; var GUI = $.gui; var Job = $.job; var JobId = $.job_id; - +var Status = 'ok'; +var resultData = []; try { - var config = require("../config.js") // 读å–é…置文件 - var cfg = IKM.select_value({table:'pub_conf',field:'text_data',where:{path : 'cam/input_data'}}) - var par = { // todo - job:"I6", - customer: "Customer_2" + // var config = require("../config.js") // 读å–é…置文件 config + var cfg = IKM.select_value({table:'pub_conf',field:'text_data',where:{path : 'cam/input_data'}}) // 拿到框架ä¸çš„系统é…ç½® + if (!cfg || cfg == ""){throw "cfg can not find"} + var par = { // ??? 通过æŸç§æ–¹å¼æ‹¿åˆ°æ–™å·å’Œå®¢æˆ·å + job:"i4", + customer: "Customer_2" // Customer_1 || Customer_2 || New_data } - // var config = eval(cfg) - var job = par.job.toLowerCase(); + var config = eval(cfg) + var job = par.job || Job; + if(_.isEmpty(job)) throw "æ²¡æœ‰ä¼ å…¥æ–™å·å!"; + job = job.toLowerCase() // 如果genesiså·²ç»å˜åœ¨è¿™ä¸ªæ–™å· err = delSameJob({job:job,delSame:config.delSameJob}); if(err){throw err}; var custCfg = config.customer[par.customer] + if(!custCfg){throw "config error"} var step = custCfg.step.toLowerCase() // 获å–è·¯å¾„ä¸‹æ–‡ä»¶ä¿¡æ¯ - var pathInfo = fs.listDir(custCfg.path, 1) + var path = par.path || custCfg.path + var pathInfo = fs.listDir(path, 1) // 判æ–å˜ä¸å˜åœ¨æ–™å·æ–‡ä»¶ var jobFile = pathInfo.filter(function(v){return v.baseName.toLowerCase() == job}) if(jobFile.length == 0){throw "job file is not exist"} @@ -32,30 +39,37 @@ try { } else { jobFiles = fs.listDir(jobFile[0].path) } + // åˆ†æžæ–™å·æ–‡ä»¶ 得到料å·å¯¼å…¥ä¿¡æ¯ 导入类型 var jobInfo = analyJobFiles({jobFiles:jobFiles.filter(function(v){return v.isFile}),custCfg:custCfg,config:config,job:job }) - var importOk = false; + // IKM.msg(jobInfo.data.map(function(v){return v.format})) + if(jobInfo.data.length == 0){throw "file error"} + var importOk = false; // æ˜¯å¦æˆåŠŸå¯¼å…¥ if(/odb/ig.test(jobInfo.type)){ // odb导入 - if(jobInfo.data.length == 0){throw "file error"} - if(jobInfo.data.length == 1){ + if(jobInfo.data.length == 1){ // åªåˆ†æžåˆ°ä¸€ä¸ªtgz文件 直接导入 var err = importJob({name:job,db:custCfg.db,path:jobInfo.data[0].file.path},config.delSameJob) - if(err){throw err} - } else { + if(err){throw err} + } else { // 多个tgz文件 说明需è¦åˆå¹¶ var mergeFiles = jobInfo.data.filter(function(item){ var err = importJob({name:item.file.baseName,db:custCfg.db,path:item.file.path},config.delSameJob) if(err){throw err} return /yes/ig.test(item.format.isMerge) }) var arr_job = mergeFiles[0] + var arr_step; + var steplist = GEN.getStepList({job:arr_job.file.baseName}) + if(steplist.indexOf(arr_job.format.arrStep) < 0){ + arr_step = steplist[0] + }else{arr_step = arr_job.format.arrStep} GEN.openJob({job:job}); GEN.openJob({job:arr_job.file.baseName}); - GEN.copyStep({ + GEN.copyStep({ // åˆå¹¶ source_job:arr_job.file.baseName, - source_name:arr_job.format.arrStep, + source_name:arr_step, dest_job:job, - dest_name:arr_job.format.arrStep, + dest_name:arr_step, }); GEN.closeJob({ job: arr_job.file.baseName }); - GEN.deleteJob({ job: arr_job.file.baseName }); + GEN.deleteJob({ job: arr_job.file.baseName }); // åˆå¹¶åŽ åˆ é™¤arrayçš„æ–™å· } importOk = true } @@ -80,10 +94,12 @@ try { GEN.COM("input_manual") importOk = true } + if(!importOk){throw "import error"} + // å¯¼å…¥ç»“æŸ var matrix = GEN.getMatrix({job:job}); - comp = Object.keys(matrix).filter(function(v){ + comp = Object.keys(matrix).filter(function(v){ // 如果有comp层 åˆ é™¤ return /^comp_\+_/ig.test(v) }) if (comp.length > 0){ @@ -92,10 +108,12 @@ try { GEN.COM("delete_comp") GEN.closeStep() } - GEN.checkInout({job:job,mode:"out"}) // 自动ä¿å˜ - GEN.saveJob({ job: job }); - GEN.checkInout({job:job,mode:"in"}) - GEN.closeJob({job:job}) + + // !!!! tmp + // GEN.checkInout({job:job,mode:"out"}) // 结æŸä¿å˜æ–™å· 关闿–™å· + // GEN.saveJob({ job: job }); + // GEN.checkInout({job:job,mode:"in"}) + // GEN.closeJob({job:job}) return 'Done'; } @@ -169,7 +187,6 @@ function analyJobFiles(props){ } } } - function importJob(props,delSameJob){ var name = props.name if (GEN.isJobExists({ job: name })) { diff --git a/test/ATS_AIM_layer_rename_v_2_0.js b/test/ATS_AIM_layer_rename_v_2_0.js index 8a70842..71c1d7a 100644 --- a/test/ATS_AIM_layer_rename_v_2_0.js +++ b/test/ATS_AIM_layer_rename_v_2_0.js @@ -46,26 +46,33 @@ try { var mode = "develop" // develop var config = require("../config.js") // 读å–é…置文件 var par = { // todo - job:"I3", + job:"i4", customer: "Customer_2" } - var job = par.job.toLowerCase(); // èŽ·å–æ–™å· + var job = par.job || Job; + if(_.isEmpty(job)) throw "æ²¡æœ‰ä¼ å…¥æ–™å·å!"; + job = job.toLowerCase() var custCfg = config.customer[par.customer] // 获å–客户é…ç½® var step = custCfg.step.toLowerCase() // 获å–pcs_step - // æ–™å·éªŒè¯ if(!GEN.isJobExists({job:job})){ throw "job "+ job+ " is not exist" } if(!GEN.isJobOpen({job:job})){GEN.openJob({job:job})} if(GEN.checkInout({job:job,mode:"test"}) != 0 && mode != "develop"){ throw "the job check" } - GEN.checkInout({job:job,mode:"out"}); - + GEN.checkInout({job:job,mode:"out"}); + + // if(config.hasOwnProperty("merge_drill")){ // todo + // mergeDrill({job:job}) + // } // start martix_tl_name var matrix = GEN.getMatrix({job:job}) var tl_name_matrix = tlNameMatrix({matrix:matrix,tl_name:custCfg.tl_name}) // ç»™matrixä¿¡æ¯æ·»åŠ tl_name - // tl_name_matrix.forEach(function(item){ - // IKM.add({name:item.name, tl_name:item.tl_name}) - // }) - // IKM.add("",1) + + + + tl_name_matrix.forEach(function(item){ // * 调试 + IKM.add({name:item.name, tl_name:item.tl_name}) + }) + IKM.add("",1) var format_cfg = config.data_format // æ‹¿åˆ°æ•°æ®æ ‡å‡†åŒ–é…ç½® @@ -81,7 +88,6 @@ try { err = reName({job:job, matrix:after_sort_matrix, cfg:format_cfg}) if(err){throw err} - return 'Done'; } catch (error) { @@ -104,9 +110,9 @@ function tlNameMatrix(props){ // è®¾ç½®æ ‡å‡†å }) } }) - IKM.msg(tlname_rules) - var res = Object.keys(matrix).map(function(key){ + var res = Object.keys(matrix).map(function(key){ // å°†matrixä¿¡æ¯æ·»åŠ tl_name 如果没有tl_name å°±è¿”å›žåŽŸä¿¡æ¯ var val = matrix[key] + if(val.hasOwnProperty("tl_name")){delete val.tl_name} var tlRule = tlname_rules.filter(function(rule){ if(rule.orig_name === key){return true} var reg = new RegExp(rule.orig_name,"ig") @@ -211,24 +217,24 @@ function sortLayer(props){ // æŽ’åºæ–¹æ³• {job:è¦æŽ’åºçš„æ–™å·, rule: {è¦ function setDrill(props){ // è®¾ç½®é’»å” var job = props.job var matrix = props.matrix + // èŽ·å–æ‰€æœ‰çš„é’»å”层 var drillLayer =matrix.filter(function(v){ - return v.attr.type == "drill" && v.attr.context == "board" + return (v.attr.type == "drill" || v.attr.type == "rout") && v.attr.context == "board" }) // èŽ·å–æ‰€æœ‰single层 var signalLayer =matrix.filter(function(v){ return v.attr.type == "signal" && v.attr.context == "board" }) - var layerCount = GEN.getLayerCount({job:job}) // findSignal æ ¹æ®ä¼ å…¥çš„æ•°å—æ‰¾åˆ°å¯¹åº”çš„signal层 如 1 => top ; 2 => layer_2 function findSignal(num){ return signalLayer[Number(num-1)].name - } + } function doDrill(drills){ // 分æžé’»å”层 return drills.map(function(v){ - if(v == "drill" || v=="rout"){ - return {start:findSignal[1], end:findSignal[layerCount], layer:v.name} + if(v.name == "drill" || v.name=="rout"){ + return {start:findSignal(1), end:findSignal(layerCount), layer:v.name} } else { var tmp = /(\d+)-(\d+)/ig.exec(v.tl_name); if(tmp){ @@ -241,7 +247,7 @@ function setDrill(props){ // è®¾ç½®é’»å” } }) } - var drillSetList = doDrill(drillLayer); // 分æžå¾—到钻å”设置结果 + var drillSetList = doDrill(drillLayer); // 分æžå¾—到钻å”设置结果 drillSetList = drillSetList.filter(function(v){return v!==0}) drillSetList.forEach(function(v){ GEN.matrixLayerDrill({job:job,layer:v.layer,start:v.start ,end:v.end}) @@ -309,7 +315,7 @@ function mergeDrill(props){ // åˆå¹¶é’»å” var step = GEN.getStepList({job:job})[0]; var maxDrill = {name:"",value:0}; function getDrl(str){ - var num = /(\d+)-(\d+)/ig.exec(str); // 匹é…出 num-num + var num = /(\d+)-(\d+)\.drl/ig.exec(str); // 匹é…出 num-num var tmp = []; for(var i = Number(num[1]);i<num[2];i++){ if(i == 1){ @@ -323,7 +329,7 @@ function mergeDrill(props){ // åˆå¹¶é’»å” GEN.openStep({job : job,name:step}); for(var key in matrix){ var val = matrix[key]; - if(val.layer_type == "drill"){ + if(val.layer_type == "drill" && /(\d+)-(\d+)\.drl/ig.test(val.name)){ var mergeTo = getDrl(val.name) // è¦åˆå¹¶åˆ°çš„地方 mergeTo.forEach(function(layerName){ if(GEN.isLayerExists({job : job ,layer:layerName.toLowerCase()}) && newdrills.indexOf(layerName.toLowerCase()) < 0){ @@ -338,11 +344,10 @@ function mergeDrill(props){ // åˆå¹¶é’»å” }) } } - // åˆå¹¶åˆ°maxDrill独立åˆå¹¶ GEN.createLayer({job:job,layer:"b1-"+maxDrill.value,conext:'board',type:'drill'}); GEN.workLayer({name:"b1-"+maxDrill.value,display_number:1,clear_before:'yes'}); GEN.copyLayer({source_job:job ,mode:'append',source_step:step,source_layer:maxDrill.name,dest_layer:"b1-"+maxDrill.value}); - GEN.affectedLayer({affected:"no",mode:"all"}); + GEN.affectedLayer({affected:"no",mode:"all"}); + GEN.clearLayers(); GEN.closeStep(); - return this; } diff --git a/test/CAM_Analysis_job.js b/test/CAM_Analysis_job.js new file mode 100644 index 0000000..2a17569 --- /dev/null +++ b/test/CAM_Analysis_job.js @@ -0,0 +1,3 @@ +module.exports = function(){ + +} \ No newline at end of file diff --git a/test/mytest.js b/test/mytest.js index 8a70842..6760d8f 100644 --- a/test/mytest.js +++ b/test/mytest.js @@ -1,37 +1,3 @@ -/* - NAME: - DESCRIPTION: matrix改åå’ŒæŽ’åº - PARAMETER: - [ - { - name : 'customer', - title : 'CUSTOMER å', - type : 'LineEdit', - property : {tool_tip : '客户åç§°'} - }, - { - name : 'job_name', - title : 'æ–™å·å', - type : 'LineEdit', - property : {tool_tip : 'æ–™å·å'} - } - ] - - VERSION_HISTORY: - V1.00 2020 3-30 Scott - - HELP: - <html><body bgcolor="#DDECFE"> - <font size="3" color="#003DB2"><p>功能简介</p></font> - <p> matrix改å和排åº</p> - <br> - <font size="3" color="#003DB2"><p>傿•°é…ç½®</p></font> - <p> matrix改å和排åºè§„则 </p> - <font size="3" color="#003DB2"><p>注æ„事项</p></font> - <p> â— æ— </p> - <br> - </body></html> -*/ // å¼•å…¥æ¨¡å— åŒ… var $ = require('topcam.scriptfunc').argv(); @@ -41,308 +7,198 @@ var IKM = $.ikm; var GEN = $.gen; var GUI = $.gui; var Job = $.job; - +var JobId = $.job_id; +var Status = 'ok'; +var resultData = []; try { - var mode = "develop" // develop - var config = require("../config.js") // 读å–é…置文件 - var par = { // todo - job:"I3", - customer: "Customer_2" + // var config = require("../config.js") // 读å–é…置文件 config + var cfg = IKM.select_value({table:'pub_conf',field:'text_data',where:{path : 'cam/input_data'}}) // 拿到框架ä¸çš„系统é…ç½® + if (!cfg || cfg == ""){throw "cfg can not find"} + var par = { // ??? 通过æŸç§æ–¹å¼æ‹¿åˆ°æ–™å·å’Œå®¢æˆ·å + job:"i4", + customer: "Customer_2" // Customer_1 || Customer_2 || New_data + } + var config = eval(cfg) + var job = par.job || Job; + if(_.isEmpty(job)) throw "æ²¡æœ‰ä¼ å…¥æ–™å·å!"; + job = job.toLowerCase() + // 如果genesiså·²ç»å˜åœ¨è¿™ä¸ªæ–™å· + err = delSameJob({job:job,delSame:config.delSameJob}); if(err){throw err}; + var custCfg = config.customer[par.customer] + if(!custCfg){throw "config error"} + var step = custCfg.step.toLowerCase() + // 获å–è·¯å¾„ä¸‹æ–‡ä»¶ä¿¡æ¯ + var path = par.path || custCfg.path + var pathInfo = fs.listDir(path, 1) + // 判æ–å˜ä¸å˜åœ¨æ–™å·æ–‡ä»¶ + var jobFile = pathInfo.filter(function(v){return v.baseName.toLowerCase() == job}) + if(jobFile.length == 0){throw "job file is not exist"} + var jobFiles = [] // 记录è¦åˆ†æžçš„æ–‡ä»¶ + if (!jobFile[0].isDir) { + jobFiles.push(jobFile[0]) + } else { + jobFiles = fs.listDir(jobFile[0].path) + } + // åˆ†æžæ–™å·æ–‡ä»¶ 得到料å·å¯¼å…¥ä¿¡æ¯ 导入类型 + var jobInfo = analyJobFiles({jobFiles:jobFiles.filter(function(v){return v.isFile}),custCfg:custCfg,config:config,job:job }) + // IKM.msg(jobInfo.data.map(function(v){return v.format})) + if(jobInfo.data.length == 0){throw "file error"} + var importOk = false; // æ˜¯å¦æˆåŠŸå¯¼å…¥ + if(/odb/ig.test(jobInfo.type)){ // odb导入 + if(jobInfo.data.length == 1){ // åªåˆ†æžåˆ°ä¸€ä¸ªtgz文件 直接导入 + var err = importJob({name:job,db:custCfg.db,path:jobInfo.data[0].file.path},config.delSameJob) + if(err){throw err} + } else { // 多个tgz文件 说明需è¦åˆå¹¶ + var mergeFiles = jobInfo.data.filter(function(item){ + var err = importJob({name:item.file.baseName,db:custCfg.db,path:item.file.path},config.delSameJob) + if(err){throw err} + return /yes/ig.test(item.format.isMerge) + }) + var arr_job = mergeFiles[0] + var arr_step; + var steplist = GEN.getStepList({job:arr_job.file.baseName}) + if(steplist.indexOf(arr_job.format.arrStep) < 0){ + arr_step = steplist[0] + }else{arr_step = arr_job.format.arrStep} + GEN.openJob({job:job}); + GEN.openJob({job:arr_job.file.baseName}); + GEN.copyStep({ // åˆå¹¶ + source_job:arr_job.file.baseName, + source_name:arr_step, + dest_job:job, + dest_name:arr_step, + }); + GEN.closeJob({ job: arr_job.file.baseName }); + GEN.deleteJob({ job: arr_job.file.baseName }); // åˆå¹¶åŽ åˆ é™¤arrayçš„æ–™å· + } + importOk = true } - var job = par.job.toLowerCase(); // èŽ·å–æ–™å· - var custCfg = config.customer[par.customer] // 获å–客户é…ç½® - var step = custCfg.step.toLowerCase() // 获å–pcs_step - // æ–™å·éªŒè¯ - if(!GEN.isJobExists({job:job})){ throw "job "+ job+ " is not exist" } - if(!GEN.isJobOpen({job:job})){GEN.openJob({job:job})} - if(GEN.checkInout({job:job,mode:"test"}) != 0 && mode != "develop"){ throw "the job check" } - GEN.checkInout({job:job,mode:"out"}); - - // start martix_tl_name - var matrix = GEN.getMatrix({job:job}) - var tl_name_matrix = tlNameMatrix({matrix:matrix,tl_name:custCfg.tl_name}) // ç»™matrixä¿¡æ¯æ·»åŠ tl_name - // tl_name_matrix.forEach(function(item){ - // IKM.add({name:item.name, tl_name:item.tl_name}) - // }) - // IKM.add("",1) + if(/gerber/ig.test(jobInfo.type)){ // gerber导入 + GEN.createJob({name:job,db:custCfg.db}) + GEN.createStep({job:job,name:step}) + var gerberInfo = jobInfo.data.map(function(item){ + var gerberCfg = JSON.parse(JSON.stringify(item.format)); + var file = item.file + gerberCfg.layer = file.name.toLowerCase() + gerberCfg.path = file.path + gerberCfg.format = item.type + gerberCfg.job = job + gerberCfg.step = step + return gerberCfg + }) + GEN.COM("input_manual_reset") + gerberInfo.forEach(function(v){ + GEN.COM("input_manual_set",v) + }) + GEN.COM("input_manual") + importOk = true + } - var format_cfg = config.data_format // æ‹¿åˆ°æ•°æ®æ ‡å‡†åŒ–é…ç½® + if(!importOk){throw "import error"} - // 排åºå’Œè®¾å±žæ€§ - var ret = sortLayer({job:job, rule:format_cfg, matrix:tl_name_matrix}) - if(ret.err){throw err} - var after_sort_matrix = ret.sortNames - // è®¾ç½®é’»å” - err = setDrill({job:job, matrix:after_sort_matrix}) - if(err){throw err} - - // 改å - err = reName({job:job, matrix:after_sort_matrix, cfg:format_cfg}) - if(err){throw err} + // å¯¼å…¥ç»“æŸ + var matrix = GEN.getMatrix({job:job}); + comp = Object.keys(matrix).filter(function(v){ // 如果有comp层 åˆ é™¤ + return /^comp_\+_/ig.test(v) + }) + if (comp.length > 0){ + var tmp = GEN.getStepList({job:job}) + GEN.openStep({job:job,name:tmp[0]}) + GEN.COM("delete_comp") + GEN.closeStep() + } + // !!!! tmp + // GEN.checkInout({job:job,mode:"out"}) // 结æŸä¿å˜æ–™å· 关闿–™å· + // GEN.saveJob({ job: job }); + // GEN.checkInout({job:job,mode:"in"}) + // GEN.closeJob({job:job}) return 'Done'; } catch (error) { - GUI.msg(error); + GUI.msg(error) return 'Error'; } - -function tlNameMatrix(props){ // è®¾ç½®æ ‡å‡†å - var matrix = props.matrix - var tlname_rules = [] - props.tl_name.forEach(function(item){ - if(typeof item.orig_name == "string"){ - tlname_rules.push(item) - } else { - item.orig_name.forEach(function(name2){ - tlname_rules.push({ - orig_name: name2, - tl_name: item.tl_name - }) - }) - } - }) - IKM.msg(tlname_rules) - var res = Object.keys(matrix).map(function(key){ - var val = matrix[key] - var tlRule = tlname_rules.filter(function(rule){ - if(rule.orig_name === key){return true} - var reg = new RegExp(rule.orig_name,"ig") - return reg.test(key) - }) - if(tlRule.length == 0){return val} - for(var i=0;i<tlRule.length;i++){ - if(tlRule[i].orig_name === key){return _.assign(val,{tl_name:tlRule[0].tl_name})} - } - var reg = new RegExp(tlRule[0].orig_name,"ig") - var tmp = reg.exec(key) - if(tmp && tmp.length){ - var replaceArr = tmp.slice(1) - var tl_name = tlRule[0].tl_name - var params = {} - for(var i = 0; i<replaceArr.length;i++){ - params["$"+(i+1)] = replaceArr[i] - } - replaceArr.forEach(function(v,i){ - tl_name = tl_name.replace("($"+(i+1)+")",v) - }) - tl_name = replaceTlName(tl_name) - function replaceTlName(name){ - var tmp = /(\([^)]*\))/ig.exec(name) - if(!tmp){ return name } - var param_arr = tmp[1].match(/\$\d+/ig) - var newname = tmp[1] - param_arr.forEach(function(v){ - newname = newname.replace(new RegExp("\\"+v,"ig"), params[v]) - }) - newname = name.replace(tmp[1],eval(newname)) - return replaceTlName(newname) - } - return _.assign(val,{tl_name:tl_name}) - }else { - return _.assign(val,{tl_name:tlRule[0].tl_name}) - } - }) - return res -} - -function sortLayer(props){ // æŽ’åºæ–¹æ³• {job:è¦æŽ’åºçš„æ–™å·, rule: {è¦æ”¹å的规则} +function delSameJob(props){ var job = props.job - var matrix = GEN.getMatrix({job:job}) - var tl_matrix = props.matrix - var matrixName = Object.keys(matrix).sort(function(a,b){return matrix[a].row - matrix[b].row}) - var matrixFirst = matrixName[0]; // 记录matrixä¸ç¬¬ä¸€ä½ - var sortNames = []; - var miscName = tl_matrix.filter(function(value){ // æ‰¾å‡ºéœ€è¦æŽ’åºçš„å称列表 - var flag = true; - if (!value.tl_name || value.tl_name == ""){return true} - var tl_name = value.tl_name - props.rule.forEach(function(item,i){ - var evalReg = "/"+item.tl_name+"/ig.test(tl_name)"; - if(tl_name == item.tl_name || eval(evalReg)){ - flag = false; - if(tl_name === item.tl_name){ - var _item = JSON.parse(JSON.stringify(item)); - _item.value = i; - _item.name = value.name - _item.rule = item.tl_name - sortNames.push(_item); - } else { - var _item = JSON.parse(JSON.stringify(item)); - _item.value = i; - var str = "/"+ item.tl_name +"/ig.exec(tl_name)" - _item.value2 = eval(str).pop() - 0; - _item.name = value.name - _item.rule = item.tl_name - _item.tl_name = tl_name; - sortNames.push(_item); - } - } - }); - return flag; - }).map(function(v){return v.name}) - miscName.forEach(function(n){ - if(matrix[n].context == 'board'){ - GEN.matrixLayerAttr({job:job,layer:n,context:'misc'}) + var delSame = props.delSame + if(GEN.isJobExists({job:job})){ + if(/^yes$/ig.test(delSame)){ + if(GEN.isJobOpen({job:job})){ GEN.closeJob({job:job}) } + GEN.deleteJob({job:job}) + } else { + return "job "+ job+ " exist" } - }) - sortNames = sortNames.sort(function(a,b){ - return a.value - b.value || a.value2 - b.value2 - }) - // æŽ’åº - if(sortNames.length){ - if(sortNames[0].name !== matrixFirst) { // 如果第一ä½å’Œmatrixä¸ç¬¬ä¸€ä½ä¸åŒï¼Œå…ˆæŠŠç¬¬ä¸€ä½æ’入到最å‰é¢ - GEN.matrixMoveRow({ job:job,layer:sortNames[0].name,before:matrixFirst }) - } - sortNames.forEach(function(v,i,arr){ - if(i !== 0){ - GEN.matrixMoveRow({ job:job,layer:v.name,after:arr[i-1].name }) - } - GEN.matrixLayerAttr(_.assign({job:job,layer:v.name},v.attr)); - }) - } - return { - sortNames:sortNames - } -} - -function setDrill(props){ // è®¾ç½®é’»å” - var job = props.job - var matrix = props.matrix - // èŽ·å–æ‰€æœ‰çš„é’»å”层 - var drillLayer =matrix.filter(function(v){ - return v.attr.type == "drill" && v.attr.context == "board" - }) - // èŽ·å–æ‰€æœ‰single层 - var signalLayer =matrix.filter(function(v){ - return v.attr.type == "signal" && v.attr.context == "board" - }) - - var layerCount = GEN.getLayerCount({job:job}) - // findSignal æ ¹æ®ä¼ å…¥çš„æ•°å—æ‰¾åˆ°å¯¹åº”çš„signal层 如 1 => top ; 2 => layer_2 - function findSignal(num){ - return signalLayer[Number(num-1)].name } - function doDrill(drills){ // 分æžé’»å”层 - return drills.map(function(v){ - if(v == "drill" || v=="rout"){ - return {start:findSignal[1], end:findSignal[layerCount], layer:v.name} - } else { - var tmp = /(\d+)-(\d+)/ig.exec(v.tl_name); - if(tmp){ - var start = findSignal(tmp[1]); - var end = findSignal(tmp[2]); - return {start:start, end:end, layer:v.name} - } else { - return 0; - } - } - }) - } - var drillSetList = doDrill(drillLayer); // 分æžå¾—到钻å”设置结果 - drillSetList = drillSetList.filter(function(v){return v!==0}) - drillSetList.forEach(function(v){ - GEN.matrixLayerDrill({job:job,layer:v.layer,start:v.start ,end:v.end}) - }) } - -function reName(props) { // 改å par{job:è¦æ”¹å的料å·, rule: {è¦æ”¹å的规则} - var job = props.job - var matrix = props.matrix - var cfg = props.cfg - matrix = matrix.filter(function(v){return v.name != v.new_name}) - var rename_list = matrix.map(function(item){ - var new_name; - var tl_name = item.tl_name - var rule = item.rule - if(rule === tl_name){ - new_name = item.new_name - } else { - var reg = new RegExp(rule,"ig") - var tmp = reg.exec(tl_name) - if(!tmp){return undefined} - var replaceArr = tmp.slice(1) - new_name = item.new_name - var params = {} - for(var i = 0; i<replaceArr.length;i++){ - params["$"+(i+1)] = replaceArr[i] - } - replaceArr.forEach(function(v,i){ - tl_name = tl_name.replace("($"+(i+1)+")",v) +function analyJobFiles(props){ + var files = props.jobFiles; + var config = props.config; + var job = props.job; + var custCfg = props.custCfg; + var rules = custCfg.rules; + var paramsFile = files.filter(function(file){return /param/ig.test(file.baseName)}) + var tmp_hash = {} + paramsFile.forEach(function(file){ + tmp_hash[file.baseName] = (function(){ + var tmparr = fs.readFile(file.path).split("\n") + var tmp = {} + tmparr.map(function(v){ + var arr = v.split(/\b\s+\b/) + tmp[arr[0].replace(/-/ig,"_")] = arr[1] }) - new_name = replaceTlName(new_name) - function replaceTlName(name){ - var tmp = /(\([^)]*\))/ig.exec(name) - if(!tmp){ return name } - var param_arr = tmp[1].match(/\$\d+/ig) - var newname = tmp[1] - param_arr.forEach(function(v){ - newname = newname.replace(new RegExp("\\"+v,"ig"), params[v]) - }) - newname = name.replace(tmp[1],eval(newname)) - return replaceTlName(newname) - } + return tmp + })() + }) + + var fileInfo = files.reduce(function(a,file){ + try { + rules.forEach(function(item){ + if(item.valid({file:file, job:job})){ + var format = config.formats[item.format] + var format1; + if(item.format_params){ + format1 = item.format_params({params:tmp_hash}) + } + if(format1){ + throw {file:file,type:item.type,format:format1} + }else{ + throw {file:file,type:item.type,format:format} + } + } + }) + } catch (info) { + a.push(info) } + return a + },[]) + var odbfiles = fileInfo.filter(function(item){return /odb/ig.test(item.type)}) + if(odbfiles.length == 0){ return { - orig_name: item.name, - new_name: new_name + type: "Gerber", + data: fileInfo } - }) - rename_list = rename_list.filter(function(v){ - var flag = true - if(!v){flag = false} - if(!v.orig_name || !v.new_name ){flag = false} - return flag - }) - rename_list.forEach(function(v){ - if(v.orig_name !== v.new_name){ - GEN.renameLayer({job:job,layer:v.orig_name,new_name:v.new_name}) - } - }); + } else { + return { + type: "ODB", + data: odbfiles + } + } } - -function mergeDrill(props){ // åˆå¹¶é’»å” - var newdrills = [] - var job = props.job; - var step = GEN.getStepList({job:job})[0]; - var maxDrill = {name:"",value:0}; - function getDrl(str){ - var num = /(\d+)-(\d+)/ig.exec(str); // 匹é…出 num-num - var tmp = []; - for(var i = Number(num[1]);i<num[2];i++){ - if(i == 1){ - maxDrill = Number(num[2]) > maxDrill.value? {name:str,value:Number(num[2])} : maxDrill; - } - tmp.push("L"+i+"-"+(i+1)); +function importJob(props,delSameJob){ + var name = props.name + if (GEN.isJobExists({ job: name })) { + if (/^yes$/ig.test(delSameJob)) { + if(GEN.isJobOpen({ job: name })){ GEN.closeJob({ job: name }); } + GEN.deleteJob({ job: name }); } - return tmp; - } - var matrix = GEN.getMatrix({job:job}); - GEN.openStep({job : job,name:step}); - for(var key in matrix){ - var val = matrix[key]; - if(val.layer_type == "drill"){ - var mergeTo = getDrl(val.name) // è¦åˆå¹¶åˆ°çš„地方 - mergeTo.forEach(function(layerName){ - if(GEN.isLayerExists({job : job ,layer:layerName.toLowerCase()}) && newdrills.indexOf(layerName.toLowerCase()) < 0){ - GEN.deleteLayer({job:job, layer:layerName.toLowerCase()}) - } - if(!GEN.isLayerExists({job : job ,layer:layerName.toLowerCase()})){ - GEN.createLayer({job:job,layer:layerName.toLowerCase(),conext:'board',type:val.layer_type}); - newdrills.push(layerName.toLowerCase()) - } - GEN.workLayer({name:layerName.toLowerCase(),display_number:1,clear_before:'yes'}); - GEN.copyLayer({source_job:job ,mode:'append',source_step:step,source_layer:val.name,dest_layer:layerName.toLowerCase()}); - }) + else { + return "job "+name+" exist"; } } - // åˆå¹¶åˆ°maxDrill独立åˆå¹¶ - GEN.createLayer({job:job,layer:"b1-"+maxDrill.value,conext:'board',type:'drill'}); - GEN.workLayer({name:"b1-"+maxDrill.value,display_number:1,clear_before:'yes'}); - GEN.copyLayer({source_job:job ,mode:'append',source_step:step,source_layer:maxDrill.name,dest_layer:"b1-"+maxDrill.value}); - GEN.affectedLayer({affected:"no",mode:"all"}); - GEN.closeStep(); - return this; + GEN.importJob(props); } + + -- 2.21.0