@datagrok-libraries/bio 5.11.0 → 5.12.0
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/.eslintrc.json +50 -49
- package/package.json +1 -1
- package/src/monomer-works/monomer-utils.d.ts +2 -2
- package/src/monomer-works/monomer-utils.d.ts.map +1 -1
- package/src/monomer-works/monomer-utils.js +1 -1
- package/src/monomer-works/monomer-works.d.ts +11 -1
- package/src/monomer-works/monomer-works.d.ts.map +1 -1
- package/src/monomer-works/monomer-works.js +10 -3
- package/src/monomer-works/to-atomic-level.d.ts +10 -0
- package/src/monomer-works/to-atomic-level.d.ts.map +1 -1
- package/src/monomer-works/to-atomic-level.js +203 -81
- package/src/utils/const.d.ts +4 -0
- package/src/utils/const.d.ts.map +1 -1
- package/src/utils/const.js +1 -1
- package/src/utils/tree-helper.d.ts +5 -3
- package/src/utils/tree-helper.d.ts.map +1 -1
- package/src/utils/tree-helper.js +1 -1
package/.eslintrc.json
CHANGED
|
@@ -1,51 +1,52 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
2
|
+
"env": {
|
|
3
|
+
"browser": true,
|
|
4
|
+
"es2021": true
|
|
5
|
+
},
|
|
6
|
+
"extends": [
|
|
7
|
+
"google"
|
|
8
|
+
],
|
|
9
|
+
"parser": "@typescript-eslint/parser",
|
|
10
|
+
"parserOptions": {
|
|
11
|
+
"ecmaVersion": 12,
|
|
12
|
+
"sourceType": "module"
|
|
13
|
+
},
|
|
14
|
+
"plugins": [
|
|
15
|
+
"@typescript-eslint"
|
|
16
|
+
],
|
|
17
|
+
"rules": {
|
|
18
|
+
"indent": [
|
|
19
|
+
"error",
|
|
20
|
+
2
|
|
21
|
+
],
|
|
22
|
+
"max-len": [
|
|
23
|
+
"error",
|
|
24
|
+
120
|
|
25
|
+
],
|
|
26
|
+
"no-unused-vars": "warn",
|
|
27
|
+
"require-jsdoc": "off",
|
|
28
|
+
"valid-jsdoc": "warn",
|
|
29
|
+
"spaced-comment": "off",
|
|
30
|
+
"linebreak-style": "off",
|
|
31
|
+
"curly": [
|
|
32
|
+
"error",
|
|
33
|
+
"multi-or-nest",
|
|
34
|
+
"consistent"
|
|
35
|
+
],
|
|
36
|
+
"brace-style": [
|
|
37
|
+
"error",
|
|
38
|
+
"1tbs",
|
|
39
|
+
{
|
|
40
|
+
"allowSingleLine": true
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"block-spacing": [2, "always"],
|
|
44
|
+
"comma-dangle": ["error", {
|
|
45
|
+
"arrays": "only-multiline",
|
|
46
|
+
"functions": "never",
|
|
47
|
+
"objects": "only-multiline",
|
|
48
|
+
"imports": "only-multiline"
|
|
49
|
+
}],
|
|
50
|
+
"guard-for-in": "off"
|
|
51
|
+
}
|
|
51
52
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as DG from 'datagrok-api/dg';
|
|
2
|
-
import {
|
|
3
|
-
export declare function readLibrary(path: string, fileName: string): Promise<
|
|
2
|
+
import { IMonomerLib } from '../types/index';
|
|
3
|
+
export declare function readLibrary(path: string, fileName: string): Promise<IMonomerLib>;
|
|
4
4
|
export declare function encodeMonomers(col: DG.Column): DG.Column | null;
|
|
5
5
|
export declare function getMolfilesFromSeq(col: DG.Column, monomersLibObject: any[]): any[][] | null;
|
|
6
6
|
export declare function getMolfilesFromSingleSeq(cell: DG.Cell, monomersLibObject: any[]): any[][] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAQtC,OAAO,EAAC,WAAW,EAAU,MAAM,gBAAgB,CAAC;AAKpD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAiDtF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE"}
|
|
@@ -178,4 +178,4 @@ export function createJsonMonomerLibFromSdf(table) {
|
|
|
178
178
|
}
|
|
179
179
|
return resultLib;
|
|
180
180
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLElBQUksTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLEVBQ1EsZ0JBQWdCLEVBQWlCLHFCQUFxQixFQUNuRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFDekQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsV0FBVyxFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBRXZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFbkcsTUFBTSxVQUFnQixXQUFXLENBQUMsSUFBWSxFQUFFLFFBQWdCOztRQUM5RCxJQUFJLElBQUksR0FBVSxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO1lBQy9FLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBRXpCLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFD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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5cbmltcG9ydCB7XG4gIEhFTE1fRklFTERTLCBIRUxNX0NPUkVfRklFTERTLCBSR1JPVVBfRklFTERTLCBqc29uU2RmTW9ub21lckxpYkRpY3QsXG4gIE1PTk9NRVJfRU5DT0RFX01BWCwgTU9OT01FUl9FTkNPREVfTUlOLCBTREZfTU9OT01FUl9OQU1FXG59IGZyb20gJy4uL3V0aWxzL2NvbnN0JztcbmltcG9ydCB7Z2V0U3BsaXR0ZXIsIFNwbGl0dGVyRnVuYywgVEFHU30gZnJvbSAnLi4vdXRpbHMvbWFjcm9tb2xlY3VsZSc7XG5pbXBvcnQge01vbm9tZXJ9IGZyb20gJy4uL3R5cGVzL2luZGV4JztcbmltcG9ydCB7IE1vbm9tZXJMaWIgfSBmcm9tICcuL21vbm9tZXItbGliJztcblxuY29uc3QgZXhwZWN0ZWRNb25vbWVyRGF0YSA9IFsnc3ltYm9sJywgJ25hbWUnLCAnbW9sZmlsZScsICdyZ3JvdXBzJywgJ3BvbHltZXJUeXBlJywgJ21vbm9tZXJUeXBlJ107XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkTGlicmFyeShwYXRoOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPE1vbm9tZXJMaWI+IHtcbiAgbGV0IGRhdGE6IGFueVtdID0gW107XG4gIGxldCBmaWxlO1xuICBsZXQgZGZTZGY7XG4gIGxldCBmaWxlU291cmNlID0gbmV3IERHLkZpbGVTb3VyY2UocGF0aCk7XG4gIGlmIChmaWxlTmFtZS5lbmRzV2l0aCgnLnNkZicpKSB7XG4gICAgY29uc3QgZnVuY0xpc3Q6IERHLkZ1bmNbXSA9IERHLkZ1bmMuZmluZCh7cGFja2FnZTogJ0NoZW0nLCBuYW1lOiAnaW1wb3J0U2RmJ30pO1xuICAgIGlmIChmdW5jTGlzdC5sZW5ndGggPT09IDEpIHtcblxuICAgICAgZmlsZSA9IGF3YWl0IGZpbGVTb3VyY2UucmVhZEFzQnl0ZXMoZmlsZU5hbWUpO1xuICAgICAgZGZTZGYgPSBhd2FpdCBncm9rLmZ1bmN0aW9ucy5jYWxsKCdDaGVtOmltcG9ydFNkZicsIHtieXRlczogZmlsZX0pO1xuICAgICAgZGF0YSA9IGNyZWF0ZUpzb25Nb25vbWVyTGliRnJvbVNkZihkZlNkZlswXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdyb2suc2hlbGwud2FybmluZygnQ2hlbSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IGZpbGVTb3VyY2UucmVhZEFzVGV4dChmaWxlTmFtZSk7XG4gICAgZGF0YSA9IEpTT04ucGFyc2UoZmlsZSk7XG4gIH1cblxuICBsZXQgbW9ub21lcnM6IHsgW3R5cGU6IHN0cmluZ106IHsgW25hbWU6IHN0cmluZ106IE1vbm9tZXIgfSB9ID0ge307XG4gIGNvbnN0IHR5cGVzOiBzdHJpbmdbXSA9IFtdO1xuICAvL2dyb3VwIG1vbm9tZXJzIGJ5IHRoZWlyIHR5cGVcbiAgZGF0YS5mb3JFYWNoKG1vbm9tZXIgPT4ge1xuICAgIGxldCBtb25vbWVyQWRkOiBNb25vbWVyID0ge1xuICAgICAgJ3N5bWJvbCc6IG1vbm9tZXJbJ3N5bWJvbCddLFxuICAgICAgJ25hbWUnOiBtb25vbWVyWyduYW1lJ10sXG4gICAgICAnbmF0dXJhbEFuYWxvZyc6IG1vbm9tZXJbJ25hdHVyYWxBbmFsb2cnXSxcbiAgICAgICdtb2xmaWxlJzogbW9ub21lclsnbW9sZmlsZSddLFxuICAgICAgJ3Jncm91cHMnOiBtb25vbWVyWydyZ3JvdXBzJ10sXG4gICAgICAncG9seW1lclR5cGUnOiBtb25vbWVyWydwb2x5bWVyVHlwZSddLFxuICAgICAgJ21vbm9tZXJUeXBlJzogbW9ub21lclsnbW9ub21lclR5cGUnXSxcbiAgICAgICdkYXRhJzoge31cbiAgICB9O1xuXG4gICAgT2JqZWN0LmtleXMobW9ub21lcikuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmICghZXhwZWN0ZWRNb25vbWVyRGF0YS5pbmNsdWRlcyhwcm9wKSlcbiAgICAgICAgbW9ub21lckFkZC5kYXRhW3Byb3BdID0gbW9ub21lcltwcm9wXTtcbiAgICB9KTtcbiAgICBcbiAgICBpZiAoIXR5cGVzLmluY2x1ZGVzKG1vbm9tZXJbJ3BvbHltZXJUeXBlJ10pKSB7XG4gICAgICBtb25vbWVyc1ttb25vbWVyWydwb2x5bWVyVHlwZSddXSA9IHt9O1xuICAgICAgdHlwZXMucHVzaChtb25vbWVyWydwb2x5bWVyVHlwZSddKTtcbiAgICB9IFxuXG4gICAgbW9ub21lcnNbbW9ub21lclsncG9seW1lclR5cGUnXV1bbW9ub21lclsnc3ltYm9sJ11dID0gbW9ub21lckFkZDtcbiAgfSk7XG5cbiAgcmV0dXJuIG5ldyBNb25vbWVyTGliKG1vbm9tZXJzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZU1vbm9tZXJzKGNvbDogREcuQ29sdW1uKTogREcuQ29sdW1uIHwgbnVsbCB7XG4gIGxldCBlbmNvZGVTeW1ib2wgPSBNT05PTUVSX0VOQ09ERV9NSU47XG4gIGNvbnN0IG1vbm9tZXJTeW1ib2xEaWN0OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIGNvbnN0IHVuaXRzID0gY29sLnRhZ3NbREcuVEFHUy5VTklUU107XG4gIGNvbnN0IHNlcCA9IGNvbC5nZXRUYWcoVEFHUy5zZXBhcmF0b3IpO1xuICBjb25zdCBzcGxpdHRlckZ1bmM6IFNwbGl0dGVyRnVuYyA9IGdldFNwbGl0dGVyKHVuaXRzLCBzZXApO1xuICBjb25zdCBlbmNvZGVkU3RyaW5nQXJyYXkgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2wubGVuZ3RoOyArK2kpIHtcbiAgICBsZXQgZW5jb2RlZE1vbm9tZXJTdHIgPSAnJztcbiAgICBjb25zdCBtb25vbWVycyA9IHNwbGl0dGVyRnVuYyhjb2wuZ2V0KGkpKTtcbiAgICBtb25vbWVycy5mb3JFYWNoKChtKSA9PiB7XG4gICAgICBpZiAoIW1vbm9tZXJTeW1ib2xEaWN0W21dKSB7XG4gICAgICAgIGlmIChlbmNvZGVTeW1ib2wgPiBNT05PTUVSX0VOQ09ERV9NQVgpIHtcbiAgICAgICAgICBncm9rLnNoZWxsLmVycm9yKGBOb3QgZW5vdWdoIHN5bWJvbHMgdG8gZW5jb2RlIG1vbm9tZXJzYCk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbW9ub21lclN5bWJvbERpY3RbbV0gPSBlbmNvZGVTeW1ib2w7XG4gICAgICAgIGVuY29kZVN5bWJvbCsrO1xuICAgICAgfVxuICAgICAgZW5jb2RlZE1vbm9tZXJTdHIgKz0gU3RyaW5nLmZyb21Db2RlUG9pbnQobW9ub21lclN5bWJvbERpY3RbbV0pO1xuICAgIH0pO1xuICAgIGVuY29kZWRTdHJpbmdBcnJheS5wdXNoKGVuY29kZWRNb25vbWVyU3RyKTtcbiAgfVxuICByZXR1cm4gREcuQ29sdW1uLmZyb21TdHJpbmdzKCdlbmNvZGVkTW9sZWN1bGVzJywgZW5jb2RlZFN0cmluZ0FycmF5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vbGZpbGVzRnJvbVNlcShjb2w6IERHLkNvbHVtbiwgbW9ub21lcnNMaWJPYmplY3Q6IGFueVtdKTogYW55W11bXSB8IG51bGwge1xuICBjb25zdCB1bml0cyA9IGNvbC50YWdzW0RHLlRBR1MuVU5JVFNdO1xuICBjb25zdCBzZXAgPSBjb2wuZ2V0VGFnKCdzZXBhcmF0b3InKTtcbiAgY29uc3Qgc3BsaXR0ZXJGdW5jOiBTcGxpdHRlckZ1bmMgPSBnZXRTcGxpdHRlcih1bml0cywgc2VwKTtcbiAgY29uc3QgbW9ub21lcnNEaWN0ID0gY3JlYXRlTW9tb21lcnNNb2xEaWN0KG1vbm9tZXJzTGliT2JqZWN0KTtcbiAgY29uc3QgbW9sRmlsZXMgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2wubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBtYWNyb01vbGVjdWxlID0gY29sLmdldChpKTtcbiAgICBjb25zdCBtb25vbWVycyA9IHNwbGl0dGVyRnVuYyhtYWNyb01vbGVjdWxlKTtcbiAgICBjb25zdCBtb2xGaWxlc0ZvclNlcSA9IFtdO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgbW9ub21lcnMubGVuZ3RoOyArK2opIHtcbiAgICAgIGlmIChtb25vbWVyc1tqXSkge1xuICAgICAgICBpZiAoIW1vbm9tZXJzRGljdFttb25vbWVyc1tqXV0pIHtcbiAgICAgICAgICBncm9rLnNoZWxsLndhcm5pbmcoYE1vbm9tZXIgJHttb25vbWVyc1tqXX0gaXMgbWlzc2luZyBpbiBIRUxNIGxpYnJhcnkuIFN0cnVjdHVyZSBjYW5ub3QgYmUgY3JlYXRlZGApO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdoYXQgaXMgdGhlIHJlYXNvbiBvZiBkb3VibGUgY29udmVyc2lvbj9cbiAgICAgICAgbW9sRmlsZXNGb3JTZXEucHVzaChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG1vbm9tZXJzRGljdFttb25vbWVyc1tqXV0pKSk7XG4gICAgICB9XG4gICAgfVxuICAgIG1vbEZpbGVzLnB1c2gobW9sRmlsZXNGb3JTZXEpO1xuICB9XG4gIHJldHVybiBtb2xGaWxlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vbGZpbGVzRnJvbVNpbmdsZVNlcShjZWxsOiBERy5DZWxsLCBtb25vbWVyc0xpYk9iamVjdDogYW55W10pOiBhbnlbXVtdIHwgbnVsbCB7XG4gIGNvbnN0IHVuaXRzID0gY2VsbC5jb2x1bW4udGFnc1tERy5UQUdTLlVOSVRTXTtcbiAgY29uc3Qgc2VwID0gY2VsbC5jb2x1bW4hLmdldFRhZygnc2VwYXJhdG9yJyk7XG4gIGNvbnN0IHNwbGl0dGVyRnVuYzogU3BsaXR0ZXJGdW5jID0gZ2V0U3BsaXR0ZXIodW5pdHMsIHNlcCk7XG4gIGNvbnN0IG1vbm9tZXJzRGljdCA9IGNyZWF0ZU1vbW9tZXJzTW9sRGljdChtb25vbWVyc0xpYk9iamVjdCk7XG4gIGNvbnN0IG1vbEZpbGVzID0gW107XG4gIGNvbnN0IG1hY3JvTW9sZWN1bGUgPSBjZWxsLnZhbHVlO1xuICBjb25zdCBtb25vbWVycyA9IHNwbGl0dGVyRnVuYyhtYWNyb01vbGVjdWxlKTtcbiAgY29uc3QgbW9sRmlsZXNGb3JTZXEgPSBbXTtcbiAgZm9yIChsZXQgaiA9IDA7IGogPCBtb25vbWVycy5sZW5ndGg7ICsraikge1xuICAgIGlmIChtb25vbWVyc1tqXSkge1xuICAgICAgaWYgKCFtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSB7XG4gICAgICAgIGdyb2suc2hlbGwud2FybmluZyhgTW9ub21lciAke21vbm9tZXJzW2pdfSBpcyBtaXNzaW5nIGluIEhFTE0gbGlicmFyeS4gU3RydWN0dXJlIGNhbm5vdCBiZSBjcmVhdGVkYCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgbW9sRmlsZXNGb3JTZXEucHVzaChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG1vbm9tZXJzRGljdFttb25vbWVyc1tqXV0pKSk7XG4gICAgfVxuICB9XG4gIG1vbEZpbGVzLnB1c2gobW9sRmlsZXNGb3JTZXEpO1xuICByZXR1cm4gbW9sRmlsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb21vbWVyc01vbERpY3QobGliOiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYW55IH0ge1xuICBjb25zdCBkaWN0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gIGxpYi5mb3JFYWNoKChpdCkgPT4ge1xuICAgIGlmIChpdFsncG9seW1lclR5cGUnXSA9PT0gJ1BFUFRJREUnKSB7XG4gICAgICBjb25zdCBtb25vbWVyT2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICBIRUxNX0NPUkVfRklFTERTLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgIG1vbm9tZXJPYmplY3RbZmllbGRdID0gaXRbZmllbGRdO1xuICAgICAgfSk7XG4gICAgICBkaWN0W2l0W0hFTE1fRklFTERTLlNZTUJPTF1dID0gbW9ub21lck9iamVjdDtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gZGljdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUpzb25Nb25vbWVyTGliRnJvbVNkZih0YWJsZTogREcuRGF0YUZyYW1lKTogYW55IHtcbiAgY29uc3QgcmVzdWx0TGliID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGUucm93Q291bnQ7IGkrKykge1xuICAgIGNvbnN0IG1vbm9tZXI6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYW55IH0gPSB7fTtcbiAgICBPYmplY3Qua2V5cyhqc29uU2RmTW9ub21lckxpYkRpY3QpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKGtleSA9PT0gSEVMTV9GSUVMRFMuU1lNQk9MKSB7XG4gICAgICAgIGNvbnN0IG1vbm9tZXJTeW1ib2wgPSB0YWJsZS5nZXQoanNvblNkZk1vbm9tZXJMaWJEaWN0W2tleV0sIGkpO1xuICAgICAgICBtb25vbWVyW2tleV0gPSBtb25vbWVyU3ltYm9sID09PSAnLicgPyB0YWJsZS5nZXQoU0RGX01PTk9NRVJfTkFNRSwgaSkgOiBtb25vbWVyU3ltYm9sO1xuICAgICAgfSBlbHNlIGlmIChrZXkgPT09IEhFTE1fRklFTERTLlJHUk9VUFMpIHtcbiAgICAgICAgY29uc3Qgcmdyb3VwcyA9IHRhYmxlLmdldChqc29uU2RmTW9ub21lckxpYkRpY3Rba2V5XSwgaSkuc3BsaXQoJ1xcbicpO1xuICAgICAgICBjb25zdCBqc29uUmdyb3VwczogYW55W10gPSBbXTtcbiAgICAgICAgcmdyb3Vwcy5mb3JFYWNoKChnOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCByZ3JvdXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYW55IH0gPSB7fTtcbiAgICAgICAgICBjb25zdCBhbHRBdG9tID0gZy5zdWJzdHJpbmcoZy5sYXN0SW5kZXhPZignXScpICsgMSk7XG4gICAgICAgICAgY29uc3QgcmFkaWNhbE51bSA9IGcubWF0Y2goL1xcW1IoXFxkKylcXF0vKSFbMV07XG4gICAgICAgICAgcmdyb3VwW1JHUk9VUF9GSUVMRFMuQ0FQX0dST1VQX1NNSUxFU10gPSBhbHRBdG9tID09PSAnSCcgPyBgWyo6JHtyYWRpY2FsTnVtfV1bSF1gIDogYE9bKjoke3JhZGljYWxOdW19XWA7XG4gICAgICAgICAgcmdyb3VwW1JHUk9VUF9GSUVMRFMuQUxURVJfSURdID0gYWx0QXRvbSA9PT0gJ0gnID8gYFIke3JhZGljYWxOdW19LUhgIDogYFIke3JhZGljYWxOdW19LU9IYDtcbiAgICAgICAgICByZ3JvdXBbUkdST1VQX0ZJRUxEUy5DQVBfR1JPVVBfTkFNRV0gPSBhbHRBdG9tID09PSAnSCcgPyBgSGAgOiBgT0hgO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkxBQkVMXSA9IGBSJHtyYWRpY2FsTnVtfWA7XG4gICAgICAgICAganNvblJncm91cHMucHVzaChyZ3JvdXApO1xuICAgICAgICB9KTtcbiAgICAgICAgbW9ub21lcltrZXldID0ganNvblJncm91cHM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoKGpzb25TZGZNb25vbWVyTGliRGljdCBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9KVtrZXldKVxuICAgICAgICAgIG1vbm9tZXJba2V5XSA9IHRhYmxlLmdldCgoanNvblNkZk1vbm9tZXJMaWJEaWN0IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgYW55IH0pW2tleV0sIGkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJlc3VsdExpYi5wdXNoKG1vbm9tZXIpO1xuICB9XG4gIHJldHVybiByZXN1bHRMaWI7XG59XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLElBQUksTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLEVBQ1EsZ0JBQWdCLEVBQWlCLHFCQUFxQixFQUNuRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFDekQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsV0FBVyxFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBRXZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFbkcsTUFBTSxVQUFnQixXQUFXLENBQUMsSUFBWSxFQUFFLFFBQWdCOztRQUM5RCxJQUFJLElBQUksR0FBVSxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO1lBQy9FLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBRXpCLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFD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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5cbmltcG9ydCB7XG4gIEhFTE1fRklFTERTLCBIRUxNX0NPUkVfRklFTERTLCBSR1JPVVBfRklFTERTLCBqc29uU2RmTW9ub21lckxpYkRpY3QsXG4gIE1PTk9NRVJfRU5DT0RFX01BWCwgTU9OT01FUl9FTkNPREVfTUlOLCBTREZfTU9OT01FUl9OQU1FXG59IGZyb20gJy4uL3V0aWxzL2NvbnN0JztcbmltcG9ydCB7Z2V0U3BsaXR0ZXIsIFNwbGl0dGVyRnVuYywgVEFHU30gZnJvbSAnLi4vdXRpbHMvbWFjcm9tb2xlY3VsZSc7XG5pbXBvcnQge0lNb25vbWVyTGliLCBNb25vbWVyfSBmcm9tICcuLi90eXBlcy9pbmRleCc7XG5pbXBvcnQge01vbm9tZXJMaWJ9IGZyb20gJy4vbW9ub21lci1saWInO1xuXG5jb25zdCBleHBlY3RlZE1vbm9tZXJEYXRhID0gWydzeW1ib2wnLCAnbmFtZScsICdtb2xmaWxlJywgJ3Jncm91cHMnLCAncG9seW1lclR5cGUnLCAnbW9ub21lclR5cGUnXTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlYWRMaWJyYXJ5KHBhdGg6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8SU1vbm9tZXJMaWI+IHtcbiAgbGV0IGRhdGE6IGFueVtdID0gW107XG4gIGxldCBmaWxlO1xuICBsZXQgZGZTZGY7XG4gIGxldCBmaWxlU291cmNlID0gbmV3IERHLkZpbGVTb3VyY2UocGF0aCk7XG4gIGlmIChmaWxlTmFtZS5lbmRzV2l0aCgnLnNkZicpKSB7XG4gICAgY29uc3QgZnVuY0xpc3Q6IERHLkZ1bmNbXSA9IERHLkZ1bmMuZmluZCh7cGFja2FnZTogJ0NoZW0nLCBuYW1lOiAnaW1wb3J0U2RmJ30pO1xuICAgIGlmIChmdW5jTGlzdC5sZW5ndGggPT09IDEpIHtcblxuICAgICAgZmlsZSA9IGF3YWl0IGZpbGVTb3VyY2UucmVhZEFzQnl0ZXMoZmlsZU5hbWUpO1xuICAgICAgZGZTZGYgPSBhd2FpdCBncm9rLmZ1bmN0aW9ucy5jYWxsKCdDaGVtOmltcG9ydFNkZicsIHtieXRlczogZmlsZX0pO1xuICAgICAgZGF0YSA9IGNyZWF0ZUpzb25Nb25vbWVyTGliRnJvbVNkZihkZlNkZlswXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdyb2suc2hlbGwud2FybmluZygnQ2hlbSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IGZpbGVTb3VyY2UucmVhZEFzVGV4dChmaWxlTmFtZSk7XG4gICAgZGF0YSA9IEpTT04ucGFyc2UoZmlsZSk7XG4gIH1cblxuICBsZXQgbW9ub21lcnM6IHsgW3R5cGU6IHN0cmluZ106IHsgW25hbWU6IHN0cmluZ106IE1vbm9tZXIgfSB9ID0ge307XG4gIGNvbnN0IHR5cGVzOiBzdHJpbmdbXSA9IFtdO1xuICAvL2dyb3VwIG1vbm9tZXJzIGJ5IHRoZWlyIHR5cGVcbiAgZGF0YS5mb3JFYWNoKG1vbm9tZXIgPT4ge1xuICAgIGxldCBtb25vbWVyQWRkOiBNb25vbWVyID0ge1xuICAgICAgJ3N5bWJvbCc6IG1vbm9tZXJbJ3N5bWJvbCddLFxuICAgICAgJ25hbWUnOiBtb25vbWVyWyduYW1lJ10sXG4gICAgICAnbmF0dXJhbEFuYWxvZyc6IG1vbm9tZXJbJ25hdHVyYWxBbmFsb2cnXSxcbiAgICAgICdtb2xmaWxlJzogbW9ub21lclsnbW9sZmlsZSddLFxuICAgICAgJ3Jncm91cHMnOiBtb25vbWVyWydyZ3JvdXBzJ10sXG4gICAgICAncG9seW1lclR5cGUnOiBtb25vbWVyWydwb2x5bWVyVHlwZSddLFxuICAgICAgJ21vbm9tZXJUeXBlJzogbW9ub21lclsnbW9ub21lclR5cGUnXSxcbiAgICAgICdkYXRhJzoge31cbiAgICB9O1xuXG4gICAgT2JqZWN0LmtleXMobW9ub21lcikuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmICghZXhwZWN0ZWRNb25vbWVyRGF0YS5pbmNsdWRlcyhwcm9wKSlcbiAgICAgICAgbW9ub21lckFkZC5kYXRhW3Byb3BdID0gbW9ub21lcltwcm9wXTtcbiAgICB9KTtcblxuICAgIGlmICghdHlwZXMuaW5jbHVkZXMobW9ub21lclsncG9seW1lclR5cGUnXSkpIHtcbiAgICAgIG1vbm9tZXJzW21vbm9tZXJbJ3BvbHltZXJUeXBlJ11dID0ge307XG4gICAgICB0eXBlcy5wdXNoKG1vbm9tZXJbJ3BvbHltZXJUeXBlJ10pO1xuICAgIH1cblxuICAgIG1vbm9tZXJzW21vbm9tZXJbJ3BvbHltZXJUeXBlJ11dW21vbm9tZXJbJ3N5bWJvbCddXSA9IG1vbm9tZXJBZGQ7XG4gIH0pO1xuXG4gIHJldHVybiBuZXcgTW9ub21lckxpYihtb25vbWVycyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVNb25vbWVycyhjb2w6IERHLkNvbHVtbik6IERHLkNvbHVtbiB8IG51bGwge1xuICBsZXQgZW5jb2RlU3ltYm9sID0gTU9OT01FUl9FTkNPREVfTUlOO1xuICBjb25zdCBtb25vbWVyU3ltYm9sRGljdDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBjb25zdCB1bml0cyA9IGNvbC50YWdzW0RHLlRBR1MuVU5JVFNdO1xuICBjb25zdCBzZXAgPSBjb2wuZ2V0VGFnKFRBR1Muc2VwYXJhdG9yKTtcbiAgY29uc3Qgc3BsaXR0ZXJGdW5jOiBTcGxpdHRlckZ1bmMgPSBnZXRTcGxpdHRlcih1bml0cywgc2VwKTtcbiAgY29uc3QgZW5jb2RlZFN0cmluZ0FycmF5ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGVuY29kZWRNb25vbWVyU3RyID0gJyc7XG4gICAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMoY29sLmdldChpKSk7XG4gICAgbW9ub21lcnMuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgaWYgKCFtb25vbWVyU3ltYm9sRGljdFttXSkge1xuICAgICAgICBpZiAoZW5jb2RlU3ltYm9sID4gTU9OT01FUl9FTkNPREVfTUFYKSB7XG4gICAgICAgICAgZ3Jvay5zaGVsbC5lcnJvcihgTm90IGVub3VnaCBzeW1ib2xzIHRvIGVuY29kZSBtb25vbWVyc2ApO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIG1vbm9tZXJTeW1ib2xEaWN0W21dID0gZW5jb2RlU3ltYm9sO1xuICAgICAgICBlbmNvZGVTeW1ib2wrKztcbiAgICAgIH1cbiAgICAgIGVuY29kZWRNb25vbWVyU3RyICs9IFN0cmluZy5mcm9tQ29kZVBvaW50KG1vbm9tZXJTeW1ib2xEaWN0W21dKTtcbiAgICB9KTtcbiAgICBlbmNvZGVkU3RyaW5nQXJyYXkucHVzaChlbmNvZGVkTW9ub21lclN0cik7XG4gIH1cbiAgcmV0dXJuIERHLkNvbHVtbi5mcm9tU3RyaW5ncygnZW5jb2RlZE1vbGVjdWxlcycsIGVuY29kZWRTdHJpbmdBcnJheSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2xmaWxlc0Zyb21TZXEoY29sOiBERy5Db2x1bW4sIG1vbm9tZXJzTGliT2JqZWN0OiBhbnlbXSk6IGFueVtdW10gfCBudWxsIHtcbiAgY29uc3QgdW5pdHMgPSBjb2wudGFnc1tERy5UQUdTLlVOSVRTXTtcbiAgY29uc3Qgc2VwID0gY29sLmdldFRhZygnc2VwYXJhdG9yJyk7XG4gIGNvbnN0IHNwbGl0dGVyRnVuYzogU3BsaXR0ZXJGdW5jID0gZ2V0U3BsaXR0ZXIodW5pdHMsIHNlcCk7XG4gIGNvbnN0IG1vbm9tZXJzRGljdCA9IGNyZWF0ZU1vbW9tZXJzTW9sRGljdChtb25vbWVyc0xpYk9iamVjdCk7XG4gIGNvbnN0IG1vbEZpbGVzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sLmxlbmd0aDsgKytpKSB7XG4gICAgY29uc3QgbWFjcm9Nb2xlY3VsZSA9IGNvbC5nZXQoaSk7XG4gICAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMobWFjcm9Nb2xlY3VsZSk7XG4gICAgY29uc3QgbW9sRmlsZXNGb3JTZXEgPSBbXTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1vbm9tZXJzLmxlbmd0aDsgKytqKSB7XG4gICAgICBpZiAobW9ub21lcnNbal0pIHtcbiAgICAgICAgaWYgKCFtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSB7XG4gICAgICAgICAgZ3Jvay5zaGVsbC53YXJuaW5nKGBNb25vbWVyICR7bW9ub21lcnNbal19IGlzIG1pc3NpbmcgaW4gSEVMTSBsaWJyYXJ5LiBTdHJ1Y3R1cmUgY2Fubm90IGJlIGNyZWF0ZWRgKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICAvLyB3aGF0IGlzIHRoZSByZWFzb24gb2YgZG91YmxlIGNvbnZlcnNpb24/XG4gICAgICAgIG1vbEZpbGVzRm9yU2VxLnB1c2goSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSkpO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2xGaWxlcy5wdXNoKG1vbEZpbGVzRm9yU2VxKTtcbiAgfVxuICByZXR1cm4gbW9sRmlsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2xmaWxlc0Zyb21TaW5nbGVTZXEoY2VsbDogREcuQ2VsbCwgbW9ub21lcnNMaWJPYmplY3Q6IGFueVtdKTogYW55W11bXSB8IG51bGwge1xuICBjb25zdCB1bml0cyA9IGNlbGwuY29sdW1uLnRhZ3NbREcuVEFHUy5VTklUU107XG4gIGNvbnN0IHNlcCA9IGNlbGwuY29sdW1uIS5nZXRUYWcoJ3NlcGFyYXRvcicpO1xuICBjb25zdCBzcGxpdHRlckZ1bmM6IFNwbGl0dGVyRnVuYyA9IGdldFNwbGl0dGVyKHVuaXRzLCBzZXApO1xuICBjb25zdCBtb25vbWVyc0RpY3QgPSBjcmVhdGVNb21vbWVyc01vbERpY3QobW9ub21lcnNMaWJPYmplY3QpO1xuICBjb25zdCBtb2xGaWxlcyA9IFtdO1xuICBjb25zdCBtYWNyb01vbGVjdWxlID0gY2VsbC52YWx1ZTtcbiAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMobWFjcm9Nb2xlY3VsZSk7XG4gIGNvbnN0IG1vbEZpbGVzRm9yU2VxID0gW107XG4gIGZvciAobGV0IGogPSAwOyBqIDwgbW9ub21lcnMubGVuZ3RoOyArK2opIHtcbiAgICBpZiAobW9ub21lcnNbal0pIHtcbiAgICAgIGlmICghbW9ub21lcnNEaWN0W21vbm9tZXJzW2pdXSkge1xuICAgICAgICBncm9rLnNoZWxsLndhcm5pbmcoYE1vbm9tZXIgJHttb25vbWVyc1tqXX0gaXMgbWlzc2luZyBpbiBIRUxNIGxpYnJhcnkuIFN0cnVjdHVyZSBjYW5ub3QgYmUgY3JlYXRlZGApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIG1vbEZpbGVzRm9yU2VxLnB1c2goSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSkpO1xuICAgIH1cbiAgfVxuICBtb2xGaWxlcy5wdXNoKG1vbEZpbGVzRm9yU2VxKTtcbiAgcmV0dXJuIG1vbEZpbGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9tb21lcnNNb2xEaWN0KGxpYjogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9IHtcbiAgY29uc3QgZGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBhbnkgfSA9IHt9O1xuICBsaWIuZm9yRWFjaCgoaXQpID0+IHtcbiAgICBpZiAoaXRbJ3BvbHltZXJUeXBlJ10gPT09ICdQRVBUSURFJykge1xuICAgICAgY29uc3QgbW9ub21lck9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgSEVMTV9DT1JFX0ZJRUxEUy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBtb25vbWVyT2JqZWN0W2ZpZWxkXSA9IGl0W2ZpZWxkXTtcbiAgICAgIH0pO1xuICAgICAgZGljdFtpdFtIRUxNX0ZJRUxEUy5TWU1CT0xdXSA9IG1vbm9tZXJPYmplY3Q7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRpY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVKc29uTW9ub21lckxpYkZyb21TZGYodGFibGU6IERHLkRhdGFGcmFtZSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdExpYiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLnJvd0NvdW50OyBpKyspIHtcbiAgICBjb25zdCBtb25vbWVyOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gICAgT2JqZWN0LmtleXMoanNvblNkZk1vbm9tZXJMaWJEaWN0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChrZXkgPT09IEhFTE1fRklFTERTLlNZTUJPTCkge1xuICAgICAgICBjb25zdCBtb25vbWVyU3ltYm9sID0gdGFibGUuZ2V0KGpzb25TZGZNb25vbWVyTGliRGljdFtrZXldLCBpKTtcbiAgICAgICAgbW9ub21lcltrZXldID0gbW9ub21lclN5bWJvbCA9PT0gJy4nID8gdGFibGUuZ2V0KFNERl9NT05PTUVSX05BTUUsIGkpIDogbW9ub21lclN5bWJvbDtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBIRUxNX0ZJRUxEUy5SR1JPVVBTKSB7XG4gICAgICAgIGNvbnN0IHJncm91cHMgPSB0YWJsZS5nZXQoanNvblNkZk1vbm9tZXJMaWJEaWN0W2tleV0sIGkpLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgY29uc3QganNvblJncm91cHM6IGFueVtdID0gW107XG4gICAgICAgIHJncm91cHMuZm9yRWFjaCgoZzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3Qgcmdyb3VwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gICAgICAgICAgY29uc3QgYWx0QXRvbSA9IGcuc3Vic3RyaW5nKGcubGFzdEluZGV4T2YoJ10nKSArIDEpO1xuICAgICAgICAgIGNvbnN0IHJhZGljYWxOdW0gPSBnLm1hdGNoKC9cXFtSKFxcZCspXFxdLykhWzFdO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkNBUF9HUk9VUF9TTUlMRVNdID0gYWx0QXRvbSA9PT0gJ0gnID8gYFsqOiR7cmFkaWNhbE51bX1dW0hdYCA6IGBPWyo6JHtyYWRpY2FsTnVtfV1gO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkFMVEVSX0lEXSA9IGFsdEF0b20gPT09ICdIJyA/IGBSJHtyYWRpY2FsTnVtfS1IYCA6IGBSJHtyYWRpY2FsTnVtfS1PSGA7XG4gICAgICAgICAgcmdyb3VwW1JHUk9VUF9GSUVMRFMuQ0FQX0dST1VQX05BTUVdID0gYWx0QXRvbSA9PT0gJ0gnID8gYEhgIDogYE9IYDtcbiAgICAgICAgICByZ3JvdXBbUkdST1VQX0ZJRUxEUy5MQUJFTF0gPSBgUiR7cmFkaWNhbE51bX1gO1xuICAgICAgICAgIGpzb25SZ3JvdXBzLnB1c2gocmdyb3VwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1vbm9tZXJba2V5XSA9IGpzb25SZ3JvdXBzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKChqc29uU2RmTW9ub21lckxpYkRpY3QgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBhbnkgfSlba2V5XSlcbiAgICAgICAgICBtb25vbWVyW2tleV0gPSB0YWJsZS5nZXQoKGpzb25TZGZNb25vbWVyTGliRGljdCBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9KVtrZXldLCBpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXN1bHRMaWIucHVzaChtb25vbWVyKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0TGliO1xufVxuIl19
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { IMonomerLib } from '../types';
|
|
2
|
+
/** Hypothetical interface to convert mol block notation.
|
|
3
|
+
* It should be placed in the chem-meta package, and have an implementation in the Chem package.
|
|
4
|
+
* So dependency of MonomerWorks on molfile conversion operation becomes explicit.
|
|
5
|
+
*/
|
|
6
|
+
export interface IMolfileConverter {
|
|
7
|
+
convertV2000toV3000(src: string): string;
|
|
8
|
+
convertV3000toV2000(src: string): string;
|
|
9
|
+
}
|
|
2
10
|
export declare class MonomerWorks {
|
|
3
|
-
monomerLib
|
|
11
|
+
private monomerLib;
|
|
4
12
|
constructor(monomerLib: IMonomerLib);
|
|
5
13
|
getCappedRotatedMonomer(monomerType: string, monomerName: string): string | null;
|
|
14
|
+
/** Consumes a list of monomer symbols and restores molfileV3K (SequenceTranslator/ST version) */
|
|
15
|
+
getAtomicLevel(monomers: string[], polymerType: string): string | null;
|
|
6
16
|
}
|
|
7
17
|
//# sourceMappingURL=monomer-works.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAU,MAAM,UAAU,CAAC;AAG9C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAc;gBAIpB,UAAU,EAAE,WAAW;IAM5B,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQvF,iGAAiG;IAC1F,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAK9E"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import { sequenceToMolFileST } from './to-atomic-level';
|
|
1
2
|
export class MonomerWorks {
|
|
2
|
-
|
|
3
|
+
//private molfileConverter: IMolfileConverter;
|
|
4
|
+
constructor(monomerLib /*, molfileConverter: IMolfileConverter*/) {
|
|
3
5
|
this.monomerLib = monomerLib;
|
|
6
|
+
//this.molfileConverter = molfileConverter;
|
|
4
7
|
}
|
|
5
8
|
//types according to Monomer possible
|
|
6
9
|
getCappedRotatedMonomer(monomerType, monomerName) {
|
|
7
10
|
const monomer = this.monomerLib.getMonomer(monomerType, monomerName);
|
|
8
11
|
if (monomer)
|
|
9
|
-
return monomer.molfile; //TODO cap
|
|
12
|
+
return monomer.molfile; //TODO cap
|
|
10
13
|
return null;
|
|
11
14
|
}
|
|
15
|
+
/** Consumes a list of monomer symbols and restores molfileV3K (SequenceTranslator/ST version) */
|
|
16
|
+
getAtomicLevel(monomers, polymerType) {
|
|
17
|
+
return sequenceToMolFileST(monomers, this.monomerLib.getMonomerMolsByType(polymerType));
|
|
18
|
+
}
|
|
12
19
|
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci13b3Jrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItd29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFldEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsOENBQThDO0lBRTlDLFlBQVksVUFBdUIsQ0FBQSx5Q0FBeUM7UUFDMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsMkNBQTJDO0lBQzdDLENBQUM7SUFFRCxxQ0FBcUM7SUFDOUIsdUJBQXVCLENBQUMsV0FBbUIsRUFBRSxXQUFtQjtRQUNyRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckUsSUFBSSxPQUFPO1lBQ1QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVTtRQUVwQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpR0FBaUc7SUFDMUYsY0FBYyxDQUFDLFFBQWtCLEVBQUUsV0FBbUI7UUFDM0QsT0FBTyxtQkFBbUIsQ0FDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFFLENBQzdELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcbmltcG9ydCAqIGFzIHVpIGZyb20gJ2RhdGFncm9rLWFwaS91aSc7XG5pbXBvcnQgKiBhcyBERyBmcm9tICdkYXRhZ3Jvay1hcGkvZGcnO1xuaW1wb3J0IHtzZXF1ZW5jZVRvTW9sRmlsZVNUfSBmcm9tICcuL3RvLWF0b21pYy1sZXZlbCc7XG5cbmltcG9ydCB7SU1vbm9tZXJMaWIsIE1vbm9tZXJ9IGZyb20gJy4uL3R5cGVzJztcblxuXG4vKiogSHlwb3RoZXRpY2FsIGludGVyZmFjZSB0byBjb252ZXJ0IG1vbCBibG9jayBub3RhdGlvbi5cbiAqIEl0IHNob3VsZCBiZSBwbGFjZWQgaW4gdGhlIGNoZW0tbWV0YSBwYWNrYWdlLCBhbmQgaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgQ2hlbSBwYWNrYWdlLlxuICogU28gZGVwZW5kZW5jeSBvZiBNb25vbWVyV29ya3Mgb24gbW9sZmlsZSBjb252ZXJzaW9uIG9wZXJhdGlvbiBiZWNvbWVzIGV4cGxpY2l0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElNb2xmaWxlQ29udmVydGVyIHtcbiAgY29udmVydFYyMDAwdG9WMzAwMChzcmM6IHN0cmluZyk6IHN0cmluZztcblxuICBjb252ZXJ0VjMwMDB0b1YyMDAwKHNyYzogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTW9ub21lcldvcmtzIHtcbiAgcHJpdmF0ZSBtb25vbWVyTGliOiBJTW9ub21lckxpYjtcblxuICAvL3ByaXZhdGUgbW9sZmlsZUNvbnZlcnRlcjogSU1vbGZpbGVDb252ZXJ0ZXI7XG5cbiAgY29uc3RydWN0b3IobW9ub21lckxpYjogSU1vbm9tZXJMaWIvKiwgbW9sZmlsZUNvbnZlcnRlcjogSU1vbGZpbGVDb252ZXJ0ZXIqLykge1xuICAgIHRoaXMubW9ub21lckxpYiA9IG1vbm9tZXJMaWI7XG4gICAgLy90aGlzLm1vbGZpbGVDb252ZXJ0ZXIgPSBtb2xmaWxlQ29udmVydGVyO1xuICB9XG5cbiAgLy90eXBlcyBhY2NvcmRpbmcgdG8gTW9ub21lciBwb3NzaWJsZVxuICBwdWJsaWMgZ2V0Q2FwcGVkUm90YXRlZE1vbm9tZXIobW9ub21lclR5cGU6IHN0cmluZywgbW9ub21lck5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IG1vbm9tZXIgPSB0aGlzLm1vbm9tZXJMaWIuZ2V0TW9ub21lcihtb25vbWVyVHlwZSwgbW9ub21lck5hbWUpO1xuICAgIGlmIChtb25vbWVyKVxuICAgICAgcmV0dXJuIG1vbm9tZXIubW9sZmlsZTsgLy9UT0RPIGNhcFxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQ29uc3VtZXMgYSBsaXN0IG9mIG1vbm9tZXIgc3ltYm9scyBhbmQgcmVzdG9yZXMgbW9sZmlsZVYzSyAoU2VxdWVuY2VUcmFuc2xhdG9yL1NUIHZlcnNpb24pICovXG4gIHB1YmxpYyBnZXRBdG9taWNMZXZlbChtb25vbWVyczogc3RyaW5nW10sIHBvbHltZXJUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gc2VxdWVuY2VUb01vbEZpbGVTVChcbiAgICAgIG1vbm9tZXJzLCB0aGlzLm1vbm9tZXJMaWIuZ2V0TW9ub21lck1vbHNCeVR5cGUocG9seW1lclR5cGUpIVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,4 +4,14 @@ export declare function _toAtomicLevel(df: DG.DataFrame, macroMolCol: DG.Column<
|
|
|
4
4
|
export declare function parseCapGroups(rGroupObjList: any[]): string[];
|
|
5
5
|
export declare function getSymbolToCappedMolfileMap(monomersLibList: any[]): Promise<Map<string, string> | undefined>;
|
|
6
6
|
export declare function capPeptideMonomer(monomer: Monomer): string;
|
|
7
|
+
/** Currently the ST has peculiar types of monomers, which do not fit the HELM
|
|
8
|
+
* Core library types (in particular, the RNA monomers are backbones only,
|
|
9
|
+
* and presented in Molfile V3K format).
|
|
10
|
+
* TODO: integrate this part with the above functionality
|
|
11
|
+
* Custom _toAtomicLevel version for SequenceTranslator
|
|
12
|
+
*/
|
|
13
|
+
export declare function sequenceToMolFileST(monomerSeq: string[], // sequence of values of 'symbol' field for monomers
|
|
14
|
+
symbolToMolfileV3KObj: {
|
|
15
|
+
[symbol: string]: string;
|
|
16
|
+
}): string | null;
|
|
7
17
|
//# sourceMappingURL=to-atomic-level.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKtC,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAuGjC,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,GACvE,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKtC,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAuGjC,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CA8Df;AAqOD,wBAAgB,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAoB7D;AAw+BD,wBAAsB,2BAA2B,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA6BlH;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmB1D;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EAAE,oDAAoD;AAC1E,qBAAqB,EAAE;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAClD,MAAM,GAAG,IAAI,CAkBf"}
|