feat(es‑abstract): Update to v1.17 (#44805)

* feat(es‑abstract): Update to v1.17

* feat(es‑abstract): Add v1.17 helpers

* feat(es‑abstract): Split `es5.d.ts`

* feat(es‑abstract): Split `es2015.d.ts`

* feat(es‑abstract): Split `es2016.d.ts`

* feat(es‑abstract): Split `es2017.d.ts`

* feat(es‑abstract): Split `es2018.d.ts`

* feat(es‑abstract): Split `es2019.d.ts`

* chore(es‑abstract): Generate `OTHER_FILES.txt`

* Address review comments

Co-authored-by: Jordan Harband <ljharb@gmail.com>

* fixup! Address review comments

Co-authored-by: Jordan Harband <ljharb@gmail.com>

* fixup! Address review comments

* fixup! Address review comments

Co-authored-by: Jordan Harband <ljharb@gmail.com>
This commit is contained in:
ExE Boss 2020-07-14 02:11:06 +02:00 committed by GitHub
parent 5d1a719084
commit 9bf7f05452
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
641 changed files with 2961 additions and 443 deletions

View File

@ -0,0 +1,2 @@
import AbstractEqualityComparison = require('../5/AbstractEqualityComparison');
export = AbstractEqualityComparison;

View File

@ -0,0 +1,2 @@
import AbstractRelationalComparison = require('../5/AbstractRelationalComparison');
export = AbstractRelationalComparison;

View File

@ -0,0 +1,2 @@
declare function AdvanceStringIndex(S: string, index: number, unicode: boolean): number;
export = AdvanceStringIndex;

View File

@ -0,0 +1,2 @@
declare function ArrayCreate(length: number, proto?: object | null): unknown[];
export = ArrayCreate;

View File

@ -0,0 +1,4 @@
import type { PropertyDescriptor } from '../index';
declare function ArraySetLength(A: unknown[], Desc: PropertyDescriptor): boolean;
export = ArraySetLength;

View File

@ -0,0 +1,3 @@
declare function ArraySpeciesCreate<T>(originalArray: readonly T[], length: number): T[];
declare function ArraySpeciesCreate<T>(originalArray: ArrayLike<T>, length: number): ArrayLike<T> | T[];
export = ArraySpeciesCreate;

3
types/es-abstract/2015/Call.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
declare function Call<T, R>(F: (this: T) => R, thisArg: T): R;
declare function Call<T, A extends readonly unknown[], R>(F: (this: T, ...args: A) => R, thisArg: T, args: Readonly<A>): R;
export = Call;

View File

@ -0,0 +1,2 @@
declare function CanonicalNumericIndexString(value: string): number | undefined;
export = CanonicalNumericIndexString;

View File

@ -0,0 +1,24 @@
import type { GenericDescriptor, PropertyDescriptor } from '../index';
declare function CompletePropertyDescriptor<D extends PropertyDescriptor>(
Desc: D & ThisType<any>,
): Required<
D extends { '[[Value]]': infer T }
? GenericDescriptor & {
'[[Value]]': T;
'[[Writable]]': boolean;
}
: D extends { '[[Value]]'?: infer T } | { '[[Writable]]'?: boolean }
? GenericDescriptor & {
'[[Value]]': T | undefined;
'[[Writable]]': boolean;
}
: D extends { '[[Get]]'?: () => infer T } | { '[[Set]]'?: (value: infer T) => void }
? GenericDescriptor & {
'[[Get]]': (() => T) | undefined;
'[[Set]]': ((value: T) => void) | undefined;
}
: D & PropertyDescriptor
>;
declare function CompletePropertyDescriptor(Desc: PropertyDescriptor & ThisType<any>): Required<PropertyDescriptor>;
export = CompletePropertyDescriptor;

View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function CreateDataProperty(O: object, P: PropertyKey, V: unknown): boolean;
export = CreateDataProperty;

View File

@ -0,0 +1,7 @@
import type { PropertyKey } from '../index';
/**
* @throws {TypeError} If the property can't be created.
*/
declare function CreateDataPropertyOrThrow(O: object, P: PropertyKey, V: unknown): true;
export = CreateDataPropertyOrThrow;

10
types/es-abstract/2015/CreateHTML.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
/**
* @throws {TypeError} If `string` or `value` is a `symbol`.
*/
declare function CreateHTML(
string: string | number | bigint | boolean | object | null | undefined, // unknown & not symbol
tag: string,
attribute: string,
value?: string | number | bigint | boolean | object | null, // unknown & not symbol
): string;
export = CreateHTML;

View File

@ -0,0 +1,4 @@
declare function CreateIterResultObject<T>(value: T, done: true): IteratorReturnResult<T>;
declare function CreateIterResultObject<T>(value: T, done: false): IteratorYieldResult<T>;
declare function CreateIterResultObject<T>(value: T, done: boolean): IteratorResult<T, T>;
export = CreateIterResultObject;

View File

@ -0,0 +1,5 @@
declare function CreateListFromArrayLike<T>(
obj: ArrayLike<T>,
types?: Array<'Undefined' | 'Null' | 'Boolean' | 'String' | 'Symbol' | 'Number' | 'Object'>,
): T[];
export = CreateListFromArrayLike;

View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function CreateMethodProperty(O: object, P: PropertyKey, V: unknown): boolean;
export = CreateMethodProperty;

View File

@ -0,0 +1,2 @@
import DateFromTime = require('../5/DateFromTime');
export = DateFromTime;

2
types/es-abstract/2015/Day.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import Day = require('../5/Day');
export = Day;

View File

@ -0,0 +1,2 @@
import DayFromYear = require('../5/DayFromYear');
export = DayFromYear;

View File

@ -0,0 +1,2 @@
import DayWithinYear = require('../5/DayWithinYear');
export = DayWithinYear;

View File

@ -0,0 +1,2 @@
import DaysInYear = require('../5/DaysInYear');
export = DaysInYear;

View File

@ -0,0 +1,8 @@
import type { PropertyDescriptor, PropertyKey } from '../index';
declare function DefinePropertyOrThrow<O extends object>(
O: O,
P: PropertyKey,
desc: PropertyDescriptor & ThisType<O>,
): boolean;
export = DefinePropertyOrThrow;

View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function DeletePropertyOrThrow(O: object, P: PropertyKey): boolean;
export = DeletePropertyOrThrow;

View File

@ -0,0 +1,2 @@
declare function EnumerableOwnNames<O extends object>(target: O): Array<keyof O>;
export = EnumerableOwnNames;

View File

@ -0,0 +1,2 @@
import FromPropertyDescriptor = require('../5/FromPropertyDescriptor');
export = FromPropertyDescriptor;

4
types/es-abstract/2015/Get.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function Get<O extends object, P extends PropertyKey>(O: O, P: P): P extends keyof O ? O[P] : unknown;
export = Get;

View File

@ -0,0 +1,7 @@
/**
* @param obj The iterable
* @param method The method to use to get the `Iterator`
*/
declare function GetIterator<I extends Iterator<unknown, unknown, unknown>>(obj: { [Symbol.iterator](): I }): I;
declare function GetIterator<O, I extends Iterator<unknown, unknown, unknown>>(obj: O, method: (this: O) => I): I;
export = GetIterator;

11
types/es-abstract/2015/GetMethod.d.ts vendored Normal file
View File

@ -0,0 +1,11 @@
import type { PropertyKey } from '../index';
declare function GetMethod<O, P extends PropertyKey>(
O: O,
P: P,
): P extends keyof O // tslint:disable-next-line: ban-types
? NonNullable<O[P]> extends Function
? O[P]
: never
: ((...args: any) => any) | undefined;
export = GetMethod;

View File

@ -0,0 +1,15 @@
declare function GetOwnPropertyKeys<O extends object>(
O: O,
Type: 'String',
): Array<number extends keyof O ? string : Extract<keyof O, string>>;
declare function GetOwnPropertyKeys<O extends object>(
O: O,
Type: 'Symbol',
): Array<Extract<keyof O, symbol>>;
declare function GetOwnPropertyKeys<O extends object>(
O: O,
Type: 'String' | 'Symbol',
):
| Array<number extends keyof O ? string : Extract<keyof O, string>>
| Array<Extract<keyof O, symbol>>;
export = GetOwnPropertyKeys;

View File

@ -0,0 +1,14 @@
import type { Intrinsics } from '../GetIntrinsic';
// tslint:disable-next-line: ban-types
type TypedProto<P> = { readonly prototype?: P } & Omit<Function, 'prototype'>;
declare function GetPrototypeFromConstructor<P, K extends keyof Intrinsics>(
constructor: TypedProto<P>,
intrinsicDefaultProto: K,
): P extends object ? P : Intrinsics[K];
declare function GetPrototypeFromConstructor<P>(
constructor: TypedProto<P>,
intrinsicDefaultProto: string,
): P extends object ? P : object;
export = GetPrototypeFromConstructor;

View File

@ -0,0 +1,8 @@
declare function GetSubstitution(
matched: string,
str: string,
position: number,
captures: string[],
replacement: string,
): string;
export = GetSubstitution;

4
types/es-abstract/2015/GetV.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function GetV<O extends {}, P extends PropertyKey>(O: O, P: P): P extends keyof O ? O[P] : unknown;
export = GetV;

View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function HasOwnProperty<P extends PropertyKey>(O: object, P: P): O is { [K in P]: unknown };
export = HasOwnProperty;

View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function HasProperty<P extends PropertyKey>(O: object, P: P): O is { [K in P]: unknown };
export = HasProperty;

View File

@ -0,0 +1,2 @@
import HourFromTime = require('../5/HourFromTime');
export = HourFromTime;

View File

@ -0,0 +1,2 @@
import InLeapYear = require('../5/InLeapYear');
export = InLeapYear;

View File

@ -0,0 +1,6 @@
declare function InstanceofOperator(
O: object,
// tslint:disable-next-line: ban-types
C: Function | { [Symbol.hasInstance](O: unknown): boolean },
): boolean;
export = InstanceofOperator;

10
types/es-abstract/2015/Invoke.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
import type { PropertyKey } from '../index';
declare function Invoke<O extends {}, P extends PropertyKey>(
O: O,
P: P,
args?: P extends keyof O
? O[P] extends (...args: infer A) => any ? Readonly<A> : ArrayLike<unknown>
: ArrayLike<unknown>,
): P extends keyof O ? (O[P] extends (...args: any) => infer R ? R : never) : unknown;
export = Invoke;

View File

@ -0,0 +1,2 @@
import IsAccessorDescriptor = require('../5/IsAccessorDescriptor');
export = IsAccessorDescriptor;

2
types/es-abstract/2015/IsArray.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare const IsArray: typeof Array.isArray;
export = IsArray;

View File

@ -0,0 +1,2 @@
import IsCallable = require('../5/IsCallable');
export = IsCallable;

View File

@ -0,0 +1,2 @@
declare function IsConcatSpreadable(O: object): O is ConcatArray<any>;
export = IsConcatSpreadable;

View File

@ -0,0 +1,2 @@
declare function IsConstructor(argument: unknown): argument is new (...args: any) => any;
export = IsConstructor;

View File

@ -0,0 +1,2 @@
import IsDataDescriptor = require('../5/IsDataDescriptor');
export = IsDataDescriptor;

View File

@ -0,0 +1,2 @@
declare const IsExtensible: typeof Object.isExtensible;
export = IsExtensible;

View File

@ -0,0 +1,2 @@
import IsGenericDescriptor = require('../5/IsGenericDescriptor');
export = IsGenericDescriptor;

2
types/es-abstract/2015/IsInteger.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare function IsInteger(argument: unknown): argument is number;
export = IsInteger;

3
types/es-abstract/2015/IsPromise.d.ts vendored Normal file
View File

@ -0,0 +1,3 @@
declare function IsPromise<T>(x: PromiseLike<T>): x is Promise<T>;
declare function IsPromise(x: unknown): x is Promise<any>;
export = IsPromise;

View File

@ -0,0 +1,2 @@
import IsPropertyDescriptor = require('../5/IsPropertyDescriptor');
export = IsPropertyDescriptor;

View File

@ -0,0 +1,4 @@
import type { PropertyKey } from '../index';
declare function IsPropertyKey(arg: unknown): arg is PropertyKey;
export = IsPropertyKey;

2
types/es-abstract/2015/IsRegExp.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare function IsRegExp(argument: unknown): argument is RegExp;
export = IsRegExp;

View File

@ -0,0 +1,2 @@
declare function IteratorClose<T>(iterator: Iterator<unknown, unknown, unknown>, completion: () => T): T;
export = IteratorClose;

View File

@ -0,0 +1,4 @@
declare function IteratorComplete(
iterResult: IteratorResult<unknown, unknown>,
): iterResult is IteratorReturnResult<unknown>;
export = IteratorComplete;

View File

@ -0,0 +1,13 @@
declare function IteratorNext<T, TReturn = any, TNext = unknown>(
iterator: Iterator<T, TReturn, TNext>,
value?: TNext,
): IteratorResult<T, TReturn>;
declare function IteratorNext<T, TReturn = any, TNext = unknown>(
iterator: AsyncIterator<T, TReturn, TNext>,
value?: TNext,
): Promise<IteratorResult<T, TReturn>>;
declare function IteratorNext<T, TReturn = any, TNext = unknown>(
iterator: Iterator<T, TReturn, TNext> | AsyncIterator<T, TReturn, TNext>,
value?: TNext,
): IteratorResult<T, TReturn> | Promise<IteratorResult<T, TReturn>>;
export = IteratorNext;

View File

@ -0,0 +1,2 @@
declare function IteratorStep<T>(iterator: Iterator<T>): IteratorYieldResult<T> | false;
export = IteratorStep;

View File

@ -0,0 +1,2 @@
declare function IteratorValue<T = never, TReturn = never>(iterResult: IteratorResult<T, TReturn>): T | TReturn;
export = IteratorValue;

2
types/es-abstract/2015/MakeDate.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import MakeDate = require('../5/MakeDate');
export = MakeDate;

2
types/es-abstract/2015/MakeDay.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import MakeDay = require('../5/MakeDay');
export = MakeDay;

2
types/es-abstract/2015/MakeTime.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import MakeTime = require('../5/MakeTime');
export = MakeTime;

View File

@ -0,0 +1,2 @@
import MinFromTime = require('../5/MinFromTime');
export = MinFromTime;

View File

@ -0,0 +1,2 @@
import MonthFromTime = require('../5/MonthFromTime');
export = MonthFromTime;

View File

@ -0,0 +1,2 @@
declare function ObjectCreate(proto: object | null, internalSlotsList?: readonly []): object;
export = ObjectCreate;

View File

@ -0,0 +1,8 @@
import type { PropertyDescriptor, PropertyKey } from '../index';
declare function OrdinaryDefineOwnProperty(
O: object,
P: PropertyKey,
Desc: PropertyDescriptor & ThisType<any>,
): boolean;
export = OrdinaryDefineOwnProperty;

View File

@ -0,0 +1,20 @@
import type { PropertyKey } from '../index';
declare function OrdinaryGetOwnProperty<O extends object, P extends PropertyKey>(
O: O,
P: P,
):
| {
'[[Configurable]]': boolean;
'[[Enumerable]]': boolean;
'[[Writable]]': boolean;
'[[Value]]': P extends keyof O ? O[P] : unknown;
}
| {
'[[Configurable]]': boolean;
'[[Enumerable]]': boolean;
'[[Get]]': (() => P extends keyof O ? O[P] : unknown) | undefined;
'[[Set]]': ((value: P extends keyof O ? O[P] : unknown) => void) | undefined;
}
| undefined;
export = OrdinaryGetOwnProperty;

View File

@ -0,0 +1,2 @@
declare function OrdinaryHasInstance(C: unknown, O: object): boolean;
export = OrdinaryHasInstance;

View File

@ -0,0 +1,2 @@
declare function OrdinaryHasProperty(O: object, P: PropertyKey): boolean;
export = OrdinaryHasProperty;

View File

@ -0,0 +1,5 @@
declare function RegExpExec(
R: RegExp | { exec(string: string): RegExpExecArray | null },
S: string,
): RegExpExecArray | null;
export = RegExpExec;

View File

@ -0,0 +1,2 @@
import RequireObjectCoercible = require('../5/CheckObjectCoercible');
export = RequireObjectCoercible;

2
types/es-abstract/2015/SameValue.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import SameValue = require('../5/SameValue');
export = SameValue;

View File

@ -0,0 +1,2 @@
declare function SameValueZero(x: unknown, y: unknown): boolean;
export = SameValueZero;

View File

@ -0,0 +1,2 @@
import SecFromTime = require('../5/SecFromTime');
export = SecFromTime;

15
types/es-abstract/2015/Set.d.ts vendored Normal file
View File

@ -0,0 +1,15 @@
import type { PropertyKey } from '../index';
declare function Set<O extends object, P extends PropertyKey>(
O: O,
P: P,
V: P extends keyof O ? O[P] : unknown,
Throw: true,
): true | never;
declare function Set<O extends object, P extends PropertyKey>(
O: O,
P: P,
V: P extends keyof O ? O[P] : unknown,
Throw: boolean,
): boolean;
export = Set;

View File

@ -0,0 +1,3 @@
// tslint:disable-next-line: ban-types
declare function SetFunctionName(F: Function, name: string | symbol, prefix?: string): boolean;
export = SetFunctionName;

View File

@ -0,0 +1,2 @@
declare function SetIntegrityLevel(O: object, level: 'sealed' | 'frozen'): boolean;
export = SetIntegrityLevel;

View File

@ -0,0 +1,6 @@
// tslint:disable-next-line: ban-types
declare function SpeciesConstructor<C extends Function = new (...args: any) => any>(
O: object,
defaultConstructor?: C,
): C | (new (...args: any) => any);
export = SpeciesConstructor;

View File

@ -0,0 +1,2 @@
import StrictEqualityComparison = require('../5/StrictEqualityComparison');
export = StrictEqualityComparison;

View File

@ -0,0 +1,2 @@
declare function SymbolDescriptiveString(sym: symbol): string;
export = SymbolDescriptiveString;

View File

@ -0,0 +1,2 @@
declare function TestIntegrityLevel(O: object, level: 'sealed' | 'frozen'): boolean;
export = TestIntegrityLevel;

2
types/es-abstract/2015/TimeClip.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import TimeClip = require('../5/TimeClip');
export = TimeClip;

View File

@ -0,0 +1,2 @@
import TimeFromYear = require('../5/TimeFromYear');
export = TimeFromYear;

View File

@ -0,0 +1,2 @@
import TimeWithinDay = require('../5/TimeWithinDay');
export = TimeWithinDay;

2
types/es-abstract/2015/ToBoolean.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToBoolean = require('../5/ToBoolean');
export = ToBoolean;

View File

@ -0,0 +1,2 @@
declare function ToDateString(tv: number): string;
export = ToDateString;

2
types/es-abstract/2015/ToInt16.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare function ToInt16(value: unknown): number;
export = ToInt16;

2
types/es-abstract/2015/ToInt32.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToInt32 = require('../5/ToInt32');
export = ToInt32;

2
types/es-abstract/2015/ToInt8.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare function ToInt8(value: unknown): number;
export = ToInt8;

2
types/es-abstract/2015/ToInteger.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToInteger = require('../5/ToInteger');
export = ToInteger;

2
types/es-abstract/2015/ToLength.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare function ToLength(value: unknown): number;
export = ToLength;

2
types/es-abstract/2015/ToNumber.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToNumber = require('../5/ToNumber');
export = ToNumber;

2
types/es-abstract/2015/ToObject.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToObject = require('../5/ToObject');
export = ToObject;

View File

@ -0,0 +1,2 @@
import ToPrimitive = require('es-to-primitive/es2015');
export = ToPrimitive;

View File

@ -0,0 +1,2 @@
import ToPropertyDescriptor = require('../5/ToPropertyDescriptor');
export = ToPropertyDescriptor;

View File

@ -0,0 +1,2 @@
declare function ToPropertyKey(value: unknown): PropertyKey;
export = ToPropertyKey;

2
types/es-abstract/2015/ToString.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToString = require('../5/ToString');
export = ToString;

2
types/es-abstract/2015/ToUint16.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToUint16 = require('../5/ToUint16');
export = ToUint16;

2
types/es-abstract/2015/ToUint32.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import ToUint32 = require('../5/ToUint32');
export = ToUint32;

2
types/es-abstract/2015/ToUint8.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
declare function ToUint8(value: unknown): number;
export = ToUint8;

View File

@ -0,0 +1,2 @@
declare function ToUint8Clamp(value: unknown): number;
export = ToUint8Clamp;

10
types/es-abstract/2015/Type.d.ts vendored Normal file
View File

@ -0,0 +1,10 @@
// prettier-ignore
declare function Type<T>(x: T): T extends string ? 'String'
: T extends number ? 'Number'
: T extends boolean ? 'Boolean'
: T extends symbol ? 'Symbol'
: T extends null ? 'Null'
: T extends undefined ? 'Undefined'
: T extends object ? 'Object'
: 'String' | 'Number' | 'Boolean' | 'Symbol' | 'Null' | 'Undefined' | 'Object' | undefined;
export = Type;

View File

@ -0,0 +1,17 @@
import type { PropertyDescriptor, PropertyKey } from '../index';
declare function ValidateAndApplyPropertyDescriptor(
O: undefined,
P: unknown,
extensible: boolean,
Desc: PropertyDescriptor & ThisType<any>,
current?: PropertyDescriptor & ThisType<any>,
): boolean;
declare function ValidateAndApplyPropertyDescriptor(
O: object | undefined,
P: PropertyKey,
extensible: boolean,
Desc: PropertyDescriptor & ThisType<any>,
current?: PropertyDescriptor & ThisType<any>,
): boolean;
export = ValidateAndApplyPropertyDescriptor;

2
types/es-abstract/2015/WeekDay.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import WeekDay = require('../5/WeekDay');
export = WeekDay;

Some files were not shown because too many files have changed in this diff Show More