@luminix/core 0.0.1-beta.2 → 0.0.1-beta.21

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.
Files changed (66) hide show
  1. package/dist/contracts/Builder.d.ts +5 -3
  2. package/dist/contracts/Collection.d.ts +4 -6
  3. package/dist/contracts/ModelCollection.d.ts +1 -2
  4. package/dist/contracts/Plugin.d.ts +0 -1
  5. package/dist/contracts/PropertyBag.d.ts +0 -1
  6. package/dist/contracts/Relation/BelongsTo.d.ts +0 -1
  7. package/dist/contracts/Relation/BelongsToMany.d.ts +0 -1
  8. package/dist/contracts/Relation/HasMany.d.ts +0 -1
  9. package/dist/contracts/Relation/HasOne.d.ts +0 -1
  10. package/dist/contracts/Relation/HasOneOrMany.d.ts +0 -1
  11. package/dist/contracts/Relation/MorphMany.d.ts +0 -1
  12. package/dist/contracts/Relation/MorphOne.d.ts +0 -1
  13. package/dist/contracts/Relation/MorphOneOrMany.d.ts +0 -1
  14. package/dist/contracts/Relation/MorphTo.d.ts +0 -1
  15. package/dist/contracts/Relation/MorphToMany.d.ts +0 -1
  16. package/dist/contracts/Relation.d.ts +0 -1
  17. package/dist/core.js +906 -825
  18. package/dist/core.umd.cjs +4 -0
  19. package/dist/exceptions/AttributeNotFillableException.d.ts +1 -1
  20. package/dist/exceptions/FacadeNotFoundException.d.ts +1 -1
  21. package/dist/exceptions/MethodNotImplementedException.d.ts +1 -1
  22. package/dist/exceptions/ModelInvalidRelatedTypeException.d.ts +1 -1
  23. package/dist/exceptions/ModelNotFoundException.d.ts +1 -1
  24. package/dist/exceptions/ModelNotPersistedException.d.ts +1 -1
  25. package/dist/exceptions/ModelWithoutPrimaryKeyException.d.ts +1 -1
  26. package/dist/exceptions/NoEmbedException.d.ts +1 -1
  27. package/dist/exceptions/NoInverseRelationException.d.ts +1 -1
  28. package/dist/exceptions/NotModelException.d.ts +1 -1
  29. package/dist/exceptions/NotReducibleException.d.ts +1 -1
  30. package/dist/exceptions/ReducerOverrideException.d.ts +1 -1
  31. package/dist/exceptions/RouteNotFoundException.d.ts +1 -1
  32. package/dist/exceptions/UnsupportedRelationException.d.ts +1 -1
  33. package/dist/facades/App.d.ts +9 -3
  34. package/dist/facades/Auth.d.ts +0 -1
  35. package/dist/facades/Error.d.ts +0 -1
  36. package/dist/facades/Log.d.ts +0 -1
  37. package/dist/facades/Model.d.ts +2 -4
  38. package/dist/facades/Route.d.ts +0 -1
  39. package/dist/helpers/app.d.ts +0 -1
  40. package/dist/helpers/auth.d.ts +0 -1
  41. package/dist/helpers/config.d.ts +0 -1
  42. package/dist/helpers/error.d.ts +0 -1
  43. package/dist/helpers/log.d.ts +0 -1
  44. package/dist/helpers/model.d.ts +0 -1
  45. package/dist/helpers/route.d.ts +0 -1
  46. package/dist/index.d.ts +2 -2
  47. package/dist/mixins/BaseModel.d.ts +2 -3
  48. package/dist/mixins/HasEvents.d.ts +1 -3
  49. package/dist/mixins/Reducible.d.ts +0 -1
  50. package/dist/support/collection.d.ts +0 -1
  51. package/dist/support/model.d.ts +0 -1
  52. package/dist/types/App.d.ts +10 -2
  53. package/dist/types/Auth.d.ts +0 -1
  54. package/dist/types/Builder.d.ts +4 -1
  55. package/dist/types/Collection.d.ts +3 -4
  56. package/dist/types/Config.d.ts +3 -1
  57. package/dist/types/Error.d.ts +0 -1
  58. package/dist/types/Event.d.ts +0 -1
  59. package/dist/types/Model.d.ts +32 -7
  60. package/dist/types/PropertyBag.d.ts +0 -1
  61. package/dist/types/Reducer.d.ts +0 -1
  62. package/dist/types/Relation.d.ts +0 -1
  63. package/dist/types/Route.d.ts +0 -1
  64. package/package.json +5 -3
  65. package/vite.config.js +5 -2
  66. package/graph.png +0 -0
@@ -5,7 +5,6 @@ import { EventData } from '../types/Event';
5
5
  import { Model, ModelPaginatedResponse, ModelQuery } from '../types/Model';
6
6
  import { JsonValue } from '../types/Support';
7
7
  import { Collection as CollectionInterface } from '../types/Collection';
8
-
9
8
  type BuilderInterface = BuilderBase<Model, ModelPaginatedResponse>;
10
9
  type BuilderEventMap = BuilderEvents<Model, ModelPaginatedResponse>;
11
10
  declare class Builder implements BuilderInterface {
@@ -26,10 +25,14 @@ declare class Builder implements BuilderInterface {
26
25
  where(scope: (builder: BuilderInterface) => BuilderInterface | void): this;
27
26
  where(key: string, value: JsonValue): this;
28
27
  where(key: string, operator: ExtendedOperator, value: JsonValue): this;
28
+ with(relation: string | string[]): this;
29
+ withOnly(relation: string | string[]): this;
30
+ without(relation: string | string[]): this;
29
31
  orderBy(column: string, direction?: 'asc' | 'desc'): this;
30
32
  searchBy(term: string): this;
31
33
  minified(): this;
32
34
  unset(key: string): this;
35
+ include(searchParams: URLSearchParams): this;
33
36
  private exec;
34
37
  get(page?: number, replaceLinksWith?: string): Promise<ModelPaginatedResponse>;
35
38
  first(): Promise<Model | null>;
@@ -38,13 +41,12 @@ declare class Builder implements BuilderInterface {
38
41
  }
39
42
  declare const _default: {
40
43
  new (...args: any[]): {
41
- "__#1@#emitter": import('nanoevents').Emitter<import('../types/Event').EventSourceEvents>;
44
+ emitter: import('nanoevents').Emitter<import('../types/Event').EventSourceEvents>;
42
45
  "__#1@#createNanoEvents"(): import('nanoevents').Emitter<import('../types/Event').EventSourceEvents>;
43
46
  on<E extends "change" | "submit" | "success" | "error">(event: E, callback: BuilderEventMap[E]): Unsubscribe;
44
47
  once<E_1 extends "change" | "submit" | "success" | "error">(event: E_1, callback: BuilderEventMap[E_1]): void;
45
48
  emit<E_2 extends "change" | "submit" | "success" | "error">(event: E_2, data?: Omit<Parameters<BuilderEventMap[E_2]>[0], "source">): void;
46
49
  [Symbol.toStringTag]: string;
47
50
  };
48
- name: string;
49
51
  } & typeof Builder;
50
52
  export default _default;
@@ -1,7 +1,6 @@
1
1
  import { CollectionEvents, Operator, Collection as CollectionInterface, CollectionIteratorCallback, CollectionPipeCallback, CollectionSortCallback } from '../types/Collection';
2
2
  import { JsonValue, Constructor, TypeOf } from '../types/Support';
3
3
  import { Unsubscribe } from 'nanoevents';
4
-
5
4
  export declare function collect<T = unknown, C extends typeof Collection<T> = typeof Collection<T>>(items?: T[], constructor?: C): CollectionInterface<T>;
6
5
  export declare class Collection<T> implements CollectionInterface<T> {
7
6
  #private;
@@ -47,9 +46,9 @@ export declare class Collection<T> implements CollectionInterface<T> {
47
46
  filter(callback?: CollectionIteratorCallback<T, boolean>): CollectionInterface<T>;
48
47
  first(callback?: CollectionIteratorCallback<T, boolean>): T | null;
49
48
  firstOrFail(callback?: CollectionIteratorCallback<T, boolean>): T;
50
- firstWhere(key: keyof T): T | null;
51
- firstWhere(key: keyof T, value: T): T | null;
52
- firstWhere(key: keyof T, operator: Operator, value: T): T | null;
49
+ firstWhere<K extends keyof T>(key: K): T | null;
50
+ firstWhere<K extends keyof T>(key: K, value: T[K]): T | null;
51
+ firstWhere<K extends keyof T>(key: K, operator: Operator, value: T[K]): T | null;
53
52
  flatMap<R>(callback: CollectionIteratorCallback<T, R | R[]>): CollectionInterface<R>;
54
53
  forget(key: number): this;
55
54
  forPage(page: number, perPage: number): CollectionInterface<T>;
@@ -179,13 +178,12 @@ export declare class Collection<T> implements CollectionInterface<T> {
179
178
  }
180
179
  declare const _default: {
181
180
  new (...args: any[]): {
182
- "__#1@#emitter": import('nanoevents').Emitter<import('../types/Event').EventSourceEvents>;
181
+ emitter: import('nanoevents').Emitter<import('../types/Event').EventSourceEvents>;
183
182
  "__#1@#createNanoEvents"(): import('nanoevents').Emitter<import('../types/Event').EventSourceEvents>;
184
183
  on<E extends "change">(event: E, callback: CollectionEvents<unknown>[E]): Unsubscribe;
185
184
  once<E_1 extends "change">(event: E_1, callback: CollectionEvents<unknown>[E_1]): void;
186
185
  emit<E_2 extends "change">(event: E_2, data?: Omit<Parameters<CollectionEvents<unknown>[E_2]>[0], "source">): void;
187
186
  [Symbol.toStringTag]: string;
188
187
  };
189
- name: string;
190
188
  } & typeof Collection;
191
189
  export default _default;
@@ -1,9 +1,8 @@
1
1
  import { Collection } from './Collection';
2
2
  import { Model } from '../types/Model';
3
3
  import { Collection as CollectionInterface } from '../types/Collection';
4
-
5
4
  declare class ModelCollection extends Collection<Model> {
6
- static name: string;
5
+ [Symbol.toStringTag]: string;
7
6
  intersect(values: Collection<Model> | Model[]): CollectionInterface<Model>;
8
7
  }
9
8
  export default ModelCollection;
@@ -1,5 +1,4 @@
1
1
  import { AppFacade, AppFacades } from '../types/App';
2
-
3
2
  export default abstract class Plugin {
4
3
  readonly name?: string;
5
4
  readonly version?: string;
@@ -1,6 +1,5 @@
1
1
  import { PropertyBag as PropertyBagInterface, PropertyBagEventMap } from '../types/PropertyBag';
2
2
  import { Unsubscribe } from 'nanoevents';
3
-
4
3
  declare class PropertyBag<T extends object> implements PropertyBagInterface<T> {
5
4
  private bag;
6
5
  private locked;
@@ -2,7 +2,6 @@ import { default as Relation } from '../Relation';
2
2
  import { Model, ModelPaginatedResponse, RelationMetaData } from '../../types/Model';
3
3
  import { AppFacades } from '../../types/App';
4
4
  import { BuilderInterface as Builder } from '../../types/Builder';
5
-
6
5
  type BuilderInterface = Builder<Model, ModelPaginatedResponse>;
7
6
  export default class BelongsTo extends Relation {
8
7
  protected meta: RelationMetaData;
@@ -4,7 +4,6 @@ import { AppFacades } from '../../types/App';
4
4
  import { BuilderInterface as Builder } from '../../types/Builder';
5
5
  import { Collection as CollectionInterface } from '../../types/Collection';
6
6
  import { JsonObject } from '../../types/Support';
7
-
8
7
  type BuilderInterface = Builder<Model, ModelPaginatedResponse>;
9
8
  export default class BelongsToMany extends Relation {
10
9
  protected meta: RelationMetaData;
@@ -2,7 +2,6 @@ import { AppFacades } from '../../types/App';
2
2
  import { Model, RelationMetaData } from '../../types/Model';
3
3
  import { default as HasOneOrMany } from './HasOneOrMany';
4
4
  import { Collection as CollectionInterface } from '../../types/Collection';
5
-
6
5
  export default class HasMany extends HasOneOrMany {
7
6
  protected meta: RelationMetaData;
8
7
  protected facades: AppFacades;
@@ -1,7 +1,6 @@
1
1
  import { Model, RelationMetaData } from '../../types/Model';
2
2
  import { AppFacades } from '../../types/App';
3
3
  import { default as HasOneOrMany } from './HasOneOrMany';
4
-
5
4
  export default class HasOne extends HasOneOrMany {
6
5
  protected meta: RelationMetaData;
7
6
  protected facades: AppFacades;
@@ -1,7 +1,6 @@
1
1
  import { BuilderInterface as Builder } from '../../types/Builder';
2
2
  import { Model, ModelPaginatedResponse } from '../../types/Model';
3
3
  import { default as Relation } from '../Relation';
4
-
5
4
  type BuilderInterface = Builder<Model, ModelPaginatedResponse>;
6
5
  export default class HasOneOrMany extends Relation {
7
6
  query(): BuilderInterface;
@@ -2,7 +2,6 @@ import { AppFacades } from '../../types/App';
2
2
  import { Model, RelationMetaData } from '../../types/Model';
3
3
  import { default as MorphOneOrMany } from './MorphOneOrMany';
4
4
  import { Collection as CollectionInterface } from '../../types/Collection';
5
-
6
5
  export default class MorphMany extends MorphOneOrMany {
7
6
  protected meta: RelationMetaData;
8
7
  protected facades: AppFacades;
@@ -1,7 +1,6 @@
1
1
  import { AppFacades } from '../../types/App';
2
2
  import { Model, RelationMetaData } from '../../types/Model';
3
3
  import { default as MorphOneOrMany } from './MorphOneOrMany';
4
-
5
4
  export default class MorphOne extends MorphOneOrMany {
6
5
  protected meta: RelationMetaData;
7
6
  protected facades: AppFacades;
@@ -1,7 +1,6 @@
1
1
  import { BuilderInterface as Builder } from '../../types/Builder';
2
2
  import { Model, ModelPaginatedResponse } from '../../types/Model';
3
3
  import { default as HasOneOrMany } from './HasOneOrMany';
4
-
5
4
  type BuilderInterface = Builder<Model, ModelPaginatedResponse>;
6
5
  export default class MorphOneOrMany extends HasOneOrMany {
7
6
  query(): BuilderInterface;
@@ -1,6 +1,5 @@
1
1
  import { Model } from '../../types/Model';
2
2
  import { default as BelongsTo } from './BelongsTo';
3
-
4
3
  export default class MorphTo extends BelongsTo {
5
4
  getRelated(): typeof Model;
6
5
  associate(item: Model): Promise<void>;
@@ -3,7 +3,6 @@ import { BuilderInterface as Builder } from '../../types/Builder';
3
3
  import { Model, ModelPaginatedResponse, RelationMetaData } from '../../types/Model';
4
4
  import { Collection } from '../../types/Collection';
5
5
  import { default as BelongsToMany } from './BelongsToMany';
6
-
7
6
  type BuilderInterface = Builder<Model, ModelPaginatedResponse>;
8
7
  export default class MorphToMany extends BelongsToMany {
9
8
  protected meta: RelationMetaData;
@@ -4,7 +4,6 @@ import { BuilderInterface as Builder, Scope as ScopeBase, ExtendedOperator } fro
4
4
  import { Collection as CollectionInterface } from '../types/Collection';
5
5
  import { RelationInterface as RelationBase } from '../types/Relation';
6
6
  import { JsonValue } from '../types/Support';
7
-
8
7
  type RelationInterface = RelationBase<Model, ModelPaginatedResponse>;
9
8
  type BuilderInterface = Builder<Model, ModelPaginatedResponse>;
10
9
  type Scope = ScopeBase<Model, ModelPaginatedResponse>;