0.2.5 initial commit

Makefile incomplete
This commit is contained in:
Aiden McClelland
2020-11-23 13:44:28 -07:00
commit 95d3845906
503 changed files with 53448 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
import { Pipe, PipeTransform } from '@angular/core'
import { Emver } from '../services/emver.service'
@Pipe({
name: 'satisfiesEmver',
})
export class EmverSatisfiesPipe implements PipeTransform {
constructor (private readonly emver: Emver) { }
transform (versionUnderTest: string, range: string): boolean {
return this.emver.satisfies(versionUnderTest, range)
}
}
@Pipe({
name: 'compareEmver',
})
export class EmverComparesPipe implements PipeTransform {
constructor (private readonly emver: Emver) { }
transform (first: string, second: string): SemverResult {
try {
return this.emver.compare(first, second) as SemverResult
} catch (e) {
console.warn(`emver comparison failed`, e, first, second)
return 'comparison-impossible'
}
}
}
type SemverResult = 0 | 1 | -1 | 'comparison-impossible'
@Pipe({
name: 'displayEmver',
})
export class EmverDisplayPipe implements PipeTransform {
constructor () { }
transform (version: string): string {
return displayEmver(version)
}
}
@Pipe({
name: 'isValidEmver',
})
export class EmverIsValidPipe implements PipeTransform {
constructor () { }
transform (version: string): boolean {
return isValidEmver(version)
}
}
export function isValidEmver (version: string): boolean {
const vs = version.split('.')
if (vs.length < 3 || vs.length > 5) return false
if (!vs.every(v => !isNaN(parseFloat(v)))) return false
return true
}
export function displayEmver (version: string): string {
const vs = version.split('.')
if (vs.length === 4) return `${vs[0]}.${vs[1]}.${vs[2]}~${vs[3]}`
return version
}