rimmel
Version:
A Stream-Oriented UI library for the Rx.Observable Universe
30 lines (27 loc) • 856 B
JavaScript
import { asap } from '../lib/drain.js';
import { camelCase } from '../utils/camelCase.js';
const DatasetSink = (node, key) => {
const { dataset } = node;
return (str) => {
dataset[camelCase(key)] = str;
};
};
const DatasetItemPreSink = (key) => (node) => {
const { dataset } = node;
return (str) => {
dataset[camelCase(key)] = str;
};
};
const DatasetObjectSink = (node) => {
const { dataset } = node;
return (data) => {
for (const [key, str] of Object.entries(data ?? {})) {
const camelKey = camelCase(key);
(str === undefined || str == null)
? delete dataset[camelKey]
: asap((str) => dataset[camelKey] = str, str);
}
};
};
export { DatasetItemPreSink, DatasetObjectSink, DatasetSink };
//# sourceMappingURL=dataset-sink.js.map