juxscript 1.1.237 → 1.1.238

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/index.d.ts CHANGED
@@ -8,7 +8,7 @@ import { checkbox } from './lib/components/checkbox.js';
8
8
  import { code } from './lib/components/code.js';
9
9
  import { container } from './lib/components/container.js';
10
10
  import { data } from './lib/components/data.js';
11
- import { data as pipeline } from './lib/data/DataPipeline.js';
11
+ import { gather } from './lib/data/DataPipeline.js';
12
12
  import { datepicker } from './lib/components/datepicker.js';
13
13
  import { dialog } from './lib/components/dialog.js';
14
14
  import { divider } from './lib/components/divider.js';
@@ -58,8 +58,8 @@ export { DataFrameSource, dataFrameSource } from './lib/storage/DataFrameSource.
58
58
  export type { SourceOptions, APIOptions, StreamOptions, MultiSheetResult } from './lib/storage/DataFrameSource.js';
59
59
  export { indexedDBDriver } from './lib/storage/IndexedDBDriver.js';
60
60
  export { fileStorage } from './lib/storage/FileStorage.js';
61
- export { data as pipeline, DataPipeline } from './lib/data/DataPipeline.js';
62
- export type { PipelineOptions, FetchOptions, IntoOptions } from './lib/data/DataPipeline.js';
61
+ export { gather, DataPipeline } from './lib/data/DataPipeline.js';
62
+ export type { PipelineOptions, FetchOptions, GatherOptions, IntoOptions } from './lib/data/DataPipeline.js';
63
63
  export { dataframe } from './lib/components/dataframe.js';
64
64
  import { VStack, vstack } from './lib/components/stack/VStack.js';
65
65
  import { HStack, hstack } from './lib/components/stack/HStack.js';
@@ -89,6 +89,7 @@ export declare const jux: {
89
89
  dropdownMenu: typeof dropdownMenu;
90
90
  element: typeof element;
91
91
  fileupload: typeof fileupload;
92
+ gather: typeof gather;
92
93
  grid: typeof grid;
93
94
  heading: typeof heading;
94
95
  hero: typeof hero;
@@ -106,7 +107,6 @@ export declare const jux: {
106
107
  nav: typeof nav;
107
108
  paragraph: typeof paragraph;
108
109
  pen: typeof pen;
109
- pipeline: typeof pipeline;
110
110
  progress: typeof progress;
111
111
  radio: typeof radio;
112
112
  req: import("./lib/components/req.js").Req;
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/index.js CHANGED
@@ -8,7 +8,7 @@ import { checkbox } from './lib/components/checkbox.js';
8
8
  import { code } from './lib/components/code.js';
9
9
  import { container } from './lib/components/container.js';
10
10
  import { data } from './lib/components/data.js';
11
- import { data as pipeline } from './lib/data/DataPipeline.js';
11
+ import { gather } from './lib/data/DataPipeline.js';
12
12
  import { datepicker } from './lib/components/datepicker.js';
13
13
  import { dialog } from './lib/components/dialog.js';
14
14
  import { divider } from './lib/components/divider.js';
@@ -60,7 +60,7 @@ export { DataFrameSource, dataFrameSource } from './lib/storage/DataFrameSource.
60
60
  export { indexedDBDriver } from './lib/storage/IndexedDBDriver.js';
61
61
  export { fileStorage } from './lib/storage/FileStorage.js';
62
62
  // Data Pipeline
63
- export { data as pipeline, DataPipeline } from './lib/data/DataPipeline.js';
63
+ export { gather, DataPipeline } from './lib/data/DataPipeline.js';
64
64
  // DataFrame UI Component (separate from data layer)
65
65
  export { dataframe } from './lib/components/dataframe.js';
66
66
  // Import Stack components (already added earlier)
@@ -94,6 +94,7 @@ export const jux = {
94
94
  dropdownMenu,
95
95
  element,
96
96
  fileupload,
97
+ gather,
97
98
  grid,
98
99
  heading,
99
100
  hero,
@@ -111,7 +112,6 @@ export const jux = {
111
112
  nav,
112
113
  paragraph,
113
114
  pen,
114
- pipeline,
115
115
  progress,
116
116
  radio,
117
117
  req,
@@ -9,157 +9,105 @@ export interface FetchOptions {
9
9
  headerRow?: number;
10
10
  mimeType?: 'csv' | 'tsv' | 'json' | 'auto';
11
11
  }
12
+ export interface GatherOptions extends FetchOptions {
13
+ /** Authorization bearer token */
14
+ bearer?: string;
15
+ /** API key (sent as x-api-key header) */
16
+ apiKey?: string;
17
+ /** Custom headers for URL fetches */
18
+ headers?: Record<string, string>;
19
+ /** IndexedDB database name override */
20
+ dbName?: string;
21
+ /** IndexedDB store name override */
22
+ storeName?: string;
23
+ }
24
+ export interface IntoOptions {
25
+ /** Override which columns to use (for Table targets) */
26
+ columns?: string[];
27
+ /** Column name → display label mapping */
28
+ columnLabels?: Record<string, string>;
29
+ /** Key for option labels (Dropdown/Select/List targets) */
30
+ labelKey?: string;
31
+ /** Key for option values (Dropdown/Select targets) */
32
+ valueKey?: string;
33
+ }
12
34
  /**
13
35
  * DataPipeline — Headless, promise-based data loading and transformation.
14
36
  *
15
37
  * Usage:
16
- * const df = await data.fromUrl('https://example.com/report.csv').result();
17
- * const df = await data.fromStorage('patients').result();
18
- * const df = await data.fromJson(apiResponse).result();
19
- *
20
- * // Transform and distribute:
21
- * await data.fromUrl(url)
22
- * .transform(df => df.select('name', 'age').filter(r => r.age > 30))
23
- * .into(myTable);
24
- *
25
- * await data.fromStorage('encounters')
26
- * .transform(df => df.distinct('provider'))
27
- * .into(myDropdown, { labelKey: 'provider', valueKey: 'provider' });
38
+ * const df = await jux.gather('raw/myfile.xlsx').result();
39
+ * const df = await jux.gather('https://api.com/data', { bearer: 'xxx' }).result();
40
+ * const df = await jux.gather(myUpload).select('name').result();
41
+ * const df = await jux.gather([{a:1}, {b:2}]).result();
42
+ * await jux.gather(key).filter(r => r.active).intoTable(myTable);
28
43
  */
29
44
  export declare class DataPipeline {
30
45
  private _driver;
31
46
  private _pending;
32
47
  private _transforms;
48
+ private _gatherOptions;
33
49
  constructor(options?: PipelineOptions);
34
50
  /**
35
- * Load from IndexedDB by key (searches by name first, then by id)
36
- */
51
+ * Auto-detect source type and load accordingly.
52
+ *
53
+ * - string starting with http/https → URL fetch
54
+ * - string → IndexedDB storage key
55
+ * - File → parse file
56
+ * - Array → row objects
57
+ * - DataFrame → clone
58
+ * - object with .storageKey → FileUpload cached key
59
+ * - object with string keys + array values → column-oriented data
60
+ */
61
+ from(source: any, options?: GatherOptions): this;
37
62
  fromStorage(key: string): this;
38
- /**
39
- * Load from a URL (CSV, TSV, or JSON)
40
- */
41
- fromUrl(url: string, options?: FetchOptions): this;
42
- /**
43
- * Load from a File object directly
44
- */
63
+ fromUrl(url: string, options?: GatherOptions): this;
45
64
  fromFile(file: File, options?: FetchOptions): this;
46
- /**
47
- * Load from an array of row objects
48
- */
49
65
  fromRows(rows: Record<string, any>[], columns?: string[]): this;
50
- /**
51
- * Load from column-oriented data
52
- */
53
66
  fromColumns(columns: Record<string, any[]>): this;
54
- /**
55
- * Load from a JSON response (array of objects or column-oriented)
56
- */
57
67
  fromJson(json: Record<string, any>[] | Record<string, any[]> | string): this;
58
- /**
59
- * Load from a FileUpload component's cached storage key.
60
- * Requires .cache() enabled on the FileUpload and a file already uploaded.
61
- *
62
- * Usage:
63
- * await data().fromUpload(myUpload).select('name').into(myTable);
64
- */
65
68
  fromUpload(upload: any): this;
66
- /**
67
- * Start from an existing DataFrame
68
- */
69
- from(df: DataFrame): this;
70
- /**
71
- * Apply an arbitrary transform
72
- */
73
69
  transform(fn: (df: DataFrame) => DataFrame): this;
74
- /**
75
- * Select columns
76
- */
77
70
  select(...cols: string[]): this;
78
- /**
79
- * Filter rows
80
- */
81
71
  filter(predicate: (row: Record<string, any>, index: number) => boolean): this;
82
- /**
83
- * Sort by column
84
- */
85
72
  sort(column: string, descending?: boolean): this;
86
- /**
87
- * Take first N rows
88
- */
89
73
  head(n?: number): this;
90
- /**
91
- * Take last N rows
92
- */
93
74
  tail(n?: number): this;
94
- /**
95
- * Rename columns
96
- */
97
75
  rename(mapping: Record<string, string>): this;
98
- /**
99
- * Add a computed column
100
- */
101
76
  withColumn(name: string, fn: (row: Record<string, any>, index: number) => any): this;
102
- /**
103
- * Drop nulls
104
- */
105
77
  dropna(columns?: string[]): this;
106
- /**
107
- * Drop duplicates
108
- */
109
78
  dropDuplicates(columns?: string[]): this;
110
- /**
111
- * Execute the pipeline and return the DataFrame
112
- */
113
79
  result(): Promise<DataFrame>;
114
- /**
115
- * Execute and return rows as plain objects
116
- */
117
80
  toRows(): Promise<Record<string, any>[]>;
118
- /**
119
- * Execute and return a single column as an array
120
- */
121
81
  toArray(column: string): Promise<any[]>;
122
- /**
123
- * Execute and return distinct values from a column
124
- */
125
82
  toDistinct(column: string): Promise<any[]>;
126
- /**
127
- * Execute and push results into a jux component.
128
- *
129
- * Supported targets:
130
- * - Table: sets columns + rows
131
- * - Dropdown/Select: sets options from labelKey/valueKey
132
- * - List: sets items
133
- * - DataFrameComponent: loads data
134
- * - Any object with a .rows() or .options() or .items() method
135
- */
83
+ toOptions(labelKey: string, valueKey?: string): Promise<{
84
+ label: string;
85
+ value: any;
86
+ }[]>;
87
+ toList(column: string): Promise<string[]>;
88
+ intoTable(table: any, columnLabels?: Record<string, string>): Promise<DataFrame>;
89
+ intoDropdown(dropdown: any, labelKey: string, valueKey?: string): Promise<DataFrame>;
90
+ intoList(list: any, column: string): Promise<DataFrame>;
136
91
  into(target: any, options?: IntoOptions): Promise<DataFrame>;
137
- /**
138
- * Execute and persist to IndexedDB
139
- */
140
92
  store(key: string, metadata?: Record<string, any>): Promise<DataFrame>;
93
+ private _loadFromStorage;
141
94
  private _loadFromUrl;
142
95
  private _loadFromFile;
143
96
  private _detectMimeType;
144
97
  }
145
- export interface IntoOptions {
146
- /** Override which columns to use (for Table targets) */
147
- columns?: string[];
148
- /** Column name → display label mapping */
149
- columnLabels?: Record<string, string>;
150
- /** Key for option labels (Dropdown/Select/List targets) */
151
- labelKey?: string;
152
- /** Key for option values (Dropdown/Select targets) */
153
- valueKey?: string;
154
- }
155
98
  /**
156
- * Factory function — the primary entry point
99
+ * Factory function — primary entry point via jux.gather()
157
100
  *
158
- * Usage:
159
- * import { data } from 'juxscript';
101
+ * Smart single-arg:
102
+ * jux.gather('raw/myfile.xlsx') // storage key
103
+ * jux.gather('https://api.com/data', { bearer: 'xxx' }) // URL with auth
104
+ * jux.gather(myUpload) // FileUpload
105
+ * jux.gather([{a:1}, {b:2}]) // inline rows
106
+ * jux.gather(existingDf) // clone DataFrame
160
107
  *
161
- * const df = await data().fromStorage('patients').select('name', 'dob').result();
162
- * await data().fromUrl(presignedUrl).filter(r => r.status === 'active').into(myTable);
108
+ * Explicit source:
109
+ * jux.gather().fromStorage(key)
110
+ * jux.gather().fromUrl(url, opts)
163
111
  */
164
- export declare function data(options?: PipelineOptions): DataPipeline;
112
+ export declare function gather(source?: any, options?: GatherOptions): DataPipeline;
165
113
  //# sourceMappingURL=DataPipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataPipeline.d.ts","sourceRoot":"","sources":["DataPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataPipeline.d.ts","sourceRoot":"","sources":["DataPipeline.ts"],"names":[],"mappings":"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"}