mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-22 22:28:08 +00:00
feat(Utils): add uri-tools, in progress
This commit is contained in:
parent
c0e724b7ec
commit
f9bc26e0a5
2 changed files with 105 additions and 0 deletions
|
|
@ -131,6 +131,7 @@
|
|||
<file>ui/modules/Linphone/Styles/TimelineStyle.qml</file>
|
||||
<file>ui/modules/Linphone/Timeline.qml</file>
|
||||
<file>ui/scripts/Utils/qmldir</file>
|
||||
<file>ui/scripts/Utils/uri-tools.js</file>
|
||||
<file>ui/scripts/Utils/utils.js</file>
|
||||
<file>ui/views/App/Calls/Calls.qml</file>
|
||||
<file>ui/views/App/Calls/StartingCall.qml</file>
|
||||
|
|
|
|||
104
tests/ui/scripts/Utils/uri-tools.js
Normal file
104
tests/ui/scripts/Utils/uri-tools.js
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
// ===================================================================
|
||||
// Library to deal with URI.
|
||||
// ===================================================================
|
||||
|
||||
// Level 0. ----------------------------------------------------------
|
||||
|
||||
var URI_PCT_ENCODED = '(%[[:xdigit:]]{2})'
|
||||
var URI_PORT = '([\\d]*)'
|
||||
var URI_SCHEME = '([[:alpha:]][[:alnum:]+\\-.]*)'
|
||||
var URI_SUB_DELIMS = '[!$&\'()*+,;=]'
|
||||
var URI_UNRESERVED = '[[:alnum:]\\-._~]'
|
||||
|
||||
// Level 1. ----------------------------------------------------------
|
||||
|
||||
var URI_HOST = '(' +
|
||||
'(' +
|
||||
URI_UNRESERVED +
|
||||
'|' + URI_PCT_ENCODED +
|
||||
'|' + URI_SUB_DELIMS +
|
||||
')*' +
|
||||
')'
|
||||
|
||||
var URI_PCHAR = '(' +
|
||||
URI_UNRESERVED +
|
||||
'|' + URI_PCT_ENCODED +
|
||||
'|' + URI_SUB_DELIMS +
|
||||
'|' + '[:@]' +
|
||||
')'
|
||||
|
||||
|
||||
var URI_USERINFO = '(' +
|
||||
'(' +
|
||||
URI_UNRESERVED +
|
||||
'|' + URI_PCT_ENCODED +
|
||||
'|' + URI_SUB_DELIMS +
|
||||
'|' + ':' +
|
||||
')*' +
|
||||
')'
|
||||
|
||||
// Level 2. ----------------------------------------------------------
|
||||
|
||||
var URI_AUTHORITY = '(' +
|
||||
'(' +
|
||||
URI_USERINFO + '@' +
|
||||
')?' + URI_HOST + '(' +
|
||||
':' + URI_PORT +
|
||||
')?' +
|
||||
')'
|
||||
|
||||
var URI_FRAGMENT = '(' +
|
||||
'(' +
|
||||
URI_PCHAR +
|
||||
'|' + '[/?]' +
|
||||
')*' +
|
||||
')'
|
||||
|
||||
|
||||
var URI_QUERY = '(' +
|
||||
'(' +
|
||||
URI_PCHAR +
|
||||
'|' + '[/?]' +
|
||||
')*' +
|
||||
')'
|
||||
|
||||
var URI_SEGMENT = '(' + URI_PCHAR + '*' + ')'
|
||||
var URI_SEGMENT_NZ = '(' + URI_PCHAR + '+' + ')'
|
||||
|
||||
// Level 3. ----------------------------------------------------------
|
||||
|
||||
var URI_PATH_ABEMPTY = '(' + '(' + '/' + URI_SEGMENT + ')*' + ')'
|
||||
|
||||
var URI_PATH_ABSOLUTE = '(' +
|
||||
'/' + '(' +
|
||||
URI_SEGMENT_NZ + '(' + '/' + URI_SEGMENT + ')*' +
|
||||
')?' +
|
||||
')'
|
||||
|
||||
var URI_PATH_ROOTLESS = '(' +
|
||||
URI_SEGMENT_NZ + '(' + '/' + URI_SEGMENT + ')*' +
|
||||
')'
|
||||
|
||||
// Level 4. ----------------------------------------------------------
|
||||
|
||||
var URI_HIER_PART = '(' +
|
||||
'//' + URI_AUTHORITY + URI_PATH_ABEMPTY +
|
||||
'|' + URI_PATH_ABSOLUTE +
|
||||
'|' + URI_PATH_ROOTLESS +
|
||||
')'
|
||||
|
||||
// Level 5. ----------------------------------------------------------
|
||||
|
||||
// Regex to match URI. It respects the RFC 3986.
|
||||
var URI_REGEX = '(' +
|
||||
URI_SCHEME + ':' + URI_HIER_PART + '(' +
|
||||
'\\?' + URI_QUERY +
|
||||
')?' + '(' + '#' + URI_FRAGMENT + ')?' +
|
||||
')'
|
||||
|
||||
// ===================================================================
|
||||
|
||||
function test () {
|
||||
console.log(URI_REGEX)
|
||||
}
|
||||
test()
|
||||
Loading…
Add table
Reference in a new issue