IsDoc

IsDoc( value )
IsDoc( value )
IsDoc( value )
Not available in this language yet.
Not available in this language yet.
Not available in this language yet.
Not available in this language yet.
Not available in this language yet.

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:

System.out.println(
    client.query(
        Map(
            Arr(
                Arr(Value("array")),
                Value(true),
                Value(false),
                Value(new byte[] {0x1, 0x2, 0x3, 0x4}),
                Arr(Value(0x1), Value(0x2), Value(0x3), Value(0x4)),
                Collection("Letters"),
                Ref("credentials/self"),
                Database("child_db"),
                Date("2019-11-12"),
                Ref(Collection("Letters"), "123"),
                Value(10.1),
                Function("double"),
                Index("all_letters"),
                Value(10),
                Ref(Keys(), "248967241620521472"),
                Query(Lambda("x", Var("x"))),
                Null(),
                Obj("x", Value(10)),
                Role("employees"),
                Match(Index("all_letters")),
                Value("ten"),
                Value("10"),
                Now(),
                Ref(Tokens(), "249062079147803136")
            ),
            Lambda(
                "x",
                Obj("value", Var("x"), "IsDoc", IsDoc(Var("x")))
            )
        )
    ).get());
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))
println(Await.result(
  client.query(
    Map(
      Arr(
        Arr("array"),
        true,
        false,
        BytesV(0x1, 0x2, 0x3, 0x4),
        Arr(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("all_letters"),
        10,
        Ref(Keys(), "248967241620521472"),
        Query(Lambda("x", Var("x"))),
        Null,
        Obj("x" -> 10),
        Role("employees"),
        Match(Index("all_letters")),
        "ten",
        "10",
        Now(),
        Ref(Tokens(), "249062079147803136")
      ),
      Lambda(
        "x",
        Obj( "value" -> Var("x"), "IsDoc" -> IsDoc(Var("x")))
      )
    )
  ),
  5.seconds
))
Not available in this language yet.
Not available in this language yet.
Not available in this language yet.
Not available in this language yet.
Not available in this language yet.
[{value: ["array"], IsDoc: false},
 {value: true, IsDoc: false},
 {value: false, IsDoc: false},
 {value: [0x01 0x02 0x03 0x04], IsDoc: false},
 {value: [1, 2, 3, 4], IsDoc: false},
 {value: ref(id = "Letters", collection = ref(id = "collections")),
  IsDoc: true},
 {value: ref(id = "248967019900174848", collection = ref(id = "credentials")),
  IsDoc: true},
 {value: ref(id = "child_db", collection = ref(id = "databases")),
  IsDoc: true},
 {value: 2019-11-12, IsDoc: false},
 {value: ref(id = "123", collection = ref(id = "Letters", collection = ref(id = "collections"))),
  IsDoc: true},
 {value: 10.1, IsDoc: false},
 {value: ref(id = "double", collection = ref(id = "functions")),
  IsDoc: true},
 {value: ref(id = "all_letters", collection = ref(id = "indexes")),
  IsDoc: true},
 {value: 10, IsDoc: false},
 {value: ref(id = "248967241620521472", collection = ref(id = "keys")),
  IsDoc: true},
 {value: QueryV({lambda=x, expr={var=x}}), IsDoc: false},
 {value: null, IsDoc: false},
 {value: {x: 10}, IsDoc: false},
 {value: ref(id = "employees", collection = ref(id = "roles")),
  IsDoc: true},
 {value: {@set = {match: ref(id = "all_letters", collection = ref(id = "indexes"))}},
  IsDoc: false},
 {value: "ten", IsDoc: false},
 {value: "10", IsDoc: false},
 {value: 2019-11-12T13:15:16.789Z, IsDoc: false},
 {value: ref(id = "249062079147803136", collection = ref(id = "tokens")),
  IsDoc: true}]
[ { 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 } ]
[{value: ["array"], IsDoc: false},
 {value: true, IsDoc: false},
 {value: false, IsDoc: false},
 {value: [0x01 0x02 0x03 0x04], IsDoc: false},
 {value: [1, 2, 3, 4], IsDoc: false},
 {value: ref(id = "Letters", collection = ref(id = "collections")),
  IsDoc: true},
 {value: ref(id = "248967019900174848", collection = ref(id = "credentials")),
  IsDoc: true},
 {value: ref(id = "child_db", collection = ref(id = "databases")),
  IsDoc: true},
 {value: 2019-11-12, IsDoc: false},
 {value: ref(id = "123", collection = ref(id = "Letters", collection = ref(id = "collections"))),
  IsDoc: true},
 {value: 10.1, IsDoc: false},
 {value: ref(id = "double", collection = ref(id = "functions")),
  IsDoc: true},
 {value: ref(id = "all_letters", collection = ref(id = "indexes")),
  IsDoc: true},
 {value: 10, IsDoc: false},
 {value: ref(id = "248967241620521472", collection = ref(id = "keys")),
  IsDoc: true},
 {value: {lambda: "x", expr: {var: "x"}}, IsDoc: false},
 {value: NullV, IsDoc: false},
 {value: {x: 10}, IsDoc: false},
 {value: ref(id = "employees", collection = ref(id = "roles")),
  IsDoc: true},
 {value: {@set = {match: ref(id = "all_letters", collection = ref(id = "indexes"))}},
  IsDoc: false},
 {value: "ten", IsDoc: false},
 {value: "10", IsDoc: false},
 {value: 2019-11-12T13:15:16.789Z, IsDoc: false},
 {value: ref(id = "249062079147803136", collection = ref(id = "tokens")),
  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!