@rr0/time
Version:
EDTF parsing
80 lines • 1.88 kB
text/typescript
/**
* @typedef {Object} Level0ComponentSpec
* @property {number} value
*/
/**
* A Date component as specified by EDTF level 0.
*
* @abstract
*/
export class Level0Component {
/**
* @param {Level0ComponentSpec|number} spec
* @param {CalendarUnit} unit
*/
constructor(spec: Level0ComponentSpec | number, unit: CalendarUnit);
/**
* @readonly
* @type CalendarUnit
*/
readonly unit: CalendarUnit;
/**
* @param {number} value
*/
set value(value: number);
/**
* @return {number}
*/
get value(): number;
/**
* @return {number}
*/
get duration(): number;
/**
* @param {Level0Component} other
* @return {number}
*/
compare(other: Level0Component): number;
/**
* @param {this} other
* @return {boolean}
*/
isEqual(other: this): boolean;
/**
* @param {this} other
* @return {boolean}
*/
isBefore(other: this): boolean;
/**
* @param {this} other
* @return {boolean}
*/
isAfter(other: this): boolean;
/**
* @param {CalendarUnit} [unit]
* @return {Level0Component}
*/
previous(unit?: CalendarUnit): Level0Component;
/**
* @param {CalendarUnit} [unit]
* @return {Level0Component}
*/
next(unit?: CalendarUnit): Level0Component;
/**
* @param {Level0ComponentRenderer} [renderer]
* @return {string}
*/
toString(renderer?: Level0ComponentRenderer): string;
/**
* @return {Level0Component}
*/
toSpec(): Level0Component;
toJSON(): Level0Component;
#private;
}
export type Level0ComponentSpec = {
value: number;
};
import { CalendarUnit } from "../../calendar/unit/CalendarUnit.mjs";
import { Level0ComponentRenderer } from "./Level0ComponentRenderer.mjs";
//# sourceMappingURL=Level0Component.d.mts.map