@dbmx/toasts 0.0.46 → 0.0.48
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/_virtual/_commonjsHelpers.cjs +33 -0
- package/cjs/_virtual/artefacts.cjs +5 -0
- package/cjs/_virtual/core.cjs +5 -0
- package/cjs/_virtual/dependencyResolver.cjs +5 -0
- package/cjs/_virtual/index.esm.cjs +8 -0
- package/cjs/_virtual/items.cjs +5 -0
- package/cjs/_virtual/sdmx.cjs +5 -0
- package/cjs/components/SdmxDatagrid/index.cjs +1 -1
- package/cjs/components/SdmxDatagrid/utils/index.cjs +9 -7
- package/cjs/node_modules/@dbmx/sdmx/cjs/core.cjs +940 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/data.cjs +140 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/dependencyResolver.cjs +73 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/items.cjs +100 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/assoc.cjs +38 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/assocPath.cjs +55 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/bind.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/compose.cjs +43 -0
- 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/curryN.cjs +66 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/defaultTo.cjs +38 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/dissoc.cjs +33 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/dissocPath.cjs +79 -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/forEach.cjs +58 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/identity.cjs +34 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_arity.cjs +56 -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/_arrayReduce.cjs +14 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_assoc.cjs +37 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_checkForMethod.cjs +30 -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/_createReduce.cjs +32 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curry1.cjs +27 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curry2.cjs +38 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curry3.cjs +56 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_curryN.cjs +48 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_dispatchable.cjs +49 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_dissoc.cjs +36 -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/_has.cjs +8 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_identity.cjs +8 -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/_isArguments.cjs +18 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isArray.cjs +20 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isArrayLike.cjs +55 -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/_isInteger.cjs +16 -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/_isPlaceholder.cjs +8 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isString.cjs +8 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_isTransformer.cjs +8 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_map.cjs +15 -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/_pipe.cjs +10 -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/_xArrayReduce.cjs +18 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xReduce.cjs +30 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xfBase.cjs +13 -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/internal/_xmap.cjs +27 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/internal/_xwrap.cjs +24 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/is.cjs +39 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/isNil.cjs +32 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/keys.cjs +80 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/map.cjs +75 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/nth.cjs +44 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/path.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/pathOr.cjs +38 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/paths.cjs +50 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/pick.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/pipe.cjs +46 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/prop.cjs +43 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/propOr.cjs +46 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/reduce.cjs +71 -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/remove.cjs +37 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/reverse.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/slice.cjs +42 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/tail.cjs +46 -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/cjs/node_modules/@dbmx/sdmx/cjs/node_modules/ramda/es/values.cjs +42 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/artefacts.cjs +40 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/categorisation.cjs +32 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/categoryscheme.cjs +16 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/codelist.cjs +31 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/conceptscheme.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/contentconstraint.cjs +40 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/dataconstraint.cjs +39 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/dataflow.cjs +32 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/dataproviderscheme.cjs +16 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/datastructure.cjs +73 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/hierarchicalcodelist.cjs +38 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/metadatastructure.cjs +62 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/provisionagreement.cjs +32 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/types/sdmx.cjs +71 -0
- package/cjs/node_modules/@dbmx/sdmx/cjs/utils/url-regexp.cjs +30 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/_virtual/_commonjsHelpers.cjs +10 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/_virtual/url-join.cjs +5 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/core.cjs +554 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/datastructures.cjs +73 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/dependencyResolver.cjs +65 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/bind.cjs +39 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/compose.cjs +40 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/curryN.cjs +63 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/defaultTo.cjs +37 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/forEach.cjs +59 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/identity.cjs +32 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_arity.cjs +66 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_arrayReduce.cjs +15 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_checkForMethod.cjs +29 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_createReduce.cjs +36 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curry1.cjs +24 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curry2.cjs +36 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curry3.cjs +54 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_curryN.cjs +50 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_dispatchable.cjs +51 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_has.cjs +7 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_identity.cjs +7 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isArguments.cjs +19 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isArray.cjs +19 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isArrayLike.cjs +58 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isInteger.cjs +15 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isPlaceholder.cjs +7 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isString.cjs +7 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_isTransformer.cjs +7 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_map.cjs +16 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_pipe.cjs +9 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xArrayReduce.cjs +21 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xReduce.cjs +34 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xfBase.cjs +12 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xmap.cjs +31 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/internal/_xwrap.cjs +29 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/is.cjs +38 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/keys.cjs +94 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/map.cjs +71 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/nth.cjs +42 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/path.cjs +39 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/pathOr.cjs +35 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/paths.cjs +50 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/pick.cjs +43 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/pipe.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/prop.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/propOr.cjs +43 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/reduce.cjs +68 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/reverse.cjs +39 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/slice.cjs +41 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/tail.cjs +45 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/ramda/es/values.cjs +42 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/node_modules/url-join/lib/url-join.cjs +89 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/query.cjs +85 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/artefacts.cjs +31 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/categorisation.cjs +19 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/categoryscheme.cjs +13 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/codelist.cjs +19 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/conceptscheme.cjs +29 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/contentconstraint.cjs +23 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/dataconstraint.cjs +22 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/dataflow.cjs +20 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/dataproviderscheme.cjs +13 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/datastructure.cjs +74 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/hierarchicalcodelist.cjs +22 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/metadatastructure.cjs +58 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/provisionagreement.cjs +19 -0
- package/cjs/node_modules/@dbmx/sdmx/esm/types/sdmx.cjs +51 -0
- package/cjs/node_modules/@dbmx/semver/dist/index.esm.cjs +584 -0
- package/cjs/node_modules/lru-cache/index.cjs +281 -0
- package/cjs/node_modules/yallist/iterator.cjs +20 -0
- package/cjs/node_modules/yallist/yallist.cjs +370 -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.js +1 -1
- package/package.json +3 -3
- 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-lo-MKsEb.js +0 -556
- package/esm/index-lo-MKsEb.js.map +0 -1
- package/yarn-error.log +0 -7136
|
@@ -0,0 +1,940 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('../../../../_virtual/core.cjs');
|
|
4
|
+
var index_esm = require('../../../../_virtual/index.esm.cjs');
|
|
5
|
+
require('./dependencyResolver.cjs');
|
|
6
|
+
var items = require('./items.cjs');
|
|
7
|
+
var urlRegexp = require('./utils/url-regexp.cjs');
|
|
8
|
+
require('./types/sdmx.cjs');
|
|
9
|
+
var artefacts = require('./types/artefacts.cjs');
|
|
10
|
+
var prop = require('./node_modules/ramda/es/prop.cjs');
|
|
11
|
+
var dissoc = require('./node_modules/ramda/es/dissoc.cjs');
|
|
12
|
+
var pick = require('./node_modules/ramda/es/pick.cjs');
|
|
13
|
+
var reduce = require('./node_modules/ramda/es/reduce.cjs');
|
|
14
|
+
var values = require('./node_modules/ramda/es/values.cjs');
|
|
15
|
+
var sdmx = require('../../../../_virtual/sdmx.cjs');
|
|
16
|
+
var dependencyResolver = require('../../../../_virtual/dependencyResolver.cjs');
|
|
17
|
+
|
|
18
|
+
var hasRequiredCore;
|
|
19
|
+
|
|
20
|
+
function requireCore () {
|
|
21
|
+
if (hasRequiredCore) return core.__exports;
|
|
22
|
+
hasRequiredCore = 1;
|
|
23
|
+
|
|
24
|
+
var semver = index_esm;
|
|
25
|
+
var dependencyResolver$1 = dependencyResolver.__exports;
|
|
26
|
+
var items$1 = items.__require();
|
|
27
|
+
var urlRegexp$1 = urlRegexp.urlRegexp;
|
|
28
|
+
var sdmx$1 = sdmx.__exports;
|
|
29
|
+
var artefacts$1 = artefacts.__require();
|
|
30
|
+
var prop$1 = prop.prop_1;
|
|
31
|
+
var dissoc$1 = dissoc.dissoc_1;
|
|
32
|
+
var pick$1 = pick.pick_1;
|
|
33
|
+
var reduce$1 = reduce.reduce_1;
|
|
34
|
+
var values$1 = values.values_1;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @typedef Ref
|
|
38
|
+
* @property {string} - agencyID
|
|
39
|
+
* @property {string} - id
|
|
40
|
+
* @property {string} - semver version
|
|
41
|
+
* @property {string} - resourceType
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Array of SDMX Artefact to get artefact description
|
|
46
|
+
* @property {string} name - name use in rest API
|
|
47
|
+
* @property {package} packageName - package's name use to build urn
|
|
48
|
+
* @property {package} className - class's name use to build urn
|
|
49
|
+
* @property {package} structureName - name use in structure messages
|
|
50
|
+
*
|
|
51
|
+
* @function SDMXTypes
|
|
52
|
+
* @tag core
|
|
53
|
+
* @tag types
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
const SDMXTypes = [sdmx$1.Item({
|
|
57
|
+
name: 'agency',
|
|
58
|
+
packageName: 'base',
|
|
59
|
+
className: 'Agency',
|
|
60
|
+
schemeName: 'agencyscheme'
|
|
61
|
+
}), sdmx$1.Artefact({
|
|
62
|
+
structureName: 'agencySchemes',
|
|
63
|
+
name: 'agencyscheme',
|
|
64
|
+
packageName: 'base',
|
|
65
|
+
className: 'AgencyScheme'
|
|
66
|
+
}), sdmx$1.SDMX({
|
|
67
|
+
name: 'dataConsumer',
|
|
68
|
+
packageName: 'base',
|
|
69
|
+
className: 'DataConsumer'
|
|
70
|
+
}), sdmx$1.SDMX({
|
|
71
|
+
name: 'dataConsumerScheme',
|
|
72
|
+
packageName: 'base',
|
|
73
|
+
className: 'DataConsumerScheme'
|
|
74
|
+
}), sdmx$1.Item({
|
|
75
|
+
name: 'dataProvider',
|
|
76
|
+
packageName: 'base',
|
|
77
|
+
className: 'DataProvider',
|
|
78
|
+
schemeName: 'dataproviderscheme'
|
|
79
|
+
}), sdmx$1.SDMX({
|
|
80
|
+
name: 'metadataProvider',
|
|
81
|
+
packageName: 'base',
|
|
82
|
+
className: 'MetadataProvider'
|
|
83
|
+
}), sdmx$1.SDMX({
|
|
84
|
+
name: 'metadataProviderScheme',
|
|
85
|
+
packageName: 'base',
|
|
86
|
+
className: 'MetadataProviderScheme'
|
|
87
|
+
}), sdmx$1.SDMX({
|
|
88
|
+
name: 'organisationUnit',
|
|
89
|
+
packageName: 'base',
|
|
90
|
+
className: 'OrganisationUnit'
|
|
91
|
+
}), sdmx$1.SDMX({
|
|
92
|
+
name: 'organisationUnitScheme',
|
|
93
|
+
packageName: 'base',
|
|
94
|
+
className: 'OrganisationUnitScheme'
|
|
95
|
+
}), sdmx$1.SDMX({
|
|
96
|
+
name: 'attributeDescriptor',
|
|
97
|
+
packageName: 'datastructure',
|
|
98
|
+
className: 'AttributeDescriptor'
|
|
99
|
+
}), sdmx$1.Component({
|
|
100
|
+
name: 'dataAttribute',
|
|
101
|
+
packageName: 'datastructure',
|
|
102
|
+
className: 'DataAttribute'
|
|
103
|
+
}), sdmx$1.Component({
|
|
104
|
+
name: 'dimension',
|
|
105
|
+
packageName: 'datastructure',
|
|
106
|
+
className: 'Dimension'
|
|
107
|
+
}), sdmx$1.SDMX({
|
|
108
|
+
name: 'dimensionDescriptor',
|
|
109
|
+
packageName: 'datastructure',
|
|
110
|
+
className: 'DimensionDescriptor'
|
|
111
|
+
}), sdmx$1.Component({
|
|
112
|
+
name: 'primaryMeasure',
|
|
113
|
+
packageName: 'datastructure',
|
|
114
|
+
className: 'PrimaryMeasure',
|
|
115
|
+
version: 2
|
|
116
|
+
}), sdmx$1.SDMX({
|
|
117
|
+
name: 'groupDimensionDescriptor',
|
|
118
|
+
packageName: 'datastructure',
|
|
119
|
+
className: 'GroupDimensionDescriptor'
|
|
120
|
+
}), sdmx$1.Component({
|
|
121
|
+
name: 'measure',
|
|
122
|
+
packageName: 'datastructure',
|
|
123
|
+
className: 'Measure'
|
|
124
|
+
}), sdmx$1.SDMX({
|
|
125
|
+
name: 'measureDescriptor',
|
|
126
|
+
packageName: 'datastructure',
|
|
127
|
+
className: 'MeasureDescriptor'
|
|
128
|
+
}), sdmx$1.Component({
|
|
129
|
+
name: 'timeDimension',
|
|
130
|
+
packageName: 'datastructure',
|
|
131
|
+
className: 'TimeDimension'
|
|
132
|
+
}), sdmx$1.Component({
|
|
133
|
+
name: 'metadataAttribute',
|
|
134
|
+
packageName: 'metadatastructure',
|
|
135
|
+
className: 'MetadataAttribute'
|
|
136
|
+
}), sdmx$1.SDMX({
|
|
137
|
+
name: 'metadataAttributeDescriptor',
|
|
138
|
+
packageName: 'metadatastructure',
|
|
139
|
+
className: 'MetadataAttributeDescriptor'
|
|
140
|
+
}), sdmx$1.SDMX({
|
|
141
|
+
name: 'metadataStructure',
|
|
142
|
+
packageName: 'metadatastructure',
|
|
143
|
+
className: 'MetadataStructure'
|
|
144
|
+
}), sdmx$1.SDMX({
|
|
145
|
+
name: 'metadataflow',
|
|
146
|
+
packageName: 'metadatastructure',
|
|
147
|
+
className: 'Metadataflow'
|
|
148
|
+
}), sdmx$1.SDMX({
|
|
149
|
+
name: 'metadataSet',
|
|
150
|
+
packageName: 'metadatastructure',
|
|
151
|
+
className: 'MetadataSet'
|
|
152
|
+
}), sdmx$1.SDMX({
|
|
153
|
+
name: 'Process',
|
|
154
|
+
packageName: 'process',
|
|
155
|
+
className: 'Process'
|
|
156
|
+
}), sdmx$1.SDMX({
|
|
157
|
+
name: 'processStep',
|
|
158
|
+
packageName: 'process',
|
|
159
|
+
className: 'ProcessStep'
|
|
160
|
+
}), sdmx$1.SDMX({
|
|
161
|
+
name: 'transition',
|
|
162
|
+
packageName: 'process',
|
|
163
|
+
className: 'Transition'
|
|
164
|
+
}), sdmx$1.Artefact({
|
|
165
|
+
structureName: 'metadataConstraints',
|
|
166
|
+
name: 'metadataConstraint',
|
|
167
|
+
packageName: 'registry',
|
|
168
|
+
className: 'MetadataConstraint'
|
|
169
|
+
}), sdmx$1.SDMX({
|
|
170
|
+
name: 'metadataProvisionAgreement',
|
|
171
|
+
packageName: 'registry',
|
|
172
|
+
className: 'MetadataProvisionAgreement'
|
|
173
|
+
}), sdmx$1.SDMX({
|
|
174
|
+
name: 'subscription',
|
|
175
|
+
packageName: 'registry',
|
|
176
|
+
className: 'Subscription'
|
|
177
|
+
}), sdmx$1.SDMX({
|
|
178
|
+
name: 'categorySchemeMap',
|
|
179
|
+
packageName: 'structuremapping',
|
|
180
|
+
className: 'CategorySchemeMap'
|
|
181
|
+
}), sdmx$1.SDMX({
|
|
182
|
+
name: 'conceptSchemeMap',
|
|
183
|
+
packageName: 'structuremapping',
|
|
184
|
+
className: 'ConceptSchemeMap'
|
|
185
|
+
}), sdmx$1.SDMX({
|
|
186
|
+
name: 'organisationSchemeMap',
|
|
187
|
+
packageName: 'structuremapping',
|
|
188
|
+
className: 'OrganisationSchemeMap'
|
|
189
|
+
}), sdmx$1.SDMX({
|
|
190
|
+
name: 'reportingTaxonomyMap',
|
|
191
|
+
packageName: 'structuremapping',
|
|
192
|
+
className: 'ReportingTaxonomyMap'
|
|
193
|
+
}), sdmx$1.SDMX({
|
|
194
|
+
name: 'representationMap',
|
|
195
|
+
packageName: 'structuremapping',
|
|
196
|
+
className: 'RepresentationMap'
|
|
197
|
+
}), sdmx$1.SDMX({
|
|
198
|
+
name: 'structureMap',
|
|
199
|
+
packageName: 'structuremapping',
|
|
200
|
+
className: 'StructureMap'
|
|
201
|
+
}), sdmx$1.Item({
|
|
202
|
+
name: 'category',
|
|
203
|
+
packageName: 'categoryscheme',
|
|
204
|
+
className: 'Category'
|
|
205
|
+
}), sdmx$1.SDMX({
|
|
206
|
+
name: 'reportingCategory',
|
|
207
|
+
packageName: 'categoryscheme',
|
|
208
|
+
className: 'ReportingCategory'
|
|
209
|
+
}), sdmx$1.SDMX({
|
|
210
|
+
name: 'reportingTaxonomy',
|
|
211
|
+
packageName: 'categoryscheme',
|
|
212
|
+
className: 'ReportingTaxonomy'
|
|
213
|
+
}), sdmx$1.Item({
|
|
214
|
+
name: 'concept',
|
|
215
|
+
packageName: 'conceptscheme',
|
|
216
|
+
className: 'Concept'
|
|
217
|
+
}), sdmx$1.Item({
|
|
218
|
+
name: 'code',
|
|
219
|
+
packageName: 'codelist',
|
|
220
|
+
className: 'Code'
|
|
221
|
+
}), sdmx$1.SDMX({
|
|
222
|
+
name: 'hierarchicalCode',
|
|
223
|
+
packageName: 'codelist',
|
|
224
|
+
className: 'HierarchicalCode'
|
|
225
|
+
}), sdmx$1.SDMX({
|
|
226
|
+
name: 'hierarchy',
|
|
227
|
+
packageName: 'codelist',
|
|
228
|
+
className: 'Hierarchy'
|
|
229
|
+
}), sdmx$1.SDMX({
|
|
230
|
+
name: 'hierarchyAssociation',
|
|
231
|
+
packageName: 'codelist',
|
|
232
|
+
className: 'HierarchyAssociation'
|
|
233
|
+
}), sdmx$1.SDMX({
|
|
234
|
+
name: 'level',
|
|
235
|
+
packageName: 'codelist',
|
|
236
|
+
className: 'Level'
|
|
237
|
+
}), sdmx$1.SDMX({
|
|
238
|
+
name: 'valueList',
|
|
239
|
+
packageName: 'codelist',
|
|
240
|
+
className: 'ValueList'
|
|
241
|
+
}), sdmx$1.SDMX({
|
|
242
|
+
name: 'customType',
|
|
243
|
+
packageName: 'transformation',
|
|
244
|
+
className: 'CustomType'
|
|
245
|
+
}), sdmx$1.SDMX({
|
|
246
|
+
name: 'customTypeScheme',
|
|
247
|
+
packageName: 'transformation',
|
|
248
|
+
className: 'CustomTypeScheme'
|
|
249
|
+
}), sdmx$1.SDMX({
|
|
250
|
+
name: 'namePersonalisation',
|
|
251
|
+
packageName: 'transformation',
|
|
252
|
+
className: 'NamePersonalisation'
|
|
253
|
+
}), sdmx$1.SDMX({
|
|
254
|
+
name: 'namePersonalisationScheme',
|
|
255
|
+
packageName: 'transformation',
|
|
256
|
+
className: 'NamePersonalisationScheme'
|
|
257
|
+
}), sdmx$1.SDMX({
|
|
258
|
+
name: 'ruleset',
|
|
259
|
+
packageName: 'transformation',
|
|
260
|
+
className: 'Ruleset'
|
|
261
|
+
}), sdmx$1.SDMX({
|
|
262
|
+
name: 'rulesetScheme',
|
|
263
|
+
packageName: 'transformation',
|
|
264
|
+
className: 'RulesetScheme'
|
|
265
|
+
}), sdmx$1.SDMX({
|
|
266
|
+
name: 'transformation',
|
|
267
|
+
packageName: 'transformation',
|
|
268
|
+
className: 'Transformation'
|
|
269
|
+
}), sdmx$1.SDMX({
|
|
270
|
+
name: 'transformationScheme',
|
|
271
|
+
packageName: 'transformation',
|
|
272
|
+
className: 'TransformationScheme'
|
|
273
|
+
}), sdmx$1.SDMX({
|
|
274
|
+
name: 'userDefinedOperator',
|
|
275
|
+
packageName: 'transformation',
|
|
276
|
+
className: 'UserDefinedOperator'
|
|
277
|
+
}), sdmx$1.SDMX({
|
|
278
|
+
name: 'userDefinedOperatorScheme',
|
|
279
|
+
packageName: 'transformation',
|
|
280
|
+
className: 'UserDefinedOperatorScheme'
|
|
281
|
+
}), sdmx$1.SDMX({
|
|
282
|
+
name: 'vtlCodelistMapping',
|
|
283
|
+
packageName: 'transformation',
|
|
284
|
+
className: 'VtlCodelistMapping'
|
|
285
|
+
}), sdmx$1.SDMX({
|
|
286
|
+
name: 'vtlConceptMapping',
|
|
287
|
+
packageName: 'transformation',
|
|
288
|
+
className: 'VtlConceptMapping'
|
|
289
|
+
}), sdmx$1.SDMX({
|
|
290
|
+
name: 'vtlDataflowMapping',
|
|
291
|
+
packageName: 'transformation',
|
|
292
|
+
className: 'VtlDataflowMapping'
|
|
293
|
+
}), sdmx$1.SDMX({
|
|
294
|
+
name: 'vtlMappingScheme',
|
|
295
|
+
packageName: 'transformation',
|
|
296
|
+
className: 'VtlMappingScheme'
|
|
297
|
+
}), ...artefacts$1.Artefacts];
|
|
298
|
+
|
|
299
|
+
/*
|
|
300
|
+
* Object to get an artefact description from its structure name
|
|
301
|
+
*
|
|
302
|
+
* @function STRUCTURE_NAMES
|
|
303
|
+
* @tag artefact
|
|
304
|
+
* @tag core
|
|
305
|
+
*/
|
|
306
|
+
|
|
307
|
+
const STRUCTURE_NAMES = SDMXTypes.reduce((acc, artefact) => {
|
|
308
|
+
acc[artefact.structureName] = artefact;
|
|
309
|
+
return acc;
|
|
310
|
+
}, {});
|
|
311
|
+
|
|
312
|
+
/*
|
|
313
|
+
* Object to get an artefact description from its class name
|
|
314
|
+
*
|
|
315
|
+
* @function CLASSES
|
|
316
|
+
* @tag artefact
|
|
317
|
+
* @tag core
|
|
318
|
+
*/
|
|
319
|
+
|
|
320
|
+
const CLASSES = SDMXTypes.reduce((acc, artefact) => {
|
|
321
|
+
acc[artefact.className] = artefact;
|
|
322
|
+
return acc;
|
|
323
|
+
}, {});
|
|
324
|
+
|
|
325
|
+
/*
|
|
326
|
+
* Object to get an artefact description from its name
|
|
327
|
+
*
|
|
328
|
+
* @function RESOURCES
|
|
329
|
+
* @constant
|
|
330
|
+
* @tag artefact
|
|
331
|
+
* @tag core
|
|
332
|
+
*/
|
|
333
|
+
|
|
334
|
+
const RESOURCES = SDMXTypes.reduce((acc, artefact) => {
|
|
335
|
+
acc[artefact.name] = artefact.name;
|
|
336
|
+
return acc;
|
|
337
|
+
}, {});
|
|
338
|
+
const hResourceTypes = SDMXTypes.reduce((acc, artefact) => {
|
|
339
|
+
acc[artefact.name] = artefact;
|
|
340
|
+
return acc;
|
|
341
|
+
}, {});
|
|
342
|
+
const urnType = type => `sdmx.infomodel.${type.packageName || type.name}.${type.className}`;
|
|
343
|
+
const hArtefactUrnTypes = SDMXTypes.reduce((acc, artefact) => {
|
|
344
|
+
acc[urnType(artefact)] = artefact;
|
|
345
|
+
return acc;
|
|
346
|
+
}, {});
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Returns artefact description from its name
|
|
350
|
+
*
|
|
351
|
+
* @function getArtefactByType
|
|
352
|
+
* @tag artefact
|
|
353
|
+
* @tag core
|
|
354
|
+
* @return AttributeDescriptor
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* getArtefactByType('dataflow') //=> ArtefactDescription
|
|
358
|
+
*/
|
|
359
|
+
|
|
360
|
+
const getArtefactByType = type => hResourceTypes[type];
|
|
361
|
+
const getItemArtefactByResourceType = resourceType => SDMXTypes.find(obj => obj.schemeName === resourceType);
|
|
362
|
+
const getArtefactByStructureName = name => STRUCTURE_NAMES[name];
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Returns artefact description
|
|
366
|
+
*
|
|
367
|
+
* @function getArtefactByUrnType
|
|
368
|
+
* @tag artefact
|
|
369
|
+
* @tag core
|
|
370
|
+
* @param {string} - packageName
|
|
371
|
+
* @param {string} - className
|
|
372
|
+
* @return {ArtefactDescription}
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* getArtefactByType('dataflow') //=> ArtefactDescription
|
|
376
|
+
*/
|
|
377
|
+
|
|
378
|
+
const getArtefactByUrnType = (packageName, className) => hArtefactUrnTypes[urnType({
|
|
379
|
+
packageName,
|
|
380
|
+
className
|
|
381
|
+
})];
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Returns true if param is a valid structure name
|
|
385
|
+
*
|
|
386
|
+
* @function isValidArtefactName
|
|
387
|
+
* @tag artefact
|
|
388
|
+
* @tag core
|
|
389
|
+
* @param {string} - name
|
|
390
|
+
* @return {Boolean}
|
|
391
|
+
*/
|
|
392
|
+
const isValidArtefactName = name => STRUCTURE_NAMES[name];
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Returns true if param is an structure name
|
|
396
|
+
*
|
|
397
|
+
* @function isValidStructureName
|
|
398
|
+
* @tag artefact
|
|
399
|
+
* @tag core
|
|
400
|
+
* @param {string} - name
|
|
401
|
+
* @return {Boolean}
|
|
402
|
+
*/
|
|
403
|
+
const isValidStructureName = name => STRUCTURE_NAMES[name];
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Returns true if param is an artefact name
|
|
407
|
+
*
|
|
408
|
+
* @function isValidResourceType
|
|
409
|
+
* @tag artefact
|
|
410
|
+
* @tag core
|
|
411
|
+
* @param {string} - name
|
|
412
|
+
* @return {Boolean}
|
|
413
|
+
*/
|
|
414
|
+
const isValidResourceType = type => hResourceTypes[type];
|
|
415
|
+
const SDMXPrefix = 'urn:sdmx:org';
|
|
416
|
+
// const parseURN = urn => urn.match(/^urn:sdmx:org\.sdmx\.infomodel\.(\w+)\.(\w+)=(.+):(.+)\((.+)\)(?:\.([\w.-]+))?/)
|
|
417
|
+
const parseURN = urn => urn.match(/^urn:sdmx:org\.sdmx\.infomodel\.(\w+)\.(\w+)=(.+):(.+)\((.+)\)(?:\.(.+))?/);
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* @typedef FullRef
|
|
421
|
+
* @property {string} - resourceType
|
|
422
|
+
* @property {string} - agencyID
|
|
423
|
+
* @property {string} - id
|
|
424
|
+
* @property {string} - semver version
|
|
425
|
+
* @property {string=} - itemId
|
|
426
|
+
*/
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Returns URN from full ref
|
|
430
|
+
*
|
|
431
|
+
* @function makeUrn
|
|
432
|
+
* @tag core
|
|
433
|
+
* @tag URN
|
|
434
|
+
* @param {FullRef}
|
|
435
|
+
* @return {string} - an `urn`
|
|
436
|
+
*
|
|
437
|
+
* @example
|
|
438
|
+
*
|
|
439
|
+
* 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)'
|
|
440
|
+
* 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'
|
|
441
|
+
*/
|
|
442
|
+
const makeUrn = ({
|
|
443
|
+
resourceType,
|
|
444
|
+
agencyID,
|
|
445
|
+
id,
|
|
446
|
+
resourceId,
|
|
447
|
+
resourceID,
|
|
448
|
+
version,
|
|
449
|
+
itemId,
|
|
450
|
+
itemID
|
|
451
|
+
} = {}, type) => {
|
|
452
|
+
const localID = id ?? resourceId ?? resourceID;
|
|
453
|
+
const localItemID = itemId ?? itemID;
|
|
454
|
+
if (!agencyID || !localID || !version) throw new Error(`Wrong ref to build URN: ${JSON.stringify({
|
|
455
|
+
resourceType,
|
|
456
|
+
agencyID,
|
|
457
|
+
localID,
|
|
458
|
+
version,
|
|
459
|
+
localItemID
|
|
460
|
+
})}`);
|
|
461
|
+
const localType = type ?? resourceType;
|
|
462
|
+
const artefact = getArtefactByType(localType) ?? getArtefactByStructureName(localType);
|
|
463
|
+
if (!artefact) throw new Error(`Unknow artefact: ${localType}`);
|
|
464
|
+
const base = `${SDMXPrefix}.${urnType(artefact)}=${agencyID}:${localID}(${version})`;
|
|
465
|
+
if (!localItemID) return base;
|
|
466
|
+
if (artefact.isArtefact) return base;
|
|
467
|
+
if (artefact.isItem && artefact.name !== 'category') return `${base}.${localItemID.split('.').pop()}`;
|
|
468
|
+
return `${base}.${localItemID}`;
|
|
469
|
+
};
|
|
470
|
+
/**
|
|
471
|
+
* Returns full ref from URN
|
|
472
|
+
*
|
|
473
|
+
* @function urn2FullRef
|
|
474
|
+
* @tag core
|
|
475
|
+
* @tag URN
|
|
476
|
+
* @param {string} - urn
|
|
477
|
+
* @return {FullRef} -
|
|
478
|
+
*
|
|
479
|
+
* @example
|
|
480
|
+
*
|
|
481
|
+
* const urn = 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'
|
|
482
|
+
* urn2FullRef(urn) //=> { resourceType = 'codelist', agencyID: 'SDMX", id: 'CL_AGE', version; '1.0', itemId: 'YOT4')
|
|
483
|
+
*/
|
|
484
|
+
const urn2FullRef = urn => {
|
|
485
|
+
if (!urn) return;
|
|
486
|
+
const res = parseURN(urn);
|
|
487
|
+
if (!res) throw new Error(`Malformed URN: ${urn}`);
|
|
488
|
+
const [_, packageName, className, agencyID, id, version, itemId] = res; // eslint-disable-line
|
|
489
|
+
const artefact = getArtefactByUrnType(packageName, className);
|
|
490
|
+
if (!artefact) throw new Error(`Unknow artefact for URN: ${urn}`);
|
|
491
|
+
const resource = {
|
|
492
|
+
resourceType: artefact.name,
|
|
493
|
+
agencyID,
|
|
494
|
+
id,
|
|
495
|
+
version
|
|
496
|
+
};
|
|
497
|
+
if (artefact.isItem && !itemId) throw new Error(`Inconsistent urn for an item: ${urn}`);
|
|
498
|
+
if (itemId) resource.itemId = itemId;
|
|
499
|
+
return resource;
|
|
500
|
+
};
|
|
501
|
+
const getName = (locale, obj = {}) => obj.names?.[locale];
|
|
502
|
+
const getDescription = (locale, obj = {}) => obj.descriptions?.[locale];
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* Returns Ref from URN
|
|
506
|
+
*
|
|
507
|
+
* @function urn2Ref
|
|
508
|
+
* @tag core
|
|
509
|
+
* @tag URN
|
|
510
|
+
* @param {string} - urn
|
|
511
|
+
* @return {Ref} -
|
|
512
|
+
*
|
|
513
|
+
*/
|
|
514
|
+
|
|
515
|
+
const urn2Ref = urn => dissoc$1('itemId', urn2FullRef(urn));
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Returns version of a meta object (structure or data message)
|
|
519
|
+
*
|
|
520
|
+
* @function getSdmxVersion
|
|
521
|
+
* @tag core
|
|
522
|
+
* @param {object} - a `meta` object from a Structure or Data SDMX message
|
|
523
|
+
* @param {object=} - options, allow to define default version to return when previous prams to not contains a `meta` prop
|
|
524
|
+
* @return {string} - ['1', '2']
|
|
525
|
+
*
|
|
526
|
+
* @example
|
|
527
|
+
*
|
|
528
|
+
* const urn = 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_AGE(1.0).YOT4'
|
|
529
|
+
* urn2FullRef(urn) //=> { resourceType = 'codelist', agencyID: 'SDMX", id: 'CL_AGE', version; '1.0', itemId: 'YOT4')
|
|
530
|
+
*/
|
|
531
|
+
const getSdmxVersion = ({
|
|
532
|
+
schema
|
|
533
|
+
} = {}, {
|
|
534
|
+
defaultVersion = '2'
|
|
535
|
+
} = {}) => {
|
|
536
|
+
if (!schema) return defaultVersion;
|
|
537
|
+
const res = schema.match(/\/schemas\/(.*)\//);
|
|
538
|
+
if (!res) return defaultVersion;
|
|
539
|
+
try {
|
|
540
|
+
return semver.SemVer(res[1]).major === 2 ? '2' : '1';
|
|
541
|
+
} catch (err) {
|
|
542
|
+
return defaultVersion;
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Returns a Ref from a resource
|
|
548
|
+
*
|
|
549
|
+
* @function getRef
|
|
550
|
+
* @tag core
|
|
551
|
+
* @tag resource
|
|
552
|
+
* @param {object} - input structure
|
|
553
|
+
* @return {Ref} - pick(['agencyID', 'id', 'version'], resource)
|
|
554
|
+
*
|
|
555
|
+
*/
|
|
556
|
+
|
|
557
|
+
const getRef = (resource = {}, resourceType) => {
|
|
558
|
+
const localResourceType = resourceType ?? resource.resourceType;
|
|
559
|
+
const res = pick$1(['id', 'agencyID', 'version'], resource);
|
|
560
|
+
if (localResourceType) res.resourceType = localResourceType;
|
|
561
|
+
return res;
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* Returns a FullRef from a resource
|
|
566
|
+
*
|
|
567
|
+
* @function getFullRef
|
|
568
|
+
* @tag core
|
|
569
|
+
* @tag resource
|
|
570
|
+
* @param {object} - input structure
|
|
571
|
+
* @return {FullRef}
|
|
572
|
+
*
|
|
573
|
+
*/
|
|
574
|
+
|
|
575
|
+
const getFullRef = (resource, resourceType) => {
|
|
576
|
+
const res = getRef(resource, resourceType);
|
|
577
|
+
if (resource.itemId) res.itemId = resource.itemId;
|
|
578
|
+
return res;
|
|
579
|
+
};
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Returns an external resource from the input
|
|
583
|
+
*
|
|
584
|
+
* @function makeExternal
|
|
585
|
+
* @tag core
|
|
586
|
+
* @tag structure
|
|
587
|
+
* @param {string} - resourceType
|
|
588
|
+
* @param {string} - href to get input structure
|
|
589
|
+
* @param {object} - input structure
|
|
590
|
+
* @return {object} - input structure converted to an external one
|
|
591
|
+
*
|
|
592
|
+
* @example
|
|
593
|
+
*
|
|
594
|
+
* const source = {}
|
|
595
|
+
* const resource = makeExternal(CLASSES.Dataflow.name, 'href2', urn)
|
|
596
|
+
* expect(isExternal(resource).toBeTruthy()
|
|
597
|
+
* expect(getExternalUrl(resource)).toEqual('href2')
|
|
598
|
+
*/
|
|
599
|
+
const makeExternal = (resourceType, href, source) => {
|
|
600
|
+
const linkRefs = {
|
|
601
|
+
...getRef(source),
|
|
602
|
+
resourceType,
|
|
603
|
+
href
|
|
604
|
+
};
|
|
605
|
+
return {
|
|
606
|
+
...pick$1(['id', 'agencyID', 'version', 'names', 'descriptions'], source),
|
|
607
|
+
isExternalReference: true,
|
|
608
|
+
links: makeLinks([selfLink(linkRefs), relLink(linkRefs)])
|
|
609
|
+
};
|
|
610
|
+
};
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* Returns an identifier for an artefact based on { agencyID, id, version }
|
|
614
|
+
*
|
|
615
|
+
* @example
|
|
616
|
+
*
|
|
617
|
+
* const resource1 = { agencyID: 'AG', id: 'ID1', version: '1.0.3'}
|
|
618
|
+
* const resource2 = { agencyID: 'AG', id: 'ID2', version: '1.0'}
|
|
619
|
+
* expect(ID(resource1) !== ID(resource2)).toBeTruthy()
|
|
620
|
+
*/
|
|
621
|
+
|
|
622
|
+
const ID = ({
|
|
623
|
+
agencyID,
|
|
624
|
+
id,
|
|
625
|
+
version,
|
|
626
|
+
itemId
|
|
627
|
+
} = {}) => {
|
|
628
|
+
if (!agencyID) throw new Error('agencyID cannot be null');
|
|
629
|
+
if (!id) throw new Error('id cannot be null');
|
|
630
|
+
return itemId ? `${agencyID}:${id}:${version}:${itemId}` : `${agencyID}:${id}:${version}`;
|
|
631
|
+
};
|
|
632
|
+
const fullID = (resourceType, resource) => `${resourceType}:${ID(resource)}`;
|
|
633
|
+
const refFullID = (ref, resourceType) => `${resourceType ?? ref.resourceType}:${ID(ref)}`;
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Returns if a version is patterned (contains '+') - do not check if Range(version) is valid
|
|
637
|
+
*
|
|
638
|
+
* @function isPatternedVersion
|
|
639
|
+
* @tag core
|
|
640
|
+
* @tag version
|
|
641
|
+
* @param {string} - version
|
|
642
|
+
*
|
|
643
|
+
* @example
|
|
644
|
+
*
|
|
645
|
+
* expect(isPatternedVersion('3.2+.0')).toBeTruthy()
|
|
646
|
+
* expect(isPatternedVersion('3.2.0')).toBeFalsy()
|
|
647
|
+
*/
|
|
648
|
+
|
|
649
|
+
const isPatternedVersion = version => version && version.indexOf('+') !== -1;
|
|
650
|
+
|
|
651
|
+
/**
|
|
652
|
+
* Returns if a source artefact is semver compatible with a target one
|
|
653
|
+
*
|
|
654
|
+
* @function isTargetVersionCompatible
|
|
655
|
+
* @tag core
|
|
656
|
+
* @tag semver
|
|
657
|
+
* @param {object} - { version }
|
|
658
|
+
* @param {object} - { version }
|
|
659
|
+
*
|
|
660
|
+
* @example
|
|
661
|
+
*
|
|
662
|
+
* expect(isTargetVersionCompatible({ version: '3.2.0'}, { version: '1.0'})).toBeFalsy()
|
|
663
|
+
*/
|
|
664
|
+
|
|
665
|
+
const isTargetVersionCompatible = (source = {}, target = {}) => {
|
|
666
|
+
const sourceIsStable = semver.SemVer(source.version).isStable();
|
|
667
|
+
return !sourceIsStable || semver.SemVer(target.version).isStable();
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Resolves an item from a structure
|
|
672
|
+
*
|
|
673
|
+
* @function resolveItemFromStructure
|
|
674
|
+
* @tag core
|
|
675
|
+
* @tag item
|
|
676
|
+
* @param {object} - SDMX structure
|
|
677
|
+
* @param {FullRef} - source resource
|
|
678
|
+
* @param {FullRef} - item's fullRef
|
|
679
|
+
*
|
|
680
|
+
*/
|
|
681
|
+
|
|
682
|
+
const resolveItemFromStructure = ({
|
|
683
|
+
data = {}
|
|
684
|
+
} = {}, source, ref = {}) => {
|
|
685
|
+
if (!ref.itemId) throw new Error(`Wrong fullRef '${JSON.stringify(ref)}': 'itemId' is required to get an item!`);
|
|
686
|
+
const toType = getArtefactByType(ref.resourceType);
|
|
687
|
+
const resources = getResourcesFromStructure({
|
|
688
|
+
data
|
|
689
|
+
}, toType.schemeName);
|
|
690
|
+
// const resource = resolveDependency(resources, source, getRef(ref, toType.schemeName))
|
|
691
|
+
const resource = dependencyResolver$1.resolveDependency(resources, source, getRef(ref));
|
|
692
|
+
const items$1$1 = items$1.getFullyQualifiedItems(items$1.getItems(toType.schemeName, resource), {
|
|
693
|
+
flatten: true
|
|
694
|
+
});
|
|
695
|
+
let item;
|
|
696
|
+
if (toType.name === 'category') item = items$1$1.find(item => item.fullId === ref.itemId);else item = items$1$1.find(item => item.id === ref.itemId);
|
|
697
|
+
return {
|
|
698
|
+
resource,
|
|
699
|
+
item
|
|
700
|
+
};
|
|
701
|
+
};
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* Gets structure.data[resourceType]
|
|
705
|
+
*
|
|
706
|
+
* @function getResourcesFromStructure
|
|
707
|
+
* @tag core
|
|
708
|
+
* @param {object} - SDMX structure
|
|
709
|
+
* @param {type} - resourceType | structureName
|
|
710
|
+
* @return {object} - structure.data[resourceType]
|
|
711
|
+
*
|
|
712
|
+
*/
|
|
713
|
+
|
|
714
|
+
const getResourcesFromStructure = ({
|
|
715
|
+
data = {}
|
|
716
|
+
} = {}, type) => data[type] ?? data[getArtefactByType(type)?.structureName] ?? [];
|
|
717
|
+
|
|
718
|
+
/**
|
|
719
|
+
* Gets fullRef from structure
|
|
720
|
+
*
|
|
721
|
+
* @function getResourceFromStructure
|
|
722
|
+
* @tag core
|
|
723
|
+
* @param {object} - SDMX structure
|
|
724
|
+
* @param {FullRef} - fullRef
|
|
725
|
+
* @return {string} - resourceType
|
|
726
|
+
*
|
|
727
|
+
*/
|
|
728
|
+
|
|
729
|
+
const getResourceFromStructure = (structure = {}, fullRef = {}, type) => {
|
|
730
|
+
const resources = getResourcesFromStructure(structure, fullRef.resourceType ?? type);
|
|
731
|
+
return resources.find(resource => ID(resource) === ID(fullRef));
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
/**
|
|
735
|
+
* Resolved resource from structure
|
|
736
|
+
*
|
|
737
|
+
* @function resolveResourceFromStructure
|
|
738
|
+
* @tag core
|
|
739
|
+
* @param {object} - SDMX structure
|
|
740
|
+
* @param {object} - { version } of the source dependency
|
|
741
|
+
* @param {Ref} - Ref of the target dependency
|
|
742
|
+
* @return {object} - resolved resource
|
|
743
|
+
*
|
|
744
|
+
* @example
|
|
745
|
+
*
|
|
746
|
+
* const structure = {
|
|
747
|
+
* data: {
|
|
748
|
+
* categorySchemes: [artefact],
|
|
749
|
+
* },
|
|
750
|
+
* }
|
|
751
|
+
* const res = resolveResourceFromStructure(
|
|
752
|
+
* structure,
|
|
753
|
+
* { version: '1.0.0' },
|
|
754
|
+
* { ...getRef(artefact, 'categoryscheme'), version: '1+.0.0' },
|
|
755
|
+
* )
|
|
756
|
+
* expect(res).toEqual(artefact)
|
|
757
|
+
*
|
|
758
|
+
*/
|
|
759
|
+
const resolveResourceFromStructure = ({
|
|
760
|
+
data = {}
|
|
761
|
+
} = {}, source, ref = {}, {
|
|
762
|
+
noError
|
|
763
|
+
} = {}) => {
|
|
764
|
+
const resources = getResourcesFromStructure({
|
|
765
|
+
data
|
|
766
|
+
}, ref.resourceType);
|
|
767
|
+
try {
|
|
768
|
+
const res = dependencyResolver$1.resolveDependency(resources, source, getRef(ref));
|
|
769
|
+
return res;
|
|
770
|
+
} catch (err) {
|
|
771
|
+
if (err instanceof semver.SemVerError) {
|
|
772
|
+
if (noError) return;
|
|
773
|
+
throw err;
|
|
774
|
+
} else throw err;
|
|
775
|
+
}
|
|
776
|
+
};
|
|
777
|
+
|
|
778
|
+
/**
|
|
779
|
+
* Gets a Map of resources indexed by URN from structure
|
|
780
|
+
*
|
|
781
|
+
* @function getURNResourcesMapFromStructure
|
|
782
|
+
* @tag core
|
|
783
|
+
* @param {object} - SDMX structure
|
|
784
|
+
*
|
|
785
|
+
*
|
|
786
|
+
*/
|
|
787
|
+
|
|
788
|
+
const getURNResourcesMapFromStructure = ({
|
|
789
|
+
data = {}
|
|
790
|
+
} = {}) => {
|
|
791
|
+
const res = new Map();
|
|
792
|
+
for (const structureName of Object.keys(data)) {
|
|
793
|
+
for (const resource of data[structureName]) res.set(makeUrn(resource, structureName), resource);
|
|
794
|
+
}
|
|
795
|
+
return res;
|
|
796
|
+
};
|
|
797
|
+
const isUrlRegex = url => urlRegexp$1.test(url);
|
|
798
|
+
const getLatestMinor = version => {
|
|
799
|
+
const semver$1 = semver.SemVer(version);
|
|
800
|
+
if (semver$1.patch === null) return `${semver$1.major}.${semver$1.minor}`;
|
|
801
|
+
return `${semver$1.major}.${semver$1.minor}+.${semver$1.patch}`;
|
|
802
|
+
};
|
|
803
|
+
const getDataStructureFromArtefact = (structure, fullRef) => {
|
|
804
|
+
const target = getResourceFromStructure(structure, fullRef);
|
|
805
|
+
if (!target) throw new Error(`Cannot get dataStructure for ${JSON.stringify(fullRef)}!`);
|
|
806
|
+
if (fullRef.resourceType === 'dataflow') return [resolveResourceFromStructure(structure, target, urn2FullRef(target.structure)), target];
|
|
807
|
+
return [target, target];
|
|
808
|
+
};
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* Returns an object link with `rel` === 'self'
|
|
812
|
+
*
|
|
813
|
+
* @function selfLink
|
|
814
|
+
* @tag links
|
|
815
|
+
* @param {FullRef} - resource
|
|
816
|
+
*
|
|
817
|
+
*/
|
|
818
|
+
|
|
819
|
+
const selfLink = ({
|
|
820
|
+
resourceType,
|
|
821
|
+
agencyID,
|
|
822
|
+
id,
|
|
823
|
+
version,
|
|
824
|
+
itemId
|
|
825
|
+
}) => ({
|
|
826
|
+
rel: 'self',
|
|
827
|
+
urn: makeUrn({
|
|
828
|
+
resourceType,
|
|
829
|
+
agencyID,
|
|
830
|
+
id,
|
|
831
|
+
version,
|
|
832
|
+
itemId
|
|
833
|
+
})
|
|
834
|
+
});
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
* Returns an object link with `rel` === 'external'
|
|
838
|
+
*
|
|
839
|
+
* @function relLink
|
|
840
|
+
* @tag links
|
|
841
|
+
* @param {FullRef} - resource
|
|
842
|
+
*
|
|
843
|
+
*/
|
|
844
|
+
|
|
845
|
+
const relLink = ({
|
|
846
|
+
href,
|
|
847
|
+
resourceType,
|
|
848
|
+
agencyID,
|
|
849
|
+
id,
|
|
850
|
+
version
|
|
851
|
+
}) => ({
|
|
852
|
+
rel: 'external',
|
|
853
|
+
urn: makeUrn({
|
|
854
|
+
resourceType,
|
|
855
|
+
agencyID,
|
|
856
|
+
id,
|
|
857
|
+
version
|
|
858
|
+
}),
|
|
859
|
+
href
|
|
860
|
+
});
|
|
861
|
+
const makeLinks = links => {
|
|
862
|
+
const hrels = reduce$1((acc, link) => ({
|
|
863
|
+
...acc,
|
|
864
|
+
[link.rel]: link
|
|
865
|
+
}), {}, links);
|
|
866
|
+
return values$1(hrels);
|
|
867
|
+
};
|
|
868
|
+
|
|
869
|
+
/**
|
|
870
|
+
* Returns true if resource is external
|
|
871
|
+
*
|
|
872
|
+
* @function isExternal
|
|
873
|
+
* @tag links
|
|
874
|
+
* @tag core
|
|
875
|
+
* @param {Artefact} - resource
|
|
876
|
+
*
|
|
877
|
+
*/
|
|
878
|
+
|
|
879
|
+
const isExternal = prop$1('isExternalReference');
|
|
880
|
+
|
|
881
|
+
/**
|
|
882
|
+
* Returns external reference from an external Artefact
|
|
883
|
+
*
|
|
884
|
+
* @function getExternalUrl
|
|
885
|
+
* @tag core
|
|
886
|
+
* @param {Artefact} - external resource
|
|
887
|
+
*
|
|
888
|
+
*/
|
|
889
|
+
|
|
890
|
+
const getExternalUrl = ({
|
|
891
|
+
isExternalReference,
|
|
892
|
+
links = []
|
|
893
|
+
}) => {
|
|
894
|
+
if (!isExternalReference) return;
|
|
895
|
+
return getLinkType('external', links)?.href;
|
|
896
|
+
};
|
|
897
|
+
const getLinkType = (type, links = []) => links.find(link => link.rel === type);
|
|
898
|
+
core.__exports.CLASSES = CLASSES;
|
|
899
|
+
core.__exports.ID = ID;
|
|
900
|
+
core.__exports.RESOURCES = RESOURCES;
|
|
901
|
+
core.__exports.SDMXTypes = SDMXTypes;
|
|
902
|
+
core.__exports.STRUCTURE_NAMES = STRUCTURE_NAMES;
|
|
903
|
+
core.__exports.fullID = fullID;
|
|
904
|
+
core.__exports.getArtefactByStructureName = getArtefactByStructureName;
|
|
905
|
+
core.__exports.getArtefactByType = getArtefactByType;
|
|
906
|
+
core.__exports.getArtefactByUrnType = getArtefactByUrnType;
|
|
907
|
+
core.__exports.getDataStructureFromArtefact = getDataStructureFromArtefact;
|
|
908
|
+
core.__exports.getDescription = getDescription;
|
|
909
|
+
core.__exports.getExternalUrl = getExternalUrl;
|
|
910
|
+
core.__exports.getFullRef = getFullRef;
|
|
911
|
+
core.__exports.getItemArtefactByResourceType = getItemArtefactByResourceType;
|
|
912
|
+
core.__exports.getLatestMinor = getLatestMinor;
|
|
913
|
+
core.__exports.getLinkType = getLinkType;
|
|
914
|
+
core.__exports.getName = getName;
|
|
915
|
+
core.__exports.getRef = getRef;
|
|
916
|
+
core.__exports.getResourceFromStructure = getResourceFromStructure;
|
|
917
|
+
core.__exports.getResourcesFromStructure = getResourcesFromStructure;
|
|
918
|
+
core.__exports.getSdmxVersion = getSdmxVersion;
|
|
919
|
+
core.__exports.getURNResourcesMapFromStructure = getURNResourcesMapFromStructure;
|
|
920
|
+
core.__exports.isExternal = isExternal;
|
|
921
|
+
core.__exports.isPatternedVersion = isPatternedVersion;
|
|
922
|
+
core.__exports.isTargetVersionCompatible = isTargetVersionCompatible;
|
|
923
|
+
core.__exports.isUrlRegex = isUrlRegex;
|
|
924
|
+
core.__exports.isValidArtefactName = isValidArtefactName;
|
|
925
|
+
core.__exports.isValidResourceType = isValidResourceType;
|
|
926
|
+
core.__exports.isValidStructureName = isValidStructureName;
|
|
927
|
+
core.__exports.makeExternal = makeExternal;
|
|
928
|
+
core.__exports.makeLinks = makeLinks;
|
|
929
|
+
core.__exports.makeUrn = makeUrn;
|
|
930
|
+
core.__exports.refFullID = refFullID;
|
|
931
|
+
core.__exports.relLink = relLink;
|
|
932
|
+
core.__exports.resolveItemFromStructure = resolveItemFromStructure;
|
|
933
|
+
core.__exports.resolveResourceFromStructure = resolveResourceFromStructure;
|
|
934
|
+
core.__exports.selfLink = selfLink;
|
|
935
|
+
core.__exports.urn2FullRef = urn2FullRef;
|
|
936
|
+
core.__exports.urn2Ref = urn2Ref;
|
|
937
|
+
return core.__exports;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
exports.__require = requireCore;
|