take default header names from /api/header-files JSON (#210)
This is a client-side upgrade for the server-side XRPLF/xrpl-hooks-compiler#17 - not hard-coding expected header names but taking them from the compilation backend.
This commit is contained in:
		@@ -23,16 +23,18 @@ export const fetchFiles = (gistId: string) => {
 | 
			
		||||
          return res
 | 
			
		||||
        }
 | 
			
		||||
        // in case of templates, fetch header file(s) and append to res
 | 
			
		||||
        let resHeaderJson;
 | 
			
		||||
        try {
 | 
			
		||||
          const resHeader = await fetch(`${process.env.NEXT_PUBLIC_COMPILE_API_BASE_URL}/api/header-files`);
 | 
			
		||||
          if (resHeader.ok) {
 | 
			
		||||
            resHeaderJson = await resHeader.json();
 | 
			
		||||
            const resHeaderJson = await resHeader.json()
 | 
			
		||||
            const headerFiles: Record<string, { filename: string; content: string; language: string }> = {};
 | 
			
		||||
            Object.entries(resHeaderJson).forEach(([key, value]) => {
 | 
			
		||||
              const fname = `${key}.h`;
 | 
			
		||||
              headerFiles[fname] = { filename: fname, content: value as string, language: 'C' }
 | 
			
		||||
            })
 | 
			
		||||
            const files = {
 | 
			
		||||
              ...res.data.files,
 | 
			
		||||
              'hookapi.h': res.data.files?.['hookapi.h'] || { filename: 'hookapi.h', content: resHeaderJson.hookapi, language: 'C' },
 | 
			
		||||
              'hookmacro.h': res.data.files?.['hookmacro.h'] || { filename: 'hookmacro.h', content: resHeaderJson.hookmacro, language: 'C' },
 | 
			
		||||
              'sfcodes.h': res.data.files?.['sfcodes.h'] || { filename: 'sfcodes.h', content: resHeaderJson.sfcodes, language: 'C' },
 | 
			
		||||
              ...headerFiles
 | 
			
		||||
            };
 | 
			
		||||
            res.data.files = files;
 | 
			
		||||
          }
 | 
			
		||||
@@ -112,4 +114,4 @@ export const fetchFiles = (gistId: string) => {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  state.loading = false;
 | 
			
		||||
};
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user