@wavemaker-ai/variables 1.0.0-rc.647469

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.
Files changed (123) hide show
  1. package/index.d.ts +14 -0
  2. package/index.js +15 -0
  3. package/index.js.map +1 -0
  4. package/npm-shrinkwrap.json +1967 -0
  5. package/package-lock.json +1967 -0
  6. package/package.json +48 -0
  7. package/scripts/build.d.ts +1 -0
  8. package/scripts/build.js +183 -0
  9. package/scripts/build.js.map +1 -0
  10. package/src/advanced-options.d.ts +4 -0
  11. package/src/advanced-options.js +2 -0
  12. package/src/advanced-options.js.map +1 -0
  13. package/src/constants/variables.constants.d.ts +307 -0
  14. package/src/constants/variables.constants.js +334 -0
  15. package/src/constants/variables.constants.js.map +1 -0
  16. package/src/factory/variable-manager.factory.d.ts +3 -0
  17. package/src/factory/variable-manager.factory.js +26 -0
  18. package/src/factory/variable-manager.factory.js.map +1 -0
  19. package/src/manager/action/timer-action.manager.d.ts +4 -0
  20. package/src/manager/action/timer-action.manager.js +38 -0
  21. package/src/manager/action/timer-action.manager.js.map +1 -0
  22. package/src/manager/variable/base-variable.manager.d.ts +24 -0
  23. package/src/manager/variable/base-variable.manager.js +79 -0
  24. package/src/manager/variable/base-variable.manager.js.map +1 -0
  25. package/src/manager/variable/crud-variable.manager.d.ts +85 -0
  26. package/src/manager/variable/crud-variable.manager.js +415 -0
  27. package/src/manager/variable/crud-variable.manager.js.map +1 -0
  28. package/src/manager/variable/live-variable.manager.d.ts +154 -0
  29. package/src/manager/variable/live-variable.manager.js +1078 -0
  30. package/src/manager/variable/live-variable.manager.js.map +1 -0
  31. package/src/manager/variable/model-variable.manager.d.ts +4 -0
  32. package/src/manager/variable/model-variable.manager.js +56 -0
  33. package/src/manager/variable/model-variable.manager.js.map +1 -0
  34. package/src/manager/variable/service-variable.manager.d.ts +113 -0
  35. package/src/manager/variable/service-variable.manager.js +713 -0
  36. package/src/manager/variable/service-variable.manager.js.map +1 -0
  37. package/src/model/action/timer-action.d.ts +12 -0
  38. package/src/model/action/timer-action.js +60 -0
  39. package/src/model/action/timer-action.js.map +1 -0
  40. package/src/model/base-action.d.ts +32 -0
  41. package/src/model/base-action.js +89 -0
  42. package/src/model/base-action.js.map +1 -0
  43. package/src/model/base-variable.d.ts +58 -0
  44. package/src/model/base-variable.js +180 -0
  45. package/src/model/base-variable.js.map +1 -0
  46. package/src/model/crud-create.d.ts +8 -0
  47. package/src/model/crud-create.js +17 -0
  48. package/src/model/crud-create.js.map +1 -0
  49. package/src/model/crud-delete.d.ts +8 -0
  50. package/src/model/crud-delete.js +17 -0
  51. package/src/model/crud-delete.js.map +1 -0
  52. package/src/model/crud-list.d.ts +8 -0
  53. package/src/model/crud-list.js +17 -0
  54. package/src/model/crud-list.js.map +1 -0
  55. package/src/model/crud-update.d.ts +8 -0
  56. package/src/model/crud-update.js +17 -0
  57. package/src/model/crud-update.js.map +1 -0
  58. package/src/model/variable/api-aware-variable.d.ts +23 -0
  59. package/src/model/variable/api-aware-variable.js +25 -0
  60. package/src/model/variable/api-aware-variable.js.map +1 -0
  61. package/src/model/variable/crud-variable.d.ts +30 -0
  62. package/src/model/variable/crud-variable.js +181 -0
  63. package/src/model/variable/crud-variable.js.map +1 -0
  64. package/src/model/variable/live-variable.d.ts +40 -0
  65. package/src/model/variable/live-variable.js +262 -0
  66. package/src/model/variable/live-variable.js.map +1 -0
  67. package/src/model/variable/model-variable.d.ts +11 -0
  68. package/src/model/variable/model-variable.js +83 -0
  69. package/src/model/variable/model-variable.js.map +1 -0
  70. package/src/model/variable/service-variable.d.ts +35 -0
  71. package/src/model/variable/service-variable.js +147 -0
  72. package/src/model/variable/service-variable.js.map +1 -0
  73. package/src/types/date-formatter.d.ts +3 -0
  74. package/src/types/date-formatter.js +2 -0
  75. package/src/types/date-formatter.js.map +1 -0
  76. package/src/types/event-notifier.d.ts +9 -0
  77. package/src/types/event-notifier.js +25 -0
  78. package/src/types/event-notifier.js.map +1 -0
  79. package/src/types/http-client.service.d.ts +8 -0
  80. package/src/types/http-client.service.js +2 -0
  81. package/src/types/http-client.service.js.map +1 -0
  82. package/src/types/types.d.ts +50 -0
  83. package/src/types/types.js +54 -0
  84. package/src/types/types.js.map +1 -0
  85. package/src/util/dataset-util.d.ts +27 -0
  86. package/src/util/dataset-util.js +147 -0
  87. package/src/util/dataset-util.js.map +1 -0
  88. package/src/util/file-upload.util.d.ts +11 -0
  89. package/src/util/file-upload.util.js +183 -0
  90. package/src/util/file-upload.util.js.map +1 -0
  91. package/src/util/inflight-queue.d.ts +35 -0
  92. package/src/util/inflight-queue.js +102 -0
  93. package/src/util/inflight-queue.js.map +1 -0
  94. package/src/util/notify-promise.d.ts +3 -0
  95. package/src/util/notify-promise.js +37 -0
  96. package/src/util/notify-promise.js.map +1 -0
  97. package/src/util/oAuth.utils.d.ts +3 -0
  98. package/src/util/oAuth.utils.js +11 -0
  99. package/src/util/oAuth.utils.js.map +1 -0
  100. package/src/util/utils.d.ts +69 -0
  101. package/src/util/utils.js +364 -0
  102. package/src/util/utils.js.map +1 -0
  103. package/src/util/variable/live-variable.http.utils.d.ts +21 -0
  104. package/src/util/variable/live-variable.http.utils.js +212 -0
  105. package/src/util/variable/live-variable.http.utils.js.map +1 -0
  106. package/src/util/variable/live-variable.utils.d.ts +72 -0
  107. package/src/util/variable/live-variable.utils.js +667 -0
  108. package/src/util/variable/live-variable.utils.js.map +1 -0
  109. package/src/util/variable/pagination.utils.d.ts +91 -0
  110. package/src/util/variable/pagination.utils.js +493 -0
  111. package/src/util/variable/pagination.utils.js.map +1 -0
  112. package/src/util/variable/service-variable.utils.d.ts +17 -0
  113. package/src/util/variable/service-variable.utils.js +394 -0
  114. package/src/util/variable/service-variable.utils.js.map +1 -0
  115. package/src/util/variable/variables.utils.d.ts +120 -0
  116. package/src/util/variable/variables.utils.js +544 -0
  117. package/src/util/variable/variables.utils.js.map +1 -0
  118. package/src/wm-namespace.d.ts +11 -0
  119. package/src/wm-namespace.js +13 -0
  120. package/src/wm-namespace.js.map +1 -0
  121. package/webpack.config.d.ts +21 -0
  122. package/webpack.config.js +28 -0
  123. package/webpack.config.js.map +1 -0
@@ -0,0 +1,25 @@
1
+ var DefaultEventNotifier = /** @class */ (function () {
2
+ function DefaultEventNotifier() {
3
+ this.listeners = {};
4
+ }
5
+ DefaultEventNotifier.prototype.notify = function (event, args) {
6
+ if (this.listeners[event]) {
7
+ this.listeners[event].forEach(function (l) {
8
+ l && l.apply(null, args);
9
+ });
10
+ }
11
+ };
12
+ DefaultEventNotifier.prototype.subscribe = function (event, fn) {
13
+ var _this = this;
14
+ this.listeners[event] = this.listeners[event] || [];
15
+ this.listeners[event].push(fn);
16
+ return function () {
17
+ var eventListeners = _this.listeners[event];
18
+ var i = eventListeners.findIndex(function (fni) { return fni === fn; });
19
+ eventListeners.splice(i, 1);
20
+ };
21
+ };
22
+ return DefaultEventNotifier;
23
+ }());
24
+ export { DefaultEventNotifier };
25
+ //# sourceMappingURL=event-notifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-notifier.js","sourceRoot":"./","sources":["src/types/event-notifier.ts"],"names":[],"mappings":"AAAA;IAAA;QACY,cAAS,GAAG,EAAS,CAAC;IAmBlC,CAAC;IAjBU,qCAAM,GAAb,UAAc,KAAa,EAAE,IAAW;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,CAAW;gBACtC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,wCAAS,GAAhB,UAAiB,KAAa,EAAE,EAAY;QAA5C,iBAQC;QAPG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACH,IAAM,cAAc,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAM,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,UAAC,GAAa,IAAK,OAAA,GAAG,KAAK,EAAE,EAAV,CAAU,CAAC,CAAC;YAClE,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC;IACN,CAAC;IACL,2BAAC;AAAD,CAAC,AApBD,IAoBC","sourcesContent":["export class DefaultEventNotifier implements EventNotifier {\n private listeners = {} as any;\n\n public notify(event: string, args: any[]) {\n if (this.listeners[event]) {\n this.listeners[event].forEach((l: Function) => {\n l && l.apply(null, args);\n });\n }\n }\n\n public subscribe(event: string, fn: Function) {\n this.listeners[event] = this.listeners[event] || [];\n this.listeners[event].push(fn);\n return () => {\n const eventListeners = this.listeners[event];\n const i = eventListeners.findIndex((fni: Function) => fni === fn);\n eventListeners.splice(i, 1);\n };\n }\n}\n\nexport interface EventNotifier {\n notify: (event: string, args: any[]) => void;\n subscribe: (event: string, fn: Function) => Function;\n}"]}
@@ -0,0 +1,8 @@
1
+ export interface HttpClientService {
2
+ send: (options: any, variable: any) => void;
3
+ sendCallAsObservable?: (options: any) => void;
4
+ getLocale?: () => void;
5
+ sendCall: (options: any, variable: any) => void;
6
+ cancel: (variable: any, $file?: any) => void;
7
+ uploadFile: (url: any, data: any, variable: any, options?: any) => void;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=http-client.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.service.js","sourceRoot":"./","sources":["src/types/http-client.service.ts"],"names":[],"mappings":"","sourcesContent":["export interface HttpClientService {\n send: (options, variable) => void;\n sendCallAsObservable?: (options) => void;\n getLocale?: () => void;\n sendCall: (options, variable) => void;\n cancel: (variable, $file?) => void;\n uploadFile: (url: any, data: any, variable: any, options?: any) => void;\n}\n"]}
@@ -0,0 +1,50 @@
1
+ export declare class IDataSource {
2
+ execute: (operation: Operation, options?: any) => boolean | string | Promise<any>;
3
+ }
4
+ declare enum Operation {
5
+ LIST_RECORDS = "listRecords",
6
+ UPDATE_RECORD = "updateRecord",
7
+ INSERT_RECORD = "insertRecord",
8
+ DELETE_RECORD = "deleteRecord",
9
+ INVOKE = "invoke",
10
+ UPDATE = "update",
11
+ NOTIFY = "notify",
12
+ IS_API_AWARE = "isApiAware",
13
+ SUPPORTS_CRUD = "supportsCRUD",
14
+ SUPPORTS_DISTINCT_API = "supportsDistinctAPI",
15
+ IS_PAGEABLE = "isPageable",
16
+ IS_SORTABLE = "isSortable",
17
+ GET_OPERATION_TYPE = "getOperationType",
18
+ GET_RELATED_PRIMARY_KEYS = "getRelatedTablePrimaryKeys",
19
+ GET_ENTITY_NAME = "getEntityName",
20
+ SET_INPUT = "setinput",
21
+ GET_RELATED_TABLE_DATA = "getRelatedTableData",
22
+ GET_DISTINCT_DATA_BY_FIELDS = "getDistinctDataByFields",
23
+ GET_AGGREGATED_DATA = "getAggregatedData",
24
+ GET_MATCH_MODE = "getMatchMode",
25
+ DOWNLOAD = "download",
26
+ GET_NAME = "getName",
27
+ GET_PROPERTIES_MAP = "getPropertiesMap",
28
+ GET_PRIMARY_KEY = "getPrimaryKey",
29
+ GET_BLOB_URL = "getBlobURL",
30
+ SUPPORTS_SERVER_FILTER = "supportsServerFilter",
31
+ GET_OPTIONS = "getOptions",
32
+ SEARCH_RECORDS = "searchRecords",
33
+ GET_REQUEST_PARAMS = "getRequestParams",
34
+ GET_PAGING_OPTIONS = "getPagingOptions",
35
+ FETCH_DISTINCT_VALUES = "fetchDistinctValues",
36
+ GET_UNIQUE_IDENTIFIER = "getUniqueIdentifier",
37
+ GET_CONTEXT_IDENTIFIER = "getContextIdentifier",
38
+ IS_UPDATE_REQUIRED = "isUpdateRequired",
39
+ ADD_ITEM = "addItem",
40
+ SET_ITEM = "setItem",
41
+ REMOVE_ITEM = "removeItem",
42
+ IS_BOUND_TO_LOCALE = "isBoundToLocale",
43
+ GET_DEFAULT_LOCALE = "getDefaultLocale",
44
+ CANCEL = "cancel",
45
+ SET_PAGINATION = "setPagination"
46
+ }
47
+ export declare const DataSource: {
48
+ Operation: typeof Operation;
49
+ };
50
+ export {};
@@ -0,0 +1,54 @@
1
+ var IDataSource = /** @class */ (function () {
2
+ function IDataSource() {
3
+ }
4
+ return IDataSource;
5
+ }());
6
+ export { IDataSource };
7
+ var Operation;
8
+ (function (Operation) {
9
+ Operation["LIST_RECORDS"] = "listRecords";
10
+ Operation["UPDATE_RECORD"] = "updateRecord";
11
+ Operation["INSERT_RECORD"] = "insertRecord";
12
+ Operation["DELETE_RECORD"] = "deleteRecord";
13
+ Operation["INVOKE"] = "invoke";
14
+ Operation["UPDATE"] = "update";
15
+ Operation["NOTIFY"] = "notify";
16
+ Operation["IS_API_AWARE"] = "isApiAware";
17
+ Operation["SUPPORTS_CRUD"] = "supportsCRUD";
18
+ Operation["SUPPORTS_DISTINCT_API"] = "supportsDistinctAPI";
19
+ Operation["IS_PAGEABLE"] = "isPageable";
20
+ Operation["IS_SORTABLE"] = "isSortable";
21
+ Operation["GET_OPERATION_TYPE"] = "getOperationType";
22
+ Operation["GET_RELATED_PRIMARY_KEYS"] = "getRelatedTablePrimaryKeys";
23
+ Operation["GET_ENTITY_NAME"] = "getEntityName";
24
+ Operation["SET_INPUT"] = "setinput";
25
+ Operation["GET_RELATED_TABLE_DATA"] = "getRelatedTableData";
26
+ Operation["GET_DISTINCT_DATA_BY_FIELDS"] = "getDistinctDataByFields";
27
+ Operation["GET_AGGREGATED_DATA"] = "getAggregatedData";
28
+ Operation["GET_MATCH_MODE"] = "getMatchMode";
29
+ Operation["DOWNLOAD"] = "download";
30
+ Operation["GET_NAME"] = "getName";
31
+ Operation["GET_PROPERTIES_MAP"] = "getPropertiesMap";
32
+ Operation["GET_PRIMARY_KEY"] = "getPrimaryKey";
33
+ Operation["GET_BLOB_URL"] = "getBlobURL";
34
+ Operation["SUPPORTS_SERVER_FILTER"] = "supportsServerFilter";
35
+ Operation["GET_OPTIONS"] = "getOptions";
36
+ Operation["SEARCH_RECORDS"] = "searchRecords";
37
+ Operation["GET_REQUEST_PARAMS"] = "getRequestParams";
38
+ Operation["GET_PAGING_OPTIONS"] = "getPagingOptions";
39
+ Operation["FETCH_DISTINCT_VALUES"] = "fetchDistinctValues";
40
+ Operation["GET_UNIQUE_IDENTIFIER"] = "getUniqueIdentifier";
41
+ Operation["GET_CONTEXT_IDENTIFIER"] = "getContextIdentifier";
42
+ Operation["IS_UPDATE_REQUIRED"] = "isUpdateRequired";
43
+ Operation["ADD_ITEM"] = "addItem";
44
+ Operation["SET_ITEM"] = "setItem";
45
+ Operation["REMOVE_ITEM"] = "removeItem";
46
+ Operation["IS_BOUND_TO_LOCALE"] = "isBoundToLocale";
47
+ Operation["GET_DEFAULT_LOCALE"] = "getDefaultLocale";
48
+ Operation["CANCEL"] = "cancel";
49
+ Operation["SET_PAGINATION"] = "setPagination";
50
+ })(Operation || (Operation = {}));
51
+ export var DataSource = {
52
+ Operation: Operation
53
+ };
54
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"./","sources":["src/types/types.ts"],"names":[],"mappings":"AAAA;IAAA;IAEA,CAAC;IAAD,kBAAC;AAAD,CAAC,AAFD,IAEC;;AAED,IAAK,SA0CJ;AA1CD,WAAK,SAAS;IACV,yCAA4B,CAAA;IAC5B,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,wCAA2B,CAAA;IAC3B,2CAA8B,CAAA;IAC9B,0DAA6C,CAAA;IAC7C,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,oDAAuC,CAAA;IACvC,oEAAuD,CAAA;IACvD,8CAAiC,CAAA;IACjC,mCAAsB,CAAA;IACtB,2DAA8C,CAAA;IAC9C,oEAAuD,CAAA;IACvD,sDAAyC,CAAA;IACzC,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,iCAAoB,CAAA;IACpB,oDAAuC,CAAA;IACvC,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;IAC/C,uCAA0B,CAAA;IAC1B,6CAAgC,CAAA;IAChC,oDAAuC,CAAA;IACvC,oDAAuC,CAAA;IACvC,0DAA6C,CAAA;IAC7C,0DAA6C,CAAA;IAC7C,4DAA+C,CAAA;IAC/C,oDAAuC,CAAA;IACvC,iCAAoB,CAAA;IACpB,iCAAoB,CAAA;IACpB,uCAA0B,CAAA;IAC1B,mDAAsC,CAAA;IACtC,oDAAuC,CAAA;IACvC,8BAAiB,CAAA;IACjB,6CAAgC,CAAA;AACpC,CAAC,EA1CI,SAAS,KAAT,SAAS,QA0Cb;AAED,MAAM,CAAC,IAAM,UAAU,GAAG;IACtB,SAAS,WAAA;CACZ,CAAC","sourcesContent":["export class IDataSource {\n execute: (operation: Operation, options?: any) => boolean | string | Promise<any>;\n}\n\nenum Operation {\n LIST_RECORDS = 'listRecords',\n UPDATE_RECORD = 'updateRecord',\n INSERT_RECORD = 'insertRecord',\n DELETE_RECORD = 'deleteRecord',\n INVOKE = 'invoke',\n UPDATE = 'update',\n NOTIFY = 'notify',\n IS_API_AWARE = 'isApiAware',\n SUPPORTS_CRUD = 'supportsCRUD',\n SUPPORTS_DISTINCT_API = 'supportsDistinctAPI',\n IS_PAGEABLE = 'isPageable',\n IS_SORTABLE = \"isSortable\",\n GET_OPERATION_TYPE = 'getOperationType',\n GET_RELATED_PRIMARY_KEYS = 'getRelatedTablePrimaryKeys',\n GET_ENTITY_NAME = 'getEntityName',\n SET_INPUT = 'setinput',\n GET_RELATED_TABLE_DATA = 'getRelatedTableData',\n GET_DISTINCT_DATA_BY_FIELDS = 'getDistinctDataByFields',\n GET_AGGREGATED_DATA = 'getAggregatedData',\n GET_MATCH_MODE = 'getMatchMode',\n DOWNLOAD = 'download',\n GET_NAME = 'getName',\n GET_PROPERTIES_MAP = 'getPropertiesMap',\n GET_PRIMARY_KEY = 'getPrimaryKey',\n GET_BLOB_URL = 'getBlobURL',\n SUPPORTS_SERVER_FILTER = 'supportsServerFilter',\n GET_OPTIONS = 'getOptions',\n SEARCH_RECORDS = 'searchRecords',\n GET_REQUEST_PARAMS = 'getRequestParams',\n GET_PAGING_OPTIONS = 'getPagingOptions',\n FETCH_DISTINCT_VALUES = 'fetchDistinctValues',\n GET_UNIQUE_IDENTIFIER = 'getUniqueIdentifier',\n GET_CONTEXT_IDENTIFIER = 'getContextIdentifier',\n IS_UPDATE_REQUIRED = 'isUpdateRequired',\n ADD_ITEM = 'addItem',\n SET_ITEM = 'setItem',\n REMOVE_ITEM = 'removeItem',\n IS_BOUND_TO_LOCALE = 'isBoundToLocale',\n GET_DEFAULT_LOCALE = 'getDefaultLocale',\n CANCEL = 'cancel',\n SET_PAGINATION = 'setPagination'\n}\n\nexport const DataSource = {\n Operation\n};"]}
@@ -0,0 +1,27 @@
1
+ export default class DatasetUtil {
2
+ static isValidDataset(dataSet: any, isList?: boolean): any;
3
+ static getValue(dataSet: any, key: any, index: any, isList?: boolean): any;
4
+ static setValue(dataSet: any, key: any, value: any, isList?: boolean): any;
5
+ static getItem(dataSet: any, index: any, isList?: boolean): any;
6
+ /**
7
+ * This method is used to find target node
8
+ * @param dataSet: provided dataSet
9
+ * @param options: provided options
10
+ * @returns {any} targetnode
11
+ */
12
+ private static getTargetNode;
13
+ static setItem(dataSet: any, i: any, value: any, options?: any): any;
14
+ static addItem(dataSet: any, value: any, index: any, options?: any): any;
15
+ /**
16
+ *
17
+ * @param dataSet
18
+ * @param i, can be index value of the object/element in array
19
+ * or
20
+ * the whole object which needs to be removed
21
+ * @param exactMatch
22
+ * @returns {any}
23
+ */
24
+ static removeItem(dataSet: any, i: any, options: any): any;
25
+ static getValidDataset(isList?: boolean): {};
26
+ static getCount(dataSet: any, isList?: boolean): any;
27
+ }
@@ -0,0 +1,147 @@
1
+ import { isArray, get, isUndefined, isObject, findIndex, set, isBoolean, isEqual } from 'lodash-es';
2
+ var DatasetUtil = /** @class */ (function () {
3
+ function DatasetUtil() {
4
+ }
5
+ DatasetUtil.isValidDataset = function (dataSet, isList) {
6
+ if (!dataSet) {
7
+ return false;
8
+ }
9
+ // check array type dataset for list type variable
10
+ if (isList && !isArray(dataSet)) {
11
+ return false;
12
+ }
13
+ // change the dataSet
14
+ return dataSet;
15
+ };
16
+ DatasetUtil.getValue = function (dataSet, key, index, isList) {
17
+ index = index || 0;
18
+ // return the value against the specified key
19
+ return isList ? dataSet[index][key] : dataSet[key];
20
+ };
21
+ DatasetUtil.setValue = function (dataSet, key, value, isList) {
22
+ // check param sanity
23
+ if (key && !isList) {
24
+ dataSet[key] = value;
25
+ }
26
+ // return the new dataSet
27
+ return dataSet;
28
+ };
29
+ DatasetUtil.getItem = function (dataSet, index, isList) {
30
+ // return the object against the specified index
31
+ return isList ? dataSet[index] : dataSet;
32
+ };
33
+ /**
34
+ * This method is used to find target node
35
+ * @param dataSet: provided dataSet
36
+ * @param options: provided options
37
+ * @returns {any} targetnode
38
+ */
39
+ DatasetUtil.getTargetNode = function (dataSet, options) {
40
+ dataSet = options.parentIndex !== undefined ? dataSet[options.parentIndex] : dataSet;
41
+ return get(dataSet, options.path);
42
+ };
43
+ DatasetUtil.setItem = function (dataSet, i, value, options) {
44
+ var index;
45
+ // check param sanity
46
+ if (isUndefined(i) || !options.isList) {
47
+ return dataSet;
48
+ }
49
+ if (isObject(i)) {
50
+ index = findIndex(dataSet, i);
51
+ }
52
+ else {
53
+ index = i;
54
+ }
55
+ if (options.path) {
56
+ var innerArray = DatasetUtil.getTargetNode(dataSet, options);
57
+ // Fix for [WMS-31138]: If the "i" value is not an object, use it directly as the index
58
+ var innerElemindex = isObject(i) ? findIndex(innerArray, i) : i;
59
+ if (innerElemindex > -1) {
60
+ innerArray[innerElemindex] = value;
61
+ }
62
+ }
63
+ else {
64
+ if (index > -1) {
65
+ // set the value against the specified index
66
+ dataSet[index] = value;
67
+ }
68
+ }
69
+ // return the new dataSet
70
+ return dataSet;
71
+ };
72
+ DatasetUtil.addItem = function (dataSet, value, index, options) {
73
+ // check param sanity
74
+ if (isUndefined(value) || !options.isList) {
75
+ return dataSet;
76
+ }
77
+ // set the value against the specified index
78
+ if (options.path) {
79
+ var innerArray = DatasetUtil.getTargetNode(dataSet, options);
80
+ if (innerArray) {
81
+ // check for index sanity
82
+ index = index !== undefined ? index : innerArray.length;
83
+ innerArray.splice(index, 0, value);
84
+ }
85
+ else {
86
+ options.parentIndex !== undefined ? set(dataSet[options.parentIndex], options.path, [value]) : set(dataSet, options.path, [value]);
87
+ }
88
+ }
89
+ else {
90
+ // check for index sanity
91
+ index = index !== undefined ? index : dataSet.length;
92
+ dataSet.splice(index, 0, value);
93
+ }
94
+ // return the new dataSet
95
+ return dataSet;
96
+ };
97
+ /**
98
+ *
99
+ * @param dataSet
100
+ * @param i, can be index value of the object/element in array
101
+ * or
102
+ * the whole object which needs to be removed
103
+ * @param exactMatch
104
+ * @returns {any}
105
+ */
106
+ DatasetUtil.removeItem = function (dataSet, i, options) {
107
+ var index, exactMatch;
108
+ // check for index sanity
109
+ i = i !== undefined ? i : dataSet.length - 1;
110
+ if (isBoolean(options)) {
111
+ exactMatch = options;
112
+ }
113
+ if (isObject(options)) {
114
+ exactMatch = options.exactMatch;
115
+ }
116
+ if (isObject(i)) {
117
+ if (options.path) {
118
+ var innerArray = DatasetUtil.getTargetNode(dataSet, options);
119
+ var innerElemindex = findIndex(innerArray, i);
120
+ if (innerElemindex > -1 && (!exactMatch || (exactMatch && isEqual(innerArray[innerElemindex], i)))) {
121
+ innerArray.splice(innerElemindex, 1);
122
+ }
123
+ }
124
+ else {
125
+ index = findIndex(dataSet, i);
126
+ // When exactMatch property is set to true delete only when every property values are same*/
127
+ if (index > -1 && (!exactMatch || (exactMatch && isEqual(dataSet[index], i)))) {
128
+ dataSet.splice(index, 1);
129
+ }
130
+ }
131
+ }
132
+ else {
133
+ dataSet.splice(i, 1);
134
+ }
135
+ // return the new dataSet
136
+ return dataSet;
137
+ };
138
+ DatasetUtil.getValidDataset = function (isList) {
139
+ return isList ? [] : {};
140
+ };
141
+ DatasetUtil.getCount = function (dataSet, isList) {
142
+ return isList ? dataSet.length : Object.keys(dataSet).length;
143
+ };
144
+ return DatasetUtil;
145
+ }());
146
+ export default DatasetUtil;
147
+ //# sourceMappingURL=dataset-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-util.js","sourceRoot":"./","sources":["src/util/dataset-util.ts"],"names":[],"mappings":"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","sourcesContent":["import {isArray, get, isUndefined, isObject, findIndex, set, isBoolean, isEqual} from 'lodash-es';\n\nexport default class DatasetUtil {\n\n static isValidDataset(dataSet: any, isList?: boolean) {\n if (!dataSet) {\n return false;\n }\n\n // check array type dataset for list type variable\n if (isList && !isArray(dataSet)) {\n return false;\n }\n\n // change the dataSet\n return dataSet;\n }\n\n static getValue(dataSet: any, key: any, index: any, isList?: boolean) {\n index = index || 0;\n\n // return the value against the specified key\n return isList ? dataSet[index][key] : dataSet[key];\n }\n\n static setValue(dataSet: any, key: any, value: any, isList?: boolean) {\n // check param sanity\n if (key && !isList) {\n dataSet[key] = value;\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n static getItem(dataSet: any, index: any, isList?: boolean) {\n // return the object against the specified index\n return isList ? dataSet[index] : dataSet;\n }\n\n /**\n * This method is used to find target node\n * @param dataSet: provided dataSet\n * @param options: provided options\n * @returns {any} targetnode\n */\n private static getTargetNode(dataSet: any, options: any) {\n dataSet = options.parentIndex !== undefined ? dataSet[options.parentIndex] : dataSet;\n return get(dataSet, options.path);\n }\n\n static setItem(dataSet: any, i: any, value: any, options?: any) {\n let index;\n\n // check param sanity\n if (isUndefined(i) || !options.isList) {\n return dataSet;\n }\n\n if (isObject(i)) {\n index = findIndex(dataSet, i);\n } else {\n index = i;\n }\n\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n // Fix for [WMS-31138]: If the \"i\" value is not an object, use it directly as the index\n const innerElemindex = isObject(i) ? findIndex(innerArray, i) : i;\n if (innerElemindex > -1) {\n innerArray[innerElemindex] = value;\n }\n } else {\n if (index > -1) {\n // set the value against the specified index\n dataSet[index] = value;\n }\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n static addItem(dataSet: any, value: any, index: any, options?: any) {\n // check param sanity\n if (isUndefined(value) || !options.isList) {\n return dataSet;\n }\n\n // set the value against the specified index\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n if (innerArray) {\n // check for index sanity\n index = index !== undefined ? index : innerArray.length;\n innerArray.splice(index, 0, value);\n } else {\n options.parentIndex !== undefined ? set(dataSet[options.parentIndex], options.path, [value]) : set(dataSet, options.path, [value]);\n }\n\n } else {\n // check for index sanity\n index = index !== undefined ? index : dataSet.length;\n dataSet.splice(index, 0, value);\n }\n\n // return the new dataSet\n return dataSet;\n }\n\n /**\n *\n * @param dataSet\n * @param i, can be index value of the object/element in array\n * or\n * the whole object which needs to be removed\n * @param exactMatch\n * @returns {any}\n */\n static removeItem(dataSet: any, i: any, options: any) {\n let index, exactMatch;\n // check for index sanity\n i = i !== undefined ? i : dataSet.length - 1;\n\n if (isBoolean(options)) {\n exactMatch = options;\n }\n if (isObject(options)) {\n exactMatch = options.exactMatch;\n }\n\n if (isObject(i)) {\n if (options.path) {\n const innerArray = DatasetUtil.getTargetNode(dataSet, options);\n const innerElemindex = findIndex(innerArray, i);\n if (innerElemindex > -1 && (!exactMatch || (exactMatch && isEqual(innerArray[innerElemindex], i)))) {\n innerArray.splice(innerElemindex, 1);\n }\n } else {\n index = findIndex(dataSet, i);\n // When exactMatch property is set to true delete only when every property values are same*/\n if (index > -1 && (!exactMatch || (exactMatch && isEqual(dataSet[index], i)))) {\n dataSet.splice(index, 1);\n }\n }\n } else {\n dataSet.splice(i, 1);\n }\n // return the new dataSet\n return dataSet;\n }\n\n static getValidDataset(isList?: boolean) {\n return isList ? [] : {};\n }\n\n static getCount(dataSet: any, isList?: boolean) {\n return isList ? dataSet.length : Object.keys(dataSet).length;\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { NotifyPromise } from './notify-promise';
2
+ /**
3
+ * This function uploads the file to the given url endpoint.
4
+ *
5
+ * @param file file to upload
6
+ * @param url http endpoint to which the file has to be submitted.
7
+ * @param options
8
+ * @returns a promise to listen for success, event, onProgress.
9
+ * One can also abort the upload by simply calling abort function.
10
+ */
11
+ export declare function upload(files: any, variable: any, fd: any, config: any, options?: any): NotifyPromise;
@@ -0,0 +1,183 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ import { triggerFn } from './utils';
17
+ import { NotifyPromise } from './notify-promise';
18
+ import { isArray, forEach, isObject, find, extend } from 'lodash-es';
19
+ var UPLOAD_STATUS;
20
+ (function (UPLOAD_STATUS) {
21
+ UPLOAD_STATUS["QUEUED"] = "queued";
22
+ UPLOAD_STATUS["IN_PROGRESS"] = "inprogress";
23
+ UPLOAD_STATUS["SUCCESS"] = "success";
24
+ UPLOAD_STATUS["ERROR"] = "error";
25
+ UPLOAD_STATUS["ABORTED"] = "abort";
26
+ })(UPLOAD_STATUS || (UPLOAD_STATUS = {}));
27
+ function transformEvent(event) {
28
+ event.target = event.target || {
29
+ status: event.responseCode,
30
+ response: event.response
31
+ };
32
+ return event;
33
+ }
34
+ var FileTransferObject = /** @class */ (function () {
35
+ function FileTransferObject(file, transferFn, promise, abortFn) {
36
+ this.name = file.name;
37
+ this.size = file.size || '';
38
+ this.status = UPLOAD_STATUS.QUEUED;
39
+ this.transferFn = transferFn;
40
+ this.promise = promise;
41
+ this.abortFn = abortFn;
42
+ }
43
+ FileTransferObject.prototype.start = function () {
44
+ if (this.status === UPLOAD_STATUS.QUEUED) {
45
+ this.status = UPLOAD_STATUS.IN_PROGRESS;
46
+ triggerFn(this.transferFn);
47
+ }
48
+ };
49
+ FileTransferObject.prototype.then = function (onSuccess, onError, onProgress) {
50
+ var self = this;
51
+ this.promise.then(function (event) {
52
+ self.status = UPLOAD_STATUS.SUCCESS;
53
+ triggerFn(onSuccess, event);
54
+ }, function (event) {
55
+ self.status = UPLOAD_STATUS.ERROR;
56
+ triggerFn(onError, event);
57
+ }, function (event) {
58
+ self.progress = Math.round(event.loaded / event.total * 100);
59
+ triggerFn(onProgress, event);
60
+ });
61
+ return this;
62
+ };
63
+ FileTransferObject.prototype.finally = function (onFinal) {
64
+ this.promise.finally(onFinal);
65
+ };
66
+ /* aborts the file upload */
67
+ FileTransferObject.prototype.abort = function () {
68
+ this.status = UPLOAD_STATUS.ABORTED;
69
+ triggerFn(this.abortFn);
70
+ this.finally();
71
+ };
72
+ return FileTransferObject;
73
+ }());
74
+ var AjaxFileTransferObject = /** @class */ (function (_super) {
75
+ __extends(AjaxFileTransferObject, _super);
76
+ function AjaxFileTransferObject(file, transferFn, promise, abortFn) {
77
+ return _super.call(this, file, transferFn, promise, abortFn) || this;
78
+ }
79
+ return AjaxFileTransferObject;
80
+ }(FileTransferObject));
81
+ /* upload file using fileTransfer */
82
+ function uploadWithFileTransfer(file, url, options) { }
83
+ function appendFileToFormData(file, fd, options) {
84
+ /* append file to form data */
85
+ if (isArray(file)) {
86
+ forEach(file, function (fileObject) {
87
+ fd.append(options.paramName, fileObject.content || fileObject, fileObject.name);
88
+ });
89
+ }
90
+ else if (isObject(file)) {
91
+ fd.append(options.paramName, file.content || file, file.name);
92
+ }
93
+ }
94
+ /* upload file with ajax calling */
95
+ function uploadWithAjax(file, variable, fd, url, options) {
96
+ var cloneFD = new FormData();
97
+ var iterate = function (value, key) {
98
+ var fileObject = (isArray(value) ? value[0] : value);
99
+ if (!(fileObject instanceof File || fileObject instanceof Blob)) {
100
+ cloneFD.append(key, value);
101
+ }
102
+ };
103
+ // The foreeach method on form data doesn't exist in IE. Hence we check if it exists
104
+ // or else use the lodash forEach
105
+ if (fd.forEach) {
106
+ fd.forEach(iterate);
107
+ }
108
+ else {
109
+ forEach(fd, iterate);
110
+ }
111
+ appendFileToFormData(file, cloneFD, options);
112
+ var promise = new NotifyPromise(function (resolve, reject, notify) {
113
+ // ToDo - variable seperation
114
+ variable.httpService.uploadFile(url, cloneFD, variable, { notify: notify }).then(function (data) {
115
+ resolve(data);
116
+ }, function (error) {
117
+ reject(error);
118
+ });
119
+ file._uploadProgress = variable.request;
120
+ });
121
+ return promise;
122
+ }
123
+ /* upload the file - IE9 support */
124
+ // function uploadWithIframe(file, url, options) {}
125
+ /* upload the next file depending on the status */
126
+ function starNextFileTransfer(fts) {
127
+ var ft = find(fts, function (f) {
128
+ return f.status === UPLOAD_STATUS.QUEUED;
129
+ });
130
+ if (ft) {
131
+ ft.start();
132
+ ft.finally(starNextFileTransfer.bind(undefined, fts));
133
+ }
134
+ }
135
+ /* upload the max no of files at once i.e. two at once based on max*/
136
+ function startFileTransfers(fts, max) {
137
+ var i = 0;
138
+ var len = fts.length;
139
+ while (i < max && i < len) {
140
+ starNextFileTransfer(fts);
141
+ i++;
142
+ }
143
+ }
144
+ function isMobileApp() {
145
+ return false;
146
+ }
147
+ /**
148
+ * This function uploads the file to the given url endpoint.
149
+ *
150
+ * @param file file to upload
151
+ * @param url http endpoint to which the file has to be submitted.
152
+ * @param options
153
+ * @returns a promise to listen for success, event, onProgress.
154
+ * One can also abort the upload by simply calling abort function.
155
+ */
156
+ export function upload(files, variable, fd, config, options) {
157
+ options = extend({
158
+ 'paramName': config.fileParamName
159
+ }, options);
160
+ return uploadWithAjax(files, variable, fd, config.url, options);
161
+ // let fileTransfers = [],
162
+ // url = config.uploadUrl;
163
+ // options = extend({
164
+ // 'paramName' : config.fileParamName
165
+ // }, options);
166
+ //
167
+ // if (isMobileApp()) {
168
+ // forEach(files, function (file) {
169
+ // fileTransfers.push(uploadWithFileTransfer(file, url, options));
170
+ // });
171
+ // } else if ((window as any).FormData) {
172
+ // forEach(files, function (file) {
173
+ // fileTransfers.push(uploadWithAjax(file, url, options));
174
+ // });
175
+ // } else {
176
+ // forEach(files, function (file) {
177
+ // fileTransfers.push(uploadWithIframe(file, url, options));
178
+ // });
179
+ // }
180
+ // startFileTransfers(fileTransfers, 2);
181
+ // return fileTransfers;
182
+ }
183
+ //# sourceMappingURL=file-upload.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.util.js","sourceRoot":"./","sources":["src/util/file-upload.util.ts"],"names":[],"mappings":"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","sourcesContent":["import { triggerFn } from './utils';\n\nimport { NotifyPromise } from './notify-promise';\n\nimport {isArray, forEach, isObject, find, extend} from 'lodash-es';\n\nenum UPLOAD_STATUS {\n QUEUED = 'queued',\n IN_PROGRESS = 'inprogress',\n SUCCESS = 'success',\n ERROR = 'error',\n ABORTED = 'abort'\n}\n\nfunction transformEvent(event: any) {\n event.target = event.target || {\n status: event.responseCode,\n response: event.response\n };\n return event;\n}\n\nclass FileTransferObject {\n name: string;\n size: string;\n status: string;\n transferFn: Function;\n abortFn: Function;\n promise: any;\n progress: number;\n\n constructor(file: any, transferFn: any, promise: any, abortFn: any) {\n this.name = file.name;\n this.size = file.size || '';\n this.status = UPLOAD_STATUS.QUEUED;\n this.transferFn = transferFn;\n this.promise = promise;\n this.abortFn = abortFn;\n }\n\n start() {\n if (this.status === UPLOAD_STATUS.QUEUED) {\n this.status = UPLOAD_STATUS.IN_PROGRESS;\n triggerFn(this.transferFn);\n }\n }\n\n then(onSuccess: any, onError: any, onProgress: any) {\n const self = this;\n this.promise.then(function (event: any) {\n self.status = UPLOAD_STATUS.SUCCESS;\n triggerFn(onSuccess, event);\n }, function (event: any) {\n self.status = UPLOAD_STATUS.ERROR;\n triggerFn(onError, event);\n }, function (event: any) {\n self.progress = Math.round(event.loaded / event.total * 100);\n triggerFn(onProgress, event);\n });\n return this;\n }\n\n finally(onFinal?: any) {\n this.promise.finally(onFinal);\n }\n\n /* aborts the file upload */\n abort() {\n this.status = UPLOAD_STATUS.ABORTED;\n triggerFn(this.abortFn);\n this.finally();\n }\n\n}\n\nclass AjaxFileTransferObject extends FileTransferObject {\n constructor(file: any, transferFn: any, promise: any, abortFn: any) {\n super(file, transferFn, promise, abortFn);\n }\n}\n\n/* upload file using fileTransfer */\nfunction uploadWithFileTransfer(file: any, url: any, options: any) {}\n\nfunction appendFileToFormData(file: any, fd: any, options: any) {\n /* append file to form data */\n if (isArray(file)) {\n forEach(file, function (fileObject: any) {\n fd.append(options.paramName, fileObject.content || fileObject, fileObject.name);\n });\n } else if (isObject(file)) {\n fd.append(options.paramName, file.content || file, file.name);\n }\n}\n\n/* upload file with ajax calling */\nfunction uploadWithAjax(file: any, variable: any, fd: any, url: any, options: any) {\n const cloneFD = new FormData();\n const iterate = (value: any, key: any) => {\n const fileObject = (isArray(value) ? value[0] : value);\n if (!(fileObject instanceof File || fileObject instanceof Blob)) {\n cloneFD.append(key, value);\n }\n };\n // The foreeach method on form data doesn't exist in IE. Hence we check if it exists\n // or else use the lodash forEach\n if (fd.forEach) {\n fd.forEach(iterate);\n } else {\n forEach(fd, iterate);\n }\n appendFileToFormData(file, cloneFD, options);\n\n const promise = new NotifyPromise((resolve: any, reject: any, notify: any) => {\n // ToDo - variable seperation\n variable.httpService.uploadFile(url, cloneFD, variable, {notify: notify}).then((data: any) => {\n resolve(data);\n }, (error: any) => {\n reject(error);\n });\n file._uploadProgress = variable.request;\n });\n\n return promise;\n}\n\n/* upload the file - IE9 support */\n// function uploadWithIframe(file, url, options) {}\n\n/* upload the next file depending on the status */\nfunction starNextFileTransfer(fts: any) {\n const ft = find(fts, function (f: any) {\n return f.status === UPLOAD_STATUS.QUEUED;\n });\n if (ft) {\n ft.start();\n ft.finally(starNextFileTransfer.bind(undefined, fts));\n }\n}\n\n/* upload the max no of files at once i.e. two at once based on max*/\nfunction startFileTransfers(fts: any, max: any) {\n let i = 0;\n const len = fts.length;\n while (i < max && i < len) {\n starNextFileTransfer(fts);\n i++;\n }\n}\n\nfunction isMobileApp() {\n return false;\n}\n\n/**\n * This function uploads the file to the given url endpoint.\n *\n * @param file file to upload\n * @param url http endpoint to which the file has to be submitted.\n * @param options\n * @returns a promise to listen for success, event, onProgress.\n * One can also abort the upload by simply calling abort function.\n */\nexport function upload(files: any, variable: any, fd: any, config: any, options?: any) {\n options = extend({\n 'paramName' : config.fileParamName\n }, options);\n return uploadWithAjax(files, variable, fd, config.url, options);\n // let fileTransfers = [],\n // url = config.uploadUrl;\n // options = extend({\n // 'paramName' : config.fileParamName\n // }, options);\n //\n // if (isMobileApp()) {\n // forEach(files, function (file) {\n // fileTransfers.push(uploadWithFileTransfer(file, url, options));\n // });\n // } else if ((window as any).FormData) {\n // forEach(files, function (file) {\n // fileTransfers.push(uploadWithAjax(file, url, options));\n // });\n // } else {\n // forEach(files, function (file) {\n // fileTransfers.push(uploadWithIframe(file, url, options));\n // });\n // }\n // startFileTransfers(fileTransfers, 2);\n // return fileTransfers;\n}\n"]}
@@ -0,0 +1,35 @@
1
+ declare class InflightQueue {
2
+ requestsQueue: Map<any, any>;
3
+ /**
4
+ * pushes the process against a variable in its queue
5
+ * @param variable
6
+ * @param {{resolve: (value?: any) => void; reject: (reason?: any) => void}} param2
7
+ * the resolve callback will be called on
8
+ */
9
+ private addToQueue;
10
+ /**
11
+ * Calls the reject method against the passed process
12
+ * @param process
13
+ */
14
+ private rejectProcess;
15
+ /**
16
+ * clears the queue against a variable
17
+ * @param variable
18
+ */
19
+ clear(variable: any): void;
20
+ /**
21
+ * executes the n/w calls for a specified variable pushed in its respective queue (pushed while it was inFlight)
22
+ * @param variable
23
+ */
24
+ process(variable: any): void;
25
+ /**
26
+ * initializes the queue against a variable and makes the first process call
27
+ * If already initialized and a process in queue is in progress, the queue is not processed.
28
+ * To process the next item in the queue, the process method has to be called from the caller.
29
+ * @param variable
30
+ * @returns {Promise<any>}
31
+ */
32
+ submit(variable: any): Promise<unknown>;
33
+ }
34
+ export declare const $queue: InflightQueue;
35
+ export {};