cogsbox-state 0.5.476 → 0.5.479

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.
package/README.md CHANGED
@@ -289,6 +289,98 @@ todos.$clearSelected();
289
289
  const isSelected = todos.$index(0).isSelected;
290
290
  ```
291
291
 
292
+ ## Plugin Chain Methods
293
+
294
+ Plugins can add custom methods to the state builder chain with `.methods(...)`.
295
+ This is useful for reusable behaviours such as uploads, persistence, analytics,
296
+ or domain-specific state actions.
297
+
298
+ ```typescript
299
+ import { createCogsState, createPluginContext } from 'cogsbox-state';
300
+ import { z } from 'zod';
301
+
302
+ const { createPlugin } = createPluginContext({
303
+ options: z.object({
304
+ bucketPrefix: z.string().optional(),
305
+ }),
306
+ });
307
+
308
+ const s3Plugin = createPlugin('s3').methods(({ path, array }) => ({
309
+ sendToS3: path((state) => state.users.$.profile.image)(
310
+ async (ctx, bucket: string) => {
311
+ return upload(ctx.$get(), bucket);
312
+ }
313
+ ),
314
+
315
+ sendManyToS3: array(async (ctx, bucket: string) => {
316
+ return uploadMany(ctx.$get(), bucket);
317
+ }),
318
+
319
+ sendGalleryToS3: path((state) => state.galleries.$.images).array(
320
+ async (ctx, bucket: string) => {
321
+ return uploadMany(ctx.$get(), bucket, ctx.options?.bucketPrefix);
322
+ }
323
+ ),
324
+ }));
325
+
326
+ const { useCogsState } = createCogsState(initialState, {
327
+ plugins: [s3Plugin],
328
+ });
329
+ ```
330
+
331
+ Use the plugin by passing its options to `useCogsState`:
332
+
333
+ ```typescript
334
+ const assets = useCogsState('assets', {
335
+ s3: { bucketPrefix: 'uploads' },
336
+ });
337
+
338
+ await assets.users.$index(0).profile.image.sendToS3('avatars');
339
+ await assets.galleries.$index(0).images.sendGalleryToS3('gallery');
340
+ await assets.looseImages.sendManyToS3('images');
341
+ ```
342
+
343
+ ### Method Targets
344
+
345
+ Method helpers decide where a method can run:
346
+
347
+ - `field(fn)` - any state node
348
+ - `array(fn)` - arrays only
349
+ - `object(fn)` - plain objects only
350
+ - `primitive(fn)` - strings, numbers, booleans, `null`, etc.
351
+ - `boolean(fn)` - booleans only
352
+ - `path(selector)(fn)` - only a matching path
353
+ - `path(selector).array(fn)` - matching path and array value
354
+
355
+ The `path` helper receives a path-recorder proxy. The `$` segment means "one
356
+ path segment", which naturally matches array item ids internally:
357
+
358
+ ```typescript
359
+ path((state) => state.users.$.profile.image);
360
+ ```
361
+
362
+ matches calls like:
363
+
364
+ ```typescript
365
+ assets.users.$index(0).profile.image.sendToS3('avatars');
366
+ ```
367
+
368
+ The first handler argument is a scoped plugin context. The remaining handler
369
+ arguments become the chain method arguments, and the return type is preserved:
370
+
371
+ ```typescript
372
+ const imagePlugin = createPlugin('images').methods(({ field }) => ({
373
+ resize: field((ctx, width: number, height: number) => {
374
+ return resizeImage(ctx.$get(), width, height);
375
+ }),
376
+ }));
377
+
378
+ // typed as resize(width: number, height: number): ReturnType<typeof resizeImage>
379
+ state.avatar.resize(200, 200);
380
+ ```
381
+
382
+ If a real state field has the same name as a plugin method, the state field wins.
383
+
292
384
  <!-- ### Virtualization for Large Lists
293
385
 
294
386
  For performance with large datasets:
@@ -1,4 +1,4 @@
1
- import { CogsPlugin } from './plugins';
1
+ import { ChainMethodCallables, CogsPlugin } from './plugins';
2
2
  import { GenericObject } from './utility.js';
3
3
  import { ValidationError, ValidationSeverity, ValidationStatus, ComponentsType } from './store.js';
4
4
  import { ZodType } from 'zod/v4';
@@ -23,7 +23,7 @@ export type StateKeys = string;
23
23
  type CutFunctionType<T> = (index?: number, options?: {
24
24
  waitForSync?: boolean;
25
25
  }) => StateObject<T>;
26
- export type InferArrayElement<T> = T extends (infer U)[] ? U : never;
26
+ export type InferArrayElement<T> = NonNullable<T> extends (infer U)[] ? U : never;
27
27
  export type FormControl<T> = (obj: FormElementParams<T>) => JSX.Element;
28
28
  export type UpdateArg<S> = S | ((prevState: S) => S);
29
29
  export type InsertParams<S> = S | ((prevState: {
@@ -36,7 +36,7 @@ export type UpdateType<T> = (payload: UpdateArg<T>) => {
36
36
  export type InsertType<T> = (payload: InsertParams<T>, index?: number) => void;
37
37
  export type InsertTypeObj<T> = (payload: InsertParams<T>) => void;
38
38
  type EffectFunction<T, R> = (state: T, deps: any[]) => R;
39
- export type PerPathFormOptsType<TState, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[] = []> = Omit<FormOptsType, 'formElements'> & {
39
+ export type PerPathFormOptsType<TState, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []> = Omit<FormOptsType, 'formElements'> & {
40
40
  formElements?: FormsElementsType<TState, TPlugins>;
41
41
  };
42
42
  export type FormOptsType = {
@@ -55,7 +55,7 @@ export type ArrayElementExtras<TParentArray = unknown> = {
55
55
  $cutThis: () => void;
56
56
  $_index: number;
57
57
  };
58
- export type EndType<T, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[] = []> = {
58
+ export type EndType<T, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []> = {
59
59
  $getPluginMetaData: (pluginName: string) => Record<string, any>;
60
60
  $addPluginMetaData: (key: string, data: Record<string, any>) => void;
61
61
  $removePluginMetaData: (key: string) => void;
@@ -92,6 +92,7 @@ export type EndType<T, TPlugins extends readonly CogsPlugin<any, any, any, any,
92
92
  selectText: () => void;
93
93
  };
94
94
  $removeStorage: () => void;
95
+ $setRaw: (value: T) => void;
95
96
  $sync: () => void;
96
97
  $validationWrapper: ({ children, hideMessage, }: {
97
98
  children: React.ReactNode;
@@ -99,8 +100,8 @@ export type EndType<T, TPlugins extends readonly CogsPlugin<any, any, any, any,
99
100
  }) => JSX.Element;
100
101
  $lastSynced?: SyncInfo;
101
102
  };
102
- export type ArrayElementState<TElement, TParentArray, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[] = []> = StateObject<TElement, TPlugins> & ArrayElementExtras<TParentArray>;
103
- export type ArrayEndType<TShape extends unknown, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[]> = {
103
+ export type ArrayElementState<TElement, TParentArray, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []> = StateObject<TElement, TPlugins> & ArrayElementExtras<TParentArray>;
104
+ export type ArrayEndType<TShape extends unknown, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[]> = {
104
105
  (): TShape;
105
106
  (newValue: TShape | ((prev: TShape) => TShape)): void;
106
107
  $findWith: <K extends keyof Prettify<InferArrayElement<TShape>>>(key: K, value: Prettify<InferArrayElement<TShape>>[K]) => ArrayElementState<Prettify<InferArrayElement<TShape>>, TShape, TPlugins> | undefined;
@@ -123,14 +124,14 @@ export type ArrayEndType<TShape extends unknown, TPlugins extends readonly CogsP
123
124
  $getSelectedIndex: () => number;
124
125
  $last: () => ArrayElementState<Prettify<InferArrayElement<TShape>>, TShape, TPlugins> | undefined;
125
126
  } & EndType<TShape, TPlugins>;
126
- export type StateObject<T, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[] = []> = {
127
+ export type StateObject<T, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []> = {
127
128
  (): T;
128
129
  (newValue: T | ((prev: T) => T)): void;
129
- } & (T extends any[] ? ArrayEndType<T, TPlugins> : T extends Record<string, unknown> | object ? {
130
- [K in keyof T]-?: StateObject<T[K], TPlugins>;
131
- } : EndType<T, TPlugins>) & // primitives just get EndType
130
+ } & ([NonNullable<T>] extends [any[]] ? ArrayEndType<T, TPlugins> : [NonNullable<T>] extends [Record<string, unknown> | object] ? {
131
+ [K in keyof NonNullable<T>]-?: StateObject<NonNullable<T>[K], TPlugins>;
132
+ } : {}) & // Fallback to {} since we intersect EndType below anyway
132
133
  EndType<T, TPlugins> & {
133
- $toggle: T extends boolean ? () => void : never;
134
+ $toggle: NonNullable<T> extends boolean ? () => void : never;
134
135
  $validate: () => {
135
136
  success: boolean;
136
137
  data?: T;
@@ -140,7 +141,7 @@ EndType<T, TPlugins> & {
140
141
  $getComponents: () => ComponentsType;
141
142
  $_initialState: T;
142
143
  $updateInitialState: (newState: T | null) => {
143
- fetchId: (field: keyof T) => string | number;
144
+ fetchId: (field: keyof NonNullable<T>) => string | number;
144
145
  };
145
146
  $initializeAndMergeShadowState: (newState: any | null) => void;
146
147
  $_isLoading: boolean;
@@ -153,8 +154,10 @@ EndType<T, TPlugins> & {
153
154
  update: UpdateTypeDetail;
154
155
  }) => void) => void;
155
156
  $getLocalStorage: (key: string) => LocalStorageData<T> | null;
156
- };
157
+ } & PluginChainMethodCallables<TPlugins>;
157
158
  export type CogsUpdate<T extends unknown> = UpdateType<T>;
159
+ type UnionToIntersection<T> = (T extends any ? (arg: T) => void : never) extends (arg: infer I) => void ? I : never;
160
+ type PluginChainMethodCallables<TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[]> = UnionToIntersection<TPlugins[number] extends CogsPlugin<any, any, any, any, any, infer TMethods> ? ChainMethodCallables<TMethods> : {}>;
158
161
  export type UpdateTypeDetail = {
159
162
  timeStamp: number;
160
163
  stateKey: string;
@@ -187,7 +190,7 @@ type SyncOptionsType<TApiParams> = {
187
190
  connect?: boolean;
188
191
  inMemoryState?: boolean;
189
192
  };
190
- export type CreateStateOptionsType<T extends unknown = unknown, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[] = []> = {
193
+ export type CreateStateOptionsType<T extends unknown = unknown, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []> = {
191
194
  formElements?: FormsElementsType<T, TPlugins>;
192
195
  validation?: ValidationOptionsType;
193
196
  plugins?: TPlugins;
@@ -237,7 +240,7 @@ type ScopedPluginApi<THookReturn, TFieldMetaData> = {
237
240
  getFieldMetaData: () => TFieldMetaData | undefined;
238
241
  setFieldMetaData: (data: Partial<TFieldMetaData>) => void;
239
242
  };
240
- export type FormsElementsType<TState, TPlugins extends readonly CogsPlugin<any, any, any, any, any>[] = []> = {
243
+ export type FormsElementsType<TState, TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []> = {
241
244
  validation?: (options: {
242
245
  children: React.ReactNode;
243
246
  status: ValidationStatus;
@@ -259,73 +262,80 @@ export type FormsElementsType<TState, TPlugins extends readonly CogsPlugin<any,
259
262
  key?: string;
260
263
  }) => React.ReactNode;
261
264
  };
262
- export type CogsInitialState<T> = {
263
- initialState: T;
264
- } | CreateStateOptionsType<T>;
265
- export type TransformedStateType<T> = {
266
- [P in keyof T]: T[P] extends CogsInitialState<infer U> ? U : T[P];
267
- };
268
- export declare function addStateOptions<T>(initialState: T, options: CreateStateOptionsType<T>): {
269
- initialState: T;
270
- _addStateOptions: boolean;
271
- formElements?: FormsElementsType<T, []> | undefined;
272
- validation?: ValidationOptionsType;
273
- plugins?: [] | undefined;
274
- };
275
265
  export type PluginData = {
276
- plugin: CogsPlugin<any, any, any, any, any>;
266
+ plugin: CogsPlugin<any, any, any, any, any, any, any>;
277
267
  options: any;
278
268
  hookData?: any;
279
269
  };
280
- export declare const createCogsState: <State extends Record<string, unknown>, const TPlugins extends readonly CogsPlugin<string, any, any, any, any>[] = []>(initialState: State, opt?: {
270
+ export declare const createCogsState: <State extends Record<string, unknown>, const TPlugins extends readonly CogsPlugin<string, any, any, any, any, any, any>[] = []>(initialState: State, opt?: {
281
271
  plugins?: TPlugins;
282
272
  formElements?: FormsElementsType<State, TPlugins>;
283
273
  validation?: ValidationOptionsType;
284
274
  }) => {
285
- useCogsState: <StateKey extends keyof State>(stateKey: StateKey, options?: CreateStateOptionsType<unknown, []> & {
286
- log?: boolean;
287
- componentId?: string;
288
- syncOptions?: SyncOptionsType<never> | undefined;
289
- serverState?: {
290
- id?: string | number;
291
- data?: TransformedStateType<State>[StateKey] | undefined;
292
- status?: "pending" | "error" | "success" | "loading";
293
- timestamp?: number;
294
- merge?: boolean | {
295
- strategy: "append" | "prepend" | "diff";
296
- key?: string;
297
- };
298
- } | undefined;
299
- sync?: {
300
- action: (state: TransformedStateType<State>[StateKey]) => Promise<{
301
- success: boolean;
302
- data?: any;
303
- error?: any;
304
- errors?: Array<{
305
- path: (string | number)[];
306
- message: string;
307
- }>;
308
- }>;
309
- onSuccess?: (data: any) => void;
310
- onError?: (error: any) => void;
311
- } | undefined;
312
- middleware?: ({ update }: {
313
- update: UpdateTypeDetail;
314
- }) => void;
315
- localStorage?: {
316
- key: string | ((state: TransformedStateType<State>[StateKey]) => string);
317
- onChange?: ((state: TransformedStateType<State>[StateKey]) => void) | undefined;
318
- } | undefined;
319
- reactiveDeps?: ((state: TransformedStateType<State>[StateKey]) => any[] | true) | undefined;
320
- reactiveType?: ReactivityType;
321
- syncUpdate?: Partial<UpdateTypeDetail>;
322
- defaultState?: TransformedStateType<State>[StateKey] | undefined;
323
- dependencies?: any[];
324
- } & { [PName in keyof { [K_1 in TPlugins[number] as K_1["name"]]?: (K_1 extends CogsPlugin<string, infer O, any, any, any> ? O : never) | undefined; }]?: ({ [K_1 in TPlugins[number] as K_1["name"]]?: (K_1 extends CogsPlugin<string, infer O, any, any, any> ? O : never) | undefined; }[PName] extends infer P ? P extends Record<string, any> ? { [K_2 in keyof P]: P[K_2] extends {
275
+ useCogsState: <StateKey extends keyof Prettify<State & { [K in keyof (((TPlugins[number] extends infer T ? T extends TPlugins[number] ? T extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T extends {
276
+ initialState?: () => infer S_1;
277
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_1 ? T_1 extends (TPlugins[number] extends infer T_2 ? T_2 extends TPlugins[number] ? T_2 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_2 extends {
278
+ initialState?: () => infer S_1;
279
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_1 extends any ? (k: T_1) => void : never : never : never) extends (k: infer I) => void ? I : never) as K extends keyof State ? never : K]: (((TPlugins[number] extends infer T_3 ? T_3 extends TPlugins[number] ? T_3 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_3 extends {
280
+ initialState?: () => infer S_1;
281
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_4 ? T_4 extends (TPlugins[number] extends infer T_5 ? T_5 extends TPlugins[number] ? T_5 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_5 extends {
282
+ initialState?: () => infer S_1;
283
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_4 extends any ? (k: T_4) => void : never : never : never) extends (k: infer I) => void ? I : never)[K]; }>>(stateKey: StateKey, options?: Prettify<OptionsType<Prettify<State & { [K in keyof (((TPlugins[number] extends infer T_3 ? T_3 extends TPlugins[number] ? T_3 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_3 extends {
284
+ initialState?: () => infer S_1;
285
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_4 ? T_4 extends (TPlugins[number] extends infer T_5 ? T_5 extends TPlugins[number] ? T_5 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_5 extends {
286
+ initialState?: () => infer S_1;
287
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_4 extends any ? (k: T_4) => void : never : never : never) extends (k: infer I) => void ? I : never) as K extends keyof State ? never : K]: (((TPlugins[number] extends infer T_6 ? T_6 extends TPlugins[number] ? T_6 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_6 extends {
288
+ initialState?: () => infer S_1;
289
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_7 ? T_7 extends (TPlugins[number] extends infer T_8 ? T_8 extends TPlugins[number] ? T_8 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_8 extends {
290
+ initialState?: () => infer S_1;
291
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_7 extends any ? (k: T_7) => void : never : never : never) extends (k: infer I) => void ? I : never)[K]; }>[StateKey], never> & { [PName in keyof { [K_1 in TPlugins[number] as K_1["name"]]?: (K_1 extends {
292
+ useHook?: (params: {
293
+ options: infer O;
294
+ }) => any;
295
+ } ? O : K_1 extends CogsPlugin<string, infer O_1, any, any, any, any, any> ? O_1 : never) | undefined; }]?: { [K_1 in TPlugins[number] as K_1["name"]]?: (K_1 extends {
296
+ useHook?: (params: {
297
+ options: infer O;
298
+ }) => any;
299
+ } ? O : K_1 extends CogsPlugin<string, infer O_1, any, any, any, any, any> ? O_1 : never) | undefined; }[PName] extends infer P ? P extends Record<string, any> ? Prettify<Partial<Pick<P, Exclude<keyof P, { [K_2 in keyof P]-?: NonNullable<P[K_2]> extends {
300
+ __key: "keyed";
301
+ map: any;
302
+ } ? K_2 : never; }[keyof P]>>> & { [K_3 in { [K_2 in keyof P]-?: NonNullable<P[K_2]> extends {
325
303
  __key: "keyed";
326
- map: infer TMap;
327
- } ? StateKey extends keyof TMap ? TMap[StateKey] : never : P[K_2]; } : P : never) | undefined; } extends infer T ? { [K in keyof T]: T[K]; } : never) => StateObject<TransformedStateType<State>[StateKey], TPlugins>;
328
- setCogsOptionsByKey: <StateKey extends keyof State>(stateKey: StateKey, options: CreateStateOptionsType<TransformedStateType<State>[StateKey], TPlugins> & Omit<OptionsType<TransformedStateType<State>[StateKey]>, keyof CreateStateOptionsType>) => void;
304
+ map: any;
305
+ } ? K_2 : never; }[keyof P] as StateKey extends keyof NonNullable<P[K_3]>["map"] ? NonNullable<P[K_3]>["map"][StateKey] extends undefined ? never : keyof NonNullable<P[K_3]>["map"][StateKey] extends never ? never : K_3 : never]: (StateKey extends keyof NonNullable<P[K_3]>["map"] ? NonNullable<P[K_3]>["map"][StateKey] : never) extends infer T_6 ? T_6 extends (StateKey extends keyof NonNullable<P[K_3]>["map"] ? NonNullable<P[K_3]>["map"][StateKey] : never) ? T_6 extends object ? { [K_4 in keyof T_6]: T_6[K_4]; } : T_6 : never : never; }> : P : never; }>) => StateObject<Prettify<State & { [K in keyof (((TPlugins[number] extends infer T_6 ? T_6 extends TPlugins[number] ? T_6 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_6 extends {
306
+ initialState?: () => infer S_1;
307
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_7 ? T_7 extends (TPlugins[number] extends infer T_8 ? T_8 extends TPlugins[number] ? T_8 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_8 extends {
308
+ initialState?: () => infer S_1;
309
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_7 extends any ? (k: T_7) => void : never : never : never) extends (k: infer I) => void ? I : never) as K extends keyof State ? never : K]: (((TPlugins[number] extends infer T_9 ? T_9 extends TPlugins[number] ? T_9 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_9 extends {
310
+ initialState?: () => infer S_1;
311
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_10 ? T_10 extends (TPlugins[number] extends infer T_11 ? T_11 extends TPlugins[number] ? T_11 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_11 extends {
312
+ initialState?: () => infer S_1;
313
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_10 extends any ? (k: T_10) => void : never : never : never) extends (k: infer I) => void ? I : never)[K]; }>[StateKey]>;
314
+ setCogsOptionsByKey: <StateKey extends keyof Prettify<State & { [K in keyof (((TPlugins[number] extends infer T ? T extends TPlugins[number] ? T extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T extends {
315
+ initialState?: () => infer S_1;
316
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_1 ? T_1 extends (TPlugins[number] extends infer T_2 ? T_2 extends TPlugins[number] ? T_2 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_2 extends {
317
+ initialState?: () => infer S_1;
318
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_1 extends any ? (k: T_1) => void : never : never : never) extends (k: infer I) => void ? I : never) as K extends keyof State ? never : K]: (((TPlugins[number] extends infer T_3 ? T_3 extends TPlugins[number] ? T_3 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_3 extends {
319
+ initialState?: () => infer S_1;
320
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_4 ? T_4 extends (TPlugins[number] extends infer T_5 ? T_5 extends TPlugins[number] ? T_5 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_5 extends {
321
+ initialState?: () => infer S_1;
322
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_4 extends any ? (k: T_4) => void : never : never : never) extends (k: infer I) => void ? I : never)[K]; }>>(stateKey: StateKey, options: CreateStateOptionsType<Prettify<State & { [K in keyof (((TPlugins[number] extends infer T_3 ? T_3 extends TPlugins[number] ? T_3 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_3 extends {
323
+ initialState?: () => infer S_1;
324
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_4 ? T_4 extends (TPlugins[number] extends infer T_5 ? T_5 extends TPlugins[number] ? T_5 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_5 extends {
325
+ initialState?: () => infer S_1;
326
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_4 extends any ? (k: T_4) => void : never : never : never) extends (k: infer I) => void ? I : never) as K extends keyof State ? never : K]: (((TPlugins[number] extends infer T_6 ? T_6 extends TPlugins[number] ? T_6 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_6 extends {
327
+ initialState?: () => infer S_1;
328
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_7 ? T_7 extends (TPlugins[number] extends infer T_8 ? T_8 extends TPlugins[number] ? T_8 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_8 extends {
329
+ initialState?: () => infer S_1;
330
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_7 extends any ? (k: T_7) => void : never : never : never) extends (k: infer I) => void ? I : never)[K]; }>[StateKey], TPlugins> & Omit<OptionsType<Prettify<State & { [K in keyof (((TPlugins[number] extends infer T_6 ? T_6 extends TPlugins[number] ? T_6 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_6 extends {
331
+ initialState?: () => infer S_1;
332
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_7 ? T_7 extends (TPlugins[number] extends infer T_8 ? T_8 extends TPlugins[number] ? T_8 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_8 extends {
333
+ initialState?: () => infer S_1;
334
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_7 extends any ? (k: T_7) => void : never : never : never) extends (k: infer I) => void ? I : never) as K extends keyof State ? never : K]: (((TPlugins[number] extends infer T_9 ? T_9 extends TPlugins[number] ? T_9 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_9 extends {
335
+ initialState?: () => infer S_1;
336
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) extends infer T_10 ? T_10 extends (TPlugins[number] extends infer T_11 ? T_11 extends TPlugins[number] ? T_11 extends CogsPlugin<string, any, any, any, any, any, infer S extends Record<string, unknown>> ? S extends Record<string, unknown> ? S : {} : T_11 extends {
337
+ initialState?: () => infer S_1;
338
+ } ? S_1 extends Record<string, unknown> ? S_1 : {} : {} : never : never) ? T_10 extends any ? (k: T_10) => void : never : never : never) extends (k: infer I) => void ? I : never)[K]; }>[StateKey]>, keyof CreateStateOptionsType>) => void;
329
339
  setCogsOptions: (globalOptions: CreateStateOptionsType<unknown, TPlugins> & Omit<OptionsType<unknown>, keyof CreateStateOptionsType>) => void;
330
340
  };
331
341
  type LocalStorageData<T> = {
@@ -335,7 +345,7 @@ type LocalStorageData<T> = {
335
345
  baseServerState?: T;
336
346
  stateSource?: 'default' | 'server' | 'localStorage';
337
347
  };
338
- export declare function useCogsStateFn<TStateObject extends unknown, const TPlugins extends readonly CogsPlugin<any, any, any, any, any>[]>(stateObject: TStateObject, { stateKey, localStorage, formElements, reactiveDeps, reactiveType, componentId, defaultState, dependencies, serverState, }?: {
348
+ export declare function useCogsStateFn<TStateObject extends unknown, const TPlugins extends readonly CogsPlugin<any, any, any, any, any, any, any>[] = []>(stateObject: TStateObject, { stateKey, localStorage, formElements, reactiveDeps, reactiveType, componentId, defaultState, dependencies, serverState, }?: {
339
349
  stateKey?: string;
340
350
  componentId?: string;
341
351
  defaultState?: TStateObject;
@@ -1 +1 @@
1
- {"version":3,"file":"CogsState.d.ts","sourceRoot":"","sources":["../src/CogsState.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CogsState.d.ts","sourceRoot":"","sources":["../src/CogsState.tsx"],"names":[],"mappings":"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"}