Project

General

Profile

Download (920 Bytes) Statistics
| Branch: | Tag: | Revision:

haketilo / common / settings_query.js @ 53837634

1
/**
2
 * Hachette querying page settings with regard to wildcard records
3
 *
4
 * Copyright (C) 2021 Wojtek Kosior
5
 * Redistribution terms are gathered in the `copyright' file.
6
 */
7

    
8
/*
9
 * IMPORTS_START
10
 * IMPORT TYPE_PREFIX
11
 * IMPORT each_url_pattern
12
 * IMPORTS_END
13
 */
14

    
15
function query(storage, url, multiple)
16
{
17
    const matched = [];
18
    const cb = p => check_pattern(storage, p, multiple, matched);
19
    for (const pattern of each_url_pattern(url)) {
20
	const result = [pattern, storage.get(TYPE_PREFIX.PAGE, pattern)];
21
	if (result[1] === undefined)
22
	    continue;
23

    
24
	if (!multiple)
25
	    return result;
26
	matched.push(result);
27
    }
28

    
29
    return multiple ? matched : [undefined, undefined];
30
}
31

    
32
function query_best(storage, url)
33
{
34
    return query(storage, url, false);
35
}
36

    
37
function query_all(storage, url)
38
{
39
    return query(storage, url, true);
40
}
41

    
42
/*
43
 * EXPORTS_START
44
 * EXPORT query_best
45
 * EXPORT query_all
46
 * EXPORTS_END
47
 */
(10-10/14)