• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

visgl / loaders.gl / 20352515932

18 Dec 2025 09:56PM UTC coverage: 35.115% (-28.4%) from 63.485%
20352515932

push

github

web-flow
feat(loader-utils): Export is-type helpers (#3258)

1188 of 1998 branches covered (59.46%)

Branch coverage included in aggregate %.

147 of 211 new or added lines in 13 files covered. (69.67%)

30011 existing lines in 424 files now uncovered.

37457 of 108056 relevant lines covered (34.66%)

0.79 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

78.57
/modules/netcdf/src/netcdf-loader.ts
1
import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
1✔
2
import type {NetCDFHeader} from './netcdfjs/netcdf-types';
1✔
3
import {NetCDFReader} from './netcdfjs/netcdf-reader';
1✔
4

1✔
5
// __VERSION__ is injected by babel-plugin-version-inline
1✔
6
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
1✔
7
const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
1!
8

1✔
9
export type NetCDF = {
1✔
10
  loaderData: NetCDFHeader;
1✔
11
  data: {[variableName: string]: any[][]};
1✔
12
};
1✔
13

1✔
14
export type NetCDFLoaderOptions = LoaderOptions & {
1✔
15
  netcdf?: {
1✔
16
    loadData?: boolean;
1✔
17
    loadVariables?: boolean;
1✔
18
  };
1✔
19
};
1✔
20

1✔
21
/**
1✔
22
 * Worker loader for NETCDF
1✔
23
 */
1✔
24
export const NetCDFWorkerLoader = {
1✔
25
  dataType: null as unknown as NetCDF,
1✔
26
  batchType: null as never,
1✔
27

1✔
28
  name: 'NetCDF',
1✔
29
  id: 'mvt',
1✔
30
  module: 'mvt',
1✔
31
  version: VERSION,
1✔
32
  extensions: ['cdf', 'nc'],
1✔
33
  mimeTypes: [
1✔
34
    'application/netcdf',
1✔
35
    'application/x-netcdf'
1✔
36
    // 'application/octet-stream'
1✔
37
  ],
1✔
38
  category: 'image',
1✔
39
  options: {
1✔
40
    netcdf: {
1✔
41
      loadVariables: false
1✔
42
    }
1✔
43
  }
1✔
44
} as const satisfies Loader<NetCDF, never, NetCDFLoaderOptions>;
1✔
45

1✔
46
/**
1✔
47
 * Loader for the NetCDF format
1✔
48
 */
1✔
49
export const NetCDFLoader = {
1✔
50
  ...NetCDFWorkerLoader,
1✔
51
  parse: async (arrayBuffer, options) => parseNetCDF(arrayBuffer, options),
1✔
52
  binary: true
1✔
53
} as const satisfies LoaderWithParser<NetCDF, never, NetCDFLoaderOptions>;
1✔
54

1✔
UNCOV
55
function parseNetCDF(arrayBuffer: ArrayBuffer, options?: NetCDFLoaderOptions): NetCDF {
×
UNCOV
56
  const reader = new NetCDFReader(arrayBuffer);
×
UNCOV
57
  const variables: {[variableName: string]: any[][]} = {};
×
UNCOV
58
  if (options?.netcdf?.loadData) {
×
UNCOV
59
    for (const variable of reader.variables) {
×
UNCOV
60
      variables[variable.name] = reader.getDataVariable(variable);
×
UNCOV
61
    }
×
UNCOV
62
  }
×
UNCOV
63
  return {
×
UNCOV
64
    loaderData: reader.header,
×
UNCOV
65
    data: variables
×
UNCOV
66
  };
×
UNCOV
67
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc