typescript-dotnet-amd
Version:
A JavaScript-Friendly .NET Based TypeScript Library.
80 lines (65 loc) • 1.88 kB
TypeScript
/*!
* @author electricessence / https://github.com/electricessence/
* Licensing: MIT https://github.com/electricessence/TypeScript.NET/blob/master/LICENSE.md
* Based on: https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
*/
import {SchemeValue} from "./SchemeValue";
// noinspection SpellCheckingInspection
/**
* https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
*
* ```
* urn:example:mammal:monotreme:echidna
* ??? ????????????????????????????????
* scheme path
* ```
*/
export interface IUrn
{
/**
* The scheme name for this URI.
*/
scheme?:SchemeValue.Any|null; // string literal
/**
* The absolute path of the URI.
*/
path?:string|null;
}
/**
* https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
* scheme:[//[user:password@]domain[:port]][/]path[?query][#fragment]
*
* ```
* hierarchical part
* ???????????????????????????????????????????
* authority path
* ???????????????????????????????????????????
* abc://username:password@example.com:123/path/data?key=value#fragid1
* ??? ????????????????? ??????????? ??? ????????? ???????
* scheme user information host port query fragment
* ```
*/
export interface IUri extends IUrn
{
/**
* The user name, password, or other user-specific information associated with the specified URI.
*/
userInfo?:string | null;
/**
* The host component of this instance.
*/
host?:string | null;
/**
* The port number of this URI.
*/
port?:number | null;
/**
* Gets any query information included in the specified URI.
*/
query?:string | null;
/**
* The escaped URI fragment.
*/
fragment?:string | null;
}
export default IUri;