@tsonic/dotnet
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library)
107 lines (86 loc) • 3.81 kB
TypeScript
// Generated by tsbindgen - Architecture
// Namespace: System.Net.Cache
// Assembly: System.Net.Primitives, System.Net.Requests
// 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 types from other namespaces
import * as System_Internal from "../../System/internal/index.js";
import type { Boolean as ClrBoolean, DateTime, Enum, IComparable, IConvertible, IFormatProvider, IFormattable, Int32, ISpanFormattable, Object as ClrObject, String as ClrString, TimeSpan, Type, TypeCode } 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 HttpCacheAgeControl {
none = 0,
minFresh = 1,
maxAge = 2,
maxStale = 4,
maxAgeAndMinFresh = 3,
maxAgeAndMaxStale = 6
}
export enum HttpRequestCacheLevel {
default_ = 0,
bypassCache = 1,
cacheOnly = 2,
cacheIfAvailable = 3,
revalidate = 4,
reload = 5,
noCacheNoStore = 6,
cacheOrNextCacheOnly = 7,
refresh = 8
}
export enum RequestCacheLevel {
default_ = 0,
bypassCache = 1,
cacheOnly = 2,
cacheIfAvailable = 3,
revalidate = 4,
reload = 5,
noCacheNoStore = 6
}
export interface HttpRequestCachePolicy$instance extends RequestCachePolicy {
readonly cacheSyncDate: DateTime;
readonly level: HttpRequestCacheLevel | RequestCacheLevel;
readonly maxAge: TimeSpan;
readonly maxStale: TimeSpan;
readonly minFresh: TimeSpan;
toString(): string;
}
export const HttpRequestCachePolicy: {
new(): HttpRequestCachePolicy$instance;
new(level: HttpRequestCacheLevel): HttpRequestCachePolicy$instance;
new(cacheAgeControl: HttpCacheAgeControl, ageOrFreshOrStale: TimeSpan): HttpRequestCachePolicy$instance;
new(cacheAgeControl: HttpCacheAgeControl, maxAge: TimeSpan, freshOrStale: TimeSpan): HttpRequestCachePolicy$instance;
new(cacheSyncDate: DateTime): HttpRequestCachePolicy$instance;
new(cacheAgeControl: HttpCacheAgeControl, maxAge: TimeSpan, freshOrStale: TimeSpan, cacheSyncDate: DateTime): HttpRequestCachePolicy$instance;
};
export type HttpRequestCachePolicy = HttpRequestCachePolicy$instance;
export interface RequestCachePolicy$instance {
readonly level: HttpRequestCacheLevel | RequestCacheLevel;
toString(): string;
}
export const RequestCachePolicy: {
new(): RequestCachePolicy$instance;
new(level: RequestCacheLevel): RequestCachePolicy$instance;
};
export type RequestCachePolicy = RequestCachePolicy$instance;