Created
March 3, 2025 00:08
-
-
Save dberlin/3f3fcaa04601083cb237ece95bf2a79a to your computer and use it in GitHub Desktop.
Comple createTable post-svelte-compiler
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* createTable.svelte.js generated by Svelte v5.20.5 */ | |
import*as $ from "/node_modules/.vite/deps/svelte_internal_client.js?v=d66895d6"; | |
import {constructTable, coreFeatures, getInitialTableState, isFunction} from "/@fs/Users/dannyb/sources/tanstack-table-alpha/packages/table-core/dist/esm/index.js"; | |
export function createTable(tableOptions) { | |
const _features = { | |
...coreFeatures, | |
...tableOptions._features | |
}; | |
let state = $.state($.proxy(getInitialTableState(_features, tableOptions.initialState))); | |
const statefulOptions = mergeObjects(tableOptions, { | |
_features, | |
state: { | |
...$.get(state), | |
...tableOptions.state | |
}, | |
mergeOptions: (defaultOptions, newOptions) => { | |
return mergeObjects(defaultOptions, newOptions); | |
} | |
}); | |
const table = constructTable(statefulOptions); | |
function updateOptions() { | |
table.setOptions( (prev) => { | |
return mergeObjects(prev, tableOptions, { | |
state: mergeObjects($.get(state), tableOptions.state || {}), | |
onStateChange: (updater) => { | |
if (isFunction(updater)) | |
$.set(state, $.proxy(updater($.get(state)), null, state)); | |
else | |
$.set(state, $.proxy(mergeObjects($.get(state), updater), null, state)); | |
tableOptions.onStateChange?.(updater); | |
} | |
}); | |
} | |
); | |
} | |
updateOptions(); | |
$.user_pre_effect( () => { | |
updateOptions(); | |
// re-render the table whenever the state or options change | |
} | |
); | |
return table; | |
} | |
function mergeObjects(...sources) { | |
const target = {}; | |
for (let source of sources) { | |
if ($.strict_equals(typeof source, 'function')) | |
source = source(); | |
if (source) { | |
const descriptors = Object.getOwnPropertyDescriptors(source); | |
for (const key in descriptors) { | |
if (key in target) | |
continue; | |
Object.defineProperty(target, key, { | |
enumerable: true, | |
get() { | |
for (let i = sources.length - 1; i >= 0; i--) { | |
let v, s = sources[i]; | |
if ($.strict_equals(typeof s, 'function')) | |
s = s(); | |
// eslint-disable-next-line prefer-const | |
v = (s || {})[key]; | |
if ($.strict_equals(v, undefined, false)) | |
return v; | |
} | |
} | |
}); | |
} | |
} | |
} | |
return target; | |
} | |
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiY3JlYXRlVGFibGUuc3ZlbHRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnN0cnVjdFRhYmxlLCBjb3JlRmVhdHVyZXMsIGdldEluaXRpYWxUYWJsZVN0YXRlLCBpc0Z1bmN0aW9uLCB9IGZyb20gJ0B0YW5zdGFjay90YWJsZS1jb3JlJztcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUYWJsZSh0YWJsZU9wdGlvbnMpIHtcbiAgICBjb25zdCBfZmVhdHVyZXMgPSB7IC4uLmNvcmVGZWF0dXJlcywgLi4udGFibGVPcHRpb25zLl9mZWF0dXJlcyB9O1xuICAgIGxldCBzdGF0ZSA9ICRzdGF0ZShnZXRJbml0aWFsVGFibGVTdGF0ZShfZmVhdHVyZXMsIHRhYmxlT3B0aW9ucy5pbml0aWFsU3RhdGUpKTtcbiAgICBjb25zdCBzdGF0ZWZ1bE9wdGlvbnMgPSBtZXJnZU9iamVjdHModGFibGVPcHRpb25zLCB7XG4gICAgICAgIF9mZWF0dXJlcyxcbiAgICAgICAgc3RhdGU6IHsgLi4uc3RhdGUsIC4uLnRhYmxlT3B0aW9ucy5zdGF0ZSB9LFxuICAgICAgICBtZXJnZU9wdGlvbnM6IChkZWZhdWx0T3B0aW9ucywgbmV3T3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlT2JqZWN0cyhkZWZhdWx0T3B0aW9ucywgbmV3T3B0aW9ucyk7XG4gICAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgdGFibGUgPSBjb25zdHJ1Y3RUYWJsZShzdGF0ZWZ1bE9wdGlvbnMpO1xuICAgIGZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMoKSB7XG4gICAgICAgIHRhYmxlLnNldE9wdGlvbnMoKHByZXYpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtZXJnZU9iamVjdHMocHJldiwgdGFibGVPcHRpb25zLCB7XG4gICAgICAgICAgICAgICAgc3RhdGU6IG1lcmdlT2JqZWN0cyhzdGF0ZSwgdGFibGVPcHRpb25zLnN0YXRlIHx8IHt9KSxcbiAgICAgICAgICAgICAgICBvblN0YXRlQ2hhbmdlOiAodXBkYXRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih1cGRhdGVyKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gdXBkYXRlcihzdGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gbWVyZ2VPYmplY3RzKHN0YXRlLCB1cGRhdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGFibGVPcHRpb25zLm9uU3RhdGVDaGFuZ2U/Lih1cGRhdGVyKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB1cGRhdGVPcHRpb25zKCk7XG4gICAgJGVmZmVjdC5wcmUoKCkgPT4ge1xuICAgICAgICB1cGRhdGVPcHRpb25zKCk7IC8vIHJlLXJlbmRlciB0aGUgdGFibGUgd2hlbmV2ZXIgdGhlIHN0YXRlIG9yIG9wdGlvbnMgY2hhbmdlXG4gICAgfSk7XG4gICAgcmV0dXJuIHRhYmxlO1xufVxuZnVuY3Rpb24gbWVyZ2VPYmplY3RzKC4uLnNvdXJjZXMpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB7fTtcbiAgICBmb3IgKGxldCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgICAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIHNvdXJjZSA9IHNvdXJjZSgpO1xuICAgICAgICBpZiAoc291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBkZXNjcmlwdG9ycyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkZXNjcmlwdG9ycykge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgaW4gdGFyZ2V0KVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHtcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IHNvdXJjZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdiwgcyA9IHNvdXJjZXNbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzID0gcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ID0gKHMgfHwge30pW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztDQUFTLGNBQWM7Q0FBRSxZQUFZO0NBQUUsb0JBQW9CO0NBQUUsVUFBVTtPQUFTLHNCQUFzQjs7Z0JBQ3RGLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztPQUNqQyxTQUFTLFFBQVEsWUFBWSxLQUFLLFlBQVksQ0FBQyxTQUFTO0tBQzFELEtBQUssbUJBQVUsb0JBQW9CLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxZQUFZOztPQUN0RSxlQUFlLEdBQUcsWUFBWSxDQUFDLFlBQVk7RUFDN0MsU0FBUztFQUNULEtBQUssYUFBTyxLQUFLLE1BQUssWUFBWSxDQUFDLEtBQUs7RUFDeEMsWUFBWSxHQUFHLGNBQWMsRUFBRSxVQUFVLEtBQUssQ0FBQztVQUNwQyxZQUFZLENBQUMsY0FBYyxFQUFFLFVBQVU7RUFDbEQsQ0FBQzs7O09BRUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxlQUFlOztVQUNuQyxhQUFhLEdBQUcsQ0FBQztFQUN0QixLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxDQUFDO1VBQ2pCLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWTtJQUNsQyxLQUFLLEVBQUUsWUFBWSxPQUFDLEtBQUssR0FBRSxZQUFZLENBQUMsS0FBSztJQUM3QyxhQUFhLEdBQUcsT0FBTyxLQUFLLENBQUM7U0FDckIsVUFBVSxDQUFDLE9BQU8sU0FDbEIsS0FBSyxVQUFHLE9BQU8sT0FBQyxLQUFLLFVBQXJCLEtBQUssZUFFTCxLQUFLLFVBQUcsWUFBWSxPQUFDLEtBQUssR0FBRSxPQUFPLFNBQW5DLEtBQUs7S0FDVCxZQUFZLENBQUMsYUFBYSxHQUFHLE9BQU87SUFDeEMsQ0FBQzs7RUFFVCxDQUFDO0NBQ0wsQ0FBQzs7Q0FDRCxhQUFhOztDQUNiLGlCQUFXLE9BQU8sQ0FBQztFQUNmLGFBQWE7Q0FDakIsQ0FBQzs7UUFDTSxLQUFLO0FBQ2hCLENBQUM7O1NBQ1EsWUFBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO09BQ3pCLE1BQU07O1VBQ0gsTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDOzZCQUNkLE1BQU0sRUFBSyxVQUFVLEdBQzVCLE1BQU0sR0FBRyxNQUFNOztNQUNmLE1BQU0sRUFBRSxDQUFDO1NBQ0gsV0FBVyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNOztjQUNoRCxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDeEIsR0FBRyxJQUFJLE1BQU07O0lBRWpCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUc7S0FDN0IsVUFBVSxFQUFFLElBQUk7S0FDaEIsR0FBRyxHQUFHLENBQUM7ZUFDTSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztXQUN2QyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDOztrQ0FDVCxDQUFDLEVBQUssVUFBVSxHQUN2QixDQUFDLEdBQUcsQ0FBQzs7T0FFVCxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUc7MkJBQ2IsQ0FBQyxFQUFLLFNBQVMsaUJBQ1IsQ0FBQztNQUNoQixDQUFDO0tBQ0wsQ0FBQzs7R0FFVCxDQUFDO0VBQ0wsQ0FBQztDQUNMLENBQUM7O1FBQ00sTUFBTTtBQUNqQixDQUFDIn0= |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment