@depup/angular-devkit__core 21.2.2-depup.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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +25 -0
  3. package/changes.json +5 -0
  4. package/index.d.ts +8 -0
  5. package/index.js +25 -0
  6. package/index.js.map +1 -0
  7. package/node/cli-logger.d.ts +15 -0
  8. package/node/cli-logger.js +58 -0
  9. package/node/cli-logger.js.map +1 -0
  10. package/node/host.d.ts +43 -0
  11. package/node/host.js +211 -0
  12. package/node/host.js.map +1 -0
  13. package/node/index.d.ts +9 -0
  14. package/node/index.js +26 -0
  15. package/node/index.js.map +1 -0
  16. package/node/testing/index.d.ts +20 -0
  17. package/node/testing/index.js +90 -0
  18. package/node/testing/index.js.map +1 -0
  19. package/package.json +76 -0
  20. package/src/exception.d.ts +25 -0
  21. package/src/exception.js +48 -0
  22. package/src/exception.js.map +1 -0
  23. package/src/index.d.ts +15 -0
  24. package/src/index.js +57 -0
  25. package/src/index.js.map +1 -0
  26. package/src/json/index.d.ts +10 -0
  27. package/src/json/index.js +50 -0
  28. package/src/json/index.js.map +1 -0
  29. package/src/json/schema/index.d.ts +15 -0
  30. package/src/json/schema/index.js +55 -0
  31. package/src/json/schema/index.js.map +1 -0
  32. package/src/json/schema/interface.d.ts +84 -0
  33. package/src/json/schema/interface.js +10 -0
  34. package/src/json/schema/interface.js.map +1 -0
  35. package/src/json/schema/pointer.d.ts +11 -0
  36. package/src/json/schema/pointer.js +39 -0
  37. package/src/json/schema/pointer.js.map +1 -0
  38. package/src/json/schema/registry.d.ts +79 -0
  39. package/src/json/schema/registry.js +565 -0
  40. package/src/json/schema/registry.js.map +1 -0
  41. package/src/json/schema/schema.d.ts +22 -0
  42. package/src/json/schema/schema.js +52 -0
  43. package/src/json/schema/schema.js.map +1 -0
  44. package/src/json/schema/transforms.d.ts +12 -0
  45. package/src/json/schema/transforms.js +101 -0
  46. package/src/json/schema/transforms.js.map +1 -0
  47. package/src/json/schema/utility.d.ts +9 -0
  48. package/src/json/schema/utility.js +88 -0
  49. package/src/json/schema/utility.js.map +1 -0
  50. package/src/json/schema/visitor.d.ts +34 -0
  51. package/src/json/schema/visitor.js +147 -0
  52. package/src/json/schema/visitor.js.map +1 -0
  53. package/src/json/utils.d.ts +15 -0
  54. package/src/json/utils.js +18 -0
  55. package/src/json/utils.js.map +1 -0
  56. package/src/logger/indent.d.ts +11 -0
  57. package/src/logger/indent.js +41 -0
  58. package/src/logger/indent.js.map +1 -0
  59. package/src/logger/index.d.ts +12 -0
  60. package/src/logger/index.js +29 -0
  61. package/src/logger/index.js.map +1 -0
  62. package/src/logger/level.d.ts +28 -0
  63. package/src/logger/level.js +51 -0
  64. package/src/logger/level.js.map +1 -0
  65. package/src/logger/logger.d.ts +55 -0
  66. package/src/logger/logger.js +123 -0
  67. package/src/logger/logger.js.map +1 -0
  68. package/src/logger/null-logger.d.ts +12 -0
  69. package/src/logger/null-logger.js +31 -0
  70. package/src/logger/null-logger.js.map +1 -0
  71. package/src/logger/transform-logger.d.ts +12 -0
  72. package/src/logger/transform-logger.js +19 -0
  73. package/src/logger/transform-logger.js.map +1 -0
  74. package/src/utils/index.d.ts +15 -0
  75. package/src/utils/index.js +56 -0
  76. package/src/utils/index.js.map +1 -0
  77. package/src/utils/lang.d.ts +11 -0
  78. package/src/utils/lang.js +21 -0
  79. package/src/utils/lang.js.map +1 -0
  80. package/src/utils/literals.d.ts +15 -0
  81. package/src/utils/literals.js +59 -0
  82. package/src/utils/literals.js.map +1 -0
  83. package/src/utils/object.d.ts +8 -0
  84. package/src/utils/object.js +37 -0
  85. package/src/utils/object.js.map +1 -0
  86. package/src/utils/partially-ordered-set.d.ts +38 -0
  87. package/src/utils/partially-ordered-set.js +145 -0
  88. package/src/utils/partially-ordered-set.js.map +1 -0
  89. package/src/utils/priority-queue.d.ts +19 -0
  90. package/src/utils/priority-queue.js +50 -0
  91. package/src/utils/priority-queue.js.map +1 -0
  92. package/src/utils/strings.d.ts +112 -0
  93. package/src/utils/strings.js +179 -0
  94. package/src/utils/strings.js.map +1 -0
  95. package/src/utils/template.d.ts +89 -0
  96. package/src/utils/template.js +260 -0
  97. package/src/utils/template.js.map +1 -0
  98. package/src/virtual-fs/host/alias.d.ts +60 -0
  99. package/src/virtual-fs/host/alias.js +84 -0
  100. package/src/virtual-fs/host/alias.js.map +1 -0
  101. package/src/virtual-fs/host/buffer.d.ts +10 -0
  102. package/src/virtual-fs/host/buffer.js +22 -0
  103. package/src/virtual-fs/host/buffer.js.map +1 -0
  104. package/src/virtual-fs/host/create.d.ts +21 -0
  105. package/src/virtual-fs/host/create.js +55 -0
  106. package/src/virtual-fs/host/create.js.map +1 -0
  107. package/src/virtual-fs/host/empty.d.ts +19 -0
  108. package/src/virtual-fs/host/empty.js +38 -0
  109. package/src/virtual-fs/host/empty.js.map +1 -0
  110. package/src/virtual-fs/host/index.d.ts +21 -0
  111. package/src/virtual-fs/host/index.js +61 -0
  112. package/src/virtual-fs/host/index.js.map +1 -0
  113. package/src/virtual-fs/host/interface.d.ts +53 -0
  114. package/src/virtual-fs/host/interface.js +18 -0
  115. package/src/virtual-fs/host/interface.js.map +1 -0
  116. package/src/virtual-fs/host/memory.d.ts +49 -0
  117. package/src/virtual-fs/host/memory.js +332 -0
  118. package/src/virtual-fs/host/memory.js.map +1 -0
  119. package/src/virtual-fs/host/pattern.d.ts +17 -0
  120. package/src/virtual-fs/host/pattern.js +35 -0
  121. package/src/virtual-fs/host/pattern.js.map +1 -0
  122. package/src/virtual-fs/host/record.d.ts +92 -0
  123. package/src/virtual-fs/host/record.js +315 -0
  124. package/src/virtual-fs/host/record.js.map +1 -0
  125. package/src/virtual-fs/host/resolver.d.ts +30 -0
  126. package/src/virtual-fs/host/resolver.js +57 -0
  127. package/src/virtual-fs/host/resolver.js.map +1 -0
  128. package/src/virtual-fs/host/safe.d.ts +25 -0
  129. package/src/virtual-fs/host/safe.js +46 -0
  130. package/src/virtual-fs/host/safe.js.map +1 -0
  131. package/src/virtual-fs/host/scoped.d.ts +15 -0
  132. package/src/virtual-fs/host/scoped.js +24 -0
  133. package/src/virtual-fs/host/scoped.js.map +1 -0
  134. package/src/virtual-fs/host/sync.d.ts +34 -0
  135. package/src/virtual-fs/host/sync.js +93 -0
  136. package/src/virtual-fs/host/sync.js.map +1 -0
  137. package/src/virtual-fs/host/test.d.ts +48 -0
  138. package/src/virtual-fs/host/test.js +119 -0
  139. package/src/virtual-fs/host/test.js.map +1 -0
  140. package/src/virtual-fs/index.d.ts +10 -0
  141. package/src/virtual-fs/index.js +50 -0
  142. package/src/virtual-fs/index.js.map +1 -0
  143. package/src/virtual-fs/path.d.ts +111 -0
  144. package/src/virtual-fs/path.js +286 -0
  145. package/src/virtual-fs/path.js.map +1 -0
  146. package/src/workspace/core.d.ts +61 -0
  147. package/src/workspace/core.js +133 -0
  148. package/src/workspace/core.js.map +1 -0
  149. package/src/workspace/definitions.d.ts +63 -0
  150. package/src/workspace/definitions.js +169 -0
  151. package/src/workspace/definitions.js.map +1 -0
  152. package/src/workspace/host.d.ts +15 -0
  153. package/src/workspace/host.js +43 -0
  154. package/src/workspace/host.js.map +1 -0
  155. package/src/workspace/index.d.ts +10 -0
  156. package/src/workspace/index.js +32 -0
  157. package/src/workspace/index.js.map +1 -0
  158. package/src/workspace/json/metadata.d.ts +40 -0
  159. package/src/workspace/json/metadata.js +60 -0
  160. package/src/workspace/json/metadata.js.map +1 -0
  161. package/src/workspace/json/reader.d.ts +14 -0
  162. package/src/workspace/json/reader.js +231 -0
  163. package/src/workspace/json/reader.js.map +1 -0
  164. package/src/workspace/json/utilities.d.ts +14 -0
  165. package/src/workspace/json/utilities.js +113 -0
  166. package/src/workspace/json/utilities.js.map +1 -0
  167. package/src/workspace/json/writer.d.ts +12 -0
  168. package/src/workspace/json/writer.js +145 -0
  169. package/src/workspace/json/writer.js.map +1 -0
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Observable } from 'rxjs';
9
+ import { Path, PathFragment } from '../path';
10
+ import { FileBuffer, Host, HostCapabilities, HostWatchOptions, ReadonlyHost, Stats } from './interface';
11
+ import { SimpleMemoryHost } from './memory';
12
+ export interface CordHostCreate {
13
+ kind: 'create';
14
+ path: Path;
15
+ content: FileBuffer;
16
+ }
17
+ export interface CordHostOverwrite {
18
+ kind: 'overwrite';
19
+ path: Path;
20
+ content: FileBuffer;
21
+ }
22
+ export interface CordHostRename {
23
+ kind: 'rename';
24
+ from: Path;
25
+ to: Path;
26
+ }
27
+ export interface CordHostDelete {
28
+ kind: 'delete';
29
+ path: Path;
30
+ }
31
+ export type CordHostRecord = CordHostCreate | CordHostOverwrite | CordHostRename | CordHostDelete;
32
+ /**
33
+ * A Host that records changes to the underlying Host, while keeping a record of Create, Overwrite,
34
+ * Rename and Delete of files.
35
+ *
36
+ * This is fully compatible with Host, but will keep a staging of every changes asked. That staging
37
+ * follows the principle of the Tree (e.g. can create a file that already exists).
38
+ *
39
+ * Using `create()` and `overwrite()` will force those operations, but using `write` will add
40
+ * the create/overwrite records IIF the files does/doesn't already exist.
41
+ */
42
+ export declare class CordHost extends SimpleMemoryHost {
43
+ protected _back: ReadonlyHost;
44
+ protected _filesToCreate: Set<Path>;
45
+ protected _filesToRename: Map<Path, Path>;
46
+ protected _filesToRenameRevert: Map<Path, Path>;
47
+ protected _filesToDelete: Set<Path>;
48
+ protected _filesToOverwrite: Set<Path>;
49
+ constructor(_back: ReadonlyHost);
50
+ get backend(): ReadonlyHost;
51
+ get capabilities(): HostCapabilities;
52
+ /**
53
+ * Create a copy of this host, including all actions made.
54
+ * @returns {CordHost} The carbon copy.
55
+ */
56
+ clone(): CordHost;
57
+ /**
58
+ * Commit the changes recorded to a Host. It is assumed that the host does have the same structure
59
+ * as the host that was used for backend (could be the same host).
60
+ * @param host The host to create/delete/rename/overwrite files to.
61
+ * @param force Whether to skip existence checks when creating/overwriting. This is
62
+ * faster but might lead to incorrect states. Because Hosts natively don't support creation
63
+ * versus overwriting (it's only writing), we check for existence before completing a request.
64
+ * @returns An observable that completes when done, or error if an error occured.
65
+ */
66
+ commit(host: Host, force?: boolean): Observable<void>;
67
+ records(): CordHostRecord[];
68
+ /**
69
+ * Specialized version of {@link CordHost#write} which forces the creation of a file whether it
70
+ * exists or not.
71
+ * @param {} path
72
+ * @param {FileBuffer} content
73
+ * @returns {Observable<void>}
74
+ */
75
+ create(path: Path, content: FileBuffer): Observable<void>;
76
+ overwrite(path: Path, content: FileBuffer): Observable<void>;
77
+ write(path: Path, content: FileBuffer): Observable<void>;
78
+ read(path: Path): Observable<FileBuffer>;
79
+ delete(path: Path): Observable<void>;
80
+ rename(from: Path, to: Path): Observable<void>;
81
+ list(path: Path): Observable<PathFragment[]>;
82
+ exists(path: Path): Observable<boolean>;
83
+ isDirectory(path: Path): Observable<boolean>;
84
+ isFile(path: Path): Observable<boolean>;
85
+ stat(path: Path): Observable<Stats | null> | null;
86
+ watch(path: Path, options?: HostWatchOptions): null;
87
+ willCreate(path: Path): boolean;
88
+ willOverwrite(path: Path): boolean;
89
+ willDelete(path: Path): boolean;
90
+ willRename(path: Path): boolean;
91
+ willRenameTo(path: Path, to: Path): boolean;
92
+ }
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CordHost = void 0;
11
+ const rxjs_1 = require("rxjs");
12
+ const exception_1 = require("../../exception");
13
+ const memory_1 = require("./memory");
14
+ /**
15
+ * A Host that records changes to the underlying Host, while keeping a record of Create, Overwrite,
16
+ * Rename and Delete of files.
17
+ *
18
+ * This is fully compatible with Host, but will keep a staging of every changes asked. That staging
19
+ * follows the principle of the Tree (e.g. can create a file that already exists).
20
+ *
21
+ * Using `create()` and `overwrite()` will force those operations, but using `write` will add
22
+ * the create/overwrite records IIF the files does/doesn't already exist.
23
+ */
24
+ class CordHost extends memory_1.SimpleMemoryHost {
25
+ _back;
26
+ _filesToCreate = new Set();
27
+ _filesToRename = new Map();
28
+ _filesToRenameRevert = new Map();
29
+ _filesToDelete = new Set();
30
+ _filesToOverwrite = new Set();
31
+ constructor(_back) {
32
+ super();
33
+ this._back = _back;
34
+ }
35
+ get backend() {
36
+ return this._back;
37
+ }
38
+ get capabilities() {
39
+ // Our own host is always Synchronous, but the backend might not be.
40
+ return {
41
+ synchronous: this._back.capabilities.synchronous,
42
+ };
43
+ }
44
+ /**
45
+ * Create a copy of this host, including all actions made.
46
+ * @returns {CordHost} The carbon copy.
47
+ */
48
+ clone() {
49
+ const dolly = new CordHost(this._back);
50
+ dolly._cache = new Map(this._cache);
51
+ dolly._filesToCreate = new Set(this._filesToCreate);
52
+ dolly._filesToRename = new Map(this._filesToRename);
53
+ dolly._filesToRenameRevert = new Map(this._filesToRenameRevert);
54
+ dolly._filesToDelete = new Set(this._filesToDelete);
55
+ dolly._filesToOverwrite = new Set(this._filesToOverwrite);
56
+ return dolly;
57
+ }
58
+ /**
59
+ * Commit the changes recorded to a Host. It is assumed that the host does have the same structure
60
+ * as the host that was used for backend (could be the same host).
61
+ * @param host The host to create/delete/rename/overwrite files to.
62
+ * @param force Whether to skip existence checks when creating/overwriting. This is
63
+ * faster but might lead to incorrect states. Because Hosts natively don't support creation
64
+ * versus overwriting (it's only writing), we check for existence before completing a request.
65
+ * @returns An observable that completes when done, or error if an error occured.
66
+ */
67
+ commit(host, force = false) {
68
+ // Really commit everything to the actual host.
69
+ return (0, rxjs_1.from)(this.records()).pipe((0, rxjs_1.concatMap)((record) => {
70
+ switch (record.kind) {
71
+ case 'delete':
72
+ return host.delete(record.path);
73
+ case 'rename':
74
+ return host.rename(record.from, record.to);
75
+ case 'create':
76
+ return host.exists(record.path).pipe((0, rxjs_1.switchMap)((exists) => {
77
+ if (exists && !force) {
78
+ return (0, rxjs_1.throwError)(new exception_1.FileAlreadyExistException(record.path));
79
+ }
80
+ else {
81
+ return host.write(record.path, record.content);
82
+ }
83
+ }));
84
+ case 'overwrite':
85
+ return host.exists(record.path).pipe((0, rxjs_1.switchMap)((exists) => {
86
+ if (!exists && !force) {
87
+ return (0, rxjs_1.throwError)(new exception_1.FileDoesNotExistException(record.path));
88
+ }
89
+ else {
90
+ return host.write(record.path, record.content);
91
+ }
92
+ }));
93
+ }
94
+ }), (0, rxjs_1.reduce)(() => { }));
95
+ }
96
+ records() {
97
+ return [
98
+ ...[...this._filesToDelete.values()].map((path) => ({
99
+ kind: 'delete',
100
+ path,
101
+ })),
102
+ ...[...this._filesToRename.entries()].map(([from, to]) => ({
103
+ kind: 'rename',
104
+ from,
105
+ to,
106
+ })),
107
+ ...[...this._filesToCreate.values()].map((path) => ({
108
+ kind: 'create',
109
+ path,
110
+ content: this._read(path),
111
+ })),
112
+ ...[...this._filesToOverwrite.values()].map((path) => ({
113
+ kind: 'overwrite',
114
+ path,
115
+ content: this._read(path),
116
+ })),
117
+ ];
118
+ }
119
+ /**
120
+ * Specialized version of {@link CordHost#write} which forces the creation of a file whether it
121
+ * exists or not.
122
+ * @param {} path
123
+ * @param {FileBuffer} content
124
+ * @returns {Observable<void>}
125
+ */
126
+ create(path, content) {
127
+ if (super._exists(path)) {
128
+ throw new exception_1.FileAlreadyExistException(path);
129
+ }
130
+ if (this._filesToDelete.has(path)) {
131
+ this._filesToDelete.delete(path);
132
+ this._filesToOverwrite.add(path);
133
+ }
134
+ else {
135
+ this._filesToCreate.add(path);
136
+ }
137
+ return super.write(path, content);
138
+ }
139
+ overwrite(path, content) {
140
+ return this.isDirectory(path).pipe((0, rxjs_1.switchMap)((isDir) => {
141
+ if (isDir) {
142
+ return (0, rxjs_1.throwError)(new exception_1.PathIsDirectoryException(path));
143
+ }
144
+ return this.exists(path);
145
+ }), (0, rxjs_1.switchMap)((exists) => {
146
+ if (!exists) {
147
+ return (0, rxjs_1.throwError)(new exception_1.FileDoesNotExistException(path));
148
+ }
149
+ if (!this._filesToCreate.has(path)) {
150
+ this._filesToOverwrite.add(path);
151
+ }
152
+ return super.write(path, content);
153
+ }));
154
+ }
155
+ write(path, content) {
156
+ return this.exists(path).pipe((0, rxjs_1.switchMap)((exists) => {
157
+ if (exists) {
158
+ // It exists, but might be being renamed or deleted. In that case we want to create it.
159
+ if (this.willRename(path) || this.willDelete(path)) {
160
+ return this.create(path, content);
161
+ }
162
+ else {
163
+ return this.overwrite(path, content);
164
+ }
165
+ }
166
+ else {
167
+ return this.create(path, content);
168
+ }
169
+ }));
170
+ }
171
+ read(path) {
172
+ if (this._exists(path)) {
173
+ return super.read(path);
174
+ }
175
+ return this._back.read(path);
176
+ }
177
+ delete(path) {
178
+ if (this._exists(path)) {
179
+ if (this._filesToCreate.has(path)) {
180
+ this._filesToCreate.delete(path);
181
+ }
182
+ else if (this._filesToOverwrite.has(path)) {
183
+ this._filesToOverwrite.delete(path);
184
+ this._filesToDelete.add(path);
185
+ }
186
+ else {
187
+ const maybeOrigin = this._filesToRenameRevert.get(path);
188
+ if (maybeOrigin) {
189
+ this._filesToRenameRevert.delete(path);
190
+ this._filesToRename.delete(maybeOrigin);
191
+ this._filesToDelete.add(maybeOrigin);
192
+ }
193
+ else {
194
+ return (0, rxjs_1.throwError)(new exception_1.UnknownException(`This should never happen. Path: ${JSON.stringify(path)}.`));
195
+ }
196
+ }
197
+ return super.delete(path);
198
+ }
199
+ else {
200
+ return this._back.exists(path).pipe((0, rxjs_1.switchMap)((exists) => {
201
+ if (exists) {
202
+ this._filesToDelete.add(path);
203
+ return (0, rxjs_1.of)();
204
+ }
205
+ else {
206
+ return (0, rxjs_1.throwError)(new exception_1.FileDoesNotExistException(path));
207
+ }
208
+ }));
209
+ }
210
+ }
211
+ rename(from, to) {
212
+ return (0, rxjs_1.concat)(this.exists(to), this.exists(from)).pipe((0, rxjs_1.toArray)(), (0, rxjs_1.switchMap)(([existTo, existFrom]) => {
213
+ if (!existFrom) {
214
+ return (0, rxjs_1.throwError)(new exception_1.FileDoesNotExistException(from));
215
+ }
216
+ if (from === to) {
217
+ return rxjs_1.EMPTY;
218
+ }
219
+ if (existTo) {
220
+ return (0, rxjs_1.throwError)(new exception_1.FileAlreadyExistException(to));
221
+ }
222
+ // If we're renaming a file that's been created, shortcircuit to creating the `to` path.
223
+ if (this._filesToCreate.has(from)) {
224
+ this._filesToCreate.delete(from);
225
+ this._filesToCreate.add(to);
226
+ return super.rename(from, to);
227
+ }
228
+ if (this._filesToOverwrite.has(from)) {
229
+ this._filesToOverwrite.delete(from);
230
+ // Recursively call this function. This is so we don't repeat the bottom logic. This
231
+ // if will be by-passed because we just deleted the `from` path from files to overwrite.
232
+ return (0, rxjs_1.concat)(this.rename(from, to), new rxjs_1.Observable((x) => {
233
+ this._filesToOverwrite.add(to);
234
+ x.complete();
235
+ }));
236
+ }
237
+ if (this._filesToDelete.has(to)) {
238
+ this._filesToDelete.delete(to);
239
+ this._filesToDelete.add(from);
240
+ this._filesToOverwrite.add(to);
241
+ // We need to delete the original and write the new one.
242
+ return this.read(from).pipe((0, rxjs_1.map)((content) => this._write(to, content)));
243
+ }
244
+ const maybeTo1 = this._filesToRenameRevert.get(from);
245
+ if (maybeTo1) {
246
+ // We already renamed to this file (A => from), let's rename the former to the new
247
+ // path (A => to).
248
+ this._filesToRename.delete(maybeTo1);
249
+ this._filesToRenameRevert.delete(from);
250
+ from = maybeTo1;
251
+ }
252
+ this._filesToRename.set(from, to);
253
+ this._filesToRenameRevert.set(to, from);
254
+ // If the file is part of our data, just rename it internally.
255
+ if (this._exists(from)) {
256
+ return super.rename(from, to);
257
+ }
258
+ else {
259
+ // Create a file with the same content.
260
+ return this._back.read(from).pipe((0, rxjs_1.switchMap)((content) => super.write(to, content)));
261
+ }
262
+ }));
263
+ }
264
+ list(path) {
265
+ return (0, rxjs_1.concat)(super.list(path), this._back.list(path)).pipe((0, rxjs_1.reduce)((list, curr) => {
266
+ curr.forEach((elem) => list.add(elem));
267
+ return list;
268
+ }, new Set()), (0, rxjs_1.map)((set) => [...set]));
269
+ }
270
+ exists(path) {
271
+ return this._exists(path)
272
+ ? (0, rxjs_1.of)(true)
273
+ : this.willDelete(path) || this.willRename(path)
274
+ ? (0, rxjs_1.of)(false)
275
+ : this._back.exists(path);
276
+ }
277
+ isDirectory(path) {
278
+ return this._exists(path) ? super.isDirectory(path) : this._back.isDirectory(path);
279
+ }
280
+ isFile(path) {
281
+ return this._exists(path)
282
+ ? super.isFile(path)
283
+ : this.willDelete(path) || this.willRename(path)
284
+ ? (0, rxjs_1.of)(false)
285
+ : this._back.isFile(path);
286
+ }
287
+ stat(path) {
288
+ return this._exists(path)
289
+ ? super.stat(path)
290
+ : this.willDelete(path) || this.willRename(path)
291
+ ? (0, rxjs_1.of)(null)
292
+ : this._back.stat(path);
293
+ }
294
+ watch(path, options) {
295
+ // Watching not supported.
296
+ return null;
297
+ }
298
+ willCreate(path) {
299
+ return this._filesToCreate.has(path);
300
+ }
301
+ willOverwrite(path) {
302
+ return this._filesToOverwrite.has(path);
303
+ }
304
+ willDelete(path) {
305
+ return this._filesToDelete.has(path);
306
+ }
307
+ willRename(path) {
308
+ return this._filesToRename.has(path);
309
+ }
310
+ willRenameTo(path, to) {
311
+ return this._filesToRename.get(path) === to;
312
+ }
313
+ }
314
+ exports.CordHost = CordHost;
315
+ //# sourceMappingURL=record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Observable } from 'rxjs';
9
+ import { Path, PathFragment } from '../path';
10
+ import { FileBuffer, Host, HostCapabilities, HostWatchEvent, HostWatchOptions, Stats } from './interface';
11
+ /**
12
+ * A Host that runs a method before calling its delegate. This is an abstract class and its actual
13
+ * behaviour is entirely dependant of the subclass.
14
+ */
15
+ export declare abstract class ResolverHost<T extends object> implements Host<T> {
16
+ protected _delegate: Host<T>;
17
+ protected abstract _resolve(path: Path): Path;
18
+ constructor(_delegate: Host<T>);
19
+ get capabilities(): HostCapabilities;
20
+ write(path: Path, content: FileBuffer): Observable<void>;
21
+ read(path: Path): Observable<FileBuffer>;
22
+ delete(path: Path): Observable<void>;
23
+ rename(from: Path, to: Path): Observable<void>;
24
+ list(path: Path): Observable<PathFragment[]>;
25
+ exists(path: Path): Observable<boolean>;
26
+ isDirectory(path: Path): Observable<boolean>;
27
+ isFile(path: Path): Observable<boolean>;
28
+ stat(path: Path): Observable<Stats<T> | null> | null;
29
+ watch(path: Path, options?: HostWatchOptions): Observable<HostWatchEvent> | null;
30
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ResolverHost = void 0;
11
+ /**
12
+ * A Host that runs a method before calling its delegate. This is an abstract class and its actual
13
+ * behaviour is entirely dependant of the subclass.
14
+ */
15
+ class ResolverHost {
16
+ _delegate;
17
+ constructor(_delegate) {
18
+ this._delegate = _delegate;
19
+ }
20
+ get capabilities() {
21
+ return this._delegate.capabilities;
22
+ }
23
+ write(path, content) {
24
+ return this._delegate.write(this._resolve(path), content);
25
+ }
26
+ read(path) {
27
+ return this._delegate.read(this._resolve(path));
28
+ }
29
+ delete(path) {
30
+ return this._delegate.delete(this._resolve(path));
31
+ }
32
+ rename(from, to) {
33
+ return this._delegate.rename(this._resolve(from), this._resolve(to));
34
+ }
35
+ list(path) {
36
+ return this._delegate.list(this._resolve(path));
37
+ }
38
+ exists(path) {
39
+ return this._delegate.exists(this._resolve(path));
40
+ }
41
+ isDirectory(path) {
42
+ return this._delegate.isDirectory(this._resolve(path));
43
+ }
44
+ isFile(path) {
45
+ return this._delegate.isFile(this._resolve(path));
46
+ }
47
+ // Some hosts may not support stat.
48
+ stat(path) {
49
+ return this._delegate.stat(this._resolve(path));
50
+ }
51
+ // Some hosts may not support watching.
52
+ watch(path, options) {
53
+ return this._delegate.watch(this._resolve(path), options);
54
+ }
55
+ }
56
+ exports.ResolverHost = ResolverHost;
57
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["resolver.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAaH;;;GAGG;AACH,MAAsB,YAAY;IAGV;IAAtB,YAAsB,SAAkB;QAAlB,cAAS,GAAT,SAAS,CAAS;IAAG,CAAC;IAE5C,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAU,EAAE,OAAmB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,IAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,CAAC,IAAU,EAAE,EAAQ;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,IAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,WAAW,CAAC,IAAU;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,IAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,IAAU,EAAE,OAA0B;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF;AA7CD,oCA6CC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Observable } from 'rxjs';
9
+ import { Path, PathFragment } from '../path';
10
+ import { FileBuffer, HostCapabilities, ReadonlyHost, Stats } from './interface';
11
+ /**
12
+ * A Host that filters out errors. The only exception is `read()` which will still error out if
13
+ * the delegate returned an error (e.g. NodeJS will error out if the file doesn't exist).
14
+ */
15
+ export declare class SafeReadonlyHost<StatsT extends object = {}> implements ReadonlyHost<StatsT> {
16
+ private _delegate;
17
+ constructor(_delegate: ReadonlyHost<StatsT>);
18
+ get capabilities(): HostCapabilities;
19
+ read(path: Path): Observable<FileBuffer>;
20
+ list(path: Path): Observable<PathFragment[]>;
21
+ exists(path: Path): Observable<boolean>;
22
+ isDirectory(path: Path): Observable<boolean>;
23
+ isFile(path: Path): Observable<boolean>;
24
+ stat(path: Path): Observable<Stats<StatsT> | null> | null;
25
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SafeReadonlyHost = void 0;
11
+ const rxjs_1 = require("rxjs");
12
+ /**
13
+ * A Host that filters out errors. The only exception is `read()` which will still error out if
14
+ * the delegate returned an error (e.g. NodeJS will error out if the file doesn't exist).
15
+ */
16
+ class SafeReadonlyHost {
17
+ _delegate;
18
+ constructor(_delegate) {
19
+ this._delegate = _delegate;
20
+ }
21
+ get capabilities() {
22
+ return this._delegate.capabilities;
23
+ }
24
+ read(path) {
25
+ return this._delegate.read(path);
26
+ }
27
+ list(path) {
28
+ return this._delegate.list(path).pipe((0, rxjs_1.catchError)(() => (0, rxjs_1.of)([])));
29
+ }
30
+ exists(path) {
31
+ return this._delegate.exists(path);
32
+ }
33
+ isDirectory(path) {
34
+ return this._delegate.isDirectory(path).pipe((0, rxjs_1.catchError)(() => (0, rxjs_1.of)(false)));
35
+ }
36
+ isFile(path) {
37
+ return this._delegate.isFile(path).pipe((0, rxjs_1.catchError)(() => (0, rxjs_1.of)(false)));
38
+ }
39
+ // Some hosts may not support stats.
40
+ stat(path) {
41
+ const maybeStat = this._delegate.stat(path);
42
+ return maybeStat && maybeStat.pipe((0, rxjs_1.catchError)(() => (0, rxjs_1.of)(null)));
43
+ }
44
+ }
45
+ exports.SafeReadonlyHost = SafeReadonlyHost;
46
+ //# sourceMappingURL=safe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.js","sourceRoot":"","sources":["safe.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+BAAkD;AAIlD;;;GAGG;AACH,MAAa,gBAAgB;IACP;IAApB,YAAoB,SAA+B;QAA/B,cAAS,GAAT,SAAS,CAAsB;IAAG,CAAC;IAEvD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAU;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,SAAE,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,WAAW,CAAC,IAAU;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,SAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,CAAC,IAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,SAAE,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,IAAU;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;CACF;AA/BD,4CA+BC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Path } from '../path';
9
+ import { Host } from './interface';
10
+ import { ResolverHost } from './resolver';
11
+ export declare class ScopedHost<T extends object> extends ResolverHost<T> {
12
+ protected _root: Path;
13
+ constructor(delegate: Host<T>, _root?: Path);
14
+ protected _resolve(path: Path): Path;
15
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ScopedHost = void 0;
11
+ const path_1 = require("../path");
12
+ const resolver_1 = require("./resolver");
13
+ class ScopedHost extends resolver_1.ResolverHost {
14
+ _root;
15
+ constructor(delegate, _root = path_1.NormalizedRoot) {
16
+ super(delegate);
17
+ this._root = _root;
18
+ }
19
+ _resolve(path) {
20
+ return (0, path_1.join)(this._root, path);
21
+ }
22
+ }
23
+ exports.ScopedHost = ScopedHost;
24
+ //# sourceMappingURL=scoped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped.js","sourceRoot":"","sources":["scoped.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,kCAAqD;AAErD,yCAA0C;AAE1C,MAAa,UAA6B,SAAQ,uBAAe;IAGnD;IAFZ,YACE,QAAiB,EACP,QAAc,qBAAc;QAEtC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAFN,UAAK,GAAL,KAAK,CAAuB;IAGxC,CAAC;IAES,QAAQ,CAAC,IAAU;QAC3B,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAXD,gCAWC"}