@adminide-stack/core 0.1.1 → 1.0.201-alpha.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.
Files changed (286) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +2 -2
  3. package/lib/constants/billing-plan.d.ts +1 -0
  4. package/lib/constants/billing-plan.js +5 -0
  5. package/lib/constants/billing-plan.js.map +1 -0
  6. package/lib/constants/configuration.d.ts +6 -0
  7. package/lib/constants/configuration.js +10 -0
  8. package/lib/constants/configuration.js.map +1 -0
  9. package/lib/constants/constants.d.ts +2 -7
  10. package/lib/constants/constants.js +6 -0
  11. package/lib/constants/constants.js.map +1 -0
  12. package/lib/constants/default-workspace-config.d.ts +3 -0
  13. package/lib/constants/default-workspace-config.js +7 -0
  14. package/lib/constants/default-workspace-config.js.map +1 -0
  15. package/lib/constants/index.d.ts +6 -0
  16. package/lib/constants/index.js +20 -0
  17. package/lib/constants/index.js.map +1 -0
  18. package/lib/constants/routes.d.ts +4 -0
  19. package/lib/constants/routes.js +10 -0
  20. package/lib/constants/routes.js.map +1 -0
  21. package/lib/constants/types.d.ts +19 -0
  22. package/lib/constants/types.js +23 -0
  23. package/lib/constants/types.js.map +1 -0
  24. package/lib/constants/urls.d.ts +3 -0
  25. package/lib/constants/urls.js +7 -0
  26. package/lib/constants/urls.js.map +1 -0
  27. package/lib/core/configurations/configuration.d.ts +64 -0
  28. package/lib/core/configurations/configuration.js +236 -0
  29. package/lib/core/configurations/configuration.js.map +1 -0
  30. package/lib/core/configurations/events/abstract-configuration-change-event.d.ts +6 -0
  31. package/lib/core/configurations/events/abstract-configuration-change-event.js +27 -0
  32. package/lib/core/configurations/events/abstract-configuration-change-event.js.map +1 -0
  33. package/lib/core/configurations/events/all-keys-configuration-change-event.d.ts +17 -0
  34. package/lib/core/configurations/events/all-keys-configuration-change-event.js +33 -0
  35. package/lib/core/configurations/events/all-keys-configuration-change-event.js.map +1 -0
  36. package/lib/core/configurations/events/configuration-change-event.d.ts +24 -0
  37. package/lib/core/configurations/events/configuration-change-event.js +84 -0
  38. package/lib/core/configurations/events/configuration-change-event.js.map +1 -0
  39. package/lib/core/configurations/events/index.d.ts +4 -0
  40. package/lib/core/configurations/events/index.js +17 -0
  41. package/lib/core/configurations/events/index.js.map +1 -0
  42. package/lib/core/configurations/events/organization-configuration-change-event.d.ts +15 -0
  43. package/lib/core/configurations/events/organization-configuration-change-event.js +39 -0
  44. package/lib/core/configurations/events/organization-configuration-change-event.js.map +1 -0
  45. package/lib/core/configurations/helpers/configuration.d.ts +26 -0
  46. package/lib/core/configurations/helpers/configuration.js +203 -0
  47. package/lib/core/configurations/helpers/configuration.js.map +1 -0
  48. package/lib/core/configurations/helpers/index.d.ts +1 -0
  49. package/lib/core/configurations/helpers/index.js +14 -0
  50. package/lib/core/configurations/helpers/index.js.map +1 -0
  51. package/lib/core/configurations/index.d.ts +4 -0
  52. package/lib/core/configurations/index.js +17 -0
  53. package/lib/core/configurations/index.js.map +1 -0
  54. package/lib/core/configurations/models/configuration-model.d.ts +24 -0
  55. package/lib/core/configurations/models/configuration-model.js +143 -0
  56. package/lib/core/configurations/models/configuration-model.js.map +1 -0
  57. package/lib/core/configurations/models/index.d.ts +1 -0
  58. package/lib/core/configurations/models/index.js +14 -0
  59. package/lib/core/configurations/models/index.js.map +1 -0
  60. package/lib/core/disposable.d.ts +28 -0
  61. package/lib/core/disposable.js +82 -0
  62. package/lib/core/disposable.js.map +1 -0
  63. package/lib/core/event.d.ts +76 -0
  64. package/lib/core/event.js +262 -0
  65. package/lib/core/event.js.map +1 -0
  66. package/lib/core/event.test.d.ts +1 -0
  67. package/lib/core/event.test.js +15 -0
  68. package/lib/core/event.test.js.map +1 -0
  69. package/lib/core/index.d.ts +6 -0
  70. package/lib/core/index.js +19 -0
  71. package/lib/core/index.js.map +1 -0
  72. package/lib/core/organization/configuration.d.ts +31 -0
  73. package/lib/core/organization/configuration.js +87 -0
  74. package/lib/core/organization/configuration.js.map +1 -0
  75. package/lib/core/organization/helpers/index.d.ts +1 -0
  76. package/lib/core/organization/helpers/index.js +14 -0
  77. package/lib/core/organization/helpers/index.js.map +1 -0
  78. package/lib/core/organization/helpers/organization-helpers.d.ts +6 -0
  79. package/lib/core/organization/helpers/organization-helpers.js +34 -0
  80. package/lib/core/organization/helpers/organization-helpers.js.map +1 -0
  81. package/lib/core/organization/index.d.ts +3 -0
  82. package/lib/core/organization/index.js +16 -0
  83. package/lib/core/organization/index.js.map +1 -0
  84. package/lib/core/organization/organization.d.ts +31 -0
  85. package/lib/core/organization/organization.js +135 -0
  86. package/lib/core/organization/organization.js.map +1 -0
  87. package/lib/core/path.d.ts +58 -0
  88. package/lib/core/path.js +189 -0
  89. package/lib/core/path.js.map +1 -0
  90. package/lib/core/path.test.d.ts +1 -0
  91. package/lib/core/path.test.js +205 -0
  92. package/lib/core/path.test.js.map +1 -0
  93. package/lib/core/types.d.ts +1 -0
  94. package/lib/core/types.js +3 -0
  95. package/lib/core/types.js.map +1 -0
  96. package/lib/core/uri.d.ts +68 -0
  97. package/lib/core/uri.js +158 -0
  98. package/lib/core/uri.js.map +1 -0
  99. package/lib/core/uri.test.d.ts +1 -0
  100. package/lib/core/uri.test.js +136 -0
  101. package/lib/core/uri.test.js.map +1 -0
  102. package/lib/enums/connection-status.d.ts +6 -0
  103. package/lib/enums/connection-status.js +11 -0
  104. package/lib/enums/connection-status.js.map +1 -0
  105. package/lib/enums/index.d.ts +7 -0
  106. package/lib/enums/index.js +20 -0
  107. package/lib/enums/index.js.map +1 -0
  108. package/lib/enums/integration-configuration-status.d.ts +5 -0
  109. package/lib/enums/integration-configuration-status.js +10 -0
  110. package/lib/enums/integration-configuration-status.js.map +1 -0
  111. package/lib/enums/integrations-configuration-steps.d.ts +7 -0
  112. package/lib/enums/integrations-configuration-steps.js +12 -0
  113. package/lib/enums/integrations-configuration-steps.js.map +1 -0
  114. package/lib/enums/integrations-connection-names.d.ts +11 -0
  115. package/lib/enums/integrations-connection-names.js +17 -0
  116. package/lib/enums/integrations-connection-names.js.map +1 -0
  117. package/lib/enums/integrations.d.ts +9 -0
  118. package/lib/enums/integrations.js +14 -0
  119. package/lib/enums/integrations.js.map +1 -0
  120. package/lib/enums/permissions.d.ts +7 -0
  121. package/lib/enums/permissions.js +12 -0
  122. package/lib/enums/permissions.js.map +1 -0
  123. package/lib/enums/team-member-status.d.ts +4 -0
  124. package/lib/enums/team-member-status.js +9 -0
  125. package/lib/enums/team-member-status.js.map +1 -0
  126. package/lib/errors/auth-error-messages.d.ts +25 -0
  127. package/lib/errors/auth-error-messages.js +31 -0
  128. package/lib/errors/auth-error-messages.js.map +1 -0
  129. package/lib/errors/auth-error.d.ts +8 -0
  130. package/lib/errors/auth-error.js +13 -0
  131. package/lib/errors/auth-error.js.map +1 -0
  132. package/lib/errors/index.d.ts +2 -0
  133. package/lib/errors/index.js +15 -0
  134. package/lib/errors/index.js.map +1 -0
  135. package/lib/index.d.ts +6 -0
  136. package/lib/index.js +19 -143
  137. package/lib/index.js.map +1 -1
  138. package/lib/interfaces/apollo-context.d.ts +48 -0
  139. package/lib/interfaces/apollo-context.js +3 -0
  140. package/lib/interfaces/apollo-context.js.map +1 -0
  141. package/lib/interfaces/common.d.ts +7 -0
  142. package/lib/interfaces/common.js +3 -0
  143. package/lib/interfaces/common.js.map +1 -0
  144. package/lib/interfaces/configuration/configuration-file-service.d.ts +5 -0
  145. package/lib/interfaces/configuration/configuration-file-service.js +3 -0
  146. package/lib/interfaces/configuration/configuration-file-service.js.map +1 -0
  147. package/lib/interfaces/configuration/configuration-server-service.d.ts +10 -0
  148. package/lib/interfaces/configuration/configuration-server-service.js +3 -0
  149. package/lib/interfaces/configuration/configuration-server-service.js.map +1 -0
  150. package/lib/interfaces/configuration/configuration.d.ts +39 -0
  151. package/lib/interfaces/configuration/configuration.js +51 -0
  152. package/lib/interfaces/configuration/configuration.js.map +1 -0
  153. package/lib/interfaces/configuration/configuraton-service.d.ts +60 -0
  154. package/lib/interfaces/configuration/configuraton-service.js +3 -0
  155. package/lib/interfaces/configuration/configuraton-service.js.map +1 -0
  156. package/lib/interfaces/configuration/event.d.ts +12 -0
  157. package/lib/interfaces/configuration/event.js +3 -0
  158. package/lib/interfaces/configuration/event.js.map +1 -0
  159. package/lib/interfaces/configuration/index.d.ts +5 -0
  160. package/lib/interfaces/configuration/index.js +18 -0
  161. package/lib/interfaces/configuration/index.js.map +1 -0
  162. package/lib/interfaces/contex-key-service.d.ts +2 -0
  163. package/lib/interfaces/contex-key-service.js +3 -0
  164. package/lib/interfaces/contex-key-service.js.map +1 -0
  165. package/lib/interfaces/database-migration.d.ts +8 -0
  166. package/lib/interfaces/database-migration.js +3 -0
  167. package/lib/interfaces/database-migration.js.map +1 -0
  168. package/lib/interfaces/enum.d.ts +26 -0
  169. package/lib/interfaces/enum.js +71 -0
  170. package/lib/interfaces/enum.js.map +1 -0
  171. package/lib/interfaces/environment/argv.d.ts +6 -0
  172. package/lib/interfaces/environment/argv.js +3 -0
  173. package/lib/interfaces/environment/argv.js.map +1 -0
  174. package/lib/interfaces/environment/environment-service.d.ts +7 -0
  175. package/lib/interfaces/environment/environment-service.js +3 -0
  176. package/lib/interfaces/environment/environment-service.js.map +1 -0
  177. package/lib/interfaces/environment/index.d.ts +2 -0
  178. package/lib/interfaces/environment/index.js +15 -0
  179. package/lib/interfaces/environment/index.js.map +1 -0
  180. package/lib/interfaces/generated/generated-models.d.ts +10956 -0
  181. package/lib/interfaces/generated/generated-models.js +3980 -0
  182. package/lib/interfaces/generated/generated-models.js.map +1 -0
  183. package/lib/interfaces/generated/index.d.ts +1 -0
  184. package/lib/interfaces/generated/index.js +14 -0
  185. package/lib/interfaces/generated/index.js.map +1 -0
  186. package/lib/interfaces/index.d.ts +17 -1
  187. package/lib/interfaces/index.js +30 -0
  188. package/lib/interfaces/index.js.map +1 -0
  189. package/lib/interfaces/lifecycle-service.d.ts +1 -0
  190. package/lib/interfaces/lifecycle-service.js +8 -0
  191. package/lib/interfaces/lifecycle-service.js.map +1 -0
  192. package/lib/interfaces/log/index.d.ts +1 -0
  193. package/lib/interfaces/log/index.js +14 -0
  194. package/lib/interfaces/log/index.js.map +1 -0
  195. package/lib/interfaces/log/log-service.d.ts +16 -0
  196. package/lib/interfaces/log/log-service.js +3 -0
  197. package/lib/interfaces/log/log-service.js.map +1 -0
  198. package/lib/interfaces/nav-items.d.ts +5 -0
  199. package/lib/interfaces/nav-items.js +3 -0
  200. package/lib/interfaces/nav-items.js.map +1 -0
  201. package/lib/interfaces/organization/index.d.ts +3 -0
  202. package/lib/interfaces/organization/index.js +16 -0
  203. package/lib/interfaces/organization/index.js.map +1 -0
  204. package/lib/interfaces/organization/organization-context-service.d.ts +65 -0
  205. package/lib/interfaces/organization/organization-context-service.js +3 -0
  206. package/lib/interfaces/organization/organization-context-service.js.map +1 -0
  207. package/lib/interfaces/organization/organization-context.d.ts +39 -0
  208. package/lib/interfaces/organization/organization-context.js +31 -0
  209. package/lib/interfaces/organization/organization-context.js.map +1 -0
  210. package/lib/interfaces/organization/organizations-context.d.ts +35 -0
  211. package/lib/interfaces/organization/organizations-context.js +3 -0
  212. package/lib/interfaces/organization/organizations-context.js.map +1 -0
  213. package/lib/interfaces/page-store.d.ts +16 -0
  214. package/lib/interfaces/page-store.js +3 -0
  215. package/lib/interfaces/page-store.js.map +1 -0
  216. package/lib/interfaces/permissions.d.ts +2 -0
  217. package/lib/interfaces/permissions.js +3 -0
  218. package/lib/interfaces/permissions.js.map +1 -0
  219. package/lib/interfaces/preferences-service.d.ts +40 -0
  220. package/lib/interfaces/preferences-service.js +3 -0
  221. package/lib/interfaces/preferences-service.js.map +1 -0
  222. package/lib/interfaces/service.d.ts +18 -0
  223. package/lib/interfaces/service.js +3 -0
  224. package/lib/interfaces/service.js.map +1 -0
  225. package/lib/interfaces/workbench-exports.d.ts +5 -0
  226. package/lib/interfaces/workbench-exports.js +6 -0
  227. package/lib/interfaces/workbench-exports.js.map +1 -0
  228. package/lib/modules/account-api/enums/index.d.ts +51 -0
  229. package/lib/modules/account-api/enums/index.js +56 -0
  230. package/lib/modules/account-api/enums/index.js.map +1 -0
  231. package/lib/modules/account-api/index.d.ts +1 -0
  232. package/lib/modules/account-api/index.js +14 -0
  233. package/lib/modules/account-api/index.js.map +1 -0
  234. package/lib/modules/billing-api/enums/index.d.ts +22 -0
  235. package/lib/modules/billing-api/enums/index.js +28 -0
  236. package/lib/modules/billing-api/enums/index.js.map +1 -0
  237. package/lib/modules/billing-api/index.d.ts +1 -0
  238. package/lib/modules/billing-api/index.js +14 -0
  239. package/lib/modules/billing-api/index.js.map +1 -0
  240. package/lib/modules/index.d.ts +2 -0
  241. package/lib/modules/index.js +15 -0
  242. package/lib/modules/index.js.map +1 -0
  243. package/lib/services/abstract-configuration.d.ts +54 -0
  244. package/lib/services/abstract-configuration.js +80 -0
  245. package/lib/services/abstract-configuration.js.map +1 -0
  246. package/lib/services/abstract-organization-context-service.d.ts +40 -0
  247. package/lib/services/abstract-organization-context-service.js +115 -0
  248. package/lib/services/abstract-organization-context-service.js.map +1 -0
  249. package/lib/services/index.d.ts +2 -0
  250. package/lib/services/index.js +15 -0
  251. package/lib/services/index.js.map +1 -0
  252. package/lib/utils/configuration-utils.d.ts +4 -0
  253. package/lib/utils/configuration-utils.js +15 -0
  254. package/lib/utils/configuration-utils.js.map +1 -0
  255. package/lib/utils/date-utils.d.ts +1 -0
  256. package/lib/utils/date-utils.js +9 -0
  257. package/lib/utils/date-utils.js.map +1 -0
  258. package/lib/utils/flatten-utils.d.ts +1 -0
  259. package/lib/utils/flatten-utils.js +20 -0
  260. package/lib/utils/flatten-utils.js.map +1 -0
  261. package/lib/utils/generate-uri.d.ts +35 -0
  262. package/lib/utils/generate-uri.js +49 -0
  263. package/lib/utils/generate-uri.js.map +1 -0
  264. package/lib/utils/generated-settings-id.d.ts +2 -0
  265. package/lib/utils/generated-settings-id.js +12 -0
  266. package/lib/utils/generated-settings-id.js.map +1 -0
  267. package/lib/utils/index.d.ts +9 -0
  268. package/lib/utils/index.js +22 -0
  269. package/lib/utils/index.js.map +1 -0
  270. package/lib/utils/omit-deep.d.ts +1 -0
  271. package/lib/utils/omit-deep.js +16 -0
  272. package/lib/utils/omit-deep.js.map +1 -0
  273. package/lib/utils/roles-utils.d.ts +2 -0
  274. package/lib/utils/roles-utils.js +11 -0
  275. package/lib/utils/roles-utils.js.map +1 -0
  276. package/lib/utils/uri.d.ts +3 -0
  277. package/lib/utils/uri.js +21 -0
  278. package/lib/utils/uri.js.map +1 -0
  279. package/lib/utils/utils.d.ts +3 -0
  280. package/lib/utils/utils.js +37 -0
  281. package/lib/utils/utils.js.map +1 -0
  282. package/lib/utils/validations.d.ts +1 -0
  283. package/lib/utils/validations.js +9 -0
  284. package/lib/utils/validations.js.map +1 -0
  285. package/package.json +34 -25
  286. package/lib/interfaces/workspace.d.ts +0 -37
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Path = void 0;
5
+ /**
6
+ * On POSIX:
7
+ * ┌──────────────────────┬────────────┐
8
+ * │ dir │ base │
9
+ * ├──────┬ ├──────┬─────┤
10
+ * │ root │ │ name │ ext │
11
+ * " / home/user/dir / file .txt "
12
+ * └──────┴───────────────┴──────┴─────┘
13
+ *
14
+ * On Windows:
15
+ * ┌──────────────────────┬────────────┐
16
+ * │ dir │ base │
17
+ * ├──────┬ ├──────┬─────┤
18
+ * │ root │ │ name │ ext │
19
+ * " /c: / home/user/dir / file .txt "
20
+ * └──────┴───────────────┴──────┴─────┘
21
+ */
22
+ class Path {
23
+ /**
24
+ * The raw should be normalized, meaning that only '/' is allowed as a path separator.
25
+ */
26
+ constructor(raw) {
27
+ this.raw = Path.normalizeDrive(raw);
28
+ const firstIndex = raw.indexOf(Path.separator);
29
+ const lastIndex = raw.lastIndexOf(Path.separator);
30
+ this.isAbsolute = firstIndex === 0;
31
+ this.base = lastIndex === -1 ? raw : raw.substr(lastIndex + 1);
32
+ this.isRoot = this.isAbsolute && firstIndex === lastIndex && (!this.base || Path.isDrive(this.base));
33
+ this.root = this.computeRoot();
34
+ const extIndex = this.base.lastIndexOf('.');
35
+ this.name = extIndex === -1 ? this.base : this.base.substr(0, extIndex);
36
+ this.ext = extIndex === -1 ? '' : this.base.substr(extIndex);
37
+ }
38
+ static isDrive(segment) {
39
+ return segment.endsWith(':');
40
+ }
41
+ /**
42
+ * vscode-uri always normalizes drive letters to lower case:
43
+ * https://github.com/Microsoft/vscode-uri/blob/b1d3221579f97f28a839b6f996d76fc45e9964d8/src/index.ts#L1025
44
+ * Theia path should be adjusted to this.
45
+ */
46
+ static normalizeDrive(path) {
47
+ // lower-case windows drive letters in /C:/fff or C:/fff
48
+ if (path.length >= 3 && path.charCodeAt(0) === 47 /* '/' */ && path.charCodeAt(2) === 58 /* ':' */) {
49
+ const code = path.charCodeAt(1);
50
+ if (code >= 65 /* A */ && code <= 90 /* Z */) {
51
+ path = `/${String.fromCharCode(code + 32)}:${path.substr(3)}`; // "/c:".length === 3
52
+ }
53
+ }
54
+ else if (path.length >= 2 && path.charCodeAt(1) === 58 /* ':' */) {
55
+ const code = path.charCodeAt(0);
56
+ if (code >= 65 /* A */ && code <= 90 /* Z */) {
57
+ path = `${String.fromCharCode(code + 32)}:${path.substr(2)}`; // "/c:".length === 3
58
+ }
59
+ }
60
+ return path;
61
+ }
62
+ computeRoot() {
63
+ // '/' -> '/'
64
+ // '/c:' -> '/c:'
65
+ if (this.isRoot) {
66
+ return this;
67
+ }
68
+ // 'foo/bar' -> `undefined`
69
+ if (!this.isAbsolute) {
70
+ return undefined;
71
+ }
72
+ const index = this.raw.indexOf(Path.separator, Path.separator.length);
73
+ if (index === -1) {
74
+ // '/foo/bar' -> '/'
75
+ return new Path(Path.separator);
76
+ }
77
+ // '/c:/foo/bar' -> '/c:'
78
+ // '/foo/bar' -> '/'
79
+ return new Path(this.raw.substr(0, index)).root;
80
+ }
81
+ /**
82
+ * Returns the parent directory if it exists (`hasDir === true`) or `this` otherwise.
83
+ */
84
+ get dir() {
85
+ if (this._dir === undefined) {
86
+ this._dir = this.computeDir();
87
+ }
88
+ return this._dir;
89
+ }
90
+ /**
91
+ * Returns `true` if this has a parent directory, `false` otherwise.
92
+ *
93
+ * _This implementation returns `true` if and only if this is not the root dir and
94
+ * there is a path separator in the raw path._
95
+ */
96
+ get hasDir() {
97
+ return !this.isRoot && this.raw.lastIndexOf(Path.separator) !== -1;
98
+ }
99
+ computeDir() {
100
+ if (!this.hasDir) {
101
+ return this;
102
+ }
103
+ const lastIndex = this.raw.lastIndexOf(Path.separator);
104
+ if (this.isAbsolute) {
105
+ const firstIndex = this.raw.indexOf(Path.separator);
106
+ if (firstIndex === lastIndex) {
107
+ return new Path(this.raw.substr(0, firstIndex + 1));
108
+ }
109
+ }
110
+ return new Path(this.raw.substr(0, lastIndex));
111
+ }
112
+ join(...paths) {
113
+ const relativePath = paths.filter(s => !!s).join(Path.separator);
114
+ if (!relativePath) {
115
+ return this;
116
+ }
117
+ if (this.raw.endsWith(Path.separator)) {
118
+ return new Path(this.raw + relativePath);
119
+ }
120
+ return new Path(this.raw + Path.separator + relativePath);
121
+ }
122
+ toString() {
123
+ return this.raw;
124
+ }
125
+ relative(path) {
126
+ if (this.raw === path.raw) {
127
+ return new Path('');
128
+ }
129
+ if (!this.raw || !path.raw) {
130
+ return undefined;
131
+ }
132
+ const raw = this.base ? this.raw + Path.separator : this.raw;
133
+ if (!path.raw.startsWith(raw)) {
134
+ return undefined;
135
+ }
136
+ const relativePath = path.raw.substr(raw.length);
137
+ return new Path(relativePath);
138
+ }
139
+ isEqualOrParent(path) {
140
+ return !!this.relative(path);
141
+ }
142
+ relativity(path) {
143
+ const relative = this.relative(path);
144
+ if (relative) {
145
+ const relativeStr = relative.toString();
146
+ if (relativeStr === '') {
147
+ return 0;
148
+ }
149
+ return relativeStr.split(Path.separator).length;
150
+ }
151
+ return -1;
152
+ }
153
+ /*
154
+ * return a normalized Path, resolving '..' and '.' segments
155
+ */
156
+ normalize() {
157
+ const trailingSlash = this.raw.endsWith('/');
158
+ const pathArray = this.toString().split('/');
159
+ const resultArray = [];
160
+ pathArray.forEach((value, index) => {
161
+ if (!value || value === '.') {
162
+ return;
163
+ }
164
+ if (value === '..') {
165
+ if (resultArray.length && resultArray[resultArray.length - 1] !== '..') {
166
+ resultArray.pop();
167
+ }
168
+ else if (!this.isAbsolute) {
169
+ resultArray.push('..');
170
+ }
171
+ }
172
+ else {
173
+ resultArray.push(value);
174
+ }
175
+ });
176
+ if (resultArray.length === 0) {
177
+ if (this.isRoot) {
178
+ return new Path('/');
179
+ }
180
+ else {
181
+ return new Path('.');
182
+ }
183
+ }
184
+ return new Path((this.isAbsolute ? '/' : '') + resultArray.join('/') + (trailingSlash ? '/' : ''));
185
+ }
186
+ }
187
+ exports.Path = Path;
188
+ Path.separator = '/';
189
+ //# sourceMappingURL=path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/core/path.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const path_1 = require("./path");
5
+ describe('Path', () => {
6
+ it('new from /foo/bar/file.txt', () => {
7
+ const path = new path_1.Path('/foo/bar/file.txt');
8
+ assert.deepEqual(path.isRoot, false);
9
+ assert.deepEqual(path.isAbsolute, true);
10
+ assert.deepEqual(path.root.toString(), '/');
11
+ assert.deepEqual(path.dir.toString(), '/foo/bar');
12
+ assert.deepEqual(path.hasDir, true);
13
+ assert.deepEqual(path.base, 'file.txt');
14
+ assert.deepEqual(path.name, 'file');
15
+ assert.deepEqual(path.ext, '.txt');
16
+ });
17
+ it('new from foo/bar/file.txt', () => {
18
+ const path = new path_1.Path('foo/bar/file.txt');
19
+ assert.deepEqual(path.isRoot, false);
20
+ assert.deepEqual(path.isAbsolute, false);
21
+ assert.deepEqual(path.root, undefined);
22
+ assert.deepEqual(path.dir.toString(), 'foo/bar');
23
+ assert.deepEqual(path.hasDir, true);
24
+ assert.deepEqual(path.base, 'file.txt');
25
+ assert.deepEqual(path.name, 'file');
26
+ assert.deepEqual(path.ext, '.txt');
27
+ });
28
+ it('new from /foo', () => {
29
+ const path = new path_1.Path('/foo');
30
+ assert.deepEqual(path.isRoot, false);
31
+ assert.deepEqual(path.isAbsolute, true);
32
+ assert.deepEqual(path.root.toString(), '/');
33
+ assert.deepEqual(path.dir.toString(), '/');
34
+ assert.deepEqual(path.hasDir, true);
35
+ assert.deepEqual(path.base, 'foo');
36
+ assert.deepEqual(path.name, 'foo');
37
+ assert.deepEqual(path.ext, '');
38
+ });
39
+ it('new from foo', () => {
40
+ const path = new path_1.Path('foo');
41
+ assert.deepEqual(path.isRoot, false);
42
+ assert.deepEqual(path.isAbsolute, false);
43
+ assert.deepEqual(path.root, undefined);
44
+ assert.deepEqual(path.dir.toString(), 'foo');
45
+ assert.deepEqual(path.hasDir, false);
46
+ assert.deepEqual(path.base, 'foo');
47
+ assert.deepEqual(path.name, 'foo');
48
+ assert.deepEqual(path.ext, '');
49
+ });
50
+ it('new from /', () => {
51
+ const path = new path_1.Path('/');
52
+ assert.deepEqual(path.isRoot, true);
53
+ assert.deepEqual(path.isAbsolute, true);
54
+ assert.deepEqual(path.root.toString(), '/');
55
+ assert.deepEqual(path.dir.toString(), '/');
56
+ assert.deepEqual(path.hasDir, false);
57
+ assert.deepEqual(path.base, '');
58
+ assert.deepEqual(path.name, '');
59
+ assert.deepEqual(path.ext, '');
60
+ });
61
+ it('new from /c:/foo/bar/file.txt', () => {
62
+ const path = new path_1.Path('/c:/foo/bar/file.txt');
63
+ assert.deepEqual(path.isRoot, false);
64
+ assert.deepEqual(path.isAbsolute, true);
65
+ assert.deepEqual(path.root.toString(), '/c:');
66
+ assert.deepEqual(path.dir.toString(), '/c:/foo/bar');
67
+ assert.deepEqual(path.hasDir, true);
68
+ assert.deepEqual(path.base, 'file.txt');
69
+ assert.deepEqual(path.name, 'file');
70
+ assert.deepEqual(path.ext, '.txt');
71
+ });
72
+ it('new from /c:/foo', () => {
73
+ const path = new path_1.Path('/c:/foo');
74
+ assert.deepEqual(path.isRoot, false);
75
+ assert.deepEqual(path.isAbsolute, true);
76
+ assert.deepEqual(path.root.toString(), '/c:');
77
+ assert.deepEqual(path.dir.toString(), '/c:');
78
+ assert.deepEqual(path.hasDir, true);
79
+ assert.deepEqual(path.base, 'foo');
80
+ assert.deepEqual(path.name, 'foo');
81
+ assert.deepEqual(path.ext, '');
82
+ });
83
+ it('new from /c:/', () => {
84
+ const path = new path_1.Path('/c:/');
85
+ assert.deepEqual(path.isRoot, false);
86
+ assert.deepEqual(path.isAbsolute, true);
87
+ assert.deepEqual(path.root.toString(), '/c:');
88
+ assert.deepEqual(path.dir.toString(), '/c:');
89
+ assert.deepEqual(path.hasDir, true);
90
+ assert.deepEqual(path.base, '');
91
+ assert.deepEqual(path.name, '');
92
+ assert.deepEqual(path.ext, '');
93
+ });
94
+ it('new from /c:', () => {
95
+ const path = new path_1.Path('/c:');
96
+ assert.deepEqual(path.isRoot, true);
97
+ assert.deepEqual(path.isAbsolute, true);
98
+ assert.deepEqual(path.root.toString(), '/c:');
99
+ assert.deepEqual(path.dir.toString(), '/c:');
100
+ assert.deepEqual(path.hasDir, false);
101
+ assert.deepEqual(path.base, 'c:');
102
+ assert.deepEqual(path.name, 'c:');
103
+ assert.deepEqual(path.ext, '');
104
+ });
105
+ assertRelative({
106
+ from: '/foo',
107
+ to: '/foo',
108
+ expectation: ''
109
+ });
110
+ assertRelative({
111
+ from: '/foo',
112
+ to: '/foo/bar',
113
+ expectation: 'bar'
114
+ });
115
+ assertRelative({
116
+ from: '/foo/',
117
+ to: '/foo/bar',
118
+ expectation: 'bar'
119
+ });
120
+ assertRelative({
121
+ from: '/f',
122
+ to: '/foo/bar',
123
+ expectation: undefined
124
+ });
125
+ function assertRelative({ from, to, expectation }) {
126
+ it(`the relative path from '${from}' to '${to}' should be '${expectation}'`, () => {
127
+ const path = new path_1.Path(from).relative(new path_1.Path(to));
128
+ assert.deepEqual(expectation, path && path.toString());
129
+ });
130
+ }
131
+ assertNormalize({
132
+ from: '/',
133
+ expectation: '/'
134
+ });
135
+ assertNormalize({
136
+ from: '/c://',
137
+ expectation: '/c:/'
138
+ });
139
+ assertNormalize({
140
+ from: '/foo',
141
+ expectation: '/foo'
142
+ });
143
+ assertNormalize({
144
+ from: '/foo/',
145
+ expectation: '/foo/'
146
+ });
147
+ assertNormalize({
148
+ from: '/foo/bar',
149
+ expectation: '/foo/bar'
150
+ });
151
+ assertNormalize({
152
+ from: '/foo/../file.txt',
153
+ expectation: '/file.txt'
154
+ });
155
+ assertNormalize({
156
+ from: '/foo/bar/../file.txt',
157
+ expectation: '/foo/file.txt'
158
+ });
159
+ assertNormalize({
160
+ from: '/foo/../../file.txt',
161
+ expectation: '/file.txt'
162
+ });
163
+ assertNormalize({
164
+ from: '',
165
+ expectation: '.'
166
+ });
167
+ assertNormalize({
168
+ from: '.',
169
+ expectation: '.'
170
+ });
171
+ assertNormalize({
172
+ from: '..',
173
+ expectation: '..'
174
+ });
175
+ assertNormalize({
176
+ from: './foo',
177
+ expectation: 'foo'
178
+ });
179
+ assertNormalize({
180
+ from: './foo/./.',
181
+ expectation: 'foo'
182
+ });
183
+ assertNormalize({
184
+ from: './foo/',
185
+ expectation: 'foo/'
186
+ });
187
+ assertNormalize({
188
+ from: '../foo',
189
+ expectation: '../foo'
190
+ });
191
+ assertNormalize({
192
+ from: 'foo/..',
193
+ expectation: '.'
194
+ });
195
+ assertNormalize({
196
+ from: 'foo/bar/../../../',
197
+ expectation: '../'
198
+ });
199
+ function assertNormalize({ from, expectation }) {
200
+ it(`path ${from} should be normalized as ${expectation}`, () => {
201
+ assert.deepStrictEqual(new path_1.Path(from).normalize().toString(), expectation);
202
+ });
203
+ }
204
+ });
205
+ //# sourceMappingURL=path.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.test.js","sourceRoot":"","sources":["../../src/core/path.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare type MaybePromise<T> = T | PromiseLike<T>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import Uri from 'vscode-uri';
2
+ import { Path } from './path';
3
+ export default class URI {
4
+ private readonly codeUri;
5
+ private _path;
6
+ constructor(uri?: string | Uri);
7
+ /**
8
+ * TODO move implementation to `DefaultUriLabelProviderContribution.getName`
9
+ *
10
+ * @deprecated use `LabelProvider.getName` instead
11
+ */
12
+ get displayName(): string;
13
+ /**
14
+ * Return all uri from the current to the top most.
15
+ */
16
+ get allLocations(): URI[];
17
+ get parent(): URI;
18
+ relative(uri: URI): Path | undefined;
19
+ resolve(path: string | Path): URI;
20
+ /**
21
+ * return a new URI replacing the current with the given scheme
22
+ */
23
+ withScheme(scheme: string): URI;
24
+ /**
25
+ * return a new URI replacing the current with the given authority
26
+ */
27
+ withAuthority(authority: string): URI;
28
+ /**
29
+ * return this URI without a authority
30
+ */
31
+ withoutAuthority(): URI;
32
+ /**
33
+ * return a new URI replacing the current with the given path
34
+ */
35
+ withPath(path: string | Path): URI;
36
+ /**
37
+ * return this URI without a path
38
+ */
39
+ withoutPath(): URI;
40
+ /**
41
+ * return a new URI replacing the current with the given query
42
+ */
43
+ withQuery(query: string): URI;
44
+ /**
45
+ * return this URI without a query
46
+ */
47
+ withoutQuery(): URI;
48
+ /**
49
+ * return a new URI replacing the current with the given fragment
50
+ */
51
+ withFragment(fragment: string): URI;
52
+ /**
53
+ * return this URI without a fragment
54
+ */
55
+ withoutFragment(): URI;
56
+ /**
57
+ * return a new URI replacing the current with its normalized path, resolving '..' and '.' segments
58
+ */
59
+ normalizePath(): URI;
60
+ get scheme(): string;
61
+ get authority(): string;
62
+ get path(): Path;
63
+ get query(): string;
64
+ get fragment(): string;
65
+ toString(skipEncoding?: boolean): string;
66
+ isEqualOrParent(uri: URI): boolean;
67
+ static getDistinctParents(uris: URI[]): URI[];
68
+ }
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const vscode_uri_1 = require("vscode-uri");
5
+ const path_1 = require("./path");
6
+ class URI {
7
+ constructor(uri = '') {
8
+ if (uri instanceof vscode_uri_1.default) {
9
+ this.codeUri = uri;
10
+ }
11
+ else {
12
+ this.codeUri = vscode_uri_1.default.parse(uri);
13
+ }
14
+ }
15
+ /**
16
+ * TODO move implementation to `DefaultUriLabelProviderContribution.getName`
17
+ *
18
+ * @deprecated use `LabelProvider.getName` instead
19
+ */
20
+ get displayName() {
21
+ const base = this.path.base;
22
+ if (base) {
23
+ return base;
24
+ }
25
+ if (this.path.isRoot) {
26
+ return this.path.toString();
27
+ }
28
+ return '';
29
+ }
30
+ /**
31
+ * Return all uri from the current to the top most.
32
+ */
33
+ get allLocations() {
34
+ const locations = [];
35
+ let location = this;
36
+ while (!location.path.isRoot && location.path.hasDir) {
37
+ locations.push(location);
38
+ location = location.parent;
39
+ }
40
+ locations.push(location);
41
+ return locations;
42
+ }
43
+ get parent() {
44
+ if (this.path.isRoot) {
45
+ return this;
46
+ }
47
+ return this.withPath(this.path.dir);
48
+ }
49
+ relative(uri) {
50
+ if (this.authority !== uri.authority || this.scheme !== uri.scheme) {
51
+ return undefined;
52
+ }
53
+ return this.path.relative(uri.path);
54
+ }
55
+ resolve(path) {
56
+ return this.withPath(this.path.join(path.toString()));
57
+ }
58
+ /**
59
+ * return a new URI replacing the current with the given scheme
60
+ */
61
+ withScheme(scheme) {
62
+ const newCodeUri = vscode_uri_1.default.from(Object.assign(Object.assign({}, this.codeUri.toJSON()), { scheme }));
63
+ return new URI(newCodeUri);
64
+ }
65
+ /**
66
+ * return a new URI replacing the current with the given authority
67
+ */
68
+ withAuthority(authority) {
69
+ const newCodeUri = vscode_uri_1.default.from(Object.assign(Object.assign({}, this.codeUri.toJSON()), { scheme: this.codeUri.scheme, authority }));
70
+ return new URI(newCodeUri);
71
+ }
72
+ /**
73
+ * return this URI without a authority
74
+ */
75
+ withoutAuthority() {
76
+ return this.withAuthority('');
77
+ }
78
+ /**
79
+ * return a new URI replacing the current with the given path
80
+ */
81
+ withPath(path) {
82
+ const newCodeUri = vscode_uri_1.default.from(Object.assign(Object.assign({}, this.codeUri.toJSON()), { scheme: this.codeUri.scheme, path: path.toString() }));
83
+ return new URI(newCodeUri);
84
+ }
85
+ /**
86
+ * return this URI without a path
87
+ */
88
+ withoutPath() {
89
+ return this.withPath('');
90
+ }
91
+ /**
92
+ * return a new URI replacing the current with the given query
93
+ */
94
+ withQuery(query) {
95
+ const newCodeUri = vscode_uri_1.default.from(Object.assign(Object.assign({}, this.codeUri.toJSON()), { scheme: this.codeUri.scheme, query }));
96
+ return new URI(newCodeUri);
97
+ }
98
+ /**
99
+ * return this URI without a query
100
+ */
101
+ withoutQuery() {
102
+ return this.withQuery('');
103
+ }
104
+ /**
105
+ * return a new URI replacing the current with the given fragment
106
+ */
107
+ withFragment(fragment) {
108
+ const newCodeUri = vscode_uri_1.default.from(Object.assign(Object.assign({}, this.codeUri.toJSON()), { scheme: this.codeUri.scheme, fragment }));
109
+ return new URI(newCodeUri);
110
+ }
111
+ /**
112
+ * return this URI without a fragment
113
+ */
114
+ withoutFragment() {
115
+ return this.withFragment('');
116
+ }
117
+ /**
118
+ * return a new URI replacing the current with its normalized path, resolving '..' and '.' segments
119
+ */
120
+ normalizePath() {
121
+ return this.withPath(this.path.normalize());
122
+ }
123
+ get scheme() {
124
+ return this.codeUri.scheme;
125
+ }
126
+ get authority() {
127
+ return this.codeUri.authority;
128
+ }
129
+ get path() {
130
+ if (this._path === undefined) {
131
+ this._path = new path_1.Path(this.codeUri.path);
132
+ }
133
+ return this._path;
134
+ }
135
+ get query() {
136
+ return this.codeUri.query;
137
+ }
138
+ get fragment() {
139
+ return this.codeUri.fragment;
140
+ }
141
+ toString(skipEncoding) {
142
+ return this.codeUri.toString(skipEncoding);
143
+ }
144
+ isEqualOrParent(uri) {
145
+ return this.authority === uri.authority && this.scheme === uri.scheme && this.path.isEqualOrParent(uri.path);
146
+ }
147
+ static getDistinctParents(uris) {
148
+ const result = [];
149
+ uris.forEach((uri, i) => {
150
+ if (!uris.some((otherUri, index) => index !== i && otherUri.isEqualOrParent(uri))) {
151
+ result.push(uri);
152
+ }
153
+ });
154
+ return result;
155
+ }
156
+ }
157
+ exports.default = URI;
158
+ //# sourceMappingURL=uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/core/uri.ts"],"names":[],"mappings":";AAAA,oBAAoB;;AAEpB,2CAA6B;AAC7B,iCAA8B;AAE9B,MAAqB,GAAG;IAKpB,YAAY,MAAoB,EAAE;QAC9B,IAAI,GAAG,YAAY,oBAAG,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;SACtB;aAAM;YACH,IAAI,CAAC,OAAO,GAAG,oBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACjC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,WAAW;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI,EAAE;YACN,OAAO,IAAI,CAAC;SACf;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAC/B;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,IAAI,QAAQ,GAAQ,IAAI,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;YAClD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;SAC9B;QACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAClB,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAQ;QACb,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;YAChE,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,IAAmB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACrB,MAAM,UAAU,GAAG,oBAAG,CAAC,IAAI,iCACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KACxB,MAAM,IACR,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC3B,MAAM,UAAU,GAAG,oBAAG,CAAC,IAAI,iCACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAC3B,SAAS,IACX,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAmB;QACxB,MAAM,UAAU,GAAG,oBAAG,CAAC,IAAI,iCACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IACvB,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAa;QACnB,MAAM,UAAU,GAAG,oBAAG,CAAC,IAAI,iCACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAC3B,KAAK,IACP,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB;QACzB,MAAM,UAAU,GAAG,oBAAG,CAAC,IAAI,iCACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KACxB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAC3B,QAAQ,IACV,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,YAAsB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,eAAe,CAAC,GAAQ;QACpB,OAAO,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjH,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,IAAW;QACjC,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;QACL,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AApMD,sBAoMC"}
@@ -0,0 +1 @@
1
+ export {};