@datagrok-libraries/utils 0.0.9 → 0.0.15

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.
@@ -1,47 +1,47 @@
1
- import * as DG from "datagrok-api/dg";
2
- // @ts-ignore
3
- let ruleSet = {
4
- name: 'SDTM DM rules',
5
- rules: [
6
- {
7
- column: 'age',
8
- type: 'int',
9
- pattern: '18-90'
10
- },
11
- {
12
- column: 'height',
13
- type: 'numerical',
14
- pattern: '18-90'
15
- },
16
- {
17
- column: 'sex',
18
- type: 'string',
19
- pattern: 'in (F, M)'
20
- },
21
- {
22
- column: 'started',
23
- type: 'datetime',
24
- pattern: '> 1/1/1900'
25
- }
26
- ]
27
- };
28
- /** Returns error message, or null if valid. */
29
- function validateCell(cell, ruleset) {
30
- var _a;
31
- let name = cell.column.name.toLowerCase();
32
- for (let rule of ruleset.rules)
33
- if (rule.column == name) {
34
- rule.matcher = (_a = rule.matcher) !== null && _a !== void 0 ? _a : DG.ValueMatcher.forColumn(cell.column, rule.pattern);
35
- let error = rule.matcher.validate(cell.value);
36
- if (error !== null)
37
- return error;
38
- }
39
- return null;
40
- }
41
- function main() {
42
- console.log('foo');
43
- }
44
- let cell = { column: { name: 'age' }, value: 999 };
45
- validateCell(cell, ruleSet);
46
- console.log('ddd');
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhYmxlLXZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWN0QyxhQUFhO0FBQ2IsSUFBSSxPQUFPLEdBQVk7SUFDckIsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFO1FBQ0w7WUFDRSxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxLQUFLO1lBQ1gsT0FBTyxFQUFFLE9BQU87U0FDakI7UUFDRDtZQUNFLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxPQUFPO1NBQ2pCO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLFdBQVc7U0FDckI7UUFDRDtZQUNFLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxZQUFZO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsK0NBQStDO0FBQy9DLFNBQVMsWUFBWSxDQUFDLElBQVMsRUFBRSxPQUFnQjs7SUFDL0MsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFMUMsS0FBSyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSztRQUM1QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBQSxJQUFJLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxLQUFLLEtBQUssSUFBSTtnQkFDaEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFFSCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLElBQUk7SUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxJQUFJLElBQUksR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDbEQsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUU1QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogRG8gbm90IGNoYW5nZSB0aGVzZSBpbXBvcnQgbGluZXMuIERhdGFncm9rIHdpbGwgaW1wb3J0IEFQSSBsaWJyYXJ5IGluIGV4YWN0bHkgdGhlIHNhbWUgbWFubmVyICovXHJcbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xyXG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xyXG5pbXBvcnQgKiBhcyBERyBmcm9tIFwiZGF0YWdyb2stYXBpL2RnXCI7XHJcblxyXG5pbnRlcmZhY2UgUnVsZSB7XHJcbiAgY29sdW1uOiBzdHJpbmc7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHBhdHRlcm46IHN0cmluZztcclxuICBtYXRjaGVyPzogYW55O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUnVsZVNldCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHJ1bGVzOiBSdWxlW107XHJcbn1cclxuXHJcbi8vIEB0cy1pZ25vcmVcclxubGV0IHJ1bGVTZXQ6IFJ1bGVTZXQgPSB7XHJcbiAgbmFtZTogJ1NEVE0gRE0gcnVsZXMnLFxyXG4gIHJ1bGVzOiBbXHJcbiAgICB7XHJcbiAgICAgIGNvbHVtbjogJ2FnZScsXHJcbiAgICAgIHR5cGU6ICdpbnQnLFxyXG4gICAgICBwYXR0ZXJuOiAnMTgtOTAnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2x1bW46ICdoZWlnaHQnLFxyXG4gICAgICB0eXBlOiAnbnVtZXJpY2FsJyxcclxuICAgICAgcGF0dGVybjogJzE4LTkwJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY29sdW1uOiAnc2V4JyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIHBhdHRlcm46ICdpbiAoRiwgTSknXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjb2x1bW46ICdzdGFydGVkJyxcclxuICAgICAgdHlwZTogJ2RhdGV0aW1lJyxcclxuICAgICAgcGF0dGVybjogJz4gMS8xLzE5MDAnXHJcbiAgICB9XHJcbiAgXVxyXG59O1xyXG5cclxuLyoqIFJldHVybnMgZXJyb3IgbWVzc2FnZSwgb3IgbnVsbCBpZiB2YWxpZC4gKi9cclxuZnVuY3Rpb24gdmFsaWRhdGVDZWxsKGNlbGw6IGFueSwgcnVsZXNldDogUnVsZVNldCkgOiBzdHJpbmcgfCBudWxsIHtcclxuICBsZXQgbmFtZSA9IGNlbGwuY29sdW1uLm5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgZm9yIChsZXQgcnVsZSBvZiBydWxlc2V0LnJ1bGVzKVxyXG4gICAgaWYgKHJ1bGUuY29sdW1uID09IG5hbWUpIHtcclxuICAgICAgcnVsZS5tYXRjaGVyID0gcnVsZS5tYXRjaGVyID8/IERHLlZhbHVlTWF0Y2hlci5mb3JDb2x1bW4oY2VsbC5jb2x1bW4sIHJ1bGUucGF0dGVybik7XHJcbiAgICAgIGxldCBlcnJvciA9IHJ1bGUubWF0Y2hlci52YWxpZGF0ZShjZWxsLnZhbHVlKTtcclxuICAgICAgaWYgKGVycm9yICE9PSBudWxsKVxyXG4gICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1haW4oKSA6IHZvaWQge1xyXG4gIGNvbnNvbGUubG9nKCdmb28nKTtcclxufVxyXG5cclxubGV0IGNlbGwgPSB7Y29sdW1uOiB7IG5hbWU6ICdhZ2UnIH0sIHZhbHVlOiA5OTkgfTtcclxudmFsaWRhdGVDZWxsKGNlbGwsIHJ1bGVTZXQpO1xyXG5cclxuY29uc29sZS5sb2coJ2RkZCcpOyJdfQ==
1
+ import * as DG from "datagrok-api/dg";
2
+ // @ts-ignore
3
+ let ruleSet = {
4
+ name: 'SDTM DM rules',
5
+ rules: [
6
+ {
7
+ column: 'age',
8
+ type: 'int',
9
+ pattern: '18-90'
10
+ },
11
+ {
12
+ column: 'height',
13
+ type: 'numerical',
14
+ pattern: '18-90'
15
+ },
16
+ {
17
+ column: 'sex',
18
+ type: 'string',
19
+ pattern: 'in (F, M)'
20
+ },
21
+ {
22
+ column: 'started',
23
+ type: 'datetime',
24
+ pattern: '> 1/1/1900'
25
+ }
26
+ ]
27
+ };
28
+ /** Returns error message, or null if valid. */
29
+ function validateCell(cell, ruleset) {
30
+ var _a;
31
+ let name = cell.column.name.toLowerCase();
32
+ for (let rule of ruleset.rules)
33
+ if (rule.column == name) {
34
+ rule.matcher = (_a = rule.matcher) !== null && _a !== void 0 ? _a : DG.ValueMatcher.forColumn(cell.column, rule.pattern);
35
+ let error = rule.matcher.validate(cell.value);
36
+ if (error !== null)
37
+ return error;
38
+ }
39
+ return null;
40
+ }
41
+ function main() {
42
+ console.log('foo');
43
+ }
44
+ let cell = { column: { name: 'age' }, value: 999 };
45
+ validateCell(cell, ruleSet);
46
+ console.log('ddd');
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRhYmxlLXZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWN0QyxhQUFhO0FBQ2IsSUFBSSxPQUFPLEdBQVk7SUFDckIsSUFBSSxFQUFFLGVBQWU7SUFDckIsS0FBSyxFQUFFO1FBQ0w7WUFDRSxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxLQUFLO1lBQ1gsT0FBTyxFQUFFLE9BQU87U0FDakI7UUFDRDtZQUNFLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxPQUFPO1NBQ2pCO1FBQ0Q7WUFDRSxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLFdBQVc7U0FDckI7UUFDRDtZQUNFLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLE9BQU8sRUFBRSxZQUFZO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsK0NBQStDO0FBQy9DLFNBQVMsWUFBWSxDQUFDLElBQVMsRUFBRSxPQUFnQjs7SUFDL0MsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFMUMsS0FBSyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSztRQUM1QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBQSxJQUFJLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxLQUFLLEtBQUssSUFBSTtnQkFDaEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFFSCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLElBQUk7SUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxJQUFJLElBQUksR0FBRyxFQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDbEQsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUU1QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogRG8gbm90IGNoYW5nZSB0aGVzZSBpbXBvcnQgbGluZXMuIERhdGFncm9rIHdpbGwgaW1wb3J0IEFQSSBsaWJyYXJ5IGluIGV4YWN0bHkgdGhlIHNhbWUgbWFubmVyICovXG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tIFwiZGF0YWdyb2stYXBpL2RnXCI7XG5cbmludGVyZmFjZSBSdWxlIHtcbiAgY29sdW1uOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgcGF0dGVybjogc3RyaW5nO1xuICBtYXRjaGVyPzogYW55O1xufVxuXG5pbnRlcmZhY2UgUnVsZVNldCB7XG4gIG5hbWU6IHN0cmluZztcbiAgcnVsZXM6IFJ1bGVbXTtcbn1cblxuLy8gQHRzLWlnbm9yZVxubGV0IHJ1bGVTZXQ6IFJ1bGVTZXQgPSB7XG4gIG5hbWU6ICdTRFRNIERNIHJ1bGVzJyxcbiAgcnVsZXM6IFtcbiAgICB7XG4gICAgICBjb2x1bW46ICdhZ2UnLFxuICAgICAgdHlwZTogJ2ludCcsXG4gICAgICBwYXR0ZXJuOiAnMTgtOTAnXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2x1bW46ICdoZWlnaHQnLFxuICAgICAgdHlwZTogJ251bWVyaWNhbCcsXG4gICAgICBwYXR0ZXJuOiAnMTgtOTAnXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2x1bW46ICdzZXgnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBwYXR0ZXJuOiAnaW4gKEYsIE0pJ1xuICAgIH0sXG4gICAge1xuICAgICAgY29sdW1uOiAnc3RhcnRlZCcsXG4gICAgICB0eXBlOiAnZGF0ZXRpbWUnLFxuICAgICAgcGF0dGVybjogJz4gMS8xLzE5MDAnXG4gICAgfVxuICBdXG59O1xuXG4vKiogUmV0dXJucyBlcnJvciBtZXNzYWdlLCBvciBudWxsIGlmIHZhbGlkLiAqL1xuZnVuY3Rpb24gdmFsaWRhdGVDZWxsKGNlbGw6IGFueSwgcnVsZXNldDogUnVsZVNldCkgOiBzdHJpbmcgfCBudWxsIHtcbiAgbGV0IG5hbWUgPSBjZWxsLmNvbHVtbi5uYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgZm9yIChsZXQgcnVsZSBvZiBydWxlc2V0LnJ1bGVzKVxuICAgIGlmIChydWxlLmNvbHVtbiA9PSBuYW1lKSB7XG4gICAgICBydWxlLm1hdGNoZXIgPSBydWxlLm1hdGNoZXIgPz8gREcuVmFsdWVNYXRjaGVyLmZvckNvbHVtbihjZWxsLmNvbHVtbiwgcnVsZS5wYXR0ZXJuKTtcbiAgICAgIGxldCBlcnJvciA9IHJ1bGUubWF0Y2hlci52YWxpZGF0ZShjZWxsLnZhbHVlKTtcbiAgICAgIGlmIChlcnJvciAhPT0gbnVsbClcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbWFpbigpIDogdm9pZCB7XG4gIGNvbnNvbGUubG9nKCdmb28nKTtcbn1cblxubGV0IGNlbGwgPSB7Y29sdW1uOiB7IG5hbWU6ICdhZ2UnIH0sIHZhbHVlOiA5OTkgfTtcbnZhbGlkYXRlQ2VsbChjZWxsLCBydWxlU2V0KTtcblxuY29uc29sZS5sb2coJ2RkZCcpOyJdfQ==
@@ -1,11 +1,11 @@
1
- export declare function getToken(url: string, key: string): Promise<any>;
2
- export declare function getWebUrl(url: string, token: string): Promise<any>;
3
- export declare function getDevKey(hostKey: string): {
4
- url: string;
5
- key: string;
6
- };
7
- export declare function getBrowserPage(puppeteer: any): Promise<{
8
- browser: any;
9
- page: any;
10
- }>;
1
+ export declare function getToken(url: string, key: string): Promise<any>;
2
+ export declare function getWebUrl(url: string, token: string): Promise<any>;
3
+ export declare function getDevKey(hostKey: string): {
4
+ url: string;
5
+ key: string;
6
+ };
7
+ export declare function getBrowserPage(puppeteer: any): Promise<{
8
+ browser: any;
9
+ page: any;
10
+ }>;
11
11
  //# sourceMappingURL=test-utils.d.ts.map
package/src/test-utils.js CHANGED
@@ -1,81 +1,81 @@
1
- import * as path from "path";
2
- import * as os from "os";
3
- import * as fs from "fs";
4
- // @ts-ignore
5
- import * as yaml from 'js-yaml';
6
- const fetch = require('node-fetch');
7
- export async function getToken(url, key) {
8
- let response = await fetch(`${url}/users/login/dev/${key}`, { method: 'POST' });
9
- let json = await response.json();
10
- if (json.isSuccess == true)
11
- return json.token;
12
- else
13
- throw 'Unable to login to server. Check your dev key';
14
- }
15
- export async function getWebUrl(url, token) {
16
- let response = await fetch(`${url}/admin/plugins/admin/settings`, { headers: { Authorization: token } });
17
- let json = await response.json();
18
- return json.settings.webRoot;
19
- }
20
- const grokDir = path.join(os.homedir(), '.grok');
21
- const confPath = path.join(grokDir, 'config.yaml');
22
- function mapURL(conf) {
23
- let urls = {};
24
- for (let server in conf.servers) {
25
- urls[conf['servers'][server]['url']] = conf['servers'][server];
26
- }
27
- return urls;
28
- }
29
- export function getDevKey(hostKey) {
30
- let config = yaml.load(fs.readFileSync(confPath, 'utf8'));
31
- let host = hostKey == '' ? config.default : hostKey;
32
- host = host.trim();
33
- let urls = mapURL(config);
34
- let key = '';
35
- let url = '';
36
- try {
37
- let url = new URL(host).href;
38
- if (url.endsWith('/'))
39
- url = url.slice(0, -1);
40
- if (url in urls)
41
- key = config['servers'][urls[url]]['key'];
42
- }
43
- catch (error) {
44
- if (config['servers'][host] == null)
45
- throw `Unknown server alias. Please add it to ${confPath}`;
46
- url = config['servers'][host]['url'];
47
- key = config['servers'][host]['key'];
48
- }
49
- return { url, key };
50
- }
51
- export async function getBrowserPage(puppeteer) {
52
- var _a;
53
- let url = (_a = process.env.HOST) !== null && _a !== void 0 ? _a : '';
54
- let cfg = getDevKey(url);
55
- url = cfg.url;
56
- let key = cfg.key;
57
- let token = await getToken(url, key);
58
- url = await getWebUrl(url, token);
59
- console.log(`Using web root: ${url}`);
60
- let browser = await puppeteer.launch({
61
- args: ['--disable-dev-shm-usage', '--disable-features=site-per-process'],
62
- ignoreHTTPSErrors: true,
63
- });
64
- let page = await browser.newPage();
65
- await page.goto(`${url}/oauth/`);
66
- await page.setCookie({ name: 'auth', value: token });
67
- await page.evaluate((token) => {
68
- window.localStorage.setItem('auth', token);
69
- }, token);
70
- await page.goto(url);
71
- try {
72
- await page.waitForSelector('.grok-preloader');
73
- console.log('got preloader');
74
- await page.waitForFunction(() => document.querySelector('.grok-preloader') == null, { timeout: 100000 });
75
- }
76
- catch (error) {
77
- throw error;
78
- }
79
- return { browser, page };
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsYUFBYTtBQUNiLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUVwQyxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxHQUFXLEVBQUUsR0FBVztJQUNyRCxJQUFJLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsb0JBQW9CLEdBQUcsRUFBRSxFQUFFLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDOUUsSUFBSSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUk7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDOztRQUVsQixNQUFNLCtDQUErQyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBYTtJQUN4RCxJQUFJLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsK0JBQStCLEVBQUUsRUFBQyxPQUFPLEVBQUUsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3JHLElBQUksSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHLElBQUks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QUMseUJBQXlCLEVBQUUscUNBQXFDLENBQUM7UUFDeEUsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QixDQUFDLENBQUM7SUFFSCxJQUFJLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNWLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixJQUFJO1FBQ0YsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0tBQ3hHO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxNQUFNLEtBQUssQ0FBQztLQUNiO0lBQ0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xyXG5pbXBvcnQgKiBhcyBvcyBmcm9tIFwib3NcIjtcclxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XHJcbi8vIEB0cy1pZ25vcmVcclxuaW1wb3J0ICogYXMgeWFtbCBmcm9tICdqcy15YW1sJztcclxuY29uc3QgZmV0Y2ggPSByZXF1aXJlKCdub2RlLWZldGNoJyk7XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VG9rZW4odXJsOiBzdHJpbmcsIGtleTogc3RyaW5nKSB7XHJcbiAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7dXJsfS91c2Vycy9sb2dpbi9kZXYvJHtrZXl9YCwge21ldGhvZDogJ1BPU1QnfSk7XHJcbiAgbGV0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgaWYgKGpzb24uaXNTdWNjZXNzID09IHRydWUpXHJcbiAgICByZXR1cm4ganNvbi50b2tlbjtcclxuICBlbHNlXHJcbiAgICB0aHJvdyAnVW5hYmxlIHRvIGxvZ2luIHRvIHNlcnZlci4gQ2hlY2sgeW91ciBkZXYga2V5JztcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFdlYlVybCh1cmw6IHN0cmluZywgdG9rZW46IHN0cmluZykge1xyXG4gIGxldCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3VybH0vYWRtaW4vcGx1Z2lucy9hZG1pbi9zZXR0aW5nc2AsIHtoZWFkZXJzOiB7QXV0aG9yaXphdGlvbjogdG9rZW59fSk7XHJcbiAgbGV0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgcmV0dXJuIGpzb24uc2V0dGluZ3Mud2ViUm9vdDtcclxufVxyXG5cclxuY29uc3QgZ3Jva0RpciA9IHBhdGguam9pbihvcy5ob21lZGlyKCksICcuZ3JvaycpO1xyXG5jb25zdCBjb25mUGF0aCA9IHBhdGguam9pbihncm9rRGlyLCAnY29uZmlnLnlhbWwnKTtcclxuXHJcbmZ1bmN0aW9uIG1hcFVSTChjb25mOiBDb25maWcpOiBJbmRleGFibGUge1xyXG4gIGxldCB1cmxzOiBJbmRleGFibGUgPSB7fTtcclxuICBmb3IgKGxldCBzZXJ2ZXIgaW4gY29uZi5zZXJ2ZXJzKSB7XHJcbiAgICB1cmxzW2NvbmZbJ3NlcnZlcnMnXVtzZXJ2ZXJdWyd1cmwnXV0gPSBjb25mWydzZXJ2ZXJzJ11bc2VydmVyXTtcclxuICB9XHJcbiAgcmV0dXJuIHVybHM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREZXZLZXkoaG9zdEtleTogc3RyaW5nKToge3VybDogc3RyaW5nLCBrZXk6IHN0cmluZ30ge1xyXG4gIGxldCBjb25maWcgPSB5YW1sLmxvYWQoZnMucmVhZEZpbGVTeW5jKGNvbmZQYXRoLCAndXRmOCcpKSBhcyBhbnk7XHJcbiAgbGV0IGhvc3QgPSBob3N0S2V5ID09ICcnID8gY29uZmlnLmRlZmF1bHQgOiBob3N0S2V5O1xyXG4gIGhvc3QgPSBob3N0LnRyaW0oKTtcclxuICBsZXQgdXJscyA9IG1hcFVSTChjb25maWcpO1xyXG4gIGxldCBrZXkgPSAnJztcclxuICBsZXQgdXJsID0gJyc7XHJcbiAgdHJ5IHtcclxuICAgIGxldCB1cmwgPSBuZXcgVVJMKGhvc3QpLmhyZWY7XHJcbiAgICBpZiAodXJsLmVuZHNXaXRoKCcvJykpIHVybCA9IHVybC5zbGljZSgwLCAtMSk7XHJcbiAgICBpZiAodXJsIGluIHVybHMpIGtleSA9IGNvbmZpZ1snc2VydmVycyddW3VybHNbdXJsXV1bJ2tleSddO1xyXG4gIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICBpZiAoY29uZmlnWydzZXJ2ZXJzJ11baG9zdF0gPT0gbnVsbClcclxuICAgICAgdGhyb3cgYFVua25vd24gc2VydmVyIGFsaWFzLiBQbGVhc2UgYWRkIGl0IHRvICR7Y29uZlBhdGh9YDtcclxuICAgIHVybCA9IGNvbmZpZ1snc2VydmVycyddW2hvc3RdWyd1cmwnXTtcclxuICAgIGtleSA9IGNvbmZpZ1snc2VydmVycyddW2hvc3RdWydrZXknXTtcclxuICB9XHJcbiAgcmV0dXJuIHt1cmwsIGtleX07XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCcm93c2VyUGFnZShwdXBwZXRlZXI6IGFueSk6IFByb21pc2U8e2Jyb3dzZXI6IGFueSwgcGFnZTogYW55fT4ge1xyXG4gIGxldCB1cmw6c3RyaW5nID0gcHJvY2Vzcy5lbnYuSE9TVCA/PyAnJztcclxuICBsZXQgY2ZnID0gZ2V0RGV2S2V5KHVybCk7XHJcbiAgdXJsID0gY2ZnLnVybDtcclxuXHJcbiAgbGV0IGtleSA9IGNmZy5rZXk7XHJcbiAgbGV0IHRva2VuID0gYXdhaXQgZ2V0VG9rZW4odXJsLCBrZXkpO1xyXG4gIHVybCA9IGF3YWl0IGdldFdlYlVybCh1cmwsIHRva2VuKTtcclxuICBjb25zb2xlLmxvZyhgVXNpbmcgd2ViIHJvb3Q6ICR7dXJsfWApO1xyXG5cclxuICBsZXQgYnJvd3NlciA9IGF3YWl0IHB1cHBldGVlci5sYXVuY2goe1xyXG4gICAgYXJnczogWyctLWRpc2FibGUtZGV2LXNobS11c2FnZScsICctLWRpc2FibGUtZmVhdHVyZXM9c2l0ZS1wZXItcHJvY2VzcyddLFxyXG4gICAgaWdub3JlSFRUUFNFcnJvcnM6IHRydWUsXHJcbiAgfSk7XHJcblxyXG4gIGxldCBwYWdlID0gYXdhaXQgYnJvd3Nlci5uZXdQYWdlKCk7XHJcbiAgYXdhaXQgcGFnZS5nb3RvKGAke3VybH0vb2F1dGgvYCk7XHJcbiAgYXdhaXQgcGFnZS5zZXRDb29raWUoe25hbWU6ICdhdXRoJywgdmFsdWU6IHRva2VufSk7XHJcbiAgYXdhaXQgcGFnZS5ldmFsdWF0ZSgodG9rZW46IGFueSkgPT4ge1xyXG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoJywgdG9rZW4pO1xyXG4gIH0sIHRva2VuKTtcclxuICBhd2FpdCBwYWdlLmdvdG8odXJsKTtcclxuICB0cnkge1xyXG4gICAgYXdhaXQgcGFnZS53YWl0Rm9yU2VsZWN0b3IoJy5ncm9rLXByZWxvYWRlcicpO1xyXG4gICAgY29uc29sZS5sb2coJ2dvdCBwcmVsb2FkZXInKTtcclxuICAgIGF3YWl0IHBhZ2Uud2FpdEZvckZ1bmN0aW9uKCgpID0+IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ncm9rLXByZWxvYWRlcicpID09IG51bGwsIHt0aW1lb3V0OiAxMDAwMDB9KTtcclxuICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgdGhyb3cgZXJyb3I7XHJcbiAgfVxyXG4gIHJldHVybiB7YnJvd3NlciwgcGFnZX07XHJcbn1cclxuXHJcblxyXG5pbnRlcmZhY2UgQ29uZmlnIHtcclxuICBzZXJ2ZXJzOiB7XHJcbiAgICBbYWxpYXM6IHN0cmluZ106IHtcclxuICAgICAgdXJsOiBzdHJpbmcsXHJcbiAgICAgIGtleTogc3RyaW5nXHJcbiAgICB9XHJcbiAgfSxcclxuICBkZWZhdWx0OiBzdHJpbmcsXHJcbn1cclxuXHJcbmludGVyZmFjZSBJbmRleGFibGUgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxyXG4iXX0=
1
+ import * as path from "path";
2
+ import * as os from "os";
3
+ import * as fs from "fs";
4
+ // @ts-ignore
5
+ import * as yaml from 'js-yaml';
6
+ const fetch = require('node-fetch');
7
+ export async function getToken(url, key) {
8
+ let response = await fetch(`${url}/users/login/dev/${key}`, { method: 'POST' });
9
+ let json = await response.json();
10
+ if (json.isSuccess == true)
11
+ return json.token;
12
+ else
13
+ throw 'Unable to login to server. Check your dev key';
14
+ }
15
+ export async function getWebUrl(url, token) {
16
+ let response = await fetch(`${url}/admin/plugins/admin/settings`, { headers: { Authorization: token } });
17
+ let json = await response.json();
18
+ return json.settings.webRoot;
19
+ }
20
+ const grokDir = path.join(os.homedir(), '.grok');
21
+ const confPath = path.join(grokDir, 'config.yaml');
22
+ function mapURL(conf) {
23
+ let urls = {};
24
+ for (let server in conf.servers) {
25
+ urls[conf['servers'][server]['url']] = conf['servers'][server];
26
+ }
27
+ return urls;
28
+ }
29
+ export function getDevKey(hostKey) {
30
+ let config = yaml.load(fs.readFileSync(confPath, 'utf8'));
31
+ let host = hostKey == '' ? config.default : hostKey;
32
+ host = host.trim();
33
+ let urls = mapURL(config);
34
+ let key = '';
35
+ let url = '';
36
+ try {
37
+ let url = new URL(host).href;
38
+ if (url.endsWith('/'))
39
+ url = url.slice(0, -1);
40
+ if (url in urls)
41
+ key = config['servers'][urls[url]]['key'];
42
+ }
43
+ catch (error) {
44
+ if (config['servers'][host] == null)
45
+ throw `Unknown server alias. Please add it to ${confPath}`;
46
+ url = config['servers'][host]['url'];
47
+ key = config['servers'][host]['key'];
48
+ }
49
+ return { url, key };
50
+ }
51
+ export async function getBrowserPage(puppeteer) {
52
+ var _a;
53
+ let url = (_a = process.env.HOST) !== null && _a !== void 0 ? _a : '';
54
+ let cfg = getDevKey(url);
55
+ url = cfg.url;
56
+ let key = cfg.key;
57
+ let token = await getToken(url, key);
58
+ url = await getWebUrl(url, token);
59
+ console.log(`Using web root: ${url}`);
60
+ let browser = await puppeteer.launch({
61
+ args: ['--disable-dev-shm-usage', '--disable-features=site-per-process'],
62
+ ignoreHTTPSErrors: true,
63
+ });
64
+ let page = await browser.newPage();
65
+ await page.goto(`${url}/oauth/`);
66
+ await page.setCookie({ name: 'auth', value: token });
67
+ await page.evaluate((token) => {
68
+ window.localStorage.setItem('auth', token);
69
+ }, token);
70
+ await page.goto(url);
71
+ try {
72
+ await page.waitForSelector('.grok-preloader');
73
+ console.log('got preloader');
74
+ await page.waitForFunction(() => document.querySelector('.grok-preloader') == null, { timeout: 100000 });
75
+ }
76
+ catch (error) {
77
+ throw error;
78
+ }
79
+ return { browser, page };
80
+ }
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsYUFBYTtBQUNiLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUVwQyxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FBQyxHQUFXLEVBQUUsR0FBVztJQUNyRCxJQUFJLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsb0JBQW9CLEdBQUcsRUFBRSxFQUFFLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDOUUsSUFBSSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUk7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDOztRQUVsQixNQUFNLCtDQUErQyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBYTtJQUN4RCxJQUFJLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLEdBQUcsK0JBQStCLEVBQUUsRUFBQyxPQUFPLEVBQUUsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3JHLElBQUksSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHLElBQUks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QUMseUJBQXlCLEVBQUUscUNBQXFDLENBQUM7UUFDeEUsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QixDQUFDLENBQUM7SUFFSCxJQUFJLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDakMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNWLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixJQUFJO1FBQ0YsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0tBQ3hHO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxNQUFNLEtBQUssQ0FBQztLQUNiO0lBQ0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5jb25zdCBmZXRjaCA9IHJlcXVpcmUoJ25vZGUtZmV0Y2gnKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFRva2VuKHVybDogc3RyaW5nLCBrZXk6IHN0cmluZykge1xuICBsZXQgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHt1cmx9L3VzZXJzL2xvZ2luL2Rldi8ke2tleX1gLCB7bWV0aG9kOiAnUE9TVCd9KTtcbiAgbGV0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gIGlmIChqc29uLmlzU3VjY2VzcyA9PSB0cnVlKVxuICAgIHJldHVybiBqc29uLnRva2VuO1xuICBlbHNlXG4gICAgdGhyb3cgJ1VuYWJsZSB0byBsb2dpbiB0byBzZXJ2ZXIuIENoZWNrIHlvdXIgZGV2IGtleSc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRXZWJVcmwodXJsOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpIHtcbiAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7dXJsfS9hZG1pbi9wbHVnaW5zL2FkbWluL3NldHRpbmdzYCwge2hlYWRlcnM6IHtBdXRob3JpemF0aW9uOiB0b2tlbn19KTtcbiAgbGV0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gIHJldHVybiBqc29uLnNldHRpbmdzLndlYlJvb3Q7XG59XG5cbmNvbnN0IGdyb2tEaXIgPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCAnLmdyb2snKTtcbmNvbnN0IGNvbmZQYXRoID0gcGF0aC5qb2luKGdyb2tEaXIsICdjb25maWcueWFtbCcpO1xuXG5mdW5jdGlvbiBtYXBVUkwoY29uZjogQ29uZmlnKTogSW5kZXhhYmxlIHtcbiAgbGV0IHVybHM6IEluZGV4YWJsZSA9IHt9O1xuICBmb3IgKGxldCBzZXJ2ZXIgaW4gY29uZi5zZXJ2ZXJzKSB7XG4gICAgdXJsc1tjb25mWydzZXJ2ZXJzJ11bc2VydmVyXVsndXJsJ11dID0gY29uZlsnc2VydmVycyddW3NlcnZlcl07XG4gIH1cbiAgcmV0dXJuIHVybHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXZLZXkoaG9zdEtleTogc3RyaW5nKToge3VybDogc3RyaW5nLCBrZXk6IHN0cmluZ30ge1xuICBsZXQgY29uZmlnID0geWFtbC5sb2FkKGZzLnJlYWRGaWxlU3luYyhjb25mUGF0aCwgJ3V0ZjgnKSkgYXMgYW55O1xuICBsZXQgaG9zdCA9IGhvc3RLZXkgPT0gJycgPyBjb25maWcuZGVmYXVsdCA6IGhvc3RLZXk7XG4gIGhvc3QgPSBob3N0LnRyaW0oKTtcbiAgbGV0IHVybHMgPSBtYXBVUkwoY29uZmlnKTtcbiAgbGV0IGtleSA9ICcnO1xuICBsZXQgdXJsID0gJyc7XG4gIHRyeSB7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwoaG9zdCkuaHJlZjtcbiAgICBpZiAodXJsLmVuZHNXaXRoKCcvJykpIHVybCA9IHVybC5zbGljZSgwLCAtMSk7XG4gICAgaWYgKHVybCBpbiB1cmxzKSBrZXkgPSBjb25maWdbJ3NlcnZlcnMnXVt1cmxzW3VybF1dWydrZXknXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoY29uZmlnWydzZXJ2ZXJzJ11baG9zdF0gPT0gbnVsbClcbiAgICAgIHRocm93IGBVbmtub3duIHNlcnZlciBhbGlhcy4gUGxlYXNlIGFkZCBpdCB0byAke2NvbmZQYXRofWA7XG4gICAgdXJsID0gY29uZmlnWydzZXJ2ZXJzJ11baG9zdF1bJ3VybCddO1xuICAgIGtleSA9IGNvbmZpZ1snc2VydmVycyddW2hvc3RdWydrZXknXTtcbiAgfVxuICByZXR1cm4ge3VybCwga2V5fTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEJyb3dzZXJQYWdlKHB1cHBldGVlcjogYW55KTogUHJvbWlzZTx7YnJvd3NlcjogYW55LCBwYWdlOiBhbnl9PiB7XG4gIGxldCB1cmw6c3RyaW5nID0gcHJvY2Vzcy5lbnYuSE9TVCA/PyAnJztcbiAgbGV0IGNmZyA9IGdldERldktleSh1cmwpO1xuICB1cmwgPSBjZmcudXJsO1xuXG4gIGxldCBrZXkgPSBjZmcua2V5O1xuICBsZXQgdG9rZW4gPSBhd2FpdCBnZXRUb2tlbih1cmwsIGtleSk7XG4gIHVybCA9IGF3YWl0IGdldFdlYlVybCh1cmwsIHRva2VuKTtcbiAgY29uc29sZS5sb2coYFVzaW5nIHdlYiByb290OiAke3VybH1gKTtcblxuICBsZXQgYnJvd3NlciA9IGF3YWl0IHB1cHBldGVlci5sYXVuY2goe1xuICAgIGFyZ3M6IFsnLS1kaXNhYmxlLWRldi1zaG0tdXNhZ2UnLCAnLS1kaXNhYmxlLWZlYXR1cmVzPXNpdGUtcGVyLXByb2Nlc3MnXSxcbiAgICBpZ25vcmVIVFRQU0Vycm9yczogdHJ1ZSxcbiAgfSk7XG5cbiAgbGV0IHBhZ2UgPSBhd2FpdCBicm93c2VyLm5ld1BhZ2UoKTtcbiAgYXdhaXQgcGFnZS5nb3RvKGAke3VybH0vb2F1dGgvYCk7XG4gIGF3YWl0IHBhZ2Uuc2V0Q29va2llKHtuYW1lOiAnYXV0aCcsIHZhbHVlOiB0b2tlbn0pO1xuICBhd2FpdCBwYWdlLmV2YWx1YXRlKCh0b2tlbjogYW55KSA9PiB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoJywgdG9rZW4pO1xuICB9LCB0b2tlbik7XG4gIGF3YWl0IHBhZ2UuZ290byh1cmwpO1xuICB0cnkge1xuICAgIGF3YWl0IHBhZ2Uud2FpdEZvclNlbGVjdG9yKCcuZ3Jvay1wcmVsb2FkZXInKTtcbiAgICBjb25zb2xlLmxvZygnZ290IHByZWxvYWRlcicpO1xuICAgIGF3YWl0IHBhZ2Uud2FpdEZvckZ1bmN0aW9uKCgpID0+IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ncm9rLXByZWxvYWRlcicpID09IG51bGwsIHt0aW1lb3V0OiAxMDAwMDB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuICByZXR1cm4ge2Jyb3dzZXIsIHBhZ2V9O1xufVxuXG5cbmludGVyZmFjZSBDb25maWcge1xuICBzZXJ2ZXJzOiB7XG4gICAgW2FsaWFzOiBzdHJpbmddOiB7XG4gICAgICB1cmw6IHN0cmluZyxcbiAgICAgIGtleTogc3RyaW5nXG4gICAgfVxuICB9LFxuICBkZWZhdWx0OiBzdHJpbmcsXG59XG5cbmludGVyZmFjZSBJbmRleGFibGUgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuIl19
@@ -1,56 +1,56 @@
1
- /**
2
- * Denotes a vector of floating poit values.
3
- *
4
- * @export
5
- * @class Vector
6
- * @extends {Float32Array}
7
- */
8
- export declare class Vector extends Float32Array {
9
- }
10
- /**
11
- * Denotes a two-dimensional matrix.
12
- *
13
- * @export
14
- * @class Matrix
15
- * @extends {Array<Vector>}
16
- */
17
- export declare class Matrix extends Array<Vector> {
18
- }
19
- /**
20
- * Denotes cartesian coordinates.
21
- *
22
- * @export
23
- * @class Coordinates
24
- * @extends {Matrix}
25
- */
26
- export declare class Coordinates extends Matrix {
27
- }
28
- /**
29
- * Denotes an array of arbitrary-typed vectors.
30
- *
31
- * @export
32
- * @class Vectors
33
- * @extends {Array<any>}
34
- */
35
- export declare class Vectors extends Array<any> {
36
- }
37
- /**
38
- * Denotes a dictionary containing function options.
39
- *
40
- * @export
41
- * @type Options
42
- */
43
- export declare type Options = {
44
- [name: string]: any;
45
- };
46
- /**
47
- * Denotes custom distance metric between the two given vectors.
48
- *
49
- * @export
50
- * @type DistanceMetric
51
- * @param {any} v1 The first vector.
52
- * @param {any} v2 The second vector.
53
- * @return {number} Distance between these two vectors.
54
- */
55
- export declare type DistanceMetric = (v1: any, v2: any) => (number);
56
- //# sourceMappingURL=type_declarations.d.ts.map
1
+ /**
2
+ * Denotes a vector of floating poit values.
3
+ *
4
+ * @export
5
+ * @class Vector
6
+ * @extends {Float32Array}
7
+ */
8
+ export declare class Vector extends Float32Array {
9
+ }
10
+ /**
11
+ * Denotes a two-dimensional matrix.
12
+ *
13
+ * @export
14
+ * @class Matrix
15
+ * @extends {Array<Vector>}
16
+ */
17
+ export declare class Matrix extends Array<Vector> {
18
+ }
19
+ /**
20
+ * Denotes cartesian coordinates.
21
+ *
22
+ * @export
23
+ * @class Coordinates
24
+ * @extends {Matrix}
25
+ */
26
+ export declare class Coordinates extends Matrix {
27
+ }
28
+ /**
29
+ * Denotes an array of arbitrary-typed vectors.
30
+ *
31
+ * @export
32
+ * @class Vectors
33
+ * @extends {Array<any>}
34
+ */
35
+ export declare class Vectors extends Array<any> {
36
+ }
37
+ /**
38
+ * Denotes a dictionary containing function options.
39
+ *
40
+ * @export
41
+ * @type Options
42
+ */
43
+ export declare type Options = {
44
+ [name: string]: any;
45
+ };
46
+ /**
47
+ * Denotes custom distance metric between the two given vectors.
48
+ *
49
+ * @export
50
+ * @type DistanceMetric
51
+ * @param {any} v1 The first vector.
52
+ * @param {any} v2 The second vector.
53
+ * @return {number} Distance between these two vectors.
54
+ */
55
+ export declare type DistanceMetric = (v1: any, v2: any) => (number);
56
+ //# sourceMappingURL=type-declarations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type_declarations.d.ts","sourceRoot":"","sources":["type_declarations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,MAAO,SAAQ,YAAY;CAAG;AAE3C;;;;;;GAMG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,MAAM,CAAC;CAAG;AAE5C;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,MAAM;CAAG;AAE1C;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,KAAK,CAAC,GAAG,CAAC;CAAG;AAE1C;;;;;GAKG;AACH,oBAAY,OAAO,GAAG;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,CAAC;AAE5C;;;;;;;;GAQG;AACF,oBAAY,cAAc,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"type-declarations.d.ts","sourceRoot":"","sources":["type-declarations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,MAAO,SAAQ,YAAY;CAAG;AAE3C;;;;;;GAMG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,MAAM,CAAC;CAAG;AAE5C;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,MAAM;CAAG;AAE1C;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,KAAK,CAAC,GAAG,CAAC;CAAG;AAE1C;;;;;GAKG;AACH,oBAAY,OAAO,GAAG;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,CAAC;AAE5C;;;;;;;;GAQG;AACF,oBAAY,cAAc,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Denotes a vector of floating poit values.
3
+ *
4
+ * @export
5
+ * @class Vector
6
+ * @extends {Float32Array}
7
+ */
8
+ export class Vector extends Float32Array {
9
+ }
10
+ /**
11
+ * Denotes a two-dimensional matrix.
12
+ *
13
+ * @export
14
+ * @class Matrix
15
+ * @extends {Array<Vector>}
16
+ */
17
+ export class Matrix extends Array {
18
+ }
19
+ /**
20
+ * Denotes cartesian coordinates.
21
+ *
22
+ * @export
23
+ * @class Coordinates
24
+ * @extends {Matrix}
25
+ */
26
+ export class Coordinates extends Matrix {
27
+ }
28
+ /**
29
+ * Denotes an array of arbitrary-typed vectors.
30
+ *
31
+ * @export
32
+ * @class Vectors
33
+ * @extends {Array<any>}
34
+ */
35
+ export class Vectors extends Array {
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kZWNsYXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlLWRlY2xhcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sTUFBTyxTQUFRLFlBQVk7Q0FBRztBQUUzQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sTUFBTyxTQUFRLEtBQWE7Q0FBRztBQUU1Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLE1BQU07Q0FBRztBQUUxQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sT0FBUSxTQUFRLEtBQVU7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVub3RlcyBhIHZlY3RvciBvZiBmbG9hdGluZyBwb2l0IHZhbHVlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVmVjdG9yXG4gKiBAZXh0ZW5kcyB7RmxvYXQzMkFycmF5fVxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yIGV4dGVuZHMgRmxvYXQzMkFycmF5IHt9XG5cbi8qKlxuICogRGVub3RlcyBhIHR3by1kaW1lbnNpb25hbCBtYXRyaXguXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIE1hdHJpeFxuICogQGV4dGVuZHMge0FycmF5PFZlY3Rvcj59XG4gKi9cbmV4cG9ydCBjbGFzcyBNYXRyaXggZXh0ZW5kcyBBcnJheTxWZWN0b3I+IHt9XG5cbi8qKlxuICogRGVub3RlcyBjYXJ0ZXNpYW4gY29vcmRpbmF0ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIENvb3JkaW5hdGVzXG4gKiBAZXh0ZW5kcyB7TWF0cml4fVxuICovXG5leHBvcnQgY2xhc3MgQ29vcmRpbmF0ZXMgZXh0ZW5kcyBNYXRyaXgge31cblxuLyoqXG4gKiBEZW5vdGVzIGFuIGFycmF5IG9mIGFyYml0cmFyeS10eXBlZCB2ZWN0b3JzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBWZWN0b3JzXG4gKiBAZXh0ZW5kcyB7QXJyYXk8YW55Pn1cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvcnMgZXh0ZW5kcyBBcnJheTxhbnk+IHt9XG5cbi8qKlxuICogRGVub3RlcyBhIGRpY3Rpb25hcnkgY29udGFpbmluZyBmdW5jdGlvbiBvcHRpb25zLlxuICpcbiAqIEBleHBvcnRcbiAqIEB0eXBlIE9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgT3B0aW9ucyA9IHtbbmFtZTogc3RyaW5nXTogYW55fTtcblxuLyoqXG4gKiBEZW5vdGVzIGN1c3RvbSBkaXN0YW5jZSBtZXRyaWMgYmV0d2VlbiB0aGUgdHdvIGdpdmVuIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQHR5cGUgRGlzdGFuY2VNZXRyaWNcbiAqIEBwYXJhbSB7YW55fSB2MSBUaGUgZmlyc3QgdmVjdG9yLlxuICogQHBhcmFtIHthbnl9IHYyIFRoZSBzZWNvbmQgdmVjdG9yLlxuICogQHJldHVybiB7bnVtYmVyfSBEaXN0YW5jZSBiZXR3ZWVuIHRoZXNlIHR3byB2ZWN0b3JzLlxuICovXG4gZXhwb3J0IHR5cGUgRGlzdGFuY2VNZXRyaWMgPSAodjE6IGFueSwgdjI6IGFueSkgPT4gKG51bWJlcik7XG4iXX0=