@riverscapes/common 1.3.2 → 2.0.4

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.
Files changed (133) hide show
  1. package/codegen.yml +48 -0
  2. package/dist/classes/BusinessLogicXML.d.ts +20 -0
  3. package/dist/classes/BusinessLogicXML.js +122 -0
  4. package/dist/classes/BusinessLogicXML.js.map +1 -0
  5. package/dist/classes/ProjectXML.d.ts +21 -0
  6. package/dist/classes/ProjectXML.js +291 -0
  7. package/dist/classes/ProjectXML.js.map +1 -0
  8. package/dist/classes/api.d.ts +32 -0
  9. package/dist/classes/api.js +307 -0
  10. package/dist/classes/api.js.map +1 -0
  11. package/dist/classes/index.d.ts +2 -0
  12. package/dist/classes/index.js +19 -0
  13. package/dist/classes/index.js.map +1 -0
  14. package/dist/classes/mock/BusinessLogic1_parsed.d.ts +173 -0
  15. package/dist/classes/mock/BusinessLogic1_parsed.js +254 -0
  16. package/dist/classes/mock/BusinessLogic1_parsed.js.map +1 -0
  17. package/dist/constants.d.ts +48 -0
  18. package/dist/constants.js +74 -0
  19. package/dist/constants.js.map +1 -0
  20. package/dist/dates.d.ts +1 -0
  21. package/dist/dates.js +12 -0
  22. package/dist/dates.js.map +1 -0
  23. package/dist/gen/gqlSchema.d.ts +2 -0
  24. package/dist/gen/gqlSchema.js +13 -0
  25. package/dist/gen/gqlSchema.js.map +1 -0
  26. package/dist/gen/ops.d.ts +1828 -0
  27. package/dist/gen/ops.js +259 -0
  28. package/dist/gen/ops.js.map +1 -0
  29. package/dist/gen/schema.types.d.ts +2483 -0
  30. package/dist/gen/schema.types.js +265 -0
  31. package/dist/gen/schema.types.js.map +1 -0
  32. package/dist/gqlSchema.d.ts +2 -0
  33. package/dist/gqlSchema.js +13 -0
  34. package/dist/gqlSchema.js.map +1 -0
  35. package/dist/graphql/auth.graphql.d.ts +2 -0
  36. package/dist/graphql/auth.graphql.js +12 -0
  37. package/dist/graphql/auth.graphql.js.map +1 -0
  38. package/dist/graphql/index.d.ts +3 -0
  39. package/dist/graphql/index.js +20 -0
  40. package/dist/graphql/index.js.map +1 -0
  41. package/dist/graphql/mutations.graphql.js +57 -0
  42. package/dist/graphql/mutations.graphql.js.map +1 -0
  43. package/dist/graphql/project.graphql.d.ts +1 -0
  44. package/dist/graphql/project.graphql.js +11 -0
  45. package/dist/graphql/project.graphql.js.map +1 -0
  46. package/dist/graphql/projects.graphql.d.ts +1 -0
  47. package/dist/graphql/projects.graphql.js +11 -0
  48. package/dist/graphql/projects.graphql.js.map +1 -0
  49. package/dist/graphql/upload.graphql.d.ts +4 -0
  50. package/dist/graphql/upload.graphql.js +14 -0
  51. package/dist/graphql/upload.graphql.js.map +1 -0
  52. package/dist/index.d.ts +9 -7
  53. package/dist/index.js +23 -9
  54. package/dist/index.js.map +1 -1
  55. package/dist/lib/dates.d.ts +2 -0
  56. package/dist/lib/dates.js +36 -0
  57. package/dist/lib/dates.js.map +1 -0
  58. package/dist/lib/geojson/createProjectBounds.d.ts +10 -0
  59. package/dist/lib/geojson/createProjectBounds.js +34 -0
  60. package/dist/lib/geojson/createProjectBounds.js.map +1 -0
  61. package/dist/lib/geojson/equality.d.ts +2 -0
  62. package/dist/lib/geojson/equality.js +81 -0
  63. package/dist/lib/geojson/equality.js.map +1 -0
  64. package/dist/lib/geojson/index.d.ts +3 -0
  65. package/dist/lib/geojson/index.js +13 -0
  66. package/dist/lib/geojson/index.js.map +1 -0
  67. package/dist/lib/geojson/precision.d.ts +4 -0
  68. package/dist/lib/geojson/precision.js +79 -0
  69. package/dist/lib/geojson/precision.js.map +1 -0
  70. package/dist/lib/graphql/auth.graphql.d.ts +1 -0
  71. package/dist/lib/graphql/auth.graphql.js +11 -0
  72. package/dist/lib/graphql/auth.graphql.js.map +1 -0
  73. package/dist/lib/graphql/index.d.ts +1 -0
  74. package/dist/lib/graphql/index.js +18 -0
  75. package/dist/lib/graphql/index.js.map +1 -0
  76. package/dist/lib/rsPaths.d.ts +8 -0
  77. package/dist/lib/rsPaths.js +150 -0
  78. package/dist/lib/rsPaths.js.map +1 -0
  79. package/dist/lib/tiles.d.ts +4 -0
  80. package/dist/lib/tiles.js +40 -0
  81. package/dist/lib/tiles.js.map +1 -0
  82. package/dist/lib/util.d.ts +3 -0
  83. package/dist/lib/util.js +42 -0
  84. package/dist/lib/util.js.map +1 -0
  85. package/dist/lib/xml.d.ts +6 -0
  86. package/dist/lib/xml.js +70 -0
  87. package/dist/lib/xml.js.map +1 -0
  88. package/dist/schema.graphql +2322 -0
  89. package/dist/schema.types.d.ts +1815 -0
  90. package/dist/schema.types.js +259 -0
  91. package/dist/schema.types.js.map +1 -0
  92. package/dist/types.d.ts +63 -341
  93. package/dist/types.js +7 -82
  94. package/dist/types.js.map +1 -1
  95. package/jest.config.js +4 -0
  96. package/package.json +31 -23
  97. package/resources/success.html +23 -0
  98. package/dist/api.d.ts +0 -71
  99. package/dist/api.js +0 -365
  100. package/dist/api.js.map +0 -1
  101. package/dist/authSchema.js +0 -1
  102. package/dist/authSchema.js.map +0 -1
  103. package/dist/classes/BusinessLogic.d.ts +0 -11
  104. package/dist/classes/BusinessLogic.js +0 -90
  105. package/dist/classes/BusinessLogic.js.map +0 -1
  106. package/dist/classes/FeatureFlags.d.ts +0 -6
  107. package/dist/classes/FeatureFlags.js +0 -25
  108. package/dist/classes/FeatureFlags.js.map +0 -1
  109. package/dist/classes/Program.d.ts +0 -15
  110. package/dist/classes/Program.js +0 -30
  111. package/dist/classes/Program.js.map +0 -1
  112. package/dist/classes/Project.d.ts +0 -43
  113. package/dist/classes/Project.js +0 -182
  114. package/dist/classes/Project.js.map +0 -1
  115. package/dist/classes/TileIndexJSON.d.ts +0 -21
  116. package/dist/classes/TileIndexJSON.js +0 -10
  117. package/dist/classes/TileIndexJSON.js.map +0 -1
  118. package/dist/classes/TileServiceJSONClass.d.ts +0 -22
  119. package/dist/classes/TileServiceJSONClass.js +0 -11
  120. package/dist/classes/TileServiceJSONClass.js.map +0 -1
  121. package/dist/classes/errors.d.ts +0 -4
  122. package/dist/classes/errors.js +0 -31
  123. package/dist/classes/errors.js.map +0 -1
  124. package/dist/mockdata.d.ts +0 -6
  125. package/dist/mockdata.js +0 -65
  126. package/dist/mockdata.js.map +0 -1
  127. package/dist/schema.graphql.d.ts +0 -2
  128. package/dist/schema.graphql.js +0 -15
  129. package/dist/schema.graphql.js.map +0 -1
  130. package/dist/xml.d.ts +0 -11
  131. package/dist/xml.js +0 -254
  132. package/dist/xml.js.map +0 -1
  133. /package/dist/{authSchema.d.ts → graphql/mutations.graphql.d.ts} +0 -0
package/codegen.yml ADDED
@@ -0,0 +1,48 @@
1
+ # This is the file that compiles all the GRAPHQL APIS into typescript types
2
+ # and introspection schemas
3
+ overwrite: true
4
+ schema: ../../schemas/gql/warehouse/**/*.graphql
5
+ documents: './src/**/*.graphql'
6
+ generates:
7
+ # This is the master schema .graphql file that everything else should consume
8
+ dist/schema.graphql:
9
+ plugins:
10
+ - schema-ast
11
+ config:
12
+ nonOptionalTypename: true
13
+ enumsAsConst: true
14
+ arrayInputCoercion: false
15
+ strictScalars: true
16
+ scalars:
17
+ URL: string
18
+ DateTime: string
19
+ EmailAddress: string
20
+ JSONObject: Record<string, any>
21
+ src/gen/gqlSchema.ts:
22
+ plugins:
23
+ # We're cramming it into a typescript file so we can import it as a schema
24
+ - add:
25
+ content: "import gql from 'graphql-tag'\n\nexport default gql`"
26
+ - add:
27
+ placement: 'append'
28
+ content: '`'
29
+ - schema-ast
30
+ config:
31
+ includeDirectives: true
32
+ # These are internal types we do not export.
33
+ src/gen/schema.types.ts:
34
+ plugins:
35
+ - add:
36
+ content: "import { JSONObject } from '../types'"
37
+ - typescript
38
+ - typescript-operations
39
+ - typescript-document-nodes
40
+ config:
41
+ enumsAsConst: true
42
+ arrayInputCoercion: false
43
+ strictScalars: true
44
+ scalars:
45
+ URL: string
46
+ DateTime: string
47
+ EmailAddress: string
48
+ JSONObject: JSONObject
@@ -0,0 +1,20 @@
1
+ import { ProjectTreeView } from '../gen/schema.types';
2
+ import { BusinessLogicInterface, BusinessLogicNode } from '../types';
3
+ export declare class BusinessLogic implements BusinessLogicInterface {
4
+ private dom;
5
+ name: string;
6
+ description?: string;
7
+ projectType: string;
8
+ node: BusinessLogicNode;
9
+ defaultView?: string;
10
+ views?: ProjectTreeView[];
11
+ leaves?: any;
12
+ branches?: any;
13
+ private projectNode;
14
+ constructor(projectType: string, xmlRaw: string);
15
+ private parse;
16
+ parseNode: (inNode: Element, isRepeater?: boolean) => BusinessLogicNode;
17
+ getDefaultView: () => string;
18
+ getSymbologies: () => [string, string][];
19
+ parseViews: () => ProjectTreeView[];
20
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.BusinessLogic = void 0;
16
+ var xpath_1 = __importDefault(require("xpath"));
17
+ var xmldom_1 = require("@xmldom/xmldom");
18
+ var schema_types_1 = require("../gen/schema.types");
19
+ var xml_1 = require("../lib/xml");
20
+ var BusinessLogic = (function () {
21
+ function BusinessLogic(projectType, xmlRaw) {
22
+ var _this = this;
23
+ this.parse = function () {
24
+ _this.projectNode = xpath_1.default.select1('Project', _this.dom);
25
+ _this.name = (0, xml_1.getChildNodeText)('Name', _this.projectNode);
26
+ _this.description = (0, xml_1.getChildNodeText)('Description', _this.projectNode);
27
+ _this.projectType = (0, xml_1.getChildNodeText)('ProjectType', _this.projectNode);
28
+ _this.node = _this.parseNode(xpath_1.default.select1('Node', _this.projectNode));
29
+ _this.views = _this.parseViews();
30
+ _this.defaultView = _this.getDefaultView();
31
+ };
32
+ this.parseNode = function (inNode, isRepeater) {
33
+ if (isRepeater === void 0) { isRepeater = false; }
34
+ var _a = (0, xml_1.getNodeAttrDict)(inNode), id = _a.id, label = _a.label, xpath = _a.xpath, xpathlabel = _a.xpathlabel, symbology = _a.symbology, datatype = _a.type, transparency = _a.transparency;
35
+ var blnode = {
36
+ id: id,
37
+ label: label,
38
+ xpath: xpath,
39
+ xpathlabel: xpathlabel,
40
+ symbology: symbology,
41
+ isRepeater: isRepeater,
42
+ };
43
+ if (datatype) {
44
+ blnode.datatype = Object.values(schema_types_1.ProjectTreeLayerTypeEnum).find(function (val) { return val === datatype.toUpperCase(); });
45
+ }
46
+ if (transparency)
47
+ blnode.transparency = parseInt(transparency, 10);
48
+ var children = xpath_1.default.select1('Children', inNode);
49
+ var tileService = (0, xml_1.getChildNodeText)('Tileservice', inNode);
50
+ if (tileService && tileService.length > 0)
51
+ blnode.tileservice = tileService;
52
+ if (children) {
53
+ var childrenAttr = (0, xml_1.getNodeAttrDict)(children);
54
+ var nodes = xpath_1.default.select('Node', children);
55
+ blnode.collapsed = Boolean(childrenAttr && childrenAttr.collapsed && childrenAttr.collapsed.toLowerCase() === 'true');
56
+ var repeaters = xpath_1.default.select('Repeater', children);
57
+ blnode.children = __spreadArray(__spreadArray([], nodes.map(function (n) { return _this.parseNode(n, false); }), true), repeaters.map(function (n) { return _this.parseNode(n, true); }), true);
58
+ }
59
+ else if (isRepeater) {
60
+ blnode.children = [_this.parseNode(xpath_1.default.select1('Node', inNode))];
61
+ }
62
+ for (var i in blnode) {
63
+ if (typeof blnode[i] === 'undefined') {
64
+ delete blnode[i];
65
+ }
66
+ }
67
+ return blnode;
68
+ };
69
+ this.getDefaultView = function () {
70
+ var viewsNode = xpath_1.default.select1('Views', _this.projectNode);
71
+ if (!viewsNode)
72
+ return;
73
+ var defaultViewId = viewsNode.getAttribute('default');
74
+ if (!defaultViewId) {
75
+ var firstNode = xpath_1.default.select1('View', viewsNode);
76
+ defaultViewId = firstNode && firstNode.getAttribute('id');
77
+ }
78
+ return defaultViewId;
79
+ };
80
+ this.getSymbologies = function () {
81
+ var nodeElements = _this.dom.getElementsByTagName('Node').filter(function (node) { return node.getAttribute('symbology'); });
82
+ var flatList = [];
83
+ for (var i = 0; i < nodeElements.length; i++) {
84
+ var node = nodeElements[i];
85
+ var parentXPaths = [];
86
+ var parent_1 = node.parentNode;
87
+ while (parent_1 && parent_1.tagName !== 'Document') {
88
+ if (parent_1.getAttribute && parent_1.getAttribute('xpath'))
89
+ parentXPaths.unshift(parent_1.getAttribute('xpath'));
90
+ parent_1 = parent_1.parentNode;
91
+ }
92
+ parentXPaths.push(node.getAttribute('xpath'));
93
+ var symbology = node.getAttribute('symbology');
94
+ flatList.push([parentXPaths.join('/'), symbology]);
95
+ }
96
+ return flatList;
97
+ };
98
+ this.parseViews = function () {
99
+ var viewNodes = xpath_1.default.select('Views/View', _this.projectNode);
100
+ return viewNodes.map(function (vNode) {
101
+ return {
102
+ id: vNode.getAttribute('id'),
103
+ name: vNode.getAttribute('name'),
104
+ description: (0, xml_1.getChildNodeText)('Description', vNode),
105
+ layers: xpath_1.default.select('Layers/Layer', vNode).map(function (lyrNode) {
106
+ var attrs = (0, xml_1.getNodeAttrDict)(lyrNode);
107
+ return {
108
+ id: attrs.id,
109
+ visible: !(attrs.visible && attrs.visible.toLowerCase() === 'false'),
110
+ };
111
+ }),
112
+ };
113
+ });
114
+ };
115
+ this.projectType = projectType;
116
+ this.dom = new xmldom_1.DOMParser().parseFromString(xmlRaw, 'text/xml');
117
+ this.parse();
118
+ }
119
+ return BusinessLogic;
120
+ }());
121
+ exports.BusinessLogic = BusinessLogic;
122
+ //# 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,21 @@
1
+ import { DatasetInput, MetaDataInput, ProjectInput, QaqcEventInput } from '../gen/schema.types';
2
+ import { WarehouseEl } from '../types';
3
+ export declare class ProjectXML {
4
+ dom: any;
5
+ constructor(xmlStr: string);
6
+ toPrettyString: () => string;
7
+ addWarehouseEl: (newTag: WarehouseEl) => void;
8
+ getWarehouseEl: () => WarehouseEl | null;
9
+ getProjectType: () => string | null;
10
+ getBoundsPath: () => string | null;
11
+ getProjectMeta: () => MetaDataInput[];
12
+ getProjectInput: () => ProjectInput;
13
+ getQAQCEvents: () => QaqcEventInput[];
14
+ getDatasetInputs: () => DatasetInput[];
15
+ }
16
+ interface mapFilesToDatasetReturn {
17
+ filesMap: Record<string, string> | null;
18
+ errors: string[];
19
+ }
20
+ export declare const mapFilesToDataset: (fileList: string[], datasets: DatasetInput[]) => mapFilesToDatasetReturn;
21
+ export {};
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mapFilesToDataset = exports.ProjectXML = void 0;
27
+ var xpath_1 = __importDefault(require("xpath"));
28
+ var xmldom_1 = require("@xmldom/xmldom");
29
+ var schema_types_1 = require("../gen/schema.types");
30
+ var constants_1 = require("../constants");
31
+ var lodash_1 = require("lodash");
32
+ var xml_1 = require("../lib/xml");
33
+ var rsPaths_1 = require("../lib/rsPaths");
34
+ var ProjectXML = (function () {
35
+ function ProjectXML(xmlStr) {
36
+ var _this = this;
37
+ this.toPrettyString = function () {
38
+ var serializer = new xmldom_1.XMLSerializer();
39
+ var xmlStr = serializer.serializeToString(_this.dom);
40
+ return xmlStr;
41
+ };
42
+ this.addWarehouseEl = function (newTag) {
43
+ var whNode = xpath_1.default.select1('Project/Warehouse', _this.dom);
44
+ if (!whNode) {
45
+ var projectNode = xpath_1.default.select1('Project', _this.dom);
46
+ var newWhNode = _this.dom.createElement('Warehouse');
47
+ projectNode.appendChild(newWhNode);
48
+ }
49
+ Object.entries(newTag).forEach(function (_a) {
50
+ var key = _a[0], value = _a[1];
51
+ whNode.setAttribute(key, value);
52
+ });
53
+ };
54
+ this.getWarehouseEl = function () {
55
+ var whNode = xpath_1.default.select1('Project/Warehouse', _this.dom);
56
+ if (!whNode)
57
+ return null;
58
+ var attrNode = Array.from(whNode.attributes).reduce(function (acc, it) {
59
+ var _a;
60
+ return (__assign(__assign({}, acc), (_a = {}, _a[it.name] = it.value.trim(), _a)));
61
+ }, {});
62
+ return attrNode;
63
+ };
64
+ this.getProjectType = function () {
65
+ var whNode = xpath_1.default.select1('Project/ProjectType', _this.dom);
66
+ if (!whNode)
67
+ return null;
68
+ return whNode.textContent.trim().toLowerCase();
69
+ };
70
+ this.getBoundsPath = function () {
71
+ var nameNode = xpath_1.default.select1('Project/ProjectBounds', _this.dom);
72
+ if (!nameNode)
73
+ return null;
74
+ else
75
+ return (0, xml_1.getChildNodeText)('Path', nameNode);
76
+ };
77
+ this.getProjectMeta = function () { return (0, xml_1.getMetaFromNode)(_this.dom.firstChild); };
78
+ this.getProjectInput = function () {
79
+ var projectType = _this.getProjectType();
80
+ if (!projectType)
81
+ throw new Error('Could not find ProjectType node');
82
+ return {
83
+ name: (0, xml_1.getChildNodeText)('Name', _this.dom.firstChild),
84
+ summary: (0, xml_1.getChildNodeText)('Summary', _this.dom.firstChild),
85
+ description: (0, xml_1.getChildNodeText)('Description', _this.dom.firstChild),
86
+ citation: (0, xml_1.getChildNodeText)('Citation', _this.dom.firstChild),
87
+ meta: (0, xml_1.getMetaFromNode)(_this.dom.firstChild),
88
+ datasets: _this.getDatasetInputs(),
89
+ qaqc: _this.getQAQCEvents(),
90
+ };
91
+ };
92
+ this.getQAQCEvents = function () {
93
+ var qaqcNode = xpath_1.default.select1('Project/QAQC', _this.dom);
94
+ if (!qaqcNode)
95
+ return [];
96
+ var qaqcEventNodes = xpath_1.default.select('QAQCEvents/QAQCEvent', qaqcNode);
97
+ return qaqcEventNodes.map(function (eventNode) {
98
+ var supportingLinks = xpath_1.default.select('Links/URL', eventNode).map(function (linkNode) { return ({
99
+ text: linkNode.getAttribute('text'),
100
+ href: (0, xml_1.getNodeText)(linkNode),
101
+ }); });
102
+ return {
103
+ name: (0, xml_1.getChildNodeText)('Name', eventNode),
104
+ datePerformed: (0, xml_1.getChildNodeAttr)(eventNode, 'dateCreated'),
105
+ state: (0, xml_1.getChildNodeAttr)(eventNode, 'state'),
106
+ summary: (0, xml_1.getChildNodeText)('Summary', eventNode),
107
+ performedBy: (0, xml_1.getChildNodeText)('PerformedBy', eventNode),
108
+ description: (0, xml_1.getChildNodeText)('Description', eventNode),
109
+ supportingLinks: supportingLinks,
110
+ meta: (0, xml_1.getMetaFromNode)(eventNode),
111
+ };
112
+ });
113
+ };
114
+ this.getDatasetInputs = function () {
115
+ var rawDSXMLNodes = rsPaths_1.DSXpaths.reduce(function (acc, partPath) { return __spreadArray(__spreadArray([], acc, true), xpath_1.default.select("//".concat(partPath), _this.dom), true); }, []);
116
+ var datasets = rawDSXMLNodes.map(function (dsNode) {
117
+ var nameNode = xpath_1.default.select1('Name', dsNode);
118
+ if (!nameNode) {
119
+ if (dsNode.tagName === 'CommonDatasetRef')
120
+ return;
121
+ else
122
+ throw new Error("Could not find <Name> node in dataset: \n".concat(dsNode.toString()));
123
+ }
124
+ if (Object.values(schema_types_1.DatasetTypeEnum).indexOf(dsNode.tagName) < 0)
125
+ throw new Error("Dataset Type not found: ".concat(dsNode.tagName));
126
+ var dsLayers = [];
127
+ if (dsNode.tagName === schema_types_1.DatasetTypeEnum.Geopackage) {
128
+ var layerNodes = xpath_1.default.select('Layers/*', dsNode).map(function (el) { return el; });
129
+ dsLayers = layerNodes.map(function (lyrNode) {
130
+ var lyrName = lyrNode.getAttribute('lyrName');
131
+ return {
132
+ name: (0, xml_1.getChildNodeText)('Name', lyrNode),
133
+ summary: (0, xml_1.getChildNodeText)('Summary', lyrNode),
134
+ description: (0, xml_1.getChildNodeText)('Description', lyrNode),
135
+ citation: (0, xml_1.getChildNodeText)('Citation', lyrNode),
136
+ meta: (0, xml_1.getMetaFromNode)(lyrNode),
137
+ lyrName: lyrName,
138
+ };
139
+ });
140
+ }
141
+ var rsXPath = (0, rsPaths_1.getRSXPath)(dsNode);
142
+ var retVal = {
143
+ name: (0, xml_1.getChildNodeText)('Name', dsNode),
144
+ summary: (0, xml_1.getChildNodeText)('Summary', dsNode),
145
+ description: (0, xml_1.getChildNodeText)('Description', dsNode),
146
+ citation: (0, xml_1.getChildNodeText)('Citation', dsNode),
147
+ meta: (0, xml_1.getMetaFromNode)(dsNode),
148
+ layers: dsLayers,
149
+ extRef: (0, xml_1.getChildNodeAttr)(dsNode, 'extRef'),
150
+ rsXPath: rsXPath,
151
+ localPath: (0, xml_1.getChildNodeText)('Path', dsNode) || 'INVALIDPATH',
152
+ };
153
+ return retVal;
154
+ });
155
+ var filteredDs = datasets.filter(function (ds) { return Boolean(ds); });
156
+ return filteredDs;
157
+ };
158
+ this.dom = new xmldom_1.DOMParser().parseFromString(xmlStr.toString(), 'text/xml');
159
+ }
160
+ return ProjectXML;
161
+ }());
162
+ exports.ProjectXML = ProjectXML;
163
+ var mapFilesToDataset = function (fileList, datasets) {
164
+ var errors = [];
165
+ var filesMap = fileList.reduce(function (acc, fpath) {
166
+ var _a;
167
+ return (__assign(__assign({}, acc), (_a = {}, _a[fpath] = [], _a)));
168
+ }, {});
169
+ var dsMap = datasets.reduce(function (acc, ds) {
170
+ var _a;
171
+ return (__assign(__assign({}, acc), (_a = {}, _a[ds.rsXPath] = [], _a)));
172
+ }, {});
173
+ var datasetMap = datasets.reduce(function (acc, ds) {
174
+ var _a;
175
+ return (__assign(__assign({}, acc), (_a = {}, _a[ds.rsXPath] = ds, _a)));
176
+ }, {});
177
+ var datasetTypeMap = datasets.reduce(function (acc, ds) {
178
+ var _a;
179
+ return (__assign(__assign({}, acc), (_a = {}, _a[ds.rsXPath] = (0, rsPaths_1.rsXpath2Obj)(ds.rsXPath), _a)));
180
+ }, {});
181
+ var filesParsed = fileList
182
+ .map(function (fpath) {
183
+ try {
184
+ return (0, rsPaths_1.localPathParse)(fpath);
185
+ }
186
+ catch (err) {
187
+ errors.push("Path Error: ".concat(err.message));
188
+ return null;
189
+ }
190
+ })
191
+ .filter(function (val) { return Boolean(val); });
192
+ var addToMap = function (rsXPath, fPath) {
193
+ dsMap[rsXPath].push(fPath);
194
+ filesMap[fPath].push(rsXPath);
195
+ };
196
+ fileList.forEach(function (fPath, idf) {
197
+ if (!filesParsed[idf])
198
+ return;
199
+ datasets.forEach(function (ds) {
200
+ if (ds.localPath === fPath)
201
+ addToMap(ds.rsXPath, fPath);
202
+ });
203
+ });
204
+ datasets.forEach(function (_a) {
205
+ var rsXPath = _a.rsXPath, localPath = _a.localPath;
206
+ var fParseParent;
207
+ try {
208
+ fParseParent = (0, rsPaths_1.localPathParse)(localPath);
209
+ }
210
+ catch (_b) {
211
+ return;
212
+ }
213
+ var escapedNoExt = (0, lodash_1.escapeRegExp)(fParseParent.pathNoExt);
214
+ var datasetType = datasetTypeMap[rsXPath].datasetType;
215
+ var unmappedFiles = Object.keys(filesMap).filter(function (k) { return filesMap[k].length === 0; });
216
+ var vectorTypes = [schema_types_1.DatasetTypeEnum.Vector];
217
+ var rasterTypes = [schema_types_1.DatasetTypeEnum.Dem, schema_types_1.DatasetTypeEnum.Raster, schema_types_1.DatasetTypeEnum.HillShade];
218
+ if (vectorTypes.includes(datasetType)) {
219
+ if (fParseParent.extLower === 'shp') {
220
+ var testReg_1 = new RegExp("".concat(escapedNoExt, "\\.(").concat(constants_1.DasetSidecarFiles.shp.join('|'), ")$"));
221
+ unmappedFiles.forEach(function (testFile) {
222
+ if (testFile.match(testReg_1))
223
+ addToMap(rsXPath, testFile);
224
+ });
225
+ }
226
+ }
227
+ else if (rasterTypes.includes(datasetType)) {
228
+ if (fParseParent.extLower === 'tif') {
229
+ var testReg_2 = new RegExp("".concat(escapedNoExt, "\\.(").concat(constants_1.DasetSidecarFiles.tif.join('|'), ")$"));
230
+ unmappedFiles.forEach(function (testFile) {
231
+ if (testFile.match(testReg_2))
232
+ addToMap(rsXPath, testFile);
233
+ });
234
+ }
235
+ if (fParseParent.extLower === 'tiff') {
236
+ var testReg_3 = new RegExp("".concat(escapedNoExt, "\\.(").concat(constants_1.DasetSidecarFiles.tiff.join('|'), ")$"));
237
+ unmappedFiles.forEach(function (testFile) {
238
+ if (testFile.match(testReg_3))
239
+ addToMap(rsXPath, testFile);
240
+ });
241
+ }
242
+ }
243
+ });
244
+ var tinTypes = [schema_types_1.DatasetTypeEnum.Tin];
245
+ datasets
246
+ .filter(function (_a) {
247
+ var rsXPath = _a.rsXPath;
248
+ var datasetType = datasetTypeMap[rsXPath].datasetType;
249
+ return tinTypes.includes(datasetType);
250
+ })
251
+ .forEach(function (ds) {
252
+ var testReg = new RegExp("".concat((0, lodash_1.escapeRegExp)(ds.localPath), "/.*"));
253
+ Object.keys(filesMap)
254
+ .filter(function (k) { return filesMap[k].length === 0; })
255
+ .forEach(function (testFile) {
256
+ if (testFile.match(testReg))
257
+ addToMap(ds.rsXPath, testFile);
258
+ });
259
+ });
260
+ Object.keys(dsMap).forEach(function (rsXPath) {
261
+ var fpArr = dsMap[rsXPath];
262
+ var datasetType = datasetTypeMap[rsXPath].datasetType;
263
+ var isFolderType = tinTypes.includes(datasetType);
264
+ if (fpArr.length === 0)
265
+ errors.push("Dataset in XML had no files: ".concat(rsXPath));
266
+ else if (!isFolderType && !fpArr.find(function (fp) { return fp === datasetMap[rsXPath].localPath; })) {
267
+ errors.push("XML Dataset missing file referenced by its <Path>: ".concat(rsXPath, " --> ").concat(datasetMap[rsXPath].localPath));
268
+ }
269
+ });
270
+ Object.keys(filesMap).forEach(function (fPath) {
271
+ var dsArr = filesMap[fPath];
272
+ if (dsArr.length > 1)
273
+ errors.push("".concat(dsArr.length, " datasets reference the same file. File: ").concat(fPath, " Datasets: ").concat(JSON.stringify(dsArr), " )"));
274
+ });
275
+ if (errors.length > 0)
276
+ return {
277
+ errors: (0, lodash_1.uniq)(errors),
278
+ filesMap: null,
279
+ };
280
+ return {
281
+ filesMap: Object.keys(filesMap)
282
+ .filter(function (fkey) { return filesMap[fkey].length === 1; })
283
+ .reduce(function (acc, fmkey) {
284
+ var _a;
285
+ return (__assign(__assign({}, acc), (_a = {}, _a[fmkey] = filesMap[fmkey][0], _a)));
286
+ }, {}),
287
+ errors: errors,
288
+ };
289
+ };
290
+ exports.mapFilesToDataset = mapFilesToDataset;
291
+ //# sourceMappingURL=ProjectXML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectXML.js","sourceRoot":"","sources":["../../src/classes/ProjectXML.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /// <reference types="node" />
2
+ import { ApolloClient, QueryOptions, MutationOptions, OperationVariables, DefaultContext, ApolloCache, FetchResult } from '@apollo/client';
3
+ import { DocumentNode } from 'graphql';
4
+ import Bottleneck from 'bottleneck';
5
+ import { Profile, WarehouseInfo } from '../gen/schema.types';
6
+ export declare const apiLimiter: Bottleneck;
7
+ export declare class GQLApi {
8
+ client: ApolloClient<any>;
9
+ accessToken: string;
10
+ warehouseInfo: WarehouseInfo;
11
+ myProfile: Profile;
12
+ readonly logger: any;
13
+ readonly uri: string;
14
+ tokenTimeout: NodeJS.Timeout;
15
+ devHeaders: Record<string, string>;
16
+ readonly machineAuth: {
17
+ clientId: string;
18
+ secretId: string;
19
+ };
20
+ constructor(uri: string, clientId?: string, secretId?: string, devHeaders?: Record<string, string>, warehouseInfo?: WarehouseInfo, customLogger?: any);
21
+ query: <T>(options: QueryOptions<OperationVariables, T>) => Promise<FetchResult<T, Record<string, any>, Record<string, any>>>;
22
+ mutate: <T>(options: MutationOptions<T, OperationVariables, DefaultContext, ApolloCache<T>>) => Promise<FetchResult<T, Record<string, any>, Record<string, any>>>;
23
+ refreshClient: () => void;
24
+ fetchProfile: () => Promise<Profile>;
25
+ refreshToken: () => Promise<GQLApi>;
26
+ private _generateChallenge;
27
+ private _generateState;
28
+ private _base64URL;
29
+ private _generateRandom;
30
+ private _bufferToString;
31
+ }
32
+ export declare const writeQuery: (outFile: string, query: DocumentNode, vars: any, err: any) => void;