mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-04-22 15:58:46 +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/Styles/TimelineStyle.qml</file>
|
||||||
<file>ui/modules/Linphone/Timeline.qml</file>
|
<file>ui/modules/Linphone/Timeline.qml</file>
|
||||||
<file>ui/scripts/Utils/qmldir</file>
|
<file>ui/scripts/Utils/qmldir</file>
|
||||||
|
<file>ui/scripts/Utils/uri-tools.js</file>
|
||||||
<file>ui/scripts/Utils/utils.js</file>
|
<file>ui/scripts/Utils/utils.js</file>
|
||||||
<file>ui/views/App/Calls/Calls.qml</file>
|
<file>ui/views/App/Calls/Calls.qml</file>
|
||||||
<file>ui/views/App/Calls/StartingCall.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