MCPcopy Create free account
hub / github.com/ethereum/node-crawler / parseRaw

Function parseRaw

frontend/src/data/DataProcessor.ts:153–189  ·  view source on GitHub ↗
(raw: string, parseOpt: ParseParam)

Source from the content-addressed store, hash-verified

151}
152
153function parseRaw(raw: string, parseOpt: ParseParam): ClientDetail | undefined {
154 const tokenize = raw.split('/')
155 let label: string | undefined
156 let version: Version | undefined
157 let os: OperatingSytem | undefined
158 let runtime: Runtime | undefined
159
160 if (tokenize.length === 5) {
161 label = tokenize[1]
162 version = parseVersion(tokenize[2], parseOpt)
163 os = parseOs(tokenize[3], parseOpt)
164 runtime = parseRuntime(tokenize[4], parseOpt)
165 } else if (tokenize.length === 4) {
166 version = parseVersion(tokenize[1], parseOpt)
167 os = parseOs(tokenize[2], parseOpt)
168 runtime = parseRuntime(tokenize[3], parseOpt)
169 } else if (tokenize.length === 3) {
170 version = parseVersion(tokenize[0], parseOpt)
171 os = parseOs(tokenize[1], parseOpt)
172 runtime = parseRuntime(tokenize[2], parseOpt)
173 } else if (tokenize.length === 2) {
174 os = parseOs(tokenize[0], parseOpt)
175 runtime = parseRuntime(tokenize[1], parseOpt)
176 }
177
178 if (label || version || os || runtime) {
179 return {
180 ...label && { label },
181 ...version && { version },
182 ...os && { os },
183 ...runtime && { runtime },
184 };
185 }
186
187 parseOpt.errorCallback('raw', raw, parseOpt.primaryKey);
188 return undefined;
189}
190
191export function ClientsProcessor(
192 data: ClientApiResponse[],

Callers 1

parseFunction · 0.85

Calls 3

parseOsFunction · 0.85
parseRuntimeFunction · 0.85
parseVersionFunction · 0.70

Tested by

no test coverage detected