diff --git a/types/countup.js/countup.js-tests.ts b/types/countup.js/countup.js-tests.ts
index 1cee20301d..4b0dfc36d6 100644
--- a/types/countup.js/countup.js-tests.ts
+++ b/types/countup.js/countup.js-tests.ts
@@ -1,20 +1,20 @@
-const b = new CountUp();
+const b = new CountUp(".foo", 0, 100);
-const options: countUp.CountUpOptions = {
- decimal: ",",
- useGrouping: true,
- suffix: "-",
- prefix: "=",
- separator: "/",
- useEasing: true,
- formattingFn: number => number + "-",
- easingFn: (t, b, c, d) => t + b + c + d,
- numerals: ["q", 2, "e", [3], "t", 0, "u", 7, "o", "p"]
+const options: CountUp.CountUpOptions = {
+ decimal: ",",
+ useGrouping: true,
+ suffix: "-",
+ prefix: "=",
+ separator: "/",
+ useEasing: true,
+ formattingFn: number => number + "-",
+ easingFn: (t, b, c, d) => t + b + c + d,
+ numerals: ["q", 2, "e", [3], "t", 0, "u", 7, "o", "p"]
};
const element = document.getElementById("#id");
if (element) {
- const instance2 = new CountUp(element, 2, "3", 0, "5", options);
+ const instance2 = new CountUp(element, 2, "3", 0, "5", options);
}
const instance = new CountUp(".js-target", 2, "3", 0, "5", options);
@@ -22,7 +22,7 @@ const instance = new CountUp(".js-target", 2, "3", 0, "5", options);
instance.start();
instance.start(() => {
- console.log(instance.version());
+ console.log(instance.version());
});
instance.update(999);
diff --git a/types/countup.js/index.d.ts b/types/countup.js/index.d.ts
index 72b75a003a..e74376d75b 100644
--- a/types/countup.js/index.d.ts
+++ b/types/countup.js/index.d.ts
@@ -1,16 +1,9 @@
-// Type definitions for countup.js v1.9.3
+// Type definitions for countup.js 1.9
// Project: https://github.com/inorganik/CountUp.js
-// Definitions by: Rostislav Shermenyov
+// Definitions by: Rostislav Shermenyov
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-declare const CountUp: countUp.CountUpConstructor;
-
-declare module "countup.js" {
- export = CountUp;
-}
-
-declare namespace countUp {
- interface CountUpConstructor {
+declare class CountUp {
/**
* @param target Id of html element or var of previously selected html element where counting occurs
* @param startVal The value you want to begin at
@@ -18,65 +11,15 @@ declare namespace countUp {
* @param decimals Number of decimal places, default 0
* @param duration Duration of animation in seconds, default 2
* @param options Object of options
- * @return CountUp instance
*/
- new (
- target?: string | HTMLElement,
- startVal?: number | string,
- endVal?: number | string,
- decimals?: number | string,
- duration?: number | string,
- options?: CountUpOptions
- ): CountUpInstance;
- }
-
- interface CountUpOptions {
- /**
- * Character to use as a decimal
- */
- decimal?: string;
- /**
- * Optional custom easing function, default is Robert Penner's easeOutExpo
- * @param t current time
- * @param b start value
- * @param c change in value
- * @param d duration
- * @return calculated value
- */
- easingFn?(t: number, b: number, c: number, d: number): number;
- /**
- * Optional custom formatting function
- * @param num
- * @return
- */
- formattingFn?(num: number): string;
- /**
- * Optionally pass an array of custom numerals for 0-9
- */
- numerals?: any[];
- /**
- * Optional text before the result
- */
- prefix?: string;
- /**
- * Character to use as a separator
- */
- separator?: string;
- /**
- * Optional text after the result
- */
- suffix?: string;
- /**
- * Toggle easing
- */
- useEasing?: boolean;
- /**
- * 1,000,000 vs 1000000
- */
- useGrouping?: boolean;
- }
-
- interface CountUpInstance {
+ constructor(
+ target: string | HTMLElement,
+ startVal: number | string,
+ endVal: number | string,
+ decimals?: number | string,
+ duration?: number | string,
+ options?: CountUp.CountUpOptions
+ );
// #region Dynamic params
// Will appear(or not) in the CountUpInstance object once the other functions fire
// i.e. paused will return undefined instead of boolean unless the pauseResume() was called before
@@ -89,7 +32,7 @@ declare namespace countUp {
error?: string;
frameVal?: number;
initialized?: boolean;
- options?: CountUpOptions;
+ options?: CountUp.CountUpOptions;
paused?: boolean;
rAF?: number;
remaining?: number;
@@ -127,5 +70,55 @@ declare namespace countUp {
*/
update(newEndVal: number | string): void;
version(): string;
- }
}
+
+declare namespace CountUp {
+ interface CountUpOptions {
+ /**
+ * Character to use as a decimal
+ */
+ decimal?: string;
+ /**
+ * Optional custom easing function, default is Robert Penner's easeOutExpo
+ * @param t current time
+ * @param b start value
+ * @param c change in value
+ * @param d duration
+ * @return calculated value
+ */
+ easingFn?(t: number, b: number, c: number, d: number): number;
+ /**
+ * Optional custom formatting function
+ * @param num
+ * @return
+ */
+ formattingFn?(num: number): string;
+ /**
+ * Optionally pass an array of custom numerals for 0-9
+ */
+ numerals?: any[];
+ /**
+ * Optional text before the result
+ */
+ prefix?: string;
+ /**
+ * Character to use as a separator
+ */
+ separator?: string;
+ /**
+ * Optional text after the result
+ */
+ suffix?: string;
+ /**
+ * Toggle easing
+ */
+ useEasing?: boolean;
+ /**
+ * 1,000,000 vs 1000000
+ */
+ useGrouping?: boolean;
+ }
+}
+
+export = CountUp;
+export as namespace CountUp;