pervert-monkey 1.0.9 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/pervertmonkey.core.es.d.ts +121 -59
- package/dist/core/pervertmonkey.core.es.js +1001 -315
- package/dist/core/pervertmonkey.core.es.js.map +1 -1
- package/dist/core/pervertmonkey.core.umd.js +1001 -315
- package/dist/core/pervertmonkey.core.umd.js.map +1 -1
- package/dist/userscripts/3hentai.user.js +14 -8
- package/dist/userscripts/camgirlfinder.user.js +1 -1
- package/dist/userscripts/camwhores.user.js +15 -9
- package/dist/userscripts/e-hentai.user.js +12 -6
- package/dist/userscripts/ebalka.user.js +11 -5
- package/dist/userscripts/eporner.user.js +15 -10
- package/dist/userscripts/erome.user.js +11 -10
- package/dist/userscripts/eroprofile.user.js +9 -5
- package/dist/userscripts/javhdporn.user.js +9 -5
- package/dist/userscripts/missav.user.js +10 -6
- package/dist/userscripts/motherless.user.js +11 -7
- package/dist/userscripts/namethatporn.user.js +17 -13
- package/dist/userscripts/nhentai.user.js +12 -6
- package/dist/userscripts/obmenvsem.user.js +14 -18
- package/dist/userscripts/pornhub.user.js +14 -10
- package/dist/userscripts/spankbang.user.js +10 -6
- package/dist/userscripts/thisvid.user.js +27 -21
- package/dist/userscripts/xhamster.user.js +26 -26
- package/dist/userscripts/xvideos.user.js +19 -17
- package/package.json +5 -3
- package/src/core/{data-control → data-handler}/data-filter.ts +3 -8
- package/src/core/{data-control → data-handler}/data-manager.ts +8 -7
- package/src/core/data-handler/index.ts +2 -0
- package/src/core/index.ts +4 -4
- package/src/core/infinite-scroll/index.ts +20 -29
- package/src/core/parsers/index.ts +4 -0
- package/src/core/{pagination-parsing → parsers/pagination-parser}/index.ts +3 -0
- package/src/core/{pagination-parsing → parsers/pagination-parser}/pagination-strategies/PaginationStrategy.ts +1 -1
- package/src/core/{pagination-parsing → parsers/pagination-parser}/pagination-strategies/PaginationStrategyDataParams.ts +1 -1
- package/src/core/{pagination-parsing → parsers/pagination-parser}/pagination-strategies/PaginationStrategyPathnameParams.ts +2 -1
- package/src/core/{pagination-parsing → parsers/pagination-parser}/pagination-utils/index.ts +1 -4
- package/src/core/parsers/thumb-data-parser.ts +96 -0
- package/src/core/parsers/thumb-img-parser.ts +62 -0
- package/src/core/parsers/thumbs-parser.ts +29 -0
- package/src/core/rules/index.ts +39 -207
- package/src/userscripts/index.ts +1 -1
- package/src/userscripts/scripts/3hentai.ts +14 -6
- package/src/userscripts/scripts/camwhores.ts +19 -13
- package/src/userscripts/scripts/e-hentai.ts +13 -7
- package/src/userscripts/scripts/ebalka.ts +11 -5
- package/src/userscripts/scripts/eporner.ts +16 -10
- package/src/userscripts/scripts/erome.ts +11 -10
- package/src/userscripts/scripts/eroprofile.ts +10 -6
- package/src/userscripts/scripts/javhdporn.ts +9 -5
- package/src/userscripts/scripts/missav.ts +10 -6
- package/src/userscripts/scripts/motherless.ts +11 -7
- package/src/userscripts/scripts/namethatporn.ts +18 -14
- package/src/userscripts/scripts/nhentai.ts +13 -8
- package/src/userscripts/scripts/obmenvsem.ts +14 -13
- package/src/userscripts/scripts/pornhub.ts +14 -10
- package/src/userscripts/scripts/spankbang.ts +10 -6
- package/src/userscripts/scripts/thisvid.ts +32 -27
- package/src/userscripts/scripts/xhamster.ts +37 -38
- package/src/userscripts/scripts/xvideos.ts +18 -16
- package/src/utils/index.ts +7 -19
- package/src/utils/parsers/index.ts +4 -0
- package/src/utils/strings/index.ts +2 -0
- package/src/core/data-control/index.ts +0 -2
- /package/src/core/{pagination-parsing → parsers/pagination-parser}/pagination-strategies/PaginationStrategySearchParams.ts +0 -0
- /package/src/core/{pagination-parsing → parsers/pagination-parser}/pagination-strategies/index.ts +0 -0
|
@@ -3,6 +3,7 @@ import { JabronioStore } from 'jabroni-outfit';
|
|
|
3
3
|
import { JabroniTypes } from 'jabroni-outfit';
|
|
4
4
|
import { setupScheme } from 'jabroni-outfit';
|
|
5
5
|
import { StoreState } from 'jabroni-outfit';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
6
7
|
|
|
7
8
|
declare type AnyFunction = (...args: any[]) => any;
|
|
8
9
|
|
|
@@ -17,21 +18,12 @@ export declare function circularShift(n: number, c?: number, s?: number): number
|
|
|
17
18
|
|
|
18
19
|
export declare function copyAttributes<T extends Element = HTMLElement>(target: T, source: T): void;
|
|
19
20
|
|
|
20
|
-
declare type
|
|
21
|
-
[x: string]: _CustomThumbDataSelector;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
declare type _CustomThumbDataSelector = {
|
|
25
|
-
selector: string;
|
|
26
|
-
type: 'boolean' | 'string' | 'number';
|
|
27
|
-
};
|
|
21
|
+
export declare type DataElement = Record<string, string | number | boolean | HTMLElement>;
|
|
28
22
|
|
|
29
|
-
declare
|
|
30
|
-
|
|
31
|
-
declare class DataFilter {
|
|
23
|
+
export declare class DataFilter {
|
|
32
24
|
private rules;
|
|
33
25
|
filters: Map<string, () => DataFilterFn>;
|
|
34
|
-
constructor(rules:
|
|
26
|
+
constructor(rules: Rules);
|
|
35
27
|
static isFiltered(el: HTMLElement): boolean;
|
|
36
28
|
applyCSSFilters(wrapper?: (cssRule: string) => string): void;
|
|
37
29
|
customDataSelectorFns: Record<string, DataSelectorFn<any>>;
|
|
@@ -45,7 +37,7 @@ declare class DataFilter {
|
|
|
45
37
|
static customDataSelectorFnsDefault: Record<string, DataSelectorFn<any>>;
|
|
46
38
|
}
|
|
47
39
|
|
|
48
|
-
declare type DataFilterFn = (v: DataElement) => DataFilterResult;
|
|
40
|
+
export declare type DataFilterFn = (v: DataElement) => DataFilterResult;
|
|
49
41
|
|
|
50
42
|
declare interface DataFilterResult {
|
|
51
43
|
tag: string;
|
|
@@ -54,26 +46,26 @@ declare interface DataFilterResult {
|
|
|
54
46
|
|
|
55
47
|
export declare class DataManager {
|
|
56
48
|
private rules;
|
|
49
|
+
private parseDataParentHomogenity?;
|
|
57
50
|
data: Map<string, DataElement>;
|
|
58
51
|
private lazyImgLoader;
|
|
59
52
|
dataFilter: DataFilter;
|
|
60
|
-
constructor(rules:
|
|
53
|
+
constructor(rules: Rules, parseDataParentHomogenity?: Parameters<typeof checkHomogenity>[2] | undefined);
|
|
61
54
|
applyFilters: (filters?: Record<string, boolean>, offset?: number) => Promise<void>;
|
|
62
55
|
filterAll: (offset?: number) => Promise<void>;
|
|
63
|
-
parseDataParentHomogenity?: Parameters<typeof checkHomogenity>[2];
|
|
64
56
|
parseData: (html: HTMLElement, container?: HTMLElement, removeDuplicates?: boolean, shouldLazify?: boolean) => void;
|
|
65
57
|
sortBy<K extends keyof DataElement>(key: K, direction?: boolean): void;
|
|
66
58
|
}
|
|
67
59
|
|
|
68
|
-
declare type DataSelectorFn<R> = DataSelectorFnAdvanced<R> | DataSelectorFnShort;
|
|
60
|
+
export declare type DataSelectorFn<R> = DataSelectorFnAdvanced<R> | DataSelectorFnShort;
|
|
69
61
|
|
|
70
|
-
declare type DataSelectorFnAdvanced<R> = {
|
|
62
|
+
export declare type DataSelectorFnAdvanced<R> = {
|
|
71
63
|
handle: (el: DataElement, state: StoreState, $preDefineResult?: R) => boolean;
|
|
72
64
|
$preDefine?: (state: StoreState) => R;
|
|
73
65
|
deps?: string[];
|
|
74
66
|
};
|
|
75
67
|
|
|
76
|
-
declare type DataSelectorFnShort = (e: DataElement, state: StoreState) => boolean;
|
|
68
|
+
export declare type DataSelectorFnShort = (e: DataElement, state: StoreState) => boolean;
|
|
77
69
|
|
|
78
70
|
declare const DefaultScheme: [{
|
|
79
71
|
readonly title: "Text Filter";
|
|
@@ -177,6 +169,13 @@ export declare function fetchWith<T extends JSON | string | HTMLElement>(input:
|
|
|
177
169
|
|
|
178
170
|
export declare function findNextSibling<T extends Element = HTMLElement>(e: T): Element | null;
|
|
179
171
|
|
|
172
|
+
/**
|
|
173
|
+
* Converts a duration string (e.g., "1h 22min 3sec") to HH:MM:SS format.
|
|
174
|
+
* @param timeStr - The duration string to format.
|
|
175
|
+
* @returns A string in the format HH:MM:SS.
|
|
176
|
+
*/
|
|
177
|
+
export declare function formatTimeToHHMMSS(timeStr: string): string;
|
|
178
|
+
|
|
180
179
|
declare type GeneratorResult = {
|
|
181
180
|
url: string;
|
|
182
181
|
offset: number;
|
|
@@ -189,28 +188,31 @@ export declare function getPaginationStrategy(options: Partial<PaginationStrateg
|
|
|
189
188
|
export declare class InfiniteScroller {
|
|
190
189
|
enabled: boolean;
|
|
191
190
|
paginationOffset: number;
|
|
192
|
-
|
|
193
|
-
rules: RulesGlobal;
|
|
191
|
+
rules: Rules;
|
|
194
192
|
private observer?;
|
|
195
193
|
private paginationGenerator;
|
|
196
194
|
constructor(options: InfiniteScrollerOptions);
|
|
197
195
|
dispose(): void;
|
|
198
196
|
setObserver(observable: HTMLElement): this;
|
|
199
|
-
|
|
200
|
-
onScroll(callback: (scroller: InfiniteScroller) => void, initCall?: boolean): this;
|
|
201
|
-
private _onScroll;
|
|
197
|
+
subject: Subject<IScrollerSubject>;
|
|
202
198
|
private setAutoScroll;
|
|
203
199
|
generatorConsumer: () => Promise<boolean>;
|
|
204
200
|
private getPaginationData;
|
|
205
201
|
doScroll(url: string, offset: number): Promise<void>;
|
|
206
202
|
static generatorForPaginationStrategy(pstrategy: PaginationStrategy): OffsetGenerator;
|
|
207
|
-
static create(rules:
|
|
203
|
+
static create(rules: Rules): InfiniteScroller;
|
|
208
204
|
}
|
|
209
205
|
|
|
210
206
|
declare type InfiniteScrollerOptions = Pick<InfiniteScroller, 'rules'> & Partial<InfiniteScroller>;
|
|
211
207
|
|
|
212
208
|
export declare function instantiateTemplate(sourceSelector: string, attributeUpdates: Record<string, string>, contentUpdates: Record<string, string>): string;
|
|
213
209
|
|
|
210
|
+
declare type IScrollerSubject = {
|
|
211
|
+
type: 'scroll';
|
|
212
|
+
scroller: InfiniteScroller;
|
|
213
|
+
page: HTMLElement;
|
|
214
|
+
};
|
|
215
|
+
|
|
214
216
|
export declare class LazyImgLoader {
|
|
215
217
|
lazyImgObserver: Observer;
|
|
216
218
|
private attributeName;
|
|
@@ -226,6 +228,10 @@ declare interface MemoizedFunction<T extends AnyFunction> extends CallableFuncti
|
|
|
226
228
|
clear: () => void;
|
|
227
229
|
}
|
|
228
230
|
|
|
231
|
+
export declare const MOBILE_UA: {
|
|
232
|
+
readonly 'User-Agent': string;
|
|
233
|
+
};
|
|
234
|
+
|
|
229
235
|
export declare function objectToFormData<T extends {}>(obj: T): FormData;
|
|
230
236
|
|
|
231
237
|
export declare class Observer {
|
|
@@ -240,7 +246,7 @@ export declare class Observer {
|
|
|
240
246
|
static observeWhile(target: Element, callback: () => Promise<boolean> | boolean, throttleTime: number): Observer;
|
|
241
247
|
}
|
|
242
248
|
|
|
243
|
-
declare type OffsetGenerator<T = GeneratorResult> = Generator<T> | AsyncGenerator<T>;
|
|
249
|
+
export declare type OffsetGenerator<T = GeneratorResult> = Generator<T> | AsyncGenerator<T>;
|
|
244
250
|
|
|
245
251
|
export declare class OnHover {
|
|
246
252
|
private container;
|
|
@@ -259,7 +265,7 @@ export declare class OnHover {
|
|
|
259
265
|
static create(...args: ConstructorParameters<typeof OnHover>): OnHover;
|
|
260
266
|
}
|
|
261
267
|
|
|
262
|
-
declare class PaginationStrategy {
|
|
268
|
+
export declare class PaginationStrategy {
|
|
263
269
|
doc: Document;
|
|
264
270
|
url: URL;
|
|
265
271
|
paginationSelector: string;
|
|
@@ -277,6 +283,31 @@ declare class PaginationStrategy {
|
|
|
277
283
|
getPaginationUrlGenerator(): (offset: number) => string | Promise<string>;
|
|
278
284
|
}
|
|
279
285
|
|
|
286
|
+
export declare class PaginationStrategyDataParams extends PaginationStrategy {
|
|
287
|
+
getPaginationLast(): number;
|
|
288
|
+
getPaginationOffset(): number;
|
|
289
|
+
getPaginationUrlGenerator(): (n: number) => string;
|
|
290
|
+
static testLinks(doc?: HTMLElement | Document): boolean;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
export declare class PaginationStrategyPathnameParams extends PaginationStrategy {
|
|
294
|
+
extractPage: (a: HTMLAnchorElement | Location | string) => number;
|
|
295
|
+
static checkLink(link: URL, pathnameSelector?: RegExp): boolean;
|
|
296
|
+
static testLinks(links: URL[], options: Partial<PaginationStrategy>): boolean;
|
|
297
|
+
getPaginationLast(): number;
|
|
298
|
+
getPaginationOffset(): number;
|
|
299
|
+
getPaginationUrlGenerator(url_?: URL): (offset: number) => string;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export declare class PaginationStrategySearchParams extends PaginationStrategy {
|
|
303
|
+
extractPage: (a: HTMLAnchorElement | Location | URL | string) => number;
|
|
304
|
+
getPaginationLast(): number;
|
|
305
|
+
getPaginationOffset(): number;
|
|
306
|
+
getPaginationUrlGenerator(): (offset: number) => string;
|
|
307
|
+
static checkLink(link: URL, searchParamSelector?: string): boolean;
|
|
308
|
+
static testLinks(links: URL[], searchParamSelector?: string): boolean;
|
|
309
|
+
}
|
|
310
|
+
|
|
280
311
|
export declare function parseCssUrl(s: string): string;
|
|
281
312
|
|
|
282
313
|
export declare function parseDataParams(str: string): Record<string, string>;
|
|
@@ -285,6 +316,12 @@ export declare function parseHtml(html: string): HTMLElement;
|
|
|
285
316
|
|
|
286
317
|
export declare function parseIntegerOr(n: string | number, or: number): number;
|
|
287
318
|
|
|
319
|
+
export declare function parseUrl(s: HTMLAnchorElement | Location | URL | string): URL;
|
|
320
|
+
|
|
321
|
+
declare type Primitive = string | number | boolean;
|
|
322
|
+
|
|
323
|
+
declare type PrimitiveString = 'boolean' | 'string' | 'number' | 'duration';
|
|
324
|
+
|
|
288
325
|
export declare function querySelectorLast<T extends Element = HTMLElement>(root: ParentNode | undefined, selector: string): T | undefined;
|
|
289
326
|
|
|
290
327
|
export declare function querySelectorLastNumber(selector: string, e?: ParentNode): number;
|
|
@@ -305,45 +342,33 @@ export declare function removeClassesAndDataAttributes(element: HTMLElement, key
|
|
|
305
342
|
|
|
306
343
|
export declare function replaceElementTag(e: HTMLElement, tagName: string): HTMLElement;
|
|
307
344
|
|
|
308
|
-
export declare class
|
|
309
|
-
delay?: number;
|
|
310
|
-
customGenerator?: OffsetGenerator;
|
|
345
|
+
export declare class Rules {
|
|
311
346
|
getThumbUrl(thumb: HTMLElement | HTMLAnchorElement): string;
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
getThumbData(thumb: HTMLElement): ThumbData;
|
|
319
|
-
getThumbImgDataAttrSelector?: string | string[] | ((img: HTMLImageElement) => string);
|
|
320
|
-
getThumbImgDataAttrDelete?: 'auto' | string;
|
|
321
|
-
getThumbImgDataStrategy: 'default' | 'auto';
|
|
322
|
-
getThumbImgData(thumb: HTMLElement): {
|
|
323
|
-
img?: HTMLImageElement;
|
|
324
|
-
imgSrc?: string;
|
|
325
|
-
};
|
|
347
|
+
thumb: Parameters<typeof ThumbDataParser.create>[0];
|
|
348
|
+
thumbDataParser: ThumbDataParser;
|
|
349
|
+
thumbImg: Parameters<typeof ThumbImgParser.create>[0];
|
|
350
|
+
thumbImgParser: ThumbImgParser;
|
|
351
|
+
thumbs: Parameters<typeof ThumbsParser.create>[0];
|
|
352
|
+
thumbsParser: ThumbsParser;
|
|
326
353
|
containerSelector: string | (() => HTMLElement);
|
|
327
354
|
containerSelectorLast?: string;
|
|
355
|
+
get container(): HTMLElement;
|
|
328
356
|
intersectionObservableSelector?: string;
|
|
329
357
|
get intersectionObservable(): "" | Element | null | undefined;
|
|
330
358
|
get observable(): HTMLElement;
|
|
331
|
-
get container(): HTMLElement;
|
|
332
|
-
thumbsSelector: string;
|
|
333
|
-
getThumbsStrategy: 'default' | 'auto';
|
|
334
|
-
getThumbsTransform?: (thumb: HTMLElement) => void;
|
|
335
|
-
getThumbs(html: HTMLElement): HTMLElement[];
|
|
336
359
|
paginationStrategyOptions: Partial<PaginationStrategy>;
|
|
337
360
|
paginationStrategy: PaginationStrategy;
|
|
361
|
+
dataManager: DataManager;
|
|
362
|
+
dataHomogenity: ConstructorParameters<typeof DataManager>[1];
|
|
338
363
|
customDataSelectorFns: (Record<string, DataSelectorFn<any>> | string)[];
|
|
339
364
|
animatePreview?: (doc: HTMLElement) => void;
|
|
340
365
|
storeOptions?: JabroniTypes.StoreStateOptions;
|
|
341
|
-
private createStore;
|
|
342
366
|
schemeOptions: SchemeOptions;
|
|
343
|
-
private createGui;
|
|
344
367
|
store: JabronioStore;
|
|
345
368
|
gui: JabronioGUI;
|
|
346
|
-
|
|
369
|
+
private createStore;
|
|
370
|
+
private createGui;
|
|
371
|
+
customGenerator?: OffsetGenerator;
|
|
347
372
|
infiniteScroller?: InfiniteScroller;
|
|
348
373
|
getPaginationData?: InfiniteScroller['getPaginationData'];
|
|
349
374
|
private resetInfiniteScroller;
|
|
@@ -351,14 +376,12 @@ export declare class RulesGlobal {
|
|
|
351
376
|
gropeInit(): void;
|
|
352
377
|
get isEmbedded(): boolean;
|
|
353
378
|
private setupStoreListeners;
|
|
354
|
-
dataManagerOptions: Partial<DataManager>;
|
|
355
|
-
private setupDataManager;
|
|
356
379
|
private mutationObservers;
|
|
357
380
|
resetOnPaginationOrContainerDeath: boolean;
|
|
358
381
|
private resetOn;
|
|
359
382
|
onResetCallback?: () => void;
|
|
360
383
|
private reset;
|
|
361
|
-
constructor(options: Partial<
|
|
384
|
+
constructor(options: Partial<Rules>);
|
|
362
385
|
}
|
|
363
386
|
|
|
364
387
|
export declare function sanitizeStr(s: string): string;
|
|
@@ -367,13 +390,52 @@ declare type SchemeOptions = (Parameters<typeof setupScheme>[0][0] | JabroniType
|
|
|
367
390
|
|
|
368
391
|
export declare function splitWith(s: string, c?: string): Array<string>;
|
|
369
392
|
|
|
370
|
-
declare type ThumbData =
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
393
|
+
declare type ThumbData = Record<string, Primitive>;
|
|
394
|
+
|
|
395
|
+
export declare class ThumbDataParser {
|
|
396
|
+
strategy: 'manual' | 'auto-select' | 'auto-text';
|
|
397
|
+
selectors: ThumbDataSelectorsRaw;
|
|
398
|
+
callback?: ((thumb: HTMLElement, thumbData: ThumbData) => void) | undefined;
|
|
399
|
+
stringsMeltInTitle: boolean;
|
|
400
|
+
private autoParseText;
|
|
401
|
+
private preprocessCustomThumbDataSelectors;
|
|
402
|
+
private thumbDataSelectors;
|
|
403
|
+
private readonly defaultThumbDataSelectors;
|
|
404
|
+
private getThumbDataWith;
|
|
405
|
+
constructor(strategy?: 'manual' | 'auto-select' | 'auto-text', selectors?: ThumbDataSelectorsRaw, callback?: ((thumb: HTMLElement, thumbData: ThumbData) => void) | undefined, stringsMeltInTitle?: boolean);
|
|
406
|
+
static create(o?: Partial<Pick<ThumbDataParser, 'strategy' | 'selectors' | 'callback' | 'stringsMeltInTitle'>>): ThumbDataParser;
|
|
407
|
+
getThumbData(thumb: HTMLElement): ThumbData;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
declare type ThumbDataSelector = {
|
|
411
|
+
name: string;
|
|
412
|
+
selector: string;
|
|
413
|
+
type: PrimitiveString;
|
|
375
414
|
};
|
|
376
415
|
|
|
416
|
+
declare type ThumbDataSelectorsRaw = Record<string, string | Pick<ThumbDataSelector, 'selector' | 'type'>>;
|
|
417
|
+
|
|
418
|
+
export declare class ThumbImgParser {
|
|
419
|
+
selector?: string | string[] | ((img: HTMLImageElement) => string);
|
|
420
|
+
shouldDelete?: 'auto' | string;
|
|
421
|
+
strategy: 'default' | 'auto';
|
|
422
|
+
static create(options?: Partial<Pick<ThumbImgParser, 'selector' | 'shouldDelete' | 'strategy' | 'getImgData'>>): ThumbImgParser & Partial<Pick<ThumbImgParser, "selector" | "strategy" | "shouldDelete" | "getImgData">>;
|
|
423
|
+
getImgData(thumb: HTMLElement): {
|
|
424
|
+
img?: HTMLImageElement;
|
|
425
|
+
imgSrc?: string;
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
export declare class ThumbsParser {
|
|
430
|
+
containerSelector: string;
|
|
431
|
+
selector: string;
|
|
432
|
+
strategy: 'default' | 'auto';
|
|
433
|
+
transform?: (thumb: HTMLElement) => void;
|
|
434
|
+
static create(options: Partial<Pick<ThumbsParser, "selector" | "strategy" | "transform">> | undefined, containerSelector: string): ThumbsParser & Partial<Pick<ThumbsParser, "selector" | "strategy" | "transform">>;
|
|
435
|
+
constructor(containerSelector: string);
|
|
436
|
+
getThumbs(html: HTMLElement): HTMLElement[];
|
|
437
|
+
}
|
|
438
|
+
|
|
377
439
|
export declare class Tick {
|
|
378
440
|
private delay;
|
|
379
441
|
private startImmediate;
|