@riverscapes/common 2.0.21 → 2.0.22
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/README.md +5 -0
- package/dist/classes/ProjectXML.js +0 -5
- package/dist/classes/ProjectXML.js.map +1 -1
- package/dist/gen/gqlSchema.js +1 -1
- package/dist/gen/gqlSchema.js.map +1 -1
- package/dist/gen/schema.types.d.ts +24 -6
- package/dist/gen/schema.types.js +36 -35
- package/dist/gen/schema.types.js.map +1 -1
- package/dist/schema.graphql +23 -18
- package/dist_esnext/classes/BusinessLogicXML.d.ts +20 -0
- package/dist_esnext/classes/BusinessLogicXML.js +119 -0
- package/dist_esnext/classes/BusinessLogicXML.js.map +1 -0
- package/dist_esnext/classes/ProjectXML.d.ts +30 -0
- package/dist_esnext/classes/ProjectXML.js +375 -0
- package/dist_esnext/classes/ProjectXML.js.map +1 -0
- package/dist_esnext/classes/index.d.ts +2 -0
- package/dist_esnext/classes/index.js +3 -0
- package/dist_esnext/classes/index.js.map +1 -0
- package/dist_esnext/classes/mock/BusinessLogic1_parsed.d.ts +173 -0
- package/dist_esnext/classes/mock/BusinessLogic1_parsed.js +252 -0
- package/dist_esnext/classes/mock/BusinessLogic1_parsed.js.map +1 -0
- package/dist_esnext/constants.d.ts +56 -0
- package/dist_esnext/constants.js +76 -0
- package/dist_esnext/constants.js.map +1 -0
- package/dist_esnext/gen/gqlSchema.d.ts +2 -0
- package/dist_esnext/gen/gqlSchema.js +8 -0
- package/dist_esnext/gen/gqlSchema.js.map +1 -0
- package/dist_esnext/gen/schema.types.d.ts +2795 -0
- package/dist_esnext/gen/schema.types.js +274 -0
- package/dist_esnext/gen/schema.types.js.map +1 -0
- package/dist_esnext/index.d.ts +10 -0
- package/dist_esnext/index.js +11 -0
- package/dist_esnext/index.js.map +1 -0
- package/dist_esnext/lib/dates.d.ts +2 -0
- package/dist_esnext/lib/dates.js +31 -0
- package/dist_esnext/lib/dates.js.map +1 -0
- package/dist_esnext/lib/rsPaths.d.ts +8 -0
- package/dist_esnext/lib/rsPaths.js +143 -0
- package/dist_esnext/lib/rsPaths.js.map +1 -0
- package/dist_esnext/lib/tiles.d.ts +4 -0
- package/dist_esnext/lib/tiles.js +35 -0
- package/dist_esnext/lib/tiles.js.map +1 -0
- package/dist_esnext/lib/util.d.ts +6 -0
- package/dist_esnext/lib/util.js +43 -0
- package/dist_esnext/lib/util.js.map +1 -0
- package/dist_esnext/lib/xml.d.ts +6 -0
- package/dist_esnext/lib/xml.js +89 -0
- package/dist_esnext/lib/xml.js.map +1 -0
- package/dist_esnext/types.d.ts +71 -0
- package/dist_esnext/types.js +6 -0
- package/dist_esnext/types.js.map +1 -0
- package/package.json +16 -15
- package/tsconfig.esnext.json +9 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import xPathLib from 'xpath';
|
|
11
|
+
import { DOMParser } from '@xmldom/xmldom';
|
|
12
|
+
import { ProjectTreeLayerTypeEnum } from '../gen/schema.types';
|
|
13
|
+
import { getChildNodeText, getNodeAttrDict } from '../lib/xml';
|
|
14
|
+
var BusinessLogic = (function () {
|
|
15
|
+
function BusinessLogic(projectType, xmlRaw) {
|
|
16
|
+
var _this = this;
|
|
17
|
+
this.parse = function () {
|
|
18
|
+
_this.projectNode = xPathLib.select1('Project', _this.dom);
|
|
19
|
+
_this.name = getChildNodeText('Name', _this.projectNode);
|
|
20
|
+
_this.description = getChildNodeText('Description', _this.projectNode);
|
|
21
|
+
_this.projectType = getChildNodeText('ProjectType', _this.projectNode);
|
|
22
|
+
_this.node = _this.parseNode(xPathLib.select1('Node', _this.projectNode));
|
|
23
|
+
_this.views = _this.parseViews();
|
|
24
|
+
_this.defaultView = _this.getDefaultView();
|
|
25
|
+
};
|
|
26
|
+
this.parseNode = function (inNode, isRepeater) {
|
|
27
|
+
if (isRepeater === void 0) { isRepeater = false; }
|
|
28
|
+
var _a = getNodeAttrDict(inNode), id = _a.id, label = _a.label, xpath = _a.xpath, xpathlabel = _a.xpathlabel, symbology = _a.symbology, datatype = _a.type, transparency = _a.transparency;
|
|
29
|
+
var blnode = {
|
|
30
|
+
id: id,
|
|
31
|
+
label: label,
|
|
32
|
+
xpath: xpath,
|
|
33
|
+
xpathlabel: xpathlabel,
|
|
34
|
+
symbology: symbology,
|
|
35
|
+
isRepeater: isRepeater,
|
|
36
|
+
};
|
|
37
|
+
if (datatype) {
|
|
38
|
+
blnode.datatype = Object.values(ProjectTreeLayerTypeEnum).find(function (val) { return val === datatype.toUpperCase(); });
|
|
39
|
+
}
|
|
40
|
+
if (transparency)
|
|
41
|
+
blnode.transparency = parseInt(transparency, 10);
|
|
42
|
+
var children = xPathLib.select1('Children', inNode);
|
|
43
|
+
var tileService = getChildNodeText('Tileservice', inNode);
|
|
44
|
+
if (tileService && tileService.length > 0)
|
|
45
|
+
blnode.tileservice = tileService;
|
|
46
|
+
if (children) {
|
|
47
|
+
var childrenAttr = getNodeAttrDict(children);
|
|
48
|
+
var nodes = xPathLib.select('Node', children);
|
|
49
|
+
blnode.collapsed = Boolean(childrenAttr && childrenAttr.collapsed && childrenAttr.collapsed.toLowerCase() === 'true');
|
|
50
|
+
var repeaters = xPathLib.select('Repeater', children);
|
|
51
|
+
blnode.children = __spreadArray(__spreadArray([], nodes.map(function (n) { return _this.parseNode(n, false); }), true), repeaters.map(function (n) { return _this.parseNode(n, true); }), true);
|
|
52
|
+
}
|
|
53
|
+
else if (isRepeater) {
|
|
54
|
+
blnode.children = [_this.parseNode(xPathLib.select1('Node', inNode))];
|
|
55
|
+
}
|
|
56
|
+
for (var i in blnode) {
|
|
57
|
+
if (typeof blnode[i] === 'undefined') {
|
|
58
|
+
delete blnode[i];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return blnode;
|
|
62
|
+
};
|
|
63
|
+
this.getDefaultView = function () {
|
|
64
|
+
var viewsNode = xPathLib.select1('Views', _this.projectNode);
|
|
65
|
+
if (!viewsNode)
|
|
66
|
+
return;
|
|
67
|
+
var defaultViewId = viewsNode.getAttribute('default');
|
|
68
|
+
if (!defaultViewId) {
|
|
69
|
+
var firstNode = xPathLib.select1('View', viewsNode);
|
|
70
|
+
defaultViewId = firstNode && firstNode.getAttribute('id');
|
|
71
|
+
}
|
|
72
|
+
return defaultViewId;
|
|
73
|
+
};
|
|
74
|
+
this.getSymbologies = function () {
|
|
75
|
+
var nodeElements = _this.dom.getElementsByTagName('Node').filter(function (node) { return node.getAttribute('symbology'); });
|
|
76
|
+
var flatList = [];
|
|
77
|
+
for (var i = 0; i < nodeElements.length; i++) {
|
|
78
|
+
var node = nodeElements[i];
|
|
79
|
+
if (node.getAttribute('symbology') === 'none' || node.getAttribute('symbology').trim().length === 0)
|
|
80
|
+
continue;
|
|
81
|
+
var parentXPaths = [];
|
|
82
|
+
var parent_1 = node.parentNode;
|
|
83
|
+
while (parent_1 && parent_1.tagName !== 'Document') {
|
|
84
|
+
if (parent_1.getAttribute && parent_1.getAttribute('xpath'))
|
|
85
|
+
parentXPaths.unshift(parent_1.getAttribute('xpath'));
|
|
86
|
+
parent_1 = parent_1.parentNode;
|
|
87
|
+
}
|
|
88
|
+
if (node.getAttribute('xpath'))
|
|
89
|
+
parentXPaths.push(node.getAttribute('xpath'));
|
|
90
|
+
var symbology = node.getAttribute('symbology');
|
|
91
|
+
flatList.push([parentXPaths.join('/'), symbology]);
|
|
92
|
+
}
|
|
93
|
+
return flatList;
|
|
94
|
+
};
|
|
95
|
+
this.parseViews = function () {
|
|
96
|
+
var viewNodes = xPathLib.select('Views/View', _this.projectNode);
|
|
97
|
+
return viewNodes.map(function (vNode) {
|
|
98
|
+
return {
|
|
99
|
+
id: vNode.getAttribute('id'),
|
|
100
|
+
name: vNode.getAttribute('name'),
|
|
101
|
+
description: getChildNodeText('Description', vNode),
|
|
102
|
+
layers: xPathLib.select('Layers/Layer', vNode).map(function (lyrNode) {
|
|
103
|
+
var attrs = getNodeAttrDict(lyrNode);
|
|
104
|
+
return {
|
|
105
|
+
id: attrs.id,
|
|
106
|
+
visible: !(attrs.visible && attrs.visible.toLowerCase() === 'false'),
|
|
107
|
+
};
|
|
108
|
+
}),
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
this.projectType = projectType;
|
|
113
|
+
this.dom = new DOMParser().parseFromString(xmlRaw, 'text/xml');
|
|
114
|
+
this.parse();
|
|
115
|
+
}
|
|
116
|
+
return BusinessLogic;
|
|
117
|
+
}());
|
|
118
|
+
export { BusinessLogic };
|
|
119
|
+
//# sourceMappingURL=BusinessLogicXML.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BusinessLogicXML.js","sourceRoot":"","sources":["../../src/classes/BusinessLogicXML.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DatasetInput, MetaData, MetaDataInput, ProjectInput, QaqcEventInput } from '../gen/schema.types';
|
|
2
|
+
import { WarehouseEl } from '../types';
|
|
3
|
+
export declare class ProjectXML {
|
|
4
|
+
dom: any;
|
|
5
|
+
projNode: Node;
|
|
6
|
+
constructor(xmlStr: string);
|
|
7
|
+
_toString: () => string;
|
|
8
|
+
setNodeContent: (node: Element, content: string) => void;
|
|
9
|
+
setTextNode: (parent: Element, TagName: string, content?: string) => void;
|
|
10
|
+
addWarehouseEl: (newTag: WarehouseEl) => void;
|
|
11
|
+
removeWarehouseEl: () => void;
|
|
12
|
+
setProjectName: (newName: string) => void;
|
|
13
|
+
setProjectDescription: (newDescription?: string) => void;
|
|
14
|
+
setProjectSummary: (newSummary?: string) => void;
|
|
15
|
+
setProjectCitation: (newCitation?: string) => void;
|
|
16
|
+
setProjectMeta: (newMeta: MetaData[]) => void;
|
|
17
|
+
getWarehouseEl: () => WarehouseEl | null;
|
|
18
|
+
getProjectType: () => string | null;
|
|
19
|
+
getBoundsPath: () => string | null;
|
|
20
|
+
getProjectMeta: () => MetaDataInput[];
|
|
21
|
+
getProjectInput: () => ProjectInput;
|
|
22
|
+
getQAQCEvents: () => QaqcEventInput[];
|
|
23
|
+
getDatasetInputs: () => DatasetInput[];
|
|
24
|
+
}
|
|
25
|
+
interface mapFilesToDatasetReturn {
|
|
26
|
+
filesMap: Record<string, string> | null;
|
|
27
|
+
errors: string[];
|
|
28
|
+
}
|
|
29
|
+
export declare const mapFilesToDataset: (fileList: string[], datasets: DatasetInput[]) => mapFilesToDatasetReturn;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
|
+
if (ar || !(i in from)) {
|
|
15
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
16
|
+
ar[i] = from[i];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
|
+
};
|
|
21
|
+
import xpath from 'xpath';
|
|
22
|
+
import { DOMParser, XMLSerializer as XMLDomSerializer } from '@xmldom/xmldom';
|
|
23
|
+
import { DatasetTypeEnum, } from '../gen/schema.types';
|
|
24
|
+
import { DasetSidecarFiles } from '../constants';
|
|
25
|
+
import { escapeRegExp, uniq } from 'lodash';
|
|
26
|
+
import { getChildNodeAttr, getChildNodeText, getMetaFromNode, getNodeText } from '../lib/xml';
|
|
27
|
+
import { DSXpaths, getRSXPath, localPathParse, rsXpath2Obj } from '../lib/rsPaths';
|
|
28
|
+
var ProjectXML = (function () {
|
|
29
|
+
function ProjectXML(xmlStr) {
|
|
30
|
+
var _this = this;
|
|
31
|
+
this._toString = function () {
|
|
32
|
+
var serializer = new XMLDomSerializer();
|
|
33
|
+
var xmlStr = serializer.serializeToString(_this.dom);
|
|
34
|
+
return xmlStr;
|
|
35
|
+
};
|
|
36
|
+
this.setNodeContent = function (node, content) {
|
|
37
|
+
if (content.includes('<') || content.includes('&')) {
|
|
38
|
+
var cdata = node.ownerDocument.createCDATASection(content.trim());
|
|
39
|
+
node.textContent = '';
|
|
40
|
+
node.appendChild(cdata);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
node.textContent = content;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
this.setTextNode = function (parent, TagName, content) {
|
|
47
|
+
var childNode = xpath.select1(TagName, parent);
|
|
48
|
+
var newContentExists = content && content.trim().length > 0;
|
|
49
|
+
var oldNodeExists = Boolean(childNode);
|
|
50
|
+
console.log({
|
|
51
|
+
childNode: childNode,
|
|
52
|
+
newContentExists: newContentExists,
|
|
53
|
+
oldNodeExists: oldNodeExists,
|
|
54
|
+
});
|
|
55
|
+
if (newContentExists) {
|
|
56
|
+
if (!oldNodeExists) {
|
|
57
|
+
var newNode = _this.dom.createElement(TagName);
|
|
58
|
+
_this.setNodeContent(newNode, content);
|
|
59
|
+
parent.appendChild(newNode);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
_this.setNodeContent(childNode, content);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
if (oldNodeExists) {
|
|
67
|
+
parent.removeChild(childNode);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
this.addWarehouseEl = function (newTag) {
|
|
74
|
+
var whNode = xpath.select1('Project/Warehouse', _this.dom);
|
|
75
|
+
if (!whNode) {
|
|
76
|
+
var projectNode = xpath.select1('Project', _this.dom);
|
|
77
|
+
whNode = _this.dom.createElement('Warehouse');
|
|
78
|
+
projectNode.appendChild(whNode);
|
|
79
|
+
var projectTypeNode = xpath.select1('ProjectType', projectNode);
|
|
80
|
+
projectNode.insertBefore(whNode, projectTypeNode.nextSibling);
|
|
81
|
+
}
|
|
82
|
+
Object.entries(newTag).forEach(function (_a) {
|
|
83
|
+
var key = _a[0], value = _a[1];
|
|
84
|
+
whNode.setAttribute(key, value);
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
this.removeWarehouseEl = function () {
|
|
88
|
+
var whNode = xpath.select1("Project/Warehouse", _this.dom);
|
|
89
|
+
if (whNode) {
|
|
90
|
+
var projectNode = xpath.select1('Project', _this.dom);
|
|
91
|
+
projectNode.removeChild(whNode);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
this.setProjectName = function (newName) {
|
|
95
|
+
var nameNode = xpath.select1('Project/Name', _this.dom);
|
|
96
|
+
if (!newName || newName.trim().length < 3)
|
|
97
|
+
throw new Error('Project name must be at least 3 characters');
|
|
98
|
+
if (!nameNode)
|
|
99
|
+
throw new Error('Could not find Name node');
|
|
100
|
+
_this.setNodeContent(nameNode, newName.trim());
|
|
101
|
+
};
|
|
102
|
+
this.setProjectDescription = function (newDescription) {
|
|
103
|
+
var proj = xpath.select1('Project', _this.dom);
|
|
104
|
+
_this.setTextNode(proj, 'Description', newDescription);
|
|
105
|
+
};
|
|
106
|
+
this.setProjectSummary = function (newSummary) {
|
|
107
|
+
var proj = xpath.select1('Project', _this.dom);
|
|
108
|
+
_this.setTextNode(proj, 'Summary', newSummary);
|
|
109
|
+
};
|
|
110
|
+
this.setProjectCitation = function (newCitation) {
|
|
111
|
+
var proj = xpath.select1('Project', _this.dom);
|
|
112
|
+
_this.setTextNode(proj, 'Citation', newCitation);
|
|
113
|
+
};
|
|
114
|
+
this.setProjectMeta = function (newMeta) {
|
|
115
|
+
var projectNode = xpath.select1('Project', _this.dom);
|
|
116
|
+
var metaParentNode = xpath.select1('MetaData', projectNode);
|
|
117
|
+
var newKeys = newMeta.map(function (d) { return d.key; });
|
|
118
|
+
if (newKeys.length !== new Set(newKeys).size) {
|
|
119
|
+
throw new Error("Duplicate keys in metadata: ".concat(newKeys.filter(function (v, i, a) { return a.indexOf(v) !== i; })));
|
|
120
|
+
}
|
|
121
|
+
var metaNodes = xpath.select('Meta', metaParentNode);
|
|
122
|
+
metaNodes.forEach(function (metaNode) {
|
|
123
|
+
metaParentNode.removeChild(metaNode);
|
|
124
|
+
});
|
|
125
|
+
newMeta.forEach(function (_a) {
|
|
126
|
+
var key = _a.key, value = _a.value, ext = _a.ext, locked = _a.locked, type = _a.type;
|
|
127
|
+
var metaNode = _this.dom.createElement('Meta');
|
|
128
|
+
if (!key || key.length === 0)
|
|
129
|
+
throw new Error('MetaData key cannot be empty');
|
|
130
|
+
if (!value || value.length === 0)
|
|
131
|
+
throw new Error('MetaData value cannot be empty');
|
|
132
|
+
metaNode.setAttribute('name', key);
|
|
133
|
+
if (type && type.toLowerCase() !== 'string')
|
|
134
|
+
metaNode.setAttribute('type', type.toLowerCase());
|
|
135
|
+
if (ext)
|
|
136
|
+
metaNode.setAttribute('ext', ext);
|
|
137
|
+
if (locked)
|
|
138
|
+
metaNode.setAttribute('locked', locked ? 'true' : 'false');
|
|
139
|
+
_this.setNodeContent(metaNode, value);
|
|
140
|
+
metaParentNode.appendChild(metaNode);
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
this.getWarehouseEl = function () {
|
|
144
|
+
var whNode = xpath.select1('Project/Warehouse', _this.dom);
|
|
145
|
+
if (!whNode)
|
|
146
|
+
return null;
|
|
147
|
+
var attrNode = Array.from(whNode.attributes).reduce(function (acc, it) {
|
|
148
|
+
var _a;
|
|
149
|
+
return (__assign(__assign({}, acc), (_a = {}, _a[it.name] = it.value.trim(), _a)));
|
|
150
|
+
}, {});
|
|
151
|
+
return attrNode;
|
|
152
|
+
};
|
|
153
|
+
this.getProjectType = function () {
|
|
154
|
+
var whNode = xpath.select1('Project/ProjectType', _this.dom);
|
|
155
|
+
if (!whNode)
|
|
156
|
+
return null;
|
|
157
|
+
return whNode.textContent.trim().toLowerCase();
|
|
158
|
+
};
|
|
159
|
+
this.getBoundsPath = function () {
|
|
160
|
+
var nameNode = xpath.select1('Project/ProjectBounds', _this.dom);
|
|
161
|
+
if (!nameNode)
|
|
162
|
+
return null;
|
|
163
|
+
else
|
|
164
|
+
return getChildNodeText('Path', nameNode);
|
|
165
|
+
};
|
|
166
|
+
this.getProjectMeta = function () { return getMetaFromNode(_this.projNode); };
|
|
167
|
+
this.getProjectInput = function () {
|
|
168
|
+
var projectType = _this.getProjectType();
|
|
169
|
+
if (!projectType)
|
|
170
|
+
throw new Error('Could not find ProjectType node');
|
|
171
|
+
return {
|
|
172
|
+
name: getChildNodeText('Name', _this.projNode),
|
|
173
|
+
summary: getChildNodeText('Summary', _this.projNode),
|
|
174
|
+
description: getChildNodeText('Description', _this.projNode),
|
|
175
|
+
citation: getChildNodeText('Citation', _this.projNode),
|
|
176
|
+
meta: getMetaFromNode(_this.projNode),
|
|
177
|
+
datasets: _this.getDatasetInputs(),
|
|
178
|
+
qaqc: _this.getQAQCEvents(),
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
this.getQAQCEvents = function () {
|
|
182
|
+
var qaqcNode = xpath.select1('Project/QAQC', _this.dom);
|
|
183
|
+
if (!qaqcNode)
|
|
184
|
+
return [];
|
|
185
|
+
var qaqcEventNodes = xpath.select('QAQCEvents/QAQCEvent', qaqcNode);
|
|
186
|
+
return qaqcEventNodes.map(function (eventNode) {
|
|
187
|
+
var supportingLinks = xpath.select('Links/URL', eventNode).map(function (linkNode) { return ({
|
|
188
|
+
text: linkNode.getAttribute('text'),
|
|
189
|
+
href: getNodeText(linkNode),
|
|
190
|
+
}); });
|
|
191
|
+
return {
|
|
192
|
+
name: getChildNodeText('Name', eventNode),
|
|
193
|
+
datePerformed: getChildNodeAttr(eventNode, 'dateCreated'),
|
|
194
|
+
state: getChildNodeAttr(eventNode, 'state'),
|
|
195
|
+
summary: getChildNodeText('Summary', eventNode),
|
|
196
|
+
performedBy: getChildNodeText('PerformedBy', eventNode),
|
|
197
|
+
description: getChildNodeText('Description', eventNode),
|
|
198
|
+
supportingLinks: supportingLinks,
|
|
199
|
+
meta: getMetaFromNode(eventNode),
|
|
200
|
+
};
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
this.getDatasetInputs = function () {
|
|
204
|
+
var rawDSXMLNodes = DSXpaths.reduce(function (acc, partPath) { return __spreadArray(__spreadArray([], acc, true), xpath.select("//".concat(partPath), _this.dom), true); }, []);
|
|
205
|
+
var datasets = rawDSXMLNodes.map(function (dsNode) {
|
|
206
|
+
var nameNode = xpath.select1('Name', dsNode);
|
|
207
|
+
if (!nameNode) {
|
|
208
|
+
if (dsNode.tagName === 'CommonDatasetRef')
|
|
209
|
+
return;
|
|
210
|
+
else
|
|
211
|
+
throw new Error("Could not find <Name> node in dataset: \n".concat(dsNode.toString()));
|
|
212
|
+
}
|
|
213
|
+
if (Object.values(DatasetTypeEnum).indexOf(dsNode.tagName) < 0)
|
|
214
|
+
throw new Error("Dataset Type not found: ".concat(dsNode.tagName));
|
|
215
|
+
var dsLayers = [];
|
|
216
|
+
if (dsNode.tagName === DatasetTypeEnum.Geopackage) {
|
|
217
|
+
var layerNodes = xpath.select('Layers/*', dsNode).map(function (el) { return el; });
|
|
218
|
+
dsLayers = layerNodes.map(function (lyrNode) {
|
|
219
|
+
var lyrName = lyrNode.getAttribute('lyrName');
|
|
220
|
+
return {
|
|
221
|
+
name: getChildNodeText('Name', lyrNode),
|
|
222
|
+
summary: getChildNodeText('Summary', lyrNode),
|
|
223
|
+
description: getChildNodeText('Description', lyrNode),
|
|
224
|
+
citation: getChildNodeText('Citation', lyrNode),
|
|
225
|
+
meta: getMetaFromNode(lyrNode),
|
|
226
|
+
lyrName: lyrName,
|
|
227
|
+
};
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
var rsXPath = getRSXPath(dsNode);
|
|
231
|
+
var retVal = {
|
|
232
|
+
name: getChildNodeText('Name', dsNode),
|
|
233
|
+
summary: getChildNodeText('Summary', dsNode),
|
|
234
|
+
description: getChildNodeText('Description', dsNode),
|
|
235
|
+
citation: getChildNodeText('Citation', dsNode),
|
|
236
|
+
meta: getMetaFromNode(dsNode),
|
|
237
|
+
layers: dsLayers,
|
|
238
|
+
extRef: getChildNodeAttr(dsNode, 'extRef'),
|
|
239
|
+
rsXPath: rsXPath,
|
|
240
|
+
localPath: getChildNodeText('Path', dsNode) || 'INVALIDPATH',
|
|
241
|
+
};
|
|
242
|
+
return retVal;
|
|
243
|
+
});
|
|
244
|
+
var filteredDs = datasets.filter(function (ds) { return Boolean(ds); });
|
|
245
|
+
return filteredDs;
|
|
246
|
+
};
|
|
247
|
+
this.dom = new DOMParser().parseFromString(xmlStr.toString(), 'text/xml');
|
|
248
|
+
this.projNode = xpath.select1('Project', this.dom);
|
|
249
|
+
}
|
|
250
|
+
return ProjectXML;
|
|
251
|
+
}());
|
|
252
|
+
export { ProjectXML };
|
|
253
|
+
export var mapFilesToDataset = function (fileList, datasets) {
|
|
254
|
+
var errors = [];
|
|
255
|
+
var filesMap = fileList.reduce(function (acc, fpath) {
|
|
256
|
+
var _a;
|
|
257
|
+
return (__assign(__assign({}, acc), (_a = {}, _a[fpath] = [], _a)));
|
|
258
|
+
}, {});
|
|
259
|
+
var dsMap = datasets.reduce(function (acc, ds) {
|
|
260
|
+
var _a;
|
|
261
|
+
return (__assign(__assign({}, acc), (_a = {}, _a[ds.rsXPath] = [], _a)));
|
|
262
|
+
}, {});
|
|
263
|
+
var datasetMap = datasets.reduce(function (acc, ds) {
|
|
264
|
+
var _a;
|
|
265
|
+
return (__assign(__assign({}, acc), (_a = {}, _a[ds.rsXPath] = ds, _a)));
|
|
266
|
+
}, {});
|
|
267
|
+
var datasetTypeMap = datasets.reduce(function (acc, ds) {
|
|
268
|
+
var _a;
|
|
269
|
+
return (__assign(__assign({}, acc), (_a = {}, _a[ds.rsXPath] = rsXpath2Obj(ds.rsXPath), _a)));
|
|
270
|
+
}, {});
|
|
271
|
+
var filesParsed = fileList
|
|
272
|
+
.map(function (fpath) {
|
|
273
|
+
try {
|
|
274
|
+
return localPathParse(fpath);
|
|
275
|
+
}
|
|
276
|
+
catch (err) {
|
|
277
|
+
errors.push("Path Error: ".concat(err.message));
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
})
|
|
281
|
+
.filter(function (val) { return Boolean(val); });
|
|
282
|
+
var addToMap = function (rsXPath, fPath) {
|
|
283
|
+
dsMap[rsXPath].push(fPath);
|
|
284
|
+
filesMap[fPath].push(rsXPath);
|
|
285
|
+
};
|
|
286
|
+
fileList.forEach(function (fPath, idf) {
|
|
287
|
+
if (!filesParsed[idf])
|
|
288
|
+
return;
|
|
289
|
+
datasets.forEach(function (ds) {
|
|
290
|
+
if (ds.localPath === fPath)
|
|
291
|
+
addToMap(ds.rsXPath, fPath);
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
datasets.forEach(function (_a) {
|
|
295
|
+
var rsXPath = _a.rsXPath, localPath = _a.localPath;
|
|
296
|
+
var fParseParent;
|
|
297
|
+
try {
|
|
298
|
+
fParseParent = localPathParse(localPath);
|
|
299
|
+
}
|
|
300
|
+
catch (_b) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
var escapedNoExt = escapeRegExp(fParseParent.pathNoExt);
|
|
304
|
+
var datasetType = datasetTypeMap[rsXPath].datasetType;
|
|
305
|
+
var unmappedFiles = Object.keys(filesMap).filter(function (k) { return filesMap[k].length === 0; });
|
|
306
|
+
var vectorTypes = [DatasetTypeEnum.Vector];
|
|
307
|
+
var rasterTypes = [DatasetTypeEnum.Dem, DatasetTypeEnum.Raster, DatasetTypeEnum.HillShade];
|
|
308
|
+
if (vectorTypes.includes(datasetType)) {
|
|
309
|
+
if (fParseParent.extLower === 'shp') {
|
|
310
|
+
var testReg_1 = new RegExp("".concat(escapedNoExt, "\\.(").concat(DasetSidecarFiles.shp.join('|'), ")$"));
|
|
311
|
+
unmappedFiles.forEach(function (testFile) {
|
|
312
|
+
if (testFile.match(testReg_1))
|
|
313
|
+
addToMap(rsXPath, testFile);
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
else if (rasterTypes.includes(datasetType)) {
|
|
318
|
+
if (fParseParent.extLower === 'tif') {
|
|
319
|
+
var testReg_2 = new RegExp("".concat(escapedNoExt, "\\.(").concat(DasetSidecarFiles.tif.join('|'), ")$"));
|
|
320
|
+
unmappedFiles.forEach(function (testFile) {
|
|
321
|
+
if (testFile.match(testReg_2))
|
|
322
|
+
addToMap(rsXPath, testFile);
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
if (fParseParent.extLower === 'tiff') {
|
|
326
|
+
var testReg_3 = new RegExp("".concat(escapedNoExt, "\\.(").concat(DasetSidecarFiles.tiff.join('|'), ")$"));
|
|
327
|
+
unmappedFiles.forEach(function (testFile) {
|
|
328
|
+
if (testFile.match(testReg_3))
|
|
329
|
+
addToMap(rsXPath, testFile);
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
var tinTypes = [DatasetTypeEnum.Tin];
|
|
335
|
+
datasets
|
|
336
|
+
.filter(function (_a) {
|
|
337
|
+
var rsXPath = _a.rsXPath;
|
|
338
|
+
var datasetType = datasetTypeMap[rsXPath].datasetType;
|
|
339
|
+
return tinTypes.includes(datasetType);
|
|
340
|
+
})
|
|
341
|
+
.forEach(function (ds) {
|
|
342
|
+
var testReg = new RegExp("".concat(escapeRegExp(ds.localPath), "/.*"));
|
|
343
|
+
Object.keys(filesMap)
|
|
344
|
+
.filter(function (k) { return filesMap[k].length === 0; })
|
|
345
|
+
.forEach(function (testFile) {
|
|
346
|
+
if (testFile.match(testReg))
|
|
347
|
+
addToMap(ds.rsXPath, testFile);
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
Object.keys(dsMap).forEach(function (rsXPath) {
|
|
351
|
+
var fpArr = dsMap[rsXPath];
|
|
352
|
+
var datasetType = datasetTypeMap[rsXPath].datasetType;
|
|
353
|
+
var isFolderType = tinTypes.includes(datasetType);
|
|
354
|
+
if (fpArr.length === 0)
|
|
355
|
+
errors.push("Dataset in XML had no files: ".concat(rsXPath));
|
|
356
|
+
else if (!isFolderType && !fpArr.find(function (fp) { return fp === datasetMap[rsXPath].localPath; })) {
|
|
357
|
+
errors.push("XML Dataset missing file referenced by its <Path>: ".concat(rsXPath, " --> ").concat(datasetMap[rsXPath].localPath));
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
if (errors.length > 0)
|
|
361
|
+
return {
|
|
362
|
+
errors: uniq(errors),
|
|
363
|
+
filesMap: null,
|
|
364
|
+
};
|
|
365
|
+
return {
|
|
366
|
+
filesMap: Object.keys(filesMap)
|
|
367
|
+
.filter(function (fkey) { return filesMap[fkey].length === 1; })
|
|
368
|
+
.reduce(function (acc, fmkey) {
|
|
369
|
+
var _a;
|
|
370
|
+
return (__assign(__assign({}, acc), (_a = {}, _a[fmkey] = filesMap[fmkey][0], _a)));
|
|
371
|
+
}, {}),
|
|
372
|
+
errors: errors,
|
|
373
|
+
};
|
|
374
|
+
};
|
|
375
|
+
//# sourceMappingURL=ProjectXML.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectXML.js","sourceRoot":"","sources":["../../src/classes/ProjectXML.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE7E,OAAO,EAGL,eAAe,GAOhB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAElF;IAIE,oBAAY,MAAc;QAA1B,iBAGC;QAED,cAAS,GAAG;YAEV,IAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAA;YACzC,IAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,KAAI,CAAC,GAAG,CAAC,CAAA;YAErD,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;QAOD,mBAAc,GAAG,UAAC,IAAa,EAAE,OAAe;YAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAElD,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;gBACnE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;gBACrB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;aACxB;iBAAM;gBAEL,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;aAC3B;QACH,CAAC,CAAA;QAED,gBAAW,GAAG,UAAC,MAAe,EAAE,OAAe,EAAE,OAAgB;YAC/D,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAY,CAAA;YAE3D,IAAM,gBAAgB,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;YAC7D,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;YACxC,OAAO,CAAC,GAAG,CAAC;gBACV,SAAS,WAAA;gBACT,gBAAgB,kBAAA;gBAChB,aAAa,eAAA;aACd,CAAC,CAAA;YAEF,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;oBAClB,IAAM,OAAO,GAAG,KAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;oBAC/C,KAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;oBACrC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;iBAC5B;qBAAM;oBACL,KAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;iBACxC;aACF;iBAAM;gBACL,IAAI,aAAa,EAAE;oBACjB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;iBAC9B;qBAAM;iBAEN;aACF;QACH,CAAC,CAAA;QAMD,mBAAc,GAAG,UAAC,MAAmB;YACnC,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACpE,IAAI,CAAC,MAAM,EAAE;gBACX,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;gBACjE,MAAM,GAAG,KAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;gBAC5C,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAE/B,IAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAY,CAAA;gBAC5E,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;aAC9D;YACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;oBAAX,GAAG,QAAA,EAAE,KAAK,QAAA;gBACzC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAMD,sBAAiB,GAAG;YAClB,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACtE,IAAI,MAAM,EAAE;gBACV,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;gBACjE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;aAChC;QACH,CAAC,CAAA;QAED,mBAAc,GAAG,UAAC,OAAe;YAC/B,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACnE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YACxG,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC1D,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAA;QAED,0BAAqB,GAAG,UAAC,cAAuB;YAC9C,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YAC1D,KAAI,CAAC,WAAW,CAAC,IAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;QAClE,CAAC,CAAA;QAED,sBAAiB,GAAG,UAAC,UAAmB;YACtC,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YAC1D,KAAI,CAAC,WAAW,CAAC,IAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QAC1D,CAAC,CAAA;QAED,uBAAkB,GAAG,UAAC,WAAoB;YACxC,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YAC1D,KAAI,CAAC,WAAW,CAAC,IAAe,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QAC5D,CAAC,CAAA;QAED,mBAAc,GAAG,UAAC,OAAmB;YACnC,IAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACjE,IAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAY,CAAA;YAGxE,IAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAA;YACzC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,sCAA+B,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAlB,CAAkB,CAAC,CAAE,CAAC,CAAA;aAClG;YAGD,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAc,CAAA;YACnE,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;gBACzB,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;YAGF,OAAO,CAAC,OAAO,CAAC,UAAC,EAAiC;oBAA/B,GAAG,SAAA,EAAE,KAAK,WAAA,EAAE,GAAG,SAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA;gBAC9C,IAAM,QAAQ,GAAG,KAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gBAC/C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;gBAC7E,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACnF,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;gBAClC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ;oBAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;gBAC9F,IAAI,GAAG;oBAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAC1C,IAAI,MAAM;oBAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBAEtE,KAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBACpC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,mBAAc,GAAG;YACf,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACtE,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YACxB,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAE;;gBAAK,OAAA,uBAAM,GAAG,gBAAG,EAAE,CAAC,IAAI,IAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAG;YAAxC,CAAwC,EAAE,EAAE,CAAC,CAAA;YAChH,OAAO,QAAkC,CAAA;QAC3C,CAAC,CAAA;QAED,mBAAc,GAAG;YACf,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACxE,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YACxB,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAChD,CAAC,CAAA;QAED,kBAAa,GAAG;YACd,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAI,CAAC,GAAG,CAAS,CAAA;YACzE,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAA;;gBACrB,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,mBAAc,GAAG,cAAuB,OAAA,eAAe,CAAC,KAAI,CAAC,QAAQ,CAAC,EAA9B,CAA8B,CAAA;QAEtE,oBAAe,GAAG;YAChB,IAAM,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAA;YACzC,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACpE,OAAO;gBACL,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAI,CAAC,QAAQ,CAAC;gBAC7C,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC;gBACnD,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,KAAI,CAAC,QAAQ,CAAC;gBAC3D,QAAQ,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAI,CAAC,QAAQ,CAAC;gBACrD,IAAI,EAAE,eAAe,CAAC,KAAI,CAAC,QAAQ,CAAC;gBAIpC,QAAQ,EAAE,KAAI,CAAC,gBAAgB,EAAE;gBACjC,IAAI,EAAE,KAAI,CAAC,aAAa,EAAE;aAQ3B,CAAA;QACH,CAAC,CAAA;QASD,kBAAa,GAAG;YACd,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAI,CAAC,GAAG,CAAY,CAAA;YACnE,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAA;YACxB,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE,QAAQ,CAAc,CAAA;YAClF,OAAO,cAAc,CAAC,GAAG,CAAiB,UAAC,SAAS;gBAClD,IAAM,eAAe,GAAW,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,CAAC;oBACtF,IAAI,EAAG,QAAoB,CAAC,YAAY,CAAC,MAAM,CAAC;oBAChD,IAAI,EAAE,WAAW,CAAC,QAAgB,CAAC;iBACpC,CAAC,EAHqF,CAGrF,CAAC,CAAA;gBACH,OAAO;oBACL,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC;oBACzC,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;oBACzD,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAkB;oBAC5D,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;oBAC/C,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC;oBACvD,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC;oBACvD,eAAe,iBAAA;oBACf,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC;iBACjC,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,qBAAgB,GAAG;YACjB,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,QAAQ,IAAK,uCAAI,GAAG,SAAK,KAAK,CAAC,MAAM,CAAC,YAAK,QAAQ,CAAE,EAAE,KAAI,CAAC,GAAG,CAAC,SAAnD,CAAoD,EAAE,EAAE,CAAC,CAAA;YAElH,IAAM,QAAQ,GAAmB,aAAa,CAAC,GAAG,CAAe,UAAC,MAAM;gBACtE,IAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAS,CAAA;gBACtD,IAAI,CAAC,QAAQ,EAAE;oBAEb,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB;wBAAE,OAAM;;wBAC5C,MAAM,IAAI,KAAK,CAAC,mDAA4C,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAC,CAAA;iBACtF;gBAED,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC5D,MAAM,IAAI,KAAK,CAAC,kCAA2B,MAAM,CAAC,OAAO,CAAE,CAAC,CAAA;gBAE9D,IAAI,QAAQ,GAAwB,EAAE,CAAA;gBAGtC,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,CAAC,UAAU,EAAE;oBACjD,IAAM,UAAU,GAAW,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,IAAK,OAAA,EAAU,EAAV,CAAU,CAAC,CAAA;oBACnF,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,OAAO;wBAChC,IAAM,OAAO,GAAI,OAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;wBAC5D,OAAO;4BACL,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;4BACvC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC;4BAC7C,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC;4BACrD,QAAQ,EAAE,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;4BAC/C,IAAI,EAAE,eAAe,CAAC,OAAe,CAAC;4BACtC,OAAO,SAAA;yBACR,CAAA;oBACH,CAAC,CAAC,CAAA;iBACH;gBACD,IAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;gBAClC,IAAM,MAAM,GAAiB;oBAE3B,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;oBACtC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC;oBAC5C,WAAW,EAAE,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC;oBACpD,QAAQ,EAAE,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC;oBAE9C,IAAI,EAAE,eAAe,CAAC,MAAc,CAAC;oBACrC,MAAM,EAAE,QAAQ;oBAGhB,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;oBAC1C,OAAO,SAAA;oBACP,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,aAAa;iBAC7D,CAAA;gBACD,OAAO,MAAM,CAAA;YACf,CAAC,CAAC,CAAA;YACF,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,OAAO,CAAC,EAAE,CAAC,EAAX,CAAW,CAAC,CAAA;YAEvD,OAAO,UAAU,CAAA;QACnB,CAAC,CAAA;QA1QC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAA;QACzE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAS,CAAA;IAC5D,CAAC;IAyQH,iBAAC;AAAD,CAAC,AAhRD,IAgRC;;AAcD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,QAAkB,EAAE,QAAwB;IAG5E,IAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAM,QAAQ,GAAc,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;;QAAK,OAAA,uBAAM,GAAG,gBAAG,KAAK,IAAG,EAAE,OAAG;IAAzB,CAAyB,EAAE,EAAE,CAAC,CAAA;IAC1F,IAAM,KAAK,GAAc,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAE;;QAAK,OAAA,uBAAM,GAAG,gBAAG,EAAE,CAAC,OAAO,IAAG,EAAE,OAAG;IAA9B,CAA8B,EAAE,EAAE,CAAC,CAAA;IACzF,IAAM,UAAU,GAAiC,QAAQ,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAE;;QAAK,OAAA,uBAAM,GAAG,gBAAG,EAAE,CAAC,OAAO,IAAG,EAAE,OAAG;IAA9B,CAA8B,EAAE,EAAE,CAAC,CAAA;IACjH,IAAM,cAAc,GAA4B,QAAQ,CAAC,MAAM,CAC7D,UAAC,GAAG,EAAE,EAAE;;QAAK,OAAA,uBAAM,GAAG,gBAAG,EAAE,CAAC,OAAO,IAAG,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,OAAG;IAAnD,CAAmD,EAChE,EAAE,CACH,CAAA;IACD,IAAM,WAAW,GAAG,QAAQ;SACzB,GAAG,CAAC,UAAC,KAAK;QACT,IAAI;YACF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAA;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,IAAI,CAAC,sBAAe,GAAG,CAAC,OAAO,CAAE,CAAC,CAAA;YACzC,OAAO,IAAI,CAAA;SACZ;IACH,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY,CAAC,CAAA;IAEhC,IAAM,QAAQ,GAAG,UAAC,OAAe,EAAE,KAAa;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC,CAAA;IAID,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;QAE1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAM;QAE7B,QAAQ,CAAC,OAAO,CAAC,UAAC,EAAE;YAClB,IAAI,EAAE,CAAC,SAAS,KAAK,KAAK;gBAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAGF,QAAQ,CAAC,OAAO,CAAC,UAAC,EAAsB;YAApB,OAAO,aAAA,EAAE,SAAS,eAAA;QACpC,IAAI,YAAuB,CAAA;QAC3B,IAAI;YACF,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;SACzC;QAAC,WAAM;YAEN,OAAM;SACP;QACD,IAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACzD,IAAM,WAAW,GAAoB,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,CAAA;QAExE,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAxB,CAAwB,CAAC,CAAA;QAGnF,IAAM,WAAW,GAAsB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC/D,IAAM,WAAW,GAAsB,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;QAC/G,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACrC,IAAI,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE;gBACnC,IAAM,SAAO,GAAG,IAAI,MAAM,CAAC,UAAG,YAAY,iBAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAI,CAAC,CAAA;gBACrF,aAAa,CAAC,OAAO,CAAC,UAAC,QAAQ;oBAC7B,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAO,CAAC;wBAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC1D,CAAC,CAAC,CAAA;aACH;SACF;aAGI,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC1C,IAAI,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE;gBACnC,IAAM,SAAO,GAAG,IAAI,MAAM,CAAC,UAAG,YAAY,iBAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAI,CAAC,CAAA;gBACrF,aAAa,CAAC,OAAO,CAAC,UAAC,QAAQ;oBAC7B,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAO,CAAC;wBAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC1D,CAAC,CAAC,CAAA;aACH;YACD,IAAI,YAAY,CAAC,QAAQ,KAAK,MAAM,EAAE;gBACpC,IAAM,SAAO,GAAG,IAAI,MAAM,CAAC,UAAG,YAAY,iBAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAI,CAAC,CAAA;gBACtF,aAAa,CAAC,OAAO,CAAC,UAAC,QAAQ;oBAC7B,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAO,CAAC;wBAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC1D,CAAC,CAAC,CAAA;aACH;SACF;IACH,CAAC,CAAC,CAAA;IACF,IAAM,QAAQ,GAAsB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAEzD,QAAQ;SACL,MAAM,CAAC,UAAC,EAAW;YAAT,OAAO,aAAA;QAChB,IAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,CAAA;QACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvC,CAAC,CAAC;SACD,OAAO,CAAC,UAAC,EAAE;QACV,IAAM,OAAO,GAAG,IAAI,MAAM,CAAC,UAAG,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,QAAK,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAClB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAxB,CAAwB,CAAC;aACvC,OAAO,CAAC,UAAC,QAAQ;YAEhB,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAIJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,OAAO;QACjC,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,IAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,CAAA;QACvD,IAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAGnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,uCAAgC,OAAO,CAAE,CAAC,CAAA;aAEzE,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAApC,CAAoC,CAAC,EAAE;YACnF,MAAM,CAAC,IAAI,CAAC,6DAAsD,OAAO,kBAAQ,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAE,CAAC,CAAA;SAClH;IACH,CAAC,CAAC,CAAA;IAYF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,IAAI;SACf,CAAA;IAEH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC5B,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAA3B,CAA2B,CAAC;aAC7C,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK;;YAAK,OAAA,uBAAM,GAAG,gBAAG,KAAK,IAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAG;QAAzC,CAAyC,EAAE,EAAE,CAAC;QACxE,MAAM,QAAA;KACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
|