dwh-fetch 1.3.3

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.
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchIndexed = exports.fetchExpressions = exports.mapResults = exports.getDwhExpressions = exports.replace = exports.Expression = void 0;
4
+ const dwh_fetch_1 = require("./dwh-fetch");
5
+ const DwhErrorCodes_1 = require("./DwhErrorCodes");
6
+ // noinspection JSUnusedGlobalSymbols
7
+ class Expression {
8
+ static string(expression, required = true) {
9
+ return { expression, required, converter: (s) => s };
10
+ }
11
+ static integer(expression, required = true) {
12
+ return { expression, required, converter: (s) => parseInt(s, 10) };
13
+ }
14
+ static integerOrUndefinedOnError(expression, required = true) {
15
+ return {
16
+ expression,
17
+ required,
18
+ converter: (s) => {
19
+ const value = parseInt(s, 10);
20
+ if (isNaN(value)) {
21
+ return undefined;
22
+ }
23
+ else if (dwh_fetch_1.isErrorValue(value)) {
24
+ return undefined;
25
+ }
26
+ return value;
27
+ },
28
+ };
29
+ }
30
+ static boolean(expression, required = true) {
31
+ return { expression, required, converter: (s) => !!parseInt(s, 10) };
32
+ }
33
+ static double(expression, required = true) {
34
+ return { expression, required, converter: (s) => parseFloat(s) };
35
+ }
36
+ static enum(expression, type, required = true) {
37
+ return {
38
+ expression,
39
+ required,
40
+ converter: (str) => {
41
+ const num = parseInt(str, 10);
42
+ if (isNaN(num)) {
43
+ return type[str];
44
+ }
45
+ else {
46
+ return num;
47
+ }
48
+ },
49
+ };
50
+ }
51
+ }
52
+ exports.Expression = Expression;
53
+ function replace(expression, replacements) {
54
+ if (!replacements) {
55
+ return expression;
56
+ }
57
+ for (const key in replacements) {
58
+ /* istanbul ignore next */
59
+ if (replacements.hasOwnProperty(key)) {
60
+ expression = expression.replace(`$(${key})`, replacements[key]);
61
+ }
62
+ }
63
+ return expression;
64
+ }
65
+ exports.replace = replace;
66
+ function getDwhExpressions(expressionDefinitions, replacements) {
67
+ const dwhExpressions = [];
68
+ for (const key in expressionDefinitions) {
69
+ /* istanbul ignore next */
70
+ if (expressionDefinitions.hasOwnProperty(key)) {
71
+ const item = expressionDefinitions[key];
72
+ if (item) {
73
+ dwhExpressions.push(replace(item.expression, replacements));
74
+ }
75
+ }
76
+ }
77
+ return dwhExpressions;
78
+ }
79
+ exports.getDwhExpressions = getDwhExpressions;
80
+ function mapResults(lines, expressionDefinitions, replacements) {
81
+ const obj = {};
82
+ let i = 0;
83
+ for (const key in expressionDefinitions) {
84
+ /* istanbul ignore next */
85
+ if (expressionDefinitions.hasOwnProperty(key)) {
86
+ const item = expressionDefinitions[key];
87
+ if (item) {
88
+ const line = lines[i++];
89
+ if (line.success) {
90
+ obj[key] = item.converter(line.value);
91
+ }
92
+ else {
93
+ if (item.required) {
94
+ throw new Error(`Expression ${replace(item.expression, replacements)} for field ${key} failed with error code ${line.toInt()} (${DwhErrorCodes_1.getDwhErrorString(line.toInt())}) but is required to fulfill the request`);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ return obj;
101
+ }
102
+ exports.mapResults = mapResults;
103
+ async function fetchExpressions(dwhFetch, expressions, replacements) {
104
+ const result = await dwhFetch.fetch(getDwhExpressions(expressions, replacements));
105
+ return mapResults(result.lines, expressions, replacements);
106
+ }
107
+ exports.fetchExpressions = fetchExpressions;
108
+ // noinspection JSUnusedGlobalSymbols
109
+ async function fetchIndexed(dwhFetch, countExpression, expressions, replacements) {
110
+ const dwhExpressions = getDwhExpressions(expressions, replacements);
111
+ const result = await dwhFetch.fetch(['G=' + countExpression + '\t' + dwhExpressions.join('\t')]);
112
+ if (!result.lines[0].success) {
113
+ throw new Error('Count Expression failed ' + countExpression);
114
+ }
115
+ const count = result.lines[0].toInt();
116
+ const objects = [];
117
+ for (let i = 0; i < count; i++) {
118
+ const startIndex = 1 + i * dwhExpressions.length;
119
+ objects.push(mapResults(result.lines.slice(startIndex, startIndex + dwhExpressions.length), expressions, replacements));
120
+ }
121
+ return objects;
122
+ }
123
+ exports.fetchIndexed = fetchIndexed;
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaW5kZXhlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZmV0Y2gtaW5kZXhlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBOEQ7QUFDOUQsbURBQW9EO0FBY3BELHFDQUFxQztBQUNyQyxNQUFhLFVBQVU7SUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFrQixFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFDTSxNQUFNLENBQUMseUJBQXlCLENBQ3JDLFVBQWtCLEVBQ2xCLFFBQVEsR0FBRyxJQUFJO1FBRWYsT0FBTztZQUNMLFVBQVU7WUFDVixRQUFRO1lBQ1IsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjtxQkFBTSxJQUFJLHdCQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzlCLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjtnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBa0IsRUFBRSxRQUFR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
@@ -0,0 +1,2 @@
1
+ declare const RSA: any;
2
+ export default RSA;