SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Variable ValueKindConst

    ValueKind: {
        Array: "array";
        Boolean: "boolean";
        Error: "error";
        Lambda: "lambda";
        Null: "null";
        Number: "number";
        Omitted: "omitted";
        Reference: "reference";
        RichData: "richData";
        String: "string";
    } = ...

    The KIND of one value — the total discriminator over IFunctionArguments.RawArg, and the vocabulary a RETURN declaration speaks (IFunction.IReturnType.getKind).

    Type Declaration

    • ReadonlyArray: "array"

      An ARRAY that is not a reference — {1,2}, or a computed one (SEQUENCE, TRANSPOSE(…)).

    • ReadonlyBoolean: "boolean"

      A boolean value (true or false).

    • ReadonlyError: "error"

      A cell that contains an error value.

      Error cells represent cells where an error occurred during formula evaluation or data processing.

    • ReadonlyLambda: "lambda"

      A callable — LAMBDA(…), an eta-reduced function name, or a lambda-valued binding.

    • ReadonlyNull: "null"

      Represents the absence of a value.

    • ReadonlyNumber: "number"

      A numeric value.

      Dates are expressed as formatted numbers within cells. They are internally stored as serial numbers and can be formatted to display as dates.

    • ReadonlyOmitted: "omitted"

      OMITTED — nothing at this position: the empty comma of CUMIPMT(,120,…), or a position past what the caller wrote. A blank CELL is a Reference (blankness is the cell's value). ABSENT-vs-omitted — whether the position exists in the call at all — is not a kind; it is index >= getLength().

    • ReadonlyReference: "reference"

      A reference — A1, A1:B3, or a reference-returning call (INDEX, OFFSET, TAKE).

    • ReadonlyRichData: "richData"

      A complex data type represented as IRichData.

      Rich data are objects that have complex structures and can contain data that goes beyond simple strings, numbers, booleans, or error values. For example, hyperlinks and images are represented as rich data.

    • ReadonlyString: "string"

      A string value.

    A value's kind and its extent are different axes: {10}, A1 and a bare 10 all reach a range-typed parameter as a 1x1 container, yet Excel separates them: VLOOKUP(10,10,1,TRUE) is #N/A while VLOOKUP(10,{10},1,TRUE) is 10, and TYPE answers 1 vs 64. The kind is what the CALLER supplied; the extent is merely its size.

    The scalar kinds ARE ScalarType values — one vocabulary, so getKindAt(i) === ScalarType.Boolean reads naturally — extended with the four kinds only an argument can be: a reference, a non-reference array, a callable, and no argument at all. As an argument kind, ScalarType.Null means a BLANK value.

    The names and values are ours. The numeric codes Excel's TYPE function answers are a PROJECTION of this kind (see TYPE's implementation), not the kind itself.