gdpr audit implemented, email log, vollmachten, pdf delete cancel data privacy and vollmachten, removed message no id card in engergy car, and other contracts that are not telecom contracts, added insert counter for engery
This commit is contained in:
+77
@@ -0,0 +1,77 @@
|
||||
// Parse link destination
|
||||
//
|
||||
|
||||
import { unescapeAll } from '../common/utils.mjs'
|
||||
|
||||
export default function parseLinkDestination (str, start, max) {
|
||||
let code
|
||||
let pos = start
|
||||
|
||||
const result = {
|
||||
ok: false,
|
||||
pos: 0,
|
||||
str: ''
|
||||
}
|
||||
|
||||
if (str.charCodeAt(pos) === 0x3C /* < */) {
|
||||
pos++
|
||||
while (pos < max) {
|
||||
code = str.charCodeAt(pos)
|
||||
if (code === 0x0A /* \n */) { return result }
|
||||
if (code === 0x3C /* < */) { return result }
|
||||
if (code === 0x3E /* > */) {
|
||||
result.pos = pos + 1
|
||||
result.str = unescapeAll(str.slice(start + 1, pos))
|
||||
result.ok = true
|
||||
return result
|
||||
}
|
||||
if (code === 0x5C /* \ */ && pos + 1 < max) {
|
||||
pos += 2
|
||||
continue
|
||||
}
|
||||
|
||||
pos++
|
||||
}
|
||||
|
||||
// no closing '>'
|
||||
return result
|
||||
}
|
||||
|
||||
// this should be ... } else { ... branch
|
||||
|
||||
let level = 0
|
||||
while (pos < max) {
|
||||
code = str.charCodeAt(pos)
|
||||
|
||||
if (code === 0x20) { break }
|
||||
|
||||
// ascii control characters
|
||||
if (code < 0x20 || code === 0x7F) { break }
|
||||
|
||||
if (code === 0x5C /* \ */ && pos + 1 < max) {
|
||||
if (str.charCodeAt(pos + 1) === 0x20) { break }
|
||||
pos += 2
|
||||
continue
|
||||
}
|
||||
|
||||
if (code === 0x28 /* ( */) {
|
||||
level++
|
||||
if (level > 32) { return result }
|
||||
}
|
||||
|
||||
if (code === 0x29 /* ) */) {
|
||||
if (level === 0) { break }
|
||||
level--
|
||||
}
|
||||
|
||||
pos++
|
||||
}
|
||||
|
||||
if (start === pos) { return result }
|
||||
if (level !== 0) { return result }
|
||||
|
||||
result.str = unescapeAll(str.slice(start, pos))
|
||||
result.pos = pos
|
||||
result.ok = true
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user