Exemplo n.º 1
0
 /**
  * Populates a value into an array-like structure.
  *
  * @param Parameter $param     The schema that defines how the JSON field is being populated
  * @param mixed     $userValue The user value that is populating a JSON field
  *
  * @return array|mixed
  */
 private function stockArrayJson(Parameter $param, array $userValue) : array
 {
     $elems = [];
     foreach ($userValue as $item) {
         $elems = $this->stockJson($param->getItemSchema(), $item, $elems);
     }
     return $elems;
 }
Exemplo n.º 2
0
 private static function parseHeader(Parameter $param, $name, $value)
 {
     if ($name == 'metadata' || $name == 'removeMetadata') {
         $headers = [];
         foreach ($value as $key => $keyVal) {
             $schema = $param->getItemSchema() ?: new Parameter(['prefix' => $param->getPrefix(), 'name' => $key]);
             $headers += self::parseHeader($schema, $key, $keyVal);
         }
         return $headers;
     }
     return is_string($value) || is_numeric($value) ? [$param->getPrefix() . $param->getName() => $value] : [];
 }
Exemplo n.º 3
0
 public function test_it_indicates_its_item_schema()
 {
     $data = $this->api->postServer()['params']['networks'] + ['name' => 'networks'];
     $param = new Parameter($data);
     $this->assertInstanceOf(self::PARAMETER_CLASS, $param->getItemSchema());
 }