UNPKG

@tsonic/dotnet-pure

Version:

TypeScript type definitions for .NET 10 BCL (Base Class Library) - CLR naming

251 lines (173 loc) 8.73 kB
// Generated by tsbindgen - Architecture // Namespace: System.Diagnostics.Contracts // Assembly: System.Private.CoreLib // Branded primitive types are sourced from @tsonic/types import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types'; // Import support types from @tsonic/types import type { ptr, ref } from "@tsonic/types"; // Import types from other namespaces import type { IEnumerable_1 } from "../../System.Collections.Generic/internal/index.js"; import type { IDictionary } from "../../System.Collections/internal/index.js"; import type { MethodBase } from "../../System.Reflection/internal/index.js"; import * as System_Runtime_Serialization_Internal from "../../System.Runtime.Serialization/internal/index.js"; import type { ISerializable, SerializationInfo, StreamingContext } from "../../System.Runtime.Serialization/internal/index.js"; import * as System_Internal from "../../System/internal/index.js"; import type { Attribute, Boolean as ClrBoolean, Enum, EventArgs, EventHandler_1, Exception, IComparable, IConvertible, IFormatProvider, IFormattable, Int32, ISpanFormattable, Object as ClrObject, Predicate_1, String as ClrString, Type, TypeCode, Void } from "../../System/internal/index.js"; // CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints // This utility is used ONLY in generic type arguments to satisfy CLR interface constraints // Value positions (parameters, return types) use lowercase primitives for ergonomics export type CLROf<T> = T extends sbyte ? System_Internal.SByte : T extends short ? System_Internal.Int16 : T extends int ? System_Internal.Int32 : T extends long ? System_Internal.Int64 : T extends int128 ? System_Internal.Int128 : T extends nint ? System_Internal.IntPtr : T extends byte ? System_Internal.Byte : T extends ushort ? System_Internal.UInt16 : T extends uint ? System_Internal.UInt32 : T extends ulong ? System_Internal.UInt64 : T extends uint128 ? System_Internal.UInt128 : T extends nuint ? System_Internal.UIntPtr : T extends half ? System_Internal.Half : T extends float ? System_Internal.Single : T extends double ? System_Internal.Double : T extends decimal ? System_Internal.Decimal : T extends char ? System_Internal.Char : T extends boolean ? System_Internal.Boolean : T extends string ? System_Internal.String : T; // Identity fallback for non-primitive types export enum ContractFailureKind { Precondition = 0, Postcondition = 1, PostconditionOnException = 2, Invariant = 3, Assert = 4, Assume = 5 } export interface ContractAbbreviatorAttribute$instance extends Attribute { } export const ContractAbbreviatorAttribute: { new(): ContractAbbreviatorAttribute$instance; }; export type ContractAbbreviatorAttribute = ContractAbbreviatorAttribute$instance; export interface ContractArgumentValidatorAttribute$instance extends Attribute { } export const ContractArgumentValidatorAttribute: { new(): ContractArgumentValidatorAttribute$instance; }; export type ContractArgumentValidatorAttribute = ContractArgumentValidatorAttribute$instance; export interface ContractClassAttribute$instance extends Attribute { readonly TypeContainingContracts: Type; } export const ContractClassAttribute: { new(typeContainingContracts: Type): ContractClassAttribute$instance; }; export type ContractClassAttribute = ContractClassAttribute$instance; export interface ContractClassForAttribute$instance extends Attribute { readonly TypeContractsAreFor: Type; } export const ContractClassForAttribute: { new(typeContractsAreFor: Type): ContractClassForAttribute$instance; }; export type ContractClassForAttribute = ContractClassForAttribute$instance; export interface ContractException$instance extends Exception { readonly Condition: string; readonly Failure: string; readonly Kind: ContractFailureKind; readonly UserMessage: string; GetObjectData(info: SerializationInfo, context: StreamingContext): void; } export const ContractException: { new(kind: ContractFailureKind, failure: string, userMessage: string, condition: string, innerException: Exception): ContractException$instance; }; export interface __ContractException$views { As_ISerializable(): System_Runtime_Serialization_Internal.ISerializable$instance; } export type ContractException = ContractException$instance & __ContractException$views; export interface ContractFailedEventArgs$instance extends EventArgs { readonly Condition: string; readonly FailureKind: ContractFailureKind; readonly Handled: boolean; readonly Message: string; readonly OriginalException: Exception; readonly Unwind: boolean; SetHandled(): void; SetUnwind(): void; } export const ContractFailedEventArgs: { new(failureKind: ContractFailureKind, message: string, condition: string, originalException: Exception): ContractFailedEventArgs$instance; }; export type ContractFailedEventArgs = ContractFailedEventArgs$instance; export interface ContractInvariantMethodAttribute$instance extends Attribute { } export const ContractInvariantMethodAttribute: { new(): ContractInvariantMethodAttribute$instance; }; export type ContractInvariantMethodAttribute = ContractInvariantMethodAttribute$instance; export interface ContractOptionAttribute$instance extends Attribute { readonly Category: string; readonly Enabled: boolean; readonly Setting: string; readonly Value: string; } export const ContractOptionAttribute: { new(category: string, setting: string, enabled: boolean): ContractOptionAttribute$instance; new(category: string, setting: string, value: string): ContractOptionAttribute$instance; }; export type ContractOptionAttribute = ContractOptionAttribute$instance; export interface ContractPublicPropertyNameAttribute$instance extends Attribute { readonly Name: string; } export const ContractPublicPropertyNameAttribute: { new(name: string): ContractPublicPropertyNameAttribute$instance; }; export type ContractPublicPropertyNameAttribute = ContractPublicPropertyNameAttribute$instance; export interface ContractReferenceAssemblyAttribute$instance extends Attribute { } export const ContractReferenceAssemblyAttribute: { new(): ContractReferenceAssemblyAttribute$instance; }; export type ContractReferenceAssemblyAttribute = ContractReferenceAssemblyAttribute$instance; export interface ContractRuntimeIgnoredAttribute$instance extends Attribute { } export const ContractRuntimeIgnoredAttribute: { new(): ContractRuntimeIgnoredAttribute$instance; }; export type ContractRuntimeIgnoredAttribute = ContractRuntimeIgnoredAttribute$instance; export interface ContractVerificationAttribute$instance extends Attribute { readonly Value: boolean; } export const ContractVerificationAttribute: { new(value: boolean): ContractVerificationAttribute$instance; }; export type ContractVerificationAttribute = ContractVerificationAttribute$instance; export interface PureAttribute$instance extends Attribute { } export const PureAttribute: { new(): PureAttribute$instance; }; export type PureAttribute = PureAttribute$instance; export abstract class Contract$instance { static Assert(condition: boolean, userMessage: string): void; static Assert(condition: boolean): void; static Assume(condition: boolean, userMessage: string): void; static Assume(condition: boolean): void; static EndContractBlock(): void; static Ensures(condition: boolean, userMessage: string): void; static Ensures(condition: boolean): void; static EnsuresOnThrow<TException extends Exception>(condition: boolean, userMessage: string): void; static EnsuresOnThrow<TException extends Exception>(condition: boolean): void; static Exists<T>(collection: IEnumerable_1<T>, predicate: Predicate_1<T>): boolean; static Exists(fromInclusive: int, toExclusive: int, predicate: Predicate_1<CLROf<int>>): boolean; static ForAll<T>(collection: IEnumerable_1<T>, predicate: Predicate_1<T>): boolean; static ForAll(fromInclusive: int, toExclusive: int, predicate: Predicate_1<CLROf<int>>): boolean; static Invariant(condition: boolean, userMessage: string): void; static Invariant(condition: boolean): void; static OldValue<T>(value: T): T; static Requires(condition: boolean, userMessage: string): void; static Requires(condition: boolean): void; static Result<T>(): T; static ValueAtReturn<T>(value: { value: ref<T> }): T; } export type Contract = Contract$instance;