import Null from './data-types/null'; import TinyInt from './data-types/tinyint'; import Bit from './data-types/bit'; import SmallInt from './data-types/smallint'; import Int from './data-types/int'; import SmallDateTime from './data-types/smalldatetime'; import Real from './data-types/real'; import Money from './data-types/money'; import DateTime from './data-types/datetime'; import Float from './data-types/float'; import Decimal from './data-types/decimal'; import Numeric from './data-types/numeric'; import SmallMoney from './data-types/smallmoney'; import BigInt from './data-types/bigint'; import Image from './data-types/image'; import Text from './data-types/text'; import UniqueIdentifier from './data-types/uniqueidentifier'; import IntN from './data-types/intn'; import NText from './data-types/ntext'; import BitN from './data-types/bitn'; import DecimalN from './data-types/decimaln'; import NumericN from './data-types/numericn'; import FloatN from './data-types/floatn'; import MoneyN from './data-types/moneyn'; import DateTimeN from './data-types/datetimen'; import VarBinary from './data-types/varbinary'; import VarChar from './data-types/varchar'; import Binary from './data-types/binary'; import Char from './data-types/char'; import NVarChar from './data-types/nvarchar'; import NChar from './data-types/nchar'; import Xml from './data-types/xml'; import Time from './data-types/time'; import Date from './data-types/date'; import DateTime2 from './data-types/datetime2'; import DateTimeOffset from './data-types/datetimeoffset'; import UDT from './data-types/udt'; import TVP from './data-types/tvp'; import Variant from './data-types/sql-variant'; import { type CryptoMetadata } from './always-encrypted/types'; import { type InternalConnectionOptions } from './connection'; import { Collation } from './collation'; export interface Parameter { type: DataType; name: string; value: unknown; output: boolean; length?: number | undefined; precision?: number | undefined; scale?: number | undefined; nullable?: boolean | undefined; forceEncrypt?: boolean | undefined; cryptoMetadata?: CryptoMetadata | undefined; encryptedVal?: Buffer | undefined; } export interface ParameterData { length?: number | undefined; scale?: number | undefined; precision?: number | undefined; collation?: Collation | undefined; value: T; } export interface DataType { id: number; type: string; name: string; declaration(parameter: Parameter): string; generateTypeInfo(parameter: ParameterData, options: InternalConnectionOptions): Buffer; generateParameterLength(parameter: ParameterData, options: InternalConnectionOptions): Buffer; generateParameterData(parameter: ParameterData, options: InternalConnectionOptions): Generator; validate(value: any, collation: Collation | undefined, options?: InternalConnectionOptions): any; hasTableName?: boolean; resolveLength?: (parameter: Parameter) => number; resolvePrecision?: (parameter: Parameter) => number; resolveScale?: (parameter: Parameter) => number; } export declare const TYPE: { [Null.id]: DataType; [TinyInt.id]: DataType; [Bit.id]: DataType; [SmallInt.id]: DataType; [Int.id]: DataType; [SmallDateTime.id]: DataType; [Real.id]: DataType; [Money.id]: DataType; [DateTime.id]: DataType; [Float.id]: DataType; [Decimal.id]: DataType & { resolvePrecision: NonNullable; resolveScale: NonNullable; }; [Numeric.id]: DataType & { resolveScale: NonNullable; resolvePrecision: NonNullable; }; [SmallMoney.id]: DataType; [BigInt.id]: DataType; [Image.id]: DataType; [Text.id]: DataType; [UniqueIdentifier.id]: DataType; [IntN.id]: DataType; [NText.id]: DataType; [BitN.id]: DataType; [DecimalN.id]: DataType; [NumericN.id]: DataType; [FloatN.id]: DataType; [MoneyN.id]: DataType; [DateTimeN.id]: DataType; [VarBinary.id]: { maximumLength: number; } & DataType; [VarChar.id]: { maximumLength: number; } & DataType; [Binary.id]: { maximumLength: number; } & DataType; [Char.id]: { maximumLength: number; } & DataType; [NVarChar.id]: { maximumLength: number; } & DataType; [NChar.id]: DataType & { maximumLength: number; }; [Xml.id]: DataType; [Time.id]: DataType; [Date.id]: DataType; [DateTime2.id]: DataType & { resolveScale: NonNullable; }; [DateTimeOffset.id]: DataType & { resolveScale: NonNullable; }; [UDT.id]: DataType; [TVP.id]: DataType; [Variant.id]: DataType; }; /** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
TypeConstantJavaScriptResult setParameter
Exact numerics
bit[[TYPES.Bit]]boolean
tinyint[[TYPES.TinyInt]]number
smallint[[TYPES.SmallInt]]number
int[[TYPES.Int]]number
bigint1[[TYPES.BigInt]]string
numeric2[[TYPES.Numeric]]number
decimal2[[TYPES.Decimal]]number
smallmoney[[TYPES.SmallMoney]]number
money[[TYPES.Money]]number
Approximate numerics
float[[TYPES.Float]]number
real[[TYPES.Real]]number
Date and Time
smalldatetime[[TYPES.SmallDateTime]]Date
datetime[[TYPES.DateTime]]Date
datetime2[[TYPES.DateTime2]]Date
datetimeoffset[[TYPES.DateTimeOffset]]Date
time[[TYPES.Time]]Date
date[[TYPES.Date]]Date
Character Strings
char[[TYPES.Char]]string
varchar3[[TYPES.VarChar]]string
text[[TYPES.Text]]string
Unicode Strings
nchar[[TYPES.NChar]]string
nvarchar3[[TYPES.NVarChar]]string
ntext[[TYPES.NText]]string-
Binary Strings4
binary[[TYPES.Binary]]Buffer
varbinary[[TYPES.VarBinary]]Buffer
image[[TYPES.Image]]Buffer
Other Data Types
TVP[[TYPES.TVP]]Object-
UDT[[TYPES.UDT]]Buffer-
uniqueidentifier4[[TYPES.UniqueIdentifier]]string
variant[[TYPES.Variant]]any-
xml[[TYPES.Xml]]string-
* *
    *
  1. *

    BigInt

    *

    * Values are returned as a string. This is because values can exceed 53 bits of significant data, which is greater than a * Javascript number type can represent as an integer. *

    *
  2. *
  3. *

    Numerical, Decimal

    *

    * For input parameters, default precision is 18 and default scale is 0. Maximum supported precision is 19. *

    *
  4. *
  5. *

    VarChar, NVarChar

    *

    * varchar(max) and nvarchar(max) are also supported. *

    *
  6. *
  7. *

    UniqueIdentifier

    *

    * Values are returned as a 16 byte hexadecimal string. *

    *

    * Note that the order of bytes is not the same as the character representation. See * Using uniqueidentifier Data * for an example of the different ordering of bytes. *

    *
  8. *
*/ export declare const TYPES: { TinyInt: DataType; Bit: DataType; SmallInt: DataType; Int: DataType; SmallDateTime: DataType; Real: DataType; Money: DataType; DateTime: DataType; Float: DataType; Decimal: DataType & { resolvePrecision: NonNullable; resolveScale: NonNullable; }; Numeric: DataType & { resolveScale: NonNullable; resolvePrecision: NonNullable; }; SmallMoney: DataType; BigInt: DataType; Image: DataType; Text: DataType; UniqueIdentifier: DataType; NText: DataType; VarBinary: { maximumLength: number; } & DataType; VarChar: { maximumLength: number; } & DataType; Binary: { maximumLength: number; } & DataType; Char: { maximumLength: number; } & DataType; NVarChar: { maximumLength: number; } & DataType; NChar: DataType & { maximumLength: number; }; Xml: DataType; Time: DataType; Date: DataType; DateTime2: DataType & { resolveScale: NonNullable; }; DateTimeOffset: DataType & { resolveScale: NonNullable; }; UDT: DataType; TVP: DataType; Variant: DataType; }; export declare const typeByName: { TinyInt: DataType; Bit: DataType; SmallInt: DataType; Int: DataType; SmallDateTime: DataType; Real: DataType; Money: DataType; DateTime: DataType; Float: DataType; Decimal: DataType & { resolvePrecision: NonNullable; resolveScale: NonNullable; }; Numeric: DataType & { resolveScale: NonNullable; resolvePrecision: NonNullable; }; SmallMoney: DataType; BigInt: DataType; Image: DataType; Text: DataType; UniqueIdentifier: DataType; NText: DataType; VarBinary: { maximumLength: number; } & DataType; VarChar: { maximumLength: number; } & DataType; Binary: { maximumLength: number; } & DataType; Char: { maximumLength: number; } & DataType; NVarChar: { maximumLength: number; } & DataType; NChar: DataType & { maximumLength: number; }; Xml: DataType; Time: DataType; Date: DataType; DateTime2: DataType & { resolveScale: NonNullable; }; DateTimeOffset: DataType & { resolveScale: NonNullable; }; UDT: DataType; TVP: DataType; Variant: DataType; };