@remix-run/data-table 0.0.0 → 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 +21 -0
- package/README.md +298 -2
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/lib/adapter.d.ts +180 -0
- package/dist/lib/adapter.d.ts.map +1 -0
- package/dist/lib/adapter.js +1 -0
- package/dist/lib/database.d.ts +361 -0
- package/dist/lib/database.d.ts.map +1 -0
- package/dist/lib/database.js +1368 -0
- package/dist/lib/errors.d.ts +50 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +67 -0
- package/dist/lib/inflection.d.ts +3 -0
- package/dist/lib/inflection.d.ts.map +1 -0
- package/dist/lib/inflection.js +56 -0
- package/dist/lib/operators.d.ts +151 -0
- package/dist/lib/operators.d.ts.map +1 -0
- package/dist/lib/operators.js +218 -0
- package/dist/lib/references.d.ts +42 -0
- package/dist/lib/references.d.ts.map +1 -0
- package/dist/lib/references.js +33 -0
- package/dist/lib/sql.d.ts +28 -0
- package/dist/lib/sql.d.ts.map +1 -0
- package/dist/lib/sql.js +51 -0
- package/dist/lib/table.d.ts +254 -0
- package/dist/lib/table.d.ts.map +1 -0
- package/dist/lib/table.js +496 -0
- package/dist/lib/types.d.ts +4 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +1 -0
- package/package.json +41 -7
- package/src/index.ts +115 -0
- package/src/lib/adapter.ts +209 -0
- package/src/lib/database.ts +2458 -0
- package/src/lib/errors.ts +109 -0
- package/src/lib/inflection.ts +69 -0
- package/src/lib/operators.ts +433 -0
- package/src/lib/references.ts +79 -0
- package/src/lib/sql.ts +67 -0
- package/src/lib/table.ts +981 -0
- package/src/lib/types.ts +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/lib/sql.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CA2BrF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,YAAY,CAEzE"}
|
package/dist/lib/sql.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tagged-template helper for building parameterized SQL statements.
|
|
3
|
+
* @param strings Template string parts.
|
|
4
|
+
* @param values Interpolated values or nested `SqlStatement` values.
|
|
5
|
+
* @returns A normalized SQL statement.
|
|
6
|
+
*/
|
|
7
|
+
export function sql(strings, ...values) {
|
|
8
|
+
let text = '';
|
|
9
|
+
let parameters = [];
|
|
10
|
+
let index = 0;
|
|
11
|
+
while (index < strings.length) {
|
|
12
|
+
text += strings[index];
|
|
13
|
+
if (index < values.length) {
|
|
14
|
+
let value = values[index];
|
|
15
|
+
if (isSqlStatement(value)) {
|
|
16
|
+
text += value.text;
|
|
17
|
+
parameters.push(...value.values);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
text += '?';
|
|
21
|
+
parameters.push(value);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
index += 1;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
text,
|
|
28
|
+
values: parameters,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns `true` when a value matches the `SqlStatement` shape.
|
|
33
|
+
* @param value Value to inspect.
|
|
34
|
+
* @returns Whether the value is a SQL statement object.
|
|
35
|
+
*/
|
|
36
|
+
export function isSqlStatement(value) {
|
|
37
|
+
if (typeof value !== 'object' || value === null) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
let statement = value;
|
|
41
|
+
return typeof statement.text === 'string' && Array.isArray(statement.values);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a SQL statement from raw text and values.
|
|
45
|
+
* @param text SQL text containing `?` placeholders.
|
|
46
|
+
* @param values Placeholder values.
|
|
47
|
+
* @returns A normalized SQL statement.
|
|
48
|
+
*/
|
|
49
|
+
export function rawSql(text, values = []) {
|
|
50
|
+
return { text, values };
|
|
51
|
+
}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import type { InferInput, InferOutput, Issue, ParseOptions, Schema } from '@remix-run/data-schema';
|
|
2
|
+
import type { Predicate, WhereInput } from './operators.ts';
|
|
3
|
+
import { columnMetadataKey, tableMetadataKey } from './references.ts';
|
|
4
|
+
import type { ColumnInput, ColumnReferenceLike, TableMetadataLike } from './references.ts';
|
|
5
|
+
import type { Pretty } from './types.ts';
|
|
6
|
+
/**
|
|
7
|
+
* Symbol key used to store non-enumerable table metadata.
|
|
8
|
+
*/
|
|
9
|
+
export { columnMetadataKey, tableMetadataKey } from './references.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Mapping of column names to schemas.
|
|
12
|
+
*/
|
|
13
|
+
export type ColumnSchemas = Record<string, Schema<any, any>>;
|
|
14
|
+
type ColumnNameFromColumns<columns extends ColumnSchemas> = keyof columns & string;
|
|
15
|
+
type DefaultPrimaryKey<columns extends ColumnSchemas> = 'id' extends ColumnNameFromColumns<columns> ? readonly ['id'] : readonly ColumnNameFromColumns<columns>[];
|
|
16
|
+
type NormalizePrimaryKey<columns extends ColumnSchemas, primaryKey extends ColumnNameFromColumns<columns> | readonly ColumnNameFromColumns<columns>[] | undefined> = primaryKey extends readonly (infer column extends ColumnNameFromColumns<columns>)[] ? readonly [...column[]] : primaryKey extends ColumnNameFromColumns<columns> ? readonly [primaryKey] : DefaultPrimaryKey<columns>;
|
|
17
|
+
export type TimestampOptions = boolean | {
|
|
18
|
+
createdAt?: string;
|
|
19
|
+
updatedAt?: string;
|
|
20
|
+
};
|
|
21
|
+
export type TimestampConfig = {
|
|
22
|
+
createdAt: string;
|
|
23
|
+
updatedAt: string;
|
|
24
|
+
};
|
|
25
|
+
type TableMetadata<name extends string, columns extends ColumnSchemas, primaryKey extends readonly ColumnNameFromColumns<columns>[]> = {
|
|
26
|
+
name: name;
|
|
27
|
+
columns: columns;
|
|
28
|
+
primaryKey: primaryKey;
|
|
29
|
+
timestamps: TimestampConfig | null;
|
|
30
|
+
};
|
|
31
|
+
export type ColumnReference<tableName extends string, columnName extends string, schema extends Schema<any, any>> = ColumnReferenceLike<`${tableName}.${columnName}`> & {
|
|
32
|
+
[columnMetadataKey]: {
|
|
33
|
+
tableName: tableName;
|
|
34
|
+
columnName: columnName;
|
|
35
|
+
qualifiedName: `${tableName}.${columnName}`;
|
|
36
|
+
schema: schema;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type AnyColumn = ColumnReference<string, string, Schema<any, any>>;
|
|
40
|
+
export type ColumnReferenceForQualifiedName<qualifiedName extends string> = AnyColumn & {
|
|
41
|
+
[columnMetadataKey]: {
|
|
42
|
+
qualifiedName: qualifiedName;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
type TableColumnReferences<name extends string, columns extends ColumnSchemas> = {
|
|
46
|
+
[column in keyof columns & string]: ColumnReference<name, column, columns[column]>;
|
|
47
|
+
};
|
|
48
|
+
type TableParseOutput<columns extends ColumnSchemas> = Partial<{
|
|
49
|
+
[column in keyof columns & string]: InferOutput<columns[column]>;
|
|
50
|
+
}>;
|
|
51
|
+
export type Table<name extends string, columns extends ColumnSchemas, primaryKey extends readonly ColumnNameFromColumns<columns>[]> = TableMetadataLike<name, columns, primaryKey, TimestampConfig | null> & {
|
|
52
|
+
[tableMetadataKey]: TableMetadata<name, columns, primaryKey>;
|
|
53
|
+
'~standard': Schema<unknown, TableParseOutput<columns>>['~standard'];
|
|
54
|
+
} & TableColumnReferences<name, columns>;
|
|
55
|
+
export type AnyTable = TableMetadataLike<string, ColumnSchemas, readonly string[], TimestampConfig | null> & {
|
|
56
|
+
[tableMetadataKey]: {
|
|
57
|
+
name: string;
|
|
58
|
+
columns: ColumnSchemas;
|
|
59
|
+
primaryKey: readonly string[];
|
|
60
|
+
timestamps: TimestampConfig | null;
|
|
61
|
+
};
|
|
62
|
+
'~standard': Schema<unknown, Partial<Record<string, unknown>>>['~standard'];
|
|
63
|
+
} & Record<string, unknown>;
|
|
64
|
+
export type TableName<table extends AnyTable> = table[typeof tableMetadataKey]['name'];
|
|
65
|
+
export type TableColumns<table extends AnyTable> = table[typeof tableMetadataKey]['columns'];
|
|
66
|
+
export type TablePrimaryKey<table extends AnyTable> = table[typeof tableMetadataKey]['primaryKey'];
|
|
67
|
+
export type TableTimestamps<table extends AnyTable> = table[typeof tableMetadataKey]['timestamps'];
|
|
68
|
+
export type TableRow<table extends AnyTable> = Pretty<{
|
|
69
|
+
[column in keyof TableColumns<table> & string]: InferOutput<TableColumns<table>[column]>;
|
|
70
|
+
}>;
|
|
71
|
+
export type TableRowWith<table extends AnyTable, loaded extends Record<string, unknown> = {}> = Pretty<TableRow<table> & loaded>;
|
|
72
|
+
export type TableColumnName<table extends AnyTable> = keyof TableColumns<table> & string;
|
|
73
|
+
export type QualifiedTableColumnName<table extends AnyTable> = `${TableName<table>}.${TableColumnName<table>}`;
|
|
74
|
+
export type TableColumnInput<table extends AnyTable> = ColumnInput<TableColumnName<table> | QualifiedTableColumnName<table>>;
|
|
75
|
+
export type TableReference<table extends AnyTable = AnyTable> = {
|
|
76
|
+
kind: 'table';
|
|
77
|
+
name: TableName<table>;
|
|
78
|
+
columns: TableColumns<table>;
|
|
79
|
+
primaryKey: TablePrimaryKey<table>;
|
|
80
|
+
timestamps: TableTimestamps<table>;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Creates a plain table reference snapshot from a table instance.
|
|
84
|
+
* @param table Source table instance.
|
|
85
|
+
* @returns Table metadata snapshot.
|
|
86
|
+
*/
|
|
87
|
+
export declare function getTableReference<table extends AnyTable>(table: table): TableReference<table>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns a table's SQL name.
|
|
90
|
+
* @param table Source table instance.
|
|
91
|
+
* @returns Table SQL name.
|
|
92
|
+
*/
|
|
93
|
+
export declare function getTableName<table extends AnyTable>(table: table): TableName<table>;
|
|
94
|
+
/**
|
|
95
|
+
* Returns a table's schema map.
|
|
96
|
+
* @param table Source table instance.
|
|
97
|
+
* @returns Table schema map.
|
|
98
|
+
*/
|
|
99
|
+
export declare function getTableColumns<table extends AnyTable>(table: table): TableColumns<table>;
|
|
100
|
+
/**
|
|
101
|
+
* Returns a table's primary key columns.
|
|
102
|
+
* @param table Source table instance.
|
|
103
|
+
* @returns Primary key columns.
|
|
104
|
+
*/
|
|
105
|
+
export declare function getTablePrimaryKey<table extends AnyTable>(table: table): TablePrimaryKey<table>;
|
|
106
|
+
/**
|
|
107
|
+
* Returns a table's resolved timestamp configuration.
|
|
108
|
+
* @param table Source table instance.
|
|
109
|
+
* @returns Timestamp configuration or `null`.
|
|
110
|
+
*/
|
|
111
|
+
export declare function getTableTimestamps<table extends AnyTable>(table: table): TableTimestamps<table>;
|
|
112
|
+
export type OrderDirection = 'asc' | 'desc';
|
|
113
|
+
export type OrderByClause = {
|
|
114
|
+
column: string;
|
|
115
|
+
direction: OrderDirection;
|
|
116
|
+
};
|
|
117
|
+
export type RelationCardinality = 'one' | 'many';
|
|
118
|
+
export type RelationKind = 'hasMany' | 'hasOne' | 'belongsTo' | 'hasManyThrough';
|
|
119
|
+
export type RelationResult<relation extends AnyRelation> = relation extends Relation<any, infer target, infer cardinality, infer loaded> ? cardinality extends 'many' ? Array<TableRowWith<target, loaded>> : TableRowWith<target, loaded> | null : never;
|
|
120
|
+
export type RelationMapForTable<table extends AnyTable> = Record<string, Relation<table, AnyTable, RelationCardinality, any>>;
|
|
121
|
+
export type LoadedRelationMap<relations extends RelationMapForTable<any>> = Pretty<{
|
|
122
|
+
[name in keyof relations]: RelationResult<relations[name]>;
|
|
123
|
+
}>;
|
|
124
|
+
export type KeySelector<table extends AnyTable> = (keyof TableRow<table> & string) | readonly (keyof TableRow<table> & string)[];
|
|
125
|
+
export type HasManyOptions<source extends AnyTable, target extends AnyTable> = {
|
|
126
|
+
foreignKey?: KeySelector<target>;
|
|
127
|
+
targetKey?: KeySelector<source>;
|
|
128
|
+
};
|
|
129
|
+
export type HasOneOptions<source extends AnyTable, target extends AnyTable> = {
|
|
130
|
+
foreignKey?: KeySelector<target>;
|
|
131
|
+
targetKey?: KeySelector<source>;
|
|
132
|
+
};
|
|
133
|
+
export type BelongsToOptions<source extends AnyTable, target extends AnyTable> = {
|
|
134
|
+
foreignKey?: KeySelector<source>;
|
|
135
|
+
targetKey?: KeySelector<target>;
|
|
136
|
+
};
|
|
137
|
+
export type HasManyThroughOptions<source extends AnyTable, target extends AnyTable> = {
|
|
138
|
+
through: Relation<source, AnyTable, RelationCardinality, any>;
|
|
139
|
+
throughForeignKey?: KeySelector<target>;
|
|
140
|
+
throughTargetKey?: string | string[];
|
|
141
|
+
};
|
|
142
|
+
export type RelationModifiers<target extends AnyTable> = {
|
|
143
|
+
where: Predicate[];
|
|
144
|
+
orderBy: OrderByClause[];
|
|
145
|
+
limit?: number;
|
|
146
|
+
offset?: number;
|
|
147
|
+
with: RelationMapForTable<target>;
|
|
148
|
+
};
|
|
149
|
+
export type ThroughRelationMetadata = {
|
|
150
|
+
relation: AnyRelation;
|
|
151
|
+
throughSourceKey: string[];
|
|
152
|
+
throughTargetKey: string[];
|
|
153
|
+
};
|
|
154
|
+
export type Relation<source extends AnyTable, target extends AnyTable, cardinality extends RelationCardinality, loaded extends Record<string, unknown> = {}> = {
|
|
155
|
+
kind: 'relation';
|
|
156
|
+
relationKind: RelationKind;
|
|
157
|
+
sourceTable: source;
|
|
158
|
+
targetTable: target;
|
|
159
|
+
cardinality: cardinality;
|
|
160
|
+
sourceKey: string[];
|
|
161
|
+
targetKey: string[];
|
|
162
|
+
through?: ThroughRelationMetadata;
|
|
163
|
+
modifiers: RelationModifiers<target>;
|
|
164
|
+
where(input: WhereInput<TableColumnName<target> | QualifiedTableColumnName<target>>): Relation<source, target, cardinality, loaded>;
|
|
165
|
+
orderBy(column: TableColumnInput<target>, direction?: OrderDirection): Relation<source, target, cardinality, loaded>;
|
|
166
|
+
limit(value: number): Relation<source, target, cardinality, loaded>;
|
|
167
|
+
offset(value: number): Relation<source, target, cardinality, loaded>;
|
|
168
|
+
with<relations extends RelationMapForTable<target>>(relations: relations): Relation<source, target, cardinality, loaded & LoadedRelationMap<relations>>;
|
|
169
|
+
};
|
|
170
|
+
export type AnyRelation = Relation<AnyTable, AnyTable, RelationCardinality, any>;
|
|
171
|
+
export type CreateTableOptions<name extends string, columns extends ColumnSchemas, primaryKey extends ColumnNameFromColumns<columns> | readonly ColumnNameFromColumns<columns>[] | undefined> = {
|
|
172
|
+
name: name;
|
|
173
|
+
columns: columns;
|
|
174
|
+
primaryKey?: primaryKey;
|
|
175
|
+
timestamps?: TimestampOptions;
|
|
176
|
+
};
|
|
177
|
+
export declare function validatePartialRow<table extends AnyTable>(table: table, value: unknown, options?: ParseOptions): {
|
|
178
|
+
value: Partial<TableRow<table>>;
|
|
179
|
+
} | {
|
|
180
|
+
issues: ReadonlyArray<Issue>;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Creates a table object with symbol-backed metadata and direct column references.
|
|
184
|
+
* @param options Table declaration options.
|
|
185
|
+
* @returns A frozen table object.
|
|
186
|
+
*/
|
|
187
|
+
export declare function createTable<name extends string, columns extends ColumnSchemas, primaryKey extends ColumnNameFromColumns<columns> | readonly ColumnNameFromColumns<columns>[] | undefined = undefined>(options: CreateTableOptions<name, columns, primaryKey>): Table<name, columns, NormalizePrimaryKey<columns, primaryKey>>;
|
|
188
|
+
/**
|
|
189
|
+
* Defines a one-to-many relation from `source` to `target`.
|
|
190
|
+
* @param source Source table.
|
|
191
|
+
* @param target Target table.
|
|
192
|
+
* @param relationOptions Relation key configuration.
|
|
193
|
+
* @returns A relation descriptor.
|
|
194
|
+
*/
|
|
195
|
+
export declare function hasMany<source extends AnyTable, target extends AnyTable>(source: source, target: target, relationOptions?: HasManyOptions<source, target>): Relation<source, target, 'many'>;
|
|
196
|
+
/**
|
|
197
|
+
* Defines a one-to-one relation from `source` to `target` where the foreign key lives on `target`.
|
|
198
|
+
* @param source Source table.
|
|
199
|
+
* @param target Target table.
|
|
200
|
+
* @param relationOptions Relation key configuration.
|
|
201
|
+
* @returns A relation descriptor.
|
|
202
|
+
*/
|
|
203
|
+
export declare function hasOne<source extends AnyTable, target extends AnyTable>(source: source, target: target, relationOptions?: HasOneOptions<source, target>): Relation<source, target, 'one'>;
|
|
204
|
+
/**
|
|
205
|
+
* Defines a one-to-one relation from `source` to `target`.
|
|
206
|
+
* @param source Source table.
|
|
207
|
+
* @param target Target table.
|
|
208
|
+
* @param relationOptions Relation key configuration.
|
|
209
|
+
* @returns A relation descriptor.
|
|
210
|
+
*/
|
|
211
|
+
export declare function belongsTo<source extends AnyTable, target extends AnyTable>(source: source, target: target, relationOptions?: BelongsToOptions<source, target>): Relation<source, target, 'one'>;
|
|
212
|
+
/**
|
|
213
|
+
* Defines a one-to-many relation from `source` to `target` through an intermediate relation.
|
|
214
|
+
* @param source Source table.
|
|
215
|
+
* @param target Target table.
|
|
216
|
+
* @param relationOptions Through relation configuration.
|
|
217
|
+
* @returns A relation descriptor.
|
|
218
|
+
*/
|
|
219
|
+
export declare function hasManyThrough<source extends AnyTable, target extends AnyTable>(source: source, target: target, relationOptions: HasManyThroughOptions<source, target>): Relation<source, target, 'many'>;
|
|
220
|
+
/**
|
|
221
|
+
* Creates a schema that accepts `Date`, string, and numeric timestamp inputs.
|
|
222
|
+
* @returns Timestamp schema for generated timestamp helpers.
|
|
223
|
+
*/
|
|
224
|
+
export declare function timestampSchema(): Schema<unknown, Date | string | number>;
|
|
225
|
+
/**
|
|
226
|
+
* Convenience helper for standard snake_case timestamp columns.
|
|
227
|
+
* @param schema Schema used for both timestamp columns.
|
|
228
|
+
* @returns Column schema map for `created_at`/`updated_at`.
|
|
229
|
+
*/
|
|
230
|
+
export declare function timestamps(schema?: Schema<any, any>): Record<'created_at' | 'updated_at', Schema<any, any>>;
|
|
231
|
+
export type PrimaryKeyInput<table extends AnyTable> = TablePrimaryKey<table> extends readonly [infer column extends string] ? column extends keyof TableColumns<table> & string ? InferInput<TableColumns<table>[column]> : never : Pretty<{
|
|
232
|
+
[column in TablePrimaryKey<table>[number] & keyof TableColumns<table> & string]: InferInput<TableColumns<table>[column]>;
|
|
233
|
+
}>;
|
|
234
|
+
/**
|
|
235
|
+
* Normalizes a primary-key input into an object keyed by primary-key columns.
|
|
236
|
+
* @param table Source table.
|
|
237
|
+
* @param value Primary-key input value.
|
|
238
|
+
* @returns Primary-key object.
|
|
239
|
+
*/
|
|
240
|
+
export declare function getPrimaryKeyObject<table extends AnyTable>(table: table, value: PrimaryKeyInput<table>): Partial<TableRow<table>>;
|
|
241
|
+
/**
|
|
242
|
+
* Builds a stable key for a row tuple.
|
|
243
|
+
* @param row Source row.
|
|
244
|
+
* @param columns Columns included in the tuple.
|
|
245
|
+
* @returns Stable tuple key.
|
|
246
|
+
*/
|
|
247
|
+
export declare function getCompositeKey(row: Record<string, unknown>, columns: readonly string[]): string;
|
|
248
|
+
/**
|
|
249
|
+
* Serializes values into stable string representations for key generation.
|
|
250
|
+
* @param value Value to serialize.
|
|
251
|
+
* @returns Stable serialized value.
|
|
252
|
+
*/
|
|
253
|
+
export declare function stableSerialize(value: unknown): string;
|
|
254
|
+
//# sourceMappingURL=table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/lib/table.ts"],"names":[],"mappings":"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"}
|