mirror of
https://gitlab.com/KevinRoebert/ClearUrls
synced 2025-12-16 22:25:36 +07:00
refactor
This commit is contained in:
@@ -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')
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -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'
|
||||||
|
|||||||
@@ -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
41
source/log/log.ts
Normal 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 {}
|
||||||
|
}
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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',
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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('')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user