IsDoc

IsDoc( value )

Description

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

Parameters

Argument 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:

client.query(
  q.Map(
    [
      ['array'],
      true,
      false,
      new Uint8Array([1, 2, 3, 4]),
      [0x1, 0x2, 0x3, 0x4],
      q.Collection('Letters'),
      q.Ref('credentials/self'),
      q.Database('child_db'),
      q.Date('2019-11-12'),
      q.Ref(q.Collection('Letters'), 123),
      10.1,
      q.Function('double'),
      q.Index('all_letters'),
      10,
      q.Ref(q.Keys(), '248967241620521472'),
      q.Query(q.Lambda('x', q.Var('x'))),
      null,
      { x: 10 },
      q.Role('employees'),
      q.Match(q.Index('all_letters')),
      'ten',
      '10',
      q.Now(),
      q.Ref(q.Tokens(), '249062079147803136'),
    ],
    q.Lambda('x', {
      value: q.Var('x'),
      IsDoc: q.IsDoc(q.Var('x')),
    })
  )
)
.then((ret) => console.log(ret))
[ { value: [ 'array' ], IsDoc: false },
  { value: true, IsDoc: false },
  { value: false, IsDoc: false },
  { value: Bytes("AQIDBA=="), IsDoc: false },
  { value: [ 1, 2, 3, 4 ], IsDoc: false },
  { value: Collection("Letters"), IsDoc: true },
  { value: Ref(Credentials(), "248967019900174848"), 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("all_letters"), IsDoc: true },
  { value: 10, IsDoc: false },
  { value: Ref(Keys(), "248967241620521472"), 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("all_letters")), IsDoc: false },
  { value: 'ten', IsDoc: false },
  { value: '10', IsDoc: false },
  { value: Time("2019-11-12T13:15:16.789Z"), IsDoc: false },
  { value: Ref(Tokens(), "249062079147803136"), IsDoc: true } ]

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 Login (not shown here), so that Ref("credentials/self") returns a valid value.

Was this article helpful?

We're sorry to hear that.
Tell us how we can improve! documentation@fauna.com

Thank you for your feedback!