diff --git a/types/es-abstract/2015/GetSubstitution.d.ts b/types/es-abstract/2015/GetSubstitution.d.ts index fc1ec5fb1ce9b5..00d7ef4a935853 100644 --- a/types/es-abstract/2015/GetSubstitution.d.ts +++ b/types/es-abstract/2015/GetSubstitution.d.ts @@ -2,7 +2,7 @@ declare function GetSubstitution( matched: string, str: string, position: number, - captures: string[], + captures: ReadonlyArray, replacement: string, ): string; export = GetSubstitution; diff --git a/types/es-abstract/2015/abs.d.ts b/types/es-abstract/2015/abs.d.ts new file mode 100644 index 00000000000000..967881a10a808f --- /dev/null +++ b/types/es-abstract/2015/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../5/abs"); +export = abs; diff --git a/types/es-abstract/2016/abs.d.ts b/types/es-abstract/2016/abs.d.ts new file mode 100644 index 00000000000000..ee208ba91a478b --- /dev/null +++ b/types/es-abstract/2016/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2015/abs"); +export = abs; diff --git a/types/es-abstract/2017/abs.d.ts b/types/es-abstract/2017/abs.d.ts new file mode 100644 index 00000000000000..1e277bc00bb630 --- /dev/null +++ b/types/es-abstract/2017/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2016/abs"); +export = abs; diff --git a/types/es-abstract/2018/GetSubstitution.d.ts b/types/es-abstract/2018/GetSubstitution.d.ts index 4b234be3441614..2e93e4577a75df 100644 --- a/types/es-abstract/2018/GetSubstitution.d.ts +++ b/types/es-abstract/2018/GetSubstitution.d.ts @@ -2,7 +2,7 @@ declare function GetSubstitution( matched: string, str: string, position: number, - captures: string[], + captures: ReadonlyArray, namedCaptures: undefined | { [groupName: string]: unknown }, replacement: string, ): string; diff --git a/types/es-abstract/2018/abs.d.ts b/types/es-abstract/2018/abs.d.ts new file mode 100644 index 00000000000000..6c8a0e2033af7c --- /dev/null +++ b/types/es-abstract/2018/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2017/abs"); +export = abs; diff --git a/types/es-abstract/2019/TrimString.d.ts b/types/es-abstract/2019/TrimString.d.ts index 45b7ca86bf26be..f028c16ebb91a6 100644 --- a/types/es-abstract/2019/TrimString.d.ts +++ b/types/es-abstract/2019/TrimString.d.ts @@ -1,2 +1,2 @@ -declare function TrimString(string: string, where: "start" | "end" | "start+end"): string; +declare function TrimString(string: unknown, where: "start" | "end" | "start+end"): string; export = TrimString; diff --git a/types/es-abstract/2019/abs.d.ts b/types/es-abstract/2019/abs.d.ts new file mode 100644 index 00000000000000..3ad39e4077baed --- /dev/null +++ b/types/es-abstract/2019/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2018/abs"); +export = abs; diff --git a/types/es-abstract/2020/StringPad.d.ts b/types/es-abstract/2020/StringPad.d.ts index 837bd8a1f9f130..237201535602c1 100644 --- a/types/es-abstract/2020/StringPad.d.ts +++ b/types/es-abstract/2020/StringPad.d.ts @@ -1,7 +1,7 @@ declare function StringPad( - O: string, - maxLength: number, - fillString: string | undefined, + O: unknown, + maxLength: unknown, + fillString: unknown, placement: "start" | "end", ): string; export = StringPad; diff --git a/types/es-abstract/2020/ToBigInt64.d.ts b/types/es-abstract/2020/ToBigInt64.d.ts index 8d8934655ba71a..954b5e4bef6efd 100644 --- a/types/es-abstract/2020/ToBigInt64.d.ts +++ b/types/es-abstract/2020/ToBigInt64.d.ts @@ -1,2 +1,2 @@ -declare function ToBigInt64(argument: bigint): bigint; +declare function ToBigInt64(argument: unknown): bigint; export = ToBigInt64; diff --git a/types/es-abstract/2020/ToBigUint64.d.ts b/types/es-abstract/2020/ToBigUint64.d.ts index e4868393ae38b7..5fd552ea34221f 100644 --- a/types/es-abstract/2020/ToBigUint64.d.ts +++ b/types/es-abstract/2020/ToBigUint64.d.ts @@ -1,2 +1,2 @@ -declare function ToBigUint64(argument: bigint): bigint; +declare function ToBigUint64(argument: unknown): bigint; export = ToBigUint64; diff --git a/types/es-abstract/2020/abs.d.ts b/types/es-abstract/2020/abs.d.ts new file mode 100644 index 00000000000000..84196bf04b2813 --- /dev/null +++ b/types/es-abstract/2020/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2019/abs"); +export = abs; diff --git a/types/es-abstract/2020/thisBigIntValue.d.ts b/types/es-abstract/2020/thisBigIntValue.d.ts index 9c909390bfb6ea..46d206bfa97af1 100644 --- a/types/es-abstract/2020/thisBigIntValue.d.ts +++ b/types/es-abstract/2020/thisBigIntValue.d.ts @@ -1,2 +1,3 @@ +// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types declare function thisBigIntValue(value: bigint | BigInt): bigint; export = thisBigIntValue; diff --git a/types/es-abstract/2021/CodePointsToString.d.ts b/types/es-abstract/2021/CodePointsToString.d.ts index d437768a5db538..c31e5e6d04d7f7 100644 --- a/types/es-abstract/2021/CodePointsToString.d.ts +++ b/types/es-abstract/2021/CodePointsToString.d.ts @@ -1,2 +1,2 @@ -declare function CodePointsToString(codePoints: readonly string[]): string; +declare function CodePointsToString(codePoints: readonly number[]): string; export = CodePointsToString; diff --git a/types/es-abstract/2021/abs.d.ts b/types/es-abstract/2021/abs.d.ts new file mode 100644 index 00000000000000..0d73e0ed99f6d9 --- /dev/null +++ b/types/es-abstract/2021/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2020/abs"); +export = abs; diff --git a/types/es-abstract/2022/ToZeroPaddedDecimalString.d.ts b/types/es-abstract/2022/ToZeroPaddedDecimalString.d.ts new file mode 100644 index 00000000000000..13d31dab12687a --- /dev/null +++ b/types/es-abstract/2022/ToZeroPaddedDecimalString.d.ts @@ -0,0 +1,2 @@ +declare function ToZeroPaddedDecimalString(n: number, minLength: number): string; +export = ToZeroPaddedDecimalString; diff --git a/types/es-abstract/2022/abs.d.ts b/types/es-abstract/2022/abs.d.ts new file mode 100644 index 00000000000000..3a411786e237ca --- /dev/null +++ b/types/es-abstract/2022/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2021/abs"); +export = abs; diff --git a/types/es-abstract/2023/GetNamedTimeZoneEpochNanoseconds.d.ts b/types/es-abstract/2023/GetNamedTimeZoneEpochNanoseconds.d.ts new file mode 100644 index 00000000000000..971967676e435c --- /dev/null +++ b/types/es-abstract/2023/GetNamedTimeZoneEpochNanoseconds.d.ts @@ -0,0 +1,14 @@ +declare function GetNamedTimeZoneEpochNanoseconds( + timeZoneIdentifier: string, + year: number, + month: number, + day: number, + hour: number, + minute: number, + second: number, + millisecond: number, + microsecond: number, + nanosecond: number, + // eslint-disable-next-line @definitelytyped/no-single-element-tuple-type +): [bigint]; +export = GetNamedTimeZoneEpochNanoseconds; diff --git a/types/es-abstract/2023/GetUTCEpochNanoseconds.d.ts b/types/es-abstract/2023/GetUTCEpochNanoseconds.d.ts new file mode 100644 index 00000000000000..5fdcae5f0195ec --- /dev/null +++ b/types/es-abstract/2023/GetUTCEpochNanoseconds.d.ts @@ -0,0 +1,12 @@ +declare function GetUTCEpochNanoseconds( + year: number, + month: number, + day: number, + hour: number, + minute: number, + second: number, + millisecond: number, + microsecond: number, + nanosecond: number, +): bigint; +export = GetUTCEpochNanoseconds; diff --git a/types/es-abstract/2023/IsTimeZoneOffsetString.d.ts b/types/es-abstract/2023/IsTimeZoneOffsetString.d.ts new file mode 100644 index 00000000000000..55b3594fd68e46 --- /dev/null +++ b/types/es-abstract/2023/IsTimeZoneOffsetString.d.ts @@ -0,0 +1,2 @@ +declare function IsTimeZoneOffsetString(offsetString: string): boolean; +export = IsTimeZoneOffsetString; diff --git a/types/es-abstract/2023/ToZeroPaddedDecimalString.d.ts b/types/es-abstract/2023/ToZeroPaddedDecimalString.d.ts new file mode 100644 index 00000000000000..9fd383af1fc644 --- /dev/null +++ b/types/es-abstract/2023/ToZeroPaddedDecimalString.d.ts @@ -0,0 +1,2 @@ +import ToZeroPaddedDecimalString = require("../2022/ToZeroPaddedDecimalString"); +export = ToZeroPaddedDecimalString; diff --git a/types/es-abstract/2023/abs.d.ts b/types/es-abstract/2023/abs.d.ts new file mode 100644 index 00000000000000..7abbba4abfb2d5 --- /dev/null +++ b/types/es-abstract/2023/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2022/abs"); +export = abs; diff --git a/types/es-abstract/2023/truncate.d.ts b/types/es-abstract/2023/truncate.d.ts index a2aa8047d16cd2..44766fb94cc2c0 100644 --- a/types/es-abstract/2023/truncate.d.ts +++ b/types/es-abstract/2023/truncate.d.ts @@ -1,2 +1,2 @@ -declare function truncate(x: number): number; +declare function truncate(x: T): T; export = truncate; diff --git a/types/es-abstract/2024/GetNamedTimeZoneEpochNanoseconds.d.ts b/types/es-abstract/2024/GetNamedTimeZoneEpochNanoseconds.d.ts new file mode 100644 index 00000000000000..fb6641c51614ce --- /dev/null +++ b/types/es-abstract/2024/GetNamedTimeZoneEpochNanoseconds.d.ts @@ -0,0 +1,2 @@ +import GetNamedTimeZoneEpochNanoseconds = require("../2023/GetNamedTimeZoneEpochNanoseconds"); +export = GetNamedTimeZoneEpochNanoseconds; diff --git a/types/es-abstract/2024/GetUTCEpochNanoseconds.d.ts b/types/es-abstract/2024/GetUTCEpochNanoseconds.d.ts new file mode 100644 index 00000000000000..33f40e5c48a309 --- /dev/null +++ b/types/es-abstract/2024/GetUTCEpochNanoseconds.d.ts @@ -0,0 +1,2 @@ +import GetUTCEpochNanoseconds = require("../2023/GetUTCEpochNanoseconds"); +export = GetUTCEpochNanoseconds; diff --git a/types/es-abstract/2024/IsTimeZoneOffsetString.d.ts b/types/es-abstract/2024/IsTimeZoneOffsetString.d.ts new file mode 100644 index 00000000000000..9abc839e6306bf --- /dev/null +++ b/types/es-abstract/2024/IsTimeZoneOffsetString.d.ts @@ -0,0 +1,2 @@ +import IsTimeZoneOffsetString = require("../2023/IsTimeZoneOffsetString"); +export = IsTimeZoneOffsetString; diff --git a/types/es-abstract/2024/SystemTimeZoneIdentifier.d.ts b/types/es-abstract/2024/SystemTimeZoneIdentifier.d.ts new file mode 100644 index 00000000000000..4cb6acc77a4fa3 --- /dev/null +++ b/types/es-abstract/2024/SystemTimeZoneIdentifier.d.ts @@ -0,0 +1,2 @@ +declare function SystemTimeZoneIdentifier(): string; +export = SystemTimeZoneIdentifier; diff --git a/types/es-abstract/2024/ToZeroPaddedDecimalString.d.ts b/types/es-abstract/2024/ToZeroPaddedDecimalString.d.ts new file mode 100644 index 00000000000000..0bff9af5badb54 --- /dev/null +++ b/types/es-abstract/2024/ToZeroPaddedDecimalString.d.ts @@ -0,0 +1,2 @@ +import ToZeroPaddedDecimalString = require("../2023/ToZeroPaddedDecimalString"); +export = ToZeroPaddedDecimalString; diff --git a/types/es-abstract/2024/abs.d.ts b/types/es-abstract/2024/abs.d.ts new file mode 100644 index 00000000000000..2f94a8ae3e21d1 --- /dev/null +++ b/types/es-abstract/2024/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2023/abs"); +export = abs; diff --git a/types/es-abstract/2025/GetNamedTimeZoneEpochNanoseconds.d.ts b/types/es-abstract/2025/GetNamedTimeZoneEpochNanoseconds.d.ts new file mode 100644 index 00000000000000..71467a63c0de8f --- /dev/null +++ b/types/es-abstract/2025/GetNamedTimeZoneEpochNanoseconds.d.ts @@ -0,0 +1,2 @@ +import GetNamedTimeZoneEpochNanoseconds = require("../2024/GetNamedTimeZoneEpochNanoseconds"); +export = GetNamedTimeZoneEpochNanoseconds; diff --git a/types/es-abstract/2025/GetUTCEpochNanoseconds.d.ts b/types/es-abstract/2025/GetUTCEpochNanoseconds.d.ts new file mode 100644 index 00000000000000..29515a7fc58fb9 --- /dev/null +++ b/types/es-abstract/2025/GetUTCEpochNanoseconds.d.ts @@ -0,0 +1,2 @@ +import GetUTCEpochNanoseconds = require("../2024/GetUTCEpochNanoseconds"); +export = GetUTCEpochNanoseconds; diff --git a/types/es-abstract/2025/IsTimeZoneOffsetString.d.ts b/types/es-abstract/2025/IsTimeZoneOffsetString.d.ts new file mode 100644 index 00000000000000..47b11c9bc19480 --- /dev/null +++ b/types/es-abstract/2025/IsTimeZoneOffsetString.d.ts @@ -0,0 +1,2 @@ +import IsTimeZoneOffsetString = require("../2024/IsTimeZoneOffsetString"); +export = IsTimeZoneOffsetString; diff --git a/types/es-abstract/2025/SystemTimeZoneIdentifier.d.ts b/types/es-abstract/2025/SystemTimeZoneIdentifier.d.ts new file mode 100644 index 00000000000000..ff0fb8da870fea --- /dev/null +++ b/types/es-abstract/2025/SystemTimeZoneIdentifier.d.ts @@ -0,0 +1,2 @@ +import SystemTimeZoneIdentifier = require("../2024/SystemTimeZoneIdentifier"); +export = SystemTimeZoneIdentifier; diff --git a/types/es-abstract/2025/ToZeroPaddedDecimalString.d.ts b/types/es-abstract/2025/ToZeroPaddedDecimalString.d.ts new file mode 100644 index 00000000000000..3f51c4d4215829 --- /dev/null +++ b/types/es-abstract/2025/ToZeroPaddedDecimalString.d.ts @@ -0,0 +1,2 @@ +import ToZeroPaddedDecimalString = require("../2024/ToZeroPaddedDecimalString"); +export = ToZeroPaddedDecimalString; diff --git a/types/es-abstract/2025/abs.d.ts b/types/es-abstract/2025/abs.d.ts new file mode 100644 index 00000000000000..d24d3eba9159b2 --- /dev/null +++ b/types/es-abstract/2025/abs.d.ts @@ -0,0 +1,2 @@ +import abs = require("../2024/abs"); +export = abs; diff --git a/types/es-abstract/5/AbstractRelationalComparison.d.ts b/types/es-abstract/5/AbstractRelationalComparison.d.ts index bda653973cc873..4d250c106c1bb1 100644 --- a/types/es-abstract/5/AbstractRelationalComparison.d.ts +++ b/types/es-abstract/5/AbstractRelationalComparison.d.ts @@ -1,2 +1,2 @@ -declare function AbstractRelationalComparison(x: unknown, y: unknown, LeftFirst: boolean): boolean; +declare function AbstractRelationalComparison(x: unknown, y: unknown, LeftFirst: boolean): boolean | undefined; export = AbstractRelationalComparison; diff --git a/types/es-abstract/5/abs.d.ts b/types/es-abstract/5/abs.d.ts new file mode 100644 index 00000000000000..d8f5b921151827 --- /dev/null +++ b/types/es-abstract/5/abs.d.ts @@ -0,0 +1,2 @@ +declare function abs(x: number): number; +export = abs; diff --git a/types/es-abstract/es2015.d.ts b/types/es-abstract/es2015.d.ts index 5bb84638a5752d..afc2e15562e246 100644 --- a/types/es-abstract/es2015.d.ts +++ b/types/es-abstract/es2015.d.ts @@ -2,6 +2,7 @@ import ES5 = require("./es5"); import type { PropertyKey as ESPropertyKey } from "./index"; interface ES2015 { + readonly abs: typeof import("./2015/abs"); readonly "Abstract Equality Comparison": typeof import("./2015/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2015/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2015/StrictEqualityComparison"); diff --git a/types/es-abstract/es2016.d.ts b/types/es-abstract/es2016.d.ts index e6e5433aef349f..245c16171f6d6f 100644 --- a/types/es-abstract/es2016.d.ts +++ b/types/es-abstract/es2016.d.ts @@ -1,6 +1,7 @@ import ES2015 = require("./es2015"); interface ES2016 { + readonly abs: typeof import("./2016/abs"); readonly "Abstract Equality Comparison": typeof import("./2016/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2016/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2016/StrictEqualityComparison"); diff --git a/types/es-abstract/es2017.d.ts b/types/es-abstract/es2017.d.ts index 9f3e7799c98c2a..a420afa0f9647c 100644 --- a/types/es-abstract/es2017.d.ts +++ b/types/es-abstract/es2017.d.ts @@ -1,6 +1,7 @@ import ES2016 = require("./es2016"); interface ES2017 { + readonly abs: typeof import("./2017/abs"); readonly "Abstract Equality Comparison": typeof import("./2017/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2017/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2017/StrictEqualityComparison"); diff --git a/types/es-abstract/es2018.d.ts b/types/es-abstract/es2018.d.ts index 98176edec62710..b0936b2ae8dbdf 100644 --- a/types/es-abstract/es2018.d.ts +++ b/types/es-abstract/es2018.d.ts @@ -1,6 +1,7 @@ import ES2017 = require("./es2017"); interface ES2018 { + readonly abs: typeof import("./2018/abs"); readonly "Abstract Equality Comparison": typeof import("./2018/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2018/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2018/StrictEqualityComparison"); diff --git a/types/es-abstract/es2019.d.ts b/types/es-abstract/es2019.d.ts index 0e88c0083130fe..0eb7ec5e800fe8 100644 --- a/types/es-abstract/es2019.d.ts +++ b/types/es-abstract/es2019.d.ts @@ -1,6 +1,7 @@ import ES2018 = require("./es2018"); interface ES2019 { + readonly abs: typeof import("./2019/abs"); readonly "Abstract Equality Comparison": typeof import("./2019/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2019/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2019/StrictEqualityComparison"); diff --git a/types/es-abstract/es2020.d.ts b/types/es-abstract/es2020.d.ts index 62e8515f1339ac..0706f10fedf116 100644 --- a/types/es-abstract/es2020.d.ts +++ b/types/es-abstract/es2020.d.ts @@ -1,6 +1,7 @@ import ES2019 = require("./es2019"); interface ES2020 { + readonly abs: typeof import("./2020/abs"); readonly "Abstract Equality Comparison": typeof import("./2020/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2020/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2020/StrictEqualityComparison"); diff --git a/types/es-abstract/es2021.d.ts b/types/es-abstract/es2021.d.ts index fdc01bfdd2ac2f..9faa06f66939d8 100644 --- a/types/es-abstract/es2021.d.ts +++ b/types/es-abstract/es2021.d.ts @@ -1,6 +1,7 @@ import ES2020 = require("./es2020"); interface ES2021 { + readonly abs: typeof import("./2021/abs"); readonly "Abstract Equality Comparison": typeof import("./2021/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./2021/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./2021/StrictEqualityComparison"); diff --git a/types/es-abstract/es2022.d.ts b/types/es-abstract/es2022.d.ts index e457e1f4c2309d..4635baa29e1f9a 100644 --- a/types/es-abstract/es2022.d.ts +++ b/types/es-abstract/es2022.d.ts @@ -1,6 +1,7 @@ import ES2021 = require("./es2021"); interface ES2022 { + readonly abs: typeof import("./2022/abs"); readonly AddEntriesFromIterable: typeof import("./2022/AddEntriesFromIterable"); readonly AdvanceStringIndex: typeof import("./2022/AdvanceStringIndex"); readonly ArrayCreate: typeof import("./2022/ArrayCreate"); @@ -140,6 +141,7 @@ interface ES2022 { readonly ToUint32: typeof import("./2022/ToUint32"); readonly ToUint8: typeof import("./2022/ToUint8"); readonly ToUint8Clamp: typeof import("./2022/ToUint8Clamp"); + readonly ToZeroPaddedDecimalString: typeof import("./2022/ToZeroPaddedDecimalString"); readonly TrimString: typeof import("./2022/TrimString"); readonly Type: typeof import("./2022/Type"); readonly ValidateAndApplyPropertyDescriptor: typeof import("./2022/ValidateAndApplyPropertyDescriptor"); diff --git a/types/es-abstract/es2023.d.ts b/types/es-abstract/es2023.d.ts index 49e4b24ce628ed..799549ff409385 100644 --- a/types/es-abstract/es2023.d.ts +++ b/types/es-abstract/es2023.d.ts @@ -1,6 +1,7 @@ import ES2022 = require("./es2022"); interface ES2023 { + readonly abs: typeof import("./2023/abs"); readonly AddEntriesFromIterable: typeof import("./2023/AddEntriesFromIterable"); readonly AdvanceStringIndex: typeof import("./2023/AdvanceStringIndex"); readonly ArrayCreate: typeof import("./2023/ArrayCreate"); @@ -40,9 +41,11 @@ interface ES2023 { readonly Get: typeof import("./2023/Get"); readonly GetIterator: typeof import("./2023/GetIterator"); readonly GetMethod: typeof import("./2023/GetMethod"); + readonly GetNamedTimeZoneEpochNanoseconds: typeof import("./2023/GetNamedTimeZoneEpochNanoseconds"); readonly GetOwnPropertyKeys: typeof import("./2023/GetOwnPropertyKeys"); readonly GetPrototypeFromConstructor: typeof import("./2023/GetPrototypeFromConstructor"); readonly GetSubstitution: typeof import("./2023/GetSubstitution"); + readonly GetUTCEpochNanoseconds: typeof import("./2023/GetUTCEpochNanoseconds"); readonly GetV: typeof import("./2023/GetV"); readonly HasOwnProperty: typeof import("./2023/HasOwnProperty"); readonly HasProperty: typeof import("./2023/HasProperty"); @@ -65,6 +68,7 @@ interface ES2023 { readonly IsPropertyKey: typeof import("./2023/IsPropertyKey"); readonly IsRegExp: typeof import("./2023/IsRegExp"); readonly IsStrictlyEqual: typeof import("./2023/IsStrictlyEqual"); + readonly IsTimeZoneOffsetString: typeof import("./2023/IsTimeZoneOffsetString"); readonly IteratorClose: typeof import("./2023/IteratorClose"); readonly IteratorComplete: typeof import("./2023/IteratorComplete"); readonly IteratorNext: typeof import("./2023/IteratorNext"); @@ -138,6 +142,7 @@ interface ES2023 { readonly ToUint32: typeof import("./2023/ToUint32"); readonly ToUint8: typeof import("./2023/ToUint8"); readonly ToUint8Clamp: typeof import("./2023/ToUint8Clamp"); + readonly ToZeroPaddedDecimalString: typeof import("./2023/ToZeroPaddedDecimalString"); readonly TrimString: typeof import("./2023/TrimString"); readonly truncate: typeof import("./2023/truncate"); readonly Type: typeof import("./2023/Type"); diff --git a/types/es-abstract/es2024.d.ts b/types/es-abstract/es2024.d.ts index 0518922bc43a1f..3a7361ac4a86b5 100644 --- a/types/es-abstract/es2024.d.ts +++ b/types/es-abstract/es2024.d.ts @@ -1,6 +1,7 @@ import ES2023 = require("./es2023"); interface ES2024 { + readonly abs: typeof import("./2024/abs"); readonly AddEntriesFromIterable: typeof import("./2024/AddEntriesFromIterable"); readonly AdvanceStringIndex: typeof import("./2024/AdvanceStringIndex"); readonly ArrayCreate: typeof import("./2024/ArrayCreate"); @@ -39,9 +40,11 @@ interface ES2024 { readonly Get: typeof import("./2024/Get"); readonly GetIterator: typeof import("./2024/GetIterator"); readonly GetMethod: typeof import("./2024/GetMethod"); + readonly GetNamedTimeZoneEpochNanoseconds: typeof import("./2024/GetNamedTimeZoneEpochNanoseconds"); readonly GetOwnPropertyKeys: typeof import("./2024/GetOwnPropertyKeys"); readonly GetPrototypeFromConstructor: typeof import("./2024/GetPrototypeFromConstructor"); readonly GetSubstitution: typeof import("./2024/GetSubstitution"); + readonly GetUTCEpochNanoseconds: typeof import("./2024/GetUTCEpochNanoseconds"); readonly GetV: typeof import("./2024/GetV"); readonly HasOwnProperty: typeof import("./2024/HasOwnProperty"); readonly HasProperty: typeof import("./2024/HasProperty"); @@ -64,6 +67,7 @@ interface ES2024 { readonly IsPropertyKey: typeof import("./2024/IsPropertyKey"); readonly IsRegExp: typeof import("./2024/IsRegExp"); readonly IsStrictlyEqual: typeof import("./2024/IsStrictlyEqual"); + readonly IsTimeZoneOffsetString: typeof import("./2024/IsTimeZoneOffsetString"); readonly IteratorClose: typeof import("./2024/IteratorClose"); readonly IteratorComplete: typeof import("./2024/IteratorComplete"); readonly IteratorNext: typeof import("./2024/IteratorNext"); @@ -104,6 +108,7 @@ interface ES2024 { readonly StringToNumber: typeof import("./2024/StringToNumber"); readonly substring: typeof import("./2024/substring"); readonly SymbolDescriptiveString: typeof import("./2024/SymbolDescriptiveString"); + readonly SystemTimeZoneIdentifier: typeof import("./2024/SystemTimeZoneIdentifier"); readonly TestIntegrityLevel: typeof import("./2024/TestIntegrityLevel"); readonly TimeClip: typeof import("./2024/TimeClip"); readonly TimeFromYear: typeof import("./2024/TimeFromYear"); @@ -131,6 +136,7 @@ interface ES2024 { readonly ToUint32: typeof import("./2024/ToUint32"); readonly ToUint8: typeof import("./2024/ToUint8"); readonly ToUint8Clamp: typeof import("./2024/ToUint8Clamp"); + readonly ToZeroPaddedDecimalString: typeof import("./2024/ToZeroPaddedDecimalString"); readonly TrimString: typeof import("./2024/TrimString"); readonly truncate: typeof import("./2024/truncate"); readonly Type: typeof import("./2024/Type"); diff --git a/types/es-abstract/es2025.d.ts b/types/es-abstract/es2025.d.ts index d5e9e94b0574ee..0291e10e7c0811 100644 --- a/types/es-abstract/es2025.d.ts +++ b/types/es-abstract/es2025.d.ts @@ -1,6 +1,7 @@ import ES2024 = require("./es2024"); interface ES2025 { + readonly abs: typeof import("./2025/abs"); readonly AddEntriesFromIterable: typeof import("./2025/AddEntriesFromIterable"); readonly AdvanceStringIndex: typeof import("./2025/AdvanceStringIndex"); readonly ArrayCreate: typeof import("./2025/ArrayCreate"); @@ -39,9 +40,11 @@ interface ES2025 { readonly Get: typeof import("./2025/Get"); readonly GetIterator: typeof import("./2025/GetIterator"); readonly GetMethod: typeof import("./2025/GetMethod"); + readonly GetNamedTimeZoneEpochNanoseconds: typeof import("./2025/GetNamedTimeZoneEpochNanoseconds"); readonly GetOwnPropertyKeys: typeof import("./2025/GetOwnPropertyKeys"); readonly GetPrototypeFromConstructor: typeof import("./2025/GetPrototypeFromConstructor"); readonly GetSubstitution: typeof import("./2025/GetSubstitution"); + readonly GetUTCEpochNanoseconds: typeof import("./2025/GetUTCEpochNanoseconds"); readonly GetV: typeof import("./2025/GetV"); readonly HasOwnProperty: typeof import("./2025/HasOwnProperty"); readonly HasProperty: typeof import("./2025/HasProperty"); @@ -62,6 +65,7 @@ interface ES2025 { readonly IsPromise: typeof import("./2025/IsPromise"); readonly IsRegExp: typeof import("./2025/IsRegExp"); readonly IsStrictlyEqual: typeof import("./2025/IsStrictlyEqual"); + readonly IsTimeZoneOffsetString: typeof import("./2025/IsTimeZoneOffsetString"); readonly IteratorClose: typeof import("./2025/IteratorClose"); readonly IteratorComplete: typeof import("./2025/IteratorComplete"); readonly IteratorNext: typeof import("./2025/IteratorNext"); @@ -102,6 +106,7 @@ interface ES2025 { readonly StringToNumber: typeof import("./2025/StringToNumber"); readonly substring: typeof import("./2025/substring"); readonly SymbolDescriptiveString: typeof import("./2025/SymbolDescriptiveString"); + readonly SystemTimeZoneIdentifier: typeof import("./2025/SystemTimeZoneIdentifier"); readonly TestIntegrityLevel: typeof import("./2025/TestIntegrityLevel"); readonly TimeClip: typeof import("./2025/TimeClip"); readonly TimeFromYear: typeof import("./2025/TimeFromYear"); @@ -129,6 +134,7 @@ interface ES2025 { readonly ToUint32: typeof import("./2025/ToUint32"); readonly ToUint8: typeof import("./2025/ToUint8"); readonly ToUint8Clamp: typeof import("./2025/ToUint8Clamp"); + readonly ToZeroPaddedDecimalString: typeof import("./2025/ToZeroPaddedDecimalString"); readonly TrimString: typeof import("./2025/TrimString"); readonly truncate: typeof import("./2025/truncate"); readonly ValidateAndApplyPropertyDescriptor: typeof import("./2025/ValidateAndApplyPropertyDescriptor"); diff --git a/types/es-abstract/es5.d.ts b/types/es-abstract/es5.d.ts index c91f83a118b04c..160b32025622c8 100644 --- a/types/es-abstract/es5.d.ts +++ b/types/es-abstract/es5.d.ts @@ -6,6 +6,7 @@ import type { } from "./index"; interface ES5 { + readonly abs: typeof import("./5/abs"); readonly "Abstract Equality Comparison": typeof import("./5/AbstractEqualityComparison"); readonly "Abstract Relational Comparison": typeof import("./5/AbstractRelationalComparison"); readonly "Strict Equality Comparison": typeof import("./5/StrictEqualityComparison"); diff --git a/types/es-abstract/test/es2015.test.ts b/types/es-abstract/test/es2015.test.ts index 0d98651289ddfe..67ed507987353e 100644 --- a/types/es-abstract/test/es2015.test.ts +++ b/types/es-abstract/test/es2015.test.ts @@ -44,6 +44,7 @@ ES2015.ToLength(any); // $ExpectType number ES2015.Call(Object.prototype.toString, BigInt(Number.MAX_SAFE_INTEGER), []); // $ExpectType string ES2015.Call(Object.prototype.hasOwnProperty, [], ["length"] as const); // $ExpectType boolean +// eslint-disable-next-line @definitelytyped/no-single-element-tuple-type ES2015.Call(Object.prototype.hasOwnProperty, any, args as IArguments & [PropertyKey]); // $ExpectType boolean // $ExpectType IterableIterator || ArrayIterator @@ -56,6 +57,7 @@ function* generable() { declare function iterNext( this: Iterator, + // eslint-disable-next-line @definitelytyped/no-single-element-tuple-type ...args: [] | [TNext] ): IteratorResult; @@ -63,7 +65,7 @@ declare function iterNext( ES2015.Call(iterNext, generable()); // $ExpectType IteratorResult -ES2015.Invoke(generable(), "next", args as IArguments & [string]); +ES2015.Invoke(generable(), "next", args as IArguments & [string]); // eslint-disable-line @definitelytyped/no-single-element-tuple-type ES2015.Invoke(generable(), Symbol.iterator, args as IArguments & []); // $ExpectType boolean @@ -197,6 +199,9 @@ ES2015.GetPrototypeFromConstructor(Bar, "unknown"); // $ExpectType object ES2015.GetPrototypeFromConstructor(Baz, "unknown"); // $ExpectType object ES2015.GetPrototypeFromConstructor(Biz, "unknown"); // $ExpectType object +ES2015.GetSubstitution("a", "abc", 0, ["x"], "$&"); // $ExpectType string +ES2015.GetSubstitution("a", "abc", 0, ["x", undefined], "$1"); // $ExpectType string + // Removed in ES2015: // @ts-expect-error ES2015.CheckObjectCoercible; diff --git a/types/es-abstract/test/es2018.test.ts b/types/es-abstract/test/es2018.test.ts index 2009daf4acbfb3..bb4c60cca84753 100644 --- a/types/es-abstract/test/es2018.test.ts +++ b/types/es-abstract/test/es2018.test.ts @@ -19,6 +19,9 @@ ES2018.PromiseResolve(FakePromise, any); // TODO: This should be: FakePromise ES2018.PromiseResolve(FakePromise, ""); +ES2018.GetSubstitution("a", "abc", 0, ["x"], undefined, "$&"); // $ExpectType string +ES2018.GetSubstitution("a", "abc", 0, ["x", undefined], { name: "y" }, "$"); // $ExpectType string + // Removed in ES2018: // @ts-expect-error ES2018.EnumerableOwnProperties; diff --git a/types/es-abstract/test/es2019.test.ts b/types/es-abstract/test/es2019.test.ts index c32786b356a157..a7663fa179a998 100644 --- a/types/es-abstract/test/es2019.test.ts +++ b/types/es-abstract/test/es2019.test.ts @@ -15,3 +15,5 @@ ES2019.FlattenIntoArray(array1, array2, array2.length, 0, 5, (el: number | Itera ES2019.TrimString("foo", "start"); // $ExpectType string ES2019.TrimString("foo", "end"); // $ExpectType string ES2019.TrimString("foo", "start+end"); // $ExpectType string +ES2019.TrimString(123, "start"); // $ExpectType string +ES2019.TrimString({ toString: () => "x" }, "end"); // $ExpectType string diff --git a/types/es-abstract/test/es2020.test.ts b/types/es-abstract/test/es2020.test.ts index ac9e250de076da..8d79f50eed54f4 100644 --- a/types/es-abstract/test/es2020.test.ts +++ b/types/es-abstract/test/es2020.test.ts @@ -34,9 +34,11 @@ ES2020.ToBigInt(any); // $ExpectType bigint // ToBigInt64 ES2020.ToBigInt64(BigInt(1)); // $ExpectType bigint +ES2020.ToBigInt64(any); // $ExpectType bigint // ToBigUint64 ES2020.ToBigUint64(BigInt(1)); // $ExpectType bigint +ES2020.ToBigUint64(any); // $ExpectType bigint // ToNumeric ES2020.ToNumeric(any); // $ExpectType number | bigint @@ -53,6 +55,7 @@ ES2020.thisBigIntValue(BigInt(1)); // $ExpectType bigint // StringPad ES2020.StringPad("foo", 5, " ", "start"); // $ExpectType string ES2020.StringPad("foo", 5, undefined, "end"); // $ExpectType string +ES2020.StringPad(any, any, any, "start"); // $ExpectType string // NumberBitwiseOp ES2020.NumberBitwiseOp("&", 1, 2); // $ExpectType number diff --git a/types/es-abstract/test/es2021.test.ts b/types/es-abstract/test/es2021.test.ts index 38afd0d82735f0..ce689720edfc6f 100644 --- a/types/es-abstract/test/es2021.test.ts +++ b/types/es-abstract/test/es2021.test.ts @@ -21,7 +21,9 @@ ES2021.IsIntegralNumber(any); // $ExpectType boolean ES2021.clamp(5, 0, 10); // $ExpectType number // CodePointsToString -ES2021.CodePointsToString(["a", "b", "c"]); // $ExpectType string +ES2021.CodePointsToString([0x61, 0x62, 0x63]); // $ExpectType string +// @ts-expect-error +ES2021.CodePointsToString(["a", "b", "c"]); // StringToCodePoints ES2021.StringToCodePoints("abc"); // $ExpectType string[] diff --git a/types/es-abstract/test/es2022.test.ts b/types/es-abstract/test/es2022.test.ts index f481dd5762a2e5..899d81367b7d7e 100644 --- a/types/es-abstract/test/es2022.test.ts +++ b/types/es-abstract/test/es2022.test.ts @@ -21,3 +21,6 @@ ES2022.IsStrictlyEqual(any, any); // $ExpectType boolean // CreateNonEnumerableDataPropertyOrThrow ES2022.CreateNonEnumerableDataPropertyOrThrow({}, "foo", "bar"); // $ExpectType void + +// ToZeroPaddedDecimalString +ES2022.ToZeroPaddedDecimalString(7, 4); // $ExpectType string diff --git a/types/es-abstract/test/es2023.test.ts b/types/es-abstract/test/es2023.test.ts index d89fe179fde76d..d64e457b75b25c 100644 --- a/types/es-abstract/test/es2023.test.ts +++ b/types/es-abstract/test/es2023.test.ts @@ -5,10 +5,25 @@ declare const any: unknown; // New operations in ES2023 // truncate -ES2023.truncate(5.5); // $ExpectType number +const truncateNum: number = 5.5; +const truncateBig: bigint = 5n; +ES2023.truncate(truncateNum); // $ExpectType number +ES2023.truncate(truncateBig); // $ExpectType bigint // CanBeHeldWeakly ES2023.CanBeHeldWeakly(any); // $ExpectType boolean // SameValueNonNumber ES2023.SameValueNonNumber("a", "b"); // $ExpectType boolean + +// IsTimeZoneOffsetString +ES2023.IsTimeZoneOffsetString("+05:00"); // $ExpectType boolean + +// GetUTCEpochNanoseconds +ES2023.GetUTCEpochNanoseconds(2024, 1, 1, 0, 0, 0, 0, 0, 0); // $ExpectType bigint + +// GetNamedTimeZoneEpochNanoseconds +ES2023.GetNamedTimeZoneEpochNanoseconds("UTC", 2024, 1, 1, 0, 0, 0, 0, 0, 0); // $ExpectType [bigint] + +// ToZeroPaddedDecimalString (re-exported from ES2022) +ES2023.ToZeroPaddedDecimalString(7, 4); // $ExpectType string diff --git a/types/es-abstract/test/es2024.test.ts b/types/es-abstract/test/es2024.test.ts index 07105ec1f1a917..7b808f0a3e28ed 100644 --- a/types/es-abstract/test/es2024.test.ts +++ b/types/es-abstract/test/es2024.test.ts @@ -3,6 +3,12 @@ import ES2024 = require("es-abstract/es2024"); // ES2024 re-exports from ES2023 // Test a few operations to ensure re-exports work -ES2024.truncate(5.5); // $ExpectType number +const truncateNum: number = 5.5; +const truncateBig: bigint = 5n; +ES2024.truncate(truncateNum); // $ExpectType number +ES2024.truncate(truncateBig); // $ExpectType bigint ES2024.CanBeHeldWeakly({}); // $ExpectType boolean ES2024.ToIntegerOrInfinity(5); // $ExpectType number +ES2024.ToZeroPaddedDecimalString(7, 4); // $ExpectType string + +ES2024.SystemTimeZoneIdentifier(); // $ExpectType string diff --git a/types/es-abstract/test/es2025.test.ts b/types/es-abstract/test/es2025.test.ts index f6c62ad84c6e59..2ee517ea9295ad 100644 --- a/types/es-abstract/test/es2025.test.ts +++ b/types/es-abstract/test/es2025.test.ts @@ -7,6 +7,10 @@ ES2025.CreateIteratorResultObject("value", false); // $ExpectType IteratorResult ES2025.CreateIteratorResultObject(42, true); // $ExpectType IteratorResultObject // Test a few re-exported operations to ensure they work -ES2025.truncate(5.5); // $ExpectType number +const truncateNum: number = 5.5; +const truncateBig: bigint = 5n; +ES2025.truncate(truncateNum); // $ExpectType number +ES2025.truncate(truncateBig); // $ExpectType bigint ES2025.ToIntegerOrInfinity(5); // $ExpectType number ES2025.StringIndexOf("hello", "l", 0); // $ExpectType number +ES2025.ToZeroPaddedDecimalString(7, 4); // $ExpectType string diff --git a/types/es-abstract/test/es5.test.ts b/types/es-abstract/test/es5.test.ts index b9029e3d621605..0a913c922de322 100644 --- a/types/es-abstract/test/es5.test.ts +++ b/types/es-abstract/test/es5.test.ts @@ -54,3 +54,8 @@ ES5.CheckObjectCoercible(any); ES5.ToPropertyDescriptor({ value: 123 }); // $ExpectType PropertyDescriptor ES5.FromPropertyDescriptor({ "[[Value]]": "456" }); // $ExpectType TypedPropertyDescriptor + +ES5["Abstract Relational Comparison"](1, 2, true); // $ExpectType boolean | undefined +ES5["Abstract Relational Comparison"](any, any, false); // $ExpectType boolean | undefined + +ES5.abs(-3); // $ExpectType number diff --git a/types/es-abstract/test/operations/2015.test.ts b/types/es-abstract/test/operations/2015.test.ts index 8c559032047af4..39154dba773d1f 100644 --- a/types/es-abstract/test/operations/2015.test.ts +++ b/types/es-abstract/test/operations/2015.test.ts @@ -123,6 +123,7 @@ type ExpectedKeys = | "Abstract Equality Comparison" | "Abstract Relational Comparison" | "Strict Equality Comparison" + | "abs" | "AdvanceStringIndex" | "ArrayCreate" | "ArraySetLength" diff --git a/types/es-abstract/test/operations/2016.test.ts b/types/es-abstract/test/operations/2016.test.ts index c2acdb13305a4f..7e02cf9ab6e305 100644 --- a/types/es-abstract/test/operations/2016.test.ts +++ b/types/es-abstract/test/operations/2016.test.ts @@ -44,7 +44,6 @@ export type AllAddedKeys = | "OrdinarySetPrototypeOf"; export type AddedKeys = - | "abs" | "AddRestrictedFunctionProperties" | "AllocateArrayBuffer" | "AllocateTypedArray" diff --git a/types/xrm/index.d.ts b/types/xrm/index.d.ts index 215fe5b0cc4e3f..730d9fa95cd163 100644 --- a/types/xrm/index.d.ts +++ b/types/xrm/index.d.ts @@ -2919,7 +2919,7 @@ declare namespace Xrm { * @param value The enumeration value of the option desired. * @returns The option. */ - getOption(value: number): OptionSetValue; + getOption(value: T): OptionSetValue; /** * Gets the option matching a label. @@ -2954,7 +2954,7 @@ declare namespace Xrm { * OptionSet attribute. Attributes on Quick Create Forms will not save values set * with this method. */ - setValue(value: number | null): void; + setValue(value: T | null): void; /** * A collection of all the controls on the form that interface with this attribute. @@ -2985,7 +2985,7 @@ declare namespace Xrm { * @param value The enumeration value of the option desired. * @returns The option. */ - getOption(value: number): OptionSetValue; + getOption(value: T): OptionSetValue; /** * Gets the option matching a label. @@ -3020,7 +3020,7 @@ declare namespace Xrm { * OptionSet attribute. Attributes on Quick Create Forms will not save values set * with this method. */ - setValue(value: number[] | null): void; + setValue(value: T[] | null): void; /** * A collection of all the controls on the form that interface with this attribute. diff --git a/types/xrm/xrm-tests.ts b/types/xrm/xrm-tests.ts index e9344152b646db..af956df4a60720 100644 --- a/types/xrm/xrm-tests.ts +++ b/types/xrm/xrm-tests.ts @@ -180,6 +180,11 @@ enum TestOptionSet { const optionSetAttributeEnum = formContext.getAttribute>("statuscode"); if (optionSetAttributeEnum !== null) { const optionEnumValue: TestOptionSet | null = optionSetAttributeEnum.getValue(); + optionSetAttributeEnum.getOption(TestOptionSet.Option1); + optionSetAttributeEnum.setValue(TestOptionSet.Option1); + optionSetAttributeEnum.setValue(null); + // @ts-expect-error — plain number is not assignable to TestOptionSet + optionSetAttributeEnum.setValue(123); } /// Demonstrate MultiSelectOptionSet Value as int @@ -203,6 +208,11 @@ const multiSelectOptionSetAttributeEnum = formContext.getAttribute< >("statuscode"); if (multiSelectOptionSetAttributeEnum !== null) { const multiSelectOptionEnumValue: TestMultiSelectOptionSet[] | null = multiSelectOptionSetAttributeEnum.getValue(); + multiSelectOptionSetAttributeEnum.getOption(TestMultiSelectOptionSet.Option1); + multiSelectOptionSetAttributeEnum.setValue([TestMultiSelectOptionSet.Option1]); + multiSelectOptionSetAttributeEnum.setValue(null); + // @ts-expect-error — plain number is not assignable to TestMultiSelectOptionSet + multiSelectOptionSetAttributeEnum.setValue([123]); } // Demonstrate that controls on a MultiSelectOptionSetAttribute are typed as MultiSelectOptionSetControl