1
1
import create from 'zustand' ;
2
- import { persist } from 'zustand/middleware' ;
3
2
4
3
export const schema =
5
4
localStorage . getItem ( 'document' ) || `asyncapi: '2.5.0'
@@ -195,142 +194,9 @@ export type FilesState = {
195
194
directories : Record < string , Directory > ;
196
195
}
197
196
198
- // export type FilesActions = {
199
- // createDirectory: (uri: string, directory: Partial<Directory>) => void;
200
- // updateDirectory: (uri: string, directory: Partial<Directory>) => void;
201
- // removeDirectory: (uri: string) => void;
202
- // createFile: (uri: string, file: Partial<File>) => void;
203
- // updateFile: (uri: string, file: Partial<File>) => void;
204
- // removeFile: (uri: string) => void;
205
- // }
206
-
207
- const files : Record < string , File > = {
208
- 'file1' : {
209
- id : 'file1' ,
210
- type : 'file' ,
211
- uri : 'file1' ,
212
- name : 'file1' ,
213
- content : schema ,
214
- contentVersion : 0 ,
215
- from : 'in-memory' ,
216
- source : undefined ,
217
- language : schema . trimStart ( ) [ 0 ] === '{' ? 'json' : 'yaml' ,
218
- flags : FileFlags . NONE ,
219
- stat : {
220
- mtime : ( new Date ( ) ) . getTime ( ) ,
221
- }
222
- } ,
223
- 'file2' : {
224
- id : 'file2' ,
225
- type : 'file' ,
226
- uri : 'file:///file2' ,
227
- name : 'file2' ,
228
- content : 'lol: 1.2.0' ,
229
- contentVersion : 0 ,
230
- from : 'in-memory' ,
231
- source : undefined ,
232
- language : schema . trimStart ( ) [ 0 ] === '{' ? 'json' : 'yaml' ,
233
- flags : FileFlags . NONE ,
234
- stat : {
235
- mtime : ( new Date ( ) ) . getTime ( ) ,
236
- }
237
- } ,
238
- 'file3' : {
239
- id : 'file3' ,
240
- type : 'file' ,
241
- uri : 'file:///file3' ,
242
- name : 'file3' ,
243
- content : '' ,
244
- contentVersion : 0 ,
245
- from : 'in-memory' ,
246
- source : undefined ,
247
- language : schema . trimStart ( ) [ 0 ] === '{' ? 'json' : 'yaml' ,
248
- flags : FileFlags . NONE ,
249
- stat : {
250
- mtime : ( new Date ( ) ) . getTime ( ) ,
251
- }
252
- } ,
253
- 'asyncapi' : {
254
- id : 'asyncapi' ,
255
- type : 'file' ,
256
- uri : 'file:///asyncapi' ,
257
- name : 'asyncapi' ,
258
- content : schema ,
259
- contentVersion : 0 ,
260
- from : 'in-memory' ,
261
- source : undefined ,
262
- language : schema . trimStart ( ) [ 0 ] === '{' ? 'json' : 'yaml' ,
263
- flags : FileFlags . NONE ,
264
- stat : {
265
- mtime : ( new Date ( ) ) . getTime ( ) ,
266
- }
267
- } ,
268
- }
269
-
270
- const rootDirectory : Directory = {
271
- id : 'root' ,
272
- type : 'directory' ,
273
- uri : 'file:///root' ,
274
- name : 'root' ,
275
- children : [ ] ,
276
- from : 'in-memory' ,
277
- flags : FileFlags . NONE ,
278
- }
279
-
280
- const directories : Record < string , Directory > = {
281
- 'dir1' : {
282
- id : 'dir1' ,
283
- type : 'directory' ,
284
- uri : 'file:///dir1' ,
285
- name : 'dir1' ,
286
- children : [ files [ 'file3' ] ] ,
287
- from : 'in-memory' ,
288
- flags : FileFlags . NONE ,
289
- parent : rootDirectory ,
290
- } ,
291
- 'dir2' : {
292
- id : 'dir2' ,
293
- type : 'directory' ,
294
- uri : 'file:///dir2' ,
295
- name : 'dir2' ,
296
- children : [ files [ 'file2' ] ] ,
297
- from : 'in-memory' ,
298
- flags : FileFlags . NONE ,
299
- parent : rootDirectory ,
300
- }
301
- }
302
-
303
- files [ 'asyncapi' ] . parent = rootDirectory ;
304
- files [ 'file1' ] . parent = rootDirectory ;
305
- files [ 'file2' ] . parent = directories [ 'dir2' ] ;
306
- files [ 'file3' ] . parent = directories [ 'dir1' ] ;
307
- rootDirectory . children = [ directories [ 'dir1' ] , directories [ 'dir2' ] , files [ 'asyncapi' ] , files [ 'file1' ] ] ;
308
-
309
197
export const filesState = create < FilesState > ( ( ) => ( {
310
198
files : { } ,
311
199
directories : { } ,
312
200
} ) ) ;
313
201
314
- // () => ({
315
- // files: files,
316
- // directories: {
317
- // 'root': rootDirectory,
318
- // ...directories,
319
- // },
320
- // }),
321
- // persist<FilesState>(() =>
322
- // ({
323
- // files: files,
324
- // directories: {
325
- // 'root': rootDirectory,
326
- // ...directories,
327
- // },
328
- // }),
329
- // {
330
- // name: 'studio-files',
331
- // getStorage: () => localStorage,
332
- // }
333
- // ),
334
- // );
335
-
336
- export const useFilesState = filesState ;
202
+ export const useFilesState = filesState ;
0 commit comments