Skip to content
This repository has been archived by the owner on May 18, 2024. It is now read-only.

Implement appJoin(), manual app join function #56

Closed
samchon opened this issue Mar 6, 2022 · 0 comments
Closed

Implement appJoin(), manual app join function #56

samchon opened this issue Mar 6, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@samchon
Copy link
Owner

samchon commented Mar 6, 2022

The AppJoinBuilder supports automatic application level join with specializations of relationships.

However, the ApplicationBuilder does not support the manual app join who can specify an individual relationship.

It also does not support providing target records without any select query, either.

Therefore, implement a new appJoin() function who can support the manual app join function.

export function appJoin<
        Mine extends object, 
        Target extends object,
        Accessor extends SpecialFields<Mine, Relationship<Target>>>
    (
        mine: Mine[], 
        accessor: Accessor
    ): Promise<Target[]>;

export function appJoin<
        Mine extends object, 
        Target extends object,
        Accessor extends SpecialFields<Mine, Relationship<Target>>>
    (
        mine: Mine[], 
        accessor: Accessor, 
        target: Target[]
    ): Promise<Target[]>;

export function appJoin<
        Mine extends object, 
        Target extends object,
        Router extends object,
        Accessor extends SpecialFields<Mine, Has.ManyToMany<Target, Router>>>
    (
        mine: Mine[],
        accessor: Accessor,
        target: Target[],
        routers: Router[]
    ): Promise<Target[]>;
@samchon samchon added the enhancement New feature or request label Mar 6, 2022
@samchon samchon self-assigned this Mar 6, 2022
@samchon samchon closed this as completed in 32c2c99 Mar 6, 2022
samchon added a commit that referenced this issue Mar 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant