UNPKG

delphirtl

Version:
254 lines (253 loc) 7.65 kB
import { FormatDateTime } from "./dateutils"; /** * Returs true if the given year is a leap year * * @param {number} Year * @returns {boolean} * @category SysUtils */ declare function IsLeapYear(Year: number): boolean; /** * Creates the given directory, Dir * * @param {string} Dir * @returns {boolean} * @category SysUtils */ declare function CreateDir(Dir: string): boolean; /** * Checks if the given Dir exists or not. * * @param {string} Dir * @returns {boolean} * @category SysUtils */ declare function DirectoryExists(Dir: string): boolean; export declare const faInvalid = -1; export declare const faReadOnly = 1; export declare const faHidden = 2; export declare const faSysFile = 4; export declare const faVolumeID = 8; /** * The referenced item is a directory */ export declare const faDirectory = 16; export declare const faArchive = 32; /** * * The referenced item is a file * * @type {128} */ export declare const faNormal = 128; export declare const faTemporary = 256; export declare const faSymLink = 1024; export declare const faCompressed = 2048; export declare const faEncrypted = 16384; export declare const faVirtual = 65536; export declare const faAnyFile = 511; export type TSearchRec = { Time: number; Size: number; Attr: number; Name: string; ExcludeAttr: number; /** * Last time it was accessed or modified, whichever's later * * @type {Date} */ LastAccessTime: Date; /** * Last modified time * * @type {Date} */ TimeStamp: Date; CreationTime: number; }; export type TFilterPredicate = (path: string, sr: TSearchRec) => boolean; /** * Get subdirectories from the given path, using the given predicate to filter out items * * @param {string} path * @param {TFilterPredicate} predicate * @returns {string[]} * @category SysUtils */ declare function GetDirectories(path: string, predicate: TFilterPredicate): string[]; /** * Removes the given directory, Dir * * @param {string} Dir * @param {?boolean} [Recursive] * @returns {boolean} * @throws ENOENT * @throws ENOTDIR * @category SysUtils */ declare function RemoveDir(Dir: string, Recursive?: boolean): boolean; /** * Gets the current working directory * @returns The current working directory * @category SysUtils */ declare function GetCurrentDir(): string; /** * Changes the current working directory to the specified directory * @param newDir New working directory * @category SysUtils */ declare function SetCurrentDir(newDir: string): void; /** * Extracts the drive and directory parts from AFileName. * Regardless of whether AFileName is a path or filename, * this routine returns the path up to the last path.sep * eg, AFileName contains K:\\Development\\TypeScript\\delphirtl\\tests * the result is K:\\Development\\TypeScript\\delphirtl * * @param {string} AFileNameOrPath * @returns {string} * @category SysUtils */ declare function ExtractFileDir(AFileNameOrPath: string): string; /** * Extracts the file extension, given the filename, AFileName * For example, if given "Nothing.pas", returns "pas" * If given "Nothing", returns "" * * @param {string} AFilename * @returns {string} * @category SysUtils */ declare function ExtractFileExt(AFilename: string): string; /** * Extracts the name and extension parts of a file name. * * The resulting string is the rightmost characters of FileName, starting with the first character after * the colon or backslash that separates the path information from the name and extension. The resulting * string is equal to FileName, if FileName contains no drive and directory parts. * @param AFileName * @returns * @category SysUtils */ declare function ExtractFileName(AFileName: string): string; /** * Checks if the given filename exists * * @param {string} AFileName Filename to check existence for. * @returns {boolean} true if the given filename exists, false otherwise. * @category SysUtils */ declare function FileExists(AFileName: string): boolean; /** * Adds a path delimiter to the given string. If the path delimiter is already at the end of the string, does nothing. * * @param {string} APath Given path to check for delimiter to add to * @returns {string} The path with added delimiter * @category SysUtils */ declare function IncludeTrailingPathDelimiter(APath: string): string; /** * Description placeholder * * @param {string} str * @returns {string} * @category SysUtils */ declare function LowerCase(str: string): string; /** * Description placeholder * * @param {string} str * @returns {string} * @category SysUtils */ declare function UpperCase(str: string): string; /** * Deletes the given name from the environment variable * * @param {string} Name * @category SysUtils */ declare function DeleteEnvironmentVariable(Name: string): void; /** * Only environment variables starting with ENV_REACT_PREFIX are returned in React * * @type {"REACT_APP_"} * @category Constants */ declare const ENV_REACT_PREFIX = "REACT_APP_"; /** * Only environment variables starting with ENV_NEXT_PREFIX are returned in Nextjs * * @type {"NEXT_PUBLIC_"} * @category Constants */ declare const ENV_NEXT_PREFIX = "NEXT_PUBLIC_"; /** * Retrieves the contents of the specified variable from the environment block * * @param Name The name of the environment variable to retrieve * @returns The value of the given environment variable * @category SysUtils */ declare function GetEnvironmentVariable(Name: string): string; /** * Checks if an environment variable exists * * @param {string} Name * @returns {boolean} * @category SysUtils */ declare function ExistsEnvironmentVariable(Name: string): boolean; /** * Sets the specified variable in the environment with the given value * * @param {string} Name * @param {string} Value * @category SysUtils */ declare function SetEnvironmentVariable(Name: string, Value: string): void; /** * An object * * @typedef {ArbitraryObject} * @category SysUtils */ export type ArbitraryObject = { [key: string]: unknown; }; /** * Checks if the given parameter is an object * @param potentialObj item to check as an object * @returns boolean * @category SysUtils */ declare function isArbitraryObject(potentialObj: unknown): potentialObj is ArbitraryObject; /** * Checks that obj is an object, and it has a field named fieldName and that its type is fieldType * Assuming e is an object with the field code of type string. * * If you use this, then the expression following it is valid, for example: * - hasFieldOfType<string>(e, "code", "string") && e.code === "INSUFFICIENT_FUNDS") * * If you do not use it, then * - e.code is invalid when checked by code analyzer * @param obj * @param fieldName * @param fieldType * @returns * @category SysUtils */ declare function hasFieldOfType<T>(obj: unknown, fieldName: string, fieldType: string): obj is { [fieldName: string]: T; }; /** * Checks if the given object has a message field of string type * * @param obj * @returns * @category SysUtils */ declare function hasMessageField(obj: unknown): obj is { message: string; }; export { CreateDir, DirectoryExists, GetDirectories, GetCurrentDir, SetCurrentDir, RemoveDir, ExtractFileDir, ExtractFileExt, ExtractFileName, FileExists, FormatDateTime, IncludeTrailingPathDelimiter, LowerCase, UpperCase, LowerCase as lowerCase, UpperCase as upperCase, DeleteEnvironmentVariable, ExistsEnvironmentVariable, GetEnvironmentVariable, SetEnvironmentVariable, hasMessageField, hasFieldOfType, isArbitraryObject, IsLeapYear, ENV_NEXT_PREFIX, ENV_REACT_PREFIX };