Sha256: d014da481bb8afbc8f4abb3f862553a43e5a7fe84c82c8d252a39b96d4cca0bd

Contents?: true

Size: 658 Bytes

Versions: 26

Compression:

Stored size: 658 Bytes

Contents

import { withPointer, handleChange } from './hook-engine.mjs';
export function useState(defaultValue) {
    return withPointer((pointer) => {
        const setFn = (newValue) => {
            // Noop if the value is still the same.
            if (pointer.get() !== newValue) {
                pointer.set(newValue);
                // Trigger re-render
                handleChange();
            }
        };
        if (pointer.initialized) {
            return [pointer.get(), setFn];
        }
        const value = typeof defaultValue === 'function' ? defaultValue() : defaultValue;
        pointer.set(value);
        return [value, setFn];
    });
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.25 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.24 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.23 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.22 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.21 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.20 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.19 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.18 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.17 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.16 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.15 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.14 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.13 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.12 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.11 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.10 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.9 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.8 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs
clapton-0.0.7 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/use-state.mjs