.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / mimic-fn / index.d.ts
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/mimic-fn/index.d.ts b/.config/coc/extensions/node_modules/coc-prettier/node_modules/mimic-fn/index.d.ts
new file mode 100644 (file)
index 0000000..b4047d5
--- /dev/null
@@ -0,0 +1,54 @@
+declare const mimicFn: {
+       /**
+       Make a function mimic another one. It will copy over the properties `name`, `length`, `displayName`, and any custom properties you may have set.
+
+       @param to - Mimicking function.
+       @param from - Function to mimic.
+       @returns The modified `to` function.
+
+       @example
+       ```
+       import mimicFn = require('mimic-fn');
+
+       function foo() {}
+       foo.unicorn = '🦄';
+
+       function wrapper() {
+               return foo();
+       }
+
+       console.log(wrapper.name);
+       //=> 'wrapper'
+
+       mimicFn(wrapper, foo);
+
+       console.log(wrapper.name);
+       //=> 'foo'
+
+       console.log(wrapper.unicorn);
+       //=> '🦄'
+       ```
+       */
+       <
+               ArgumentsType extends unknown[],
+               ReturnType,
+               FunctionType extends (...arguments: ArgumentsType) => ReturnType
+       >(
+               to: (...arguments: ArgumentsType) => ReturnType,
+               from: FunctionType
+       ): FunctionType;
+
+       // TODO: Remove this for the next major release, refactor the whole definition to:
+       // declare function mimicFn<
+       //      ArgumentsType extends unknown[],
+       //      ReturnType,
+       //      FunctionType extends (...arguments: ArgumentsType) => ReturnType
+       // >(
+       //      to: (...arguments: ArgumentsType) => ReturnType,
+       //      from: FunctionType
+       // ): FunctionType;
+       // export = mimicFn;
+       default: typeof mimicFn;
+};
+
+export = mimicFn;