@dbmx/toasts 0.0.87 → 0.0.91
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/cjs/components/SdmxDatagrid/utils/index.cjs +9 -7
- package/cjs/{index-IlPWvcP8.js → index-KfYx_fhj.js} +24 -24
- package/cjs/index.cjs +1 -1
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/concat.cjs +69 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/equals.cjs +42 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/filter.cjs +63 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_arrayFromIterator.cjs +13 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_complement.cjs +10 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_equals.cjs +143 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_filter.cjs +17 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_functionName.cjs +10 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_includes.cjs +11 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_includesWith.cjs +16 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_indexOf.cjs +61 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isFunction.cjs +9 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isObject.cjs +8 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_objectIs.cjs +18 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_quote.cjs +10 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_toISOString.cjs +17 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_toString.cjs +62 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xfilter.cjs +26 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/reject.cjs +43 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/times.cjs +49 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/toString.cjs +53 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/type.cjs +41 -0
- package/esm/index-FCPRKLj2.js +720 -0
- package/esm/index-FCPRKLj2.js.map +1 -0
- package/esm/index-Mh78z9aW.js +562 -0
- package/esm/index-Mh78z9aW.js.map +1 -0
- package/esm/index-T2bcfyHI.js +8510 -0
- package/esm/index-T2bcfyHI.js.map +1 -0
- package/esm/index-W7MLRHBf.js +87 -0
- package/esm/index-W7MLRHBf.js.map +1 -0
- package/esm/index-gBe37Ynf.js +8438 -0
- package/esm/index-gBe37Ynf.js.map +1 -0
- package/esm/index-ndYjFD6I.js +8438 -0
- package/esm/index-ndYjFD6I.js.map +1 -0
- package/esm/{index-kSxvArVu.js → index-yhLCk6qZ.js} +25 -25
- package/esm/index-yhLCk6qZ.js.map +1 -0
- package/esm/index.js +1 -1
- package/package.json +3 -3
- package/rollup_stats/sunburst_stats.html +1 -3
- package/rollup_stats/treemap_stats.html +3 -1
- package/cjs/fake-ZW05emqw.js +0 -35
- package/cjs/fake-ZW05emqw.js.map +0 -1
- package/cjs/index.cjs.map +0 -1
- package/esm/fake-JHdVf8lQ.js +0 -14
- package/esm/fake-JHdVf8lQ.js.map +0 -1
- package/esm/index-kSxvArVu.js.map +0 -1
- package/esm/index-lo-MKsEb.js +0 -556
- package/esm/index-lo-MKsEb.js.map +0 -1
- package/yarn-error.log +0 -7136
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-T2bcfyHI.js","sources":["../node_modules/yallist/iterator.js","../node_modules/yallist/yallist.js","../node_modules/lru-cache/index.js","../node_modules/@dbmx/semver/dist/index.esm.js","../node_modules/@dbmx/sdmx/cjs/dependencyResolver.js","../node_modules/@dbmx/sdmx/cjs/items.js","../node_modules/@dbmx/sdmx/cjs/utils/url-regexp.js","../node_modules/@dbmx/sdmx/cjs/types/sdmx.js","../node_modules/@dbmx/sdmx/cjs/types/dataflow.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_arity.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_pipe.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isPlaceholder.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curry1.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curry2.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curry3.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isArray.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isString.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isArrayLike.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_createReduce.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xArrayReduce.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/bind.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xReduce.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xwrap.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/reduce.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_checkForMethod.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/slice.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/tail.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/pipe.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/reverse.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/compose.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_arrayReduce.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isTransformer.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_dispatchable.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_map.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xfBase.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xmap.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curryN.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/curryN.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_has.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isArguments.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/keys.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/map.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/defaultTo.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isInteger.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/nth.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/paths.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/path.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/pathOr.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/is.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/forEach.js","../node_modules/@dbmx/sdmx/cjs/types/datastructure.js","../node_modules/@dbmx/sdmx/cjs/types/codelist.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_identity.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/identity.js","../node_modules/@dbmx/sdmx/cjs/types/categorisation.js","../node_modules/@dbmx/sdmx/cjs/types/categoryscheme.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/prop.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/propOr.js","../node_modules/@dbmx/sdmx/cjs/types/conceptscheme.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/values.js","../node_modules/@dbmx/sdmx/cjs/types/contentconstraint.js","../node_modules/@dbmx/sdmx/cjs/types/dataproviderscheme.js","../node_modules/@dbmx/sdmx/cjs/types/hierarchicalcodelist.js","../node_modules/@dbmx/sdmx/cjs/types/dataconstraint.js","../node_modules/@dbmx/sdmx/cjs/types/provisionagreement.js","../node_modules/@dbmx/sdmx/cjs/types/metadatastructure.js","../node_modules/@dbmx/sdmx/cjs/types/artefacts.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/remove.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_dissoc.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_assoc.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/isNil.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/assocPath.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/assoc.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/dissocPath.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/dissoc.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/pick.js","../node_modules/@dbmx/sdmx/cjs/core.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isObject.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_arrayFromIterator.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_includesWith.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_functionName.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_objectIs.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/type.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_equals.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/equals.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/times.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isFunction.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_indexOf.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_includes.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_quote.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_toISOString.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_complement.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_filter.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xfilter.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/filter.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/reject.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_toString.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/toString.js","../node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/concat.js","../node_modules/@dbmx/sdmx/cjs/data.js","../src/components/SdmxDatagrid/messages.js","../src/components/SdmxDatagrid/LoadingBox.jsx","../node_modules/@dbmx/sdmx/esm/dependencyResolver.mjs","../node_modules/@dbmx/sdmx/esm/types/sdmx.mjs","../node_modules/@dbmx/sdmx/esm/types/dataflow.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_arity.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_pipe.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isPlaceholder.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curry1.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curry2.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curry3.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isArray.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isString.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isArrayLike.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_createReduce.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xArrayReduce.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/bind.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xReduce.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xwrap.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/reduce.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_checkForMethod.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/slice.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/tail.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/pipe.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/reverse.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/compose.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_arrayReduce.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isTransformer.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_dispatchable.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_map.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xfBase.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xmap.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curryN.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/curryN.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_has.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isArguments.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/keys.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/map.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/defaultTo.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isInteger.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/nth.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/paths.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/path.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/pathOr.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/is.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/forEach.mjs","../node_modules/@dbmx/sdmx/esm/types/datastructure.mjs","../node_modules/@dbmx/sdmx/esm/types/codelist.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_identity.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/identity.mjs","../node_modules/@dbmx/sdmx/esm/types/categorisation.mjs","../node_modules/@dbmx/sdmx/esm/types/categoryscheme.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/prop.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/propOr.mjs","../node_modules/@dbmx/sdmx/esm/types/conceptscheme.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/values.mjs","../node_modules/@dbmx/sdmx/esm/types/contentconstraint.mjs","../node_modules/@dbmx/sdmx/esm/types/dataproviderscheme.mjs","../node_modules/@dbmx/sdmx/esm/types/hierarchicalcodelist.mjs","../node_modules/@dbmx/sdmx/esm/types/dataconstraint.mjs","../node_modules/@dbmx/sdmx/esm/types/provisionagreement.mjs","../node_modules/@dbmx/sdmx/esm/types/metadatastructure.mjs","../node_modules/@dbmx/sdmx/esm/types/artefacts.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/pick.mjs","../node_modules/@dbmx/sdmx/esm/core.mjs","../node_modules/@dbmx/sdmx/esm/_virtual/_commonjsHelpers.mjs","../node_modules/@dbmx/sdmx/esm/_virtual/url-join.mjs","../node_modules/@dbmx/sdmx/esm/node_modules/url-join/lib/url-join.mjs","../node_modules/@dbmx/sdmx/esm/query.mjs","../node_modules/@dbmx/sdmx/esm/datastructures.mjs","../src/components/SdmxDatagrid/utils/index.js","../src/components/SdmxDatagrid/SDMXGrid.jsx","../src/components/SdmxDatagrid/index.jsx","../src/webComponents/SDMXDatagrid/index.js"],"sourcesContent":["'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","import LRU from 'lru-cache';\n\nconst MAX_LENGTH = 256;\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\nconst numeric = /^[0-9]+$/;\n\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a);\n const bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n};\n\nclass SemVerError extends Error {\n constructor(message) {\n super(message);\n this.name = this.constructor.name;\n }\n}\n\nconst re = [];\nconst src = [];\nconst t = {};\nlet R = 0;\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++;\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n};\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*');\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken(\n 'MAINVERSION',\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` + `(${src[t.NUMERICIDENTIFIER]})(?:\\\\.` + `(${src[t.NUMERICIDENTIFIER]}))?`,\n);\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+');\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`);\n\ncreateToken('GTLT', '((?:<|>)?=?)');\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n\nclass SemVer {\n constructor(version) {\n if (version instanceof SemVer) {\n version = version.version;\n } else if (typeof version !== 'string') {\n throw new SemVerError(`Invalid Version: ${JSON.stringify(version, null, 4)}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new SemVerError(`version is longer than ${MAX_LENGTH} characters`)\n }\n\n const m = version.trim().match(re[t.FULL]);\n\n if (!m) {\n throw new SemVerError(`Invalid Version: ${version}`)\n }\n\n // these are actually numbers\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = m[3] ? +m[3] : null;\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new SemVerError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new SemVerError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new SemVerError('Invalid patch version')\n }\n\n this.extension = m[4] || null;\n\n if (this.patch === null && this.extension) {\n throw new SemVerError('Invalid version')\n }\n\n this.format();\n }\n\n is2Parts() {\n return this.patch === null\n }\n\n parts(){\n return this.extension === null ? this.patch === null ? 2 : 3 : 4\n }\n\n isNonVersioned(){\n return this.parts() === 2\n }\n\n isStable() {\n return !this.extension && this.major > 0 && !this.is2Parts()\n }\n\n format() {\n this.version = this.is2Parts() ? `${this.major}.${this.minor}` : `${this.major}.${this.minor}.${this.patch}`;\n if (this.extension) this.version += `-${this.extension}`;\n return this.version\n }\n\n toString() {\n return this.version\n }\n\n compare(other) {\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other);\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other);\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n this.comparePatch(other)\n )\n }\n\n comparePatch(other) {\n if (this.patch === other.patch) return 0\n // if (this.is2Parts() && other.patch === 0) return 0\n if (this.is2Parts()) return -1\n if (other.is2Parts()) return 1\n return compareIdentifiers(this.patch, other.patch)\n }\n\n comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other);\n }\n\n // NOT having a extension is > having one\n if (this.extension && !other.extension) {\n return -1\n } else if (!this.extension && other.extension) {\n return 1\n } else if (!this.extension && !other.extension) {\n return 0\n }\n\n let i = 0;\n do {\n const a = this.extension[i];\n const b = other.extension[i];\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n}\n\nvar SemVer$1 = version => new SemVer(version);\n\nconst compare = (a, b) => SemVer$1(a).compare(SemVer$1(b));\nconst eq = (a, b) => compare(a, b) === 0;\nconst neq = (a, b) => compare(a, b) !== 0;\nconst gt = (a, b) => compare(a, b) > 0;\nconst gte = (a, b) => compare(a, b) >= 0;\nconst lt = (a, b) => compare(a, b) < 0;\nconst lte = (a, b) => compare(a, b) <= 0;\n\nvar cmp = (a, op, b) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n return a === b\n\n case '!==':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b)\n\n case '!=':\n return neq(a, b)\n\n case '>':\n return gt(a, b)\n\n case '>=':\n return gte(a, b)\n\n case '<':\n return lt(a, b)\n\n case '<=':\n return lte(a, b)\n\n default:\n throw new SemVerError(`Invalid operator: ${op}`)\n }\n};\n\nconst ANY = Symbol('SemVer ANY');\n\nclass Comparator {\n static get ANY() {\n return ANY\n }\n\n constructor(comp) {\n if (comp instanceof Comparator) {\n comp = comp.value;\n }\n\n this.parse(comp);\n\n if (this.semver === ANY) {\n this.value = '';\n } else {\n this.value = this.operator + this.semver.version;\n }\n }\n\n parse(comp) {\n const r = re[t.COMPARATOR];\n const m = comp.match(r);\n\n if (!m) {\n throw new SemVerError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : '';\n if (this.operator === '=') {\n this.operator = '';\n }\n\n this.semver = SemVer$1(m[2]);\n }\n\n toString() {\n return this.value\n }\n\n test(version) {\n // if (this.semver === ANY || version === ANY) {\n // return true\n // }\n\n if (typeof version === 'string') {\n try {\n version = SemVer$1(version);\n } catch (err) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver)\n }\n\n intersects(comp) {\n if (!(comp instanceof Comparator)) {\n throw new SemVerError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return Range$1(comp.value).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return Range$1(this.value).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>');\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<');\n const sameSemVer = this.semver.version === comp.semver.version;\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<=');\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<');\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>');\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nvar Comparator$1 = comp => new Comparator(comp);\n\nconst cache = new LRU({ max: 1000 });\n\nconst NUM = '0|[1-9]\\\\d*';\nconst RANGE_TYPE = {\n ONE: 'one',\n MANY: 'many',\n LATEST: 'latest',\n};\n\nconst matchSemVer = (string, map) => regexp => {\n const res = string.match(regexp);\n if (!res) return () => false\n const result = () => true;\n for (const [key, pos, def = 0] of map) {\n result[key] = res[pos] || def;\n }\n return result\n};\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = comparators => {\n let result = true;\n const remainingComparators = comparators.slice();\n let testComparator = remainingComparators.pop();\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every(otherComparator => {\n return testComparator.intersects(otherComparator)\n });\n\n testComparator = remainingComparators.pop();\n }\n\n return result\n};\n\nclass Range {\n constructor(range) {\n if (range instanceof Range) return new Range(range.raw)\n\n if (range instanceof Comparator) {\n this.raw = range.value;\n this.set = [[range]];\n this.format();\n return this\n }\n\n this.raw = range;\n const [type, set, subType] = this.makeRangeSet(range);\n this.set = set;\n this.type = type;\n this.subType = subType;\n\n if (!this.set.length) {\n throw new SemVerError(`Invalid SemVer Range: ${range}`)\n }\n\n this.format();\n }\n\n get comparators() {\n const res = [];\n for (const a of this.set) {\n for (const b of a) {\n res.push(b);\n }\n }\n return res\n }\n\n isMonoVersion() {\n return this.type === RANGE_TYPE.ONE\n }\n\n isResolved() {\n return this.isMonoVersion()\n }\n\n format() {\n this.range = this.set\n .map(comps => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim();\n return this.range\n }\n\n toString() {\n return this.range\n }\n\n makeRangeSet(range) {\n range = range.trim();\n const memoKey = `parseRange:${range}`;\n const cached = cache.get(memoKey);\n if (cached) return cached\n\n range = range.replace(/\\s+/, '');\n\n const [type, comparators, subType] = makeComparators(range);\n if (!comparators) return [null, []]\n\n const set = comparators.map(comp => comp.split(/\\s+/).map(comp => Comparator$1(comp)));\n\n cache.set(memoKey, [type, set, subType]);\n return [type, set, subType]\n }\n\n intersects(range) {\n if (!(range instanceof Range)) {\n throw new SemVerError('a Range is required')\n }\n\n return this.set.some(thisComparators => {\n return (\n isSatisfiable(thisComparators) &&\n range.set.some(rangeComparators => {\n return (\n isSatisfiable(rangeComparators) &&\n thisComparators.every(thisComparator => {\n return rangeComparators.every(rangeComparator => {\n return thisComparator.intersects(rangeComparator)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test(version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = SemVer$1(version);\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version)) return true\n }\n return false\n }\n}\n\nconst RANGE_SUB_TYPE = {\n RESOLVED: 'resolved',\n STABLE: 'stable',\n LATEST_STABLE: 'latest_stable',\n LATEST_UNSTABLE: 'latest_unstable',\n UNSTABLE: 'unstable',\n ALL: 'all',\n ABOVE: 'above'\n};\n\n\nconst makeComparators = comp => {\n let newComp;\n\n newComp = checkSpecific(comp);\n if (newComp) return [RANGE_TYPE.ONE, [newComp], RANGE_SUB_TYPE.RESOLVED]\n\n newComp = checkOnlyStable(comp);\n if (newComp) return [RANGE_TYPE.LATEST, [newComp], RANGE_SUB_TYPE.STABLE]\n\n newComp = checkLatestStable(comp);\n if (newComp) return [RANGE_TYPE.LATEST, [newComp], RANGE_SUB_TYPE.LATEST_STABLE]\n\n newComp = checkLatestUnStable(comp);\n if (newComp) return [RANGE_TYPE.LATEST, [newComp], RANGE_SUB_TYPE.LATEST_UNSTABLE]\n\n newComp = checkPossibleUnstable(comp);\n if (newComp) return [RANGE_TYPE.LATEST, [newComp], RANGE_SUB_TYPE.UNSTABLE]\n\n newComp = checkAllVersions(comp);\n if (newComp) return [RANGE_TYPE.MANY, newComp, RANGE_SUB_TYPE.ALL]\n\n newComp = checkAllAboveVersions(comp);\n if (newComp) return [RANGE_TYPE.MANY, newComp, RANGE_SUB_TYPE.ABOVE]\n\n return []\n};\n\nconst checkSpecific = comp => {\n const res = comp.match(re[t.FULL]);\n if (res) return comp\n};\n\nconst checkAllVersions = comp => {\n if (comp === '*') return ['>=0.0.0-0', '>=0.0']\n const match = matchSemVer(comp, [\n ['M', 1],\n ['m', 2],\n ['p', 3],\n ]);\n let r;\n\n r = match(`^(${NUM})[.]([*])$`);\n if (r()) return [`>=${r.M}.0 <${+r.M + 1}.0`]\n\n r = match(`^(${NUM})[.]([*])[.](${NUM})$`);\n if (r()) return [`>=${r.M}.0.0-0 <${+r.M + 1}.0.0-0`]\n\n r = match(`^(${NUM})[.](${NUM})[.]([*])$`);\n if (r()) return [`>=${r.M}.${r.m}.0-0 <${r.M}.${+r.m + 1}.0-0`]\n};\n\nconst checkAllAboveVersions = comp => {\n const match = matchSemVer(comp, [\n ['M', 1],\n ['m', 2],\n ['p', 3],\n ]);\n let r;\n\n r = match(`^(${NUM})[.](${NUM})[*]$`);\n if (r()) return [`>=${r.M}.${r.m} <${+r.M + 1}.0`]\n\n r = match(`^(${NUM})[.](${NUM})[*][.](${NUM})$`);\n if (r()) return [`>=${r.M}.${r.m}.0-0 <${+r.M + 1}.0.0-0`]\n\n r = match(`^(${NUM})[.](${NUM})[.](${NUM})[*]$`);\n if (r()) return [`>=${r.M}.${r.m}.${r.p}-0 <${r.M}.${+r.m + 1}.0-0`]\n};\n\nconst checkPossibleUnstable = comp => {\n if (comp === '~') return `>=0.0.0-0`\n const match = matchSemVer(comp, [\n ['M', 1],\n ['m', 2],\n ['p', 3],\n ]);\n let r;\n\n r = match(`^(${NUM})[.]([~])$`);\n if (r()) return `>=${r.M}.0 <${+r.M + 1}.0`\n\n r = match(`^(${NUM})[.]([~])[.](${NUM})$`);\n if (r()) return `>=${r.M}.0.0-0 <${+r.M + 1}.0.0-0`\n\n r = match(`^(${NUM})[.](${NUM})[.]([~])$`);\n if (r()) return `>=${r.M}.${r.m}.0-0 <${r.M}.${+r.m + 1}.0-0`\n};\n\nconst checkOnlyStable = comp => {\n if (comp === '+') return `>=1.0.0`\n const match = matchSemVer(comp, [\n ['M', 1],\n ['m', 2],\n ['p', 3],\n ]);\n\n let r;\n\n r = match(`^(${NUM})[.]([+])(?:[.](${NUM}))?$`);\n if (r()) return `>=${r.M}.0.0 <${+r.M + 1}.0.0`\n\n r = match(`^(${NUM})[.](${NUM})[.]([+])$`);\n if (r()) return `>=${r.M}.${r.m}.0 <${r.M}.${+r.m + 1}.0`\n};\n\nconst checkLatestStable = comp => {\n const match = matchSemVer(comp, [\n ['M', 1],\n ['m', 2],\n ['p', 3],\n ]);\n\n let r;\n r = match(`^(${NUM})[+][.](${NUM})[.](${NUM})$`);\n if (r()) return `>=${r.M}.${r.m}.${r.p}`\n\n r = match(`^(${NUM})[.](${NUM})[+][.](${NUM})$`);\n if (r()) return `>=${r.M}.${r.m}.${r.p} <${+r.M + 1}.0.0`\n\n r = match(`^(${NUM})[.](${NUM})[.](${NUM})[+]$`);\n if (r()) return `>=${r.M}.${r.m}.${r.p} <${r.M}.${+r.m + 1}.0`\n};\n\nconst checkLatestUnStable = comp => {\n const match = matchSemVer(comp, [\n ['M', 1],\n ['m', 2],\n ['p', 3],\n ]);\n\n let r;\n r = match(`^(${NUM})[~][.](${NUM})[.](${NUM})$`);\n if (r()) return `>=${r.M}.${r.m}.${r.p}-0`\n\n r = match(`^(${NUM})[.](${NUM})[~][.](${NUM})$`);\n if (r()) return `>=${r.M}.${r.m}.${r.p}-0 <${+r.M + 1}.0.0-0`\n\n r = match(`^(${NUM})[.](${NUM})[.](${NUM})[~]$`);\n if (r()) return `>=${r.M}.${r.m}.${r.p}-0 <${r.M}.${+r.m + 1}.0-0`\n};\n\nconst testSet = (set, version) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) return false\n if (set[i].semver.isStable() && !version.isStable()) return false\n if (set[i].semver.is2Parts() && !version.is2Parts()) return false\n }\n\n return true\n};\n\nvar Range$1 = range => new Range(range);\n\nclass Matcher {\n constructor(value) {\n this.raw = value;\n this.range = Range$1(value);\n if(this.range.type !== RANGE_TYPE.ONE && this.range.type !== RANGE_TYPE.LATEST) throw new SemVerError(`Wrong version for matcher ${value}`)\n }\n\n\n isMonoType() {\n return this.range.type === RANGE_TYPE.ONE\n }\n\n isResolved() {\n return this.isMonoType()\n }\n\n isLatestType() {\n return this.range.type === RANGE_TYPE.LATEST\n }\n\n}\n\nvar matcher = value => new Matcher(value);\n\nclass Dependency {\n constructor(source, value) {\n if (!value) throw new SemVerError(`Dependency version must be defined`)\n if (!source?.version) throw new SemVerError(`Dependency source cannot be undefined`)\n this.raw = value;\n this.source = source;\n this.range = Range$1(value);\n const sVersion = SemVer$1(source.version);\n if (!this.range.isResolved()) {\n if (this.range.subType !== RANGE_SUB_TYPE.LATEST_STABLE) throw new SemVerError(`Wrong dependency ${value}`)\n if (!sVersion.isStable()) {\n this.range = Range$1(value.replace('+', '~'));\n }\n } else {\n const tVersion = SemVer$1(value);\n if (sVersion.isStable() && !tVersion.isStable())\n throw new SemVerError(\n `Wrong dependency: Semantically versioned artefacts MUST only reference another semantically versioned artefacts`,\n )\n }\n }\n\n isResolved() {\n return this.range.type === RANGE_TYPE.ONE\n }\n}\n\nvar dependency = (source, value) => new Dependency(source, value);\n\nconst isValidDependency = (source, targetVersion) => {\n try {\n new Dependency(source, targetVersion);\n return true\n } catch (err) {\n return false\n }\n};\n\nexport { Comparator$1 as Comparator, dependency as Dependency, matcher as Matcher, RANGE_TYPE, Range$1 as Range, SemVer$1 as SemVer, SemVerError, isValidDependency };\n","'use strict';\n\nvar semver = require('@dbmx/semver');\n\n// TODO: remove resourceType from comparaison\nconst matchRefVersionLess = (ref, resource) =>\n ((ref.resourceType && resource.resourceType && ref.resourceType === resource.resourceType) ||\n !ref.resourceType ||\n !resource.resourceType) &&\n ref.id === resource.id &&\n ref.agencyID === resource.agencyID;\n\nconst getOne = (ref, range, resources) => {\n for (const resource of resources) {\n if (matchRefVersionLess(ref, resource) && range.test(resource.version)) return resource\n }\n};\n\nconst getLatest = (ref, range, resources) => {\n let res = [];\n if (resources.length === 1 && range.raw === '~') return resources[0]\n for (const resource of resources) {\n if (!matchRefVersionLess(ref, resource)) continue\n const semver$1 = semver.SemVer(resource.version);\n if (semver$1.isNonVersioned()) continue\n if (range.test(semver$1)) {\n if (!res[0]) res = [resource, semver$1];\n else if (semver$1.compare(res[1]) === 1) res = [resource, semver$1];\n }\n }\n return res[0]\n};\n\n/**\n * Returns an external resource from the input\n *\n * @function resolveDependency\n * @tag dependency\n * @param {array} - all possible resources\n * @param {object} - source of the dependency\n * @param {object} - target version\n *\n * @example\n *\n * const resources = [\n * { agencyID: 'A', id: 'ID1', version: '1.0.0' },\n * { agencyID: 'A', id: 'ID2', version: '1.0.1' },\n * { agencyID: 'A', id: 'ID3', version: '1.1.1' },\n * ]\n * const ref = resolveDependency(resources, { version: 1.0.0 }, { resourceType, agencyID, id, version: '1.1+.0' }\n * expect(ref.id}.toEqual('ID3')\n */\n\nconst resolveDependency = (resources, source, ref, { noError } = {}) => {\n try {\n const range = semver.Dependency(source, ref.version).range;\n if (range.type === semver.RANGE_TYPE.LATEST) return getLatest(ref, range, resources)\n return getOne(ref, range, resources)\n } catch (err) {\n if (noError) return\n throw err\n }\n};\n\nconst resolveDataTarget = (resources, ref) => {\n try {\n const range = semver.Range(ref.version);\n if (range.type === semver.RANGE_TYPE.LATEST) return getLatest(ref, range, resources)\n return getOne(ref, range, resources)\n } catch (err) {\n return\n }\n};\n\nexports.resolveDataTarget = resolveDataTarget;\nexports.resolveDependency = resolveDependency;\n","'use strict';\n\nvar core = require('./core.js');\n\n/**\n * Returns fully qualified items for parent and categories relations\n *\n * @function getFullyQualifiedItems\n * @tag items\n * @tag structure\n * @param {array} - items\n * @param {object} - options [flatten: bool: get flatten array of items ]\n *\n * @example\n *\n * const source = {}\n * const codes = [\n * { id: 'A' },\n * { id: 'E' },\n * { id: 'F', parent: 'E' },\n * { id: 'B', parent: 'A' },\n * { id: 'C', parent: 'A' },\n * { id: 'D', parent: 'B' },\n * ]\n *\n * const res = new Set(getFullyQualifiedItems(codes).map(code => code.fullId))\n * expect(res).toEqual(new Set(['A', 'E', 'E.F', 'A.B', 'A.C', 'A.B.D']))\n */\n\nconst getFullyQualifiedItems = (items = [], options = {}) => {\n const roots = {};\n const nodes = {};\n const parentIds = {};\n const childrendIds = {};\n const getLabel = options.getLabel ?? ((parentName, itemName) => `${parentName} > ${itemName}`);\n const fullId = item => {\n const parentId = parentIds[item.id];\n if (!parentId) return item.id\n const parent = nodes[parentId];\n if (!parent) throw new Error(`Invalid code: ${parentId} code does not exist`)\n return `${parent.fullId}.${item.id}`\n };\n const fullName = (locale, item) => {\n const parentId = parentIds[item.id];\n const name = core.getName(locale, item) ?? item.id;\n if (!parentId) return name\n const parent = nodes[parentId];\n if (!parent) throw new Error(`Invalid code: ${parentId} code does not exist`)\n return getLabel(parent.fullName(locale), name)\n };\n\n const scan = (items, parent) => {\n for (const item of items) {\n if (!nodes[item.id]) {\n nodes[item.id] = {\n ...item,\n fullName(locale) {\n return fullName(locale, item)\n },\n get fullId() {\n return fullId(item)\n },\n get children() {\n return childrendIds[item.id]?.map(id => nodes[id]) ?? []\n },\n };\n if (item.parent) {\n parentIds[item.id] = item.parent;\n if (!childrendIds[item.parent]) childrendIds[item.parent] = [item.id];\n else childrendIds[item.parent].push(item.id);\n } else if (parent) {\n parentIds[item.id] = parent.id;\n if (!childrendIds[parent.id]) childrendIds[parent.id] = [item.id];\n else childrendIds[parent.id].push(item.id);\n }\n if (!parent && !item.parent) roots[item.id] = nodes[item.id];\n if (item.categories) scan(item.categories, item);\n }\n }\n };\n\n scan(items);\n return options.flatten ? Object.values(nodes) : Object.values(roots)\n};\n\nconst getItems = (resourceType, values) => {\n const resource = core.getArtefactByType(resourceType);\n if (!resource?.isItemScheme) throw new Error(`Invalid resourceType: \"${resourceType}\"`)\n return values?.[resource.itemsName] || []\n};\n\nexports.getFullyQualifiedItems = getFullyQualifiedItems;\nexports.getItems = getItems;\n","'use strict';\n\nconst URLRegEx =\n // protocol identifier\n '(?:(?:https?|ftp)://)' +\n // user:pass authentication\n '(?:\\\\S+(?::\\\\S*)?@)?' +\n '(?:' +\n // IP address exclusion\n // private & local networks\n '(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})' +\n '(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})' +\n '(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})' +\n // IP address dotted notation octets\n // excludes loopback network 0.0.0.0\n // excludes reserved space >= 224.0.0.0\n // excludes network & broacast addresses\n // (first & last IP address of each class)\n '(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])' +\n '(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}' +\n '(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))' +\n '|' +\n // host name\n '(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)' +\n // domain name\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*' +\n // TLD identifier\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))' +\n ')' +\n // port number\n '(?::\\\\d{2,5})?' +\n // resource path\n '(?:/\\\\S*)?';\n\nvar urlRegex = new RegExp('^' + URLRegEx + '$', 'i');\n\nmodule.exports = urlRegex;\n","'use strict';\n\nconst SDMX = ({ name, packageName, className, version }) => {\n const self = { name, packageName, className };\n if (version) self.version = version;\n return self\n};\n\nfunction defaultGetChildRefs() {\n return []\n}\n\nconst Artefact = ({ structureName, getChildRefs, ...props }) => {\n const self = SDMX(props);\n self.type = 'artefact';\n self.resourceType = self.name;\n self.structureName = structureName;\n self.getChildRefs = getChildRefs ? getChildRefs.bind(self) : defaultGetChildRefs;\n self.isArtefact = true;\n return self\n};\n\nconst ItemScheme = ({ itemsName, ...props }) => {\n const self = Artefact(props);\n self.itemsName = itemsName;\n self.isItemScheme = true;\n return self\n};\n\nconst Item = ({ schemeName, ...props }) => {\n const self = SDMX(props);\n self.type = 'item';\n self.resourceType = self.name;\n self.schemeName = schemeName ?? self.packageName;\n self.isItem = true;\n return self\n};\n\nconst Component = ({ schemeName, ...props }) => {\n const self = SDMX(props);\n self.type = 'component';\n self.schemeName = schemeName ?? self.packageName;\n self.isComponent = true;\n return self\n};\n\nexports.Artefact = Artefact;\nexports.Component = Component;\nexports.Item = Item;\nexports.ItemScheme = ItemScheme;\nexports.SDMX = SDMX;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\n\nfunction getChildRefs(input) {\n if (input.isExternalReference) return []\n if (!input.structure) return []\n return [core.urn2FullRef(input.structure)]\n}\n\nvar Dataflow = sdmx.Artefact({\n name: 'dataflow',\n structureName: 'dataflows',\n packageName: 'datastructure',\n className: 'Dataflow',\n getChildRefs,\n});\n\nmodule.exports = Dataflow;\n","'use strict';\n\nfunction _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}\n\nmodule.exports = _arity;\n","'use strict';\n\nfunction _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}\n\nmodule.exports = _pipe;\n","'use strict';\n\nfunction _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}\n\nmodule.exports = _isPlaceholder;\n","'use strict';\n\nvar _isPlaceholder = require('./_isPlaceholder.js');\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}\n\nmodule.exports = _curry1;\n","'use strict';\n\nvar _curry1 = require('./_curry1.js');\nvar _isPlaceholder = require('./_isPlaceholder.js');\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}\n\nmodule.exports = _curry2;\n","'use strict';\n\nvar _curry1 = require('./_curry1.js');\nvar _curry2 = require('./_curry2.js');\nvar _isPlaceholder = require('./_isPlaceholder.js');\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}\n\nmodule.exports = _curry3;\n","'use strict';\n\n/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nvar _isArray = Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};\n\nmodule.exports = _isArray;\n","'use strict';\n\nfunction _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}\n\nmodule.exports = _isString;\n","'use strict';\n\nvar _curry1 = require('./_curry1.js');\nvar _isArray = require('./_isArray.js');\nvar _isString = require('./_isString.js');\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n * _isArrayLike({nodeType: 1, length: 1}) // => false\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nvar _isArrayLike$1 = _isArrayLike;\n\nmodule.exports = _isArrayLike$1;\n","'use strict';\n\nvar _isArrayLike = require('./_isArrayLike.js');\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nfunction _createReduce(arrayReduce, methodReduce, iterableReduce) {\n return function _reduce(xf, acc, list) {\n if (_isArrayLike(list)) {\n return arrayReduce(xf, acc, list);\n }\n\n if (list == null) {\n return acc;\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return methodReduce(xf, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return iterableReduce(xf, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return iterableReduce(xf, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return methodReduce(xf, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n };\n}\n\nmodule.exports = _createReduce;\n","'use strict';\n\nfunction _xArrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nmodule.exports = _xArrayReduce;\n","'use strict';\n\nvar _arity = require('./internal/_arity.js');\nvar _curry2 = require('./internal/_curry2.js');\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nvar bind$1 = bind;\n\nmodule.exports = bind$1;\n","'use strict';\n\nvar _createReduce = require('./_createReduce.js');\nvar _xArrayReduce = require('./_xArrayReduce.js');\nvar bind = require('../bind.js');\n\nfunction _xIterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _xMethodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar _xReduce =\n/*#__PURE__*/\n_createReduce(_xArrayReduce, _xMethodReduce, _xIterableReduce);\n\nvar _xReduce$1 = _xReduce;\n\nmodule.exports = _xReduce$1;\n","'use strict';\n\nvar XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nfunction _xwrap(fn) {\n return new XWrap(fn);\n}\n\nmodule.exports = _xwrap;\n","'use strict';\n\nvar _curry3 = require('./internal/_curry3.js');\nvar _xReduce = require('./internal/_xReduce.js');\nvar _xwrap = require('./internal/_xwrap.js');\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Be cautious of mutating and returning the accumulator. If you reuse it across\n * invocations, it will continue to accumulate onto the same value. The general\n * recommendation is to always return a new value. If you can't do so for\n * performance reasons, then be sure to reinitialize the accumulator on each\n * invocation.\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(function (xf, acc, list) {\n return _xReduce(typeof xf === 'function' ? _xwrap(xf) : xf, acc, list);\n});\n\nvar reduce$1 = reduce;\n\nmodule.exports = reduce$1;\n","'use strict';\n\nvar _isArray = require('./_isArray.js');\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implementation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nfunction _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}\n\nmodule.exports = _checkForMethod;\n","'use strict';\n\nvar _checkForMethod = require('./internal/_checkForMethod.js');\nvar _curry3 = require('./internal/_curry3.js');\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nvar slice$1 = slice;\n\nmodule.exports = slice$1;\n","'use strict';\n\nvar _checkForMethod = require('./internal/_checkForMethod.js');\nvar _curry1 = require('./internal/_curry1.js');\nvar slice = require('./slice.js');\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\n\nvar tail =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_checkForMethod('tail',\n/*#__PURE__*/\nslice(1, Infinity)));\n\nvar tail$1 = tail;\n\nmodule.exports = tail$1;\n","'use strict';\n\nvar _arity = require('./internal/_arity.js');\nvar _pipe = require('./internal/_pipe.js');\nvar reduce = require('./reduce.js');\nvar tail = require('./tail.js');\n\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n * @symb R.pipe(f, g, h)(a)(b) = h(g(f(a)))(b)\n */\n\nfunction pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}\n\nmodule.exports = pipe;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\nvar _isString = require('./internal/_isString.js');\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\n\nvar reverse =\n/*#__PURE__*/\n_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n\nvar reverse$1 = reverse;\n\nmodule.exports = reverse$1;\n","'use strict';\n\nvar pipe = require('./pipe.js');\nvar reverse = require('./reverse.js');\n\n/**\n * Performs right-to-left function composition. The last argument may have\n * any arity; the remaining arguments must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * const classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * const yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n * @symb R.compose(f, g, h)(a)(b) = f(g(h(a)))(b)\n */\n\nfunction compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n\n return pipe.apply(this, reverse(arguments));\n}\n\nmodule.exports = compose;\n","'use strict';\n\nfunction _arrayReduce(reducer, acc, list) {\n var index = 0;\n var length = list.length;\n\n while (index < length) {\n acc = reducer(acc, list[index]);\n index += 1;\n }\n\n return acc;\n}\n\nmodule.exports = _arrayReduce;\n","'use strict';\n\nfunction _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}\n\nmodule.exports = _isTransformer;\n","'use strict';\n\nvar _isArray = require('./_isArray.js');\nvar _isTransformer = require('./_isTransformer.js');\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer created by [transducerCreator] to return a new transformer\n * (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} transducerCreator transducer factory if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nfunction _dispatchable(methodNames, transducerCreator, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var obj = arguments[arguments.length - 1];\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}\n\nmodule.exports = _dispatchable;\n","'use strict';\n\nfunction _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}\n\nmodule.exports = _map;\n","'use strict';\n\nvar _xfBase = {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};\n\nmodule.exports = _xfBase;\n","'use strict';\n\nvar _xfBase = require('./_xfBase.js');\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap = function _xmap(f) {\n return function (xf) {\n return new XMap(f, xf);\n };\n};\n\nvar _xmap$1 = _xmap;\n\nmodule.exports = _xmap$1;\n","'use strict';\n\nvar _arity = require('./_arity.js');\nvar _isPlaceholder = require('./_isPlaceholder.js');\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n var hasPlaceholder = false;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n } else {\n hasPlaceholder = true;\n }\n\n combinedIdx += 1;\n }\n\n return !hasPlaceholder && left <= 0 ? fn.apply(this, combined) : _arity(Math.max(0, left), _curryN(length, combined, fn));\n };\n}\n\nmodule.exports = _curryN;\n","'use strict';\n\nvar _arity = require('./internal/_arity.js');\nvar _curry1 = require('./internal/_curry1.js');\nvar _curry2 = require('./internal/_curry2.js');\nvar _curryN = require('./internal/_curryN.js');\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nvar curryN$1 = curryN;\n\nmodule.exports = curryN$1;\n","'use strict';\n\nfunction _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = _has;\n","'use strict';\n\nvar _has = require('./_has.js');\n\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nvar _isArguments$1 = _isArguments;\n\nmodule.exports = _isArguments$1;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\nvar _has = require('./internal/_has.js');\nvar _isArguments = require('./internal/_isArguments.js');\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nvar keys$1 = keys;\n\nmodule.exports = keys$1;\n","'use strict';\n\nvar _arrayReduce = require('./internal/_arrayReduce.js');\nvar _curry2 = require('./internal/_curry2.js');\nvar _dispatchable = require('./internal/_dispatchable.js');\nvar _map = require('./internal/_map.js');\nvar _xmap = require('./internal/_xmap.js');\nvar curryN = require('./curryN.js');\nvar keys = require('./keys.js');\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex, R.pluck, R.project\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _arrayReduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nvar map$1 = map;\n\nmodule.exports = map$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n\nvar defaultTo$1 = defaultTo;\n\nmodule.exports = defaultTo$1;\n","'use strict';\n\n/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nvar _isInteger = Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};\n\nmodule.exports = _isInteger;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar _isString = require('./internal/_isString.js');\n\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nvar nth$1 = nth;\n\nmodule.exports = nth$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar _isInteger = require('./internal/_isInteger.js');\nvar nth = require('./nth.js');\n\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int | Symbol]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nvar paths$1 = paths;\n\nmodule.exports = paths$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar paths = require('./paths.js');\n\n/**\n * Retrieves the value at a given path. The nodes of the path can be arbitrary strings or non-negative integers.\n * For anything else, the value is unspecified. Integer paths are meant to index arrays, strings are meant for objects.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {a} -> a | Undefined\n * @sig Idx = String | NonNegativeInt\n * @param {Array} path The path to use.\n * @param {Object} obj The object or array to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth, R.assocPath, R.dissocPath\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n * R.path([2], {'2': 2}); //=> 2\n * R.path([-2], {'-2': 'a'}); //=> undefined\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nvar path$1 = path;\n\nmodule.exports = path$1;\n","'use strict';\n\nvar _curry3 = require('./internal/_curry3.js');\nvar defaultTo = require('./defaultTo.js');\nvar path = require('./path.js');\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\n\nvar pathOr =\n/*#__PURE__*/\n_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n\nvar pathOr$1 = pathOr;\n\nmodule.exports = pathOr$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\n\n/**\n * See if an object (i.e. `val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n * If `val` was created using `Object.create`, `R.is(Object, val) === true`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\n\nvar is =\n/*#__PURE__*/\n_curry2(function is(Ctor, val) {\n return val instanceof Ctor || val != null && (val.constructor === Ctor || Ctor.name === 'Object' && typeof val === 'object');\n});\n\nvar is$1 = is;\n\nmodule.exports = is$1;\n","'use strict';\n\nvar _checkForMethod = require('./internal/_checkForMethod.js');\nvar _curry2 = require('./internal/_curry2.js');\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\n\nvar forEach =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n\n return list;\n}));\n\nvar forEach$1 = forEach;\n\nmodule.exports = forEach$1;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar compose = require('../node_modules/ramda/es/compose.js');\nvar map = require('../node_modules/ramda/es/map.js');\nvar pathOr = require('../node_modules/ramda/es/pathOr.js');\nvar reduce = require('../node_modules/ramda/es/reduce.js');\nvar is = require('../node_modules/ramda/es/is.js');\nvar forEach = require('../node_modules/ramda/es/forEach.js');\n\nconst collect = (res, name, value) => {\n if (!value) return\n const newValue = is(Array, value) ? value : [value];\n if (!res[name]) res[name] = new Set(newValue);\n else forEach(v => res[name].add(v), newValue);\n};\n\nconst collectAll = (res, { conceptIdentity, localRepresentation, conceptRoles = [] }) => {\n collect(res, 'conceptschemeRefs', core.urn2FullRef(conceptIdentity));\n collect(res, 'conceptschemeRefs', map(core.urn2FullRef, conceptRoles));\n collect(res, 'codelistRefs', core.urn2FullRef(localRepresentation?.enumeration));\n};\n\nconst analyseComponent =\n path =>\n ([data, res]) => {\n collectAll(res, pathOr({}, path, data));\n return [data, res]\n };\n\nconst analyseComponents =\n path =>\n ([data, res]) =>\n [\n data,\n reduce(\n (acc, component) => {\n collectAll(res, component);\n return acc\n },\n res,\n pathOr([], path, data),\n ),\n ];\n\nconst analyseDataStructureComponents = ({ dataStructureComponents }) =>\n compose(\n ([, res]) => map(x => [...x], res),\n analyseComponents(['attributeList', 'attributes']),\n analyseComponents(['dimensionList', 'dimensions']),\n analyseComponents(['dimensionList', 'measureDimensions']),\n analyseComponent(['dimensionList', 'timeDimension']),\n analyseComponents(['dimensionList', 'timeDimensions']), // v2\n analyseComponents(['measureList', 'measures']),\n analyseComponent(['measureList', 'primaryMeasure']), // v2\n )([dataStructureComponents, {}]);\n\nfunction getChildRefs(input) {\n const analyse = analyseDataStructureComponents(input);\n const res = [...(analyse.conceptschemeRefs || []), ...(analyse.codelistRefs || [])];\n if (input.metadata) res.push(core.urn2FullRef(input.metadata));\n return res\n}\n\nvar Datastructure = sdmx.Artefact({\n name: 'datastructure',\n structureName: 'dataStructures',\n packageName: 'datastructure',\n className: 'DataStructure',\n getChildRefs,\n});\n\nmodule.exports = Datastructure;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\n\nfunction getChildRefs(input) {\n return (input.codelistExtensions || []).map(ext => core.urn2FullRef(ext.codelist))\n}\n\nvar Codelist = sdmx.ItemScheme({\n name: 'codelist',\n structureName: 'codelists',\n packageName: 'codelist',\n className: 'Codelist',\n itemsName: 'codes',\n getChildRefs,\n});\n\nmodule.exports = Codelist;\n","'use strict';\n\nfunction _identity(x) {\n return x;\n}\n\nmodule.exports = _identity;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\nvar _identity = require('./internal/_identity.js');\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nvar identity$1 = identity;\n\nmodule.exports = identity$1;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar identity = require('../node_modules/ramda/es/identity.js');\n\nfunction getChildRefs(input) {\n return [core.urn2FullRef(input.source), core.urn2FullRef(input.target)].filter(identity)\n}\n\nvar Categorisation = sdmx.Artefact({\n name: 'categorisation',\n structureName: 'categorisations',\n packageName: 'categoryscheme',\n className: 'Categorisation',\n getChildRefs,\n});\n\nmodule.exports = Categorisation;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\n\nvar CategoryScheme = sdmx.ItemScheme({\n name: 'categoryscheme',\n structureName: 'categorySchemes',\n packageName: 'categoryscheme',\n className: 'CategoryScheme',\n itemsName: 'categories',\n});\n\nmodule.exports = CategoryScheme;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar _isInteger = require('./internal/_isInteger.js');\nvar nth = require('./nth.js');\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.props, R.pluck, R.project, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n if (obj == null) {\n return;\n }\n\n return _isInteger(p) ? nth(p, obj) : obj[p];\n});\n\nvar prop$1 = prop;\n\nmodule.exports = prop$1;\n","'use strict';\n\nvar _curry3 = require('./internal/_curry3.js');\nvar defaultTo = require('./defaultTo.js');\nvar prop = require('./prop.js');\n\n/**\n * Return the specified property of the given non-null object if the property\n * is present and it's value is not `null`, `undefined` or `NaN`.\n *\n * Otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\n\nvar propOr =\n/*#__PURE__*/\n_curry3(function propOr(val, p, obj) {\n return defaultTo(val, prop(p, obj));\n});\n\nvar propOr$1 = propOr;\n\nmodule.exports = propOr$1;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar propOr = require('../node_modules/ramda/es/propOr.js');\n\nconst getCoreRepresentations = input => {\n const refs = [];\n for (const concept of propOr([], 'concepts', input)) {\n const enumeration = concept.coreRepresentation?.enumeration;\n if (enumeration) refs.push(core.urn2FullRef(enumeration));\n }\n return refs\n};\n\nfunction getChildRefs(input) {\n return getCoreRepresentations(input)\n}\n\nvar ConcepScheme = sdmx.ItemScheme({\n name: 'conceptscheme',\n structureName: 'conceptSchemes',\n packageName: 'conceptscheme',\n className: 'ConceptScheme',\n itemsName: 'concepts',\n getChildRefs,\n});\n\nmodule.exports = ConcepScheme;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\nvar keys = require('./keys.js');\n\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys, R.toPairs\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\n\nvar values =\n/*#__PURE__*/\n_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n\n return vals;\n});\n\nvar values$1 = values;\n\nmodule.exports = values$1;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar reduce = require('../node_modules/ramda/es/reduce.js');\nvar map = require('../node_modules/ramda/es/map.js');\nvar values = require('../node_modules/ramda/es/values.js');\n\nfunction getChildRefs(input) {\n const { constraintAttachment = {} } = input;\n return reduce((acc, urns) => [...acc, ...map(urn => core.urn2FullRef(urn), urns)], [], values(constraintAttachment))\n}\n\nvar ContentConstraint = sdmx.Artefact({\n structureName: 'contentConstraints',\n name: 'contentconstraint',\n packageName: 'registry',\n className: 'ContentConstraint',\n version: 2,\n getChildRefs,\n});\n\nmodule.exports = ContentConstraint;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\n\nvar DataProviderScheme = sdmx.ItemScheme({\n structureName: 'dataProviderSchemes',\n name: 'dataproviderscheme',\n packageName: 'base',\n className: 'DataProviderScheme',\n itemsName: 'dataProviders',\n});\n\nmodule.exports = DataProviderScheme;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar map = require('../node_modules/ramda/es/map.js');\nvar values = require('../node_modules/ramda/es/values.js');\n\nfunction getChildRefs(input) {\n const { includedCodelists = {} } = input;\n return map(urn => core.urn2FullRef(urn), values(includedCodelists))\n}\n\nvar HierarchicalCodelist = sdmx.Artefact({\n structureName: 'hierarchicalCodelists',\n name: 'hierarchicalcodelist',\n packageName: 'codelist',\n className: 'Hierarchicalcode',\n version: 2,\n getChildRefs,\n});\n\nmodule.exports = HierarchicalCodelist;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar reduce = require('../node_modules/ramda/es/reduce.js');\nvar map = require('../node_modules/ramda/es/map.js');\nvar values = require('../node_modules/ramda/es/values.js');\n\nfunction getChildRefs(input) {\n const { constraintAttachment = {} } = input;\n return reduce((acc, urns) => [...acc, ...map(urn => core.urn2FullRef(urn), urns)], [], values(constraintAttachment))\n}\n\nvar DataConstraint = sdmx.Artefact({\n structureName: 'dataConstraints',\n name: 'dataconstraint',\n packageName: 'registry',\n className: 'DataConstraint',\n getChildRefs,\n});\n\nmodule.exports = DataConstraint;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar identity = require('../node_modules/ramda/es/identity.js');\n\nfunction getChildRefs(input) {\n return [core.urn2FullRef(input.structureUsage), core.urn2FullRef(input.dataProvider)].filter(identity)\n}\n\nvar ProvisionAgreement = sdmx.Artefact({\n structureName: 'provisionAgreements',\n name: 'provisionagreement',\n packageName: 'registry',\n className: 'ProvisionAgreement',\n getChildRefs,\n});\n\nmodule.exports = ProvisionAgreement;\n","'use strict';\n\nvar sdmx = require('./sdmx.js');\nvar core = require('../core.js');\nvar compose = require('../node_modules/ramda/es/compose.js');\nvar map = require('../node_modules/ramda/es/map.js');\nvar reduce = require('../node_modules/ramda/es/reduce.js');\nvar pathOr = require('../node_modules/ramda/es/pathOr.js');\nvar is = require('../node_modules/ramda/es/is.js');\nvar forEach = require('../node_modules/ramda/es/forEach.js');\n\nconst collect = (res, name, value) => {\n if (!value) return\n const newValue = is(Array, value) ? value : [value];\n if (!res[name]) res[name] = new Set(newValue);\n else forEach(v => res[name].add(v), newValue);\n};\n\nconst collectAll = (res, { conceptIdentity, localRepresentation }) => {\n collect(res, 'conceptschemeRefs', core.urn2FullRef(conceptIdentity));\n collect(res, 'codelistRefs', core.urn2FullRef(localRepresentation?.enumeration));\n};\n\nconst analyseComponents =\n path =>\n ([data, res]) =>\n [\n data,\n reduce(\n (acc, component) => {\n collectAll(res, component);\n return acc\n },\n res,\n pathOr([], path, data),\n ),\n ];\n\nconst analyseDataStructureComponents = ({ metadataStructureComponents }) =>\n compose(\n ([, res]) => map(x => [...x], res),\n analyseComponents(['metadataAttributeList', 'metadataAttributes']),\n )([metadataStructureComponents, {}]);\n\nfunction getChildRefs(input) {\n const analyse = analyseDataStructureComponents(input);\n return [...(analyse.conceptschemeRefs || []), ...(analyse.codelistRefs || [])]\n}\n\nvar MetadataStructure = sdmx.Artefact({\n name: 'metadatastructure',\n structureName: 'metadataStructures',\n packageName: 'metadatastructure',\n className: 'MetadataStructure',\n getChildRefs,\n});\n\nmodule.exports = MetadataStructure;\n","'use strict';\n\nvar dataflow = require('./dataflow.js');\nvar datastructure = require('./datastructure.js');\nvar codelist = require('./codelist.js');\nvar categorisation = require('./categorisation.js');\nvar categoryscheme = require('./categoryscheme.js');\nvar conceptscheme = require('./conceptscheme.js');\nvar contentconstraint = require('./contentconstraint.js');\nvar dataproviderscheme = require('./dataproviderscheme.js');\nvar hierarchicalcodelist = require('./hierarchicalcodelist.js');\nvar dataconstraint = require('./dataconstraint.js');\nvar provisionagreement = require('./provisionagreement.js');\nvar metadatastructure = require('./metadatastructure.js');\n\nconst Artefacts = [\n dataflow,\n datastructure,\n codelist,\n categorisation,\n categoryscheme,\n conceptscheme,\n contentconstraint,\n dataconstraint,\n dataproviderscheme,\n hierarchicalcodelist,\n provisionagreement,\n metadatastructure,\n];\n\nexports.Artefacts = Artefacts;\n","'use strict';\n\nvar _curry3 = require('./internal/_curry3.js');\n\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @see R.without\n * @example\n *\n * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\n\nvar remove =\n/*#__PURE__*/\n_curry3(function remove(start, count, list) {\n var result = Array.prototype.slice.call(list, 0);\n result.splice(start, count);\n return result;\n});\n\nvar remove$1 = remove;\n\nmodule.exports = remove$1;\n","'use strict';\n\nvar _isInteger = require('./_isInteger.js');\nvar _isArray = require('./_isArray.js');\nvar remove = require('../remove.js');\n\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @private\n * @param {String|Number} prop The name of the property to dissociate\n * @param {Object|Array} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n */\n\nfunction _dissoc(prop, obj) {\n if (obj == null) {\n return obj;\n }\n\n if (_isInteger(prop) && _isArray(obj)) {\n return remove(prop, 1, obj);\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n delete result[prop];\n return result;\n}\n\nmodule.exports = _dissoc;\n","'use strict';\n\nvar _isArray = require('./_isArray.js');\nvar _isInteger = require('./_isInteger.js');\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @private\n * @param {String|Number} prop The property name to set\n * @param {*} val The new value\n * @param {Object|Array} obj The object to clone\n * @return {Object|Array} A new object equivalent to the original except for the changed property.\n */\n\nfunction _assoc(prop, val, obj) {\n if (_isInteger(prop) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[prop] = val;\n return arr;\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n}\n\nmodule.exports = _assoc;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nvar isNil$1 = isNil;\n\nmodule.exports = isNil$1;\n","'use strict';\n\nvar _curry3 = require('./internal/_curry3.js');\nvar _has = require('./internal/_has.js');\nvar _isInteger = require('./internal/_isInteger.js');\nvar _assoc = require('./internal/_assoc.js');\nvar isNil = require('./isNil.js');\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n\n var idx = path[0];\n\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) && typeof obj[idx] === 'object' ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n\n return _assoc(idx, val, obj);\n});\n\nvar assocPath$1 = assocPath;\n\nmodule.exports = assocPath$1;\n","'use strict';\n\nvar _curry3 = require('./internal/_curry3.js');\nvar assocPath = require('./assocPath.js');\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> a -> {k: v} -> {k: v}\n * @param {String|Number} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n return assocPath([prop], val, obj);\n});\n\nvar assoc$1 = assoc;\n\nmodule.exports = assoc$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar _dissoc = require('./internal/_dissoc.js');\nvar _isInteger = require('./internal/_isInteger.js');\nvar _isArray = require('./internal/_isArray.js');\nvar assoc = require('./assoc.js');\n\n/**\n * Makes a shallow clone of an object. Note that this copies and flattens\n * prototype properties onto the new object as well. All non-primitive\n * properties are copied by reference.\n *\n * @private\n * @param {String|Integer} prop The prop operating\n * @param {Object|Array} obj The object to clone\n * @return {Object|Array} A new object equivalent to the original.\n */\n\nfunction _shallowCloneObject(prop, obj) {\n if (_isInteger(prop) && _isArray(obj)) {\n return [].concat(obj);\n }\n\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n return result;\n}\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\n\n\nvar dissocPath =\n/*#__PURE__*/\n_curry2(function dissocPath(path, obj) {\n if (obj == null) {\n return obj;\n }\n\n switch (path.length) {\n case 0:\n return obj;\n\n case 1:\n return _dissoc(path[0], obj);\n\n default:\n var head = path[0];\n var tail = Array.prototype.slice.call(path, 1);\n\n if (obj[head] == null) {\n return _shallowCloneObject(head, obj);\n } else {\n return assoc(head, dissocPath(tail, obj[head]), obj);\n }\n\n }\n});\n\nvar dissocPath$1 = dissocPath;\n\nmodule.exports = dissocPath$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar dissocPath = require('./dissocPath.js');\n\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc, R.omit\n * @example\n *\n * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\n\nvar dissoc =\n/*#__PURE__*/\n_curry2(function dissoc(prop, obj) {\n return dissocPath([prop], obj);\n});\n\nvar dissoc$1 = dissoc;\n\nmodule.exports = dissoc$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\n\nvar pick =\n/*#__PURE__*/\n_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nvar pick$1 = pick;\n\nmodule.exports = pick$1;\n","'use strict';\n\nvar semver = require('@dbmx/semver');\nvar dependencyResolver = require('./dependencyResolver.js');\nvar items = require('./items.js');\nvar urlRegexp = require('./utils/url-regexp.js');\nvar sdmx = require('./types/sdmx.js');\nvar artefacts = require('./types/artefacts.js');\nvar prop = require('./node_modules/ramda/es/prop.js');\nvar dissoc = require('./node_modules/ramda/es/dissoc.js');\nvar pick = require('./node_modules/ramda/es/pick.js');\nvar reduce = require('./node_modules/ramda/es/reduce.js');\nvar values = require('./node_modules/ramda/es/values.js');\n\n/**\n * @typedef Ref\n * @property {string} - agencyID\n * @property {string} - id\n * @property {string} - semver version\n * @property {string} - resourceType\n */\n\n/**\n * Array of SDMX Artefact to get artefact description\n * @property {string} name - name use in rest API\n * @property {package} packageName - package's name use to build urn\n * @property {package} className - class's name use to build urn\n * @property {package} structureName - name use in structure messages\n *\n * @function SDMXTypes\n * @tag core\n * @tag types\n *\n */\nconst SDMXTypes = [\n sdmx.Item({\n name: 'agency',\n packageName: 'base',\n className: 'Agency',\n schemeName: 'agencyscheme',\n }),\n sdmx.Artefact({\n structureName: 'agencySchemes',\n name: 'agencyscheme',\n packageName: 'base',\n className: 'AgencyScheme',\n }),\n sdmx.SDMX({\n name: 'dataConsumer',\n packageName: 'base',\n className: 'DataConsumer',\n }),\n sdmx.SDMX({\n name: 'dataConsumerScheme',\n packageName: 'base',\n className: 'DataConsumerScheme',\n }),\n sdmx.Item({\n name: 'dataProvider',\n packageName: 'base',\n className: 'DataProvider',\n schemeName: 'dataproviderscheme',\n }),\n sdmx.SDMX({\n name: 'metadataProvider',\n packageName: 'base',\n className: 'MetadataProvider',\n }),\n sdmx.SDMX({\n name: 'metadataProviderScheme',\n packageName: 'base',\n className: 'MetadataProviderScheme',\n }),\n sdmx.SDMX({\n name: 'organisationUnit',\n packageName: 'base',\n className: 'OrganisationUnit',\n }),\n sdmx.SDMX({\n name: 'organisationUnitScheme',\n packageName: 'base',\n className: 'OrganisationUnitScheme',\n }),\n sdmx.SDMX({\n name: 'attributeDescriptor',\n packageName: 'datastructure',\n className: 'AttributeDescriptor',\n }),\n sdmx.Component({\n name: 'dataAttribute',\n packageName: 'datastructure',\n className: 'DataAttribute',\n }),\n sdmx.Component({\n name: 'dimension',\n packageName: 'datastructure',\n className: 'Dimension',\n }),\n sdmx.SDMX({\n name: 'dimensionDescriptor',\n packageName: 'datastructure',\n className: 'DimensionDescriptor',\n }),\n sdmx.Component({\n name: 'primaryMeasure',\n packageName: 'datastructure',\n className: 'PrimaryMeasure',\n version: 2,\n }),\n sdmx.SDMX({\n name: 'groupDimensionDescriptor',\n packageName: 'datastructure',\n className: 'GroupDimensionDescriptor',\n }),\n sdmx.Component({\n name: 'measure',\n packageName: 'datastructure',\n className: 'Measure',\n }),\n sdmx.SDMX({\n name: 'measureDescriptor',\n packageName: 'datastructure',\n className: 'MeasureDescriptor',\n }),\n sdmx.Component({\n name: 'timeDimension',\n packageName: 'datastructure',\n className: 'TimeDimension',\n }),\n sdmx.Component({\n name: 'metadataAttribute',\n packageName: 'metadatastructure',\n className: 'MetadataAttribute',\n }),\n sdmx.SDMX({\n name: 'metadataAttributeDescriptor',\n packageName: 'metadatastructure',\n className: 'MetadataAttributeDescriptor',\n }),\n sdmx.SDMX({\n name: 'metadataStructure',\n packageName: 'metadatastructure',\n className: 'MetadataStructure',\n }),\n sdmx.SDMX({\n name: 'metadataflow',\n packageName: 'metadatastructure',\n className: 'Metadataflow',\n }),\n sdmx.SDMX({\n name: 'metadataSet',\n packageName: 'metadatastructure',\n className: 'MetadataSet',\n }),\n sdmx.SDMX({\n name: 'Process',\n packageName: 'process',\n className: 'Process',\n }),\n sdmx.SDMX({\n name: 'processStep',\n packageName: 'process',\n className: 'ProcessStep',\n }),\n sdmx.SDMX({\n name: 'transition',\n packageName: 'process',\n className: 'Transition',\n }),\n sdmx.Artefact({\n structureName: 'metadataConstraints',\n name: 'metadataConstraint',\n packageName: 'registry',\n className: 'MetadataConstraint',\n }),\n sdmx.SDMX({\n name: 'metadataProvisionAgreement',\n packageName: 'registry',\n className: 'MetadataProvisionAgreement',\n }),\n sdmx.SDMX({\n name: 'subscription',\n packageName: 'registry',\n className: 'Subscription',\n }),\n sdmx.SDMX({\n name: 'categorySchemeMap',\n packageName: 'structuremapping',\n className: 'CategorySchemeMap',\n }),\n sdmx.SDMX({\n name: 'conceptSchemeMap',\n packageName: 'structuremapping',\n className: 'ConceptSchemeMap',\n }),\n sdmx.SDMX({\n name: 'organisationSchemeMap',\n packageName: 'structuremapping',\n className: 'OrganisationSchemeMap',\n }),\n sdmx.SDMX({\n name: 'reportingTaxonomyMap',\n packageName: 'structuremapping',\n className: 'ReportingTaxonomyMap',\n }),\n sdmx.SDMX({\n name: 'representationMap',\n packageName: 'structuremapping',\n className: 'RepresentationMap',\n }),\n sdmx.SDMX({\n name: 'structureMap',\n packageName: 'structuremapping',\n className: 'StructureMap',\n }),\n sdmx.Item({\n name: 'category',\n packageName: 'categoryscheme',\n className: 'Category',\n }),\n sdmx.SDMX({\n name: 'reportingCategory',\n packageName: 'categoryscheme',\n className: 'ReportingCategory',\n }),\n sdmx.SDMX({\n name: 'reportingTaxonomy',\n packageName: 'categoryscheme',\n className: 'ReportingTaxonomy',\n }),\n sdmx.Item({\n name: 'concept',\n packageName: 'conceptscheme',\n className: 'Concept',\n }),\n sdmx.Item({\n name: 'code',\n packageName: 'codelist',\n className: 'Code',\n }),\n sdmx.SDMX({\n name: 'hierarchicalCode',\n packageName: 'codelist',\n className: 'HierarchicalCode',\n }),\n sdmx.SDMX({\n name: 'hierarchy',\n packageName: 'codelist',\n className: 'Hierarchy',\n }),\n sdmx.SDMX({\n name: 'hierarchyAssociation',\n packageName: 'codelist',\n className: 'HierarchyAssociation',\n }),\n sdmx.SDMX({\n name: 'level',\n packageName: 'codelist',\n className: 'Level',\n }),\n sdmx.SDMX({\n name: 'valueList',\n packageName: 'codelist',\n className: 'ValueList',\n }),\n sdmx.SDMX({\n name: 'customType',\n packageName: 'transformation',\n className: 'CustomType',\n }),\n sdmx.SDMX({\n name: 'customTypeScheme',\n packageName: 'transformation',\n className: 'CustomTypeScheme',\n }),\n sdmx.SDMX({\n name: 'namePersonalisation',\n packageName: 'transformation',\n className: 'NamePersonalisation',\n }),\n sdmx.SDMX({\n name: 'namePersonalisationScheme',\n packageName: 'transformation',\n className: 'NamePersonalisationScheme',\n }),\n sdmx.SDMX({\n name: 'ruleset',\n packageName: 'transformation',\n className: 'Ruleset',\n }),\n sdmx.SDMX({\n name: 'rulesetScheme',\n packageName: 'transformation',\n className: 'RulesetScheme',\n }),\n sdmx.SDMX({\n name: 'transformation',\n packageName: 'transformation',\n className: 'Transformation',\n }),\n sdmx.SDMX({\n name: 'transformationScheme',\n packageName: 'transformation',\n className: 'TransformationScheme',\n }),\n sdmx.SDMX({\n name: 'userDefinedOperator',\n packageName: 'transformation',\n className: 'UserDefinedOperator',\n }),\n sdmx.SDMX({\n name: 'userDefinedOperatorScheme',\n packageName: 'transformation',\n className: 'UserDefinedOperatorScheme',\n }),\n sdmx.SDMX({\n name: 'vtlCodelistMapping',\n packageName: 'transformation',\n className: 'VtlCodelistMapping',\n }),\n sdmx.SDMX({\n name: 'vtlConceptMapping',\n packageName: 'transformation',\n className: 'VtlConceptMapping',\n }),\n sdmx.SDMX({\n name: 'vtlDataflowMapping',\n packageName: 'transformation',\n className: 'VtlDataflowMapping',\n }),\n sdmx.SDMX({\n name: 'vtlMappingScheme',\n packageName: 'transformation',\n className: 'VtlMappingScheme',\n }),\n ...artefacts.Artefacts,\n];\n\n/*\n * Object to get an artefact description from its structure name\n *\n * @function STRUCTURE_NAMES\n * @tag artefact\n * @tag core\n */\n\nconst STRUCTURE_NAMES = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.structureName] = artefact;\n return acc\n}, {});\n\n/*\n * Object to get an artefact description from its class name\n *\n * @function CLASSES\n * @tag artefact\n * @tag core\n */\n\nconst CLASSES = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.className] = artefact;\n return acc\n}, {});\n\n/*\n * Object to get an artefact description from its name\n *\n * @function RESOURCES\n * @constant\n * @tag artefact\n * @tag core\n */\n\nconst RESOURCES = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.name] = artefact.name;\n return acc\n}, {});\n\nconst hResourceTypes = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.name] = artefact;\n return acc\n}, {});\n\nconst urnType = type => `sdmx.infomodel.${type.packageName || type.name}.${type.className}`;\n\nconst hArtefactUrnTypes = SDMXTypes.reduce((acc, artefact) => {\n acc[urnType(artefact)] = artefact;\n return acc\n}, {});\n\n/**\n * Returns artefact description from its name\n *\n * @function getArtefactByType\n * @tag artefact\n * @tag core\n * @return AttributeDescriptor\n *\n * @example\n * getArtefactByType('dataflow') //=> ArtefactDescription\n */\n\nconst getArtefactByType = type => hResourceTypes[type];\nconst getItemArtefactByResourceType = resourceType => SDMXTypes.find(obj => obj.schemeName === resourceType);\n\nconst getArtefactByStructureName = name => STRUCTURE_NAMES[name];\n\n/**\n * Returns artefact description\n *\n * @function getArtefactByUrnType\n * @tag artefact\n * @tag core\n * @param {string} - packageName\n * @param {string} - className\n * @return {ArtefactDescription}\n *\n * @example\n * getArtefactByType('dataflow') //=> ArtefactDescription\n */\n\nconst getArtefactByUrnType = (packageName, className) => hArtefactUrnTypes[urnType({ packageName, className })];\n\n/**\n * Returns true if param is a valid structure name\n *\n * @function isValidArtefactName\n * @tag artefact\n * @tag core\n * @param {string} - name\n * @return {Boolean}\n */\nconst isValidArtefactName = name => STRUCTURE_NAMES[name];\n\n/**\n * Returns true if param is an structure name\n *\n * @function isValidStructureName\n * @tag artefact\n * @tag core\n * @param {string} - name\n * @return {Boolean}\n */\nconst isValidStructureName = name => STRUCTURE_NAMES[name];\n\n/**\n * Returns true if param is an artefact name\n *\n * @function isValidResourceType\n * @tag artefact\n * @tag core\n * @param {string} - name\n * @return {Boolean}\n */\nconst isValidResourceType = type => hResourceTypes[type];\n\nconst SDMXPrefix = 'urn:sdmx:org';\n// const parseURN = urn => urn.match(/^urn:sdmx:org\\.sdmx\\.infomodel\\.(\\w+)\\.(\\w+)=(.+):(.+)\\((.+)\\)(?:\\.([\\w.-]+))?/)\nconst parseURN = urn => urn.match(/^urn:sdmx:org\\.sdmx\\.infomodel\\.(\\w+)\\.(\\w+)=(.+):(.+)\\((.+)\\)(?:\\.(.+))?/);\n\n/**\n * @typedef FullRef\n * @property {string} - resourceType\n * @property {string} - agencyID\n * @property {string} - id\n * @property {string} - semver version\n * @property {string=} - itemId\n */\n\n/**\n * Returns URN from full ref\n *\n * @function makeUrn\n * @tag core\n * @tag URN\n * @param {FullRef}\n * @return {string} - an `urn`\n *\n * @example\n *\n * makeUrn({ resourceType = 'codelist', agencyID: 'SDMX', id: 'CL_AGE', version; '1.0.1-draft') //=> 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0.1-draft)'\n * makeUrn({ resourceType = 'codelist', agencyID: 'SDMX', id: 'CL_AGE', version; '1.0', itemId: 'YOT4') //=> 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'\n */\nconst makeUrn = ({ resourceType, agencyID, id, resourceId, resourceID, version, itemId, itemID } = {}, type) => {\n const localID = id ?? resourceId ?? resourceID;\n const localItemID = itemId ?? itemID;\n if (!agencyID || !localID || !version)\n throw new Error(\n `Wrong ref to build URN: ${JSON.stringify({ resourceType, agencyID, localID, version, localItemID })}`,\n )\n const localType = type ?? resourceType;\n const artefact = getArtefactByType(localType) ?? getArtefactByStructureName(localType);\n if (!artefact) throw new Error(`Unknow artefact: ${localType}`)\n const base = `${SDMXPrefix}.${urnType(artefact)}=${agencyID}:${localID}(${version})`;\n if (!localItemID) return base\n if (artefact.isArtefact) return base\n if (artefact.isItem && artefact.name !== 'category') return `${base}.${localItemID.split('.').pop()}`\n return `${base}.${localItemID}`\n};\n/**\n * Returns full ref from URN\n *\n * @function urn2FullRef\n * @tag core\n * @tag URN\n * @param {string} - urn\n * @return {FullRef} -\n *\n * @example\n *\n * const urn = 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'\n * urn2FullRef(urn) //=> { resourceType = 'codelist', agencyID: 'SDMX\", id: 'CL_AGE', version; '1.0', itemId: 'YOT4')\n */\nconst urn2FullRef = urn => {\n if (!urn) return\n const res = parseURN(urn);\n if (!res) throw new Error(`Malformed URN: ${urn}`)\n const [_, packageName, className, agencyID, id, version, itemId] = res; // eslint-disable-line\n const artefact = getArtefactByUrnType(packageName, className);\n if (!artefact) throw new Error(`Unknow artefact for URN: ${urn}`)\n const resource = {\n resourceType: artefact.name,\n agencyID,\n id,\n version,\n };\n if (artefact.isItem && !itemId) throw new Error(`Inconsistent urn for an item: ${urn}`)\n if (itemId) resource.itemId = itemId;\n return resource\n};\n\nconst getName = (locale, obj = {}) => obj.names?.[locale];\nconst getDescription = (locale, obj = {}) => obj.descriptions?.[locale];\n\n/**\n * Returns Ref from URN\n *\n * @function urn2Ref\n * @tag core\n * @tag URN\n * @param {string} - urn\n * @return {Ref} -\n *\n */\n\nconst urn2Ref = urn => dissoc('itemId', urn2FullRef(urn));\n\n/**\n * Returns version of a meta object (structure or data message)\n *\n * @function getSdmxVersion\n * @tag core\n * @param {object} - a `meta` object from a Structure or Data SDMX message\n * @param {object=} - options, allow to define default version to return when previous prams to not contains a `meta` prop\n * @return {string} - ['1', '2']\n *\n * @example\n *\n * const urn = 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'\n * urn2FullRef(urn) //=> { resourceType = 'codelist', agencyID: 'SDMX\", id: 'CL_AGE', version; '1.0', itemId: 'YOT4')\n */\nconst getSdmxVersion = ({ schema } = {}, { defaultVersion = '2' } = {}) => {\n if (!schema) return defaultVersion\n const res = schema.match(/\\/schemas\\/(.*)\\//);\n if (!res) return defaultVersion\n try {\n return semver.SemVer(res[1]).major === 2 ? '2' : '1'\n } catch (err) {\n return defaultVersion\n }\n};\n\n/**\n * Returns a Ref from a resource\n *\n * @function getRef\n * @tag core\n * @tag resource\n * @param {object} - input structure\n * @return {Ref} - pick(['agencyID', 'id', 'version'], resource)\n *\n */\n\nconst getRef = (resource = {}, resourceType) => {\n const localResourceType = resourceType ?? resource.resourceType;\n const res = pick(['id', 'agencyID', 'version'], resource);\n if (localResourceType) res.resourceType = localResourceType;\n return res\n};\n\n/**\n * Returns a FullRef from a resource\n *\n * @function getFullRef\n * @tag core\n * @tag resource\n * @param {object} - input structure\n * @return {FullRef}\n *\n */\n\nconst getFullRef = (resource, resourceType) => {\n const res = getRef(resource, resourceType);\n if (resource.itemId) res.itemId = resource.itemId;\n return res\n};\n\n/**\n * Returns an external resource from the input\n *\n * @function makeExternal\n * @tag core\n * @tag structure\n * @param {string} - resourceType\n * @param {string} - href to get input structure\n * @param {object} - input structure\n * @return {object} - input structure converted to an external one\n *\n * @example\n *\n * const source = {}\n * const resource = makeExternal(CLASSES.Dataflow.name, 'href2', urn)\n * expect(isExternal(resource).toBeTruthy()\n * expect(getExternalUrl(resource)).toEqual('href2')\n */\nconst makeExternal = (resourceType, href, source) => {\n const linkRefs = { ...getRef(source), resourceType, href };\n return {\n ...pick(['id', 'agencyID', 'version', 'names', 'descriptions'], source),\n isExternalReference: true,\n links: makeLinks([selfLink(linkRefs), relLink(linkRefs)]),\n }\n};\n\n/**\n * Returns an identifier for an artefact based on { agencyID, id, version }\n *\n * @example\n *\n * const resource1 = { agencyID: 'AG', id: 'ID1', version: '1.0.3'}\n * const resource2 = { agencyID: 'AG', id: 'ID2', version: '1.0'}\n * expect(ID(resource1) !== ID(resource2)).toBeTruthy()\n */\n\nconst ID = ({ agencyID, id, version, itemId } = {}) => {\n if (!agencyID) throw new Error('agencyID cannot be null')\n if (!id) throw new Error('id cannot be null')\n return itemId ? `${agencyID}:${id}:${version}:${itemId}` : `${agencyID}:${id}:${version}`\n};\n\nconst fullID = (resourceType, resource) => `${resourceType}:${ID(resource)}`;\nconst refFullID = (ref, resourceType) => `${resourceType ?? ref.resourceType}:${ID(ref)}`;\n\n/**\n * Returns if a version is patterned (contains '+') - do not check if Range(version) is valid\n *\n * @function isPatternedVersion\n * @tag core\n * @tag version\n * @param {string} - version\n *\n * @example\n *\n * expect(isPatternedVersion('3.2+.0')).toBeTruthy()\n * expect(isPatternedVersion('3.2.0')).toBeFalsy()\n */\n\nconst isPatternedVersion = version => version && version.indexOf('+') !== -1;\n\n/**\n * Returns if a source artefact is semver compatible with a target one\n *\n * @function isTargetVersionCompatible\n * @tag core\n * @tag semver\n * @param {object} - { version }\n * @param {object} - { version }\n *\n * @example\n *\n * expect(isTargetVersionCompatible({ version: '3.2.0'}, { version: '1.0'})).toBeFalsy()\n */\n\nconst isTargetVersionCompatible = (source = {}, target = {}) => {\n const sourceIsStable = semver.SemVer(source.version).isStable();\n return !sourceIsStable || semver.SemVer(target.version).isStable()\n};\n\n/**\n * Resolves an item from a structure\n *\n * @function resolveItemFromStructure\n * @tag core\n * @tag item\n * @param {object} - SDMX structure\n * @param {FullRef} - source resource\n * @param {FullRef} - item's fullRef\n *\n */\n\nconst resolveItemFromStructure = ({ data = {} } = {}, source, ref = {}) => {\n if (!ref.itemId) throw new Error(`Wrong fullRef '${JSON.stringify(ref)}': 'itemId' is required to get an item!`)\n const toType = getArtefactByType(ref.resourceType);\n const resources = getResourcesFromStructure({ data }, toType.schemeName);\n // const resource = resolveDependency(resources, source, getRef(ref, toType.schemeName))\n const resource = dependencyResolver.resolveDependency(resources, source, getRef(ref));\n const items$1 = items.getFullyQualifiedItems(items.getItems(toType.schemeName, resource), { flatten: true });\n let item;\n if (toType.name === 'category') item = items$1.find(item => item.fullId === ref.itemId);\n else item = items$1.find(item => item.id === ref.itemId);\n return { resource, item }\n};\n\n/**\n * Gets structure.data[resourceType]\n *\n * @function getResourcesFromStructure\n * @tag core\n * @param {object} - SDMX structure\n * @param {type} - resourceType | structureName\n * @return {object} - structure.data[resourceType]\n *\n */\n\nconst getResourcesFromStructure = ({ data = {} } = {}, type) =>\n data[type] ?? data[getArtefactByType(type)?.structureName] ?? [];\n\n/**\n * Gets fullRef from structure\n *\n * @function getResourceFromStructure\n * @tag core\n * @param {object} - SDMX structure\n * @param {FullRef} - fullRef\n * @return {string} - resourceType\n *\n */\n\nconst getResourceFromStructure = (structure = {}, fullRef = {}, type) => {\n const resources = getResourcesFromStructure(structure, fullRef.resourceType ?? type);\n return resources.find(resource => ID(resource) === ID(fullRef))\n};\n\n/**\n * Resolved resource from structure\n *\n * @function resolveResourceFromStructure\n * @tag core\n * @param {object} - SDMX structure\n * @param {object} - { version } of the source dependency\n * @param {Ref} - Ref of the target dependency\n * @return {object} - resolved resource\n *\n * @example\n *\n * const structure = {\n * data: {\n * categorySchemes: [artefact],\n * },\n * }\n * const res = resolveResourceFromStructure(\n * structure,\n * { version: '1.0.0' },\n * { ...getRef(artefact, 'categoryscheme'), version: '1+.0.0' },\n * )\n * expect(res).toEqual(artefact)\n *\n */\nconst resolveResourceFromStructure = ({ data = {} } = {}, source, ref = {}, { noError } = {}) => {\n const resources = getResourcesFromStructure({ data }, ref.resourceType);\n try {\n const res = dependencyResolver.resolveDependency(resources, source, getRef(ref));\n return res\n } catch (err) {\n if (err instanceof semver.SemVerError) {\n if (noError) return\n throw err\n } else throw err\n }\n};\n\n/**\n * Gets a Map of resources indexed by URN from structure\n *\n * @function getURNResourcesMapFromStructure\n * @tag core\n * @param {object} - SDMX structure\n *\n *\n */\n\nconst getURNResourcesMapFromStructure = ({ data = {} } = {}) => {\n const res = new Map();\n for (const structureName of Object.keys(data)) {\n for (const resource of data[structureName]) res.set(makeUrn(resource, structureName), resource);\n }\n return res\n};\n\nconst isUrlRegex = url => urlRegexp.test(url);\n\nconst getLatestMinor = version => {\n const semver$1 = semver.SemVer(version);\n if (semver$1.patch === null) return `${semver$1.major}.${semver$1.minor}`\n return `${semver$1.major}.${semver$1.minor}+.${semver$1.patch}`\n};\n\nconst getDataStructureFromArtefact = (structure, fullRef) => {\n const target = getResourceFromStructure(structure, fullRef);\n if (!target) throw new Error(`Cannot get dataStructure for ${JSON.stringify(fullRef)}!`)\n if (fullRef.resourceType === 'dataflow')\n return [resolveResourceFromStructure(structure, target, urn2FullRef(target.structure)), target]\n return [target, target]\n};\n\n/**\n * Returns an object link with `rel` === 'self'\n *\n * @function selfLink\n * @tag links\n * @param {FullRef} - resource\n *\n */\n\nconst selfLink = ({ resourceType, agencyID, id, version, itemId }) => ({\n rel: 'self',\n urn: makeUrn({ resourceType, agencyID, id, version, itemId }),\n});\n\n/**\n * Returns an object link with `rel` === 'external'\n *\n * @function relLink\n * @tag links\n * @param {FullRef} - resource\n *\n */\n\nconst relLink = ({ href, resourceType, agencyID, id, version }) => ({\n rel: 'external',\n urn: makeUrn({ resourceType, agencyID, id, version }),\n href,\n});\n\nconst makeLinks = links => {\n const hrels = reduce((acc, link) => ({ ...acc, [link.rel]: link }), {}, links);\n return values(hrels)\n};\n\n/**\n * Returns true if resource is external\n *\n * @function isExternal\n * @tag links\n * @tag core\n * @param {Artefact} - resource\n *\n */\n\nconst isExternal = prop('isExternalReference');\n\n/**\n * Returns external reference from an external Artefact\n *\n * @function getExternalUrl\n * @tag core\n * @param {Artefact} - external resource\n *\n */\n\nconst getExternalUrl = ({ isExternalReference, links = [] }) => {\n if (!isExternalReference) return\n return getLinkType('external', links)?.href\n};\n\nconst getLinkType = (type, links = []) => links.find(link => link.rel === type);\n\nexports.CLASSES = CLASSES;\nexports.ID = ID;\nexports.RESOURCES = RESOURCES;\nexports.SDMXTypes = SDMXTypes;\nexports.STRUCTURE_NAMES = STRUCTURE_NAMES;\nexports.fullID = fullID;\nexports.getArtefactByStructureName = getArtefactByStructureName;\nexports.getArtefactByType = getArtefactByType;\nexports.getArtefactByUrnType = getArtefactByUrnType;\nexports.getDataStructureFromArtefact = getDataStructureFromArtefact;\nexports.getDescription = getDescription;\nexports.getExternalUrl = getExternalUrl;\nexports.getFullRef = getFullRef;\nexports.getItemArtefactByResourceType = getItemArtefactByResourceType;\nexports.getLatestMinor = getLatestMinor;\nexports.getLinkType = getLinkType;\nexports.getName = getName;\nexports.getRef = getRef;\nexports.getResourceFromStructure = getResourceFromStructure;\nexports.getResourcesFromStructure = getResourcesFromStructure;\nexports.getSdmxVersion = getSdmxVersion;\nexports.getURNResourcesMapFromStructure = getURNResourcesMapFromStructure;\nexports.isExternal = isExternal;\nexports.isPatternedVersion = isPatternedVersion;\nexports.isTargetVersionCompatible = isTargetVersionCompatible;\nexports.isUrlRegex = isUrlRegex;\nexports.isValidArtefactName = isValidArtefactName;\nexports.isValidResourceType = isValidResourceType;\nexports.isValidStructureName = isValidStructureName;\nexports.makeExternal = makeExternal;\nexports.makeLinks = makeLinks;\nexports.makeUrn = makeUrn;\nexports.refFullID = refFullID;\nexports.relLink = relLink;\nexports.resolveItemFromStructure = resolveItemFromStructure;\nexports.resolveResourceFromStructure = resolveResourceFromStructure;\nexports.selfLink = selfLink;\nexports.urn2FullRef = urn2FullRef;\nexports.urn2Ref = urn2Ref;\n","'use strict';\n\nfunction _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}\n\nmodule.exports = _isObject;\n","'use strict';\n\nfunction _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}\n\nmodule.exports = _arrayFromIterator;\n","'use strict';\n\nfunction _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}\n\nmodule.exports = _includesWith;\n","'use strict';\n\nfunction _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}\n\nmodule.exports = _functionName;\n","'use strict';\n\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nvar _objectIs$1 = typeof Object.is === 'function' ? Object.is : _objectIs;\n\nmodule.exports = _objectIs$1;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig * -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(async () => {}); //=> \"AsyncFunction\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nvar type$1 = type;\n\nmodule.exports = type$1;\n","'use strict';\n\nvar _arrayFromIterator = require('./_arrayFromIterator.js');\nvar _includesWith = require('./_includesWith.js');\nvar _functionName = require('./_functionName.js');\nvar _has = require('./_has.js');\nvar _objectIs = require('./_objectIs.js');\nvar keys = require('../keys.js');\nvar type = require('../type.js');\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparison of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nfunction _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}\n\nmodule.exports = _equals;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar _equals = require('./internal/_equals.js');\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nvar equals$1 = equals;\n\nmodule.exports = equals$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\n\n/**\n * Calls an input function `n` times, returning an array containing the results\n * of those function calls.\n *\n * `fn` is passed one argument: The current value of `n`, which begins at `0`\n * and is gradually incremented to `n - 1`.\n *\n * @func\n * @memberOf R\n * @since v0.2.3\n * @category List\n * @sig (Number -> a) -> Number -> [a]\n * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n * @return {Array} An array containing the return values of all calls to `fn`.\n * @see R.repeat\n * @example\n *\n * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n * @symb R.times(f, 0) = []\n * @symb R.times(f, 1) = [f(0)]\n * @symb R.times(f, 2) = [f(0), f(1)]\n */\n\nvar times =\n/*#__PURE__*/\n_curry2(function times(fn, n) {\n var len = Number(n);\n var idx = 0;\n var list;\n\n if (len < 0 || isNaN(len)) {\n throw new RangeError('n must be a non-negative number');\n }\n\n list = [];\n\n while (idx < len) {\n list.push(fn(idx));\n idx += 1;\n }\n\n return list;\n});\n\nvar times$1 = times;\n\nmodule.exports = times$1;\n","'use strict';\n\nfunction _isFunction(x) {\n var type = Object.prototype.toString.call(x);\n return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]';\n}\n\nmodule.exports = _isFunction;\n","'use strict';\n\nvar equals = require('../equals.js');\n\nfunction _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}\n\nmodule.exports = _indexOf;\n","'use strict';\n\nvar _indexOf = require('./_indexOf.js');\n\nfunction _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}\n\nmodule.exports = _includes;\n","'use strict';\n\nfunction _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}\n\nmodule.exports = _quote;\n","'use strict';\n\n/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nvar _toISOString$1 = _toISOString;\n\nmodule.exports = _toISOString$1;\n","'use strict';\n\nfunction _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}\n\nmodule.exports = _complement;\n","'use strict';\n\nfunction _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n}\n\nmodule.exports = _filter;\n","'use strict';\n\nvar _xfBase = require('./_xfBase.js');\n\nvar XFilter =\n/*#__PURE__*/\nfunction () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nfunction _xfilter(f) {\n return function (xf) {\n return new XFilter(f, xf);\n };\n}\n\nmodule.exports = _xfilter;\n","'use strict';\n\nvar _arrayReduce = require('./internal/_arrayReduce.js');\nvar _curry2 = require('./internal/_curry2.js');\nvar _dispatchable = require('./internal/_dispatchable.js');\nvar _filter = require('./internal/_filter.js');\nvar _isObject = require('./internal/_isObject.js');\nvar _xfilter = require('./internal/_xfilter.js');\nvar keys = require('./keys.js');\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @category Object\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar filter =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _arrayReduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n\n return acc;\n }, {}, keys(filterable)) : // else\n _filter(pred, filterable);\n}));\n\nvar filter$1 = filter;\n\nmodule.exports = filter$1;\n","'use strict';\n\nvar _complement = require('./internal/_complement.js');\nvar _curry2 = require('./internal/_curry2.js');\nvar filter = require('./filter.js');\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 !== 0;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar reject =\n/*#__PURE__*/\n_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\n\nvar reject$1 = reject;\n\nmodule.exports = reject$1;\n","'use strict';\n\nvar _includes = require('./_includes.js');\nvar _map = require('./_map.js');\nvar _quote = require('./_quote.js');\nvar _toISOString = require('./_toISOString.js');\nvar keys = require('../keys.js');\nvar reject = require('../reject.js');\n\nfunction _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n }; // mapPairs :: (Object, [String]) -> [String]\n\n\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return /^\\d+$/.test(k);\n }, keys(x)))).join(', ') + ']';\n\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n\n case '[object Map]':\n return 'new Map(' + recur(Array.from(x)) + ')';\n\n case '[object Null]':\n return 'null';\n\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n\n case '[object Set]':\n return 'new Set(' + recur(Array.from(x).sort()) + ')';\n\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n\n case '[object Undefined]':\n return 'undefined';\n\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}\n\nmodule.exports = _toString;\n","'use strict';\n\nvar _curry1 = require('./internal/_curry1.js');\nvar _toString = require('./internal/_toString.js');\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\n\nvar toString =\n/*#__PURE__*/\n_curry1(function toString(val) {\n return _toString(val, []);\n});\n\nvar toString$1 = toString;\n\nmodule.exports = toString$1;\n","'use strict';\n\nvar _curry2 = require('./internal/_curry2.js');\nvar _isArray = require('./internal/_isArray.js');\nvar _isFunction = require('./internal/_isFunction.js');\nvar _isString = require('./internal/_isString.js');\nvar toString = require('./toString.js');\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\n\nvar concat =\n/*#__PURE__*/\n_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(b) + ' is not an array');\n }\n\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n\n throw new TypeError(toString(b) + ' is not a string');\n }\n\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\n\nvar concat$1 = concat;\n\nmodule.exports = concat$1;\n","'use strict';\n\nvar core = require('./core.js');\nvar dataBuilder = require('./dataBuilder.js');\nvar slice = require('./node_modules/ramda/es/slice.js');\nvar times = require('./node_modules/ramda/es/times.js');\nvar concat = require('./node_modules/ramda/es/concat.js');\nvar isNil = require('./node_modules/ramda/es/isNil.js');\n\nconst fillSlice = (start, size, input = [], value = null) => {\n const d1 = slice(start, size, input);\n if (size - d1.length < 0) return d1\n const d2 = times(() => value, size - d1.length);\n return concat(d1, d2)\n};\n\nconst getDefaultCompValue = comp => comp.default;\n\nconst getdSetDimensions = structure => {\n const dimensions = structure?.dimensions?.dataSet || [];\n const res = {};\n for (const dimension of dimensions) {\n if (!dimension.values) continue\n res[dimension.id] = dimension.values[0];\n }\n return res\n};\n\nconst getdSetAttributes = structure => {\n const attributes = structure?.attributes?.dataSet || [];\n const res = {};\n for (const attribute of attributes) {\n if (!attribute.values) continue\n res[attribute.id] = attribute.values[0];\n }\n return res\n};\n\nconst unpackDimensions = key => key.split(':');\n\nconst getObsDimensions = (structure, key) => {\n const dimensions = structure?.dimensions?.observation || [];\n const res = {};\n for (const [idx, idxValue] of unpackDimensions(key).entries()) {\n const dimension = dimensions[idx];\n if (!dimension) throw new Error(`Cannot get dimension idx ${idx}!`)\n const value = dimension.values[idxValue];\n if (!value) throw new Error(`Cannot get value ${idxValue} for dimension ${dimension.id}!`)\n res[dimension.id] = value;\n }\n return res\n};\n\nconst getDataObsAttributes = (structure, values) => {\n const measures = structure?.measures?.observation || [];\n const attributes = structure?.attributes?.observation || [];\n const attributeValues = fillSlice(measures.length, attributes.length, values);\n return getObsAttributes(structure, attributeValues)\n};\n\nconst getObsAttributes = (structure, values) => {\n const attributes = structure?.attributes?.observation || [];\n const res = {};\n for (const [idx, idxValue] of values.entries()) {\n const attribute = attributes[idx];\n if (!attribute) throw new Error(`Cannot get attribute idx ${idx}!`)\n\n if (attribute.values) {\n if (idxValue === null) {\n const defaultValue = getDefaultCompValue(attribute);\n if (!isNil(defaultValue)) res[attribute.id] = { value: defaultValue };\n } else {\n const value = attribute.values[idxValue];\n if (value !== null) {\n if (!value) throw new Error(`Cannot get value ${idxValue} for attribute ${attribute.id}!`)\n res[attribute.id] = value;\n }\n }\n } else {\n if (idxValue !== null) res[attribute.id] = { value: idxValue };\n }\n }\n return res\n};\n\nconst getAttributes = (structure, values) => {\n return {\n ...getdSetAttributes(structure),\n ...getObsAttributes(structure, values),\n }\n};\n\nconst getKeyAttributes = (structure, key) => {\n return {\n ...getdSetAttributes(structure),\n ...getDataObsAttributes(structure, key),\n }\n};\n\nconst getKeyMeasures = (structure, values) => {\n const measures = structure?.measures?.observation || [];\n const measureValues = fillSlice(0, measures.length, values);\n return getMeasures(structure, measureValues)\n};\n\nconst getMeasures = (structure, values) => {\n const measures = structure?.measures?.observation || [];\n const res = {};\n for (const [idx, idxValue] of values.entries()) {\n const measure = measures[idx];\n if (!measure) throw new Error(`Cannot get measure idx ${idx}!`)\n if (idxValue === null) continue\n else if (!measure.values) {\n res[measure.id] = { value: idxValue };\n } else {\n const value = measure.values[idxValue];\n if (!value) throw new Error(`Cannot get value ${idxValue} for measure ${measure.id}!`)\n res[measure.id] = value;\n }\n }\n return res\n};\n\nconst getDimensions = (structure, key) => {\n return {\n ...getdSetDimensions(structure),\n ...getObsDimensions(structure, key),\n }\n};\n\nfunction* getObservations(dataStructure, { dSet = 0 } = {}) {\n const dataSet = dataStructure?.data?.dataSets?.[dSet];\n if (!dataSet) throw new Error(`Wrong input dataStructure: cannot get targeted dataSet!`)\n const structure = dataStructure.data?.structures?.[dataSet.structure];\n if (!structure) throw new Error(`Wrong input dataStructure: cannot get targeted structure!`)\n const observations = dataSet.observations;\n if (!observations) return\n for (const key of Object.keys(observations)) {\n const obs = {\n ...getDimensions(structure, key),\n ...getKeyMeasures(structure, observations[key]),\n ...getKeyAttributes(structure, observations[key]),\n };\n yield obs;\n }\n}\n\nconst makeData = (fullRef, structure, observations, language) => {\n const [dataStructure, target] = core.getDataStructureFromArtefact(structure, fullRef);\n const res = dataBuilder.DataBuilder(fullRef.resourceType, target, observations, dataStructure, structure, [language]);\n\n return res\n};\n\nexports.fillSlice = fillSlice;\nexports.getAttributes = getAttributes;\nexports.getDimensions = getDimensions;\nexports.getMeasures = getMeasures;\nexports.getObsAttributes = getObsAttributes;\nexports.getObsDimensions = getObsDimensions;\nexports.getObservations = getObservations;\nexports.getdSetAttributes = getdSetAttributes;\nexports.getdSetDimensions = getdSetDimensions;\nexports.makeData = makeData;\n","import { defineMessages } from 'react-intl'\n\nexport default defineMessages({\n urlIsRequired: {\n id: 'components.SdmxComponent.urlIsRequired',\n defaultMessage: 'URL Is Required!',\n },\n noData: {\n id: 'components.SdmxComponent.noData',\n defaultMessage: 'No Data Available!',\n },\n\n dimension: {\n id: 'components.SdmxComponent.dimension',\n defaultMessage: 'Dimension',\n },\n timeDimension: {\n id: 'components.SdmxComponent.timeDimension',\n defaultMessage: 'Time Dimension',\n },\n measure: {\n id: 'components.SdmxComponent.measure',\n defaultMessage: 'Measure',\n },\n invalidComProps: {\n id: 'components.SdmxComponent.invalidComProps',\n defaultMessage: 'Invalid component props!',\n },\n})\n","import React from 'react'\nimport { Box, Loader, createStyles } from '@mantine/core'\n\nconst useStyles = createStyles(() => ({\n loadingContainer: {\n width: '100%',\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n}))\n\nconst LoadingBox = () => {\n const { classes } = useStyles()\n\n return (\n <Box className={classes.loadingContainer}>\n <Loader color=\"blue\" size=\"lg\" />\n </Box>\n )\n}\n\nexport default LoadingBox\n","import { Dependency, RANGE_TYPE, Range, SemVer } from '@dbmx/semver';\n\n// TODO: remove resourceType from comparaison\nconst matchRefVersionLess = (ref, resource) =>\n ((ref.resourceType && resource.resourceType && ref.resourceType === resource.resourceType) ||\n !ref.resourceType ||\n !resource.resourceType) &&\n ref.id === resource.id &&\n ref.agencyID === resource.agencyID;\n\nconst getOne = (ref, range, resources) => {\n for (const resource of resources) {\n if (matchRefVersionLess(ref, resource) && range.test(resource.version)) return resource\n }\n};\n\nconst getLatest = (ref, range, resources) => {\n let res = [];\n if (resources.length === 1 && range.raw === '~') return resources[0]\n for (const resource of resources) {\n if (!matchRefVersionLess(ref, resource)) continue\n const semver = SemVer(resource.version);\n if (semver.isNonVersioned()) continue\n if (range.test(semver)) {\n if (!res[0]) res = [resource, semver];\n else if (semver.compare(res[1]) === 1) res = [resource, semver];\n }\n }\n return res[0]\n};\n\n/**\n * Returns an external resource from the input\n *\n * @function resolveDependency\n * @tag dependency\n * @param {array} - all possible resources\n * @param {object} - source of the dependency\n * @param {object} - target version\n *\n * @example\n *\n * const resources = [\n * { agencyID: 'A', id: 'ID1', version: '1.0.0' },\n * { agencyID: 'A', id: 'ID2', version: '1.0.1' },\n * { agencyID: 'A', id: 'ID3', version: '1.1.1' },\n * ]\n * const ref = resolveDependency(resources, { version: 1.0.0 }, { resourceType, agencyID, id, version: '1.1+.0' }\n * expect(ref.id}.toEqual('ID3')\n */\n\nconst resolveDependency = (resources, source, ref, { noError } = {}) => {\n try {\n const range = Dependency(source, ref.version).range;\n if (range.type === RANGE_TYPE.LATEST) return getLatest(ref, range, resources)\n return getOne(ref, range, resources)\n } catch (err) {\n if (noError) return\n throw err\n }\n};\n\nconst resolveDataTarget = (resources, ref) => {\n try {\n const range = Range(ref.version);\n if (range.type === RANGE_TYPE.LATEST) return getLatest(ref, range, resources)\n return getOne(ref, range, resources)\n } catch (err) {\n return\n }\n};\n\nexport { resolveDataTarget, resolveDependency };\n//# sourceMappingURL=dependencyResolver.mjs.map\n","const SDMX = ({ name, packageName, className, version }) => {\n const self = { name, packageName, className };\n if (version) self.version = version;\n return self\n};\n\nfunction defaultGetChildRefs() {\n return []\n}\n\nconst Artefact = ({ structureName, getChildRefs, ...props }) => {\n const self = SDMX(props);\n self.type = 'artefact';\n self.resourceType = self.name;\n self.structureName = structureName;\n self.getChildRefs = getChildRefs ? getChildRefs.bind(self) : defaultGetChildRefs;\n self.isArtefact = true;\n return self\n};\n\nconst ItemScheme = ({ itemsName, ...props }) => {\n const self = Artefact(props);\n self.itemsName = itemsName;\n self.isItemScheme = true;\n return self\n};\n\nconst Item = ({ schemeName, ...props }) => {\n const self = SDMX(props);\n self.type = 'item';\n self.resourceType = self.name;\n self.schemeName = schemeName ?? self.packageName;\n self.isItem = true;\n return self\n};\n\nconst Component = ({ schemeName, ...props }) => {\n const self = SDMX(props);\n self.type = 'component';\n self.schemeName = schemeName ?? self.packageName;\n self.isComponent = true;\n return self\n};\n\nexport { Artefact, Component, Item, ItemScheme, SDMX };\n//# sourceMappingURL=sdmx.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\n\nfunction getChildRefs(input) {\n if (input.isExternalReference) return []\n if (!input.structure) return []\n return [urn2FullRef(input.structure)]\n}\n\nvar Dataflow = Artefact({\n name: 'dataflow',\n structureName: 'dataflows',\n packageName: 'datastructure',\n className: 'Dataflow',\n getChildRefs,\n});\n\nexport { Dataflow as default };\n//# sourceMappingURL=dataflow.mjs.map\n","function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}\n\nexport { _arity as default };\n//# sourceMappingURL=_arity.mjs.map\n","function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}\n\nexport { _pipe as default };\n//# sourceMappingURL=_pipe.mjs.map\n","function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}\n\nexport { _isPlaceholder as default };\n//# sourceMappingURL=_isPlaceholder.mjs.map\n","import _isPlaceholder from './_isPlaceholder.mjs';\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}\n\nexport { _curry1 as default };\n//# sourceMappingURL=_curry1.mjs.map\n","import _curry1 from './_curry1.mjs';\nimport _isPlaceholder from './_isPlaceholder.mjs';\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}\n\nexport { _curry2 as default };\n//# sourceMappingURL=_curry2.mjs.map\n","import _curry1 from './_curry1.mjs';\nimport _curry2 from './_curry2.mjs';\nimport _isPlaceholder from './_isPlaceholder.mjs';\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}\n\nexport { _curry3 as default };\n//# sourceMappingURL=_curry3.mjs.map\n","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nvar _isArray = Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};\n\nexport { _isArray as default };\n//# sourceMappingURL=_isArray.mjs.map\n","function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}\n\nexport { _isString as default };\n//# sourceMappingURL=_isString.mjs.map\n","import _curry1 from './_curry1.mjs';\nimport _isArray from './_isArray.mjs';\nimport _isString from './_isString.mjs';\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n * _isArrayLike({nodeType: 1, length: 1}) // => false\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nvar _isArrayLike$1 = _isArrayLike;\n\nexport { _isArrayLike$1 as default };\n//# sourceMappingURL=_isArrayLike.mjs.map\n","import _isArrayLike from './_isArrayLike.mjs';\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nfunction _createReduce(arrayReduce, methodReduce, iterableReduce) {\n return function _reduce(xf, acc, list) {\n if (_isArrayLike(list)) {\n return arrayReduce(xf, acc, list);\n }\n\n if (list == null) {\n return acc;\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return methodReduce(xf, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return iterableReduce(xf, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return iterableReduce(xf, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return methodReduce(xf, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n };\n}\n\nexport { _createReduce as default };\n//# sourceMappingURL=_createReduce.mjs.map\n","function _xArrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nexport { _xArrayReduce as default };\n//# sourceMappingURL=_xArrayReduce.mjs.map\n","import _arity from './internal/_arity.mjs';\nimport _curry2 from './internal/_curry2.mjs';\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nvar bind$1 = bind;\n\nexport { bind$1 as default };\n//# sourceMappingURL=bind.mjs.map\n","import _createReduce from './_createReduce.mjs';\nimport _xArrayReduce from './_xArrayReduce.mjs';\nimport bind from '../bind.mjs';\n\nfunction _xIterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _xMethodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar _xReduce =\n/*#__PURE__*/\n_createReduce(_xArrayReduce, _xMethodReduce, _xIterableReduce);\n\nvar _xReduce$1 = _xReduce;\n\nexport { _xReduce$1 as default };\n//# sourceMappingURL=_xReduce.mjs.map\n","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nfunction _xwrap(fn) {\n return new XWrap(fn);\n}\n\nexport { _xwrap as default };\n//# sourceMappingURL=_xwrap.mjs.map\n","import _curry3 from './internal/_curry3.mjs';\nimport _xReduce from './internal/_xReduce.mjs';\nimport _xwrap from './internal/_xwrap.mjs';\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Be cautious of mutating and returning the accumulator. If you reuse it across\n * invocations, it will continue to accumulate onto the same value. The general\n * recommendation is to always return a new value. If you can't do so for\n * performance reasons, then be sure to reinitialize the accumulator on each\n * invocation.\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(function (xf, acc, list) {\n return _xReduce(typeof xf === 'function' ? _xwrap(xf) : xf, acc, list);\n});\n\nvar reduce$1 = reduce;\n\nexport { reduce$1 as default };\n//# sourceMappingURL=reduce.mjs.map\n","import _isArray from './_isArray.mjs';\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implementation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nfunction _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}\n\nexport { _checkForMethod as default };\n//# sourceMappingURL=_checkForMethod.mjs.map\n","import _checkForMethod from './internal/_checkForMethod.mjs';\nimport _curry3 from './internal/_curry3.mjs';\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nvar slice$1 = slice;\n\nexport { slice$1 as default };\n//# sourceMappingURL=slice.mjs.map\n","import _checkForMethod from './internal/_checkForMethod.mjs';\nimport _curry1 from './internal/_curry1.mjs';\nimport slice from './slice.mjs';\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\n\nvar tail =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_checkForMethod('tail',\n/*#__PURE__*/\nslice(1, Infinity)));\n\nvar tail$1 = tail;\n\nexport { tail$1 as default };\n//# sourceMappingURL=tail.mjs.map\n","import _arity from './internal/_arity.mjs';\nimport _pipe from './internal/_pipe.mjs';\nimport reduce from './reduce.mjs';\nimport tail from './tail.mjs';\n\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n * @symb R.pipe(f, g, h)(a)(b) = h(g(f(a)))(b)\n */\n\nfunction pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}\n\nexport { pipe as default };\n//# sourceMappingURL=pipe.mjs.map\n","import _curry1 from './internal/_curry1.mjs';\nimport _isString from './internal/_isString.mjs';\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\n\nvar reverse =\n/*#__PURE__*/\n_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n\nvar reverse$1 = reverse;\n\nexport { reverse$1 as default };\n//# sourceMappingURL=reverse.mjs.map\n","import pipe from './pipe.mjs';\nimport reverse from './reverse.mjs';\n\n/**\n * Performs right-to-left function composition. The last argument may have\n * any arity; the remaining arguments must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * const classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * const yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n * @symb R.compose(f, g, h)(a)(b) = f(g(h(a)))(b)\n */\n\nfunction compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n\n return pipe.apply(this, reverse(arguments));\n}\n\nexport { compose as default };\n//# sourceMappingURL=compose.mjs.map\n","function _arrayReduce(reducer, acc, list) {\n var index = 0;\n var length = list.length;\n\n while (index < length) {\n acc = reducer(acc, list[index]);\n index += 1;\n }\n\n return acc;\n}\n\nexport { _arrayReduce as default };\n//# sourceMappingURL=_arrayReduce.mjs.map\n","function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}\n\nexport { _isTransformer as default };\n//# sourceMappingURL=_isTransformer.mjs.map\n","import _isArray from './_isArray.mjs';\nimport _isTransformer from './_isTransformer.mjs';\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer created by [transducerCreator] to return a new transformer\n * (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} transducerCreator transducer factory if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nfunction _dispatchable(methodNames, transducerCreator, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var obj = arguments[arguments.length - 1];\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}\n\nexport { _dispatchable as default };\n//# sourceMappingURL=_dispatchable.mjs.map\n","function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}\n\nexport { _map as default };\n//# sourceMappingURL=_map.mjs.map\n","var _xfBase = {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};\n\nexport { _xfBase as default };\n//# sourceMappingURL=_xfBase.mjs.map\n","import _xfBase from './_xfBase.mjs';\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap = function _xmap(f) {\n return function (xf) {\n return new XMap(f, xf);\n };\n};\n\nvar _xmap$1 = _xmap;\n\nexport { _xmap$1 as default };\n//# sourceMappingURL=_xmap.mjs.map\n","import _arity from './_arity.mjs';\nimport _isPlaceholder from './_isPlaceholder.mjs';\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nfunction _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n var hasPlaceholder = false;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n } else {\n hasPlaceholder = true;\n }\n\n combinedIdx += 1;\n }\n\n return !hasPlaceholder && left <= 0 ? fn.apply(this, combined) : _arity(Math.max(0, left), _curryN(length, combined, fn));\n };\n}\n\nexport { _curryN as default };\n//# sourceMappingURL=_curryN.mjs.map\n","import _arity from './internal/_arity.mjs';\nimport _curry1 from './internal/_curry1.mjs';\nimport _curry2 from './internal/_curry2.mjs';\nimport _curryN from './internal/_curryN.mjs';\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nvar curryN$1 = curryN;\n\nexport { curryN$1 as default };\n//# sourceMappingURL=curryN.mjs.map\n","function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport { _has as default };\n//# sourceMappingURL=_has.mjs.map\n","import _has from './_has.mjs';\n\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nvar _isArguments$1 = _isArguments;\n\nexport { _isArguments$1 as default };\n//# sourceMappingURL=_isArguments.mjs.map\n","import _curry1 from './internal/_curry1.mjs';\nimport _has from './internal/_has.mjs';\nimport _isArguments from './internal/_isArguments.mjs';\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nvar keys$1 = keys;\n\nexport { keys$1 as default };\n//# sourceMappingURL=keys.mjs.map\n","import _arrayReduce from './internal/_arrayReduce.mjs';\nimport _curry2 from './internal/_curry2.mjs';\nimport _dispatchable from './internal/_dispatchable.mjs';\nimport _map from './internal/_map.mjs';\nimport _xmap from './internal/_xmap.mjs';\nimport curryN from './curryN.mjs';\nimport keys from './keys.mjs';\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex, R.pluck, R.project\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _arrayReduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nvar map$1 = map;\n\nexport { map$1 as default };\n//# sourceMappingURL=map.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n\nvar defaultTo$1 = defaultTo;\n\nexport { defaultTo$1 as default };\n//# sourceMappingURL=defaultTo.mjs.map\n","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nvar _isInteger = Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};\n\nexport { _isInteger as default };\n//# sourceMappingURL=_isInteger.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\nimport _isString from './internal/_isString.mjs';\n\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nvar nth$1 = nth;\n\nexport { nth$1 as default };\n//# sourceMappingURL=nth.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\nimport _isInteger from './internal/_isInteger.mjs';\nimport nth from './nth.mjs';\n\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int | Symbol]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nvar paths$1 = paths;\n\nexport { paths$1 as default };\n//# sourceMappingURL=paths.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\nimport paths from './paths.mjs';\n\n/**\n * Retrieves the value at a given path. The nodes of the path can be arbitrary strings or non-negative integers.\n * For anything else, the value is unspecified. Integer paths are meant to index arrays, strings are meant for objects.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {a} -> a | Undefined\n * @sig Idx = String | NonNegativeInt\n * @param {Array} path The path to use.\n * @param {Object} obj The object or array to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth, R.assocPath, R.dissocPath\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n * R.path([2], {'2': 2}); //=> 2\n * R.path([-2], {'-2': 'a'}); //=> undefined\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nvar path$1 = path;\n\nexport { path$1 as default };\n//# sourceMappingURL=path.mjs.map\n","import _curry3 from './internal/_curry3.mjs';\nimport defaultTo from './defaultTo.mjs';\nimport path from './path.mjs';\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\n\nvar pathOr =\n/*#__PURE__*/\n_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n\nvar pathOr$1 = pathOr;\n\nexport { pathOr$1 as default };\n//# sourceMappingURL=pathOr.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\n\n/**\n * See if an object (i.e. `val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n * If `val` was created using `Object.create`, `R.is(Object, val) === true`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\n\nvar is =\n/*#__PURE__*/\n_curry2(function is(Ctor, val) {\n return val instanceof Ctor || val != null && (val.constructor === Ctor || Ctor.name === 'Object' && typeof val === 'object');\n});\n\nvar is$1 = is;\n\nexport { is$1 as default };\n//# sourceMappingURL=is.mjs.map\n","import _checkForMethod from './internal/_checkForMethod.mjs';\nimport _curry2 from './internal/_curry2.mjs';\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\n\nvar forEach =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n\n return list;\n}));\n\nvar forEach$1 = forEach;\n\nexport { forEach$1 as default };\n//# sourceMappingURL=forEach.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport compose from '../node_modules/ramda/es/compose.mjs';\nimport map from '../node_modules/ramda/es/map.mjs';\nimport pathOr from '../node_modules/ramda/es/pathOr.mjs';\nimport reduce from '../node_modules/ramda/es/reduce.mjs';\nimport is from '../node_modules/ramda/es/is.mjs';\nimport forEach from '../node_modules/ramda/es/forEach.mjs';\n\nconst collect = (res, name, value) => {\n if (!value) return\n const newValue = is(Array, value) ? value : [value];\n if (!res[name]) res[name] = new Set(newValue);\n else forEach(v => res[name].add(v), newValue);\n};\n\nconst collectAll = (res, { conceptIdentity, localRepresentation, conceptRoles = [] }) => {\n collect(res, 'conceptschemeRefs', urn2FullRef(conceptIdentity));\n collect(res, 'conceptschemeRefs', map(urn2FullRef, conceptRoles));\n collect(res, 'codelistRefs', urn2FullRef(localRepresentation?.enumeration));\n};\n\nconst analyseComponent =\n path =>\n ([data, res]) => {\n collectAll(res, pathOr({}, path, data));\n return [data, res]\n };\n\nconst analyseComponents =\n path =>\n ([data, res]) =>\n [\n data,\n reduce(\n (acc, component) => {\n collectAll(res, component);\n return acc\n },\n res,\n pathOr([], path, data),\n ),\n ];\n\nconst analyseDataStructureComponents = ({ dataStructureComponents }) =>\n compose(\n ([, res]) => map(x => [...x], res),\n analyseComponents(['attributeList', 'attributes']),\n analyseComponents(['dimensionList', 'dimensions']),\n analyseComponents(['dimensionList', 'measureDimensions']),\n analyseComponent(['dimensionList', 'timeDimension']),\n analyseComponents(['dimensionList', 'timeDimensions']), // v2\n analyseComponents(['measureList', 'measures']),\n analyseComponent(['measureList', 'primaryMeasure']), // v2\n )([dataStructureComponents, {}]);\n\nfunction getChildRefs(input) {\n const analyse = analyseDataStructureComponents(input);\n const res = [...(analyse.conceptschemeRefs || []), ...(analyse.codelistRefs || [])];\n if (input.metadata) res.push(urn2FullRef(input.metadata));\n return res\n}\n\nvar Datastructure = Artefact({\n name: 'datastructure',\n structureName: 'dataStructures',\n packageName: 'datastructure',\n className: 'DataStructure',\n getChildRefs,\n});\n\nexport { Datastructure as default };\n//# sourceMappingURL=datastructure.mjs.map\n","import { ItemScheme } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\n\nfunction getChildRefs(input) {\n return (input.codelistExtensions || []).map(ext => urn2FullRef(ext.codelist))\n}\n\nvar Codelist = ItemScheme({\n name: 'codelist',\n structureName: 'codelists',\n packageName: 'codelist',\n className: 'Codelist',\n itemsName: 'codes',\n getChildRefs,\n});\n\nexport { Codelist as default };\n//# sourceMappingURL=codelist.mjs.map\n","function _identity(x) {\n return x;\n}\n\nexport { _identity as default };\n//# sourceMappingURL=_identity.mjs.map\n","import _curry1 from './internal/_curry1.mjs';\nimport _identity from './internal/_identity.mjs';\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nvar identity$1 = identity;\n\nexport { identity$1 as default };\n//# sourceMappingURL=identity.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport identity from '../node_modules/ramda/es/identity.mjs';\n\nfunction getChildRefs(input) {\n return [urn2FullRef(input.source), urn2FullRef(input.target)].filter(identity)\n}\n\nvar Categorisation = Artefact({\n name: 'categorisation',\n structureName: 'categorisations',\n packageName: 'categoryscheme',\n className: 'Categorisation',\n getChildRefs,\n});\n\nexport { Categorisation as default };\n//# sourceMappingURL=categorisation.mjs.map\n","import { ItemScheme } from './sdmx.mjs';\n\nvar CategoryScheme = ItemScheme({\n name: 'categoryscheme',\n structureName: 'categorySchemes',\n packageName: 'categoryscheme',\n className: 'CategoryScheme',\n itemsName: 'categories',\n});\n\nexport { CategoryScheme as default };\n//# sourceMappingURL=categoryscheme.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\nimport _isInteger from './internal/_isInteger.mjs';\nimport nth from './nth.mjs';\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.props, R.pluck, R.project, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n if (obj == null) {\n return;\n }\n\n return _isInteger(p) ? nth(p, obj) : obj[p];\n});\n\nvar prop$1 = prop;\n\nexport { prop$1 as default };\n//# sourceMappingURL=prop.mjs.map\n","import _curry3 from './internal/_curry3.mjs';\nimport defaultTo from './defaultTo.mjs';\nimport prop from './prop.mjs';\n\n/**\n * Return the specified property of the given non-null object if the property\n * is present and it's value is not `null`, `undefined` or `NaN`.\n *\n * Otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\n\nvar propOr =\n/*#__PURE__*/\n_curry3(function propOr(val, p, obj) {\n return defaultTo(val, prop(p, obj));\n});\n\nvar propOr$1 = propOr;\n\nexport { propOr$1 as default };\n//# sourceMappingURL=propOr.mjs.map\n","import { ItemScheme } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport propOr from '../node_modules/ramda/es/propOr.mjs';\n\nconst getCoreRepresentations = input => {\n const refs = [];\n for (const concept of propOr([], 'concepts', input)) {\n const enumeration = concept.coreRepresentation?.enumeration;\n if (enumeration) refs.push(urn2FullRef(enumeration));\n }\n return refs\n};\n\nfunction getChildRefs(input) {\n return getCoreRepresentations(input)\n}\n\nvar ConcepScheme = ItemScheme({\n name: 'conceptscheme',\n structureName: 'conceptSchemes',\n packageName: 'conceptscheme',\n className: 'ConceptScheme',\n itemsName: 'concepts',\n getChildRefs,\n});\n\nexport { ConcepScheme as default };\n//# sourceMappingURL=conceptscheme.mjs.map\n","import _curry1 from './internal/_curry1.mjs';\nimport keys from './keys.mjs';\n\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys, R.toPairs\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\n\nvar values =\n/*#__PURE__*/\n_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n\n return vals;\n});\n\nvar values$1 = values;\n\nexport { values$1 as default };\n//# sourceMappingURL=values.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport reduce from '../node_modules/ramda/es/reduce.mjs';\nimport map from '../node_modules/ramda/es/map.mjs';\nimport values from '../node_modules/ramda/es/values.mjs';\n\nfunction getChildRefs(input) {\n const { constraintAttachment = {} } = input;\n return reduce((acc, urns) => [...acc, ...map(urn => urn2FullRef(urn), urns)], [], values(constraintAttachment))\n}\n\nvar ContentConstraint = Artefact({\n structureName: 'contentConstraints',\n name: 'contentconstraint',\n packageName: 'registry',\n className: 'ContentConstraint',\n version: 2,\n getChildRefs,\n});\n\nexport { ContentConstraint as default };\n//# sourceMappingURL=contentconstraint.mjs.map\n","import { ItemScheme } from './sdmx.mjs';\n\nvar DataProviderScheme = ItemScheme({\n structureName: 'dataProviderSchemes',\n name: 'dataproviderscheme',\n packageName: 'base',\n className: 'DataProviderScheme',\n itemsName: 'dataProviders',\n});\n\nexport { DataProviderScheme as default };\n//# sourceMappingURL=dataproviderscheme.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport map from '../node_modules/ramda/es/map.mjs';\nimport values from '../node_modules/ramda/es/values.mjs';\n\nfunction getChildRefs(input) {\n const { includedCodelists = {} } = input;\n return map(urn => urn2FullRef(urn), values(includedCodelists))\n}\n\nvar HierarchicalCodelist = Artefact({\n structureName: 'hierarchicalCodelists',\n name: 'hierarchicalcodelist',\n packageName: 'codelist',\n className: 'Hierarchicalcode',\n version: 2,\n getChildRefs,\n});\n\nexport { HierarchicalCodelist as default };\n//# sourceMappingURL=hierarchicalcodelist.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport reduce from '../node_modules/ramda/es/reduce.mjs';\nimport map from '../node_modules/ramda/es/map.mjs';\nimport values from '../node_modules/ramda/es/values.mjs';\n\nfunction getChildRefs(input) {\n const { constraintAttachment = {} } = input;\n return reduce((acc, urns) => [...acc, ...map(urn => urn2FullRef(urn), urns)], [], values(constraintAttachment))\n}\n\nvar DataConstraint = Artefact({\n structureName: 'dataConstraints',\n name: 'dataconstraint',\n packageName: 'registry',\n className: 'DataConstraint',\n getChildRefs,\n});\n\nexport { DataConstraint as default };\n//# sourceMappingURL=dataconstraint.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport identity from '../node_modules/ramda/es/identity.mjs';\n\nfunction getChildRefs(input) {\n return [urn2FullRef(input.structureUsage), urn2FullRef(input.dataProvider)].filter(identity)\n}\n\nvar ProvisionAgreement = Artefact({\n structureName: 'provisionAgreements',\n name: 'provisionagreement',\n packageName: 'registry',\n className: 'ProvisionAgreement',\n getChildRefs,\n});\n\nexport { ProvisionAgreement as default };\n//# sourceMappingURL=provisionagreement.mjs.map\n","import { Artefact } from './sdmx.mjs';\nimport { urn2FullRef } from '../core.mjs';\nimport compose from '../node_modules/ramda/es/compose.mjs';\nimport map from '../node_modules/ramda/es/map.mjs';\nimport reduce from '../node_modules/ramda/es/reduce.mjs';\nimport pathOr from '../node_modules/ramda/es/pathOr.mjs';\nimport is from '../node_modules/ramda/es/is.mjs';\nimport forEach from '../node_modules/ramda/es/forEach.mjs';\n\nconst collect = (res, name, value) => {\n if (!value) return\n const newValue = is(Array, value) ? value : [value];\n if (!res[name]) res[name] = new Set(newValue);\n else forEach(v => res[name].add(v), newValue);\n};\n\nconst collectAll = (res, { conceptIdentity, localRepresentation }) => {\n collect(res, 'conceptschemeRefs', urn2FullRef(conceptIdentity));\n collect(res, 'codelistRefs', urn2FullRef(localRepresentation?.enumeration));\n};\n\nconst analyseComponents =\n path =>\n ([data, res]) =>\n [\n data,\n reduce(\n (acc, component) => {\n collectAll(res, component);\n return acc\n },\n res,\n pathOr([], path, data),\n ),\n ];\n\nconst analyseDataStructureComponents = ({ metadataStructureComponents }) =>\n compose(\n ([, res]) => map(x => [...x], res),\n analyseComponents(['metadataAttributeList', 'metadataAttributes']),\n )([metadataStructureComponents, {}]);\n\nfunction getChildRefs(input) {\n const analyse = analyseDataStructureComponents(input);\n return [...(analyse.conceptschemeRefs || []), ...(analyse.codelistRefs || [])]\n}\n\nvar MetadataStructure = Artefact({\n name: 'metadatastructure',\n structureName: 'metadataStructures',\n packageName: 'metadatastructure',\n className: 'MetadataStructure',\n getChildRefs,\n});\n\nexport { MetadataStructure as default };\n//# sourceMappingURL=metadatastructure.mjs.map\n","import Dataflow from './dataflow.mjs';\nimport Datastructure from './datastructure.mjs';\nimport Codelist from './codelist.mjs';\nimport Categorisation from './categorisation.mjs';\nimport CategoryScheme from './categoryscheme.mjs';\nimport ConcepScheme from './conceptscheme.mjs';\nimport ContentConstraint from './contentconstraint.mjs';\nimport DataProviderScheme from './dataproviderscheme.mjs';\nimport HierarchicalCodelist from './hierarchicalcodelist.mjs';\nimport DataConstraint from './dataconstraint.mjs';\nimport ProvisionAgreement from './provisionagreement.mjs';\nimport MetadataStructure from './metadatastructure.mjs';\n\nconst Artefacts = [\n Dataflow,\n Datastructure,\n Codelist,\n Categorisation,\n CategoryScheme,\n ConcepScheme,\n ContentConstraint,\n DataConstraint,\n DataProviderScheme,\n HierarchicalCodelist,\n ProvisionAgreement,\n MetadataStructure,\n];\n\nexport { Artefacts };\n//# sourceMappingURL=artefacts.mjs.map\n","import _curry2 from './internal/_curry2.mjs';\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\n\nvar pick =\n/*#__PURE__*/\n_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nvar pick$1 = pick;\n\nexport { pick$1 as default };\n//# sourceMappingURL=pick.mjs.map\n","import { SemVer, SemVerError } from '@dbmx/semver';\nimport { resolveDependency } from './dependencyResolver.mjs';\nimport { getFullyQualifiedItems, getItems } from './items.mjs';\nimport urlRegex from './utils/url-regexp.mjs';\nimport { Item, Artefact, SDMX, Component } from './types/sdmx.mjs';\nimport { Artefacts } from './types/artefacts.mjs';\nimport prop from './node_modules/ramda/es/prop.mjs';\nimport dissoc from './node_modules/ramda/es/dissoc.mjs';\nimport pick from './node_modules/ramda/es/pick.mjs';\nimport reduce from './node_modules/ramda/es/reduce.mjs';\nimport values from './node_modules/ramda/es/values.mjs';\n\n/**\n * @typedef Ref\n * @property {string} - agencyID\n * @property {string} - id\n * @property {string} - semver version\n * @property {string} - resourceType\n */\n\n/**\n * Array of SDMX Artefact to get artefact description\n * @property {string} name - name use in rest API\n * @property {package} packageName - package's name use to build urn\n * @property {package} className - class's name use to build urn\n * @property {package} structureName - name use in structure messages\n *\n * @function SDMXTypes\n * @tag core\n * @tag types\n *\n */\nconst SDMXTypes = [\n Item({\n name: 'agency',\n packageName: 'base',\n className: 'Agency',\n schemeName: 'agencyscheme',\n }),\n Artefact({\n structureName: 'agencySchemes',\n name: 'agencyscheme',\n packageName: 'base',\n className: 'AgencyScheme',\n }),\n SDMX({\n name: 'dataConsumer',\n packageName: 'base',\n className: 'DataConsumer',\n }),\n SDMX({\n name: 'dataConsumerScheme',\n packageName: 'base',\n className: 'DataConsumerScheme',\n }),\n Item({\n name: 'dataProvider',\n packageName: 'base',\n className: 'DataProvider',\n schemeName: 'dataproviderscheme',\n }),\n SDMX({\n name: 'metadataProvider',\n packageName: 'base',\n className: 'MetadataProvider',\n }),\n SDMX({\n name: 'metadataProviderScheme',\n packageName: 'base',\n className: 'MetadataProviderScheme',\n }),\n SDMX({\n name: 'organisationUnit',\n packageName: 'base',\n className: 'OrganisationUnit',\n }),\n SDMX({\n name: 'organisationUnitScheme',\n packageName: 'base',\n className: 'OrganisationUnitScheme',\n }),\n SDMX({\n name: 'attributeDescriptor',\n packageName: 'datastructure',\n className: 'AttributeDescriptor',\n }),\n Component({\n name: 'dataAttribute',\n packageName: 'datastructure',\n className: 'DataAttribute',\n }),\n Component({\n name: 'dimension',\n packageName: 'datastructure',\n className: 'Dimension',\n }),\n SDMX({\n name: 'dimensionDescriptor',\n packageName: 'datastructure',\n className: 'DimensionDescriptor',\n }),\n Component({\n name: 'primaryMeasure',\n packageName: 'datastructure',\n className: 'PrimaryMeasure',\n version: 2,\n }),\n SDMX({\n name: 'groupDimensionDescriptor',\n packageName: 'datastructure',\n className: 'GroupDimensionDescriptor',\n }),\n Component({\n name: 'measure',\n packageName: 'datastructure',\n className: 'Measure',\n }),\n SDMX({\n name: 'measureDescriptor',\n packageName: 'datastructure',\n className: 'MeasureDescriptor',\n }),\n Component({\n name: 'timeDimension',\n packageName: 'datastructure',\n className: 'TimeDimension',\n }),\n Component({\n name: 'metadataAttribute',\n packageName: 'metadatastructure',\n className: 'MetadataAttribute',\n }),\n SDMX({\n name: 'metadataAttributeDescriptor',\n packageName: 'metadatastructure',\n className: 'MetadataAttributeDescriptor',\n }),\n SDMX({\n name: 'metadataStructure',\n packageName: 'metadatastructure',\n className: 'MetadataStructure',\n }),\n SDMX({\n name: 'metadataflow',\n packageName: 'metadatastructure',\n className: 'Metadataflow',\n }),\n SDMX({\n name: 'metadataSet',\n packageName: 'metadatastructure',\n className: 'MetadataSet',\n }),\n SDMX({\n name: 'Process',\n packageName: 'process',\n className: 'Process',\n }),\n SDMX({\n name: 'processStep',\n packageName: 'process',\n className: 'ProcessStep',\n }),\n SDMX({\n name: 'transition',\n packageName: 'process',\n className: 'Transition',\n }),\n Artefact({\n structureName: 'metadataConstraints',\n name: 'metadataConstraint',\n packageName: 'registry',\n className: 'MetadataConstraint',\n }),\n SDMX({\n name: 'metadataProvisionAgreement',\n packageName: 'registry',\n className: 'MetadataProvisionAgreement',\n }),\n SDMX({\n name: 'subscription',\n packageName: 'registry',\n className: 'Subscription',\n }),\n SDMX({\n name: 'categorySchemeMap',\n packageName: 'structuremapping',\n className: 'CategorySchemeMap',\n }),\n SDMX({\n name: 'conceptSchemeMap',\n packageName: 'structuremapping',\n className: 'ConceptSchemeMap',\n }),\n SDMX({\n name: 'organisationSchemeMap',\n packageName: 'structuremapping',\n className: 'OrganisationSchemeMap',\n }),\n SDMX({\n name: 'reportingTaxonomyMap',\n packageName: 'structuremapping',\n className: 'ReportingTaxonomyMap',\n }),\n SDMX({\n name: 'representationMap',\n packageName: 'structuremapping',\n className: 'RepresentationMap',\n }),\n SDMX({\n name: 'structureMap',\n packageName: 'structuremapping',\n className: 'StructureMap',\n }),\n Item({\n name: 'category',\n packageName: 'categoryscheme',\n className: 'Category',\n }),\n SDMX({\n name: 'reportingCategory',\n packageName: 'categoryscheme',\n className: 'ReportingCategory',\n }),\n SDMX({\n name: 'reportingTaxonomy',\n packageName: 'categoryscheme',\n className: 'ReportingTaxonomy',\n }),\n Item({\n name: 'concept',\n packageName: 'conceptscheme',\n className: 'Concept',\n }),\n Item({\n name: 'code',\n packageName: 'codelist',\n className: 'Code',\n }),\n SDMX({\n name: 'hierarchicalCode',\n packageName: 'codelist',\n className: 'HierarchicalCode',\n }),\n SDMX({\n name: 'hierarchy',\n packageName: 'codelist',\n className: 'Hierarchy',\n }),\n SDMX({\n name: 'hierarchyAssociation',\n packageName: 'codelist',\n className: 'HierarchyAssociation',\n }),\n SDMX({\n name: 'level',\n packageName: 'codelist',\n className: 'Level',\n }),\n SDMX({\n name: 'valueList',\n packageName: 'codelist',\n className: 'ValueList',\n }),\n SDMX({\n name: 'customType',\n packageName: 'transformation',\n className: 'CustomType',\n }),\n SDMX({\n name: 'customTypeScheme',\n packageName: 'transformation',\n className: 'CustomTypeScheme',\n }),\n SDMX({\n name: 'namePersonalisation',\n packageName: 'transformation',\n className: 'NamePersonalisation',\n }),\n SDMX({\n name: 'namePersonalisationScheme',\n packageName: 'transformation',\n className: 'NamePersonalisationScheme',\n }),\n SDMX({\n name: 'ruleset',\n packageName: 'transformation',\n className: 'Ruleset',\n }),\n SDMX({\n name: 'rulesetScheme',\n packageName: 'transformation',\n className: 'RulesetScheme',\n }),\n SDMX({\n name: 'transformation',\n packageName: 'transformation',\n className: 'Transformation',\n }),\n SDMX({\n name: 'transformationScheme',\n packageName: 'transformation',\n className: 'TransformationScheme',\n }),\n SDMX({\n name: 'userDefinedOperator',\n packageName: 'transformation',\n className: 'UserDefinedOperator',\n }),\n SDMX({\n name: 'userDefinedOperatorScheme',\n packageName: 'transformation',\n className: 'UserDefinedOperatorScheme',\n }),\n SDMX({\n name: 'vtlCodelistMapping',\n packageName: 'transformation',\n className: 'VtlCodelistMapping',\n }),\n SDMX({\n name: 'vtlConceptMapping',\n packageName: 'transformation',\n className: 'VtlConceptMapping',\n }),\n SDMX({\n name: 'vtlDataflowMapping',\n packageName: 'transformation',\n className: 'VtlDataflowMapping',\n }),\n SDMX({\n name: 'vtlMappingScheme',\n packageName: 'transformation',\n className: 'VtlMappingScheme',\n }),\n ...Artefacts,\n];\n\n/*\n * Object to get an artefact description from its structure name\n *\n * @function STRUCTURE_NAMES\n * @tag artefact\n * @tag core\n */\n\nconst STRUCTURE_NAMES = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.structureName] = artefact;\n return acc\n}, {});\n\n/*\n * Object to get an artefact description from its class name\n *\n * @function CLASSES\n * @tag artefact\n * @tag core\n */\n\nconst CLASSES = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.className] = artefact;\n return acc\n}, {});\n\n/*\n * Object to get an artefact description from its name\n *\n * @function RESOURCES\n * @constant\n * @tag artefact\n * @tag core\n */\n\nconst RESOURCES = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.name] = artefact.name;\n return acc\n}, {});\n\nconst hResourceTypes = SDMXTypes.reduce((acc, artefact) => {\n acc[artefact.name] = artefact;\n return acc\n}, {});\n\nconst urnType = type => `sdmx.infomodel.${type.packageName || type.name}.${type.className}`;\n\nconst hArtefactUrnTypes = SDMXTypes.reduce((acc, artefact) => {\n acc[urnType(artefact)] = artefact;\n return acc\n}, {});\n\n/**\n * Returns artefact description from its name\n *\n * @function getArtefactByType\n * @tag artefact\n * @tag core\n * @return AttributeDescriptor\n *\n * @example\n * getArtefactByType('dataflow') //=> ArtefactDescription\n */\n\nconst getArtefactByType = type => hResourceTypes[type];\nconst getItemArtefactByResourceType = resourceType => SDMXTypes.find(obj => obj.schemeName === resourceType);\n\nconst getArtefactByStructureName = name => STRUCTURE_NAMES[name];\n\n/**\n * Returns artefact description\n *\n * @function getArtefactByUrnType\n * @tag artefact\n * @tag core\n * @param {string} - packageName\n * @param {string} - className\n * @return {ArtefactDescription}\n *\n * @example\n * getArtefactByType('dataflow') //=> ArtefactDescription\n */\n\nconst getArtefactByUrnType = (packageName, className) => hArtefactUrnTypes[urnType({ packageName, className })];\n\n/**\n * Returns true if param is a valid structure name\n *\n * @function isValidArtefactName\n * @tag artefact\n * @tag core\n * @param {string} - name\n * @return {Boolean}\n */\nconst isValidArtefactName = name => STRUCTURE_NAMES[name];\n\n/**\n * Returns true if param is an structure name\n *\n * @function isValidStructureName\n * @tag artefact\n * @tag core\n * @param {string} - name\n * @return {Boolean}\n */\nconst isValidStructureName = name => STRUCTURE_NAMES[name];\n\n/**\n * Returns true if param is an artefact name\n *\n * @function isValidResourceType\n * @tag artefact\n * @tag core\n * @param {string} - name\n * @return {Boolean}\n */\nconst isValidResourceType = type => hResourceTypes[type];\n\nconst SDMXPrefix = 'urn:sdmx:org';\n// const parseURN = urn => urn.match(/^urn:sdmx:org\\.sdmx\\.infomodel\\.(\\w+)\\.(\\w+)=(.+):(.+)\\((.+)\\)(?:\\.([\\w.-]+))?/)\nconst parseURN = urn => urn.match(/^urn:sdmx:org\\.sdmx\\.infomodel\\.(\\w+)\\.(\\w+)=(.+):(.+)\\((.+)\\)(?:\\.(.+))?/);\n\n/**\n * @typedef FullRef\n * @property {string} - resourceType\n * @property {string} - agencyID\n * @property {string} - id\n * @property {string} - semver version\n * @property {string=} - itemId\n */\n\n/**\n * Returns URN from full ref\n *\n * @function makeUrn\n * @tag core\n * @tag URN\n * @param {FullRef}\n * @return {string} - an `urn`\n *\n * @example\n *\n * makeUrn({ resourceType = 'codelist', agencyID: 'SDMX', id: 'CL_AGE', version; '1.0.1-draft') //=> 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0.1-draft)'\n * makeUrn({ resourceType = 'codelist', agencyID: 'SDMX', id: 'CL_AGE', version; '1.0', itemId: 'YOT4') //=> 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'\n */\nconst makeUrn = ({ resourceType, agencyID, id, resourceId, resourceID, version, itemId, itemID } = {}, type) => {\n const localID = id ?? resourceId ?? resourceID;\n const localItemID = itemId ?? itemID;\n if (!agencyID || !localID || !version)\n throw new Error(\n `Wrong ref to build URN: ${JSON.stringify({ resourceType, agencyID, localID, version, localItemID })}`,\n )\n const localType = type ?? resourceType;\n const artefact = getArtefactByType(localType) ?? getArtefactByStructureName(localType);\n if (!artefact) throw new Error(`Unknow artefact: ${localType}`)\n const base = `${SDMXPrefix}.${urnType(artefact)}=${agencyID}:${localID}(${version})`;\n if (!localItemID) return base\n if (artefact.isArtefact) return base\n if (artefact.isItem && artefact.name !== 'category') return `${base}.${localItemID.split('.').pop()}`\n return `${base}.${localItemID}`\n};\n/**\n * Returns full ref from URN\n *\n * @function urn2FullRef\n * @tag core\n * @tag URN\n * @param {string} - urn\n * @return {FullRef} -\n *\n * @example\n *\n * const urn = 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'\n * urn2FullRef(urn) //=> { resourceType = 'codelist', agencyID: 'SDMX\", id: 'CL_AGE', version; '1.0', itemId: 'YOT4')\n */\nconst urn2FullRef = urn => {\n if (!urn) return\n const res = parseURN(urn);\n if (!res) throw new Error(`Malformed URN: ${urn}`)\n const [_, packageName, className, agencyID, id, version, itemId] = res; // eslint-disable-line\n const artefact = getArtefactByUrnType(packageName, className);\n if (!artefact) throw new Error(`Unknow artefact for URN: ${urn}`)\n const resource = {\n resourceType: artefact.name,\n agencyID,\n id,\n version,\n };\n if (artefact.isItem && !itemId) throw new Error(`Inconsistent urn for an item: ${urn}`)\n if (itemId) resource.itemId = itemId;\n return resource\n};\n\nconst getName = (locale, obj = {}) => obj.names?.[locale];\nconst getDescription = (locale, obj = {}) => obj.descriptions?.[locale];\n\n/**\n * Returns Ref from URN\n *\n * @function urn2Ref\n * @tag core\n * @tag URN\n * @param {string} - urn\n * @return {Ref} -\n *\n */\n\nconst urn2Ref = urn => dissoc('itemId', urn2FullRef(urn));\n\n/**\n * Returns version of a meta object (structure or data message)\n *\n * @function getSdmxVersion\n * @tag core\n * @param {object} - a `meta` object from a Structure or Data SDMX message\n * @param {object=} - options, allow to define default version to return when previous prams to not contains a `meta` prop\n * @return {string} - ['1', '2']\n *\n * @example\n *\n * const urn = 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'\n * urn2FullRef(urn) //=> { resourceType = 'codelist', agencyID: 'SDMX\", id: 'CL_AGE', version; '1.0', itemId: 'YOT4')\n */\nconst getSdmxVersion = ({ schema } = {}, { defaultVersion = '2' } = {}) => {\n if (!schema) return defaultVersion\n const res = schema.match(/\\/schemas\\/(.*)\\//);\n if (!res) return defaultVersion\n try {\n return SemVer(res[1]).major === 2 ? '2' : '1'\n } catch (err) {\n return defaultVersion\n }\n};\n\n/**\n * Returns a Ref from a resource\n *\n * @function getRef\n * @tag core\n * @tag resource\n * @param {object} - input structure\n * @return {Ref} - pick(['agencyID', 'id', 'version'], resource)\n *\n */\n\nconst getRef = (resource = {}, resourceType) => {\n const localResourceType = resourceType ?? resource.resourceType;\n const res = pick(['id', 'agencyID', 'version'], resource);\n if (localResourceType) res.resourceType = localResourceType;\n return res\n};\n\n/**\n * Returns a FullRef from a resource\n *\n * @function getFullRef\n * @tag core\n * @tag resource\n * @param {object} - input structure\n * @return {FullRef}\n *\n */\n\nconst getFullRef = (resource, resourceType) => {\n const res = getRef(resource, resourceType);\n if (resource.itemId) res.itemId = resource.itemId;\n return res\n};\n\n/**\n * Returns an external resource from the input\n *\n * @function makeExternal\n * @tag core\n * @tag structure\n * @param {string} - resourceType\n * @param {string} - href to get input structure\n * @param {object} - input structure\n * @return {object} - input structure converted to an external one\n *\n * @example\n *\n * const source = {}\n * const resource = makeExternal(CLASSES.Dataflow.name, 'href2', urn)\n * expect(isExternal(resource).toBeTruthy()\n * expect(getExternalUrl(resource)).toEqual('href2')\n */\nconst makeExternal = (resourceType, href, source) => {\n const linkRefs = { ...getRef(source), resourceType, href };\n return {\n ...pick(['id', 'agencyID', 'version', 'names', 'descriptions'], source),\n isExternalReference: true,\n links: makeLinks([selfLink(linkRefs), relLink(linkRefs)]),\n }\n};\n\n/**\n * Returns an identifier for an artefact based on { agencyID, id, version }\n *\n * @example\n *\n * const resource1 = { agencyID: 'AG', id: 'ID1', version: '1.0.3'}\n * const resource2 = { agencyID: 'AG', id: 'ID2', version: '1.0'}\n * expect(ID(resource1) !== ID(resource2)).toBeTruthy()\n */\n\nconst ID = ({ agencyID, id, version, itemId } = {}) => {\n if (!agencyID) throw new Error('agencyID cannot be null')\n if (!id) throw new Error('id cannot be null')\n return itemId ? `${agencyID}:${id}:${version}:${itemId}` : `${agencyID}:${id}:${version}`\n};\n\nconst fullID = (resourceType, resource) => `${resourceType}:${ID(resource)}`;\nconst refFullID = (ref, resourceType) => `${resourceType ?? ref.resourceType}:${ID(ref)}`;\n\n/**\n * Returns if a version is patterned (contains '+') - do not check if Range(version) is valid\n *\n * @function isPatternedVersion\n * @tag core\n * @tag version\n * @param {string} - version\n *\n * @example\n *\n * expect(isPatternedVersion('3.2+.0')).toBeTruthy()\n * expect(isPatternedVersion('3.2.0')).toBeFalsy()\n */\n\nconst isPatternedVersion = version => version && version.indexOf('+') !== -1;\n\n/**\n * Returns if a source artefact is semver compatible with a target one\n *\n * @function isTargetVersionCompatible\n * @tag core\n * @tag semver\n * @param {object} - { version }\n * @param {object} - { version }\n *\n * @example\n *\n * expect(isTargetVersionCompatible({ version: '3.2.0'}, { version: '1.0'})).toBeFalsy()\n */\n\nconst isTargetVersionCompatible = (source = {}, target = {}) => {\n const sourceIsStable = SemVer(source.version).isStable();\n return !sourceIsStable || SemVer(target.version).isStable()\n};\n\n/**\n * Resolves an item from a structure\n *\n * @function resolveItemFromStructure\n * @tag core\n * @tag item\n * @param {object} - SDMX structure\n * @param {FullRef} - source resource\n * @param {FullRef} - item's fullRef\n *\n */\n\nconst resolveItemFromStructure = ({ data = {} } = {}, source, ref = {}) => {\n if (!ref.itemId) throw new Error(`Wrong fullRef '${JSON.stringify(ref)}': 'itemId' is required to get an item!`)\n const toType = getArtefactByType(ref.resourceType);\n const resources = getResourcesFromStructure({ data }, toType.schemeName);\n // const resource = resolveDependency(resources, source, getRef(ref, toType.schemeName))\n const resource = resolveDependency(resources, source, getRef(ref));\n const items = getFullyQualifiedItems(getItems(toType.schemeName, resource), { flatten: true });\n let item;\n if (toType.name === 'category') item = items.find(item => item.fullId === ref.itemId);\n else item = items.find(item => item.id === ref.itemId);\n return { resource, item }\n};\n\n/**\n * Gets structure.data[resourceType]\n *\n * @function getResourcesFromStructure\n * @tag core\n * @param {object} - SDMX structure\n * @param {type} - resourceType | structureName\n * @return {object} - structure.data[resourceType]\n *\n */\n\nconst getResourcesFromStructure = ({ data = {} } = {}, type) =>\n data[type] ?? data[getArtefactByType(type)?.structureName] ?? [];\n\n/**\n * Gets fullRef from structure\n *\n * @function getResourceFromStructure\n * @tag core\n * @param {object} - SDMX structure\n * @param {FullRef} - fullRef\n * @return {string} - resourceType\n *\n */\n\nconst getResourceFromStructure = (structure = {}, fullRef = {}, type) => {\n const resources = getResourcesFromStructure(structure, fullRef.resourceType ?? type);\n return resources.find(resource => ID(resource) === ID(fullRef))\n};\n\n/**\n * Resolved resource from structure\n *\n * @function resolveResourceFromStructure\n * @tag core\n * @param {object} - SDMX structure\n * @param {object} - { version } of the source dependency\n * @param {Ref} - Ref of the target dependency\n * @return {object} - resolved resource\n *\n * @example\n *\n * const structure = {\n * data: {\n * categorySchemes: [artefact],\n * },\n * }\n * const res = resolveResourceFromStructure(\n * structure,\n * { version: '1.0.0' },\n * { ...getRef(artefact, 'categoryscheme'), version: '1+.0.0' },\n * )\n * expect(res).toEqual(artefact)\n *\n */\nconst resolveResourceFromStructure = ({ data = {} } = {}, source, ref = {}, { noError } = {}) => {\n const resources = getResourcesFromStructure({ data }, ref.resourceType);\n try {\n const res = resolveDependency(resources, source, getRef(ref));\n return res\n } catch (err) {\n if (err instanceof SemVerError) {\n if (noError) return\n throw err\n } else throw err\n }\n};\n\n/**\n * Gets a Map of resources indexed by URN from structure\n *\n * @function getURNResourcesMapFromStructure\n * @tag core\n * @param {object} - SDMX structure\n *\n *\n */\n\nconst getURNResourcesMapFromStructure = ({ data = {} } = {}) => {\n const res = new Map();\n for (const structureName of Object.keys(data)) {\n for (const resource of data[structureName]) res.set(makeUrn(resource, structureName), resource);\n }\n return res\n};\n\nconst isUrlRegex = url => urlRegex.test(url);\n\nconst getLatestMinor = version => {\n const semver = SemVer(version);\n if (semver.patch === null) return `${semver.major}.${semver.minor}`\n return `${semver.major}.${semver.minor}+.${semver.patch}`\n};\n\nconst getDataStructureFromArtefact = (structure, fullRef) => {\n const target = getResourceFromStructure(structure, fullRef);\n if (!target) throw new Error(`Cannot get dataStructure for ${JSON.stringify(fullRef)}!`)\n if (fullRef.resourceType === 'dataflow')\n return [resolveResourceFromStructure(structure, target, urn2FullRef(target.structure)), target]\n return [target, target]\n};\n\n/**\n * Returns an object link with `rel` === 'self'\n *\n * @function selfLink\n * @tag links\n * @param {FullRef} - resource\n *\n */\n\nconst selfLink = ({ resourceType, agencyID, id, version, itemId }) => ({\n rel: 'self',\n urn: makeUrn({ resourceType, agencyID, id, version, itemId }),\n});\n\n/**\n * Returns an object link with `rel` === 'external'\n *\n * @function relLink\n * @tag links\n * @param {FullRef} - resource\n *\n */\n\nconst relLink = ({ href, resourceType, agencyID, id, version }) => ({\n rel: 'external',\n urn: makeUrn({ resourceType, agencyID, id, version }),\n href,\n});\n\nconst makeLinks = links => {\n const hrels = reduce((acc, link) => ({ ...acc, [link.rel]: link }), {}, links);\n return values(hrels)\n};\n\n/**\n * Returns true if resource is external\n *\n * @function isExternal\n * @tag links\n * @tag core\n * @param {Artefact} - resource\n *\n */\n\nconst isExternal = prop('isExternalReference');\n\n/**\n * Returns external reference from an external Artefact\n *\n * @function getExternalUrl\n * @tag core\n * @param {Artefact} - external resource\n *\n */\n\nconst getExternalUrl = ({ isExternalReference, links = [] }) => {\n if (!isExternalReference) return\n return getLinkType('external', links)?.href\n};\n\nconst getLinkType = (type, links = []) => links.find(link => link.rel === type);\n\nexport { CLASSES, ID, RESOURCES, SDMXTypes, STRUCTURE_NAMES, fullID, getArtefactByStructureName, getArtefactByType, getArtefactByUrnType, getDataStructureFromArtefact, getDescription, getExternalUrl, getFullRef, getItemArtefactByResourceType, getLatestMinor, getLinkType, getName, getRef, getResourceFromStructure, getResourcesFromStructure, getSdmxVersion, getURNResourcesMapFromStructure, isExternal, isPatternedVersion, isTargetVersionCompatible, isUrlRegex, isValidArtefactName, isValidResourceType, isValidStructureName, makeExternal, makeLinks, makeUrn, refFullID, relLink, resolveItemFromStructure, resolveResourceFromStructure, selfLink, urn2FullRef, urn2Ref };\n//# sourceMappingURL=core.mjs.map\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport { commonjsGlobal, getDefaultExportFromCjs };\n//# sourceMappingURL=_commonjsHelpers.mjs.map\n","var urlJoin = {exports: {}};\n\nexport { urlJoin as __module };\n//# sourceMappingURL=url-join.mjs.map\n","import { commonjsGlobal, getDefaultExportFromCjs } from '../../../_virtual/_commonjsHelpers.mjs';\nimport { __module as urlJoin } from '../../../_virtual/url-join.mjs';\n\n(function (module) {\n\t(function (name, context, definition) {\n\t if (module.exports) module.exports = definition();\n\t else context[name] = definition();\n\t})('urljoin', commonjsGlobal, function () {\n\n\t function normalize (strArray) {\n\t var resultArray = [];\n\t if (strArray.length === 0) { return ''; }\n\n\t if (typeof strArray[0] !== 'string') {\n\t throw new TypeError('Url must be a string. Received ' + strArray[0]);\n\t }\n\n\t // If the first part is a plain protocol, we combine it with the next part.\n\t if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n\t var first = strArray.shift();\n\t strArray[0] = first + strArray[0];\n\t }\n\n\t // There must be two or three slashes in the file protocol, two slashes in anything else.\n\t if (strArray[0].match(/^file:\\/\\/\\//)) {\n\t strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n\t } else {\n\t strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n\t }\n\n\t for (var i = 0; i < strArray.length; i++) {\n\t var component = strArray[i];\n\n\t if (typeof component !== 'string') {\n\t throw new TypeError('Url must be a string. Received ' + component);\n\t }\n\n\t if (component === '') { continue; }\n\n\t if (i > 0) {\n\t // Removing the starting slashes for each component but the first.\n\t component = component.replace(/^[\\/]+/, '');\n\t }\n\t if (i < strArray.length - 1) {\n\t // Removing the ending slashes for each component but the last.\n\t component = component.replace(/[\\/]+$/, '');\n\t } else {\n\t // For the last component we will combine multiple slashes to a single one.\n\t component = component.replace(/[\\/]+$/, '/');\n\t }\n\n\t resultArray.push(component);\n\n\t }\n\n\t var str = resultArray.join('/');\n\t // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n\t // remove trailing slash before parameters or hash\n\t str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n\t // replace ? in parameters with &\n\t var parts = str.split('?');\n\t str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n\t return str;\n\t }\n\n\t return function () {\n\t var input;\n\n\t if (typeof arguments[0] === 'object') {\n\t input = arguments[0];\n\t } else {\n\t input = [].slice.call(arguments);\n\t }\n\n\t return normalize(input);\n\t };\n\n\t}); \n} (urlJoin));\n\nvar urlJoinExports = urlJoin.exports;\nvar urljoin = /*@__PURE__*/getDefaultExportFromCjs(urlJoinExports);\n\nexport { urljoin as default };\n//# sourceMappingURL=url-join.mjs.map\n","import urljoin from './node_modules/url-join/lib/url-join.mjs';\nimport is from './node_modules/ramda/es/is.mjs';\n\n/**\n * @typedef DataQuery\n * @property {string} - resourceType\n * @property {string} - agencyID\n * @property {string} - id\n * @property {string} - resourceID\n * @property {string} - itemID\n * @property {string} - version\n * @property {string} - endpoint\n * @property {string=} - detail\n * @property {string=} - references\n * @property {string=} - includeMetrics\n * @property {string=} - includeExecPlan\n * @property {string=} - ep mode\n */\n\n/**\n * Returns a SDMX structure query URL\n *\n * @function structureQueryUrl\n * @tag query\n * @param {DataQuery}\n * @return {string} - URL\n *\n * @example\n *\n * const query = {\n * resourceType: 'dataflow',\n * agencyID: 'AGENCY',\n * resourceID: 'ID',\n * version: '1.2.3-draft',\n * endpoint: 'http://sxs',\n * detail:'detail',\n * referencesr: 'ref',\n * includeMetrics: true,\n * ep: true,\n * }\n * const res = structureQueryUrl(query)\n * expect(res).toEqual(\"http://sxs/structure/dataflow/AGENCY/ID/1.2.3-draft?includeMetrics=true&ep=true&detail=detail\")\n *\n */\n\nconst structureQueryUrl = ({\n resourceType,\n agencyID,\n resourceID,\n itemID,\n id,\n version,\n endpoint,\n detail,\n references,\n includeMetrics,\n includeExecPlan,\n ep,\n}) => {\n if (!endpoint) throw new Error(`Cannot create structure query URL without an endpoint`)\n if (!resourceType) throw new Error(`Cannot create structure query URL without a resourceType`)\n if (!agencyID) throw new Error(`Cannot create structure query URL without an agencyID`)\n if (!(resourceID || id)) throw new Error(`Cannot create structure query URL without a resourceID`)\n if (!version) throw new Error(`Cannot create structure query URL without a version prop`)\n const params = [endpoint, '/structure', resourceType, agencyID, resourceID || id, version];\n\n if (itemID) params.push(itemID);\n if (includeMetrics) params.push(`?includeMetrics=true`);\n if (includeExecPlan) params.push(`?includeExecPlan=true`);\n if (ep) params.push(`?ep=${ep}`);\n if (detail) params.push(`?detail=${detail}`);\n if (references) params.push(`?references=${references}`);\n\n return urljoin(...params)\n};\n\nconst OPERATORS = ['eq', 'ne', 'lt', 'le', 'gt', 'ge', 'co', 'nc', 'sw', 'ew'];\n\nconst makeComponentFilter = input => {\n if (is(String, input)) return input\n if (Object.keys(input).length === 1) {\n const [op, value] = [Object.keys(input)[0], Object.values(input)[0]];\n if (op === 'and') {\n if (!is(Array, value)) throw new Error(`Wrong value type for operator ${op}: must be an Array`)\n return value.map(makeComponentFilter).join('+')\n }\n if (op === 'or') {\n if (!is(Array, value)) throw new Error(`Wrong value type for operator ${op}: must be an Array`)\n return value.map(makeComponentFilter).join(',')\n }\n if (!OPERATORS.includes(op)) throw new Error(`Wrong operator ${op}`)\n return `${op}:${value}`\n }\n\n return makeComponentFilter({ and: Object.keys(input).map(key => ({ [key]: input[key] })) })\n};\n\nconst makeCFilter = (c = {}) => {\n const filter = {};\n for (const key of Object.keys(c)) {\n const value = c[key];\n if (is(Array, value)) throw new Error(`wrong syntax for key \"${key}: ${JSON.stringify(value)}\"`)\n else filter[key] = makeComponentFilter(value);\n }\n return filter\n};\n\nconst makeCParams = obj => {\n const res = new URLSearchParams();\n for (const key of Object.keys(obj)) {\n const param = `c[${key}]`;\n res.set(param, obj[key]);\n }\n return res\n};\n\nconst dataQueryUrl = ({\n context = 'dataflow',\n agencyID,\n resourceID,\n id,\n version = '~',\n endpoint,\n dimensionAtObservation = 'AllDimensions',\n c,\n key,\n atttributes,\n measures,\n}) => {\n if (!endpoint) throw new Error(`Cannot create structure query URL without an endpoint`)\n if (!agencyID) throw new Error(`Cannot create structure query URL without an agencyID`)\n if (!(resourceID || id)) throw new Error(`Cannot create structure query URL without a resourceID`)\n const params = [endpoint, '/data', context, agencyID, resourceID || id, version];\n\n if (key) params.push(key);\n try {\n if (c) params.push(`?${makeCParams(makeCFilter(c))}`);\n } catch (err) {\n console.error(`Cannot make CFilter for ${JSON.stringify(c, null, 4)}`);\n console.error(err);\n }\n if (atttributes) {\n if (is(String, atttributes)) params.push(`?atttributes=${atttributes}`);\n else params.push(`?atttributes=${atttributes.join(',')}`);\n }\n if (measures) {\n if (is(String, measures)) params.push(`?measures=${measures}`);\n else params.push(`?measures=${measures.join(',')}`);\n }\n if (dimensionAtObservation) params.push(`?dimensionAtObservation=${dimensionAtObservation}`);\n\n return urljoin(...params)\n};\n\nconst availabilityQueryUrl = ({\n context = 'dataflow',\n agencyID,\n resourceID,\n id,\n version = '~',\n endpoint,\n dimensionAtObservation = 'AllDimensions',\n c,\n key,\n componentId = '*',\n mode = 'exact',\n}) => {\n if (!endpoint) throw new Error(`Cannot create structure query URL without an endpoint`)\n if (!agencyID) throw new Error(`Cannot create structure query URL without an agencyID`)\n if (!(resourceID || id)) throw new Error(`Cannot create structure query URL without a resourceID`)\n const params = [endpoint, '/availability', context, agencyID, resourceID || id, version];\n\n if (key) params.push(key);\n try {\n if (c) params.push(`?${makeCParams(makeCFilter(c))}`);\n } catch (err) {\n console.error(`Cannot make CFilter for ${JSON.stringify(c, null, 4)}`);\n console.error(err);\n }\n if (dimensionAtObservation) params.push(`?dimensionAtObservation=${dimensionAtObservation}`);\n params.push(`?componentId=${componentId}`);\n params.push(`?mode=${mode}`);\n\n return urljoin(...params)\n};\n\nconst makeV1Agency = agencyID => (agencyID === '*' ? 'all' : agencyID);\nconst makeV1Resource = resourceID => (resourceID === '*' ? 'all' : resourceID);\nconst makeV1Version = version => (version === '~' ? 'latest' : version);\nconst makeV1References = reference => {\n return (\n {\n none: 'none',\n parents: 'parents',\n parentsandsiblings: 'parentsandsiblings',\n ancestors: 'parentsandsiblings',\n children: 'children',\n descendants: 'descendants',\n all: 'all',\n }[reference] || reference\n )\n};\nconst makeV1Details = details => {\n return (\n {\n raw: 'full',\n }[details] || details\n )\n};\nconst structureQueryUrlV1 = ({\n resourceType,\n agencyID,\n agencyId,\n resourceID,\n id,\n version,\n endpoint,\n detail,\n references,\n}) => {\n if (!endpoint) throw new Error(`Cannot create structure query URL without an endpoint`)\n if (!resourceType) throw new Error(`Cannot create structure query URL without a resourceType`)\n if (!(agencyID || agencyId)) throw new Error(`Cannot create structure query URL without an agencyID`)\n if (!(resourceID || id)) throw new Error(`Cannot create structure query URL without a resourceID`)\n if (!version) throw new Error(`Cannot create structure query URL without a version prop`)\n const params = [\n endpoint,\n resourceType,\n makeV1Agency(agencyID || agencyId),\n makeV1Resource(resourceID || id),\n makeV1Version(version),\n ];\n\n if (detail) params.push(`?detail=${makeV1Details(detail)}`);\n if (references) params.push(`?references=${makeV1References(references)}`);\n\n return urljoin(...params)\n};\n\nexport { availabilityQueryUrl, dataQueryUrl, makeCFilter, structureQueryUrl, structureQueryUrlV1 };\n//# sourceMappingURL=query.mjs.map\n","import { urn2FullRef } from './core.mjs';\n\n/**\n * Returns components defined in dataStructure\n *\n * @function getComponents\n * @tag datastructures\n * @param {object} - datastructure\n * @return {array} - array of component\n *\n */\n\nconst ComponentTypes = {\n dimension: 'dimension',\n timeDimension: 'timeDimension',\n measure: 'measure',\n attribute: 'attribute',\n};\n\nconst getCompId = comp => {\n if (comp.id) return comp\n const ref = urn2FullRef(comp.conceptIdentity);\n comp.id = ref.itemId;\n return comp\n};\n\nconst getTimeDimension = dataStructure => {\n const timeDimension =\n dataStructure?.dataStructureComponents?.dimensionList?.timeDimension ||\n dataStructure?.dataStructureComponents?.dimensionList?.timeDimensions?.[0];\n if (!timeDimension) return\n return { ...getCompId(timeDimension), type: ComponentTypes.timeDimension }\n};\n\nconst getDimensions = dataStructure => {\n let res = [];\n const dimensions = dataStructure?.dataStructureComponents?.dimensionList?.dimensions;\n if (dimensions?.length)\n res = [...res, ...dimensions.map(comp => ({ ...getCompId(comp), type: ComponentTypes.dimension }))];\n const timeDimension = getTimeDimension(dataStructure);\n if (timeDimension) res = [...res, timeDimension];\n return res\n};\n\nconst getAttributes = dataStructure => {\n const attributes =\n dataStructure?.dataStructureComponents?.attributeList?.attributes ??\n dataStructure?.metadataStructureComponents?.metadataAttributeList?.metadataAttributes;\n if (!attributes?.length) return []\n return attributes.map(comp => ({ ...getCompId(comp), type: ComponentTypes.attribute }))\n};\n\nconst getMeasures = dataStructure => {\n const measures =\n dataStructure?.dataStructureComponents?.measureList?.measures ??\n (dataStructure?.dataStructureComponents?.measureList?.primaryMeasure\n ? [dataStructure.dataStructureComponents.measureList.primaryMeasure]\n : []);\n if (!measures?.length) return []\n return measures.map(comp => ({ ...getCompId(comp), type: ComponentTypes.measure }))\n};\n\nconst getComponents = dataStructure => {\n return [...getDimensions(dataStructure), ...getMeasures(dataStructure), ...getAttributes(dataStructure)]\n};\n\nexport { getAttributes, getComponents, getDimensions, getMeasures, getTimeDimension };\n//# sourceMappingURL=datastructures.mjs.map\n","import { getComponents, dataQueryUrl, resolveResourceFromStructure, urn2FullRef, ID, getRef } from '@dbmx/sdmx'\nimport urljoin from 'url-join'\n\nfunction sortByKey(array, key) {\n return array.sort((a, b) => {\n let x = a[key]\n let y = b[key]\n return x < y ? -1 : x > y ? 1 : 0\n })\n}\n\nexport const getStructure = async (url, headers = {}) => {\n const response = await fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n })\n\n const data = await response.json()\n const responseHeaders = {}\n\n for (const pair of response.headers.entries()) responseHeaders[pair[0]] = pair[1]\n\n return { data, responseHeaders }\n}\n\nexport const getDataStructure = (dataflow, structure) => {\n if (!dataflow?.structure) throw new Error(`Cannot get dataStructure from dataflow ${ID(dataflow)}`)\n const dsRef = urn2FullRef(dataflow.structure)\n return resolveResourceFromStructure(structure, dataflow, dsRef, { noError: true })\n}\n\nexport const getColumns = (components = {}) => {\n const comps = Object.values(components)\n const dimensions = comps.filter(comp => comp.type === 'dimension')\n const timeDimension = comps.filter(comp => comp.type === 'timeDimension')[0]\n const measures = comps.filter(comp => comp.type === 'measure')\n\n const sortedDimensions = sortByKey(dimensions, 'position')\n const sortedMesures = sortByKey(measures, 'id')\n\n return { dimensions: sortedDimensions, timeDimension, measures: sortedMesures }\n}\n\nexport const getSelectedComponents = resource => {\n const components = getComponents(resource)\n return components.reduce((acc, component) => ({ ...acc, [component.id]: component }), {})\n}\n\nexport const getData = async (dataflow, endpoint, range = { min: 1, max: 100 }) => {\n const dataUrl = dataQueryUrl({\n context: 'dataflow',\n ...getRef(dataflow),\n endpoint,\n })\n const { min, max } = range\n return getStructure(dataUrl, { 'x-Range': `values=${min}-${max}` })\n}\n\nexport const getCellValue = cell => {\n const cellValue = cell.getValue()\n return cellValue?.name || cellValue?.id || cellValue?.value\n}\n\nconst artifacts = {\n dataflow: {\n id: 'dataflow',\n resourceName: 'dataflows',\n },\n datastructure: {\n id: 'datastructure',\n resourceName: 'dataStructures',\n },\n dataproviderscheme: {\n id: 'dataflow',\n resourceName: 'dataProviderSchemes',\n },\n}\n\nexport const getFieldOptions = (resources, resourceTypeValue, defaults, fieldName = 'id') => {\n const resourcesData = resources.data[`${artifacts[resourceTypeValue].resourceName}`]\n const fieldItemsSet = new Set()\n resourcesData.forEach(resource => fieldItemsSet.add(resource[fieldName]))\n const fieldItems = Array.from(fieldItemsSet)\n const fieldOptions = fieldItems.map(item => ({ label: item, value: item }))\n const sortedFieldOptions = sortByKey(fieldOptions, 'label')\n return [...defaults, ...sortedFieldOptions]\n}\n\nexport const getSdmxUrl = ({ endpoint, resourceType, agencyID = '*', id = '*', version = '~' }) => {\n if (!endpoint || !resourceType) throw new Error('endpoint & resourceType are required')\n const url = urljoin(endpoint, 'structure', resourceType, agencyID, id, version, '?detail=full&references=all')\n return url\n}\n\nexport const getRange = pagination => {\n const { pageIndex, pageSize } = pagination\n const min = pageSize * pageIndex\n const max = pageSize * pageIndex + pageSize - 1\n return { min, max }\n}\n\nexport const getObservationsCount = responseHeaders => {\n const contentRange = responseHeaders['content-range']\n return parseInt(contentRange.split('/')[1])\n}\n","import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { MRT_ShowHideColumnsButton, MRT_ToggleFullScreenButton, MantineReactTable } from 'mantine-react-table'\nimport { useIntl } from 'react-intl'\n\nimport messages from './messages'\nimport LoadingBox from './LoadingBox'\nimport { getCellValue, getColumns, getSelectedComponents } from './utils'\n\nconst SDMXGrid = ({ dataStructure, data, pagination, onPaginationChange, observationCount, isLoading }) => {\n if (!data) return <LoadingBox />\n\n const intl = useIntl()\n const components = useMemo(() => getSelectedComponents(dataStructure), [dataStructure])\n\n const columns = useMemo(() => {\n const { dimensions, timeDimension, measures } = getColumns(components)\n return [\n {\n accessorKey: 'dimension',\n header: intl.formatMessage(messages.dimension),\n columns: dimensions.map(col => ({\n accessorKey: col.id,\n header: col.id || col.name,\n Cell: ({ cell }) => getCellValue(cell),\n })),\n },\n {\n accessorKey: 'timeDimension',\n header: intl.formatMessage(messages.timeDimension),\n columns: [\n {\n accessorKey: timeDimension.id,\n header: timeDimension.id || timeDimension.name,\n Cell: ({ cell }) => getCellValue(cell),\n },\n ],\n },\n {\n accessorKey: 'measure',\n header: intl.formatMessage(messages.measure),\n columns: measures.map(col => ({\n accessorKey: col.id,\n header: col.id || col.name,\n Cell: ({ cell }) => getCellValue(cell),\n })),\n },\n ]\n }, [components])\n\n return (\n <MantineReactTable\n data={data}\n columns={columns}\n initialState={{ density: 'xs' }}\n mantineTableProps={{ striped: true }}\n enableStickyHeader\n enableColumnFilterModes={false}\n enableColumnActions={false}\n enableSorting={false}\n enablePinning={true}\n manualPagination={true}\n rowCount={observationCount}\n onPaginationChange={onPaginationChange}\n state={{ pagination, isLoading }}\n mantinePaginationProps={{\n rowsPerPageOptions: ['100', '500', '1000', '2000'],\n withEdges: true,\n }}\n renderToolbarInternalActions={({ table }) => {\n return (\n <>\n <MRT_ShowHideColumnsButton table={table} />\n <MRT_ToggleFullScreenButton table={table} />\n </>\n )\n }}\n mantineTableContainerProps={{ sx: { height: 'calc(100% - 110px)' } }}\n mantinePaperProps={{ sx: { height: '100%' } }}\n />\n )\n}\n\nSDMXGrid.propTypes = {\n dataStructure: PropTypes.object,\n data: PropTypes.array,\n pagination: PropTypes.object.isRequired,\n onPaginationChange: PropTypes.func.isRequired,\n observationCount: PropTypes.number.isRequired,\n isLoading: PropTypes.bool.isRequired,\n}\n\nexport default SDMXGrid\n","import React, { useEffect, useMemo, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { Box, Text, createStyles, rem } from '@mantine/core'\nimport { IconAlertCircleFilled, IconThumbDown } from '@tabler/icons-react'\nimport { useIntl } from 'react-intl'\nimport { getObservations } from '@dbmx/sdmx/cjs/data'\n\nimport messages from './messages'\nimport SDMXGrid from './SDMXGrid'\nimport { getData, getDataStructure, getObservationsCount, getRange, getSdmxUrl, getStructure } from './utils'\nimport LoadingBox from './LoadingBox'\n\nconst useStyles = createStyles(theme => ({\n wrongContainer: {\n width: '100%',\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: theme.colors.gray[0],\n },\n alertIcon: {\n width: rem(80),\n height: rem(80),\n color: theme.colors.gray[4],\n },\n alertMsg: {\n marginTop: theme.spacing.sm,\n color: theme.colors.gray[6],\n },\n}))\n\nconst SdmxDatagrid = ({ endpoint, resourceType, agencyID, id, version }) => {\n const { classes } = useStyles()\n const intl = useIntl()\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n\n const [dataflow, setDataflow] = useState()\n const [dataStructure, setDataStructure] = useState()\n const [data, setData] = useState()\n\n const url = useMemo(() => {\n if (!endpoint || !resourceType || !agencyID || !id || !version) return null\n else return getSdmxUrl({ endpoint, resourceType, agencyID, id, version })\n }, [endpoint, resourceType, agencyID, id, version])\n\n const [pagination, setPagination] = useState({\n pageIndex: 0,\n pageSize: 100,\n })\n\n const range = useMemo(() => getRange(pagination), [pagination])\n const [observationCount, setObservationCount] = useState(0)\n\n // Initializing\n useEffect(() => {\n setDataflow()\n setDataStructure()\n setData()\n setIsLoading(false)\n setIsError(false)\n\n if (url) {\n setIsLoading(true)\n getStructure(url)\n .then(({ data: structure }) => {\n const df = structure.data?.dataflows?.[0]\n const ds = getDataStructure(df, structure)\n setDataflow(df)\n setDataStructure(ds)\n })\n .catch(() => {\n setIsError(true)\n setIsLoading(false)\n })\n }\n }, [url])\n\n // getting data\n useEffect(() => {\n if (dataflow) {\n setIsLoading(true)\n setIsError(false)\n getData(dataflow, endpoint, range)\n .then(({ data: dataStructure, responseHeaders }) => {\n setObservationCount(getObservationsCount(responseHeaders))\n setData([...getObservations(dataStructure)])\n setIsLoading(false)\n })\n .catch(() => {\n setIsError(true)\n setIsLoading(false)\n })\n }\n }, [range, dataflow])\n\n const handlePaginationChange = options => setPagination(options)\n\n if (isLoading && !dataStructure) return <LoadingBox />\n\n if (!url)\n return (\n <Box className={classes.wrongContainer}>\n <IconAlertCircleFilled className={classes.alertIcon} />\n <Text size=\"sm\" className={classes.alertMsg}>\n {intl.formatMessage(messages.invalidComProps)}\n </Text>\n </Box>\n )\n\n if (isError && !data) {\n return (\n <Box className={classes.wrongContainer}>\n <IconThumbDown className={classes.alertIcon} />\n <Text size=\"sm\" className={classes.alertMsg}>\n {intl.formatMessage(messages.noData)}\n </Text>\n </Box>\n )\n }\n\n return (\n <SDMXGrid\n dataStructure={dataStructure}\n data={data}\n pagination={pagination}\n onPaginationChange={handlePaginationChange}\n observationCount={observationCount}\n isLoading={isLoading}\n />\n )\n}\n\nSdmxDatagrid.propTypes = {\n endpoint: PropTypes.string.isRequired,\n resourceType: PropTypes.string.isRequired,\n agencyID: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n version: PropTypes.string.isRequired,\n}\n\nexport default SdmxDatagrid\n","import React, { useReducer } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { IntlProvider } from 'react-intl'\nimport { MantineProvider, createEmotionCache } from '@mantine/core'\nimport Component from '../../components/SdmxDatagrid'\n\nclass SDMXDatagrid extends HTMLElement {\n forceUpdateComponent\n\n container = () => {\n const forceUpdate = useReducer(() => ({}), {})[1]\n this.forceUpdateComponent = forceUpdate\n const props = {\n endpoint: this.getAttribute('endpoint'),\n resourceType: this.getAttribute('resourceType'),\n agencyID: this.getAttribute('agencyID'),\n id: this.getAttribute('id'),\n version: this.getAttribute('version'),\n }\n const containerProps = this.getAttribute('containerProps') || {}\n const containerPropsValue = typeof containerProps === 'string' ? JSON.parse(containerProps) : {}\n\n return (\n <IntlProvider defaultLocale=\"en\" locale=\"en\" messages={{}}>\n <div {...containerPropsValue}>\n <Component {...props} />\n </div>\n </IntlProvider>\n )\n }\n\n connectedCallback() {\n const shadowRoot = this.attachShadow({ mode: 'open' })\n const mountPoint = document.createElement('div')\n const emotionRoot = document.createElement('div')\n\n shadowRoot.appendChild(mountPoint)\n shadowRoot.appendChild(emotionRoot)\n\n const appendCache = createEmotionCache({ key: 'mantine-wc', container: emotionRoot })\n\n const root = createRoot(mountPoint)\n root.render(\n <MantineProvider emotionCache={appendCache} withGlobalStyles withNormalizeCSS>\n <IntlProvider defaultLocale=\"en\" locale=\"en\" messages={{}}>\n <this.container></this.container>\n </IntlProvider>\n </MantineProvider>,\n )\n }\n\n static get observedAttributes() {\n return ['endpoint', 'resourceType', 'agencyID', 'id', 'version']\n }\n\n attributeChangedCallback() {\n if (typeof this.forceUpdateComponent === 'function') this.forceUpdateComponent()\n }\n}\n\ncustomElements.define('sdmx-datagrid', SDMXDatagrid)\n"],"names":["module","Yallist","prototype","Symbol","iterator","walker","head","next","value","Node","create","list","self","tail","length","forEach","item","push","arguments","i","l","removeNode","node","Error","prev","unshiftNode","pushNode","unshift","pop","undefined","res","shift","fn","thisp","call","forEachReverse","get","n","getReverse","map","mapReverse","reduce","initial","acc","TypeError","reduceReverse","toArray","arr","Array","toArrayReverse","slice","from","to","ret","sliceReverse","splice","start","deleteCount","nodes","insert","reverse","p","inserted","require","er","MAX","LENGTH","LENGTH_CALCULATOR","ALLOW_STALE","MAX_AGE","DISPOSE","NO_DISPOSE_ON_SET","LRU_LIST","CACHE","UPDATE_AGE_ON_GET","naiveLength","LRUCache","constructor","options","max","Infinity","lc","stale","maxAge","dispose","noDisposeOnSet","updateAgeOnGet","reset","mL","trim","allowStale","mA","lengthCalculator","lC","hit","key","itemCount","rforEach","forEachStep","keys","k","values","Map","dump","isStale","v","e","now","filter","h","dumpLru","set","Date","len","has","del","Entry","peek","load","expiresAt","prune","doUse","diff","delete","MAX_LENGTH","MAX_SAFE_INTEGER","Number","numeric","compareIdentifiers","a","b","anum","test","bnum","SemVerError","message","name","re","src","t","R","createToken","isGlobal","index","RegExp","NUMERICIDENTIFIER","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","GTLT","SemVer","version","JSON","stringify","m","match","FULL","major","minor","patch","extension","format","is2Parts","parts","isNonVersioned","isStable","toString","compare","other","compareMain","comparePre","comparePatch","SemVer$1","eq","neq","gt","gte","lt","lte","cmp","op","ANY","Comparator","comp","parse","semver","operator","r","COMPARATOR","err","intersects","Range$1","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","Comparator$1","cache","LRU","NUM","RANGE_TYPE","ONE","MANY","LATEST","matchSemVer","string","regexp","result","pos","def","isSatisfiable","comparators","remainingComparators","testComparator","every","otherComparator","Range","range","raw","type","subType","makeRangeSet","isMonoVersion","isResolved","comps","join","memoKey","cached","replace","makeComparators","split","some","thisComparators","rangeComparators","thisComparator","rangeComparator","testSet","RANGE_SUB_TYPE","RESOLVED","STABLE","LATEST_STABLE","LATEST_UNSTABLE","UNSTABLE","ALL","ABOVE","newComp","checkSpecific","checkOnlyStable","checkLatestStable","checkLatestUnStable","checkPossibleUnstable","checkAllVersions","checkAllAboveVersions","M","Matcher","isMonoType","isLatestType","matcher","Dependency","source","sVersion","tVersion","dependency","isValidDependency","targetVersion","matchRefVersionLess","ref","resource","resourceType","id","agencyID","getOne","resources","getLatest","semver$1","resolveDependency","noError","resolveDataTarget","exports","core","getFullyQualifiedItems","items","roots","parentIds","childrendIds","getLabel","parentName","itemName","fullId","parentId","parent","fullName","locale","getName","scan","children","categories","flatten","Object","getItems","getArtefactByType","isItemScheme","itemsName","URLRegEx","urlRegex","SDMX","packageName","className","defaultGetChildRefs","Artefact","structureName","getChildRefs","props","bind","isArtefact","ItemScheme","Item","schemeName","isItem","Component","isComponent","sdmx","input","isExternalReference","structure","urn2FullRef","Dataflow","_arity","apply","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","_pipe","f","g","_isPlaceholder","_curry1","f1","_curry2","f2","_b","_a","_curry3","f3","c","_c","_isArray","isArray","val","_isString","x","_isArrayLike","isArrayLike","hasOwnProperty","_isArrayLike$1","symIterator","_createReduce","arrayReduce","methodReduce","iterableReduce","_reduce","xf","_xArrayReduce","idx","thisObj","bind$1","_xIterableReduce","iter","step","done","_xMethodReduce","obj","methodName","_xReduce","_xReduce$1","XWrap","_xwrap","reduce$1","_checkForMethod","methodname","fromIndex","toIndex","slice$1","tail$1","pipe","reverse$1","compose","_arrayReduce","reducer","_isTransformer","_dispatchable","methodNames","transducerCreator","transducer","_map","functor","_xfBase","init","XMap","_xmap","_xmap$1","_curryN","received","combined","argsIdx","left","combinedIdx","hasPlaceholder","Math","curryN","curryN$1","_has","prop","_isArguments","_isArguments$1","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","hasArgsEnumBug","contains","nIdx","ks","checkArgsLength","keys$1","map$1","defaultTo","d","defaultTo$1","_isInteger","isInteger","nth","offset","charAt","nth$1","paths","pathsArray","paths$1","path","pathAr","path$1","pathOr","pathOr$1","is","Ctor","is$1","forEach$1","collect","newValue","Set","add","collectAll","conceptIdentity","localRepresentation","conceptRoles","enumeration","analyseComponent","data","analyseComponents","component","analyseDataStructureComponents","dataStructureComponents","analyse","conceptschemeRefs","codelistRefs","metadata","Datastructure","codelistExtensions","ext","codelist","Codelist","_identity","identity","identity$1","target","Categorisation","CategoryScheme","prop$1","propOr","propOr$1","getCoreRepresentations","refs","concept","coreRepresentation","ConcepScheme","vals","values$1","constraintAttachment","urns","urn","ContentConstraint","DataProviderScheme","includedCodelists","HierarchicalCodelist","DataConstraint","structureUsage","dataProvider","ProvisionAgreement","metadataStructureComponents","MetadataStructure","dataflow","datastructure","categorisation","categoryscheme","conceptscheme","contentconstraint","dataproviderscheme","hierarchicalcodelist","dataconstraint","provisionagreement","metadatastructure","Artefacts","remove","count","remove$1","_dissoc","_assoc","concat","isNil","isNil$1","assocPath","nextObj","assocPath$1","assoc","assoc$1","_shallowCloneObject","dissocPath","dissocPath$1","dissoc","dissoc$1","pick","names","pick$1","dependencyResolver","urlRegexp","artefacts","SDMXTypes","STRUCTURE_NAMES","artefact","CLASSES","RESOURCES","hResourceTypes","urnType","hArtefactUrnTypes","getItemArtefactByResourceType","find","getArtefactByStructureName","getArtefactByUrnType","isValidArtefactName","isValidStructureName","isValidResourceType","SDMXPrefix","parseURN","makeUrn","resourceId","resourceID","itemId","itemID","localID","localItemID","localType","base","_","getDescription","descriptions","urn2Ref","getSdmxVersion","schema","defaultVersion","getRef","localResourceType","getFullRef","makeExternal","href","linkRefs","links","makeLinks","selfLink","relLink","ID","fullID","refFullID","isPatternedVersion","indexOf","isTargetVersionCompatible","sourceIsStable","resolveItemFromStructure","toType","getResourcesFromStructure","items$1","getResourceFromStructure","fullRef","resolveResourceFromStructure","getURNResourcesMapFromStructure","isUrlRegex","url","getLatestMinor","getDataStructureFromArtefact","rel","hrels","link","isExternal","getExternalUrl","getLinkType","_isObject","_arrayFromIterator","_includesWith","pred","_functionName","String","_objectIs","_objectIs$1","type$1","_uniqContentEquals","aIterator","bIterator","stackA","stackB","_equals","aItem","typeA","equals","valueOf","global","ignoreCase","multiline","sticky","unicode","size","entries","keysA","extendedStackA","extendedStackB","equals$1","times","isNaN","RangeError","times$1","_isFunction","_indexOf","inf","_includes","_quote","s","escaped","pad","_toISOString","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","_toISOString$1","_complement","_filter","XFilter","_xfilter","filterable","filter$1","reject","reject$1","_toString","seen","recur","y","xs","mapPairs","sort","NaN","repr","toString$1","concat$1","fillSlice","d1","d2","getDefaultCompValue","default","getdSetDimensions","dimensions","dataSet","dimension","getdSetAttributes","attributes","attribute","unpackDimensions","getObsDimensions","observation","idxValue","getDataObsAttributes","measures","attributeValues","getObsAttributes","defaultValue","getKeyAttributes","getKeyMeasures","measureValues","getMeasures","measure","getDimensions","getObservations","dataStructure","dSet","dataSets","structures","observations","obs","defineMessages","urlIsRequired","defaultMessage","noData","timeDimension","invalidComProps","useStyles","createStyles","loadingContainer","width","height","display","justifyContent","alignItems","LoadingBox","_useStyles","classes","React","createElement","Box","Loader","color","sortByKey","array","getStructure","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","headers","response","responseHeaders","_iterator","_step","pair","_args","wrap","_callee$","_context","fetch","method","_objectSpread","sent","json","_createForOfIteratorHelper","abrupt","stop","_x","getDataStructure","dsRef","getColumns","components","sortedDimensions","sortedMesures","getSelectedComponents","getComponents","_defineProperty","getData","_ref2","_callee2","endpoint","dataUrl","min","_args2","_callee2$","_context2","dataQueryUrl","context","_x2","_x3","getCellValue","cell","cellValue","getValue","getSdmxUrl","_ref3","_ref3$agencyID","_ref3$id","_ref3$version","urljoin","getRange","pagination","pageIndex","pageSize","getObservationsCount","contentRange","parseInt","SDMXGrid","onPaginationChange","observationCount","isLoading","intl","useIntl","useMemo","columns","_getColumns","accessorKey","header","formatMessage","messages","col","Cell","_ref4","MantineReactTable","initialState","density","mantineTableProps","striped","enableStickyHeader","enableColumnFilterModes","enableColumnActions","enableSorting","enablePinning","manualPagination","rowCount","state","mantinePaginationProps","rowsPerPageOptions","withEdges","renderToolbarInternalActions","_ref5","table","Fragment","MRT_ShowHideColumnsButton","MRT_ToggleFullScreenButton","mantineTableContainerProps","sx","mantinePaperProps","propTypes","PropTypes","object","isRequired","func","number","bool","theme","wrongContainer","flexDirection","backgroundColor","colors","gray","alertIcon","rem","alertMsg","marginTop","spacing","sm","SdmxDatagrid","_useState","useState","_useState2","_slicedToArray","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","setDataflow","_useState7","_useState8","setDataStructure","_useState9","_useState10","setData","_useState11","_useState12","setPagination","_useState13","_useState14","setObservationCount","useEffect","then","_structure$data","df","dataflows","ds","_toConsumableArray","handlePaginationChange","IconAlertCircleFilled","Text","IconThumbDown","SDMXDatagrid","_HTMLElement","_inherits","_super","_createSuper","_this","_classCallCheck","_len","args","_key","_assertThisInitialized","forceUpdate","useReducer","forceUpdateComponent","getAttribute","containerProps","containerPropsValue","IntlProvider","defaultLocale","_createClass","connectedCallback","shadowRoot","attachShadow","mode","mountPoint","document","emotionRoot","appendChild","appendCache","createEmotionCache","container","root","createRoot","render","MantineProvider","emotionCache","withGlobalStyles","withNormalizeCSS","attributeChangedCallback","_wrapNativeSuper","HTMLElement","customElements","define"],"mappings":"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","x_google_ignoreList":[0,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,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169]}
|