@raythurnevoid/svelte-hooks
Advanced tools
Comparing version 0.0.2 to 0.0.3
130
cjs/index.js
@@ -16,3 +16,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.UseDebounce = exports.UseState = exports.Use = void 0; | ||
exports.createHookApi = exports.useState = exports.useThrottle = exports.useDebounce = exports.useEffectOnce = exports.useOnce = exports.useEffect = exports.use = exports.UseDebounce = exports.UseState = exports.Use = void 0; | ||
const Use_svelte_1 = __importDefault(require("./Use.svelte")); | ||
@@ -24,3 +24,131 @@ exports.Use = Use_svelte_1.default; | ||
exports.UseDebounce = UseDebounce_svelte_1.default; | ||
const utils_1 = require("./utils"); | ||
const svelte_1 = require("svelte"); | ||
__exportStar(require("./types"), exports); | ||
function use(cb) { | ||
class _Use { | ||
constructor() { } | ||
hook(deps) { | ||
var _a; | ||
let uninitialized = ((_a = this.deps) === null || _a === void 0 ? void 0 : _a.length) === undefined; | ||
let firstUpdate = uninitialized && (deps === null || deps === void 0 ? void 0 : deps.length) !== undefined; | ||
let updated = firstUpdate || (this.deps !== deps && !utils_1.arrayEquals(this.deps, deps)); | ||
if (updated) { | ||
this.setDeps(deps); | ||
cb(); | ||
} | ||
} | ||
setDeps(deps) { | ||
this.deps = deps; | ||
} | ||
} | ||
const _use = new _Use(); | ||
return createHookApi((deps) => _use.hook(deps), { | ||
setDeps(deps) { | ||
_use.setDeps(deps); | ||
}, | ||
}); | ||
} | ||
exports.use = use; | ||
function useEffect(cb) { | ||
let _deps; | ||
let mounted = false; | ||
const hook = use(cb); | ||
svelte_1.onMount(() => { | ||
mounted = true; | ||
hook(_deps); | ||
}); | ||
return createHookApi((deps) => { | ||
_deps = deps; | ||
if (mounted) { | ||
return hook(deps); | ||
} | ||
}, { | ||
setDeps(deps) { | ||
hook.setDeps(deps); | ||
}, | ||
}); | ||
} | ||
exports.useEffect = useEffect; | ||
function useOnce(cb) { | ||
let run = true; | ||
return () => { | ||
if (run) { | ||
run = false; | ||
return cb(); | ||
} | ||
}; | ||
} | ||
exports.useOnce = useOnce; | ||
function useEffectOnce(cb) { | ||
const hook = useEffect(useOnce(cb)); | ||
return createHookApi((deps) => { | ||
return hook(deps); | ||
}, { | ||
setDeps(deps) { | ||
hook.setDeps(deps); | ||
}, | ||
}); | ||
} | ||
exports.useEffectOnce = useEffectOnce; | ||
function useDebounce(cb, debounce) { | ||
const hook = use(cb); | ||
let timeout; | ||
return createHookApi((deps) => { | ||
if (timeout) | ||
return; | ||
timeout = setTimeout(() => { | ||
timeout = null; | ||
hook(deps); | ||
}, debounce); | ||
}, { | ||
setDeps(deps) { | ||
hook.setDeps(deps); | ||
}, | ||
}); | ||
} | ||
exports.useDebounce = useDebounce; | ||
function useThrottle(cb, throttle) { | ||
const hook = use(cb); | ||
let timeout; | ||
return createHookApi((deps) => { | ||
clearTimeout(timeout); | ||
timeout = setTimeout(() => { | ||
timeout = null; | ||
hook(deps); | ||
}, throttle); | ||
}, { | ||
setDeps(deps) { | ||
hook.setDeps(deps); | ||
}, | ||
}); | ||
} | ||
exports.useThrottle = useThrottle; | ||
function useState(initialValue, cb) { | ||
let oldValue = initialValue; | ||
let newValue; | ||
const hook = use(() => { | ||
cb({ | ||
newValue, | ||
oldValue, | ||
}); | ||
oldValue = newValue; | ||
}); | ||
return createHookApi((value) => { | ||
newValue = value; | ||
hook([value]); | ||
return [value, oldValue]; | ||
}, { | ||
setState(value) { | ||
hook.setDeps([value]); | ||
}, | ||
}); | ||
} | ||
exports.useState = useState; | ||
function createHookApi(updater, api) { | ||
return Object.assign(updater, { | ||
...api, | ||
}); | ||
} | ||
exports.createHookApi = createHookApi; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@raythurnevoid/svelte-hooks", | ||
"version": "0.0.2", | ||
"description": "", | ||
"main": "./cjs/index.js", | ||
"module": "./esm/index.ts", | ||
"scripts": { | ||
"clean-lib": "del-cli lib", | ||
"copy:package": "copyfiles package.json lib", | ||
"copy:cjs": "copyfiles --up 1 src/**/*.* lib/cjs", | ||
"copy:esm": "copyfiles --up 1 src/**/*.* lib/esm", | ||
"tsc:cjs": "tsc -p tsconfig.lib.cjs.json", | ||
"tsc:esm": "tsc -p tsconfig.lib.esm.json", | ||
"lib": "npm-run-all clean-lib copy:package copy:cjs copy:esm tsc:cjs", | ||
"name": "@raythurnevoid/svelte-hooks", | ||
"version": "0.0.3", | ||
"description": "", | ||
"main": "./cjs/index.js", | ||
"module": "./esm/index.ts", | ||
"scripts": { | ||
"clean-lib": "del-cli lib", | ||
"copy:package": "copyfiles package.json lib", | ||
"copy:src:cjs": "copyfiles --up 1 src/**/*.svelte lib/cjs", | ||
"copy:src:esm": "copyfiles --up 1 src/**/*.svelte lib/esm", | ||
"copy:src:ts": "copyfiles --up 1 src/**/*.* lib/ts", | ||
"copy:src": "npm-run-all --parallel copy:src:cjs copy:src:esm copy:src:ts", | ||
"tsc:cjs": "tsc -p tsconfig.lib.cjs.json", | ||
"tsc:esm": "tsc -p tsconfig.lib.esm.json", | ||
"lib": "npm-run-all clean-lib copy:package copy:src tsc:cjs tsc:esm", | ||
"prepackage": "npm run lib", | ||
"package": "npm publish ./lib --access public", | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://raythurnevoid:6757d77f7939d498560f1557db1864b9f4a4a1bf@github.com/raythurnevoid/svelte-hooks.git" | ||
}, | ||
"author": "Ray Thurne", | ||
"license": "ISC", | ||
"bugs": { | ||
"url": "https://github.com/raythurnevoid/svelte-hooks/issues" | ||
}, | ||
"homepage": "https://github.com/raythurnevoid/svelte-hooks#readme", | ||
"devDependencies": { | ||
"@tsconfig/svelte": "^1.0.10", | ||
"copyfiles": "^2.4.1", | ||
"del-cli": "^3.0.1", | ||
"npm-run-all": "^4.1.5", | ||
"svelte": "^3.31.0", | ||
"svelte-preprocess": "^4.6.1", | ||
"typescript": "^4.1.3" | ||
} | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/raythurnevoid/svelte-hooks.git" | ||
}, | ||
"author": "Ray Thurne", | ||
"license": "ISC", | ||
"bugs": { | ||
"url": "https://github.com/raythurnevoid/svelte-hooks/issues" | ||
}, | ||
"homepage": "https://github.com/raythurnevoid/svelte-hooks#readme", | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"@raythurnevoid/svelte-template": "^0.0.13", | ||
"copyfiles": "^2.4.1", | ||
"del-cli": "^3.0.1", | ||
"npm-run-all": "^4.1.5", | ||
"svelte": "^3.32.0" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
30483
5
25
441
1