edges-svelte 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,15 @@
1
- import { createDerivedState } from '../store/index.js';
1
+ import { createDerivedState as BaseCreateDerivedState } from '../store/index.js';
2
2
  import type { Writable } from 'svelte/store';
3
3
  type StoreDeps = {
4
4
  createRawState: <T>(initial: T | (() => T)) => {
5
5
  value: T;
6
6
  };
7
7
  createState: <T>(initial: T | (() => T)) => Writable<T>;
8
- createDerivedState: typeof createDerivedState;
8
+ createDerivedState: typeof BaseCreateDerivedState;
9
9
  };
10
- export declare const createProvider: <T, I extends Record<string, unknown> = Record<string, unknown>>(name: string, factory: (args: StoreDeps & I) => T, inject?: I) => (() => T);
11
- export declare const createProviderFactory: <I extends Record<string, unknown>>(inject: I) => <T>(name: string, factory: (args: StoreDeps & I) => T) => () => T;
10
+ type NoConflict<I> = {
11
+ [K in keyof I]: K extends keyof StoreDeps ? never : I[K];
12
+ };
13
+ export declare const createProvider: <T, I extends Record<string, unknown> = Record<string, unknown>>(name: string, factory: (args: StoreDeps & NoConflict<I>) => T, inject?: I) => (() => T);
14
+ export declare const createProviderFactory: <I extends Record<string, unknown>>(inject: I) => <T>(name: string, factory: (args: StoreDeps & NoConflict<I>) => T) => () => T;
12
15
  export {};
@@ -1,9 +1,10 @@
1
- import { createState, createDerivedState, createRawState } from '../store/index.js';
1
+ import { createState as BaseCreateState, createDerivedState as BaseCreateDerivedState, createRawState as BaseCreateRawState } from '../store/index.js';
2
2
  import { RequestContext } from '../context/index.js';
3
3
  import { browser } from '$app/environment';
4
4
  const globalClientCache = new Map();
5
5
  export const createProvider = (name, factory, inject) => {
6
6
  const cacheKey = name;
7
+ let stateCounter = 0;
7
8
  return () => {
8
9
  let contextMap;
9
10
  if (browser) {
@@ -19,20 +20,19 @@ export const createProvider = (name, factory, inject) => {
19
20
  if (cacheKey && contextMap.has(cacheKey)) {
20
21
  return contextMap.get(cacheKey);
21
22
  }
22
- let stateCounter = 0;
23
23
  const autoKeyDeps = {
24
24
  ...inject,
25
25
  createState: (initial) => {
26
26
  const key = `${cacheKey ?? 'provider'}::state::${stateCounter++}`;
27
27
  const initFn = typeof initial === 'function' ? initial : () => initial;
28
- return createState(key, initFn);
28
+ return BaseCreateState(key, initFn);
29
29
  },
30
30
  createRawState: (initial) => {
31
31
  const key = `${cacheKey ?? 'provider'}::rawstate::${stateCounter++}`;
32
32
  const initFn = typeof initial === 'function' ? initial : () => initial;
33
- return createRawState(key, initFn);
33
+ return BaseCreateRawState(key, initFn);
34
34
  },
35
- createDerivedState
35
+ createDerivedState: BaseCreateDerivedState
36
36
  };
37
37
  const instance = factory(autoKeyDeps);
38
38
  if (cacheKey) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edges-svelte",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "license": "MIT",
5
5
  "author": "Pixel1917",
6
6
  "description": "A blazing-fast, extremely lightweight and SSR-friendly store for Svelte",