@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/CONTRIBUTING.md +151 -0
- package/LICENSE +1 -0
- package/README.md +65 -134
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +26 -3
- package/dist/constants.js.map +1 -1
- package/dist/group.d.ts +3 -1
- package/dist/group.d.ts.map +1 -1
- package/dist/group.js +45 -4
- package/dist/group.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/netcdf-getters.d.ts +87 -8
- package/dist/netcdf-getters.d.ts.map +1 -1
- package/dist/netcdf-getters.js +441 -104
- package/dist/netcdf-getters.js.map +1 -1
- package/dist/netcdf-worker.js +63 -68
- package/dist/netcdf-worker.js.map +1 -1
- package/dist/netcdf4-wasm.js +1 -1
- package/dist/netcdf4-wasm.wasm +0 -0
- package/dist/netcdf4.d.ts +139 -12
- package/dist/netcdf4.d.ts.map +1 -1
- package/dist/netcdf4.js +422 -36
- package/dist/netcdf4.js.map +1 -1
- package/dist/types.d.ts +106 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +1 -1
- package/dist/wasm-module.d.ts.map +1 -1
- package/dist/wasm-module.js +337 -5
- package/dist/wasm-module.js.map +1 -1
- package/package.json +19 -4
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
|
-
|
|
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<
|
|
51
|
-
getSlicedVariableArray(variable: number | string, start: number[], count: number[]): Promise<
|
|
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
|
package/dist/netcdf4.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"netcdf4.d.ts","sourceRoot":"","sources":["../src/netcdf4.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAC;AAGrF,qBAAa,OAAQ,SAAQ,KAAK;IAW1B,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IAZnB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAmC;IACxD,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAgB;gBAGxB,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,IAAI,GAAE,MAAY,EAClB,OAAO,GAAE,cAAmB;IAOlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WAiCpB,OAAO,CAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAY,EAClB,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,OAAO,CAAC;WAON,QAAQ,CACjB,IAAI,EAAE,IAAI,EACV,IAAI,GAAE,MAAY,EAClB,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,OAAO,CAAC;WAMN,eAAe,CACxB,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE,MAAY,EAClB,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,OAAO,CAAC;WAMN,UAAU,CACnB,IAAI,EAAE,UAAU,GAAG,WAAW,EAC9B,IAAI,GAAE,MAAY,EAClB,OAAO,GAAE,cAAmB,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;WAuBN,YAAY,CACrB,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,OAAO,CAAC;YAuBL,IAAI;
|
|
1
|
+
{"version":3,"file":"netcdf4.d.ts","sourceRoot":"","sources":["../src/netcdf4.ts"],"names":[],"mappings":"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"}
|