UNPKG

solid-services

Version:

Solid.js library adding a services layer for global shared state.

11 lines 1.71 kB
import { useRegistry } from "./context"; /** * Returns a getter that returns the service registered for the given initializer. * * If no service is registered, it will first register the service using the given initializer. */ export function useService(initializer) { const registry = useRegistry(); return () => registry.get(initializer) || registry.register(initializer); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFLeEM7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLFdBQWtDO0lBRWxDLE1BQU0sUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VSZWdpc3RyeSB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgU2VydmljZUluaXRpYWxpemVyLCBTZXJ2aWNlIH0gZnJvbSBcIi4vcmVnaXN0cnlcIjtcblxuZXhwb3J0IHR5cGUgU2VydmljZUdldHRlcjxUIGV4dGVuZHMgU2VydmljZT4gPSAoKSA9PiBUO1xuXG4vKipcbiAqIFJldHVybnMgYSBnZXR0ZXIgdGhhdCByZXR1cm5zIHRoZSBzZXJ2aWNlIHJlZ2lzdGVyZWQgZm9yIHRoZSBnaXZlbiBpbml0aWFsaXplci5cbiAqIFxuICogSWYgbm8gc2VydmljZSBpcyByZWdpc3RlcmVkLCBpdCB3aWxsIGZpcnN0IHJlZ2lzdGVyIHRoZSBzZXJ2aWNlIHVzaW5nIHRoZSBnaXZlbiBpbml0aWFsaXplci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlcnZpY2U8VCBleHRlbmRzIFNlcnZpY2U+KFxuICBpbml0aWFsaXplcjogU2VydmljZUluaXRpYWxpemVyPFQ+XG4pOiBTZXJ2aWNlR2V0dGVyPFQ+IHtcbiAgY29uc3QgcmVnaXN0cnkgPSB1c2VSZWdpc3RyeSgpO1xuICByZXR1cm4gKCkgPT4gcmVnaXN0cnkuZ2V0KGluaXRpYWxpemVyKSB8fCByZWdpc3RyeS5yZWdpc3Rlcihpbml0aWFsaXplcik7XG59XG4iXX0=