From 173de3e1e3ad133ecad59479fc0dedc594b11005 Mon Sep 17 00:00:00 2001 From: Julien P Date: Tue, 1 Mar 2016 15:53:35 +0100 Subject: [PATCH] Update semver definitions to 4.3.4 - Add missing semver functions: major(), minor(), patch(), diff() - Add tests for those new functions - Add semver var to allow using it easily with Angular --- semver/semver-tests.ts | 5 +++++ semver/semver.d.ts | 26 ++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/semver/semver-tests.ts b/semver/semver-tests.ts index c3631cd72..484e4f081 100644 --- a/semver/semver-tests.ts +++ b/semver/semver-tests.ts @@ -4,6 +4,7 @@ var obj:Object; var bool:boolean; var num:number; var str:string; +var diff:string; var x:any = null; var arr:any[]; var exp:RegExp; @@ -21,6 +22,9 @@ str = mod.valid(str); str = mod.valid(str, loose); str = mod.inc(str, str, loose); +num = mod.major(str, loose); +num = mod.minor(str, loose); +num = mod.patch(str, loose); // Comparison bool = mod.gt(v1, v2, loose); @@ -32,6 +36,7 @@ bool = mod.neq(v1, v2, loose); bool = mod.cmp(v1, x, v2, loose); num = mod.compare(v1, v2, loose); num = mod.rcompare(v1, v2, loose); +diff = mod.diff(v1, v2, loose); // Ranges str = mod.validRange(str, loose); diff --git a/semver/semver.d.ts b/semver/semver.d.ts index cb8efa4f5..6e0a4610e 100644 --- a/semver/semver.d.ts +++ b/semver/semver.d.ts @@ -1,7 +1,9 @@ -// Type definitions for semver v2.2.1 -// Project: https://github.com/isaacs/node-semver -// Definitions by: Bart van der Schoor -// Definitions: https://github.com/borisyankov/DefinitelyTyped +// Type definitions for semver v4.3.4 +// Project: https://github.com/npm/node-semver +// Definitions by: Bart van der Schoor and Julien Paroche +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/semver + +declare var semver: SemVerModule.SemVer; declare module SemVerModule { /** @@ -12,6 +14,18 @@ declare module SemVerModule { * Return the version incremented by the release type (major, minor, patch, or prerelease), or null if it's not valid. */ function inc(v: string, release: string, loose?: boolean): string; + /** + * Return the major version number. + */ + function major(v: string, loose?: boolean): number; + /** + * Return the minor version number. + */ + function minor(v: string, loose?: boolean): number; + /** + * Return the patch version number. + */ + function patch(v: string, loose?: boolean): number; // Comparison /** @@ -50,6 +64,10 @@ declare module SemVerModule { * The reverse of compare. Sorts an array of versions in descending order when passed to Array.sort(). */ function rcompare(v1: string, v2: string, loose?: boolean): number; + /** + * Returns difference between two versions by the release type (major, premajor, minor, preminor, patch, prepatch, or prerelease), or null if the versions are the same. + */ + function diff(v1: string, v2: string, loose?: boolean): string; // Ranges /**