aboutsummaryrefslogtreecommitdiff
path: root/node_modules/gray-matter/lib/to-file.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:38:48 +0800
committerruki <waruqi@gmail.com>2018-11-07 21:53:09 +0800
commit26105034da4fcce7ac883c899d781f016559310d (patch)
treec459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/gray-matter/lib/to-file.js
parent2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff)
downloadxmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz
xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip
switch to vuepress
Diffstat (limited to 'node_modules/gray-matter/lib/to-file.js')
-rw-r--r--node_modules/gray-matter/lib/to-file.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/gray-matter/lib/to-file.js b/node_modules/gray-matter/lib/to-file.js
new file mode 100644
index 00000000..799bb5d9
--- /dev/null
+++ b/node_modules/gray-matter/lib/to-file.js
@@ -0,0 +1,43 @@
+'use strict';
+
+const typeOf = require('kind-of');
+const stringify = require('./stringify');
+const utils = require('./utils');
+
+/**
+ * Normalize the given value to ensure an object is returned
+ * with the expected properties.
+ */
+
+module.exports = function(file) {
+ if (typeOf(file) !== 'object') {
+ file = { content: file };
+ }
+
+ if (typeOf(file.data) !== 'object') {
+ file.data = {};
+ }
+
+ // if file was passed as an object, ensure that
+ // "file.content" is set
+ if (file.contents && file.content == null) {
+ file.content = file.contents;
+ }
+
+ // set non-enumerable properties on the file object
+ utils.define(file, 'orig', utils.toBuffer(file.content));
+ utils.define(file, 'language', file.language || '');
+ utils.define(file, 'matter', file.matter || '');
+ utils.define(file, 'stringify', function(data, options) {
+ if (options && options.language) {
+ file.language = options.language;
+ }
+ return stringify(file, data, options);
+ });
+
+ // strip BOM and ensure that "file.content" is a string
+ file.content = utils.toString(file.content);
+ file.isEmpty = false;
+ file.excerpt = '';
+ return file;
+};