dwh-fetch 1.5.3 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/lib/fetch-indexed.d.ts +10 -0
- package/dist/lib/fetch-indexed.js +42 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -111,4 +111,25 @@ const expressions: ExpressionDefinitions<Test> = {
|
|
|
111
111
|
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
+
This is also possible with multiple `ExpressionDefinitions` in one call
|
|
115
|
+
```typescript
|
|
116
|
+
//expression store holds all the requests that should be sent in one request
|
|
117
|
+
const store = new ExpressionStore();
|
|
118
|
+
// add the first expressions. Note that this won't resolve util fetchExpressionStore has been called and awaited
|
|
119
|
+
const first = store.add({
|
|
120
|
+
a: Expression.string('#$str[$(index)]'),
|
|
121
|
+
b: Expression.integer('##num[$(index)]'),
|
|
122
|
+
});
|
|
123
|
+
// add the first expressions. Note that this won't resolve util fetchExpressionStore has been called and awaited
|
|
124
|
+
const second = store.add({
|
|
125
|
+
c: Expression.string('#$str'),
|
|
126
|
+
d: Expression.integer('##num'),
|
|
127
|
+
e: Expression.string('#$str'),
|
|
128
|
+
});
|
|
129
|
+
// fetch data from dwh
|
|
130
|
+
await fetchExpressionStore(dwhFetch, store);
|
|
131
|
+
// now the promises from the expressionstore can be awaited
|
|
132
|
+
console.log(await first); // { a: 'str', b: 7 }
|
|
133
|
+
console.log(await second); // { c: 'str', d: 7, e: 'str' }
|
|
114
134
|
|
|
135
|
+
```
|
|
@@ -23,4 +23,14 @@ export declare function replace(expression: string, replacements?: Replacements)
|
|
|
23
23
|
export declare function getDwhExpressions<T>(expressionDefinitions: ExpressionDefinitions<T>, replacements?: Replacements): string[];
|
|
24
24
|
export declare function mapResults<T>(lines: DwhLine[], expressionDefinitions: ExpressionDefinitions<T>, replacements?: Replacements): T;
|
|
25
25
|
export declare function fetchExpressions<T>(dwhFetch: DwhFetch, expressions: ExpressionDefinitions<T>, replacements?: Replacements): Promise<T>;
|
|
26
|
+
export declare class ExpressionStore {
|
|
27
|
+
fetchInfos: {
|
|
28
|
+
expressions: ExpressionDefinitions<unknown>;
|
|
29
|
+
replacements?: Replacements;
|
|
30
|
+
resolve: (obj: any) => void;
|
|
31
|
+
reject: (reason?: any) => void;
|
|
32
|
+
}[];
|
|
33
|
+
add<T>(expressions: ExpressionDefinitions<T>, replacements?: Replacements): Promise<T>;
|
|
34
|
+
}
|
|
35
|
+
export declare function fetchExpressionStore(dwhFetch: DwhFetch, store: ExpressionStore): Promise<void>;
|
|
26
36
|
export declare function fetchIndexed<T>(dwhFetch: DwhFetch, countExpression: string, expressions: ExpressionDefinitions<T>, replacements?: Replacements): Promise<T[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchIndexed = exports.fetchExpressions = exports.mapResults = exports.getDwhExpressions = exports.replace = exports.Expression = void 0;
|
|
3
|
+
exports.fetchIndexed = exports.fetchExpressionStore = exports.ExpressionStore = exports.fetchExpressions = exports.mapResults = exports.getDwhExpressions = exports.replace = exports.Expression = void 0;
|
|
4
4
|
const dwh_fetch_1 = require("./dwh-fetch");
|
|
5
5
|
const DwhErrorCodes_1 = require("./DwhErrorCodes");
|
|
6
6
|
// noinspection JSUnusedGlobalSymbols
|
|
@@ -105,6 +105,46 @@ async function fetchExpressions(dwhFetch, expressions, replacements) {
|
|
|
105
105
|
return mapResults(result.lines, expressions, replacements);
|
|
106
106
|
}
|
|
107
107
|
exports.fetchExpressions = fetchExpressions;
|
|
108
|
+
class ExpressionStore {
|
|
109
|
+
constructor() {
|
|
110
|
+
this.fetchInfos = [];
|
|
111
|
+
}
|
|
112
|
+
add(expressions, replacements) {
|
|
113
|
+
const promise = new Promise((resolve, reject) => {
|
|
114
|
+
this.fetchInfos.push({
|
|
115
|
+
expressions,
|
|
116
|
+
replacements,
|
|
117
|
+
resolve,
|
|
118
|
+
reject
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
return promise;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.ExpressionStore = ExpressionStore;
|
|
125
|
+
async function fetchExpressionStore(dwhFetch, store) {
|
|
126
|
+
const fetchInfos = store.fetchInfos;
|
|
127
|
+
const expressionsArray = fetchInfos.map(item => getDwhExpressions(item.expressions, item.replacements));
|
|
128
|
+
const expressions = expressionsArray.flatMap(item => item);
|
|
129
|
+
let result;
|
|
130
|
+
try {
|
|
131
|
+
result = await dwhFetch.fetch(expressions);
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
fetchInfos.forEach(item => item.reject(e));
|
|
135
|
+
throw e;
|
|
136
|
+
}
|
|
137
|
+
fetchInfos.forEach((info, i) => {
|
|
138
|
+
try {
|
|
139
|
+
const finalObject = mapResults(result.lines.splice(0, expressionsArray[i].length), info.expressions, info.replacements);
|
|
140
|
+
info.resolve(finalObject);
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
info.reject(e);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
exports.fetchExpressionStore = fetchExpressionStore;
|
|
108
148
|
// noinspection JSUnusedGlobalSymbols
|
|
109
149
|
async function fetchIndexed(dwhFetch, countExpression, expressions, replacements) {
|
|
110
150
|
const dwhExpressions = getDwhExpressions(expressions, replacements);
|
|
@@ -121,4 +161,4 @@ async function fetchIndexed(dwhFetch, countExpression, expressions, replacements
|
|
|
121
161
|
return objects;
|
|
122
162
|
}
|
|
123
163
|
exports.fetchIndexed = fetchIndexed;
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaW5kZXhlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZmV0Y2gtaW5kZXhlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkU7QUFDM0UsbURBQW9EO0FBY3BELHFDQUFxQztBQUNyQyxNQUFhLFVBQVU7SUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFrQixFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFDTSxNQUFNLENBQUMseUJBQXlCLENBQ3JDLFVBQWtCLEVBQ2xCLFFBQVEsR0FBRyxJQUFJO1FBRWYsT0FBTztZQUNMLFVBQVU7WUFDVixRQUFRO1lBQ1IsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjtxQkFBTSxJQUFJLElBQUEsd0JBQVksRUFBQyxLQUFLLENBQUMsRUFBRTtvQkFDOUIsT0FBTyxTQUFTLENBQUM7aUJBQ2xCO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFrQixFQUFF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
|