null-proto-ts
Version:
Types for handling null-prototype objects in Typescript
1,325 lines (1,324 loc) • 46 kB
TypeScript
type ByObject<T extends object> = NullProtoMap<T>[NullProtoKey<T>];
type OBJECT_KEYS = 'toString' | 'toLocaleString' | 'constructor' | 'valueOf' | 'hasOwnProperty' | 'isPrototypeOf' | 'propertyIsEnumerable';
type ObjectKeys<T> = {
[key in OBJECT_KEYS]: key extends keyof T ? T[key] : never;
};
type KeyVal<T, K extends OBJECT_KEYS> = ObjectKeys<T>[K];
declare const MARKER: unique symbol;
type RemoveIndex<T> = {
[K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K];
};
type PatchType<T> = string extends keyof T ? {
[key in keyof (T & {
[key in OBJECT_KEYS]: T[string];
})]: key extends OBJECT_KEYS ? key extends keyof RemoveIndex<T> ? T[key] : T[string] : T[key & keyof T];
} : {
[key in keyof T]: key extends OBJECT_KEYS ? T[key & keyof T] : T[key];
};
type FillType<T> = string extends keyof T ? {
[key in keyof (T & {
[key in OBJECT_KEYS]: T[string];
})]: key extends OBJECT_KEYS ? T[string] : T[key & keyof T];
} & {
[MARKER]: T;
} : {
[key in keyof T]: key extends OBJECT_KEYS ? T[key & keyof T] : T[key];
} & {
[MARKER]: T;
};
type NullProto<T> = T extends FillType<infer Q> | ByObject<PatchType<infer Q>> ? FillType<Q> | ByObject<PatchType<Q>> : FillType<T> | ByObject<PatchType<T>>;
declare namespace NullProto {
type ToBasic<T> = T extends NullProto<infer Q> ? Q : T;
type Inner<T extends NullProto<any>> = T extends NullProto<infer Q> ? Q : never;
}
export type ToBasic<T> = NullProto.ToBasic<T>;
export type Inner<T extends NullProto<any>> = NullProto.Inner<T>;
export type { NullProto as default, };
declare abstract class NullProtoBase<T> {
#private;
[key: symbol]: symbol extends keyof T ? T[symbol] : never;
[key: string | number]: (string extends keyof T ? T[string] : never) | (number extends keyof T ? T[number] : never) | KeyVal<T, OBJECT_KEYS>;
}
type NullProtoKey<Obj> = `${'toString' extends keyof Obj ? '1' : '0'}${'toLocaleString' extends keyof Obj ? '1' : '0'}${'constructor' extends keyof Obj ? '1' : '0'}${'valueOf' extends keyof Obj ? '1' : '0'}${'hasOwnProperty' extends keyof Obj ? '1' : '0'}${'isPropertyOf' extends keyof Obj ? '1' : '0'}${'propertyIsEnumerable' extends keyof Obj ? '1' : '0'}`;
declare abstract class NP0<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP1<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP2<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP3<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP4<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP5<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP6<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP7<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP8<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP9<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP10<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP11<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP12<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP13<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP14<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP15<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP16<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP17<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP18<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP19<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP20<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP21<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP22<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP23<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP24<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP25<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP26<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP27<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP28<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP29<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP30<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP31<T> extends NullProtoBase<T> {
private toString;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP32<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP33<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP34<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP35<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP36<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP37<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP38<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP39<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP40<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP41<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP42<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP43<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP44<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP45<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP46<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP47<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP48<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP49<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP50<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP51<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP52<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP53<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP54<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP55<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP56<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP57<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP58<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP59<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP60<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP61<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP62<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP63<T> extends NullProtoBase<T> {
private toString;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP64<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP65<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP66<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP67<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP68<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP69<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP70<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP71<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP72<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP73<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP74<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP75<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP76<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP77<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP78<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP79<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP80<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP81<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP82<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP83<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP84<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP85<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP86<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP87<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP88<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP89<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP90<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP91<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP92<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP93<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP94<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP95<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
private toLocaleString;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP96<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP97<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP98<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP99<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP100<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP101<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP102<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP103<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP104<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP105<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP106<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP107<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP108<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP109<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP110<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP111<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
private ['constructor'];
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP112<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP113<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP114<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP115<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP116<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP117<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP118<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP119<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
private valueOf;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP120<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP121<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP122<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP123<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
private hasOwnProperty;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP124<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
private propertyIsEnumerable;
}
declare abstract class NP125<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
private isPrototypeOf;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
declare abstract class NP126<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
private propertyIsEnumerable;
}
declare abstract class NP127<T> extends NullProtoBase<T> {
toString: KeyVal<T, 'toString'>;
toLocaleString: KeyVal<T, 'toLocaleString'>;
['constructor']: KeyVal<T, 'constructor'>;
valueOf: KeyVal<T, 'valueOf'>;
hasOwnProperty: KeyVal<T, 'hasOwnProperty'>;
isPrototypeOf: KeyVal<T, 'isPrototypeOf'>;
propertyIsEnumerable: KeyVal<T, 'propertyIsEnumerable'>;
}
export type NullProtoMap<T> = {
'0000000': NP0<T>;
'0000001': NP1<T>;
'0000010': NP2<T>;
'0000011': NP3<T>;
'0000100': NP4<T>;
'0000101': NP5<T>;
'0000110': NP6<T>;
'0000111': NP7<T>;
'0001000': NP8<T>;
'0001001': NP9<T>;
'0001010': NP10<T>;
'0001011': NP11<T>;
'0001100': NP12<T>;
'0001101': NP13<T>;
'0001110': NP14<T>;
'0001111': NP15<T>;
'0010000': NP16<T>;
'0010001': NP17<T>;
'0010010': NP18<T>;
'0010011': NP19<T>;
'0010100': NP20<T>;
'0010101': NP21<T>;
'0010110': NP22<T>;
'0010111': NP23<T>;
'0011000': NP24<T>;
'0011001': NP25<T>;
'0011010': NP26<T>;
'0011011': NP27<T>;
'0011100': NP28<T>;
'0011101': NP29<T>;
'0011110': NP30<T>;
'0011111': NP31<T>;
'0100000': NP32<T>;
'0100001': NP33<T>;
'0100010': NP34<T>;
'0100011': NP35<T>;
'0100100': NP36<T>;
'0100101': NP37<T>;
'0100110': NP38<T>;
'0100111': NP39<T>;
'0101000': NP40<T>;
'0101001': NP41<T>;
'0101010': NP42<T>;
'0101011': NP43<T>;
'0101100': NP44<T>;
'0101101': NP45<T>;
'0101110': NP46<T>;
'0101111': NP47<T>;
'0110000': NP48<T>;
'0110001': NP49<T>;
'0110010': NP50<T>;
'0110011': NP51<T>;
'0110100': NP52<T>;
'0110101': NP53<T>;
'0110110': NP54<T>;
'0110111': NP55<T>;
'0111000': NP56<T>;
'0111001': NP57<T>;
'0111010': NP58<T>;
'0111011': NP59<T>;
'0111100': NP60<T>;
'0111101': NP61<T>;
'0111110': NP62<T>;
'0111111': NP63<T>;
'1000000': NP64<T>;
'1000001': NP65<T>;
'1000010': NP66<T>;
'1000011': NP67<T>;
'1000100': NP68<T>;
'1000101': NP69<T>;
'1000110': NP70<T>;
'1000111': NP71<T>;
'1001000': NP72<T>;
'1001001': NP73<T>;
'1001010': NP74<T>;
'1001011': NP75<T>;
'1001100': NP76<T>;
'1001101': NP77<T>;
'1001110': NP78<T>;
'1001111': NP79<T>;
'1010000': NP80<T>;
'1010001': NP81<T>;
'1010010': NP82<T>;
'1010011': NP83<T>;
'1010100': NP84<T>;
'1010101': NP85<T>;
'1010110': NP86<T>;
'1010111': NP87<T>;
'1011000': NP88<T>;
'1011001': NP89<T>;
'1011010': NP90<T>;
'1011011': NP91<T>;
'1011100': NP92<T>;
'1011101': NP93<T>;
'1011110': NP94<T>;
'1011111': NP95<T>;
'1100000': NP96<T>;
'1100001': NP97<T>;
'1100010': NP98<T>;
'1100011': NP99<T>;
'1100100': NP100<T>;
'1100101': NP101<T>;
'1100110': NP102<T>;
'1100111': NP103<T>;
'1101000': NP104<T>;
'1101001': NP105<T>;
'1101010': NP106<T>;
'1101011': NP107<T>;
'1101100': NP108<T>;
'1101101': NP109<T>;
'1101110': NP110<T>;
'1101111': NP111<T>;
'1110000': NP112<T>;
'1110001': NP113<T>;
'1110010': NP114<T>;
'1110011': NP115<T>;
'1110100': NP116<T>;
'1110101': NP117<T>;
'1110110': NP118<T>;
'1110111': NP119<T>;
'1111000': NP120<T>;
'1111001': NP121<T>;
'1111010': NP122<T>;
'1111011': NP123<T>;
'1111100': NP124<T>;
'1111101': NP125<T>;
'1111110': NP126<T>;
'1111111': NP127<T>;
};