@solid-primitives/rootless
Advanced tools
Comparing version 1.1.3 to 1.2.0
@@ -0,9 +1,9 @@ | ||
import { Owner } from 'solid-js/types/reactive/signal'; | ||
import { AnyFunction } from '@solid-primitives/utils'; | ||
import { Owner } from 'solid-js/types/reactive/signal'; | ||
/** | ||
* Creates a reactive **root branch**, that will be automatically disposed when it's owner does. | ||
* Creates a reactive **sub root**, that will be automatically disposed when it's owner does. | ||
* | ||
* @param fn a function in which the reactive state is scoped | ||
* @param owners reactive root dependency list – cleanup of any of them will trigger branch disposal. (Defaults to `getOwner()`) | ||
* @param owners reactive root dependency list – cleanup of any of them will trigger sub-root disposal. (Defaults to `getOwner()`) | ||
* @returns return values of {@link fn} | ||
@@ -13,3 +13,3 @@ * | ||
* const owner = getOwner() | ||
* const [dispose, memo] = createBranch(dispose => { | ||
* const [dispose, memo] = createSubRoot(dispose => { | ||
* const memo = createMemo(() => {...}) | ||
@@ -20,3 +20,5 @@ * onCleanup(() => {...}) // <- will cleanup when branch/owner disposes | ||
*/ | ||
declare function createBranch<T>(fn: (dispose: VoidFunction) => T, ...owners: (Owner | null)[]): T; | ||
declare function createSubRoot<T>(fn: (dispose: VoidFunction) => T, ...owners: (Owner | null)[]): T; | ||
/** @deprecated Renamed to `createSubRoot` */ | ||
declare const createBranch: typeof createSubRoot; | ||
/** | ||
@@ -37,3 +39,3 @@ * A wrapper for creating callbacks with `runWithOwner`. | ||
/** | ||
* Executes {@link fn} in a {@link createBranch} *(auto-disposing root)*, and returns a dispose function, to dispose computations used inside before automatic cleanup. | ||
* Executes {@link fn} in a {@link createSubRoot} *(auto-disposing root)*, and returns a dispose function, to dispose computations used inside before automatic cleanup. | ||
* | ||
@@ -74,2 +76,2 @@ * @param fn a function in which the reactive state is scoped | ||
export { createBranch, createCallback, createDisposable, createSharedRoot }; | ||
export { createBranch, createCallback, createDisposable, createSharedRoot, createSubRoot }; |
@@ -0,5 +1,6 @@ | ||
import { getOwner, createRoot, runWithOwner, onCleanup } from 'solid-js'; | ||
import { asArray, access } from '@solid-primitives/utils'; | ||
// src/index.ts | ||
import { asArray, access } from "@solid-primitives/utils"; | ||
import { createRoot, getOwner, onCleanup, runWithOwner } from "solid-js"; | ||
function createBranch(fn, ...owners) { | ||
function createSubRoot(fn, ...owners) { | ||
if (owners.length === 0) | ||
@@ -14,5 +15,6 @@ owners = [getOwner()]; | ||
} | ||
var createBranch = createSubRoot; | ||
var createCallback = (callback, owner = getOwner()) => owner ? (...args) => runWithOwner(owner, () => callback(...args)) : callback; | ||
function createDisposable(fn, ...owners) { | ||
return createBranch((dispose) => { | ||
return createSubRoot((dispose) => { | ||
fn(dispose); | ||
@@ -47,7 +49,3 @@ return dispose; | ||
} | ||
export { | ||
createBranch, | ||
createCallback, | ||
createDisposable, | ||
createSharedRoot | ||
}; | ||
export { createBranch, createCallback, createDisposable, createSharedRoot, createSubRoot }; |
{ | ||
"name": "@solid-primitives/rootless", | ||
"version": "1.1.3", | ||
"version": "1.2.0", | ||
"description": "A collection of helpers that aim to simplify using reactive primitives outside of reactive roots, and managing disposal of reactive roots.", | ||
@@ -16,3 +16,3 @@ "author": "Damian Tarnawski @thetarnav <gthetarnav@gmail.com>", | ||
"list": [ | ||
"createBranch", | ||
"createSubRoot", | ||
"createCallback", | ||
@@ -26,9 +26,18 @@ "createDisposable", | ||
"sideEffects": false, | ||
"type": "module", | ||
"main": "dist/index.cjs", | ||
"module": "dist/index.js", | ||
"types": "dist/index.d.ts", | ||
"files": [ | ||
"dist" | ||
], | ||
"type": "module", | ||
"main": "./dist/index.cjs", | ||
"module": "./dist/index.js", | ||
"types": "./dist/index.d.ts", | ||
"browser": {}, | ||
"exports": { | ||
"browser": { | ||
"import": "./dist/index.js", | ||
"require": "./dist/index.cjs" | ||
}, | ||
"import": "./dist/index.js", | ||
"require": "./dist/index.cjs" | ||
}, | ||
"keywords": [ | ||
@@ -40,21 +49,15 @@ "root", | ||
"dependencies": { | ||
"@solid-primitives/utils": "^3.0.2" | ||
"@solid-primitives/utils": "^3.1.0" | ||
}, | ||
"devDependencies": { | ||
"jsdom": "^20.0.0", | ||
"prettier": "^2.7.1", | ||
"solid-js": "^1.5.1", | ||
"solid-register": "^0.2.5", | ||
"tslib": "^2.4.0", | ||
"tsup": "^6.2.2", | ||
"typescript": "^4.7.4", | ||
"uvu": "^0.5.6" | ||
"solid-js": "^1.5.0" | ||
}, | ||
"peerDependencies": { | ||
"solid-js": "^1.3.1" | ||
"solid-js": "^1.5.0" | ||
}, | ||
"scripts": { | ||
"build": "tsup", | ||
"test": "uvu -r solid-register" | ||
"build": "jiti ../../scripts/build.ts", | ||
"test": "vitest -c ../../configs/vitest.config.ts", | ||
"test:ssr": "pnpm run test --mode ssr" | ||
} | ||
} |
@@ -14,3 +14,3 @@ <p> | ||
- [`createBranch`](#createBranch) - Creates a reactive **root branch**, that will be automatically disposed when it's owner does. | ||
- [`createSubRoot`](#createSubRoot) - Creates a reactive **sub root**, that will be automatically disposed when it's owner does. | ||
- [`createCallback`](#createCallback) - A wrapper for creating callbacks with `runWithOwner`. | ||
@@ -28,3 +28,3 @@ - [`createDisposable`](#createDisposable) - For disposing computations early – before the root cleanup. | ||
## `createBranch` | ||
## `createSubRoot` | ||
@@ -40,6 +40,6 @@ ###### Previously `createSubRoot` | ||
```ts | ||
import { createBranch } from "@solid-primitives/rootless"; | ||
import { createSubRoot } from "@solid-primitives/rootless"; | ||
createRoot(dispose => { | ||
createBranch(disposeBranch => { | ||
createSubRoot(disposeBranch => { | ||
// computations will be disposed with branch | ||
@@ -60,3 +60,3 @@ createEffect(() => {...}); | ||
```ts | ||
function createBranch<T>(fn: (dispose: VoidFunction) => T, ...owners: (Owner | null)[]): T; | ||
function createSubRoot<T>(fn: (dispose: VoidFunction) => T, ...owners: (Owner | null)[]): T; | ||
``` | ||
@@ -102,3 +102,3 @@ | ||
Executes provided function in a [`createBranch`](#createBranch) _(auto-disposing root)_, and returns a dispose function, to dispose computations used inside before automatic cleanup. | ||
Executes provided function in a [`createSubRoot`](#createSubRoot) _(auto-disposing root)_, and returns a dispose function, to dispose computations used inside before automatic cleanup. | ||
@@ -105,0 +105,0 @@ ```ts |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1
14151
171