MCPcopy Create free account
hub / github.com/mikro-orm/mikro-orm / ManyToMany

Function ManyToMany

packages/decorators/src/legacy/ManyToMany.ts:20–36  ·  view source on GitHub ↗
(
  entity?: ManyToManyOptions<Owner, Target> | (() => EntityName<Target> | EntityName<Target>[]),
  mappedBy?: (string & keyof Target) | ((e: Target) => any),
  options: Partial<ManyToManyOptions<Owner, Target>> = {},
)

Source from the content-addressed store, hash-verified

18 options?: ManyToManyOptions<Owner, Target>,
19): (target: Owner, propertyName: keyof Owner) => void;
20export function ManyToMany<Target extends object, Owner extends object>(
21 entity?: ManyToManyOptions<Owner, Target> | (() => EntityName<Target> | EntityName<Target>[]),
22 mappedBy?: (string & keyof Target) | ((e: Target) => any),
23 options: Partial<ManyToManyOptions<Owner, Target>> = {},
24) {
25 return function (target: Owner, propertyName: keyof Owner) {
26 options = processDecoratorParameters<ManyToManyOptions<Owner, Target>>({ entity, mappedBy, options });
27 const meta = getMetadataFromDecorator(target.constructor as Owner);
28 validateSingleDecorator(meta, propertyName as string, ReferenceKind.MANY_TO_MANY);
29 const property = { name: propertyName, kind: ReferenceKind.MANY_TO_MANY } as EntityProperty<Owner, Target>;
30 meta.properties[propertyName as EntityKey<Owner>] = Object.assign(
31 meta.properties[propertyName as EntityKey<Owner>] ?? {},
32 property,
33 options,
34 );
35 };
36}

Callers 15

LabelClass · 0.90
UserClass · 0.90
AuthorClass · 0.90
BookClass · 0.90
BookTagClass · 0.90
UserClass · 0.90
TagClass · 0.90
PostClass · 0.90
UserClass · 0.90
RoleClass · 0.90
AClass · 0.90
BClass · 0.90

Calls 4

getMetadataFromDecoratorFunction · 0.85
validateSingleDecoratorFunction · 0.85
assignMethod · 0.65

Tested by

no test coverage detected