@mobx-query/core 0.2.4 → 0.2.6

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,5 +1,4 @@
1
1
  import { EntityData, EntityEvents, EntityId } from './types';
2
- import { MQClientAccessor } from '../client';
3
2
  import { EntityState } from './constants';
4
3
  export type EntityConstructor<TData = unknown, TEntityId extends EntityId = string, E extends Entity<TData, TEntityId> = Entity<TData, TEntityId>> = new () => E;
5
4
  export type EntityConstructorAny = EntityConstructor<EntityData, any, EntityAny>;
@@ -7,7 +6,7 @@ export type EntityAny = Entity<any, any>;
7
6
  export type EntityValueKeys<T> = {
8
7
  [K in keyof T]: T[K] extends Function ? never : K extends "isDirty" | "state" | "queryHashes" ? never : K;
9
8
  }[keyof T] & string;
10
- export declare abstract class Entity<TData = unknown, TEntityId extends EntityId = string> extends MQClientAccessor {
9
+ export declare abstract class Entity<TData = unknown, TEntityId extends EntityId = string> {
11
10
  abstract id: TEntityId;
12
11
  abstract hydrate(data: TData): void;
13
12
  readonly queryHashes: Set<string>;
@@ -27,5 +26,4 @@ export declare abstract class Entity<TData = unknown, TEntityId extends EntityId
27
26
  private deepCloneValue;
28
27
  reset(): void;
29
28
  _clearDirty(): void;
30
- invalidateRelatedQueries(): void;
31
29
  }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,39 @@
1
- export * from './client';
2
- export * from './entity';
3
- export * from './mutations';
4
- export * from './queries';
5
- export * from './react';
6
- export * from './utils';
1
+ import { MQClient } from './client/MQClient';
2
+ import { MQClientAccessor } from './client/MQClientAccessor';
3
+ import { MQClientContext, MQClientContextRegistered } from './client/types';
4
+ import { Entity, EntityConstructorAny, EntityAny } from './entity/Entity';
5
+ import { EntityCollection } from './entity/EntityCollection';
6
+ import { EntityState } from './entity/constants';
7
+ import { EntityId, EntityData, EntityDataAny } from './entity/types';
8
+ import { MutationFn, BatchMutationFn, CreateMutationFn, OptimisticMutationStrategyOptions, UseCreateMutationHookOptions, UseEntityMutationHookOptions, UseBatchMutationHookOptions } from './mutations/types';
9
+ import { BatchMutationBase } from './mutations/BatchMutationBase';
10
+ import { BatchUpdateMutation } from './mutations/BatchUpdateMutation';
11
+ import { CreateMutation } from './mutations/CreateMutation';
12
+ import { DeleteMutation } from './mutations/DeleteMutation';
13
+ import { EntityMutationBase } from './mutations/EntityMutationBase';
14
+ import { UpdateMutation } from './mutations/UpdateMutation';
15
+ import { MutationBase } from './mutations/MutationBase';
16
+ import { OptimisticMutationErrorStrategy, OptimisticMutationInvalidationStrategy } from './mutations/constants';
17
+ import { UseQueryManyFunction, UseQueryOneOptions, UseQueryCommonOptions, UseQueryManyOptions, UseQueryOneFunction } from './queries/types';
18
+ import { QueryBase } from './queries/QueryBase';
19
+ import { QueryFragmentMany } from './queries/QueryFragmentMany';
20
+ import { QueryFragmentOne } from './queries/QueryFragmentOne';
21
+ import { QueryMany } from './queries/QueryMany';
22
+ import { QueryManyBase } from './queries/QueryManyBase';
23
+ import { QueryOne } from './queries/QueryOne';
24
+ import { QueryOneBase } from './queries/QueryOneBase';
25
+ import { createReactContext } from './react/createReactContext';
26
+ import { generateEntityId } from './utils/generateEntityId';
27
+ import { invalidateQueryByHash } from './utils/invalidateQueryByHash';
28
+ import { InferEntity, InferEntityData } from './utils/types';
29
+ export { MQClient, MQClientAccessor };
30
+ export type { MQClientContext, MQClientContextRegistered };
31
+ export { Entity, EntityState, EntityCollection };
32
+ export type { EntityConstructorAny, EntityAny, EntityData, EntityDataAny, EntityId, };
33
+ export { MutationBase, BatchMutationBase, EntityMutationBase, BatchUpdateMutation, CreateMutation, DeleteMutation, UpdateMutation, OptimisticMutationErrorStrategy, OptimisticMutationInvalidationStrategy, };
34
+ export type { MutationFn, BatchMutationFn, CreateMutationFn, OptimisticMutationStrategyOptions, UseCreateMutationHookOptions, UseEntityMutationHookOptions, UseBatchMutationHookOptions, };
35
+ export { QueryBase, QueryFragmentMany, QueryFragmentOne, QueryMany, QueryManyBase, QueryOne, QueryOneBase, };
36
+ export type { UseQueryCommonOptions, UseQueryManyFunction, UseQueryManyOptions, UseQueryOneFunction, UseQueryOneOptions, };
37
+ export { createReactContext };
38
+ export { invalidateQueryByHash, generateEntityId };
39
+ export type { InferEntity, InferEntityData };
@@ -1,7 +1,8 @@
1
1
  import { DefaultError, MutationFunctionContext } from '@tanstack/react-query';
2
- import { EntityConstructorAny, EntityCollection } from '../entity';
3
2
  import { BatchMutationInputInternal, UseBatchMutationHookOptions } from './types';
4
3
  import { MutationBase } from './MutationBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
+ import { EntityCollection } from '../entity/EntityCollection';
5
6
  export declare class BatchMutationBase<TEntityConstructor extends EntityConstructorAny, TError = DefaultError, TMutateResult = unknown> extends MutationBase<TEntityConstructor> {
6
7
  protected readonly options: UseBatchMutationHookOptions<TEntityConstructor, TError, TMutateResult>;
7
8
  protected readonly collection: EntityCollection<TEntityConstructor>;
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { BatchMutationBase } from './BatchMutationBase';
4
3
  import { UseBatchMutationHookOptions } from './types';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class BatchUpdateMutation<TEntityConstructor extends EntityConstructorAny, TError = DefaultError, TMutateResult = unknown> extends BatchMutationBase<TEntityConstructor, TError, TMutateResult> {
6
6
  static readonly mutationPrefix = "__mutation__batch__update__";
7
7
  constructor(options: UseBatchMutationHookOptions<TEntityConstructor, TError, TMutateResult>);
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityAny, EntityConstructorAny } from '../entity';
3
2
  import { UseCreateMutationHookOptions } from './types';
4
3
  import { MutationBase } from './MutationBase';
4
+ import { EntityAny, EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class CreateMutation<TInput, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError = DefaultError, TMutateResult = unknown> extends MutationBase<TEntityConstructor> {
6
6
  private readonly options;
7
7
  static readonly mutationPrefix = "__mutation__create__";
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { UseEntityMutationHookOptions } from './types';
4
3
  import { EntityMutationBase } from './EntityMutationBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class DeleteMutation<TEntityConstructor extends EntityConstructorAny, TError = DefaultError, TMutateResult = unknown> extends EntityMutationBase<void, TEntityConstructor, TError, TMutateResult> {
6
6
  static readonly mutationPrefix = "__mutation__delete__";
7
7
  constructor(options: UseEntityMutationHookOptions<TEntityConstructor, TError, TMutateResult>);
@@ -1,8 +1,8 @@
1
- import { EntityConstructorAny, EntityAny } from '../entity';
2
1
  import { OptimisticMutationStrategy } from './OptimisticMutationStrategy';
3
2
  import { EntityMutationCallbacks, UseEntityMutationHookOptions } from './types';
4
3
  import { DefaultError, MutationFunctionContext } from '@tanstack/react-query';
5
4
  import { MutationBase } from './MutationBase';
5
+ import { EntityAny, EntityConstructorAny } from '../entity/Entity';
6
6
  /**
7
7
  * Base class for mutations that operate ON an existing entity.
8
8
  * Use this for update/delete mutations where the entity already exists.
@@ -1,6 +1,6 @@
1
- import { EntityAny, EntityConstructorAny } from '../entity';
1
+ import { MQClientAccessor } from '../client/MQClientAccessor';
2
+ import { EntityAny, EntityConstructorAny } from '../entity/Entity';
2
3
  import { EntityCollection } from '../entity/EntityCollection';
3
- import { MQClientAccessor } from '../client';
4
4
  import { OptimisticMutationStrategy } from './OptimisticMutationStrategy';
5
5
  import { OptimisticMutationStrategyOptions } from './types';
6
6
  export declare class MutationBase<TEntityConstructor extends EntityConstructorAny> extends MQClientAccessor {
@@ -1,7 +1,7 @@
1
- import { EntityConstructorAny, EntityAny } from '../entity';
2
1
  import { OptimisticMutationStrategyOptions } from './types';
3
- import { MQClientAccessor } from '../client';
4
2
  import { OptimisticMutationErrorStrategy, OptimisticMutationInvalidationStrategy } from './constants';
3
+ import { EntityAny, EntityConstructorAny } from '../entity/Entity';
4
+ import { MQClientAccessor } from '../client/MQClientAccessor';
5
5
  export declare class OptimisticMutationStrategy extends MQClientAccessor {
6
6
  private readonly entityConstructor;
7
7
  private readonly entities;
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { UseEntityMutationHookOptions } from './types';
4
3
  import { EntityMutationBase } from './EntityMutationBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class UpdateMutation<TEntityConstructor extends EntityConstructorAny, TError = DefaultError, TMutateResult = unknown> extends EntityMutationBase<void, TEntityConstructor, TError, TMutateResult> {
6
6
  static readonly mutationPrefix = "__mutation__update__";
7
7
  constructor(options: UseEntityMutationHookOptions<TEntityConstructor, TError, TMutateResult>);
@@ -1,8 +1,8 @@
1
1
  import { DefaultError, MutationFunctionContext, UseMutationOptions } from '@tanstack/react-query';
2
2
  import { MQClientContextRegistered } from '../client/types';
3
- import { EntityAny, EntityConstructorAny } from '../entity';
4
3
  import { OptimisticMutationStrategy } from './OptimisticMutationStrategy';
5
4
  import { OptimisticMutationErrorStrategy, OptimisticMutationInvalidationStrategy } from './constants';
5
+ import { EntityAny, EntityConstructorAny } from '../entity/Entity';
6
6
  export type MutationFn<TInput> = (input: TInput, context: MQClientContextRegistered) => Promise<void>;
7
7
  export type BatchMutationFn<TEntity extends EntityAny> = (entities: TEntity[], context: MQClientContextRegistered) => Promise<void>;
8
8
  export interface CreateMutationInputInternal<TInput, TEntityConstructor extends EntityConstructorAny> {
@@ -1,5 +1,6 @@
1
- import { MQClientAccessor } from '../client';
2
- import { EntityConstructorAny, EntityDataAny } from '../entity';
1
+ import { MQClientAccessor } from '../client/MQClientAccessor';
2
+ import { EntityConstructorAny } from '../entity/Entity';
3
+ import { EntityDataAny } from '../entity/types';
3
4
  export declare abstract class QueryBase<TArguments = unknown> extends MQClientAccessor {
4
5
  private readonly entityConstructors;
5
6
  private readonly baseQueryKeysRest;
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { UseQueryManyOptions } from './types';
4
3
  import { QueryManyBase } from './QueryManyBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class QueryFragmentMany<TArguments = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> extends QueryManyBase<TArguments, void, TEntityConstructor, TError> {
6
6
  static readonly queryPrefix = "__query__fragment__many__";
7
7
  constructor(options: UseQueryManyOptions<TArguments, void, TEntityConstructor, TError>);
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { UseQueryOneOptions } from './types';
4
3
  import { QueryOneBase } from './QueryOneBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class QueryFragmentOne<TArguments = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> extends QueryOneBase<TArguments, void, TEntityConstructor, TError> {
6
6
  static readonly queryPrefix = "__query__fragment__one__";
7
7
  constructor(options: UseQueryOneOptions<TArguments, void, TEntityConstructor, TError>);
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { UseQueryManyOptions } from './types';
4
3
  import { QueryManyBase } from './QueryManyBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class QueryMany<TArguments = void, TMeta = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> extends QueryManyBase<TArguments, TMeta, TEntityConstructor, TError> {
6
6
  static readonly queryPrefix = "__query__many__";
7
7
  constructor(options: UseQueryManyOptions<TArguments, TMeta, TEntityConstructor, TError>);
@@ -1,8 +1,10 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny, EntityCollection, EntityId } from '../entity';
3
- import { InferEntityData } from '../utils';
4
2
  import { QueryBase } from './QueryBase';
5
3
  import { UseQueryManyOptions } from './types';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
+ import { EntityCollection } from '../entity/EntityCollection';
6
+ import { InferEntityData } from '../utils/types';
7
+ import { EntityId } from '../entity/types';
6
8
  export declare abstract class QueryManyBase<TArguments, TMeta = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> extends QueryBase<TArguments> {
7
9
  protected readonly options: UseQueryManyOptions<TArguments, TMeta, TEntityConstructor, TError>;
8
10
  protected readonly collection: EntityCollection<TEntityConstructor>;
@@ -1,7 +1,7 @@
1
1
  import { DefaultError } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { UseQueryOneOptions } from './types';
4
3
  import { QueryOneBase } from './QueryOneBase';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export declare class QueryOne<TArguments = void, TMeta = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> extends QueryOneBase<TArguments, TMeta, TEntityConstructor, TError> {
6
6
  static readonly queryPrefix = "__query__one__";
7
7
  constructor(options: UseQueryOneOptions<TArguments, TMeta, TEntityConstructor, TError>);
@@ -1,7 +1,9 @@
1
- import { EntityConstructorAny, EntityCollection, EntityId } from '../entity';
1
+ import { EntityConstructorAny } from '../entity/Entity';
2
+ import { EntityCollection } from '../entity/EntityCollection';
3
+ import { EntityId } from '../entity/types';
4
+ import { InferEntityData } from '../utils/types';
2
5
  import { QueryBase } from './QueryBase';
3
6
  import { UseQueryOneOptions } from './types';
4
- import { InferEntityData } from '../utils';
5
7
  import { DefaultError } from '@tanstack/react-query';
6
8
  export declare class QueryOneBase<TArguments, TMeta = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> extends QueryBase<TArguments> {
7
9
  protected readonly options: UseQueryOneOptions<TArguments, TMeta, TEntityConstructor, TError>;
@@ -1,7 +1,7 @@
1
1
  import { DefaultError, NetworkMode } from '@tanstack/react-query';
2
- import { EntityConstructorAny } from '../entity';
3
2
  import { MQClientContextRegistered } from '../client/types';
4
- import { InferEntityData } from '../utils';
3
+ import { InferEntityData } from '../utils/types';
4
+ import { EntityConstructorAny } from '../entity/Entity';
5
5
  export type UseQueryManyFunction<TArguments, TEntityConstructor extends EntityConstructorAny> = (args: TArguments, context: MQClientContextRegistered) => InferEntityData<TEntityConstructor>[] | Promise<InferEntityData<TEntityConstructor>[]>;
6
6
  export type UseQueryOneFunction<TArguments, TEntityConstructor extends EntityConstructorAny> = (args: TArguments, context: MQClientContextRegistered) => InferEntityData<TEntityConstructor> | Promise<InferEntityData<TEntityConstructor>>;
7
7
  export interface UseQueryCommonOptions<TArguments, TMeta = void, TEntityConstructor extends EntityConstructorAny = EntityConstructorAny, TError extends DefaultError = DefaultError> {
@@ -1,4 +1,4 @@
1
- import { MQClient } from '../client';
1
+ import { MQClient } from '../client/MQClient';
2
2
  export declare function createReactContext<TMQClient extends MQClient<any>>(): {
3
3
  Provider: ({ children, client, }: {
4
4
  children: React.ReactNode;
@@ -1,2 +1,2 @@
1
- import { EntityConstructorAny } from '../entity';
1
+ import { EntityConstructorAny } from '../entity/Entity';
2
2
  export declare function generateEntityId(entityConstructor: EntityConstructorAny): string;
@@ -1,4 +1,5 @@
1
- import { EntityAny, EntityDataAny } from '../entity';
1
+ import { EntityAny } from '../entity/Entity';
2
+ import { EntityDataAny } from '../entity/types';
2
3
  export type InferEntity<T> = T extends {
3
4
  new (...args: any[]): infer E;
4
5
  } ? E extends EntityAny ? E : never : T extends EntityAny ? T : never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobx-query/core",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "type": "module",
5
5
  "author": "smashboy",
6
6
  "private": false,
@@ -18,11 +18,6 @@
18
18
  "lint": "eslint .",
19
19
  "preview": "vite preview"
20
20
  },
21
- "exports": {
22
- ".": {
23
- "import": "./dist/core.js"
24
- }
25
- },
26
21
  "dependencies": {
27
22
  "@babel/plugin-proposal-decorators": "^7.28.0",
28
23
  "@tanstack/react-query": "^5.90.21",
@@ -1,5 +0,0 @@
1
- import { MQClient } from './MQClient';
2
- import { MQClientAccessor } from './MQClientAccessor';
3
- import { MQClientContext, MQClientContextRegistered } from './types';
4
- export { MQClient, MQClientAccessor };
5
- export type { MQClientContext, MQClientContextRegistered };
@@ -1,6 +0,0 @@
1
- import { Entity, EntityConstructorAny, EntityAny } from './Entity';
2
- import { EntityCollection } from './EntityCollection';
3
- import { EntityState } from './constants';
4
- import { EntityId, EntityData, EntityDataAny } from './types';
5
- export { Entity, EntityState, EntityCollection };
6
- export type { EntityConstructorAny, EntityAny, EntityData, EntityDataAny, EntityId, };
@@ -1,11 +0,0 @@
1
- import { MutationFn, BatchMutationFn, CreateMutationFn, OptimisticMutationStrategyOptions, UseCreateMutationHookOptions, UseEntityMutationHookOptions, UseBatchMutationHookOptions } from './types';
2
- import { BatchMutationBase } from './BatchMutationBase';
3
- import { BatchUpdateMutation } from './BatchUpdateMutation';
4
- import { CreateMutation } from './CreateMutation';
5
- import { DeleteMutation } from './DeleteMutation';
6
- import { EntityMutationBase } from './EntityMutationBase';
7
- import { UpdateMutation } from './UpdateMutation';
8
- import { MutationBase } from './MutationBase';
9
- import { OptimisticMutationErrorStrategy, OptimisticMutationInvalidationStrategy } from './constants';
10
- export { MutationBase, BatchMutationBase, EntityMutationBase, BatchUpdateMutation, CreateMutation, DeleteMutation, UpdateMutation, OptimisticMutationErrorStrategy, OptimisticMutationInvalidationStrategy, };
11
- export type { MutationFn, BatchMutationFn, CreateMutationFn, OptimisticMutationStrategyOptions, UseCreateMutationHookOptions, UseEntityMutationHookOptions, UseBatchMutationHookOptions, };
@@ -1,10 +0,0 @@
1
- import { UseQueryManyFunction, UseQueryOneOptions, UseQueryCommonOptions, UseQueryManyOptions, UseQueryOneFunction } from './types';
2
- import { QueryBase } from './QueryBase';
3
- import { QueryFragmentMany } from './QueryFragmentMany';
4
- import { QueryFragmentOne } from './QueryFragmentOne';
5
- import { QueryMany } from './QueryMany';
6
- import { QueryManyBase } from './QueryManyBase';
7
- import { QueryOne } from './QueryOne';
8
- import { QueryOneBase } from './QueryOneBase';
9
- export { QueryBase, QueryFragmentMany, QueryFragmentOne, QueryMany, QueryManyBase, QueryOne, QueryOneBase, };
10
- export type { UseQueryCommonOptions, UseQueryManyFunction, UseQueryManyOptions, UseQueryOneFunction, UseQueryOneOptions, };
@@ -1,2 +0,0 @@
1
- import { createReactContext } from './createReactContext';
2
- export { createReactContext };
@@ -1,5 +0,0 @@
1
- import { generateEntityId } from './generateEntityId';
2
- import { invalidateQueryByHash } from './invalidateQueryByHash';
3
- import { InferEntity, InferEntityData } from './types';
4
- export { invalidateQueryByHash, generateEntityId };
5
- export type { InferEntity, InferEntityData };