]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/helpers/core-utils.ts
Add new plugin/peertube version notifs
[github/Chocobozzz/PeerTube.git] / server / helpers / core-utils.ts
index 7ba7d865a794b496682365ea0570a184a8ff67c3..0bd84ffaa88f2f6c59578210e7b654186673a673 100644 (file)
@@ -251,6 +251,17 @@ function promisify2<T, U, A> (func: (arg1: T, arg2: U, cb: (err: any, result: A)
   }
 }
 
+type SemVersion = { major: number, minor: number, patch: number }
+function parseSemVersion (s: string) {
+  const parsed = s.match(/^v?(\d+)\.(\d+)\.(\d+)$/i)
+
+  return {
+    major: parseInt(parsed[1]),
+    minor: parseInt(parsed[2]),
+    patch: parseInt(parsed[3])
+  } as SemVersion
+}
+
 const randomBytesPromise = promisify1<number, Buffer>(randomBytes)
 const createPrivateKey = promisify1<number, { key: string }>(pem.createPrivateKey)
 const getPublicKey = promisify1<string, { publicKey: string }>(pem.getPublicKey)
@@ -288,5 +299,7 @@ export {
   getPublicKey,
   execPromise2,
   execPromise,
-  pipelinePromise
+  pipelinePromise,
+
+  parseSemVersion
 }