Datastore/src/Key.php
private function normalizePath(array $path)
    {
        // If the path is associative (i.e. not nested), wrap it up.
        if ($this->isAssoc($path)) {
            $path = [$path];
        }

        $res = [];
        foreach ($path as $index => $pathElement) {
            if (!isset($pathElement['kind'])) {
                throw new InvalidArgumentException('Each path element must contain a kind.');
            }

            $incomplete = (!isset($pathElement['id']) && !isset($pathElement['name']));
            if ($index < count($path) -1 && $incomplete) {
                throw new InvalidArgumentException(
                    'Only the final pathElement may omit a name or ID.'
                );
            }

            if (isset($pathElement['id']) && !is_string($pathElement['id'])) {
                $pathElement['id'] = (string) $pathElement['id'];
            }

            $res[] = $pathElement;
        }

        return $res;
    }
private function normalizePath(array $path)
    {
        // If the path is associative (i.e. not nested), wrap it up.
        if ($this->isAssoc($path)) {
            $path = [$path];
        }

        $res = [];
        foreach ($path as $index => $pathElement) {
            if (!isset($pathElement['kind'])) {
                throw new InvalidArgumentException('Each path element must contain a kind.');
            }

            $incomplete = (!isset($pathElement['id']) && !isset($pathElement['name']));
            if ($index < count($path) -1 && $incomplete) {
                throw new InvalidArgumentException(
                    'Only the final pathElement may omit a name or ID.'
                );
            }

            if (isset($pathElement['id']) && !is_string($pathElement['id'])) {
                $pathElement['id'] = (string) $pathElement['id'];
            }

            $res[] = $pathElement;
        }

        return $res;
    }
private function normalizePath ( array $ path ) { // If the path is associative (i.e. not nested), wrap it up. if ( $ this -> isAssoc ( $ path ) ) { $ path = [ $ path ] ; } $ res = [ ] ; foreach ( $ path as $ index => $ pathElement ) { if ( ! isset ( $ pathElement [ 'kind' ] ) ) { throw new InvalidArgumentException ( 'Each path element must contain a kind.' ) ; } $ incomplete = ( ! isset ( $ pathElement [ 'id' ] ) && ! isset ( $ pathElement [ 'name' ] ) ) ; if ( $ index < count ( $ path ) - 1 && $ incomplete ) { throw new InvalidArgumentException ( 'Only the final pathElement may omit a name or ID.' ) ; } if ( isset ( $ pathElement [ 'id' ] ) && ! is_string ( $ pathElement [ 'id' ] ) ) { $ pathElement [ 'id' ] = ( string ) $ pathElement [ 'id' ] ; } $ res [ ] = $ pathElement ; } return $ res ; }
Normalize the internal representation of a path

@param array $path
@return array
@throws InvalidArgumentException
Normalize the internal representation of a path