solid-use
Version:
A collection of SolidJS utilities
8 lines (7 loc) • 1.32 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/online-status.ts"],
"sourcesContent": ["import { createEffect, createSignal, onCleanup } from 'solid-js';\nimport { isServer } from 'solid-js/web';\n\nconst useOnlineStatus = isServer\n ? (): (() => boolean) => () => true\n : (): (() => boolean) => {\n const [state, setState] = createSignal(true);\n\n createEffect(() => {\n const callback = () => {\n setState(navigator.onLine);\n };\n callback();\n window.addEventListener('online', callback, false);\n window.addEventListener('offline', callback, false);\n onCleanup(() => {\n window.removeEventListener('online', callback, false);\n window.removeEventListener('offline', callback, false);\n });\n });\n\n return state;\n };\n\nexport default useOnlineStatus;\n"],
"mappings": ";AAAA,SAAS,cAAc,cAAc,iBAAiB;AACtD,SAAS,gBAAgB;AAEzB,IAAM,kBAAkB,WACpB,MAAuB,MAAM,OAC7B,MAAuB;AACrB,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAa,IAAI;AAE3C,eAAa,MAAM;AACjB,UAAM,WAAW,MAAM;AACrB,eAAS,UAAU,MAAM;AAAA,IAC3B;AACA,aAAS;AACT,WAAO,iBAAiB,UAAU,UAAU,KAAK;AACjD,WAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,cAAU,MAAM;AACd,aAAO,oBAAoB,UAAU,UAAU,KAAK;AACpD,aAAO,oBAAoB,WAAW,UAAU,KAAK;AAAA,IACvD,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;AAEJ,IAAO,wBAAQ;",
"names": []
}