CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
lib.esnext.temporal.d.ts486 linesDownload Raw Back to lib
1/*! *****************************************************************************2Copyright (c) Microsoft Corporation. All rights reserved.3Licensed under the Apache License, Version 2.0 (the "License"); you may not use4this file except in compliance with the License. You may obtain a copy of the5License at http://www.apache.org/licenses/LICENSE-2.06 7THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY8KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED9WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,10MERCHANTABILITY OR NON-INFRINGEMENT.11 12See the Apache Version 2.0 License for specific language governing permissions13and limitations under the License.14***************************************************************************** */15 16 17/// <reference lib="es2015.symbol.wellknown" />18/// <reference lib="es2020.intl" />19/// <reference lib="es2025.intl" />20 21declare namespace Temporal {22    type CalendarLike = PlainDate | PlainDateTime | PlainMonthDay | PlainYearMonth | ZonedDateTime | string;23    type DurationLike = Duration | DurationLikeObject | string;24    type InstantLike = Instant | ZonedDateTime | string;25    type PlainDateLike = PlainDate | ZonedDateTime | PlainDateTime | DateLikeObject | string;26    type PlainDateTimeLike = PlainDateTime | ZonedDateTime | PlainDate | DateTimeLikeObject | string;27    type PlainMonthDayLike = PlainMonthDay | DateLikeObject | string;28    type PlainTimeLike = PlainTime | PlainDateTime | ZonedDateTime | TimeLikeObject | string;29    type PlainYearMonthLike = PlainYearMonth | YearMonthLikeObject | string;30    type TimeZoneLike = ZonedDateTime | string;31    type ZonedDateTimeLike = ZonedDateTime | ZonedDateTimeLikeObject | string;32 33    type PartialTemporalLike<T extends object> = {34        [P in Exclude<keyof T, "calendar" | "timeZone">]?: T[P] | undefined;35    };36 37    interface DateLikeObject {38        year?: number | undefined;39        era?: string | undefined;40        eraYear?: number | undefined;41        month?: number | undefined;42        monthCode?: string | undefined;43        day: number;44        calendar?: string | undefined;45    }46 47    interface DateTimeLikeObject extends DateLikeObject, TimeLikeObject {}48 49    interface DurationLikeObject {50        years?: number | undefined;51        months?: number | undefined;52        weeks?: number | undefined;53        days?: number | undefined;54        hours?: number | undefined;55        minutes?: number | undefined;56        seconds?: number | undefined;57        milliseconds?: number | undefined;58        microseconds?: number | undefined;59        nanoseconds?: number | undefined;60    }61 62    interface TimeLikeObject {63        hour?: number | undefined;64        minute?: number | undefined;65        second?: number | undefined;66        millisecond?: number | undefined;67        microsecond?: number | undefined;68        nanosecond?: number | undefined;69    }70 71    interface YearMonthLikeObject extends Omit<DateLikeObject, "day"> {}72 73    interface ZonedDateTimeLikeObject extends DateTimeLikeObject {74        timeZone: TimeZoneLike;75        offset?: string | undefined;76    }77 78    type DateUnit = "year" | "month" | "week" | "day";79    type TimeUnit = "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond";80    type PluralizeUnit<T extends DateUnit | TimeUnit> =81        | T82        | {83            year: "years";84            month: "months";85            week: "weeks";86            day: "days";87            hour: "hours";88            minute: "minutes";89            second: "seconds";90            millisecond: "milliseconds";91            microsecond: "microseconds";92            nanosecond: "nanoseconds";93        }[T];94 95    interface DisambiguationOptions {96        disambiguation?: "compatible" | "earlier" | "later" | "reject" | undefined;97    }98 99    interface OverflowOptions {100        overflow?: "constrain" | "reject" | undefined;101    }102 103    interface TransitionOptions {104        direction: "next" | "previous";105    }106 107    interface RoundingOptions<Units extends DateUnit | TimeUnit> {108        smallestUnit?: PluralizeUnit<Units> | undefined;109        roundingIncrement?: number | undefined;110        roundingMode?: "ceil" | "floor" | "expand" | "trunc" | "halfCeil" | "halfFloor" | "halfExpand" | "halfTrunc" | "halfEven" | undefined;111    }112 113    interface RoundingOptionsWithLargestUnit<Units extends DateUnit | TimeUnit> extends RoundingOptions<Units> {114        largestUnit?: "auto" | PluralizeUnit<Units> | undefined;115    }116 117    interface ToStringRoundingOptions<Units extends DateUnit | TimeUnit> extends Pick<RoundingOptions<Units>, "smallestUnit" | "roundingMode"> {}118 119    interface ToStringRoundingOptionsWithFractionalSeconds<Units extends DateUnit | TimeUnit> extends ToStringRoundingOptions<Units> {120        fractionalSecondDigits?: "auto" | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined;121    }122 123    namespace Now {124        function timeZoneId(): string;125        function instant(): Instant;126        function plainDateTimeISO(timeZone?: TimeZoneLike): PlainDateTime;127        function zonedDateTimeISO(timeZone?: TimeZoneLike): ZonedDateTime;128        function plainDateISO(timeZone?: TimeZoneLike): PlainDate;129        function plainTimeISO(timeZone?: TimeZoneLike): PlainTime;130    }131 132    interface PlainDateToStringOptions {133        calendarName?: "auto" | "always" | "never" | "critical" | undefined;134    }135 136    interface PlainDateToZonedDateTimeOptions {137        plainTime?: PlainTimeLike | undefined;138        timeZone: TimeZoneLike;139    }140 141    interface PlainDate {142        readonly calendarId: string;143        readonly era: string | undefined;144        readonly eraYear: number | undefined;145        readonly year: number;146        readonly month: number;147        readonly monthCode: string;148        readonly day: number;149        readonly dayOfWeek: number;150        readonly dayOfYear: number;151        readonly weekOfYear: number | undefined;152        readonly yearOfWeek: number | undefined;153        readonly daysInWeek: number;154        readonly daysInMonth: number;155        readonly daysInYear: number;156        readonly monthsInYear: number;157        readonly inLeapYear: boolean;158        toPlainYearMonth(): PlainYearMonth;159        toPlainMonthDay(): PlainMonthDay;160        add(duration: DurationLike, options?: OverflowOptions): PlainDate;161        subtract(duration: DurationLike, options?: OverflowOptions): PlainDate;162        with(dateLike: PartialTemporalLike<DateLikeObject>, options?: OverflowOptions): PlainDate;163        withCalendar(calendarLike: CalendarLike): PlainDate;164        until(other: PlainDateLike, options?: RoundingOptionsWithLargestUnit<DateUnit>): Duration;165        since(other: PlainDateLike, options?: RoundingOptionsWithLargestUnit<DateUnit>): Duration;166        equals(other: PlainDateLike): boolean;167        toPlainDateTime(time?: PlainTimeLike): PlainDateTime;168        toZonedDateTime(timeZone: TimeZoneLike): ZonedDateTime;169        toZonedDateTime(item: PlainDateToZonedDateTimeOptions): ZonedDateTime;170        toString(options?: PlainDateToStringOptions): string;171        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;172        toJSON(): string;173        valueOf(): never;174        readonly [Symbol.toStringTag]: "Temporal.PlainDate";175    }176 177    interface PlainDateConstructor {178        new (isoYear: number, isoMonth: number, isoDay: number, calendar?: string): PlainDate;179        readonly prototype: PlainDate;180        from(item: PlainDateLike, options?: OverflowOptions): PlainDate;181        compare(one: PlainDateLike, two: PlainDateLike): number;182    }183    var PlainDate: PlainDateConstructor;184 185    interface PlainTimeToStringOptions extends ToStringRoundingOptionsWithFractionalSeconds<Exclude<TimeUnit, "hour">> {}186 187    interface PlainTime {188        readonly hour: number;189        readonly minute: number;190        readonly second: number;191        readonly millisecond: number;192        readonly microsecond: number;193        readonly nanosecond: number;194        add(duration: DurationLike): PlainTime;195        subtract(duration: DurationLike): PlainTime;196        with(timeLike: PartialTemporalLike<TimeLikeObject>, options?: OverflowOptions): PlainTime;197        until(other: PlainTimeLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;198        since(other: PlainTimeLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;199        equals(other: PlainTimeLike): boolean;200        round(roundTo: PluralizeUnit<TimeUnit>): PlainTime;201        round(roundTo: RoundingOptions<TimeUnit>): PlainTime;202        toString(options?: PlainTimeToStringOptions): string;203        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;204        toJSON(): string;205        valueOf(): never;206        readonly [Symbol.toStringTag]: "Temporal.PlainTime";207    }208 209    interface PlainTimeConstructor {210        new (hour?: number, minute?: number, second?: number, millisecond?: number, microsecond?: number, nanosecond?: number): PlainTime;211        readonly prototype: PlainTime;212        from(item: PlainTimeLike, options?: OverflowOptions): PlainTime;213        compare(one: PlainTimeLike, two: PlainTimeLike): number;214    }215    var PlainTime: PlainTimeConstructor;216 217    interface PlainDateTimeToStringOptions extends PlainDateToStringOptions, PlainTimeToStringOptions {}218 219    interface PlainDateTime {220        readonly calendarId: string;221        readonly era: string | undefined;222        readonly eraYear: number | undefined;223        readonly year: number;224        readonly month: number;225        readonly monthCode: string;226        readonly day: number;227        readonly hour: number;228        readonly minute: number;229        readonly second: number;230        readonly millisecond: number;231        readonly microsecond: number;232        readonly nanosecond: number;233        readonly dayOfWeek: number;234        readonly dayOfYear: number;235        readonly weekOfYear: number | undefined;236        readonly yearOfWeek: number | undefined;237        readonly daysInWeek: number;238        readonly daysInMonth: number;239        readonly daysInYear: number;240        readonly monthsInYear: number;241        readonly inLeapYear: boolean;242        with(dateTimeLike: PartialTemporalLike<DateTimeLikeObject>, options?: OverflowOptions): PlainDateTime;243        withPlainTime(plainTime?: PlainTimeLike): PlainDateTime;244        withCalendar(calendar: CalendarLike): PlainDateTime;245        add(duration: DurationLike, options?: OverflowOptions): PlainDateTime;246        subtract(duration: DurationLike, options?: OverflowOptions): PlainDateTime;247        until(other: PlainDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;248        since(other: PlainDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;249        round(roundTo: PluralizeUnit<"day" | TimeUnit>): PlainDateTime;250        round(roundTo: RoundingOptions<"day" | TimeUnit>): PlainDateTime;251        equals(other: PlainDateTimeLike): boolean;252        toString(options?: PlainDateTimeToStringOptions): string;253        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;254        toJSON(): string;255        valueOf(): never;256        toZonedDateTime(timeZone: TimeZoneLike, options?: DisambiguationOptions): ZonedDateTime;257        toPlainDate(): PlainDate;258        toPlainTime(): PlainTime;259        readonly [Symbol.toStringTag]: "Temporal.PlainDateTime";260    }261 262    interface PlainDateTimeConstructor {263        new (isoYear: number, isoMonth: number, isoDay: number, hour?: number, minute?: number, second?: number, millisecond?: number, microsecond?: number, nanosecond?: number, calendar?: string): PlainDateTime;264        readonly prototype: PlainDateTime;265        from(item: PlainDateTimeLike, options?: OverflowOptions): PlainDateTime;266        compare(one: PlainDateTimeLike, two: PlainDateTimeLike): number;267    }268    var PlainDateTime: PlainDateTimeConstructor;269 270    interface ZonedDateTimeToStringOptions extends PlainDateTimeToStringOptions {271        offset?: "auto" | "never" | undefined;272        timeZoneName?: "auto" | "never" | "critical" | undefined;273    }274 275    interface ZonedDateTimeFromOptions extends OverflowOptions, DisambiguationOptions {276        offset?: "use" | "ignore" | "prefer" | "reject" | undefined;277    }278 279    interface ZonedDateTime {280        readonly calendarId: string;281        readonly timeZoneId: string;282        readonly era: string | undefined;283        readonly eraYear: number | undefined;284        readonly year: number;285        readonly month: number;286        readonly monthCode: string;287        readonly day: number;288        readonly hour: number;289        readonly minute: number;290        readonly second: number;291        readonly millisecond: number;292        readonly microsecond: number;293        readonly nanosecond: number;294        readonly epochMilliseconds: number;295        readonly epochNanoseconds: bigint;296        readonly dayOfWeek: number;297        readonly dayOfYear: number;298        readonly weekOfYear: number | undefined;299        readonly yearOfWeek: number | undefined;300        readonly hoursInDay: number;301        readonly daysInWeek: number;302        readonly daysInMonth: number;303        readonly daysInYear: number;304        readonly monthsInYear: number;305        readonly inLeapYear: boolean;306        readonly offsetNanoseconds: number;307        readonly offset: string;308        with(zonedDateTimeLike: PartialTemporalLike<ZonedDateTimeLikeObject>, options?: ZonedDateTimeFromOptions): ZonedDateTime;309        withPlainTime(plainTime?: PlainTimeLike): ZonedDateTime;310        withTimeZone(timeZone: TimeZoneLike): ZonedDateTime;311        withCalendar(calendar: CalendarLike): ZonedDateTime;312        add(duration: DurationLike, options?: OverflowOptions): ZonedDateTime;313        subtract(duration: DurationLike, options?: OverflowOptions): ZonedDateTime;314        until(other: ZonedDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;315        since(other: ZonedDateTimeLike, options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>): Duration;316        round(roundTo: PluralizeUnit<"day" | TimeUnit>): ZonedDateTime;317        round(roundTo: RoundingOptions<"day" | TimeUnit>): ZonedDateTime;318        equals(other: ZonedDateTimeLike): boolean;319        toString(options?: ZonedDateTimeToStringOptions): string;320        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;321        toJSON(): string;322        valueOf(): never;323        startOfDay(): ZonedDateTime;324        getTimeZoneTransition(direction: "next" | "previous"): ZonedDateTime | null;325        getTimeZoneTransition(direction: TransitionOptions): ZonedDateTime | null;326        toInstant(): Instant;327        toPlainDate(): PlainDate;328        toPlainTime(): PlainTime;329        toPlainDateTime(): PlainDateTime;330        readonly [Symbol.toStringTag]: "Temporal.ZonedDateTime";331    }332 333    interface ZonedDateTimeConstructor {334        new (epochNanoseconds: bigint, timeZone: string, calendar?: string): ZonedDateTime;335        readonly prototype: ZonedDateTime;336        from(item: ZonedDateTimeLike, options?: ZonedDateTimeFromOptions): ZonedDateTime;337        compare(one: ZonedDateTimeLike, two: ZonedDateTimeLike): number;338    }339    var ZonedDateTime: ZonedDateTimeConstructor;340 341    interface DurationRelativeToOptions {342        relativeTo?: ZonedDateTimeLike | PlainDateLike | undefined;343    }344 345    interface DurationRoundingOptions extends DurationRelativeToOptions, RoundingOptionsWithLargestUnit<DateUnit | TimeUnit> {}346 347    interface DurationToStringOptions extends ToStringRoundingOptionsWithFractionalSeconds<Exclude<TimeUnit, "hour" | "minute">> {}348 349    interface DurationTotalOptions extends DurationRelativeToOptions {350        unit: PluralizeUnit<DateUnit | TimeUnit>;351    }352 353    interface Duration {354        readonly years: number;355        readonly months: number;356        readonly weeks: number;357        readonly days: number;358        readonly hours: number;359        readonly minutes: number;360        readonly seconds: number;361        readonly milliseconds: number;362        readonly microseconds: number;363        readonly nanoseconds: number;364        readonly sign: number;365        readonly blank: boolean;366        with(durationLike: PartialTemporalLike<DurationLikeObject>): Duration;367        negated(): Duration;368        abs(): Duration;369        add(other: DurationLike): Duration;370        subtract(other: DurationLike): Duration;371        round(roundTo: PluralizeUnit<"day" | TimeUnit>): Duration;372        round(roundTo: DurationRoundingOptions): Duration;373        total(totalOf: PluralizeUnit<"day" | TimeUnit>): number;374        total(totalOf: DurationTotalOptions): number;375        toString(options?: DurationToStringOptions): string;376        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DurationFormatOptions): string;377        toJSON(): string;378        valueOf(): never;379        readonly [Symbol.toStringTag]: "Temporal.Duration";380    }381 382    interface DurationConstructor {383        new (years?: number, months?: number, weeks?: number, days?: number, hours?: number, minutes?: number, seconds?: number, milliseconds?: number, microseconds?: number, nanoseconds?: number): Duration;384        readonly prototype: Duration;385        from(item: DurationLike): Duration;386        compare(one: DurationLike, two: DurationLike, options?: DurationRelativeToOptions): number;387    }388    var Duration: DurationConstructor;389 390    interface InstantToStringOptions extends PlainTimeToStringOptions {391        timeZone?: TimeZoneLike | undefined;392    }393 394    interface Instant {395        readonly epochMilliseconds: number;396        readonly epochNanoseconds: bigint;397        add(duration: DurationLike): Instant;398        subtract(duration: DurationLike): Instant;399        until(other: InstantLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;400        since(other: InstantLike, options?: RoundingOptionsWithLargestUnit<TimeUnit>): Duration;401        round(roundTo: PluralizeUnit<TimeUnit>): Instant;402        round(roundTo: RoundingOptions<TimeUnit>): Instant;403        equals(other: InstantLike): boolean;404        toString(options?: InstantToStringOptions): string;405        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;406        toJSON(): string;407        valueOf(): never;408        toZonedDateTimeISO(timeZone: TimeZoneLike): ZonedDateTime;409        readonly [Symbol.toStringTag]: "Temporal.Instant";410    }411 412    interface InstantConstructor {413        new (epochNanoseconds: bigint): Instant;414        readonly prototype: Instant;415        from(item: InstantLike): Instant;416        fromEpochMilliseconds(epochMilliseconds: number): Instant;417        fromEpochNanoseconds(epochNanoseconds: bigint): Instant;418        compare(one: InstantLike, two: InstantLike): number;419    }420    var Instant: InstantConstructor;421 422    interface PlainYearMonthToPlainDateOptions {423        day: number;424    }425 426    interface PlainYearMonth {427        readonly calendarId: string;428        readonly era: string | undefined;429        readonly eraYear: number | undefined;430        readonly year: number;431        readonly month: number;432        readonly monthCode: string;433        readonly daysInYear: number;434        readonly daysInMonth: number;435        readonly monthsInYear: number;436        readonly inLeapYear: boolean;437        with(yearMonthLike: PartialTemporalLike<YearMonthLikeObject>, options?: OverflowOptions): PlainYearMonth;438        add(duration: DurationLike, options?: OverflowOptions): PlainYearMonth;439        subtract(duration: DurationLike, options?: OverflowOptions): PlainYearMonth;440        until(other: PlainYearMonthLike, options?: RoundingOptionsWithLargestUnit<"year" | "month">): Duration;441        since(other: PlainYearMonthLike, options?: RoundingOptionsWithLargestUnit<"year" | "month">): Duration;442        equals(other: PlainYearMonthLike): boolean;443        toString(options?: PlainDateToStringOptions): string;444        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;445        toJSON(): string;446        valueOf(): never;447        toPlainDate(item: PlainYearMonthToPlainDateOptions): PlainDate;448        readonly [Symbol.toStringTag]: "Temporal.PlainYearMonth";449    }450 451    interface PlainYearMonthConstructor {452        new (isoYear: number, isoMonth: number, calendar?: string, referenceISODay?: number): PlainYearMonth;453        readonly prototype: PlainYearMonth;454        from(item: PlainYearMonthLike, options?: OverflowOptions): PlainYearMonth;455        compare(one: PlainYearMonthLike, two: PlainYearMonthLike): number;456    }457    var PlainYearMonth: PlainYearMonthConstructor;458 459    interface PlainMonthDayToPlainDateOptions {460        era?: string | undefined;461        eraYear?: number | undefined;462        year?: number | undefined;463    }464 465    interface PlainMonthDay {466        readonly calendarId: string;467        readonly monthCode: string;468        readonly day: number;469        with(monthDayLike: PartialTemporalLike<DateLikeObject>, options?: OverflowOptions): PlainMonthDay;470        equals(other: PlainMonthDayLike): boolean;471        toString(options?: PlainDateToStringOptions): string;472        toLocaleString(locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions): string;473        toJSON(): string;474        valueOf(): never;475        toPlainDate(item: PlainMonthDayToPlainDateOptions): PlainDate;476        readonly [Symbol.toStringTag]: "Temporal.PlainMonthDay";477    }478 479    interface PlainMonthDayConstructor {480        new (isoMonth: number, isoDay: number, calendar?: string, referenceISOYear?: number): PlainMonthDay;481        readonly prototype: PlainMonthDay;482        from(item: PlainMonthDayLike, options?: OverflowOptions): PlainMonthDay;483    }484    var PlainMonthDay: PlainMonthDayConstructor;485}486