This commit is contained in:
Kevin R
2020-08-20 23:42:46 +02:00
parent 4432fb46bf
commit c138e3387b
11 changed files with 185 additions and 107 deletions

View File

@@ -1,4 +1,4 @@
import CircularBuffer from '../../source/utils/CircularBuffer' import CircularBuffer from '../../source/utils/circularBuffer'
describe('CircularBuffer', () => { describe('CircularBuffer', () => {
let capacity: number let capacity: number
@@ -41,4 +41,4 @@ describe('CircularBuffer', () => {
it('should throw exception on illegal argument', () => { it('should throw exception on illegal argument', () => {
expect(() => new CircularBuffer<any>(0)).toThrow('The capacity must be > 0') expect(() => new CircularBuffer<any>(0)).toThrow('The capacity must be > 0')
}) })
}) })

View File

@@ -1 +1,19 @@
/*
* ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// import { browser } from 'webextension-polyfill-ts' // import { browser } from 'webextension-polyfill-ts'

View File

@@ -1,23 +0,0 @@
import CircularBuffer from '../utils/CircularBuffer'
import LogEntry from './LogEntry'
export default class Log extends CircularBuffer<LogEntry> {
public constructor(capacity: number) {
super(capacity)
}
/**
* Creates a new Log object from the given string.
*
* @param enc - the encoded log
* @returns a log object
*/
// public static from(enc: string) : Log {}
/**
* Returns this log as string.
*
* @returns the log as string
*/
// public toString() : string {}
}

41
source/log/log.ts Normal file
View File

@@ -0,0 +1,41 @@
/*
* ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import CircularBuffer from '../utils/circularBuffer'
import LogEntry from './logEntry'
export default class Log extends CircularBuffer<LogEntry> {
public constructor(capacity: number) {
super(capacity)
}
/**
* Creates a new Log object from the given string.
*
* @param enc - the encoded log
* @returns a log object
*/
// public static from(enc: string) : Log {}
/**
* Returns this log as string.
*
* @returns the log as string
*/
// public toString() : string {}
}

View File

@@ -1,3 +1,21 @@
/*
* ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import Rule from '../rules/rule' import Rule from '../rules/rule'
export default class LogEntry { export default class LogEntry {
@@ -34,4 +52,4 @@ export default class LogEntry {
get runtime() : number { get runtime() : number {
return this._runtime return this._runtime
} }
} }

View File

@@ -1,3 +1,21 @@
/*
* ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
export default class Rule { export default class Rule {
private _rule: RegExp private _rule: RegExp
@@ -8,4 +26,4 @@ export default class Rule {
get value() : RegExp { get value() : RegExp {
return this._rule return this._rule
} }
} }

View File

@@ -1,26 +1,20 @@
/* /*
* ClearURLs * ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert * Copyright (c) 2017-2020 Kevin Röbert
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* */
* Based on:
* Remove Google Redirection
* https://github.com/kodango/Remove-Google-Redirection/blob/master/extension/chrome/remove-google-redirection.user.js
* Copyright (c) 2017 kodango
* MIT License: https://github.com/kodango/Remove-Google-Redirection/blob/master/LICENSE
*/
(function (window) { (function (window) {
"use strict"; "use strict";

View File

@@ -1,26 +1,20 @@
/* /*
* ClearURLs * ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert * Copyright (c) 2017-2020 Kevin Röbert
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
* */
* Based on:
* Remove Google Redirection
* https://github.com/kodango/Remove-Google-Redirection/blob/master/extension/chrome/remove-google-redirection.user.js
* Copyright (c) 2017 kodango
* MIT License: https://github.com/kodango/Remove-Google-Redirection/blob/master/LICENSE
*/
(function (window) { (function (window) {
"use strict"; "use strict";
@@ -63,4 +57,4 @@
} }
main(); main();
})(window); })(window);

View File

@@ -1,20 +1,20 @@
/* /*
* ClearURLs * ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert * Copyright (c) 2017-2020 Kevin Röbert
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/*jshint esversion: 6 */ /*jshint esversion: 6 */
/* /*
@@ -148,4 +148,4 @@ export enum ChromeRequestTypes {
*/ */
export enum ChromePingRequestTypes { export enum ChromePingRequestTypes {
PING = 'ping', PING = 'ping',
} }

View File

@@ -1,3 +1,21 @@
/*
* ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
export default class CircularBuffer<T> { export default class CircularBuffer<T> {
private buffer: T[] private buffer: T[]
public readonly capacity: number public readonly capacity: number
@@ -60,4 +78,4 @@ export default class CircularBuffer<T> {
get size() : number { get size() : number {
return this.buffer.length return this.buffer.length
} }
} }

View File

@@ -1,20 +1,20 @@
/* /*
* ClearURLs * ClearURLs
* Copyright (c) 2017-2020 Kevin Röbert * Copyright (c) 2017-2020 Kevin Röbert
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by * it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/*jshint esversion: 6 */ /*jshint esversion: 6 */
/* /*
@@ -96,4 +96,4 @@ export class Utils {
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('') return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
} }
} }