{
  "fieldDBtype": "ComputationalLinguisticsDatum",
  "_id": "view",
  "dateCreated": 1594648244936,
  "version": "v5.121.19-rc0",
  "tempId": "view",
  "stats": {
    "characters": {
      "unigrams": {
        "0": 8,
        "1": 5,
        "2": 5,
        "3": 2,
        "4": 1,
        "5": 1,
        "9": 1,
        "/": 36,
        "*": 67,
        "!": 7,
        "\n": 174,
        " ": 530,
        "e": 235,
        "x": 27,
        "p": 86,
        "r": 133,
        "s": 110,
        "C": 4,
        "o": 118,
        "y": 16,
        "i": 155,
        "g": 40,
        "h": 76,
        "t": 205,
        "(": 44,
        "c": 35,
        ")": 44,
        "-": 5,
        "T": 2,
        "J": 1,
        "H": 1,
        "l": 66,
        "w": 18,
        "a": 153,
        "u": 56,
        "k": 11,
        "R": 4,
        "m": 45,
        "n": 129,
        "S": 6,
        "D": 1,
        "W": 1,
        "M": 4,
        "I": 2,
        "L": 2,
        "d": 51,
        "'": 28,
        ";": 48,
        ".": 63,
        "@": 17,
        "v": 46,
        "b": 21,
        "=": 39,
        "q": 7,
        ":": 3,
        "f": 41,
        "j": 6,
        "V": 6,
        "z": 1,
        "`": 12,
        "O": 1,
        "E": 8,
        "{": 23,
        "}": 23,
        ",": 16,
        "|": 2,
        "&": 8,
        "N": 4,
        "[": 6,
        "]": 6,
        "?": 1,
        "+": 5,
        "\"": 8,
        "%": 4,
        "_": 2,
        "<": 5,
        ">": 4,
        "F": 2
      },
      "bigrams": {}
    },
    "words": {
      "unigrams": {
        "2013": 1,
        "/*!": 1,
        "*": 41,
        "express": 1,
        "Copyright(c)": 3,
        "2009-2013": 1,
        "TJ": 1,
        "Holowaychuk": 1,
        "Roman": 1,
        "Shtylman": 1,
        "2014-2015": 1,
        "Douglas": 1,
        "Christopher": 1,
        "Wilson": 1,
        "MIT": 1,
        "Licensed": 1,
        "*/": 9,
        "'use": 1,
        "strict';": 1,
        "/**": 8,
        "Module": 3,
        "dependencies.": 1,
        "@private": 6,
        "var": 21,
        "debug": 1,
        "=": 36,
        "require('debug')('express:view');": 1,
        "path": 8,
        "require('path');": 1,
        "fs": 1,
        "require('fs');": 1,
        "utils": 1,
        "require('./utils');": 1,
        "variables.": 1,
        "dirname": 1,
        "path.dirname;": 1,
        "basename": 1,
        "path.basename;": 1,
        "extname": 1,
        "path.extname;": 1,
        "join": 1,
        "path.join;": 1,
        "resolve": 3,
        "path.resolve;": 1,
        "exports.": 1,
        "@public": 2,
        "module.exports": 1,
        "View;": 1,
        "Initialize": 1,
        "a": 2,
        "new": 2,
        "`View`": 1,
        "with": 2,
        "the": 8,
        "given": 4,
        "`name`.": 1,
        "Options:": 1,
        "-": 3,
        "`defaultEngine`": 1,
        "default": 3,
        "template": 2,
        "engine": 6,
        "name": 4,
        "`engines`": 1,
        "require()": 1,
        "cache": 1,
        "`root`": 1,
        "root": 2,
        "for": 2,
        "view": 2,
        "lookup": 2,
        "@param": 8,
        "{string}": 5,
        "{object}": 2,
        "options": 3,
        "function": 5,
        "View(name,": 1,
        "options)": 1,
        "{": 13,
        "opts": 1,
        "||": 1,
        "{};": 1,
        "this.defaultEngine": 2,
        "opts.defaultEngine;": 1,
        "this.ext": 2,
        "extname(name);": 1,
        "this.name": 1,
        "name;": 2,
        "this.root": 1,
        "opts.root;": 1,
        "if": 5,
        "(!this.ext": 1,
        "&&": 4,
        "!this.defaultEngine)": 1,
        "throw": 1,
        "Error('No": 1,
        "was": 2,
        "specified": 1,
        "and": 1,
        "no": 1,
        "extension": 2,
        "provided.');": 1,
        "}": 10,
        "fileName": 2,
        "(!this.ext)": 1,
        "//": 8,
        "get": 1,
        "from": 1,
        "this.defaultEngine[0]": 1,
        "!==": 1,
        "'.'": 2,
        "?": 1,
        "+": 2,
        ":": 1,
        "this.defaultEngine;": 1,
        "+=": 1,
        "this.ext;": 2,
        "(!opts.engines[this.ext])": 1,
        "load": 1,
        "mod": 1,
        "this.ext.substr(1)": 1,
        "debug('require": 1,
        "\"%s\"',": 4,
        "mod)": 1,
        "opts.engines[this.ext]": 1,
        "require(mod).__express": 1,
        "store": 1,
        "loaded": 1,
        "this.engine": 1,
        "opts.engines[this.ext];": 1,
        "this.path": 1,
        "this.lookup(fileName);": 1,
        "Lookup": 1,
        "by": 1,
        "`name`": 1,
        "View.prototype.lookup": 1,
        "lookup(name)": 1,
        "path;": 4,
        "roots": 1,
        "[].concat(this.root);": 1,
        "debug('lookup": 1,
        "name);": 2,
        "(var": 1,
        "i": 2,
        "0;": 1,
        "<": 1,
        "roots.length": 1,
        "!path;": 1,
        "i++)": 1,
        "roots[i];": 1,
        "loc": 1,
        "resolve(root,": 1,
        "dir": 2,
        "dirname(loc);": 1,
        "file": 4,
        "basename(loc);": 1,
        "this.resolve(dir,": 1,
        "file);": 2,
        "return": 5,
        "};": 3,
        "Render": 1,
        "options.": 1,
        "{function}": 1,
        "callback": 1,
        "View.prototype.render": 1,
        "render(options,": 1,
        "callback)": 1,
        "debug('render": 1,
        "this.path);": 1,
        "this.engine(this.path,": 1,
        "options,": 1,
        "callback);": 1,
        "Resolve": 1,
        "within": 1,
        "directory.": 1,
        "View.prototype.resolve": 1,
        "resolve(dir,": 1,
        "file)": 1,
        "ext": 1,
        "<path>.<ext>": 1,
        "join(dir,": 2,
        "stat": 2,
        "tryStat(path);": 2,
        "(stat": 2,
        "stat.isFile())": 2,
        "<path>/index.<ext>": 1,
        "basename(file,": 1,
        "ext),": 1,
        "'index'": 1,
        "ext);": 1,
        "Return": 1,
        "stat,": 1,
        "maybe.": 1,
        "@return": 1,
        "{fs.Stats}": 1,
        "tryStat(path)": 1,
        "debug('stat": 1,
        "path);": 1,
        "try": 1,
        "fs.statSync(path);": 1,
        "catch": 1,
        "(e)": 1,
        "undefined;": 1
      },
      "bigrams": {}
    },
    "tokens": {
      "characters": {
        "unigrams": 3189,
        "bigrams": {}
      },
      "words": {
        "unigrams": 448,
        "bigrams": {}
      }
    },
    "types": {
      "characters": 78,
      "words": 203
    }
  },
  "api": "datums",
  "datumFields": [
    {
      "fieldDBtype": "DatumField",
      "id": "orthography",
      "type": "DatumField",
      "version": "v5.121.19-rc0",
      "labelFieldLinguists": "Orthography",
      "value": "/*!\n * express\n * Copyright(c) 2009-2013 TJ Holowaychuk\n * Copyright(c) 2013 Roman Shtylman\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar debug = require('debug')('express:view');\nvar path = require('path');\nvar fs = require('fs');\nvar utils = require('./utils');\n\n/**\n * Module variables.\n * @private\n */\n\nvar dirname = path.dirname;\nvar basename = path.basename;\nvar extname = path.extname;\nvar join = path.join;\nvar resolve = path.resolve;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = View;\n\n/**\n * Initialize a new `View` with the given `name`.\n *\n * Options:\n *\n *   - `defaultEngine` the default template engine name\n *   - `engines` template engine require() cache\n *   - `root` root path for view lookup\n *\n * @param {string} name\n * @param {object} options\n * @public\n */\n\nfunction View(name, options) {\n  var opts = options || {};\n\n  this.defaultEngine = opts.defaultEngine;\n  this.ext = extname(name);\n  this.name = name;\n  this.root = opts.root;\n\n  if (!this.ext && !this.defaultEngine) {\n    throw new Error('No default engine was specified and no extension was provided.');\n  }\n\n  var fileName = name;\n\n  if (!this.ext) {\n    // get extension from default engine name\n    this.ext = this.defaultEngine[0] !== '.'\n      ? '.' + this.defaultEngine\n      : this.defaultEngine;\n\n    fileName += this.ext;\n  }\n\n  if (!opts.engines[this.ext]) {\n    // load engine\n    var mod = this.ext.substr(1)\n    debug('require \"%s\"', mod)\n    opts.engines[this.ext] = require(mod).__express\n  }\n\n  // store loaded engine\n  this.engine = opts.engines[this.ext];\n\n  // lookup path\n  this.path = this.lookup(fileName);\n}\n\n/**\n * Lookup view by the given `name`\n *\n * @param {string} name\n * @private\n */\n\nView.prototype.lookup = function lookup(name) {\n  var path;\n  var roots = [].concat(this.root);\n\n  debug('lookup \"%s\"', name);\n\n  for (var i = 0; i < roots.length && !path; i++) {\n    var root = roots[i];\n\n    // resolve the path\n    var loc = resolve(root, name);\n    var dir = dirname(loc);\n    var file = basename(loc);\n\n    // resolve the file\n    path = this.resolve(dir, file);\n  }\n\n  return path;\n};\n\n/**\n * Render with the given options.\n *\n * @param {object} options\n * @param {function} callback\n * @private\n */\n\nView.prototype.render = function render(options, callback) {\n  debug('render \"%s\"', this.path);\n  this.engine(this.path, options, callback);\n};\n\n/**\n * Resolve the file within the given directory.\n *\n * @param {string} dir\n * @param {string} file\n * @private\n */\n\nView.prototype.resolve = function resolve(dir, file) {\n  var ext = this.ext;\n\n  // <path>.<ext>\n  var path = join(dir, file);\n  var stat = tryStat(path);\n\n  if (stat && stat.isFile()) {\n    return path;\n  }\n\n  // <path>/index.<ext>\n  path = join(dir, basename(file, ext), 'index' + ext);\n  stat = tryStat(path);\n\n  if (stat && stat.isFile()) {\n    return path;\n  }\n};\n\n/**\n * Return a stat, maybe.\n *\n * @param {string} path\n * @return {fs.Stats}\n * @private\n */\n\nfunction tryStat(path) {\n  debug('stat \"%s\"', path);\n\n  try {\n    return fs.statSync(path);\n  } catch (e) {\n    return undefined;\n  }\n}",
      "label": "orthography"
    }
  ],
  "audioVideo": [],
  "comments": []
}