@sankhyalabs/core 5.2.0 → 5.3.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.
@@ -0,0 +1,91 @@
1
+ [@sankhyalabs/core](../README.md) / [Exports](../modules.md) / PromiseSync
2
+
3
+ # Class: PromiseSync<T\>
4
+
5
+ O intuito desta classe é organizar a finalização de várias
6
+ promessas executando determinada ação (callback) com o resultado.
7
+
8
+ ## Type parameters
9
+
10
+ | Name |
11
+ | :------ |
12
+ | `T` |
13
+
14
+ ## Table of contents
15
+
16
+ ### Constructors
17
+
18
+ - [constructor](PromiseSync.md#constructor)
19
+
20
+ ### Properties
21
+
22
+ - [\_callBack](PromiseSync.md#_callback)
23
+ - [\_promises](PromiseSync.md#_promises)
24
+
25
+ ### Methods
26
+
27
+ - [add](PromiseSync.md#add)
28
+
29
+ ## Constructors
30
+
31
+ ### constructor
32
+
33
+ • **new PromiseSync**<`T`\>(`callBack`)
34
+
35
+ #### Type parameters
36
+
37
+ | Name |
38
+ | :------ |
39
+ | `T` |
40
+
41
+ #### Parameters
42
+
43
+ | Name | Type |
44
+ | :------ | :------ |
45
+ | `callBack` | [`PromiseSyncCallback`](../interfaces/PromiseSyncCallback.md)<`T`\> |
46
+
47
+ #### Defined in
48
+
49
+ src/async/PromiseSync.ts:13
50
+
51
+ ## Properties
52
+
53
+ ### \_callBack
54
+
55
+ • **\_callBack**: [`PromiseSyncCallback`](../interfaces/PromiseSyncCallback.md)<`T`\>
56
+
57
+ #### Defined in
58
+
59
+ src/async/PromiseSync.ts:8
60
+
61
+ ___
62
+
63
+ ### \_promises
64
+
65
+ • **\_promises**: `Promise`<`T`\>[]
66
+
67
+ #### Defined in
68
+
69
+ src/async/PromiseSync.ts:7
70
+
71
+ ## Methods
72
+
73
+ ### add
74
+
75
+ ▸ **add**(`promise`): `void`
76
+
77
+ Adiciona na lista de promises pendentes. Isso faz com que criemos uma nova espera.
78
+
79
+ #### Parameters
80
+
81
+ | Name | Type | Description |
82
+ | :------ | :------ | :------ |
83
+ | `promise` | `Promise`<`T`\> | Entrará na lista aguardada. |
84
+
85
+ #### Returns
86
+
87
+ `void`
88
+
89
+ #### Defined in
90
+
91
+ src/async/PromiseSync.ts:23
@@ -0,0 +1,39 @@
1
+ [@sankhyalabs/core](../README.md) / [Exports](../modules.md) / PromiseSyncCallback
2
+
3
+ # Interface: PromiseSyncCallback<T\>
4
+
5
+ Representa o callback de um sincronizador `PromiseSync<T>`.
6
+
7
+ ## Type parameters
8
+
9
+ | Name |
10
+ | :------ |
11
+ | `T` |
12
+
13
+ ## Table of contents
14
+
15
+ ### Methods
16
+
17
+ - [resolve](PromiseSyncCallback.md#resolve)
18
+
19
+ ## Methods
20
+
21
+ ### resolve
22
+
23
+ ▸ **resolve**(`result`): `void`
24
+
25
+ Será chamado sempre que todas as promessas adicionadas finalizarem.
26
+
27
+ #### Parameters
28
+
29
+ | Name | Type | Description |
30
+ | :------ | :------ | :------ |
31
+ | `result` | `PromiseSettledResult`<`Awaited`<`T`\>\>[] | A lista com o resultado de todas as promises aguardadas. |
32
+
33
+ #### Returns
34
+
35
+ `void`
36
+
37
+ #### Defined in
38
+
39
+ src/async/PromiseSync.ts:48
package/.docs/modules.md CHANGED
@@ -38,6 +38,7 @@
38
38
  - [NumberUtils](classes/NumberUtils.md)
39
39
  - [ObjectUtils](classes/ObjectUtils.md)
40
40
  - [OnboardingUtils](classes/OnboardingUtils.md)
41
+ - [PromiseSync](classes/PromiseSync.md)
41
42
  - [ReadyUtil](classes/ReadyUtil.md)
42
43
  - [RequestMetadata](classes/RequestMetadata.md)
43
44
  - [SelectionInfo](classes/SelectionInfo.md)
@@ -62,6 +63,7 @@
62
63
  - [LoadDataResponse](interfaces/LoadDataResponse.md)
63
64
  - [PageRequest](interfaces/PageRequest.md)
64
65
  - [PaginationInfo](interfaces/PaginationInfo.md)
66
+ - [PromiseSyncCallback](interfaces/PromiseSyncCallback.md)
65
67
  - [QuickFilter](interfaces/QuickFilter.md)
66
68
  - [Record](interfaces/Record.md)
67
69
  - [SavedRecord](interfaces/SavedRecord.md)
@@ -0,0 +1,29 @@
1
+ /**
2
+ * O intuito desta classe é organizar a finalização de várias
3
+ * promessas executando determinada ação (callback) com o resultado.
4
+ */
5
+ export default class PromiseSync<T> {
6
+ _promises: Array<Promise<T>>;
7
+ _callBack: PromiseSyncCallback<T>;
8
+ /**
9
+ * @param {PromiseSyncCallback<T>} callback - Será chamado sempre que todas as promises se resolverem.
10
+ */
11
+ constructor(callBack: PromiseSyncCallback<T>);
12
+ /**
13
+ * Adiciona na lista de promises pendentes. Isso faz com que criemos uma nova espera.
14
+ *
15
+ * @param {Promise<T>} promise - Entrará na lista aguardada.
16
+ */
17
+ add(promise: Promise<T>): void;
18
+ }
19
+ /**
20
+ * Representa o callback de um sincronizador `PromiseSync<T>`.
21
+ */
22
+ export interface PromiseSyncCallback<T> {
23
+ /**
24
+ * Será chamado sempre que todas as promessas adicionadas finalizarem.
25
+ *
26
+ * @param result - A lista com o resultado de todas as promises aguardadas.
27
+ */
28
+ resolve(result: PromiseSettledResult<Awaited<T>>[]): void;
29
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * O intuito desta classe é organizar a finalização de várias
3
+ * promessas executando determinada ação (callback) com o resultado.
4
+ */
5
+ export default class PromiseSync {
6
+ /**
7
+ * @param {PromiseSyncCallback<T>} callback - Será chamado sempre que todas as promises se resolverem.
8
+ */
9
+ constructor(callBack) {
10
+ this._promises = [];
11
+ this._callBack = callBack;
12
+ }
13
+ /**
14
+ * Adiciona na lista de promises pendentes. Isso faz com que criemos uma nova espera.
15
+ *
16
+ * @param {Promise<T>} promise - Entrará na lista aguardada.
17
+ */
18
+ add(promise) {
19
+ this._promises.push(promise);
20
+ Promise.allSettled(this._promises)
21
+ .then(result => {
22
+ if (result.length === this._promises.length) {
23
+ this._promises = [];
24
+ if (this._callBack) {
25
+ this._callBack.resolve(result);
26
+ }
27
+ }
28
+ });
29
+ }
30
+ }
31
+ //# sourceMappingURL=PromiseSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromiseSync.js","sourceRoot":"","sources":["../../src/async/PromiseSync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAK5B;;OAEG;IACH,YAAY,QAAgC;QACxC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,OAAmB;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;aAC7B,IAAI,CAAC,MAAM,CAAC,EAAE;YACX,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACzC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBAEpB,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBAClC;aACJ;QACL,CAAC,CACJ,CAAC;IACN,CAAC;CACJ"}
package/dist/index.d.ts CHANGED
@@ -29,4 +29,5 @@ import { JSUtils } from "./utils/JSUtils.js";
29
29
  import { DataUnitStorage } from "./dataunit/DataUnitStorage.js";
30
30
  import VersionUtils from './utils/VersionUtils.js';
31
31
  import { OnboardingUtils } from "./utils/OnboardingUtils.js";
32
- export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataUnitStorage, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DependencyType, ChildDescriptor, ChildLink, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor, ApplicationContext, WaitingChange, PageRequest, QuickFilter, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, ExecutionContext, PaginationInfo, SortingProvider, SortMode, LoadDataRequest, LoadDataResponse, SelectionInfo, SelectionMode, ElementIDUtils, IElementIDInfo, UserAgentUtils, JSUtils, VersionUtils, OnboardingUtils };
32
+ import { default as PromiseSync, PromiseSyncCallback } from "./async/PromiseSync.js";
33
+ export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataUnitStorage, Record, SavedRecord, DataType, UnitMetadata, FieldDescriptor, UserInterface, DependencyType, ChildDescriptor, ChildLink, DataUnitAction, Action, Change, Sort, Filter, ChangeOperation, DUActionInterceptor, ApplicationContext, WaitingChange, PageRequest, QuickFilter, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, ExecutionContext, PaginationInfo, SortingProvider, SortMode, LoadDataRequest, LoadDataResponse, SelectionInfo, SelectionMode, ElementIDUtils, IElementIDInfo, UserAgentUtils, JSUtils, VersionUtils, OnboardingUtils, PromiseSync, PromiseSyncCallback };
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ import { JSUtils } from "./utils/JSUtils.js";
26
26
  import { DataUnitStorage } from "./dataunit/DataUnitStorage.js";
27
27
  import VersionUtils from './utils/VersionUtils.js';
28
28
  import { OnboardingUtils } from "./utils/OnboardingUtils.js";
29
+ import { default as PromiseSync } from "./async/PromiseSync.js";
29
30
  /*Classes públicas no pacote*/
30
- export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataUnitStorage, DataType, UserInterface, DependencyType, DataUnitAction, Action, Change, ChangeOperation, ApplicationContext, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, SortMode, SelectionInfo, SelectionMode, ElementIDUtils, UserAgentUtils, JSUtils, VersionUtils, OnboardingUtils };
31
+ export { StringUtils, MaskFormatter, NumberUtils, FloatingManager, DateUtils, ArrayUtils, TimeFormatter, SkwHttpProvider, HttpProvider, RequestMetadata, AuthorizedServiceCaller, DataUnit, DataUnitStorage, DataType, UserInterface, DependencyType, DataUnitAction, Action, Change, ChangeOperation, ApplicationContext, ReadyUtil, ObjectUtils, WarningException, WaitingChangeException, ErrorException, ErrorTracking, SortMode, SelectionInfo, SelectionMode, ElementIDUtils, UserAgentUtils, JSUtils, VersionUtils, OnboardingUtils, PromiseSync };
31
32
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAAgE,aAAa,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1L,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAiC,aAAa,EAAQ,QAAQ,EAA2B,cAAc,EAA8B,MAAM,qCAAqC,CAAC;AACxL,OAAO,EAAE,cAAc,EAAE,MAAM,EAAoB,MAAM,2CAA2C,CAAC;AACrG,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAE5D,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EACR,eAAe,EAGf,QAAQ,EAGR,aAAa,EACb,cAAc,EAGd,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAEf,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EAIb,QAAQ,EAGR,aAAa,EACb,aAAa,EACb,cAAc,EAEd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,eAAe,EAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,eAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,QAAQ,EAAE,EAAsB,MAAM,EAAE,eAAe,EAAgE,aAAa,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1L,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAiC,aAAa,EAAQ,QAAQ,EAA2B,cAAc,EAA8B,MAAM,qCAAqC,CAAC;AACxL,OAAO,EAAE,cAAc,EAAE,MAAM,EAAoB,MAAM,2CAA2C,CAAC;AACrG,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,sBAAsB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AAEnF,8BAA8B;AAC9B,OAAO,EACH,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,QAAQ,EACR,eAAe,EAGf,QAAQ,EAGR,aAAa,EACb,cAAc,EAGd,cAAc,EACd,MAAM,EACN,MAAM,EAGN,eAAe,EAEf,kBAAkB,EAIlB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EAIb,QAAQ,EAGR,aAAa,EACb,aAAa,EACb,cAAc,EAEd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,eAAe,EACf,WAAW,EAEd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/core",
3
- "version": "5.2.0",
3
+ "version": "5.3.0",
4
4
  "description": "Modulo core JavaScript da Sankhya.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -0,0 +1,49 @@
1
+ /**
2
+ * O intuito desta classe é organizar a finalização de várias
3
+ * promessas executando determinada ação (callback) com o resultado.
4
+ */
5
+ export default class PromiseSync<T>{
6
+
7
+ _promises: Array<Promise<T>>;
8
+ _callBack: PromiseSyncCallback<T>;
9
+
10
+ /**
11
+ * @param {PromiseSyncCallback<T>} callback - Será chamado sempre que todas as promises se resolverem.
12
+ */
13
+ constructor(callBack: PromiseSyncCallback<T>) {
14
+ this._promises = [];
15
+ this._callBack = callBack;
16
+ }
17
+
18
+ /**
19
+ * Adiciona na lista de promises pendentes. Isso faz com que criemos uma nova espera.
20
+ *
21
+ * @param {Promise<T>} promise - Entrará na lista aguardada.
22
+ */
23
+ public add(promise: Promise<T>): void {
24
+ this._promises.push(promise);
25
+ Promise.allSettled(this._promises)
26
+ .then(result => {
27
+ if (result.length === this._promises.length) {
28
+ this._promises = [];
29
+
30
+ if (this._callBack) {
31
+ this._callBack.resolve(result);
32
+ }
33
+ }
34
+ }
35
+ );
36
+ }
37
+ }
38
+
39
+ /**
40
+ * Representa o callback de um sincronizador `PromiseSync<T>`.
41
+ */
42
+ export interface PromiseSyncCallback<T> {
43
+ /**
44
+ * Será chamado sempre que todas as promessas adicionadas finalizarem.
45
+ *
46
+ * @param result - A lista com o resultado de todas as promises aguardadas.
47
+ */
48
+ resolve(result: PromiseSettledResult<Awaited<T>> []): void;
49
+ }
package/src/index.ts CHANGED
@@ -29,6 +29,7 @@ import { JSUtils } from "./utils/JSUtils.js";
29
29
  import { DataUnitStorage } from "./dataunit/DataUnitStorage.js";
30
30
  import VersionUtils from './utils/VersionUtils.js'
31
31
  import { OnboardingUtils} from "./utils/OnboardingUtils.js";
32
+ import {default as PromiseSync, PromiseSyncCallback} from "./async/PromiseSync.js";
32
33
 
33
34
  /*Classes públicas no pacote*/
34
35
  export {
@@ -84,5 +85,7 @@ export {
84
85
  UserAgentUtils,
85
86
  JSUtils,
86
87
  VersionUtils,
87
- OnboardingUtils
88
+ OnboardingUtils,
89
+ PromiseSync,
90
+ PromiseSyncCallback
88
91
  };