mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-03-11 17:23:41 +00:00
feat: backend-supplied id cards on profile page
feat: SCIdCard thing
This commit is contained in:
@@ -21,6 +21,30 @@ import {SCISO8601Date} from '../../general/time.js';
|
||||
*/
|
||||
export type SCISO8601DateRange = SCRange<SCISO8601Date>;
|
||||
|
||||
/**
|
||||
* Checks if a value is inside a range
|
||||
* @param value the value to check
|
||||
* @param range the range
|
||||
*/
|
||||
export function isInRange<T>(value: T, range: SCRange<T>): boolean {
|
||||
return (
|
||||
(range.lt == undefined ? (range.lte == undefined ? true : range.lte >= value) : range.lt > value) &&
|
||||
(range.gt == undefined ? (range.gte == undefined ? true : range.gte <= value) : range.gt < value)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format a range
|
||||
* @example '0..4'
|
||||
* @example '1=..=3'
|
||||
* @example '0..=3'
|
||||
*/
|
||||
export function formatRange<T>(range: SCRange<T>): string {
|
||||
return `${range.gt ?? range.gte}${range.gte == undefined ? '' : '='}..${range.lte == undefined ? '' : '='}${
|
||||
range.lt ?? range.lte
|
||||
}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generic range type
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user