Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / grasmash / yaml-expander / README.md
diff --git a/vendor/grasmash/yaml-expander/README.md b/vendor/grasmash/yaml-expander/README.md
new file mode 100644 (file)
index 0000000..8376146
--- /dev/null
@@ -0,0 +1,100 @@
+[![Build Status](https://travis-ci.org/grasmash/yaml-expander.svg?branch=master)](https://travis-ci.org/grasmash/yaml-expander) [![Packagist](https://img.shields.io/packagist/v/grasmash/yaml-expander.svg)](https://packagist.org/packages/grasmash/yaml-expander)
+[![Total Downloads](https://poser.pugx.org/grasmash/yaml-expander/downloads)](https://packagist.org/packages/grasmash/yaml-expander) [![Coverage Status](https://coveralls.io/repos/github/grasmash/yaml-expander/badge.svg?branch=master)](https://coveralls.io/github/grasmash/yaml-expander?branch=master)
+
+This tool expands property references in YAML files.
+
+### Installation
+
+    composer require grasmash/yaml-expander
+
+### Example usage:
+
+Example dune.yml:
+
+```yaml
+type: book
+book:
+  title: Dune
+  author: Frank Herbert
+  copyright: ${book.author} 1965
+  protaganist: ${characters.0.name}
+  media:
+    - hardcover
+characters:
+  - name: Paul Atreides
+    occupation: Kwisatz Haderach
+    aliases:
+      - Usul
+      - Muad'Dib
+      - The Preacher
+  - name: Duncan Idaho
+    occupation: Swordmaster
+summary: ${book.title} by ${book.author}
+product-name: ${${type}.title}
+```
+
+Property references use dot notation to indicate array keys, and must be wrapped in `${}`.
+
+Expansion logic:
+
+```php
+<?php
+
+// Parse a yaml string directly, expanding internal property references.
+$yaml_string = file_get_contents("dune.yml");
+$expanded = \Grasmash\YamlExpander\Expander::parse($yaml_string);
+print_r($expanded);
+
+// Parse an array, expanding internal property references.
+$array = \Symfony\Component\Yaml\Yaml::parse(file_get_contents("dune.yml"));
+$expanded = \Grasmash\YamlExpander\Expander::expandArrayProperties($array);
+print_r($expanded);
+
+// Parse an array, expanding references using both internal and supplementary values.
+$array = \Symfony\Component\Yaml\Yaml::parse(file_get_contents("dune.yml"));
+$reference_properties = ['book' => ['publication-year' => 1965]];
+$expanded = \Grasmash\YamlExpander\Expander::expandArrayProperties($array, $reference_properties);
+print_r($expanded);
+````
+
+Resultant array:
+
+```php
+<?php
+
+array (
+  'type' => 'book',
+  'book' => 
+  array (
+    'title' => 'Dune',
+    'author' => 'Frank Herbert',
+    'copyright' => 'Frank Herbert 1965',
+    'protaganist' => 'Paul Atreides',
+    'media' => 
+    array (
+      0 => 'hardcover',
+    ),
+  ),
+  'characters' => 
+  array (
+    0 => 
+    array (
+      'name' => 'Paul Atreides',
+      'occupation' => 'Kwisatz Haderach',
+      'aliases' => 
+      array (
+        0 => 'Usul',
+        1 => 'Muad\'Dib',
+        2 => 'The Preacher',
+      ),
+    ),
+    1 => 
+    array (
+      'name' => 'Duncan Idaho',
+      'occupation' => 'Swordmaster',
+    ),
+  ),
+  'summary' => 'Dune by Frank Herbert',
+  'product-name' => 'Dune',
+);
+```