get text() {
    if (typeof this._text !== 'string') {
      this._text = this._getTextFromRawSrc();
    }
    return this._text;
  }
Get or set the decoded text contents of the of the asset as a
JavaScript string. Unlike browsers AssetGraph doesn't try to
sniff the charset of your text-based assets. It will fall back
to assuming utf-8 if it's unable to determine the
encoding/charset from HTTP headers, `<meta
http-equiv='Content-Type'>` tags ({@link Html}), `@charset` ({@link Css}), so
if for some reason you're not using utf-8 for all your
text-based assets, make sure to provide those hints. Other
asset types provide no standard way to specify the charset
within the file itself, so presently there's no way to load
eg. JavaScript from disc if it's not utf-8 or ASCII, except by
overriding `Text.prototype.defaultEncoding` globally.

If the internal state has been changed since the asset was
initialized, it will automatically be reserialized when the
`text` property is retrieved, for example:

    var htmlAsset = new Html({
        rawSrc: Buffer.from("<body>hello</body>");
    });
    htmlAsset.text; // "<body>hello</body>"
    htmlAsset.parseTree.body.innerHTML = "bye";
    htmlAsset.markDirty();
    htmlAsset.text; // "<body>bye</body>"

Setting this property after the outgoing relations have been
accessed currently leads to undefined behavior.

@type {String}