<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">const faunadb = require('faunadb')
const q = faunadb.query
// customize console.log to report full depth of response
const util = require('util')
const origLog = console.log
console.log = (...msgs) =&gt; {
  for (let m of msgs) {
    if (typeof m !== 'string') {
      m = util.inspect(m, { showHidden: false, depth: null, maxArrayLength: null })
    }
    origLog(m)
  }
}

// Capture query metrics
const fs = require('fs')
const path = require('path')
function metrics (r) {
  const writePath = process.env.FAUNADB_METRICS_PATH
  if (!r || !r.responseHeaders || !writePath) return

  try {
    fs.accessSync(path.dirname(writePath), fs.constants.W_OK)
  } catch (err) {
    return
  }

  fs.writeFileSync(
    writePath,
    Buffer.from(JSON.stringify(r.responseHeaders)),
    { encoding: 'utf8', flag: 'w' }
  )
}

const secret = process.env.FAUNADB_SECRET
var endpoint = process.env.FAUNADB_ENDPOINT

if (typeof secret === 'undefined' || secret === '') {
  console.error('The FAUNADB_SECRET environment variable is not set, exiting.')
  process.exit(1)
}

if (!endpoint) endpoint = 'https://db.fauna.com/'

const serverClient = new faunadb.Client({
  secret: secret,
  endpoint: endpoint,
  observer: metrics,
})

// tag::query[]
serverClient.query(
  q.Delete(q.Ref(q.Collection('Posts'), '1'))
)
.then((ret) =&gt; console.log(ret))
.catch((err) =&gt; console.error(
  'Error: [%s] %s: %s',
  err.name,
  err.message,
  err.errors()[0].description,
))
// end::query[]
</pre></body></html>