summaryrefslogtreecommitdiff
path: root/node_modules/gray-matter/lib/to-file.js
diff options
context:
space:
mode:
authorShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
committerShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
commit7a52ddeba2a68388b544f529d2d92104420f77b0 (patch)
tree15ddd47457a2cb4a96060747437d36474e4f6b4e /node_modules/gray-matter/lib/to-file.js
parent53d6ae2b5568437afa5e4995580a3fb679b7b91b (diff)
Changed from static to 11ty!
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 0000000..799bb5d
--- /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;
+};