@cumulus/cmrjs 21.0.1 → 21.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"echo10Modifiers.d.ts","sourceRoot":"","sources":["src/echo10Modifiers.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4CAA4C,CAAC,EAC3D,GAAG,EAAE,4CAA4C;AACjD,SAAS,EAAE,0BAA0B;AACrC,iBAAiB,GAClB,EAAE;IACD,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,GAAG,CAaN"}
1
+ {"version":3,"file":"echo10Modifiers.d.ts","sourceRoot":"","sources":["src/echo10Modifiers.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4CAA4C,CAAC,EAC3D,GAAG,EAAE,4CAA4C;AACjD,SAAS,EAAE,0BAA0B;AACrC,iBAAiB,GAClB,EAAE;IACD,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,GAAG,CAoDN"}
@@ -31,7 +31,38 @@ producerGranuleId, // The original identifier to store
31
31
  moddedXml.Granule ??= {};
32
32
  moddedXml.Granule.GranuleUR = granuleUr;
33
33
  moddedXml.Granule.DataGranule ??= {};
34
- moddedXml.Granule.DataGranule.ProducerGranuleId = producerGranuleId;
34
+ const dataGranule = moddedXml.Granule.DataGranule;
35
+ const orderedDataGranule = new Map();
36
+ // ECHO10 DataGranule element order as defined in the XSD schema
37
+ // https://git.earthdata.nasa.gov/projects/EMFD/repos/echo-schemas/browse/schemas/10.0/Granule.xsd
38
+ const echo10DataGranuleOrder = [
39
+ 'DataGranuleSizeInBytes',
40
+ 'SizeMBDataGranule',
41
+ 'Checksum',
42
+ 'ReprocessingPlanned',
43
+ 'ReprocessingActual',
44
+ 'ProducerGranuleId',
45
+ 'DayNightFlag',
46
+ 'ProductionDateTime',
47
+ 'LocalVersionId',
48
+ 'AdditionalFile',
49
+ ];
50
+ const existingKeys = Object.keys(dataGranule);
51
+ const unexpectedKeys = existingKeys.filter((key) => !echo10DataGranuleOrder.includes(key));
52
+ if (unexpectedKeys.length > 0) {
53
+ throw new Error(`Unexpected DataGranule key(s) found: ${unexpectedKeys.join(', ')}. `
54
+ + `Valid keys are: ${echo10DataGranuleOrder.join(', ')}. `
55
+ + `GranuleUR: ${moddedXml.Granule.GranuleUR}`);
56
+ }
57
+ echo10DataGranuleOrder.forEach((key) => {
58
+ if (key === 'ProducerGranuleId') {
59
+ orderedDataGranule.set(key, producerGranuleId);
60
+ }
61
+ else if (dataGranule[key] !== undefined) {
62
+ orderedDataGranule.set(key, dataGranule[key]);
63
+ }
64
+ });
65
+ moddedXml.Granule.DataGranule = orderedDataGranule;
35
66
  return moddedXml;
36
67
  }
37
68
  exports.updateEcho10XMLGranuleUrAndGranuleIdentifier = updateEcho10XMLGranuleUrAndGranuleIdentifier;
@@ -1 +1 @@
1
- {"version":3,"file":"echo10Modifiers.js","sourceRoot":"","sources":["src/echo10Modifiers.ts"],"names":[],"mappings":";;;AAUA,SAAS,sBAAsB,CAAC,GAAQ;IACtC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;WACzC,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,4CAA4C,CAAC,EAC3D,GAAG,EAAE,4CAA4C;AACjD,SAAS,EAAE,0BAA0B;AACrC,iBAAiB,EAAE,mCAAmC;EAKvD;IACC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEvC,SAAS,CAAC,OAAO,KAAK,EAAE,CAAC;IACzB,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,EAAE,CAAC;IACrC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAEpE,OAAO,SAAS,CAAC;AACnB,CAAC;AArBD,oGAqBC"}
1
+ {"version":3,"file":"echo10Modifiers.js","sourceRoot":"","sources":["src/echo10Modifiers.ts"],"names":[],"mappings":";;;AAUA,SAAS,sBAAsB,CAAC,GAAQ;IACtC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;WACzC,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,4CAA4C,CAAC,EAC3D,GAAG,EAAE,4CAA4C;AACjD,SAAS,EAAE,0BAA0B;AACrC,iBAAiB,EAAE,mCAAmC;EAKvD;IACC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEvC,SAAS,CAAC,OAAO,KAAK,EAAE,CAAC;IACzB,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAExC,SAAS,CAAC,OAAO,CAAC,WAAW,KAAK,EAAE,CAAC;IAErC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,WAAkB,CAAC;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAe,CAAC;IAElD,gEAAgE;IAChE,kGAAkG;IAClG,MAAM,sBAAsB,GAAG;QAC7B,wBAAwB;QACxB,mBAAmB;QACnB,UAAU;QACV,qBAAqB;QACrB,oBAAoB;QACpB,mBAAmB;QACnB,cAAc;QACd,oBAAoB;QACpB,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3F,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,MAAM,IAAI,KAAK,CACb,wCAAwC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACnE,mBAAmB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACxD,cAAc,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,CAC9C,CAAC;KACH;IAED,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,IAAI,GAAG,KAAK,mBAAmB,EAAE;YAC/B,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;SAChD;aAAM,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACzC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,OAAO,CAAC,WAAW,GAAG,kBAAyB,CAAC;IAE1D,OAAO,SAAS,CAAC;AACnB,CAAC;AA5DD,oGA4DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cumulus/cmrjs",
3
- "version": "21.0.1",
3
+ "version": "21.2.0",
4
4
  "description": "A node SDK for CMR",
5
5
  "engines": {
6
6
  "node": ">=20.12.2"
@@ -36,23 +36,23 @@
36
36
  "author": "Cumulus Authors",
37
37
  "license": "Apache-2.0",
38
38
  "dependencies": {
39
- "@cumulus/aws-client": "21.0.1",
40
- "@cumulus/cmr-client": "21.0.1",
41
- "@cumulus/common": "21.0.1",
42
- "@cumulus/distribution-utils": "21.0.1",
43
- "@cumulus/errors": "21.0.1",
44
- "@cumulus/launchpad-auth": "21.0.1",
45
- "@cumulus/logger": "21.0.1",
46
- "@cumulus/message": "21.0.1",
39
+ "@cumulus/aws-client": "21.2.0",
40
+ "@cumulus/cmr-client": "21.2.0",
41
+ "@cumulus/common": "21.2.0",
42
+ "@cumulus/distribution-utils": "21.2.0",
43
+ "@cumulus/errors": "21.2.0",
44
+ "@cumulus/launchpad-auth": "21.2.0",
45
+ "@cumulus/logger": "21.2.0",
46
+ "@cumulus/message": "21.2.0",
47
47
  "got": "^11.8.1",
48
- "js2xmlparser": "^4.0.0",
48
+ "js2xmlparser": "^5.0.0",
49
49
  "lodash": "^4.17.21",
50
50
  "public-ip": "^5.0.0",
51
51
  "url-join": "^1.0.0",
52
52
  "xml2js": "0.5.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@cumulus/types": "21.0.1"
55
+ "@cumulus/types": "21.2.0"
56
56
  },
57
- "gitHead": "d721b7f47e28b3ebb8a09d83422f5371f5641fba"
57
+ "gitHead": "696befd260527f74a8a5bfb92f9511b455a23388"
58
58
  }
@@ -45,8 +45,47 @@ export function updateEcho10XMLGranuleUrAndGranuleIdentifier({
45
45
 
46
46
  moddedXml.Granule ??= {};
47
47
  moddedXml.Granule.GranuleUR = granuleUr;
48
+
48
49
  moddedXml.Granule.DataGranule ??= {};
49
- moddedXml.Granule.DataGranule.ProducerGranuleId = producerGranuleId;
50
+
51
+ const dataGranule = moddedXml.Granule.DataGranule as any;
52
+ const orderedDataGranule = new Map<string, any>();
53
+
54
+ // ECHO10 DataGranule element order as defined in the XSD schema
55
+ // https://git.earthdata.nasa.gov/projects/EMFD/repos/echo-schemas/browse/schemas/10.0/Granule.xsd
56
+ const echo10DataGranuleOrder = [
57
+ 'DataGranuleSizeInBytes',
58
+ 'SizeMBDataGranule',
59
+ 'Checksum',
60
+ 'ReprocessingPlanned',
61
+ 'ReprocessingActual',
62
+ 'ProducerGranuleId',
63
+ 'DayNightFlag',
64
+ 'ProductionDateTime',
65
+ 'LocalVersionId',
66
+ 'AdditionalFile',
67
+ ];
68
+
69
+ const existingKeys = Object.keys(dataGranule);
70
+ const unexpectedKeys = existingKeys.filter((key) => !echo10DataGranuleOrder.includes(key));
71
+
72
+ if (unexpectedKeys.length > 0) {
73
+ throw new Error(
74
+ `Unexpected DataGranule key(s) found: ${unexpectedKeys.join(', ')}. `
75
+ + `Valid keys are: ${echo10DataGranuleOrder.join(', ')}. `
76
+ + `GranuleUR: ${moddedXml.Granule.GranuleUR}`
77
+ );
78
+ }
79
+
80
+ echo10DataGranuleOrder.forEach((key) => {
81
+ if (key === 'ProducerGranuleId') {
82
+ orderedDataGranule.set(key, producerGranuleId);
83
+ } else if (dataGranule[key] !== undefined) {
84
+ orderedDataGranule.set(key, dataGranule[key]);
85
+ }
86
+ });
87
+
88
+ moddedXml.Granule.DataGranule = orderedDataGranule as any;
50
89
 
51
90
  return moddedXml;
52
91
  }