@earthyscience/netcdf4-wasm 0.1.2 → 0.2.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.
package/dist/netcdf4.d.ts CHANGED
@@ -35,20 +35,25 @@ export declare class NetCDF4 extends Group {
35
35
  closeFile(ncid: number): Promise<void>;
36
36
  private requestId;
37
37
  private callWorker;
38
- getGlobalAttributes(): Promise<Record<string, any>>;
39
- getFullMetadata(): Promise<Record<string, any>[]>;
38
+ getGlobalAttributes(groupPath?: string): Promise<Record<string, any>>;
39
+ getFullMetadata(groupPath?: string): Promise<Record<string, any>[]>;
40
40
  getAttributeValues(varid: number, attname: string): Promise<any>;
41
- getDimCount(): Promise<number>;
42
- getVariables(): Promise<Record<string, any>>;
43
- getVarIDs(): Promise<number[] | Int32Array>;
44
- getDimIDs(): Promise<number[] | Int32Array>;
45
- getDim(dimid: number): Promise<Record<string, any>>;
46
- getDims(): Promise<Record<string, any>>;
47
- getVarCount(): Promise<number>;
41
+ getDimCount(ncid?: number): Promise<number>;
42
+ getGroupVariables(groupPath?: string): Promise<Record<string, any>>;
43
+ getVarIDs(ncid?: number): Promise<number[] | Int32Array>;
44
+ getDimIDs(ncid?: number): Promise<number[] | Int32Array>;
45
+ getDim(dimid: number, ncid?: number): Promise<Record<string, any>>;
46
+ getDims(groupPath?: string): Promise<Record<string, any>>;
47
+ getVarCount(ncid?: number): Promise<number>;
48
48
  getAttributeName(varid: number, attId: number): Promise<string | undefined>;
49
- getVariableInfo(variable: number | string): Promise<Record<string, any>>;
50
- getVariableArray(variable: number | string): Promise<Float32Array | Float64Array | Int16Array | Int32Array | BigInt64Array | BigInt[] | string[]>;
51
- getSlicedVariableArray(variable: number | string, start: number[], count: number[]): Promise<Float32Array | Float64Array | Int16Array | Int32Array | BigInt64Array | BigInt[] | string[]>;
49
+ getVariableInfo(variable: number | string, groupPath?: string): Promise<Record<string, any>>;
50
+ getVariableArray(variable: number | string, groupPath?: string): Promise<Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array | string[]>;
51
+ getSlicedVariableArray(variable: number | string, start: number[], count: number[], groupPath?: string): Promise<Int8Array | Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array | string[]>;
52
+ getGroups(ncid?: number): Promise<Record<string, number>>;
53
+ getGroupsRecursive(ncid?: number): Promise<Record<string, any>>;
54
+ getGroupNCID(groupPath: string): Promise<number>;
55
+ getGroupName(ncid?: number): Promise<string>;
56
+ getGroupPath(ncid?: number): Promise<string>;
52
57
  defineDimension(ncid: number, name: string, size: number): Promise<number>;
53
58
  defineVariable(ncid: number, name: string, type: number, dimids: number[]): Promise<number>;
54
59
  endDefineMode(ncid: number): Promise<void>;
@@ -60,5 +65,127 @@ export declare class NetCDF4 extends Group {
60
65
  toArrayBuffer(): Promise<ArrayBuffer>;
61
66
  toBlob(type?: string): Promise<Blob>;
62
67
  toString(): string;
68
+ /**
69
+ * Get complete hierarchy of groups, variables, dimensions, and attributes
70
+ * This is the unified method for exploring the entire file structure
71
+ * @param groupPath - Optional path to start from a specific group
72
+ */
73
+ getCompleteHierarchy(groupPath?: string): Promise<Record<string, any>>;
74
+ /**
75
+ * Get all variables recursively from all groups
76
+ * Returns a flat dictionary with full path keys like "/group1/var1"
77
+ */
78
+ getVariables(): Promise<Record<string, any>>;
79
+ }
80
+ export interface GroupNode {
81
+ name: string;
82
+ path: string;
83
+ children: GroupNode[];
84
+ hasVariables: boolean;
85
+ hasAttributes: boolean;
86
+ variableCount: number;
87
+ attributeCount: number;
88
+ }
89
+ /**
90
+ * UI-friendly wrapper around NetCDF4
91
+ * Builds a full dataTree of groups, variables, attributes with enhanced navigation
92
+ */
93
+ export declare class DataTree {
94
+ private dataset;
95
+ tree: Record<string, any>;
96
+ private groupTreeCache;
97
+ constructor(dataset: NetCDF4);
98
+ buildTree(): Promise<void>;
99
+ getGroup(groupPath?: string): Record<string, any> | null;
100
+ getGroupName(groupPath?: string): string;
101
+ hasSubgroups(groupPath?: string): boolean;
102
+ /** immediate children only */
103
+ listGroups(groupPath?: string): {
104
+ name: string;
105
+ path: string;
106
+ }[];
107
+ /** every group recursively */
108
+ listAllGroups(): {
109
+ name: string;
110
+ path: string;
111
+ }[];
112
+ /**
113
+ * Build a hierarchical tree structure of all groups
114
+ * Returns a tree with parent-child relationships
115
+ * Results are cached until buildTree() is called again
116
+ */
117
+ buildGroupTree(): GroupNode;
118
+ /**
119
+ * Get a specific node from the group tree by path
120
+ */
121
+ getGroupNode(path: string): GroupNode | null;
122
+ /**
123
+ * Get breadcrumb trail for a given path
124
+ * Returns array of {name, path} from root to target
125
+ */
126
+ getBreadcrumbs(groupPath: string): {
127
+ name: string;
128
+ path: string;
129
+ }[];
130
+ /**
131
+ * Search for groups by name (case-insensitive)
132
+ */
133
+ searchGroups(query: string): {
134
+ name: string;
135
+ path: string;
136
+ }[];
137
+ /** variables inside a group */
138
+ getAllVariables(groupPath?: string): Record<string, any>;
139
+ /** check if group has variables */
140
+ hasVariables(groupPath?: string): boolean;
141
+ /** count variables in a group */
142
+ getVariableCount(groupPath?: string): number;
143
+ /** get variable names as array */
144
+ getVariableNames(groupPath?: string): string[];
145
+ /**
146
+ * Search for variables by name across all groups
147
+ */
148
+ searchVariables(query: string): {
149
+ name: string;
150
+ groupPath: string;
151
+ path: string;
152
+ }[];
153
+ /** attributes from the tree (fast) */
154
+ getAttributes(groupPath?: string): Record<string, any>;
155
+ /** check if group has attributes */
156
+ hasAttributes(groupPath?: string): boolean;
157
+ /** count attributes in a group */
158
+ getAttributeCount(groupPath?: string): number;
159
+ /** get dimensions for a group */
160
+ getDimensions(groupPath?: string): Record<string, any>;
161
+ /** check if group has dimensions */
162
+ hasDimensions(groupPath?: string): boolean;
163
+ /** count dimensions in a group */
164
+ getDimensionCount(groupPath?: string): number;
165
+ /**
166
+ * Get summary statistics for a group
167
+ */
168
+ getGroupSummary(groupPath?: string): {
169
+ path: string;
170
+ name: string;
171
+ variableCount: number;
172
+ attributeCount: number;
173
+ dimensionCount: number;
174
+ subgroupCount: number;
175
+ hasSubgroups: boolean;
176
+ } | null;
177
+ /**
178
+ * Get complete statistics for the entire dataset
179
+ */
180
+ getDatasetSummary(): {
181
+ totalGroups: number;
182
+ totalVariables: number;
183
+ totalAttributes: number;
184
+ totalDimensions: number;
185
+ maxDepth: number;
186
+ };
187
+ getVariableArray(variable: number | string, groupPath?: string): Promise<string[] | Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Int8Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>>;
188
+ getSlicedVariableArray(variable: number | string, start: number[], count: number[], groupPath?: string): Promise<string[] | Float64Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Int8Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | BigUint64Array<ArrayBufferLike>>;
189
+ getVariableInfo(variable: number | string, groupPath?: string): Promise<Record<string, any>>;
63
190
  }
64
191
  //# sourceMappingURL=netcdf4.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"netcdf4.d.ts","sourceRoot":"","sources":["../src/netcdf4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"netcdf4.d.ts","sourceRoot":"","sources":["../src/netcdf4.ts"],"names":[],"mappings":"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"}