@adminide-stack/core 6.0.3-alpha.8 → 7.0.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.
Files changed (95) hide show
  1. package/lib/constants/billing-plan.js +1 -1
  2. package/lib/constants/billing-plan.js.map +1 -0
  3. package/lib/constants/configuration.js +1 -1
  4. package/lib/constants/configuration.js.map +1 -0
  5. package/lib/constants/constants.js +1 -1
  6. package/lib/constants/constants.js.map +1 -0
  7. package/lib/constants/default-workspace-config.js +1 -1
  8. package/lib/constants/default-workspace-config.js.map +1 -0
  9. package/lib/constants/routes.js +1 -1
  10. package/lib/constants/routes.js.map +1 -0
  11. package/lib/constants/types.js +14 -14
  12. package/lib/constants/types.js.map +1 -0
  13. package/lib/constants/urls.js +1 -1
  14. package/lib/constants/urls.js.map +1 -0
  15. package/lib/core/configurations/configuration.js +546 -434
  16. package/lib/core/configurations/configuration.js.map +1 -0
  17. package/lib/core/configurations/events/ConfigurationChangeEvent.js +52 -41
  18. package/lib/core/configurations/events/ConfigurationChangeEvent.js.map +1 -0
  19. package/lib/core/configurations/helpers/configuration.js +138 -149
  20. package/lib/core/configurations/helpers/configuration.js.map +1 -0
  21. package/lib/core/configurations/models/ConfigurationModel.js +186 -187
  22. package/lib/core/configurations/models/ConfigurationModel.js.map +1 -0
  23. package/lib/core/disposable.js +67 -68
  24. package/lib/core/disposable.js.map +1 -0
  25. package/lib/core/event.js +240 -230
  26. package/lib/core/event.js.map +1 -0
  27. package/lib/core/organization/configuration.js +15 -14
  28. package/lib/core/organization/configuration.js.map +1 -0
  29. package/lib/core/organization/helpers/organization-helpers.js +7 -14
  30. package/lib/core/organization/helpers/organization-helpers.js.map +1 -0
  31. package/lib/core/organization/organization.js +132 -105
  32. package/lib/core/organization/organization.js.map +1 -0
  33. package/lib/core/path.js +155 -151
  34. package/lib/core/path.js.map +1 -0
  35. package/lib/enums/connection-status.js +5 -5
  36. package/lib/enums/connection-status.js.map +1 -0
  37. package/lib/enums/integration-configuration-status.js +4 -4
  38. package/lib/enums/integration-configuration-status.js.map +1 -0
  39. package/lib/enums/integrations-configuration-steps.js +7 -7
  40. package/lib/enums/integrations-configuration-steps.js.map +1 -0
  41. package/lib/enums/integrations-connection-names.js +11 -11
  42. package/lib/enums/integrations-connection-names.js.map +1 -0
  43. package/lib/enums/integrations.js +9 -9
  44. package/lib/enums/integrations.js.map +1 -0
  45. package/lib/enums/permissions.js +6 -6
  46. package/lib/enums/permissions.js.map +1 -0
  47. package/lib/enums/team-member-status.js +3 -3
  48. package/lib/enums/team-member-status.js.map +1 -0
  49. package/lib/errors/auth-error-messages.js +23 -23
  50. package/lib/errors/auth-error-messages.js.map +1 -0
  51. package/lib/errors/auth-error.js +10 -6
  52. package/lib/errors/auth-error.js.map +1 -0
  53. package/lib/index.js +1 -1
  54. package/lib/index.js.map +1 -0
  55. package/lib/interfaces/configuration/configuration.js +31 -31
  56. package/lib/interfaces/configuration/configuration.js.map +1 -0
  57. package/lib/interfaces/generated/generated-models.d.ts +269 -13
  58. package/lib/interfaces/generated/generated-models.js +15745 -919
  59. package/lib/interfaces/generated/generated-models.js.map +1 -0
  60. package/lib/interfaces/organization/organization-context.js +12 -17
  61. package/lib/interfaces/organization/organization-context.js.map +1 -0
  62. package/lib/modules/account-api/enums/index.js +65 -65
  63. package/lib/modules/account-api/enums/index.js.map +1 -0
  64. package/lib/modules/billing-api/enums/index.js +19 -19
  65. package/lib/modules/billing-api/enums/index.js.map +1 -0
  66. package/lib/modules/inbox/enums/index.js +24 -24
  67. package/lib/modules/inbox/enums/index.js.map +1 -0
  68. package/lib/routes.json +1 -0
  69. package/lib/services/abstract-configuration.js +113 -110
  70. package/lib/services/abstract-configuration.js.map +1 -0
  71. package/lib/services/abstract-organization-context-service.js +97 -89
  72. package/lib/services/abstract-organization-context-service.js.map +1 -0
  73. package/lib/utils/configuration-utils.js +9 -9
  74. package/lib/utils/configuration-utils.js.map +1 -0
  75. package/lib/utils/date-utils.js +3 -3
  76. package/lib/utils/date-utils.js.map +1 -0
  77. package/lib/utils/flatten-utils.d.ts +6 -6
  78. package/lib/utils/flatten-utils.js +47 -15
  79. package/lib/utils/flatten-utils.js.map +1 -0
  80. package/lib/utils/generate-uri.js +25 -15
  81. package/lib/utils/generate-uri.js.map +1 -0
  82. package/lib/utils/generated-settings-id.js +5 -5
  83. package/lib/utils/generated-settings-id.js.map +1 -0
  84. package/lib/utils/index.d.ts +1 -0
  85. package/lib/utils/omit-deep.js +8 -8
  86. package/lib/utils/omit-deep.js.map +1 -0
  87. package/lib/utils/roles-utils.js +6 -2
  88. package/lib/utils/roles-utils.js.map +1 -0
  89. package/lib/utils/uri.js +10 -12
  90. package/lib/utils/uri.js.map +1 -0
  91. package/lib/utils/utils.js +20 -15
  92. package/lib/utils/utils.js.map +1 -0
  93. package/lib/utils/validations.js +3 -3
  94. package/lib/utils/validations.js.map +1 -0
  95. package/package.json +5 -5
@@ -1,194 +1,193 @@
1
1
  import*as objects from'@vscode-alt/monaco-editor/esm/vs/base/common/objects.js';import*as arrays from'@vscode-alt/monaco-editor/esm/vs/base/common/arrays.js';import*as types from'@vscode-alt/monaco-editor/esm/vs/base/common/types.js';import {getConfigurationValue,addToValueTree,removeFromValueTree}from'../helpers/configuration.js';// https://github.com/microsoft/vscode/blob/1562a35c863c312eec35c161b9ceac9921afa50e/src/vs/platform/configuration/common/configurationModels.ts
2
2
  class ConfigurationModel {
3
- constructor(_contents = {}, _keys = [], _overrides = []) {
4
- this._contents = _contents;
5
- this._keys = _keys;
6
- this._overrides = _overrides;
7
- this.frozen = false;
8
- this.overrideConfigurations = new Map();
9
- }
10
- get contents() {
11
- return this.checkAndFreeze(this._contents);
12
- }
13
- get overrides() {
14
- return this.checkAndFreeze(this._overrides);
15
- }
16
- get keys() {
17
- return this.checkAndFreeze(this._keys);
18
- }
19
- isEmpty() {
20
- return this._keys.length === 0 && Object.keys(this._contents).length === 0 && this._overrides.length === 0;
21
- }
22
- isFrozen() {
23
- return this.frozen;
24
- }
25
- getValue(section) {
26
- return section ? getConfigurationValue(this.contents, section) : this.contents;
27
- }
28
- getOverrideValue(section, overrideIdentifier) {
29
- const overrideContents = this.getContentsForOverrideIdentifer(overrideIdentifier);
30
- return overrideContents
31
- ? section ? getConfigurationValue(overrideContents, section) : overrideContents
32
- : undefined;
33
- }
34
- getKeysForOverrideIdentifier(identifier) {
35
- const keys = [];
36
- for (const override of this.overrides) {
37
- if (override.identifiers.includes(identifier)) {
38
- keys.push(...override.keys);
39
- }
40
- }
41
- return arrays.distinct(keys);
42
- }
43
- getAllOverrideIdentifiers() {
44
- const result = [];
45
- for (const override of this.overrides) {
46
- result.push(...override.identifiers);
47
- }
48
- return arrays.distinct(result);
49
- }
50
- override(identifier) {
51
- let overrideConfigurationModel = this.overrideConfigurations.get(identifier);
52
- if (!overrideConfigurationModel) {
53
- overrideConfigurationModel = this.createOverrideConfigurationModel(identifier);
54
- this.overrideConfigurations.set(identifier, overrideConfigurationModel);
55
- }
56
- return overrideConfigurationModel;
57
- }
58
- merge(...others) {
59
- const contents = objects.deepClone(this.contents);
60
- const overrides = objects.deepClone(this.overrides);
61
- const keys = [...this.keys];
62
- for (const other of others) {
63
- if (other.isEmpty()) {
64
- continue;
65
- }
66
- this.mergeContents(contents, other.contents);
67
- for (const otherOverride of (other.overrides || [])) {
68
- const [override] = overrides.filter(o => arrays.equals(o.identifiers, otherOverride.identifiers));
69
- if (override) {
70
- this.mergeContents(override.contents, otherOverride.contents);
71
- override.keys.push(...otherOverride.keys);
72
- override.keys = arrays.distinct(override.keys);
73
- }
74
- else {
75
- overrides.push(objects.deepClone(otherOverride));
76
- }
77
- }
78
- for (const key of other.keys) {
79
- if (keys.indexOf(key) === -1) {
80
- keys.push(key);
81
- }
82
- }
83
- }
84
- return new ConfigurationModel(contents, keys, overrides);
85
- }
86
- freeze() {
87
- this.frozen = true;
88
- return this;
89
- }
90
- clone() {
91
- return new ConfigurationModel(objects.deepClone(this.contents), [...this.keys], objects.deepClone(this.overrides));
92
- }
93
- createOverrideConfigurationModel(identifier) {
94
- const overrideContents = this.getContentsForOverrideIdentifer(identifier);
95
- if (!overrideContents || typeof overrideContents !== 'object' || !Object.keys(overrideContents).length) {
96
- // If there are no valid overrides, return self
97
- return this;
3
+ _contents;
4
+ _keys;
5
+ _overrides;
6
+ frozen = false;
7
+ overrideConfigurations = new Map();
8
+ constructor(_contents = {}, _keys = [], _overrides = []) {
9
+ this._contents = _contents;
10
+ this._keys = _keys;
11
+ this._overrides = _overrides;
12
+ }
13
+ get contents() {
14
+ return this.checkAndFreeze(this._contents);
15
+ }
16
+ get overrides() {
17
+ return this.checkAndFreeze(this._overrides);
18
+ }
19
+ get keys() {
20
+ return this.checkAndFreeze(this._keys);
21
+ }
22
+ isEmpty() {
23
+ return this._keys.length === 0 && Object.keys(this._contents).length === 0 && this._overrides.length === 0;
24
+ }
25
+ isFrozen() {
26
+ return this.frozen;
27
+ }
28
+ getValue(section) {
29
+ return section ? getConfigurationValue(this.contents, section) : this.contents;
30
+ }
31
+ getOverrideValue(section, overrideIdentifier) {
32
+ const overrideContents = this.getContentsForOverrideIdentifer(overrideIdentifier);
33
+ return overrideContents ? section ? getConfigurationValue(overrideContents, section) : overrideContents : undefined;
34
+ }
35
+ getKeysForOverrideIdentifier(identifier) {
36
+ const keys = [];
37
+ for (const override of this.overrides) {
38
+ if (override.identifiers.includes(identifier)) {
39
+ keys.push(...override.keys);
40
+ }
41
+ }
42
+ return arrays.distinct(keys);
43
+ }
44
+ getAllOverrideIdentifiers() {
45
+ const result = [];
46
+ for (const override of this.overrides) {
47
+ result.push(...override.identifiers);
48
+ }
49
+ return arrays.distinct(result);
50
+ }
51
+ override(identifier) {
52
+ let overrideConfigurationModel = this.overrideConfigurations.get(identifier);
53
+ if (!overrideConfigurationModel) {
54
+ overrideConfigurationModel = this.createOverrideConfigurationModel(identifier);
55
+ this.overrideConfigurations.set(identifier, overrideConfigurationModel);
56
+ }
57
+ return overrideConfigurationModel;
58
+ }
59
+ merge(...others) {
60
+ const contents = objects.deepClone(this.contents);
61
+ const overrides = objects.deepClone(this.overrides);
62
+ const keys = [...this.keys];
63
+ for (const other of others) {
64
+ if (other.isEmpty()) {
65
+ continue;
66
+ }
67
+ this.mergeContents(contents, other.contents);
68
+ for (const otherOverride of other.overrides || []) {
69
+ const [override] = overrides.filter(o => arrays.equals(o.identifiers, otherOverride.identifiers));
70
+ if (override) {
71
+ this.mergeContents(override.contents, otherOverride.contents);
72
+ override.keys.push(...otherOverride.keys);
73
+ override.keys = arrays.distinct(override.keys);
74
+ } else {
75
+ overrides.push(objects.deepClone(otherOverride));
98
76
  }
99
- const contents = {};
100
- for (const key of arrays.distinct([...Object.keys(this.contents), ...Object.keys(overrideContents)])) {
101
- let contentsForKey = this.contents[key];
102
- const overrideContentsForKey = overrideContents[key];
103
- // If there are override contents for the key, clone and merge otherwise use base contents
104
- if (overrideContentsForKey) {
105
- // Clone and merge only if base contents and override contents are of type object otherwise just override
106
- if (typeof contentsForKey === 'object' && typeof overrideContentsForKey === 'object') {
107
- contentsForKey = objects.deepClone(contentsForKey);
108
- this.mergeContents(contentsForKey, overrideContentsForKey);
109
- }
110
- else {
111
- contentsForKey = overrideContentsForKey;
112
- }
113
- }
114
- contents[key] = contentsForKey;
77
+ }
78
+ for (const key of other.keys) {
79
+ if (keys.indexOf(key) === -1) {
80
+ keys.push(key);
115
81
  }
116
- return new ConfigurationModel(contents, this.keys, this.overrides);
117
- }
118
- mergeContents(source, target) {
119
- for (const key of Object.keys(target)) {
120
- if (key in source) {
121
- if (types.isObject(source[key]) && types.isObject(target[key])) {
122
- this.mergeContents(source[key], target[key]);
123
- continue;
124
- }
125
- }
126
- source[key] = objects.deepClone(target[key]);
82
+ }
83
+ }
84
+ return new ConfigurationModel(contents, keys, overrides);
85
+ }
86
+ freeze() {
87
+ this.frozen = true;
88
+ return this;
89
+ }
90
+ clone() {
91
+ return new ConfigurationModel(objects.deepClone(this.contents), [...this.keys], objects.deepClone(this.overrides));
92
+ }
93
+ createOverrideConfigurationModel(identifier) {
94
+ const overrideContents = this.getContentsForOverrideIdentifer(identifier);
95
+ if (!overrideContents || typeof overrideContents !== 'object' || !Object.keys(overrideContents).length) {
96
+ // If there are no valid overrides, return self
97
+ return this;
98
+ }
99
+ const contents = {};
100
+ for (const key of arrays.distinct([...Object.keys(this.contents), ...Object.keys(overrideContents)])) {
101
+ let contentsForKey = this.contents[key];
102
+ const overrideContentsForKey = overrideContents[key];
103
+ // If there are override contents for the key, clone and merge otherwise use base contents
104
+ if (overrideContentsForKey) {
105
+ // Clone and merge only if base contents and override contents are of type object otherwise just override
106
+ if (typeof contentsForKey === 'object' && typeof overrideContentsForKey === 'object') {
107
+ contentsForKey = objects.deepClone(contentsForKey);
108
+ this.mergeContents(contentsForKey, overrideContentsForKey);
109
+ } else {
110
+ contentsForKey = overrideContentsForKey;
127
111
  }
128
- }
129
- checkAndFreeze(data) {
130
- if (this.frozen && !Object.isFrozen(data)) {
131
- return objects.deepFreeze(data);
112
+ }
113
+ contents[key] = contentsForKey;
114
+ }
115
+ return new ConfigurationModel(contents, this.keys, this.overrides);
116
+ }
117
+ mergeContents(source, target) {
118
+ for (const key of Object.keys(target)) {
119
+ if (key in source) {
120
+ if (types.isObject(source[key]) && types.isObject(target[key])) {
121
+ this.mergeContents(source[key], target[key]);
122
+ continue;
132
123
  }
133
- return data;
134
- }
135
- getContentsForOverrideIdentifer(identifier) {
136
- let contentsForIdentifierOnly = null;
137
- let contents = null;
138
- const mergeContents = (contentsToMerge) => {
139
- if (contentsToMerge) {
140
- if (contents) {
141
- this.mergeContents(contents, contentsToMerge);
142
- }
143
- else {
144
- contents = objects.deepClone(contentsToMerge);
145
- }
146
- }
147
- };
148
- for (const override of this.overrides) {
149
- if (arrays.equals(override.identifiers, [identifier])) {
150
- contentsForIdentifierOnly = override.contents;
151
- }
152
- else if (override.identifiers.includes(identifier)) {
153
- mergeContents(override.contents);
154
- }
124
+ }
125
+ source[key] = objects.deepClone(target[key]);
126
+ }
127
+ }
128
+ checkAndFreeze(data) {
129
+ if (this.frozen && !Object.isFrozen(data)) {
130
+ return objects.deepFreeze(data);
131
+ }
132
+ return data;
133
+ }
134
+ getContentsForOverrideIdentifer(identifier) {
135
+ let contentsForIdentifierOnly = null;
136
+ let contents = null;
137
+ const mergeContents = contentsToMerge => {
138
+ if (contentsToMerge) {
139
+ if (contents) {
140
+ this.mergeContents(contents, contentsToMerge);
141
+ } else {
142
+ contents = objects.deepClone(contentsToMerge);
155
143
  }
156
- // Merge contents of the identifier only at the end to take precedence.
157
- mergeContents(contentsForIdentifierOnly);
158
- return contents;
159
- }
160
- toJSON() {
161
- return {
162
- contents: this.contents,
163
- overrides: this.overrides,
164
- keys: this.keys
165
- };
166
- }
167
- // Update methods
168
- setValue(key, value) {
169
- this.addKey(key);
170
- addToValueTree(this.contents, key, value, e => { throw new Error(e); });
171
- }
172
- removeValue(key) {
173
- if (this.removeKey(key)) {
174
- removeFromValueTree(this.contents, key);
175
- }
176
- }
177
- addKey(key) {
178
- let index = this.keys.length;
179
- for (let i = 0; i < index; i++) {
180
- if (key.indexOf(this.keys[i]) === 0) {
181
- index = i;
182
- }
183
- }
184
- this.keys.splice(index, 1, key);
185
- }
186
- removeKey(key) {
187
- let index = this.keys.indexOf(key);
188
- if (index !== -1) {
189
- this.keys.splice(index, 1);
190
- return true;
191
- }
192
- return false;
193
- }
194
- }export{ConfigurationModel};
144
+ }
145
+ };
146
+ for (const override of this.overrides) {
147
+ if (arrays.equals(override.identifiers, [identifier])) {
148
+ contentsForIdentifierOnly = override.contents;
149
+ } else if (override.identifiers.includes(identifier)) {
150
+ mergeContents(override.contents);
151
+ }
152
+ }
153
+ // Merge contents of the identifier only at the end to take precedence.
154
+ mergeContents(contentsForIdentifierOnly);
155
+ return contents;
156
+ }
157
+ toJSON() {
158
+ return {
159
+ contents: this.contents,
160
+ overrides: this.overrides,
161
+ keys: this.keys
162
+ };
163
+ }
164
+ // Update methods
165
+ setValue(key, value) {
166
+ this.addKey(key);
167
+ addToValueTree(this.contents, key, value, e => {
168
+ throw new Error(e);
169
+ });
170
+ }
171
+ removeValue(key) {
172
+ if (this.removeKey(key)) {
173
+ removeFromValueTree(this.contents, key);
174
+ }
175
+ }
176
+ addKey(key) {
177
+ let index = this.keys.length;
178
+ for (let i = 0; i < index; i++) {
179
+ if (key.indexOf(this.keys[i]) === 0) {
180
+ index = i;
181
+ }
182
+ }
183
+ this.keys.splice(index, 1, key);
184
+ }
185
+ removeKey(key) {
186
+ let index = this.keys.indexOf(key);
187
+ if (index !== -1) {
188
+ this.keys.splice(index, 1);
189
+ return true;
190
+ }
191
+ return false;
192
+ }
193
+ }export{ConfigurationModel};//# sourceMappingURL=ConfigurationModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationModel.js","sources":["../../../../src/core/configurations/models/ConfigurationModel.ts"],"sourcesContent":[null],"names":[],"mappings":"6UAQA;MACa,kBAAkB,CAAA;AAMZ,EAAA,SAAA,CAAA;AACA,EAAA,KAAA,CAAA;AACA,EAAA,UAAA,CAAA;QANJ,GAAA;AACG,EAAA,sBAAA,GAAyB,IAAA,GAAO,EAAA,CAAA;AAEjD,EAAA,WAAA,CAAA,cACmC,EAAE,UACD,EAAE,eACO,EAAE;QAF7B,CAAS,SAAA,GAAA;QACT,CAAK,KAAA,GAAA;QACL,CAAU,UAAA,GAAA;;AAI5B,EAAA,IAAA,QAAY,GAAA;WACJ,IAAA,CAAA,cAAmB,CAAA,IAAC,UAAK,CAAA,CAAA;;AAGjC,EAAA,IAAA,SAAa,GAAA;WACL,IAAA,CAAA,cAAmB,CAAA,IAAC,WAAK,CAAA,CAAA;;AAGjC,EAAA,IAAA,IAAQ,GAAA;WACA,IAAA,CAAA,cAAmB,CAAA,IAAC,MAAK,CAAA,CAAA;;SAG1B,GAAA;AACN,IAAA,OAAA,IAAO,CAAI,KAAM,CAAA,MAAO,KAAA,CAAA,IAAM,MAAU,CAAA,IAAC,CAAI,IAAC,CAAI,SAAU,CAAA,CAAA,MAAE,KAAW,CAAA,IAAC,IAAI,CAAA,UAAK,CAAA,MAAW,KAAW,CAAA,CAAA;;UAGlG,GAAA;WACA,IAAA,CAAA,MAAK,CAAA;;AAGb,EAAA,QAAA,CAAA,OAAuC,EAAA;AACtC,IAAA,OAAA,+BAAsC,CAAA,IAAM,SAAK,EAAA,OAAU,CAAA,GAAO,IAAI,CAAI;;kBAG3D,CAAA,OAA+B,EAAA,kBAA4B,EAAA;UACpE,gBAAA,GAAA,IAAmB,CAAI,kDAAiC,CAAA,CAAA;AAC9D,IAAA,OAAA,gBAAuB,GAAA,OAAA,GAAA,qBAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,GAAA,gBAAA,GAAA,SAAA,CAAA;AACtB,GAAA;8BACY,CAAA,UAAA,EAAA;IACd,MAAC,IAAA,GAAA,EAAA,CAAA;AAED,IAAA,KAAA,MAAA,QAAA,IAAA,IAAA,CAA4B,SAAmB,EAAA;UACxC,QAAI,CAAa,WAAG,CAAA,QAAA,CAAA,UAAA,CAAA,EAAA;AAC1B,QAAA,IAAA,CAAK,QAAc,QAAA,CAAA,IAAQ,CAAA,CAAC;;;AAG1B,IAAA,OAAA,MAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AACD,GAAA;AACD,EAAA,yBAAc,GAAQ;IACvB,MAAC,MAAA,GAAA,EAAA,CAAA;IAED,KAAyB,MAAA,QAAA,IAAA,IAAA,CAAA,SAAA,EAAA;YAClB,CAAA,IAAA,CAAA,GAAmB,QAAG,CAAA,WAAA,CAAA,CAAA;AAC5B,KAAA;iBACO,CAAA,QAAM,CAAG,QAAQ;AACvB,GAAA;AACD,EAAA,QAAA,CAAA,UAAa,EAAC;IACf,IAAC,0BAAA,GAAA,IAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AAED,IAAA,IAAA,CAAA,0BAA2B,EAAA;gCACtB,GAAA,IAA6B,CAAA,gCAA+B,CAAC,UAAU,CAAC,CAAC;UACzE,CAAA,qCAA6B,EAAA,0BAAA,CAAA,CAAA;AAChC,KAAA;;AAEA,GAAA;AACD,EAAA,KAAA,CAAA,GAAA;IACD,MAAC,QAAA,GAAA,OAAA,CAAA,SAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA;IAED,MAAM,SAA+B,GAAA,OAAA,CAAA,SAAA,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA;UAC9B,IAAA,GAAA,CAAA,GAAA,IAAW,CAAA,IAAA,CAAA,CAAO;SAClB,MAAA,KAAA,IAAY,MAAA,EAAA;UACZ,KAAA,CAAA,OAAQ,EAAG;AAEjB,QAAA,SAAW;AACV,OAAA;wBACU,CAAA,QAAA,EAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AACT,MAAA,KAAA,MAAA,aAAA,IAAA,KAAA,CAAA,SAAA,IAAA,EAAA,EAAA;cACG,CAAA,qBAAe,CAAA,MAAe,CAAA,CAAA,IAAS,MAAA,CAAC,MAAC,CAAA,CAAA,CAAA,WAAA,EAAA,aAAA,CAAA,WAAA,CAAA,CAAA,CAAA;YAE7C,QAAK,EAAA;4BACW,CAAA,QAAI,CAAA,QAAgB,EAAA,sBAAmB,CAAC,CAAC;AACxD,UAAA,QAAA,CAAA,SAAY,CAAE,GAAA,aAAA,CAAA,IAAA,CAAA,CAAA;uBACT,GAAc,MAAA,CAAA,QAAS,CAAA,QAAS,CAAA,IAAA,CAAA,CAAA;;oBAEpC,IAAQ,CAAA,OAAK,CAAA,SAAS,CAAC,aAAiB,CAAA,CAAA,CAAA;AACxC,SAAA;AAAM,OAAA;oBACN,IAAS,KAAA,CAAC,IAAI,EAAQ;AACtB,QAAA,IAAA,IAAA,CAAA,OAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAA,EAAA;AACD,UAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AACD,SAAA;;AAEE,KAAA;AACA,IAAA,OAAA,IAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACD,GAAA;AACD,EAAA,MAAA,GAAA;QACD,CAAO,MAAA,GAAA;IACR,OAAC,IAAA,CAAA;;AAGA,EAAA,KAAA,GAAA;AACA,IAAA,OAAA,IAAO,kBAAK,CAAA,OAAA,CAAA,SAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,GAAA,IAAA,CAAA,IAAA,CAAA,EAAA,OAAA,CAAA,SAAA,CAAA,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA;;kCAGR,CAAA,UAAA,EAAA;AACJ,IAAA,MAAA,gBAAW,GAAA,IAAA,CAAA,+BAA0C,CAAA,UAAe,CAAI,CAAA;IACzE,IAAC,CAAA,gBAAA,IAAA,OAAA,gBAAA,KAAA,QAAA,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,CAAA,MAAA,EAAA;AAEO;aACD,IAAA,CAAA;AAEN,KAAA;kBACgD,GAAA,EAAA,CAAA;AAC/C,IAAA,KAAA,MAAA,GAAA,UAAY,CAAA,QAAA,CAAA,CAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,GAAA,MAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,EAAA;AACZ,MAAA,IAAA,cAAA,GAAA,IAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA;YAEK,sBAAmB,GAAA,gBAAA,CAAA,GAAA,CAAA,CAAA;;kCAGC;AACzB;YAEA,OAA0F,cAAA,KAAA,QAAA,IAAA,OAAA,sBAAA,KAAA,QAAA,EAAA;AAC1F,UAAA,kCAA4B,CAAA,cAAA,CAAA,CAAA;4BAC8E,CAAA,cAAA,EAAA,sBAAA,CAAA,CAAA;;AAExG,UAAA,cAAA,GAAA;AACA,SAAA;AACA,OAAA;AAAM,MAAA,QAAA,CAAA,GAAA,CAAA,GAAA,cAAA,CAAA;;AAEN,IAAA,OAAA,IAAA,kBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,IAAA,EAAA,IAAA,CAAA,SAAA,CAAA,CAAA;AACD,GAAA;AAED,EAAA,aAAA,CAAA,MAAS,EAAG;AACZ,IAAA,KAAA,MAAA,GAAA,IAAA,MAAA,CAAA,IAAA,CAAA,MAAA,CAAA,EAAA;AAED,MAAA,IAAA,GAAA,IAAW,MAAA,EAAA;QACX,IAAA,KAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,IAAA,KAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,EAAA;UAEoB,IAAA,CAAA,aAAyB,CAAA,MAAA,CAAA,GAAA,CAAA,EAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA;UACxC,SAAM;;AAET,OAAA;AACC,MAAA,MAAA,CAAA,GAAA,CAAA,GAAA,OAAK,CAAA,SAAA,CAAa,MAAC,CAAM,GAAC,CAAG,CAAC,CAAA;;AAE9B,GAAA;AACD,EAAA,cAAA,CAAA,IAAA,EAAA;AACD,IAAA,IAAA,IAAA,CAAA,MAAO,IAAI,CAAA,MAAU,CAAA,QAAU,CAAA,IAAC,CAAM,EAAA;AACtC,MAAA,OAAA,OAAA,CAAA,UAAA,CAAA,IAAA,CAAA,CAAA;KACD;AAEO,IAAA,OAAA,IAAA,CAAA;;AAEN,EAAA,+BAAe,CAAA,UAAiB,EAAA;AAChC,IAAA,IAAA,yBAAA,GAAA,IAAA,CAAA;AACD,IAAA,IAAA,WAAW,IAAC,CAAA;IACb,MAAC,aAAA,GAAA,eAAA,IAAA;AAEO,MAAA,IAAA,eAAA,EAAA;QACP,IAAI,QAAA,EAAA;UACA,IAAA,CAAA,aAA+C,CAAA,QAAA,EAAA,eAAA,CAAA,CAAA;AACnD,SAAA,MAAmB;AAClB,UAAA,4BAAqB,CAAA,eAAA,CAAA,CAAA;AACpB,SAAA;AACC,OAAA;AACA,KAAA,CAAA;AAAM,IAAA,KAAA,MAAA,QAAA,IAAA,IAAA,CAAA,SAAA,EAAA;AACN,MAAA,IAAA,MAAA,CAAA,MAAA,CAAA,QAAkB,CAAA,wBAAW,CAAA,CAAA,EAAA;AAC7B,QAAA,yBAAA,GAAA,QAAA,CAAA,QAAA,CAAA;AACD,OAAA,MAAA,IAAA,QAAA,CAAA,WAAA,CAAA,QAAA,CAAA,UAAA,CAAA,EAAA;AACF,QAAA,aAAE,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;AACF,OAAA;AACC,KAAA;AACC;AACA,IAAA,aAAA,CAAA,yBAAA,CAAA,CAAA;mBAAU,CAAA;AACV,GAAA;AACA,EAAA,MAAA,GAAA;AACD,IAAA,OAAA;cACsE,EAAA,IAAA,CAAA,QAAA;eAC1D,EAAA,IAAA,CAAC,SAAyB;AACvC,MAAA,IAAA,EAAA;KACA,CAAA;;;cAIS,EAAA,KAAA,EAAM;eACL,CAAA,GAAA,CAAA,CAAA;kBACH,CAAI,IAAC,CAAI,QAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,IAAA;YACd,IAAA,KAAA,CAAA,CAAA,CAAA,CAAA;KACF,CAAA,CAAA;;aAIe,CAAW,GAAA,EAAY;AACtC,IAAA,IAAA,IAAI,CAAC,SAAO,CAAG,GAAE,CAAA,EAAA;8BACG,CAAA,QAAa,EAAA,GAAO,CAAA,CAAA;KACxC;AAEM,GAAA;AACN,EAAA,MAAA,CAAA,GAAI;AACH,IAAA,IAAA,KAAA,GAAA,IAAA,CAAA,IAAA,CAAA,MAAoB,CAAI;AACxB,IAAA,KAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,KAAA,EAAA,CAAA,EAAA,EAAA;MACD,IAAA,GAAA,CAAA,OAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,EAAA;AAEO,QAAA,KAAkB,GAAA,CAAA,CAAA;AACzB,OAAA;;AAEC,IAAA,IAAA,CAAA,IAAA,CAAA,MAAQ,CAAO,KAAA,EAAC,CAAI,EAAA,GAAK,CAAA,CAAA;;AAExB,EAAA,SAAA,CAAA,GAAA,EAAA;AACD,IAAA,IAAA,KAAA,GAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA;QACD,KAAK,KAAK,CAAM,CAAA,EAAA;MAChB,IAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAEO,MAAA,OAAS,IAAY,CAAA;;AAE5B,IAAA,OAAA,KAAS,CAAA;;AAER"}
@@ -1,76 +1,75 @@
1
1
  import {Emitter}from'./event.js';/* tslint:disable */
2
2
  var Disposable;
3
3
  (function (Disposable) {
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
- function is(arg) {
6
- return !!arg && typeof arg === 'object' && 'dispose' in arg && typeof arg['dispose'] === 'function';
7
- }
8
- Disposable.is = is;
9
- function create(func) {
10
- return {
11
- dispose: func
12
- };
13
- }
14
- Disposable.create = create;
15
- Disposable.NULL = create(() => { });
4
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
+ function is(arg) {
6
+ return !!arg && typeof arg === 'object' && 'dispose' in arg && typeof arg['dispose'] === 'function';
7
+ }
8
+ Disposable.is = is;
9
+ function create(func) {
10
+ return {
11
+ dispose: func
12
+ };
13
+ }
14
+ Disposable.create = create;
15
+ Disposable.NULL = create(() => {});
16
16
  })(Disposable || (Disposable = {}));
17
17
  class DisposableCollection {
18
- constructor(...toDispose) {
19
- this.disposables = [];
20
- this.onDisposeEmitter = new Emitter();
21
- this.disposingElements = false;
22
- toDispose.forEach(d => this.push(d));
23
- }
24
- /**
25
- * This event is fired only once
26
- * on first dispose of not empty collection.
27
- */
28
- get onDispose() {
29
- return this.onDisposeEmitter.event;
30
- }
31
- checkDisposed() {
32
- if (this.disposed && !this.disposingElements) {
33
- this.onDisposeEmitter.fire(undefined);
34
- this.onDisposeEmitter.dispose();
35
- }
36
- }
37
- get disposed() {
38
- return this.disposables.length === 0;
39
- }
40
- dispose() {
41
- if (this.disposed || this.disposingElements) {
42
- return;
43
- }
44
- this.disposingElements = true;
45
- while (!this.disposed) {
46
- try {
47
- this.disposables.pop().dispose();
48
- }
49
- catch (e) {
50
- console.error(e);
51
- }
52
- }
53
- this.disposingElements = false;
54
- this.checkDisposed();
18
+ disposables = [];
19
+ onDisposeEmitter = new Emitter();
20
+ constructor(...toDispose) {
21
+ toDispose.forEach(d => this.push(d));
22
+ }
23
+ /**
24
+ * This event is fired only once
25
+ * on first dispose of not empty collection.
26
+ */
27
+ get onDispose() {
28
+ return this.onDisposeEmitter.event;
29
+ }
30
+ checkDisposed() {
31
+ if (this.disposed && !this.disposingElements) {
32
+ this.onDisposeEmitter.fire(undefined);
33
+ this.onDisposeEmitter.dispose();
55
34
  }
56
- push(disposable) {
57
- const disposables = this.disposables;
58
- disposables.push(disposable);
59
- const originalDispose = disposable.dispose.bind(disposable);
60
- const toRemove = Disposable.create(() => {
61
- const index = disposables.indexOf(disposable);
62
- if (index !== -1) {
63
- disposables.splice(index, 1);
64
- }
65
- this.checkDisposed();
66
- });
67
- disposable.dispose = () => {
68
- toRemove.dispose();
69
- originalDispose();
70
- };
71
- return toRemove;
35
+ }
36
+ get disposed() {
37
+ return this.disposables.length === 0;
38
+ }
39
+ disposingElements = false;
40
+ dispose() {
41
+ if (this.disposed || this.disposingElements) {
42
+ return;
72
43
  }
73
- pushAll(disposables) {
74
- return disposables.map(disposable => this.push(disposable));
44
+ this.disposingElements = true;
45
+ while (!this.disposed) {
46
+ try {
47
+ this.disposables.pop().dispose();
48
+ } catch (e) {
49
+ console.error(e);
50
+ }
75
51
  }
76
- }export{Disposable,DisposableCollection};
52
+ this.disposingElements = false;
53
+ this.checkDisposed();
54
+ }
55
+ push(disposable) {
56
+ const disposables = this.disposables;
57
+ disposables.push(disposable);
58
+ const originalDispose = disposable.dispose.bind(disposable);
59
+ const toRemove = Disposable.create(() => {
60
+ const index = disposables.indexOf(disposable);
61
+ if (index !== -1) {
62
+ disposables.splice(index, 1);
63
+ }
64
+ this.checkDisposed();
65
+ });
66
+ disposable.dispose = () => {
67
+ toRemove.dispose();
68
+ originalDispose();
69
+ };
70
+ return toRemove;
71
+ }
72
+ pushAll(disposables) {
73
+ return disposables.map(disposable => this.push(disposable));
74
+ }
75
+ }export{Disposable,DisposableCollection};//# sourceMappingURL=disposable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.js","sources":["../../src/core/disposable.ts"],"sourcesContent":[null],"names":[],"mappings":"iCAAA;AAUM,IAAW,WAWhB;AAXD,CAAA,UAAiB,UAAU,EAAA;;WAEP,EAAA,CAAA,GAAW,EAAA;WAChB,CAAA,CAAA,GAAC,IAAI,eAAc,YAAa,SAAI,IAAS,OAAO,WAAW,eAAc;;AADxE,EAAA,UAAA,CAAA,EAAA;WAGA,MAAA,CAAA,IAAuB,EAAA;WAC5B;AACH,MAAA,OAAA,EAAA,IAAO;;;AAFC,EAAA,UAAA,CAAA,MAAA;YAKC,CAAA,IAAA,GAAA,eAAkB,CAAA,CAAA;AACvC,CAAC,EAXgB,UAAU,KAAV,UAAU,GAW1B,EAAA,CAAA,CAAA,CAAA;MAEY,oBAAoB,CAAA;aAEC,GAAA,EAAiB;AAC5B,EAAA,gBAAA,GAAmB,IAAA,OAAW,EAAA,CAAA;AAEjD,EAAA,WAAA,CAAA,YAAsC,EAAA;AAClC,IAAA,SAAA,CAAA,OAAU,CAAA,CAAA,IAAS,IAAI,CAAI,IAAC,CAAI,CAAA,CAAA,CAAA,CAAC;;AAGrC;;;AAGG;AACH,EAAA,IAAA,SAAa,GAAA;AACT,IAAA,OAAA,IAAO,CAAI,gBAAiB,CAAA;;eAGT,GAAA;QACnB,IAAI,CAAA,QAAa,IAAA,CAAA,IAAK,CAAI;AACtB,MAAA,IAAA,CAAA,gBAAqB,CAAA,IAAA,CAAA,SAAM,CAAA,CAAA;AAC3B,MAAA,IAAA,CAAA,gBAAK,CAAA,OAAiB,EAAA,CAAA;AACzB,KAAA;;AAGL,EAAA,IAAA,QAAY,GAAA;AACR,IAAA,OAAA,IAAO,YAAK,CAAA,MAAkB,KAAA,CAAA,CAAA;;mBAGT,GAAA;SAClB,GAAA;AACH,IAAA,IAAA,IAAI,SAAK,IAAQ,IAAI,CAAI;aACd;AACV,KAAA;AACD,IAAA,IAAA,CAAA,iBAAK,GAAA,IAAoB,CAAA;AACzB,IAAA,OAAA,CAAA,IAAQ,CAAA,QAAK,EAAA;;sCAEkB,EAAC,CAAA;AAC3B,OAAA,CAAA,OAAA,CAAA,EAAA;AAAC,QAAA,OAAA,CAAA,KAAU,CAAA,CAAA,CAAA,CAAA;AACR,OAAA;AACH,KAAA;AACJ,IAAA,IAAA,CAAA,iBAAA,GAAA,KAAA,CAAA;AACD,IAAA,IAAA,CAAA,aAAK,EAAA,CAAA;;MAER,CAAA,UAAA,EAAA;AAED,IAAA,MAA2B,WAAA,GAAA,IAAA,CAAA,WAAA,CAAA;AACvB,IAAA,WAAiB,CAAA,IAAA,CAAA,UAAO,CAAA,CAAC;AACzB,IAAA,MAAA,eAAiB,GAAA,UAAY,CAAA,OAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA;UACvB,QAAA,GAAA,UAAkB,CAAA,MAAA,CAAA,MAAW;AACnC,MAAA,MAAA,mBAAiB,CAAA,OAAiB,CAAA,UAAM,CAAA,CAAA;eAC9B,KAAA,CAAA,CAAA;AACN,QAAA,WAAS,CAAA,MAAK,CAAC,KAAG,EAAA,CAAA,CAAA,CAAA;AACd,OAAA;AACH,MAAA,IAAA,CAAA,aAAA,EAAA,CAAA;;AAEL,IAAA,UAAG,CAAA,OAAA,GAAA,MAAA;AACH,MAAA,QAAA,CAAA,OAAW,EAAA,CAAA;qBACE,EAAO,CAAA;AAChB,KAAA,CAAA;AACJ,IAAA,OAAE,QAAA,CAAA;AACF,GAAA;SACH,CAAA,WAAA,EAAA;AAED,IAAA,OAAO,WAA0B,CAAA,GAAA,CAAA,UAAA,IAAA,IAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAC7B,GAAA;"}