IsDoc

Copied!
IsDoc( value )

Description

The IsDoc function returns true only if value is a document, otherwise it returns false.

Parameters

Parameter Type Definition and Requirements

value

Any

Any value, which is to be tested to determine whether it is a document or not.

Returns

Returns a Boolean, indicating whether value was a document or not.

Examples

The following query uses Map to iterate over an array of all of the types of values that can be tested by a type-check function, passing each item into a Lambda function that returns an object, which contains the value and the result of calling IsDoc with that value:

Copied!
Map(
  [
    ['array'],
    true,
    false,
    new Uint8Array([1, 2, 3, 4]),
    [0x1, 0x2, 0x3, 0x4],
    Collection('Letters'),
    Ref('credentials/self'),
    Database('child_db'),
    Date('2019-11-12'),
    Ref(Collection('Letters'), 123),
    10.1,
    Function('double'),
    Index('letters'),
    10,
    Ref(Keys(), '1'),
    Query(Lambda('x', Var('x'))),
    null,
    { x: 10 },
    Role('employees'),
    Match(Index('letters')),
    'ten',
    '10',
    Time('2020-07-06T12:34:56.789Z'),
    Ref(Tokens(), '1'),
  ],
  Lambda('x', {
    value: Var('x'),
    IsDoc: IsDoc(Var('x')),
  })
)
[
  { value: [ 'array' ], IsDoc: false },
  { value: true, IsDoc: false },
  { value: false, IsDoc: false },
  { value: { '0': 1, '1': 2, '2': 3, '3': 4 }, IsDoc: false },
  { value: [ 1, 2, 3, 4 ], IsDoc: false },
  { value: Collection("Letters"), IsDoc: true },
  { value: Ref(Credentials(), "302043979982045696"), IsDoc: true },
  { value: Database("child_db"), IsDoc: true },
  { value: Date("2019-11-12"), IsDoc: false },
  { value: Ref(Collection("Letters"), "123"), IsDoc: true },
  { value: 10.1, IsDoc: false },
  { value: Function("double"), IsDoc: true },
  { value: Index("letters"), IsDoc: true },
  { value: 10, IsDoc: false },
  { value: Ref(Keys(), "1"), IsDoc: true },
  { value: Query(Lambda("x", Var("x"))), IsDoc: false },
  { value: null, IsDoc: false },
  { value: { x: 10 }, IsDoc: false },
  { value: Role("employees"), IsDoc: true },
  { value: Match(Index("letters")), IsDoc: false },
  { value: 'ten', IsDoc: false },
  { value: '10', IsDoc: false },
  { value: Time("2020-07-06T12:34:56.789Z"), IsDoc: false },
  { value: Ref(Tokens(), "1"), IsDoc: true }
]
Query metrics:
  •    bytesIn:   594

  •   bytesOut: 1,503

  • computeOps:     2

  •    readOps:     0

  •   writeOps:     0

  •  readBytes:   373

  • writeBytes:     0

  •  queryTime:  26ms

  •    retries:     0

This query operates on a pre-existing schema, which is not provided here.

Also, the query is executed via a client connection, that uses a secret acquired by calling the Login function (not shown here), so that Ref("credentials/self") returns a valid value.

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!