ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Revision:
49:b9eb462f36a9
Parent:
48:c7ee67edcf1d
Child:
50:9ecaa144d1f3
--- a/dumi_doc-master/schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php	Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of the JsonSchema package.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace JsonSchema\Uri;
-
-use JsonSchema\Exception\UriResolverException;
-use JsonSchema\UriResolverInterface;
-
-/**
- * Resolves JSON Schema URIs
- * 
- * @author Sander Coolen <sander@jibber.nl> 
- */
-class UriResolver implements UriResolverInterface
-{
-    /**
-     * Parses a URI into five main components
-     * 
-     * @param string $uri
-     * @return array 
-     */
-    public function parse($uri)
-    {
-        preg_match('|^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?|', $uri, $match);
-
-        $components = array();
-        if (5 < count($match)) {
-            $components =  array(
-                'scheme'    => $match[2],
-                'authority' => $match[4],
-                'path'      => $match[5]
-            );
-        } 
-        if (7 < count($match)) {
-            $components['query'] = $match[7];
-        }
-        if (9 < count($match)) {
-            $components['fragment'] = $match[9];
-        }
-        
-        return $components;
-    }
-    
-    /**
-     * Builds a URI based on n array with the main components
-     * 
-     * @param array $components
-     * @return string 
-     */
-    public function generate(array $components)
-    {
-        $uri = $components['scheme'] . '://' 
-             . $components['authority']
-             . $components['path'];
-        
-        if (array_key_exists('query', $components)) {
-            $uri .= $components['query'];
-        }
-        if (array_key_exists('fragment', $components)) {
-            $uri .= '#' . $components['fragment'];
-        }
-        
-        return $uri;
-    }
-    
-    /**
-     * {@inheritdoc}
-     */
-    public function resolve($uri, $baseUri = null)
-    {
-        if ($uri == '') {
-            return $baseUri;
-        }
-
-        $components = $this->parse($uri);
-        $path = $components['path'];
-        
-        if (! empty($components['scheme'])) {
-            return $uri;
-        }
-        $baseComponents = $this->parse($baseUri);
-        $basePath = $baseComponents['path'];
-        
-        $baseComponents['path'] = self::combineRelativePathWithBasePath($path, $basePath);
-        if (isset($components['fragment'])) {
-            $baseComponents['fragment'] = $components['fragment'];
-        }
-
-        return $this->generate($baseComponents);
-    }
-    
-    /**
-     * Tries to glue a relative path onto an absolute one
-     *
-     * @param string $relativePath
-     * @param string $basePath
-     * @return string Merged path
-     * @throws UriResolverException
-     */
-    public static function combineRelativePathWithBasePath($relativePath, $basePath)
-    {
-        $relativePath = self::normalizePath($relativePath);
-        if ($relativePath == '') {
-            return $basePath;
-        }
-        if ($relativePath{0} == '/') {
-            return $relativePath;
-        }
-
-        $basePathSegments = explode('/', $basePath);
-
-        preg_match('|^/?(\.\./(?:\./)*)*|', $relativePath, $match);
-        $numLevelUp = strlen($match[0]) /3 + 1;
-        if ($numLevelUp >= count($basePathSegments)) {
-            throw new UriResolverException(sprintf("Unable to resolve URI '%s' from base '%s'", $relativePath, $basePath));
-        }
-
-        $basePathSegments = array_slice($basePathSegments, 0, -$numLevelUp);
-        $path = preg_replace('|^/?(\.\./(\./)*)*|', '', $relativePath);
-
-        return implode('/', $basePathSegments) . '/' . $path;
-    }
-
-    /**
-     * Normalizes a URI path component by removing dot-slash and double slashes
-     *
-     * @param string $path
-     * @return string
-     */
-    private static function normalizePath($path)
-    {
-        $path = preg_replace('|((?<!\.)\./)*|', '', $path);
-        $path = preg_replace('|//|', '/', $path);
-        
-        return $path;
-    }
-    
-    /**
-     * @param string $uri
-     * @return boolean 
-     */
-    public function isValid($uri)
-    {
-        $components = $this->parse($uri);
-        
-        return !empty($components);
-    }
-}