@darajs/core 1.20.0 → 1.20.1-alpha.1
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/dist/actions/download-variable.d.ts +1 -9
- package/dist/actions/download-variable.d.ts.map +1 -1
- package/dist/actions/download-variable.js +13 -54
- package/dist/actions/download-variable.js.map +1 -1
- package/dist/actions/reset-variables.d.ts.map +1 -1
- package/dist/actions/reset-variables.js +15 -20
- package/dist/actions/reset-variables.js.map +1 -1
- package/dist/actions/trigger-variable.d.ts.map +1 -1
- package/dist/actions/trigger-variable.js +1 -2
- package/dist/actions/trigger-variable.js.map +1 -1
- package/dist/actions/update-variable.d.ts.map +1 -1
- package/dist/actions/update-variable.js +17 -5
- package/dist/actions/update-variable.js.map +1 -1
- package/dist/api/websocket.d.ts +29 -53
- package/dist/api/websocket.d.ts.map +1 -1
- package/dist/api/websocket.js +25 -35
- package/dist/api/websocket.js.map +1 -1
- package/dist/components/for/for.d.ts +2 -3
- package/dist/components/for/for.d.ts.map +1 -1
- package/dist/components/for/for.js +2 -8
- package/dist/components/for/for.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/progress-tracker/progress-tracker.js +3 -3
- package/dist/components/progress-tracker/progress-tracker.js.map +1 -1
- package/dist/{dara_core-1.20.0-py3-none-any.whl → dara_core-1.20.1a1-py3-none-any.whl} +0 -0
- package/dist/shared/dynamic-component/dynamic-component.d.ts.map +1 -1
- package/dist/shared/dynamic-component/dynamic-component.js +3 -3
- package/dist/shared/dynamic-component/dynamic-component.js.map +1 -1
- package/dist/shared/interactivity/condition-or-variable.d.ts +1 -2
- package/dist/shared/interactivity/condition-or-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/condition-or-variable.js +4 -4
- package/dist/shared/interactivity/condition-or-variable.js.map +1 -1
- package/dist/shared/interactivity/data-variable.d.ts +77 -0
- package/dist/shared/interactivity/data-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/data-variable.js +222 -0
- package/dist/shared/interactivity/data-variable.js.map +1 -0
- package/dist/shared/interactivity/derived-variable.d.ts +15 -26
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/derived-variable.js +143 -203
- package/dist/shared/interactivity/derived-variable.js.map +1 -1
- package/dist/shared/interactivity/filtering.d.ts +2 -25
- package/dist/shared/interactivity/filtering.d.ts.map +1 -1
- package/dist/shared/interactivity/filtering.js +1 -266
- package/dist/shared/interactivity/filtering.js.map +1 -1
- package/dist/shared/interactivity/index.d.ts +3 -3
- package/dist/shared/interactivity/index.d.ts.map +1 -1
- package/dist/shared/interactivity/index.js +3 -3
- package/dist/shared/interactivity/index.js.map +1 -1
- package/dist/shared/interactivity/internal.d.ts +2 -2
- package/dist/shared/interactivity/internal.d.ts.map +1 -1
- package/dist/shared/interactivity/internal.js +2 -2
- package/dist/shared/interactivity/internal.js.map +1 -1
- package/dist/shared/interactivity/persistence.d.ts +14 -16
- package/dist/shared/interactivity/persistence.d.ts.map +1 -1
- package/dist/shared/interactivity/persistence.js +4 -14
- package/dist/shared/interactivity/persistence.js.map +1 -1
- package/dist/shared/interactivity/plain-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/plain-variable.js +108 -11
- package/dist/shared/interactivity/plain-variable.js.map +1 -1
- package/dist/shared/interactivity/resolve-variable.d.ts +22 -15
- package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/resolve-variable.js +75 -76
- package/dist/shared/interactivity/resolve-variable.js.map +1 -1
- package/dist/shared/interactivity/store.d.ts +6 -3
- package/dist/shared/interactivity/store.d.ts.map +1 -1
- package/dist/shared/interactivity/store.js +12 -1
- package/dist/shared/interactivity/store.js.map +1 -1
- package/dist/shared/interactivity/switch-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/switch-variable.js +3 -4
- package/dist/shared/interactivity/switch-variable.js.map +1 -1
- package/dist/shared/interactivity/triggers.d.ts +16 -19
- package/dist/shared/interactivity/triggers.d.ts.map +1 -1
- package/dist/shared/interactivity/triggers.js +73 -31
- package/dist/shared/interactivity/triggers.js.map +1 -1
- package/dist/shared/interactivity/url-variable.d.ts +12 -0
- package/dist/shared/interactivity/url-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/url-variable.js +28 -0
- package/dist/shared/interactivity/url-variable.js.map +1 -0
- package/dist/shared/interactivity/use-action.d.ts.map +1 -1
- package/dist/shared/interactivity/use-action.js +12 -7
- package/dist/shared/interactivity/use-action.js.map +1 -1
- package/dist/shared/interactivity/use-any-variable.d.ts +8 -0
- package/dist/shared/interactivity/use-any-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-any-variable.js +39 -0
- package/dist/shared/interactivity/use-any-variable.js.map +1 -0
- package/dist/shared/interactivity/use-data-variable.d.ts +18 -0
- package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/use-data-variable.js +58 -0
- package/dist/shared/interactivity/use-data-variable.js.map +1 -0
- package/dist/shared/interactivity/use-server-component.d.ts.map +1 -1
- package/dist/shared/interactivity/use-server-component.js +15 -16
- package/dist/shared/interactivity/use-server-component.js.map +1 -1
- package/dist/shared/interactivity/use-variable-state.d.ts +4 -2
- package/dist/shared/interactivity/use-variable-state.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable-state.js +3 -12
- package/dist/shared/interactivity/use-variable-state.js.map +1 -1
- package/dist/shared/interactivity/use-variable-value.d.ts +32 -0
- package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -0
- package/dist/shared/interactivity/use-variable-value.js +100 -0
- package/dist/shared/interactivity/use-variable-value.js.map +1 -0
- package/dist/shared/interactivity/use-variable.d.ts +1 -11
- package/dist/shared/interactivity/use-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable.js +17 -61
- package/dist/shared/interactivity/use-variable.js.map +1 -1
- package/dist/shared/template-root/template-root.d.ts.map +1 -1
- package/dist/shared/template-root/template-root.js +1 -2
- package/dist/shared/template-root/template-root.js.map +1 -1
- package/dist/shared/utils/hashing.d.ts +6 -0
- package/dist/shared/utils/hashing.d.ts.map +1 -1
- package/dist/shared/utils/hashing.js +13 -0
- package/dist/shared/utils/hashing.js.map +1 -1
- package/dist/shared/utils/normalization.d.ts.map +1 -1
- package/dist/shared/utils/normalization.js +7 -3
- package/dist/shared/utils/normalization.js.map +1 -1
- package/dist/shared/utils/use-defer-loadable.d.ts +1 -2
- package/dist/shared/utils/use-defer-loadable.d.ts.map +1 -1
- package/dist/shared/utils/use-defer-loadable.js +2 -4
- package/dist/shared/utils/use-defer-loadable.js.map +1 -1
- package/dist/shared/utils/use-url-sync.js +1 -1
- package/dist/shared/variable-state-provider/variable-state-provider.js +3 -12
- package/dist/shared/variable-state-provider/variable-state-provider.js.map +1 -1
- package/dist/types/core.d.ts +46 -27
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/utils.d.ts +26 -11
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/utils.js +42 -19
- package/dist/types/utils.js.map +1 -1
- package/dist/umd/dara.core.umd.js +55428 -59098
- package/dist/utils.d.ts.map +1 -1
- package/package.json +15 -18
- package/dist/components/fallback/custom.d.ts +0 -7
- package/dist/components/fallback/custom.d.ts.map +0 -1
- package/dist/components/fallback/custom.js +0 -8
- package/dist/components/fallback/custom.js.map +0 -1
- package/dist/shared/interactivity/server-variable.d.ts +0 -23
- package/dist/shared/interactivity/server-variable.d.ts.map +0 -1
- package/dist/shared/interactivity/server-variable.js +0 -154
- package/dist/shared/interactivity/server-variable.js.map +0 -1
- package/dist/shared/interactivity/state-synchronizer.d.ts +0 -54
- package/dist/shared/interactivity/state-synchronizer.d.ts.map +0 -1
- package/dist/shared/interactivity/state-synchronizer.js +0 -88
- package/dist/shared/interactivity/state-synchronizer.js.map +0 -1
- package/dist/shared/interactivity/tabular-variable.d.ts +0 -35
- package/dist/shared/interactivity/tabular-variable.d.ts.map +0 -1
- package/dist/shared/interactivity/tabular-variable.js +0 -130
- package/dist/shared/interactivity/tabular-variable.js.map +0 -1
- package/dist/shared/interactivity/use-tabular-variable.d.ts +0 -27
- package/dist/shared/interactivity/use-tabular-variable.d.ts.map +0 -1
- package/dist/shared/interactivity/use-tabular-variable.js +0 -109
- package/dist/shared/interactivity/use-tabular-variable.js.map +0 -1
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import { type ActionHandler, type
|
|
2
|
-
/**
|
|
3
|
-
* Restore original column names by inverting pandas_utils transformations
|
|
4
|
-
*/
|
|
5
|
-
export declare const restoreColumnName: (colName: string) => string;
|
|
6
|
-
/**
|
|
7
|
-
* Process data to restore original column structure before creating matrix
|
|
8
|
-
*/
|
|
9
|
-
export declare const processDataForDownload: (content: DataFrame) => DataFrame;
|
|
1
|
+
import { type ActionHandler, type DownloadVariableImpl } from '../types/core';
|
|
10
2
|
/**
|
|
11
3
|
* Frontend handler for DownloadVariable action
|
|
12
4
|
* Retrieves the variable value and downloads the variable as either a csv, json or xl file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-variable.d.ts","sourceRoot":"","sources":["../../js/actions/download-variable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"download-variable.d.ts","sourceRoot":"","sources":["../../js/actions/download-variable.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAmH7E;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,aAAa,CAAC,oBAAoB,CAoCzD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -9,50 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import * as xl from 'exceljs';
|
|
11
11
|
import { saveAs } from 'file-saver';
|
|
12
|
-
import {
|
|
13
|
-
import { getTabularVariableValue } from '../shared';
|
|
12
|
+
import { getVariableValue } from '../shared/interactivity/use-variable-value';
|
|
14
13
|
import {} from '../types/core';
|
|
15
|
-
const COL_PATTERN = /^__col__\d+__(.+)$/;
|
|
16
|
-
const INDEX_PATTERN = /^__index__\d+__(.+)$/;
|
|
17
|
-
/**
|
|
18
|
-
* Restore original column names by inverting pandas_utils transformations
|
|
19
|
-
*/
|
|
20
|
-
export const restoreColumnName = (colName) => {
|
|
21
|
-
// Handle __col__N__originalName format
|
|
22
|
-
const colMatch = colName.match(COL_PATTERN);
|
|
23
|
-
if (colMatch) {
|
|
24
|
-
return colMatch[1];
|
|
25
|
-
}
|
|
26
|
-
// Handle __index__N__originalName format
|
|
27
|
-
const indexMatch = colName.match(INDEX_PATTERN);
|
|
28
|
-
if (indexMatch) {
|
|
29
|
-
return indexMatch[1];
|
|
30
|
-
}
|
|
31
|
-
return colName;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Process data to restore original column structure before creating matrix
|
|
35
|
-
*/
|
|
36
|
-
export const processDataForDownload = (content) => {
|
|
37
|
-
return content.map((row) => {
|
|
38
|
-
const processedRow = {};
|
|
39
|
-
Object.entries(row).forEach(([key, value]) => {
|
|
40
|
-
// Skip __index__ columns entirely for downloads, keep the `__index__N__originalName` format
|
|
41
|
-
if (key === '__index__') {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const restoredKey = restoreColumnName(key);
|
|
45
|
-
processedRow[restoredKey] = value;
|
|
46
|
-
});
|
|
47
|
-
return processedRow;
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
14
|
const createMatrixFromArrayOfObjects = (content) => {
|
|
51
|
-
// Process the data to restore original column names and remove index columns
|
|
52
|
-
const processedContent = processDataForDownload(content);
|
|
53
15
|
const headings = [];
|
|
54
16
|
const indexes = {};
|
|
55
|
-
|
|
17
|
+
content.forEach((c) => {
|
|
56
18
|
Object.keys(c).forEach((k) => {
|
|
57
19
|
if (!headings.includes(k)) {
|
|
58
20
|
headings.push(k);
|
|
@@ -62,7 +24,7 @@ const createMatrixFromArrayOfObjects = (content) => {
|
|
|
62
24
|
});
|
|
63
25
|
const headingsLength = headings.length;
|
|
64
26
|
const matrix = [];
|
|
65
|
-
|
|
27
|
+
content.forEach((c) => {
|
|
66
28
|
const row = new Array(headingsLength);
|
|
67
29
|
Object.entries(c).forEach(([k, v]) => {
|
|
68
30
|
row[indexes[k]] = v;
|
|
@@ -142,26 +104,23 @@ const createMatrixFromValue = (val) => {
|
|
|
142
104
|
* Retrieves the variable value and downloads the variable as either a csv, json or xl file
|
|
143
105
|
*/
|
|
144
106
|
const DownloadVariable = (ctx, actionImpl) => __awaiter(void 0, void 0, void 0, function* () {
|
|
145
|
-
let value =
|
|
107
|
+
let value = getVariableValue(actionImpl.variable, true, {
|
|
146
108
|
client: ctx.wsClient,
|
|
147
109
|
extras: ctx.extras,
|
|
148
110
|
search: ctx.location.search,
|
|
149
111
|
snapshot: ctx.snapshot,
|
|
150
112
|
taskContext: ctx.taskCtx,
|
|
151
113
|
});
|
|
152
|
-
if (value
|
|
153
|
-
|
|
154
|
-
key: '_downloadVariable',
|
|
155
|
-
message: 'Failed to fetch the variable value',
|
|
156
|
-
status: Status.ERROR,
|
|
157
|
-
title: 'Error fetching variable value',
|
|
158
|
-
});
|
|
159
|
-
return;
|
|
114
|
+
if (value instanceof Promise) {
|
|
115
|
+
value = yield value;
|
|
160
116
|
}
|
|
161
|
-
//
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
117
|
+
// strip the __index__ column from data vars
|
|
118
|
+
if (actionImpl.variable.__typename === 'DataVariable' || actionImpl.variable.__typename === 'DerivedDataVariable') {
|
|
119
|
+
for (const row of value) {
|
|
120
|
+
if ('__index__' in row) {
|
|
121
|
+
delete row.__index__;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
165
124
|
}
|
|
166
125
|
const fileName = actionImpl.file_name || 'Data';
|
|
167
126
|
const fileNameWithExt = `${fileName}.${actionImpl.type}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-variable.js","sourceRoot":"","sources":["../../js/actions/download-variable.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"download-variable.js","sourceRoot":"","sources":["../../js/actions/download-variable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-variables.d.ts","sourceRoot":"","sources":["../../js/actions/reset-variables.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reset-variables.d.ts","sourceRoot":"","sources":["../../js/actions/reset-variables.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAU3E;;;GAGG;AACH,QAAA,MAAM,cAAc,EAAE,aAAa,CAAC,kBAAkB,CA4BrD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,43 +1,38 @@
|
|
|
1
|
-
import { nanoid } from 'nanoid';
|
|
2
1
|
import { getOrRegisterPlainVariable } from '../shared/interactivity/plain-variable';
|
|
3
2
|
import { getOrRegisterTrigger } from '../shared/interactivity/triggers';
|
|
3
|
+
import { getOrRegisterUrlVariable } from '../shared/interactivity/url-variable';
|
|
4
4
|
import {} from '../types/core';
|
|
5
|
-
import {
|
|
5
|
+
import { isDataVariable, isDerivedDataVariable, isDerivedVariable, isSwitchVariable, isUrlVariable, isVariable, } from '../types/utils';
|
|
6
6
|
/**
|
|
7
7
|
* Front-end handler for ResetVariables action.
|
|
8
8
|
* Sequentially resets variables to their default values (or forces a recalculation for DerivedVariables)
|
|
9
9
|
*/
|
|
10
10
|
const ResetVariables = (ctx, actionImpl) => {
|
|
11
11
|
actionImpl.variables.filter(isVariable).forEach((variable) => {
|
|
12
|
-
var _a;
|
|
13
12
|
// For DVs, trigger their recalculation
|
|
14
|
-
if (isDerivedVariable(variable)) {
|
|
13
|
+
if (isDerivedVariable(variable) || isDerivedDataVariable(variable)) {
|
|
15
14
|
const triggerAtom = getOrRegisterTrigger(variable);
|
|
16
15
|
ctx.set(triggerAtom, (triggerIndexValue) => ({
|
|
17
|
-
|
|
16
|
+
force: true,
|
|
18
17
|
inc: triggerIndexValue.inc + 1,
|
|
19
18
|
}));
|
|
20
19
|
}
|
|
21
|
-
else if (
|
|
22
|
-
//
|
|
20
|
+
else if (isUrlVariable(variable)) {
|
|
21
|
+
// For UrlVariables, we use set instead of reset to update the URL as well; otherwise just the atom is reset
|
|
22
|
+
const urlAtom = getOrRegisterUrlVariable(variable);
|
|
23
|
+
ctx.set(urlAtom, variable.default);
|
|
24
|
+
ctx.eventBus.publish('URL_VARIABLE_LOADED', { variable, value: variable.default });
|
|
23
25
|
}
|
|
24
|
-
else if (
|
|
25
|
-
//
|
|
26
|
-
// This is a noop - the state will update when the parent DerivedVariable changes
|
|
26
|
+
else if (isDataVariable(variable)) {
|
|
27
|
+
// for data variables this is a noop
|
|
27
28
|
}
|
|
28
|
-
else if (
|
|
29
|
-
//
|
|
29
|
+
else if (isSwitchVariable(variable)) {
|
|
30
|
+
// cannot reset switch variables
|
|
30
31
|
}
|
|
31
32
|
else {
|
|
33
|
+
// For plain variables reset them to default values
|
|
32
34
|
const plainAtom = getOrRegisterPlainVariable(variable, ctx.wsClient, ctx.taskCtx, ctx.extras);
|
|
33
|
-
|
|
34
|
-
// NOTE: using set(..., default) instead of reset,
|
|
35
|
-
// as reset doesn't properly reset the query param
|
|
36
|
-
ctx.set(plainAtom, variable.default);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
ctx.reset(plainAtom);
|
|
40
|
-
}
|
|
35
|
+
ctx.reset(plainAtom);
|
|
41
36
|
ctx.eventBus.publish('PLAIN_VARIABLE_LOADED', { variable, value: variable.default });
|
|
42
37
|
}
|
|
43
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-variables.js","sourceRoot":"","sources":["../../js/actions/reset-variables.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reset-variables.js","sourceRoot":"","sources":["../../js/actions/reset-variables.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAA+C,MAAM,cAAc,CAAC;AAC3E,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,UAAU,GACb,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,cAAc,GAAsC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;IAC1E,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzD,uCAAuC;QACvC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAEnD,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBACzC,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,iBAAiB,CAAC,GAAG,GAAG,CAAC;aACjC,CAAC,CAAC,CAAC;QACR,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,4GAA4G;YAC5G,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACnD,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEnC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,oCAAoC;QACxC,CAAC;aAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,gCAAgC;QACpC,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9F,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAErB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-variable.d.ts","sourceRoot":"","sources":["../../js/actions/trigger-variable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trigger-variable.d.ts","sourceRoot":"","sources":["../../js/actions/trigger-variable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE5E;;;GAGG;AACH,QAAA,MAAM,eAAe,EAAE,aAAa,CAAC,mBAAmB,CAOvD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { nanoid } from 'nanoid';
|
|
2
1
|
import { getOrRegisterTrigger } from '../shared/interactivity/triggers';
|
|
3
2
|
import {} from '../types/core';
|
|
4
3
|
/**
|
|
@@ -8,8 +7,8 @@ import {} from '../types/core';
|
|
|
8
7
|
const TriggerVariable = (ctx, actionImpl) => {
|
|
9
8
|
const triggerAtom = getOrRegisterTrigger(actionImpl.variable);
|
|
10
9
|
ctx.set(triggerAtom, (triggerIndexValue) => ({
|
|
10
|
+
force: actionImpl.force,
|
|
11
11
|
inc: triggerIndexValue.inc + 1,
|
|
12
|
-
force_key: actionImpl.force ? nanoid() : null,
|
|
13
12
|
}));
|
|
14
13
|
};
|
|
15
14
|
export default TriggerVariable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-variable.js","sourceRoot":"","sources":["../../js/actions/trigger-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"trigger-variable.js","sourceRoot":"","sources":["../../js/actions/trigger-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAgD,MAAM,cAAc,CAAC;AAE5E;;;GAGG;AACH,MAAM,eAAe,GAAuC,CAAC,GAAG,EAAE,UAAU,EAAQ,EAAE;IAClF,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE9D,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACzC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,GAAG,EAAE,iBAAiB,CAAC,GAAG,GAAG,CAAC;KACjC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-variable.d.ts","sourceRoot":"","sources":["../../js/actions/update-variable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-variable.d.ts","sourceRoot":"","sources":["../../js/actions/update-variable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,KAAK,mBAAmB,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC;;GAEG;AACH,QAAA,MAAM,cAAc,EAAE,aAAa,CAAC,kBAAkB,CAiCrD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -8,7 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { getOrRegisterPlainVariable } from '../shared/interactivity/plain-variable';
|
|
11
|
-
import {
|
|
11
|
+
import { getOrRegisterUrlVariable } from '../shared/interactivity/url-variable';
|
|
12
|
+
import {} from '../types/core';
|
|
12
13
|
/**
|
|
13
14
|
* Constant to replace with the input value.
|
|
14
15
|
*/
|
|
@@ -21,10 +22,21 @@ export const TOGGLE = '__dara_toggle__';
|
|
|
21
22
|
* Front-end handler for UpdateVariable action.
|
|
22
23
|
*/
|
|
23
24
|
const UpdateVariable = (ctx, actionImpl) => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
let varAtom;
|
|
26
|
+
let eventName;
|
|
27
|
+
// Make sure the variable is registered
|
|
28
|
+
switch (actionImpl.variable.__typename) {
|
|
29
|
+
case 'Variable':
|
|
30
|
+
varAtom = getOrRegisterPlainVariable(actionImpl.variable, ctx.wsClient, ctx.taskCtx, ctx.extras);
|
|
31
|
+
eventName = 'PLAIN_VARIABLE_LOADED';
|
|
32
|
+
break;
|
|
33
|
+
case 'UrlVariable':
|
|
34
|
+
varAtom = getOrRegisterUrlVariable(actionImpl.variable);
|
|
35
|
+
eventName = 'URL_VARIABLE_LOADED';
|
|
36
|
+
break;
|
|
37
|
+
case 'DataVariable':
|
|
38
|
+
throw new Error('DataVariable is not supported in UpdateVariable action');
|
|
26
39
|
}
|
|
27
|
-
const varAtom = getOrRegisterPlainVariable(actionImpl.variable, ctx.wsClient, ctx.taskCtx, ctx.extras);
|
|
28
40
|
let newValue;
|
|
29
41
|
if (actionImpl.value === INPUT) {
|
|
30
42
|
newValue = ctx.input;
|
|
@@ -39,7 +51,7 @@ const UpdateVariable = (ctx, actionImpl) => __awaiter(void 0, void 0, void 0, fu
|
|
|
39
51
|
newValue = actionImpl.value;
|
|
40
52
|
}
|
|
41
53
|
ctx.set(varAtom, newValue);
|
|
42
|
-
ctx.eventBus.publish(
|
|
54
|
+
ctx.eventBus.publish(eventName, { variable: actionImpl.variable, value: newValue });
|
|
43
55
|
});
|
|
44
56
|
export default UpdateVariable;
|
|
45
57
|
//# sourceMappingURL=update-variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-variable.js","sourceRoot":"","sources":["../../js/actions/update-variable.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,
|
|
1
|
+
{"version":3,"file":"update-variable.js","sourceRoot":"","sources":["../../js/actions/update-variable.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAA+C,MAAM,cAAc,CAAC;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,gBAAgB,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAExC;;GAEG;AACH,MAAM,cAAc,GAAsC,CAAO,GAAG,EAAE,UAAU,EAAE,EAAE;IAChF,IAAI,OAAO,CAAC;IACZ,IAAI,SAA0D,CAAC;IAE/D,uCAAuC;IACvC,QAAQ,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,KAAK,UAAU;YACX,OAAO,GAAG,0BAA0B,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACjG,SAAS,GAAG,uBAAuB,CAAC;YACpC,MAAM;QACV,KAAK,aAAa;YACd,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,SAAS,GAAG,qBAAqB,CAAC;YAClC,MAAM;QACV,KAAK,cAAc;YACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,QAAQ,CAAC;IAEb,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7B,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;IACzB,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACrC,gFAAgF;QAChF,mEAAmE;QACnE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAClE,QAAQ,GAAG,CAAC,KAAK,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/F,CAAC,CAAA,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/api/websocket.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { Observable, Subject } from 'rxjs';
|
|
2
2
|
import type { ActionImpl, AnyVariable } from '../types';
|
|
3
|
-
export declare class TaskCancelledError extends Error {
|
|
4
|
-
task_id: string;
|
|
5
|
-
constructor(message: string, task_id: string);
|
|
6
|
-
}
|
|
7
|
-
export declare class TaskError extends Error {
|
|
8
|
-
task_id: string;
|
|
9
|
-
constructor(message: string, task_id: string);
|
|
10
|
-
}
|
|
11
3
|
interface InitMessage {
|
|
12
4
|
message: {
|
|
13
5
|
channel: string;
|
|
@@ -28,31 +20,27 @@ export declare enum TaskStatus {
|
|
|
28
20
|
ERROR = "ERROR",
|
|
29
21
|
PROGRESS = "PROGRESS"
|
|
30
22
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
task_id: string;
|
|
41
|
-
progress: number;
|
|
42
|
-
message: string;
|
|
43
|
-
} | {
|
|
44
|
-
status: TaskStatus.CANCELED;
|
|
45
|
-
task_id: string;
|
|
46
|
-
};
|
|
23
|
+
export interface ProgressNotificationMessage {
|
|
24
|
+
message: {
|
|
25
|
+
message: string;
|
|
26
|
+
progress: number;
|
|
27
|
+
status: TaskStatus.PROGRESS;
|
|
28
|
+
task_id: string;
|
|
29
|
+
};
|
|
30
|
+
type: 'message';
|
|
31
|
+
}
|
|
47
32
|
export interface TaskNotificationMessage {
|
|
48
|
-
message:
|
|
33
|
+
message: {
|
|
34
|
+
status: TaskStatus;
|
|
35
|
+
task_id: string;
|
|
36
|
+
};
|
|
49
37
|
type: 'message';
|
|
50
38
|
}
|
|
51
|
-
export interface
|
|
39
|
+
export interface ServerTriggerMessage {
|
|
40
|
+
message: {
|
|
41
|
+
data_id: string;
|
|
42
|
+
};
|
|
52
43
|
type: 'message';
|
|
53
|
-
message: Extract<TaskNotificationMessageContent, {
|
|
54
|
-
status: TaskStatus.PROGRESS;
|
|
55
|
-
}>;
|
|
56
44
|
}
|
|
57
45
|
export interface ServerErrorMessage {
|
|
58
46
|
message: {
|
|
@@ -74,7 +62,7 @@ export interface ActionMessage {
|
|
|
74
62
|
/**
|
|
75
63
|
* Action implementation instance
|
|
76
64
|
*/
|
|
77
|
-
action: ActionImpl
|
|
65
|
+
action: ActionImpl;
|
|
78
66
|
/**
|
|
79
67
|
* Execution uid
|
|
80
68
|
*/
|
|
@@ -103,14 +91,6 @@ export interface BackendStorePatchMessage {
|
|
|
103
91
|
};
|
|
104
92
|
type: 'message';
|
|
105
93
|
}
|
|
106
|
-
export interface ServerVariableMessage {
|
|
107
|
-
message: {
|
|
108
|
-
__type: 'ServerVariable';
|
|
109
|
-
uid: string;
|
|
110
|
-
sequence_number: number;
|
|
111
|
-
};
|
|
112
|
-
type: 'message';
|
|
113
|
-
}
|
|
114
94
|
export interface CustomMessage {
|
|
115
95
|
message: {
|
|
116
96
|
data: any;
|
|
@@ -122,21 +102,11 @@ export interface CustomMessage {
|
|
|
122
102
|
};
|
|
123
103
|
type: 'custom';
|
|
124
104
|
}
|
|
125
|
-
export type WebSocketMessage = InitMessage | PingPongMessage | TokenUpdateMessage | TaskNotificationMessage | ProgressNotificationMessage |
|
|
126
|
-
export declare function isInitMessage(message: WebSocketMessage): message is InitMessage;
|
|
127
|
-
export declare function isTaskNotification(message: WebSocketMessage): message is TaskNotificationMessage;
|
|
128
|
-
export declare function isServerVariableMessage(message: WebSocketMessage): message is ServerVariableMessage;
|
|
129
|
-
export declare function isServerErrorMessage(message: WebSocketMessage): message is ServerErrorMessage;
|
|
130
|
-
export declare function isVariableRequestMessage(message: WebSocketMessage): message is VariableRequestMessage;
|
|
131
|
-
export declare function isActionMessage(message: WebSocketMessage): message is ActionMessage;
|
|
132
|
-
export declare function isBackendStoreMessage(message: WebSocketMessage): message is BackendStoreMessage;
|
|
133
|
-
export declare function isBackendStorePatchMessage(message: WebSocketMessage): message is BackendStorePatchMessage;
|
|
134
|
-
export declare function isCustomMessage(message: WebSocketMessage): message is CustomMessage;
|
|
105
|
+
export type WebSocketMessage = InitMessage | PingPongMessage | TokenUpdateMessage | TaskNotificationMessage | ProgressNotificationMessage | ServerTriggerMessage | ServerErrorMessage | VariableRequestMessage | ActionMessage | BackendStoreMessage | BackendStorePatchMessage | CustomMessage;
|
|
135
106
|
export interface WebSocketClientInterface {
|
|
136
|
-
actionMessages$: (executionId: string) => Observable<ActionImpl
|
|
107
|
+
actionMessages$: (executionId: string) => Observable<ActionImpl>;
|
|
137
108
|
backendStoreMessages$(): Observable<BackendStoreMessage['message']>;
|
|
138
109
|
backendStorePatchMessages$(): Observable<BackendStorePatchMessage['message']>;
|
|
139
|
-
serverVariableMessages$(): Observable<ServerVariableMessage['message']>;
|
|
140
110
|
channel$: () => Observable<string>;
|
|
141
111
|
customMessages$: () => Observable<CustomMessage>;
|
|
142
112
|
getChannel: () => Promise<string>;
|
|
@@ -145,6 +115,7 @@ export interface WebSocketClientInterface {
|
|
|
145
115
|
sendMessage(value: any, channel: string, chunkCount?: number): void;
|
|
146
116
|
sendVariable: (value: any, channel: string) => void;
|
|
147
117
|
serverErrors$: () => Observable<ServerErrorMessage>;
|
|
118
|
+
serverTriggers$: (data_id: string) => Observable<ServerTriggerMessage>;
|
|
148
119
|
taskStatusUpdates$: (...task_ids: string[]) => Observable<TaskStatus>;
|
|
149
120
|
variableRequests$: () => Observable<VariableRequestMessage>;
|
|
150
121
|
waitForTask: (task_id: string) => Promise<any>;
|
|
@@ -178,7 +149,6 @@ export declare class WebSocketClient implements WebSocketClientInterface {
|
|
|
178
149
|
getChannel(): Promise<string>;
|
|
179
150
|
backendStoreMessages$(): Observable<BackendStoreMessage['message']>;
|
|
180
151
|
backendStorePatchMessages$(): Observable<BackendStorePatchMessage['message']>;
|
|
181
|
-
serverVariableMessages$(): Observable<ServerVariableMessage['message']>;
|
|
182
152
|
/**
|
|
183
153
|
* Get the observable to receive the new channel when the socket reconnects
|
|
184
154
|
*/
|
|
@@ -195,6 +165,12 @@ export declare class WebSocketClient implements WebSocketClientInterface {
|
|
|
195
165
|
* @param task_ids the ids of the task to receive updates from
|
|
196
166
|
*/
|
|
197
167
|
progressUpdates$(...task_ids: string[]): Observable<ProgressNotificationMessage>;
|
|
168
|
+
/**
|
|
169
|
+
* Get the observable to receive server trigger messages for a given data variable
|
|
170
|
+
*
|
|
171
|
+
* @param dataId id of the data variable triggered
|
|
172
|
+
*/
|
|
173
|
+
serverTriggers$(dataId: string): Observable<ServerTriggerMessage>;
|
|
198
174
|
/**
|
|
199
175
|
* Get the observable to receive server error messages
|
|
200
176
|
*/
|
|
@@ -208,13 +184,13 @@ export declare class WebSocketClient implements WebSocketClientInterface {
|
|
|
208
184
|
*
|
|
209
185
|
* @param executionId id of the execution to receive action implementations for
|
|
210
186
|
*/
|
|
211
|
-
actionMessages$(executionId: string): Observable<ActionImpl
|
|
187
|
+
actionMessages$(executionId: string): Observable<ActionImpl>;
|
|
212
188
|
/**
|
|
213
189
|
* Get the observable to receive custom messages
|
|
214
190
|
*/
|
|
215
191
|
customMessages$(): Observable<CustomMessage>;
|
|
216
192
|
/**
|
|
217
|
-
* Returns a promise that will resolve when the task is completed. If the task is cancelled
|
|
193
|
+
* Returns a promise that will resolve when the task is completed. If the task is cancelled then this will throw an
|
|
218
194
|
* error to signify that.
|
|
219
195
|
*
|
|
220
196
|
* @param task_id the id of the task to wait for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../js/api/websocket.tsx"],"names":[],"mappings":"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"}
|
package/dist/api/websocket.js
CHANGED
|
@@ -10,7 +10,6 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _WebSocketClient_pingInterval, _WebSocketClient_socketUrl, _WebSocketClient_reconnectCount;
|
|
13
|
-
/* eslint-disable max-classes-per-file */
|
|
14
13
|
import { nanoid } from 'nanoid';
|
|
15
14
|
import { Observable, Subject } from 'rxjs';
|
|
16
15
|
import { filter, map, take } from 'rxjs/operators';
|
|
@@ -20,18 +19,6 @@ const interAttemptTimeout = 500;
|
|
|
20
19
|
const maxDisconnectedTime = 10000;
|
|
21
20
|
const interPingInterval = 5000;
|
|
22
21
|
const maxAttempts = Math.round(maxDisconnectedTime / interAttemptTimeout);
|
|
23
|
-
export class TaskCancelledError extends Error {
|
|
24
|
-
constructor(message, task_id) {
|
|
25
|
-
super(message);
|
|
26
|
-
this.task_id = task_id;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export class TaskError extends Error {
|
|
30
|
-
constructor(message, task_id) {
|
|
31
|
-
super(message);
|
|
32
|
-
this.task_id = task_id;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
22
|
export var TaskStatus;
|
|
36
23
|
(function (TaskStatus) {
|
|
37
24
|
TaskStatus["CANCELED"] = "CANCELED";
|
|
@@ -39,31 +26,31 @@ export var TaskStatus;
|
|
|
39
26
|
TaskStatus["ERROR"] = "ERROR";
|
|
40
27
|
TaskStatus["PROGRESS"] = "PROGRESS";
|
|
41
28
|
})(TaskStatus || (TaskStatus = {}));
|
|
42
|
-
|
|
29
|
+
function isInitMessage(message) {
|
|
43
30
|
return message.type === 'init';
|
|
44
31
|
}
|
|
45
|
-
|
|
32
|
+
function isTaskNotification(message) {
|
|
46
33
|
return message.type === 'message' && 'status' in message.message && 'task_id' in message.message;
|
|
47
34
|
}
|
|
48
|
-
|
|
49
|
-
return message.type === 'message' && '
|
|
35
|
+
function isServerTriggerMessage(message) {
|
|
36
|
+
return message.type === 'message' && 'data_id' in message.message;
|
|
50
37
|
}
|
|
51
|
-
|
|
38
|
+
function isServerErrorMessage(message) {
|
|
52
39
|
return message.type === 'message' && 'error' in message.message;
|
|
53
40
|
}
|
|
54
|
-
|
|
41
|
+
function isVariableRequestMessage(message) {
|
|
55
42
|
return message.type === 'message' && 'variable' in message.message;
|
|
56
43
|
}
|
|
57
|
-
|
|
44
|
+
function isActionMessage(message) {
|
|
58
45
|
return message.type === 'message' && 'action' in message.message;
|
|
59
46
|
}
|
|
60
|
-
|
|
47
|
+
function isBackendStoreMessage(message) {
|
|
61
48
|
return message.type === 'message' && 'store_uid' in message.message && 'value' in message.message;
|
|
62
49
|
}
|
|
63
|
-
|
|
50
|
+
function isBackendStorePatchMessage(message) {
|
|
64
51
|
return message.type === 'message' && 'store_uid' in message.message && 'patches' in message.message;
|
|
65
52
|
}
|
|
66
|
-
|
|
53
|
+
function isCustomMessage(message) {
|
|
67
54
|
return message.type === 'custom';
|
|
68
55
|
}
|
|
69
56
|
const pingMessage = {
|
|
@@ -187,9 +174,6 @@ export class WebSocketClient {
|
|
|
187
174
|
backendStorePatchMessages$() {
|
|
188
175
|
return this.messages$.pipe(filter(isBackendStorePatchMessage), map((msg) => msg.message));
|
|
189
176
|
}
|
|
190
|
-
serverVariableMessages$() {
|
|
191
|
-
return this.messages$.pipe(filter(isServerVariableMessage), map((msg) => msg.message));
|
|
192
|
-
}
|
|
193
177
|
/**
|
|
194
178
|
* Get the observable to receive the new channel when the socket reconnects
|
|
195
179
|
*/
|
|
@@ -214,6 +198,14 @@ export class WebSocketClient {
|
|
|
214
198
|
msg.message.status === TaskStatus.PROGRESS &&
|
|
215
199
|
task_ids.includes(msg.message.task_id)));
|
|
216
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Get the observable to receive server trigger messages for a given data variable
|
|
203
|
+
*
|
|
204
|
+
* @param dataId id of the data variable triggered
|
|
205
|
+
*/
|
|
206
|
+
serverTriggers$(dataId) {
|
|
207
|
+
return this.messages$.pipe(filter(isServerTriggerMessage), filter((msg) => { var _a; return ((_a = msg.message) === null || _a === void 0 ? void 0 : _a.data_id) === dataId; }));
|
|
208
|
+
}
|
|
217
209
|
/**
|
|
218
210
|
* Get the observable to receive server error messages
|
|
219
211
|
*/
|
|
@@ -241,7 +233,7 @@ export class WebSocketClient {
|
|
|
241
233
|
return this.messages$.pipe(filter(isCustomMessage));
|
|
242
234
|
}
|
|
243
235
|
/**
|
|
244
|
-
* Returns a promise that will resolve when the task is completed. If the task is cancelled
|
|
236
|
+
* Returns a promise that will resolve when the task is completed. If the task is cancelled then this will throw an
|
|
245
237
|
* error to signify that.
|
|
246
238
|
*
|
|
247
239
|
* @param task_id the id of the task to wait for
|
|
@@ -250,15 +242,13 @@ export class WebSocketClient {
|
|
|
250
242
|
return this.messages$
|
|
251
243
|
.pipe(filter((msg) => {
|
|
252
244
|
var _a;
|
|
253
|
-
return
|
|
245
|
+
return isTaskNotification(msg) &&
|
|
254
246
|
((_a = msg.message) === null || _a === void 0 ? void 0 : _a.task_id) === task_id &&
|
|
255
|
-
msg.message.status !== TaskStatus.PROGRESS
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
else if (msg.message.status === TaskStatus.ERROR) {
|
|
261
|
-
throw new TaskError(msg.message.error, msg.message.task_id);
|
|
247
|
+
msg.message.status !== TaskStatus.PROGRESS;
|
|
248
|
+
} // don't take progress updates
|
|
249
|
+
), map((msg) => {
|
|
250
|
+
if (isTaskNotification(msg) && msg.message.status === TaskStatus.CANCELED) {
|
|
251
|
+
throw new Error('CANCELED');
|
|
262
252
|
}
|
|
263
253
|
return msg;
|
|
264
254
|
}), take(1))
|