js-stream-sas7bdat 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Dmitry Kolosov
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,191 @@
1
+ # js-stream-sas7bdat
2
+ *js-stream-sas7bdat* is a TypeScript library for streaming and processing SAS7BDAT files in Node.js environment. It provides functionalities to read data and metadata from SAS7BDAT files using [ReadStat](https://github.com/WizardMac/ReadStat) library.
3
+ The output format matches CDISC Dataset-JSON 1.1 format.
4
+
5
+ ## Features
6
+ * Stream SAS7BDAT files
7
+ * Extract metadata from SAS7BDAT files
8
+ * Read observations as an iterable
9
+ * Get unique values from observations
10
+ * Filter data
11
+
12
+ ## Installation
13
+ Install the library using npm:
14
+
15
+ ```sh
16
+ npm install js-stream-sas7bdat
17
+ ```
18
+
19
+ ## Usage
20
+ ```TypeScript
21
+ dataset = new DatasetSas7BDat(filePath, [options])
22
+ ```
23
+ ### Creating Dataset-SAS7BDAT instance
24
+ ```TypeScript
25
+ import DatasetSas7BDat from 'js-stream-sas7bdat';
26
+
27
+ dataset = new DatasetSas7BDat('/path/to/dataset.sas7bdat')
28
+ ```
29
+
30
+ #### Example
31
+ ```TypeScript
32
+ const dataset = new DatasetSas7BDat('/path/to/dataset.sas7bdat');
33
+ ```
34
+
35
+ ### Getting Metadata
36
+ ```TypeScript
37
+ const metadata = await dataset.getMetadata();
38
+ ```
39
+ ### Reading Observations
40
+ ```TypeScript
41
+ // Read first 500 records of a dataset
42
+ const data = await dataset.getData({start: 0, length: 500})
43
+ ```
44
+
45
+ ### Reading Observations as iterable
46
+ ```TypeScript
47
+ // Read dataset starting from position 10 (11th record in the dataset)
48
+ for await (const record of dataset.readRecords({start: 10, filterColumns: ["studyId", "uSubjId"], type: "object"})) {
49
+ console.log(record);
50
+ }
51
+ ```
52
+
53
+ ### Getting Unique Values
54
+ ```TypeScript
55
+ const uniqueValues = await dataset.getUniqueValues({ columns: ["studyId", "uSubjId"], limit: 100 });
56
+ ```
57
+
58
+ ### Applying Filters
59
+ You can apply filters to the data when reading observations using the `js-array-filter` package.
60
+
61
+ #### Example
62
+ ```TypeScript
63
+ import Filter from 'js-array-filter';
64
+
65
+ // Define a filter
66
+ const filter = new Filter('dataset-json1.1', metadata.columns, {
67
+ conditions: [
68
+ { variable: 'AGE', operator: 'gt', value: 55 },
69
+ { variable: 'DCDECOD', operator: 'eq', value: 'STUDY TERMINATED BY SPONSOR' }
70
+ ],
71
+ connectors: ['or']
72
+ });
73
+
74
+ // Apply the filter when reading data
75
+ const filteredData = await dataset.getData({
76
+ start: 0,
77
+ filter: filter,
78
+ filterColumns: ['USUBJID', 'DCDECOD', 'AGE']
79
+ });
80
+ console.log(filteredData);
81
+ ```
82
+
83
+ ## Methods
84
+
85
+ ### `getMetadata`
86
+
87
+ Returns the metadata of the SAS7BDAT file.
88
+
89
+ #### Returns
90
+
91
+ - `Promise<Metadata>`: A promise that resolves to the metadata of the dataset.
92
+
93
+ #### Example
94
+
95
+ ```typescript
96
+ const metadata = await dataset.getMetadata();
97
+ console.log(metadata);
98
+ ```
99
+
100
+ ### `getData`
101
+
102
+ Reads observations from the dataset.
103
+
104
+ #### Parameters
105
+
106
+ - `props` (object): An object containing the following properties:
107
+ - `start` (number, optional): The starting position for reading data.
108
+ - `length` (number, optional): The number of records to read. Defaults to reading all records.
109
+ - `type` (DataType, optional): The type of the returned object ("array" or "object"). Defaults to "array".
110
+ - `filterColumns` (string[], optional): The list of columns to return when type is "object". If empty, all columns are returned.
111
+ - `filter` (Filter, optional): A Filter instance from js-array-filter package used to filter data records.
112
+
113
+ #### Returns
114
+
115
+ - `Promise<(ItemDataArray | ItemDataObject)[]>`: A promise that resolves to an array of data records.
116
+
117
+ #### Example
118
+
119
+ ```typescript
120
+ const data = await dataset.getData({ start: 0, length: 500, type: "object", filterColumns: ["studyId", "uSubjId"] });
121
+ console.log(data);
122
+ ```
123
+
124
+ ### `readRecords`
125
+
126
+ Reads observations as an iterable.
127
+
128
+ #### Parameters
129
+
130
+ - `props` (object, optional): An object containing the following properties:
131
+ - `start` (number, optional): The starting position for reading data. Defaults to 0.
132
+ - `type` (DataType, optional): The type of data to return ("array" or "object"). Defaults to "array".
133
+ - `filterColumns` (string[], optional): An array of column names to include in the returned data.
134
+
135
+ #### Returns
136
+
137
+ - `AsyncGenerator<ItemDataArray | ItemDataObject, void, undefined>`: An async generator that yields data records.
138
+
139
+ #### Example
140
+
141
+ ```typescript
142
+ for await (const record of dataset.readRecords({ start: 10, filterColumns: ["studyId", "uSubjId"], type: "object" })) {
143
+ console.log(record);
144
+ }
145
+ ```
146
+
147
+ ### `getUniqueValues`
148
+
149
+ Gets unique values for variables.
150
+
151
+ #### Parameters
152
+
153
+ - `props` (object): An object containing the following properties:
154
+ - `columns` (string[]): An array of column names to get unique values for.
155
+ - `limit` (number, optional): The maximum number of unique values to return for each column. Defaults to 100.
156
+ - `bufferLength` (number, optional): The buffer length for reading data. Defaults to 1000.
157
+ - `sort` (boolean, optional): Whether to sort the unique values. Defaults to true.
158
+
159
+ #### Returns
160
+
161
+ - `Promise<UniqueValues>`: A promise that resolves to an object containing unique values for the specified columns.
162
+
163
+ #### Example
164
+
165
+ ```typescript
166
+ const uniqueValues = await dataset.getUniqueValues({
167
+ columns: ["studyId", "uSubjId"],
168
+ limit: 100,
169
+ bufferLength: 1000,
170
+ sort: true
171
+ });
172
+ console.log(uniqueValues);
173
+ ```
174
+ ----
175
+
176
+ ## Running Tests
177
+ Run the tests using Jest:
178
+ ```sh
179
+ npm test
180
+ ```
181
+
182
+ ## License
183
+ This project is licensed under the MIT License. See the LICENSE file for details.
184
+
185
+ ## Author
186
+ Dmitry Kolosov
187
+
188
+ ## Contributing
189
+ Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
190
+
191
+ For more details, refer to the source code and the documentation.
@@ -0,0 +1,80 @@
1
+ import fs from 'fs';
2
+ import { ItemDataArray, ItemDataObject, DatasetMetadata, UniqueValues, DataType } from './../interfaces/datasetSas7BDat';
3
+ import Filter from 'js-array-filter';
4
+ declare class DatasetSas7BDat {
5
+ filePath: string;
6
+ stats: fs.Stats | null;
7
+ metadata: DatasetMetadata;
8
+ currentPosition: number;
9
+ allRowsRead: boolean;
10
+ private metadataLoaded;
11
+ private encoding;
12
+ /**
13
+ * Initialize SAS7BDAT reader.
14
+ * @constructor
15
+ * @param filePath - Path to the file.
16
+ * @param options - Configuration options
17
+ * @param options.encoding - File encoding. Default is 'utf8'.
18
+ * @param options.checkExists - Throw error if file does not exist. Default is false.
19
+ */
20
+ constructor(filePath: string, options?: {
21
+ encoding?: BufferEncoding;
22
+ checkExists?: boolean;
23
+ });
24
+ /**
25
+ * Get SAS7BDAT metadata
26
+ * @return An object with file metadata.
27
+ */
28
+ getMetadata(): Promise<DatasetMetadata>;
29
+ /**
30
+ * Maps SAS data types to Dataset-JSON compatible types
31
+ */
32
+ private mapSasTypeToJsonType;
33
+ /**
34
+ * Read observations.
35
+ * @param start - The first row number to read.
36
+ * @param length - The number of records to read.
37
+ * @param type - The type of the returned object.
38
+ * @param filterColumns - The list of columns to return when type is object. If empty, all columns are returned.
39
+ * @param filter - A filter class object used to filter data records when reading the dataset.
40
+ * @return An array of observations.
41
+ */
42
+ getData(props: {
43
+ start?: number;
44
+ length?: number;
45
+ type?: DataType;
46
+ filterColumns?: string[];
47
+ filter?: Filter;
48
+ }): Promise<(ItemDataArray | ItemDataObject)[]>;
49
+ /**
50
+ * Read observations as an iterable.
51
+ * @param start - The first row number to read.
52
+ * @param bufferLength - The number of records to read in a chunk.
53
+ * @param type - The type of the returned object.
54
+ * @param filterColumns - The list of columns to return when type is object. If empty, all columns are returned.
55
+ * @return An iterable object.
56
+ */
57
+ readRecords(props?: {
58
+ start?: number;
59
+ bufferLength?: number;
60
+ type?: DataType;
61
+ filterColumns?: string[];
62
+ }): AsyncGenerator<ItemDataArray | ItemDataObject, void, undefined>;
63
+ /**
64
+ * Get unique values observations.
65
+ * @param columns - The list of variables for which to obtain the unique observations.
66
+ * @param limit - The maximum number of values to store. 0 - no limit.
67
+ * @param bufferLength - The number of records to read in a chunk.
68
+ * @param sort - Controls whether to sort the unique values.
69
+ * @return An array of observations.
70
+ */
71
+ getUniqueValues(props: {
72
+ columns: string[];
73
+ limit?: number;
74
+ addCount?: boolean;
75
+ bufferLength?: number;
76
+ sort?: boolean;
77
+ }): Promise<UniqueValues>;
78
+ }
79
+ export default DatasetSas7BDat;
80
+ //# sourceMappingURL=datasetSas7BDat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetSas7BDat.d.ts","sourceRoot":"","sources":["../../src/class/datasetSas7BDat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EACH,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,QAAQ,EAGX,MAAM,iCAAiC,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAmBrC,cAAM,eAAe;IAEjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IAEvB,QAAQ,EAAE,eAAe,CAAC;IAE1B,eAAe,EAAE,MAAM,CAAC;IAExB,WAAW,EAAE,OAAO,CAAC;IAErB,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;;;;;OAOG;gBAEC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB;IA8CL;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAsC7C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,CAAC,aAAa,GAAG,cAAc,CAAC,EAAE,CAAC;IAgF/C;;;;;;;OAOG;IACI,WAAW,CAAC,KAAK,CAAC,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,GAAG,cAAc,CAAC,aAAa,GAAG,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC;IAsCnE;;;;;;;OAOG;IACG,eAAe,CAAC,KAAK,EAAE;QACzB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,YAAY,CAAC;CAgF5B;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable @typescript-eslint/no-require-imports */
7
+ const fs_1 = __importDefault(require("fs"));
8
+ // Import C++ binding with proper error handling
9
+ let readSas7bdat;
10
+ let getSAS7BDATMetadata;
11
+ try {
12
+ // Try to load from Release build
13
+ const binding = require('../../build/Release/readstat_binding.node');
14
+ readSas7bdat = binding.readSas7bdat;
15
+ getSAS7BDATMetadata = binding.getSAS7BDATMetadata;
16
+ }
17
+ catch (err) {
18
+ if (err instanceof Error) {
19
+ throw new Error('Cannot load SAS7BDAT native module. Make sure the module is properly built using node-gyp. ' + err.message);
20
+ }
21
+ }
22
+ // Main class for SAS7BDAT dataset;
23
+ class DatasetSas7BDat {
24
+ /**
25
+ * Initialize SAS7BDAT reader.
26
+ * @constructor
27
+ * @param filePath - Path to the file.
28
+ * @param options - Configuration options
29
+ * @param options.encoding - File encoding. Default is 'utf8'.
30
+ * @param options.checkExists - Throw error if file does not exist. Default is false.
31
+ */
32
+ constructor(filePath, options) {
33
+ this.filePath = filePath;
34
+ this.currentPosition = 0;
35
+ const { encoding = 'utf8', checkExists = false } = options || {};
36
+ this.encoding = encoding;
37
+ this.allRowsRead = false;
38
+ this.metadataLoaded = false;
39
+ this.metadata = {
40
+ datasetJSONCreationDateTime: '',
41
+ datasetJSONVersion: '',
42
+ records: -1,
43
+ name: '',
44
+ label: '',
45
+ columns: [],
46
+ };
47
+ // Get all possible encoding values from BufferEncoding type
48
+ const validEncodings = [
49
+ 'ascii',
50
+ 'utf8',
51
+ 'utf16le',
52
+ 'ucs2',
53
+ 'base64',
54
+ 'latin1',
55
+ ];
56
+ // Check encoding
57
+ if (!validEncodings.includes(this.encoding)) {
58
+ throw new Error(`Unsupported encoding ${this.encoding}`);
59
+ }
60
+ // Check if file exists;
61
+ if (!fs_1.default.existsSync(this.filePath)) {
62
+ if (checkExists === true) {
63
+ throw new Error(`Could not read file ${this.filePath}`);
64
+ }
65
+ else {
66
+ this.stats = null;
67
+ }
68
+ }
69
+ else {
70
+ this.stats = fs_1.default.statSync(this.filePath);
71
+ }
72
+ }
73
+ /**
74
+ * Get SAS7BDAT metadata
75
+ * @return An object with file metadata.
76
+ */
77
+ async getMetadata() {
78
+ if (this.metadataLoaded) {
79
+ return this.metadata;
80
+ }
81
+ try {
82
+ const sasMetadata = getSAS7BDATMetadata(this.filePath);
83
+ // Map ReadStat metadata to our DatasetMetadata interface
84
+ this.metadata = {
85
+ datasetJSONCreationDateTime: new Date(sasMetadata.CreationDateTime || '').toISOString(),
86
+ dbLastModifiedDateTime: new Date(sasMetadata.ModifiedDateTime || '').toISOString(),
87
+ datasetJSONVersion: '',
88
+ records: sasMetadata.records,
89
+ name: sasMetadata.name || '',
90
+ label: sasMetadata.label || '',
91
+ columns: sasMetadata.columns.map(col => {
92
+ const parsedColumn = {
93
+ itemOID: col.itemOID,
94
+ name: col.name,
95
+ label: col.label || '',
96
+ length: col.length || 1,
97
+ dataType: 'string',
98
+ };
99
+ if (col.dataType) {
100
+ parsedColumn.dataType = this.mapSasTypeToJsonType(col.dataType);
101
+ }
102
+ return parsedColumn;
103
+ }),
104
+ };
105
+ this.metadataLoaded = true;
106
+ return this.metadata;
107
+ }
108
+ catch (error) {
109
+ throw new Error(`Failed to read SAS7BDAT metadata: ${error}`);
110
+ }
111
+ }
112
+ /**
113
+ * Maps SAS data types to Dataset-JSON compatible types
114
+ */
115
+ mapSasTypeToJsonType(sasType) {
116
+ // Map SAS types to Dataset-JSON compatible types
117
+ switch (sasType.toLowerCase()) {
118
+ case 'double':
119
+ return 'double';
120
+ case 'text':
121
+ return 'string';
122
+ default:
123
+ return 'string';
124
+ }
125
+ }
126
+ /**
127
+ * Read observations.
128
+ * @param start - The first row number to read.
129
+ * @param length - The number of records to read.
130
+ * @param type - The type of the returned object.
131
+ * @param filterColumns - The list of columns to return when type is object. If empty, all columns are returned.
132
+ * @param filter - A filter class object used to filter data records when reading the dataset.
133
+ * @return An array of observations.
134
+ */
135
+ async getData(props) {
136
+ // Check if metadata is loaded
137
+ if (this.metadataLoaded === false) {
138
+ await this.getMetadata();
139
+ }
140
+ let { filterColumns = [] } = props;
141
+ // Convert filterColumns to lowercase for case-insensitive comparison
142
+ filterColumns = filterColumns.map((item) => item.toLowerCase());
143
+ // Check if metadata is loaded
144
+ if (this.metadata.columns.length === 0 ||
145
+ this.metadata.records === -1) {
146
+ return Promise.reject(new Error('Metadata is not loaded or there are no columns'));
147
+ }
148
+ const { start = 0, length, type = 'array', filter } = props;
149
+ // Check if start and length are valid
150
+ if ((typeof length === 'number' && length <= 0) ||
151
+ start < 0 ||
152
+ start > this.metadata.records) {
153
+ return Promise.reject(new Error('Invalid start/length parameter values'));
154
+ }
155
+ try {
156
+ // Get the column indices for filtering if needed
157
+ const filterColumnIndices = filterColumns.length > 0
158
+ ? filterColumns.map(column => this.metadata.columns.findIndex(item => item.name.toLowerCase() === column.toLowerCase()))
159
+ : [];
160
+ // Read data from the SAS7BDAT file
161
+ let data = readSas7bdat(this.filePath, start, length);
162
+ // If we have a filter, apply it
163
+ if (filter) {
164
+ data = data.filter((row) => filter.filterRow(row));
165
+ }
166
+ // If we're returning arrays and have filtered columns, filter the arrays
167
+ if (type === 'array' && filterColumnIndices.length > 0) {
168
+ return data.map((row) => filterColumnIndices.map(index => row[index]));
169
+ }
170
+ else if (type === 'object') {
171
+ // Convert to object format
172
+ data = data.map((row) => {
173
+ const obj = {};
174
+ this.metadata.columns.forEach((column, index) => {
175
+ if (filterColumns.length === 0 || filterColumnIndices.includes(index)) {
176
+ obj[column.name] = row[index];
177
+ }
178
+ });
179
+ return obj;
180
+ });
181
+ }
182
+ return data;
183
+ }
184
+ catch (error) {
185
+ throw new Error(`Failed to read SAS7BDAT data: ${error}`);
186
+ }
187
+ }
188
+ /**
189
+ * Read observations as an iterable.
190
+ * @param start - The first row number to read.
191
+ * @param bufferLength - The number of records to read in a chunk.
192
+ * @param type - The type of the returned object.
193
+ * @param filterColumns - The list of columns to return when type is object. If empty, all columns are returned.
194
+ * @return An iterable object.
195
+ */
196
+ async *readRecords(props) {
197
+ // Check if metadata is loaded
198
+ if (this.metadataLoaded === false) {
199
+ await this.getMetadata();
200
+ }
201
+ const { start = 0, bufferLength = 1000, type, filterColumns, } = props || {};
202
+ let currentPosition = start;
203
+ while (true) {
204
+ const data = await this.getData({
205
+ start: currentPosition,
206
+ length: bufferLength,
207
+ type,
208
+ filterColumns,
209
+ });
210
+ if (!data || data.length === 0) {
211
+ this.allRowsRead = true;
212
+ break;
213
+ }
214
+ yield* data;
215
+ currentPosition += data.length;
216
+ if (currentPosition >= this.metadata.records) {
217
+ this.allRowsRead = true;
218
+ break;
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Get unique values observations.
224
+ * @param columns - The list of variables for which to obtain the unique observations.
225
+ * @param limit - The maximum number of values to store. 0 - no limit.
226
+ * @param bufferLength - The number of records to read in a chunk.
227
+ * @param sort - Controls whether to sort the unique values.
228
+ * @return An array of observations.
229
+ */
230
+ async getUniqueValues(props) {
231
+ const { limit = 0, bufferLength = 1000, sort = true, addCount = false } = props;
232
+ let { columns } = props;
233
+ const result = {};
234
+ // Check if metadata is loaded
235
+ if (this.metadataLoaded === false) {
236
+ await this.getMetadata();
237
+ }
238
+ const notFoundColumns = [];
239
+ // Use the case of the columns as specified in the metadata
240
+ columns = columns.map((item) => {
241
+ const column = this.metadata.columns.find((column) => column.name.toLowerCase() === item.toLowerCase());
242
+ if (column === undefined) {
243
+ notFoundColumns.push(item);
244
+ return '';
245
+ }
246
+ else {
247
+ return column.name;
248
+ }
249
+ });
250
+ if (notFoundColumns.length > 0) {
251
+ return Promise.reject(new Error(`Columns ${notFoundColumns.join(', ')} not found`));
252
+ }
253
+ // Store number of unique values found
254
+ const uniqueCount = {};
255
+ columns.forEach((column) => {
256
+ uniqueCount[column] = 0;
257
+ result[column] = { values: [], counts: {} };
258
+ });
259
+ let isFinished = false;
260
+ for await (const row of this.readRecords({
261
+ bufferLength,
262
+ type: 'object',
263
+ filterColumns: columns,
264
+ })) {
265
+ columns.forEach((column) => {
266
+ if ((limit === 0 || uniqueCount[column] < limit) &&
267
+ !result[column].values.includes(row[column])) {
268
+ result[column].values.push(row[column]);
269
+ uniqueCount[column] += 1;
270
+ }
271
+ if (addCount) {
272
+ const valueId = row[column] === null ? 'null' : String(row[column]);
273
+ result[column].counts[valueId] = result[column].counts[valueId] > 0
274
+ ? (result[column].counts[valueId] + 1)
275
+ : 1;
276
+ }
277
+ });
278
+ // Check if all unique values are found
279
+ isFinished = limit !== 0 && Object.keys(uniqueCount).every((key) => uniqueCount[key] >= limit);
280
+ if (isFinished) {
281
+ break;
282
+ }
283
+ }
284
+ // Sort result
285
+ if (sort) {
286
+ Object.keys(result).forEach((key) => {
287
+ result[key].values.sort();
288
+ });
289
+ }
290
+ return result;
291
+ }
292
+ }
293
+ exports.default = DatasetSas7BDat;
294
+ //# sourceMappingURL=datasetSas7BDat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetSas7BDat.js","sourceRoot":"","sources":["../../src/class/datasetSas7BDat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import DatasetSas7BDat from './class/datasetSas7BDat';
2
+ export default DatasetSas7BDat;
3
+ export { DatasetSas7BDat };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,yBAAyB,CAAC;AAEtD,eAAe,eAAe,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DatasetSas7BDat = void 0;
7
+ const datasetSas7BDat_1 = __importDefault(require("./class/datasetSas7BDat"));
8
+ exports.DatasetSas7BDat = datasetSas7BDat_1.default;
9
+ exports.default = datasetSas7BDat_1.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8EAAsD;AAG7C,0BAHF,yBAAe,CAGE;AADxB,kBAAe,yBAAe,CAAC"}
@@ -0,0 +1,87 @@
1
+ export type ItemType = 'string' | 'integer' | 'float' | 'double' | 'decimal' | 'boolean' | 'date' | 'time' | 'datetime' | 'URI';
2
+ export type ItemTargetType = 'integer' | 'decimal';
3
+ export type ItemDataObject = {
4
+ [name: string]: string | number | boolean | null;
5
+ };
6
+ export type ItemDataArray = Array<string | number | boolean | null>;
7
+ export interface SourceSystem {
8
+ name: string;
9
+ version: string;
10
+ }
11
+ export interface Sas7BDatColumn {
12
+ itemOID: string;
13
+ name: string;
14
+ label?: string;
15
+ dataType?: string;
16
+ length?: number;
17
+ displayFormat?: string;
18
+ }
19
+ export interface Sas7BDatMetadata {
20
+ name: string;
21
+ label?: string;
22
+ filePath?: string;
23
+ fileFormat?: string;
24
+ fileFormatVersion?: number;
25
+ records: number;
26
+ CreationDateTime?: number;
27
+ ModifiedDateTime?: number;
28
+ columns: Sas7BDatColumn[];
29
+ sourceSystem?: {
30
+ name: string;
31
+ version?: string;
32
+ };
33
+ encoding?: string;
34
+ compression?: string;
35
+ tableLabel?: string;
36
+ is64Bit?: boolean;
37
+ }
38
+ export interface ItemDescription {
39
+ itemOID: string;
40
+ name: string;
41
+ label: string;
42
+ dataType: ItemType;
43
+ targetDataType?: ItemType;
44
+ length?: number;
45
+ displayFormat?: string;
46
+ keySequence?: number;
47
+ }
48
+ export interface Dataset {
49
+ datasetJSONCreationDateTime: string;
50
+ datasetJSONVersion: string;
51
+ records: number;
52
+ name: string;
53
+ label: string;
54
+ columns: Array<ItemDescription>;
55
+ rows: Array<ItemDataArray>;
56
+ dbLastModifiedDateTime?: string;
57
+ fileOID?: string;
58
+ originator?: string;
59
+ sourceSystem?: SourceSystem;
60
+ studyOID?: string;
61
+ metaDataVersionOID?: string;
62
+ metaDataRef?: string;
63
+ itemGroupOID?: string;
64
+ }
65
+ export type DatasetMetadata = Omit<Dataset, 'rows'>;
66
+ export type MetadataAttributes = keyof DatasetMetadata;
67
+ export type ParsedAttributes = {
68
+ [name in MetadataAttributes]: boolean;
69
+ };
70
+ export type DataType = 'array' | 'object';
71
+ export interface UniqueValues {
72
+ [name: string]: {
73
+ values: (string | number | boolean | null)[];
74
+ counts: {
75
+ [name: string]: number;
76
+ };
77
+ };
78
+ }
79
+ export interface SasItemDescription {
80
+ itemOID: string;
81
+ name: string;
82
+ label: string;
83
+ dataType: string;
84
+ length?: number;
85
+ displayFormat?: string;
86
+ }
87
+ //# sourceMappingURL=datasetSas7BDat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetSas7BDat.d.ts","sourceRoot":"","sources":["../../src/interfaces/datasetSas7BDat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=datasetSas7BDat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datasetSas7BDat.js","sourceRoot":"","sources":["../../src/interfaces/datasetSas7BDat.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/interfaces/datasetSas7BDat.ts","../node_modules/js-array-filter/dist/interfaces/filter.d.ts","../node_modules/js-array-filter/dist/class/filter.d.ts","../node_modules/js-array-filter/dist/utils/constants.d.ts","../node_modules/js-array-filter/dist/utils/filterRegex.d.ts","../node_modules/js-array-filter/dist/index.d.ts","../src/class/datasetSas7BDat.ts","../src/index.ts","../src/interfaces/jsonStream.d.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[61,73,115],[73,115],[73,115,172],[61,62,63,64,65,73,115],[61,63,73,115],[73,115,128,165],[73,115,167],[73,115,168],[73,115,174,177],[73,112,115],[73,114,115],[115],[73,115,120,150],[73,115,116,121,127,128,135,147,158],[73,115,116,117,127,135],[68,69,70,73,115],[73,115,118,159],[73,115,119,120,128,136],[73,115,120,147,155],[73,115,121,123,127,135],[73,114,115,122],[73,115,123,124],[73,115,127],[73,115,125,127],[73,114,115,127],[73,115,127,128,129,147,158],[73,115,127,128,129,142,147,150],[73,110,115,163],[73,110,115,123,127,130,135,147,158],[73,115,127,128,130,131,135,147,155,158],[73,115,130,132,147,155,158],[71,72,73,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[73,115,127,133],[73,115,134,158],[73,115,123,127,135,147],[73,115,136],[73,115,137],[73,114,115,138],[73,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[73,115,140],[73,115,141],[73,115,127,142,143],[73,115,142,144,159,161],[73,115,127,147,148,149,150],[73,115,147,149],[73,115,147,148],[73,115,150],[73,115,151],[73,112,115,147],[73,115,127,153,154],[73,115,153,154],[73,115,120,135,147,155],[73,115,156],[73,115,135,157],[73,115,130,141,158],[73,115,120,159],[73,115,147,160],[73,115,134,161],[73,115,162],[73,115,120,127,129,138,147,158,161,163],[73,115,147,164],[73,115,182],[73,115,170,176],[73,115,174],[73,115,171,175],[53,73,115],[53,54,55,56,73,115],[73,115,173],[73,82,86,115,158],[73,82,115,147,158],[73,77,115],[73,79,82,115,155,158],[73,115,135,155],[73,115,165],[73,77,115,165],[73,79,82,115,135,158],[73,74,75,78,81,115,127,147,158],[73,82,89,115],[73,74,80,115],[73,82,103,104,115],[73,78,82,115,150,158,165],[73,103,115,165],[73,76,77,115,165],[73,82,115],[73,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,104,105,106,107,108,109,115],[73,82,97,115],[73,82,89,90,115],[73,80,82,90,91,115],[73,81,115],[73,74,77,82,115],[73,82,86,90,91,115],[73,86,115],[73,80,82,85,115,158],[73,74,79,82,89,115],[73,115,147],[73,77,82,103,115,163,165],[52,57,73,115,128],[58,73,115]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf50252189be958e4c07de5b64574be6654cb7defd11e1ef53decdd386f1212e","signature":"91d313597fdf6f4a330359fa0fd7f65726ffa325690a5ed577170871d1eb8990"},{"version":"d739f5c68bd696b401af024d3356d16f763e3c0e75c631c9bec3b2a8d6019f23","impliedFormat":1},{"version":"91127c0ac3aacd8800d13d2c6249a7095736c04d23856ce182ccf72affb64db5","impliedFormat":1},{"version":"65bf953297b36f0065812b5bb87ea7c9c1b1af5915058181ce868d9e7943bd67","impliedFormat":1},{"version":"e6a759119b7657954e5e31973bf8c36ba7cc53cb2922a12658a83345eb394198","impliedFormat":1},{"version":"2fb3c5d21bd59ca454da05d29feea1dd0b374c93e2854c86d66f3780391800aa","impliedFormat":1},{"version":"03ff5a104ea24ee878331ef0a43c45f38b23db9b7c87ea7223c4f8be2a0c55e1","signature":"b44ccd368259a38b89e86cebfbebae1a49a528ad497e99808edd576da1af9b8e"},{"version":"0b5e0a17496b97265233486980626e7f7635adb6f17b1681412c2f42ae15b137","signature":"a855baf108231f5d93440c2804e5bac5e1d78277e8c4f2be5836180455c48982"},"7dcabcd334d977091d48dda93f57bfef697e0b50f99378043405ea7fe94e3bf5",{"version":"d50ab0815120231ab511558a753c33b2806b42cabe006356fb0bb763fc30e865","impliedFormat":1},{"version":"cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","impliedFormat":1},{"version":"32ddc6ad753ae79571bbf28cebff7a383bf7f562ac5ef5d25c94ef7f71609d49","impliedFormat":1},{"version":"93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","impliedFormat":1},{"version":"6704f0b54df85640baaeebd86c9d4a1dbb661d5a4d57a75bc84162f562f6531d","impliedFormat":1},{"version":"9d255af1b09c6697089d3c9bf438292a298d8b7a95c68793c9aae80afc9e5ca7","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f52e8dacc97d71dcc96af29e49584353f9c54cb916d132e3e768d8b8129c928d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"91c1a729db5b28b2fc32bafa7a53611d417bc3f03f649278d4fd948aa4dec898","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"eaf9ee1d90a35d56264f0bf39842282c58b9219e112ac7d0c1bce98c6c5da672","impliedFormat":1},{"version":"c15c4427ae7fd1dcd7f312a8a447ac93581b0d4664ddf151ecd07de4bf2bb9d7","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"c72ccc191348ac1933226cab7a814cfda8b29a827d1df5dbebfe516a6fd734a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8bea55446a296d289fbc762f61954a0e3e38ffbcacc06e47e0cba491030e3235","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3eb62baae4df08c9173e6903d3ca45942ccec8c3659b0565684a75f3292cffbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"42aaa94addeed66a04b61e433c14e829c43d1efd653cf2fda480c5fb3d722ed8","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"d63ff33a2fa221b36a4da0dd5a3dad3156f3dd0fe1baf43a186e607d4ba5af99","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"9212c6e9d80cb45441a3614e95afd7235a55a18584c2ed32d6c1aca5a0c53d93","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"1f58ebc40c84046ba4c25cf7e86e1ae92c3f064fb641af6c46a5acebf0b8b20b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","impliedFormat":1},{"version":"f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","impliedFormat":1},{"version":"6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"db25694be959314fd1e868d72e567746db1db9e2001fae545d12d2a8c1bba1b8","impliedFormat":1},{"version":"43883cf3635bb1846cbdc6c363787b76227677388c74f7313e3f0edb380840fa","impliedFormat":1},{"version":"2d47012580f859dae201d2eef898a416bdae719dffc087dfd06aefe3de2f9c8d","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"2cec1a31729b9b01e9294c33fc9425d336eff067282809761ad2e74425d6d2a5","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","impliedFormat":1},{"version":"e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750","impliedFormat":1}],"root":[52,[58,60]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":4,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictNullChecks":true,"target":8},"referencedMap":[[63,1],[61,2],[170,2],[173,3],[172,2],[66,4],[62,1],[64,5],[65,1],[67,2],[166,6],[167,2],[168,7],[169,8],[178,9],[179,2],[112,10],[113,10],[114,11],[73,12],[115,13],[116,14],[117,15],[68,2],[71,16],[69,2],[70,2],[118,17],[119,18],[120,19],[121,20],[122,21],[123,22],[124,22],[126,23],[125,24],[127,25],[128,26],[129,27],[111,28],[72,2],[130,29],[131,30],[132,31],[165,32],[133,33],[134,34],[135,35],[136,36],[137,37],[138,38],[139,39],[140,40],[141,41],[142,42],[143,42],[144,43],[145,2],[146,2],[147,44],[149,45],[148,46],[150,47],[151,48],[152,49],[153,50],[154,51],[155,52],[156,53],[157,54],[158,55],[159,56],[160,57],[161,58],[162,59],[163,60],[164,61],[180,2],[181,2],[182,2],[183,62],[171,2],[177,63],[175,64],[176,65],[54,66],[57,67],[53,2],[55,66],[56,2],[174,68],[50,2],[51,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[20,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[1,2],[89,69],[99,70],[88,69],[109,71],[80,72],[79,73],[108,74],[102,75],[107,76],[82,77],[96,78],[81,79],[105,80],[77,81],[76,74],[106,82],[78,83],[83,84],[84,2],[87,84],[74,2],[110,85],[100,86],[91,87],[92,88],[94,89],[90,90],[93,91],[103,74],[85,92],[86,93],[95,94],[75,95],[98,86],[97,84],[101,2],[104,96],[58,97],[59,98],[52,2],[60,2]],"version":"5.7.3"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "js-stream-sas7bdat",
3
+ "version": "0.1.0",
4
+ "description": "Stream SAS7BDAT files using ReadStat C library",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "/dist"
9
+ ],
10
+ "scripts": {
11
+ "test": "jest",
12
+ "build": "node-gyp rebuild --arch=x64 --dist-url=https://electronjs.org/headers && rm -rf dist && tsc",
13
+ "install": "node-gyp rebuild",
14
+ "release": "npm run lint && npm run test && npm run build && npm publish",
15
+ "lint": "eslint . --ignore-pattern 'dist'"
16
+ },
17
+ "keywords": [
18
+ "readstat",
19
+ "sas7bdat"
20
+ ],
21
+ "prettier": {
22
+ "tabWidth": 4
23
+ },
24
+ "jest": {
25
+ "preset": "ts-jest",
26
+ "testEnvironment": "node",
27
+ "transform": {
28
+ "^.+\\.ts?$": "ts-jest"
29
+ },
30
+ "transformIgnorePatterns": [
31
+ "<rootDir>/node_modules/"
32
+ ],
33
+ "moduleNameMapper": {
34
+ "^class/(.*)$": "<rootDir>/src/class/$1",
35
+ "^interfaces/(.*)$": "<rootDir>/src/interfaces/$1"
36
+ }
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/defineEditor/js-stream-sas7bdat.git"
41
+ },
42
+ "author": "Dmitry Kolosov",
43
+ "license": "MIT",
44
+ "devDependencies": {
45
+ "@types/jest": "^29.5.14",
46
+ "@types/node": "^22.12.0",
47
+ "@typescript-eslint/eslint-plugin": "^8.22.0",
48
+ "@typescript-eslint/parser": "^8.22.0",
49
+ "typescript-eslint": "^8.22.0",
50
+ "eslint": "^9.19.0",
51
+ "husky": "^9.1.7",
52
+ "ts-jest": "^29.2.5",
53
+ "typescript": "^5.7.3",
54
+ "node-gyp": "^11.1.0"
55
+ },
56
+ "dependencies": {
57
+ "node-addon-api": "^5.0.0",
58
+ "js-array-filter": "^0.1.4"
59
+ },
60
+ "husky": {
61
+ "hooks": {
62
+ "pre-commit": "npm run lint"
63
+ }
64
+ }
65
+ }