ngx-vflow 1.4.1 → 1.4.2

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 (29) hide show
  1. package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +18 -21
  2. package/esm2022/lib/vflow/public-components/node-toolbar/node-toolbar.component.mjs +1 -1
  3. package/esm2022/lib/vflow/testing-utils/component-mocks/handle-mock.component.mjs +3 -1
  4. package/esm2022/lib/vflow/testing-utils/component-mocks/minimap-mock.component.mjs +3 -1
  5. package/esm2022/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.mjs +5 -1
  6. package/esm2022/lib/vflow/testing-utils/component-mocks/resizable-mock.component.mjs +5 -1
  7. package/esm2022/lib/vflow/testing-utils/component-mocks/vflow-mock.component.mjs +48 -22
  8. package/esm2022/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.mjs +9 -1
  9. package/esm2022/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.mjs +1 -1
  10. package/esm2022/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.mjs +1 -1
  11. package/esm2022/lib/vflow/testing-utils/directive-mocks/template-mock.directive.mjs +1 -1
  12. package/esm2022/lib/vflow/testing-utils/types.mjs +2 -0
  13. package/fesm2022/ngx-vflow.mjs +81 -54
  14. package/fesm2022/ngx-vflow.mjs.map +1 -1
  15. package/lib/vflow/public-components/handle/handle.component.d.ts +3 -6
  16. package/lib/vflow/public-components/node-toolbar/node-toolbar.component.d.ts +1 -1
  17. package/lib/vflow/testing-utils/component-mocks/handle-mock.component.d.ts +5 -2
  18. package/lib/vflow/testing-utils/component-mocks/minimap-mock.component.d.ts +5 -2
  19. package/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.d.ts +6 -1
  20. package/lib/vflow/testing-utils/component-mocks/resizable-mock.component.d.ts +6 -1
  21. package/lib/vflow/testing-utils/component-mocks/vflow-mock.component.d.ts +26 -13
  22. package/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.d.ts +8 -1
  23. package/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.d.ts +3 -1
  24. package/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.d.ts +3 -1
  25. package/lib/vflow/testing-utils/directive-mocks/template-mock.directive.d.ts +8 -6
  26. package/lib/vflow/testing-utils/types.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/esm2022/lib/vflow/decorators/run-in-injection-context.decorator.mjs +0 -18
  29. package/lib/vflow/decorators/run-in-injection-context.decorator.d.ts +0 -5
@@ -1,10 +1,8 @@
1
- import { Injector, OnInit, TemplateRef } from '@angular/core';
1
+ import { OnInit, TemplateRef } from '@angular/core';
2
2
  import { Position } from '../../types/position.type';
3
- import { HandleModel } from '../../models/handle.model';
4
- import { WithInjector } from '../../decorators/run-in-injection-context.decorator';
5
3
  import * as i0 from "@angular/core";
6
- export declare class HandleComponent implements OnInit, WithInjector {
7
- injector: Injector;
4
+ export declare class HandleComponent implements OnInit {
5
+ private injector;
8
6
  private handleService;
9
7
  private element;
10
8
  private destroyRef;
@@ -21,7 +19,6 @@ export declare class HandleComponent implements OnInit, WithInjector {
21
19
  */
22
20
  id: import("@angular/core").InputSignal<string | undefined>;
23
21
  template: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
24
- model: HandleModel;
25
22
  ngOnInit(): void;
26
23
  static ɵfac: i0.ɵɵFactoryDeclaration<HandleComponent, never>;
27
24
  static ɵcmp: i0.ɵɵComponentDeclaration<HandleComponent, "handle", never, { "position": { "alias": "position"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -6,7 +6,7 @@ export declare class NodeToolbarComponent implements OnInit, OnDestroy {
6
6
  private overlaysService;
7
7
  private nodeService;
8
8
  position: import("@angular/core").InputSignal<Position>;
9
- toolbarContentTemplate: import("@angular/core").Signal<TemplateRef<unknown>>;
9
+ protected toolbarContentTemplate: import("@angular/core").Signal<TemplateRef<unknown>>;
10
10
  protected model: ToolbarModel;
11
11
  constructor();
12
12
  ngOnInit(): void;
@@ -1,11 +1,14 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { TemplateRef, OnInit } from '@angular/core';
2
2
  import { Position } from '../../types/position.type';
3
+ import { HandleComponent } from '../../public-components/handle/handle.component';
4
+ import { AsInterface } from '../types';
3
5
  import * as i0 from "@angular/core";
4
- export declare class HandleMockComponent {
6
+ export declare class HandleMockComponent implements AsInterface<HandleComponent>, OnInit {
5
7
  position: import("@angular/core").InputSignal<Position>;
6
8
  type: import("@angular/core").InputSignal<"source" | "target">;
7
9
  id: import("@angular/core").InputSignal<string | undefined>;
8
10
  template: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
11
+ ngOnInit(): void;
9
12
  static ɵfac: i0.ɵɵFactoryDeclaration<HandleMockComponent, never>;
10
13
  static ɵcmp: i0.ɵɵComponentDeclaration<HandleMockComponent, "handle", never, { "position": { "alias": "position"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
14
  }
@@ -1,10 +1,13 @@
1
- import { MiniMapPosition } from '../../public-components/minimap/minimap.component';
1
+ import { OnInit } from '@angular/core';
2
+ import { MiniMapComponent, MiniMapPosition } from '../../public-components/minimap/minimap.component';
3
+ import { AsInterface } from '../types';
2
4
  import * as i0 from "@angular/core";
3
- export declare class MiniMapMockComponent {
5
+ export declare class MiniMapMockComponent implements AsInterface<MiniMapComponent>, OnInit {
4
6
  maskColor: import("@angular/core").InputSignal<string>;
5
7
  strokeColor: import("@angular/core").InputSignal<string>;
6
8
  position: import("@angular/core").InputSignal<MiniMapPosition>;
7
9
  scaleOnHover: import("@angular/core").InputSignal<boolean>;
10
+ ngOnInit(): void;
8
11
  static ɵfac: i0.ɵɵFactoryDeclaration<MiniMapMockComponent, never>;
9
12
  static ɵcmp: i0.ɵɵComponentDeclaration<MiniMapMockComponent, "mini-map", never, { "maskColor": { "alias": "maskColor"; "required": false; "isSignal": true; }; "strokeColor": { "alias": "strokeColor"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "scaleOnHover": { "alias": "scaleOnHover"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
10
13
  }
@@ -1,7 +1,12 @@
1
+ import { OnInit, OnDestroy } from '@angular/core';
1
2
  import { Position } from '../../types/position.type';
3
+ import { NodeToolbarComponent } from '../../public-components/node-toolbar/node-toolbar.component';
4
+ import { AsInterface } from '../types';
2
5
  import * as i0 from "@angular/core";
3
- export declare class NodeToolbarMockComponent {
6
+ export declare class NodeToolbarMockComponent implements AsInterface<NodeToolbarComponent>, OnInit, OnDestroy {
4
7
  position: import("@angular/core").InputSignal<Position>;
8
+ ngOnInit(): void;
9
+ ngOnDestroy(): void;
5
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeToolbarMockComponent, never>;
6
11
  static ɵcmp: i0.ɵɵComponentDeclaration<NodeToolbarMockComponent, "node-toolbar", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
7
12
  }
@@ -1,8 +1,13 @@
1
+ import { OnInit, AfterViewInit } from '@angular/core';
2
+ import { ResizableComponent } from '../../public-components/resizable/resizable.component';
3
+ import { AsInterface } from '../types';
1
4
  import * as i0 from "@angular/core";
2
- export declare class ResizableMockComponent {
5
+ export declare class ResizableMockComponent implements AsInterface<ResizableComponent>, OnInit, AfterViewInit {
3
6
  resizable: import("@angular/core").InputSignal<boolean | "" | undefined>;
4
7
  resizerColor: import("@angular/core").InputSignal<string>;
5
8
  gap: import("@angular/core").InputSignal<number>;
9
+ ngOnInit(): void;
10
+ ngAfterViewInit(): void;
6
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ResizableMockComponent, never>;
7
12
  static ɵcmp: i0.ɵɵComponentDeclaration<ResizableMockComponent, "[resizable]", never, { "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "resizerColor": { "alias": "resizerColor"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
8
13
  }
@@ -1,28 +1,39 @@
1
- import { WritableSignal } from '@angular/core';
1
+ import { WritableSignal, OnInit } from '@angular/core';
2
2
  import { Node, DynamicNode } from '../../interfaces/node.interface';
3
3
  import { Edge } from '../../interfaces/edge.interface';
4
4
  import { Point } from '../../interfaces/point.interface';
5
5
  import { Background } from '../../types/background.type';
6
6
  import { Optimization } from '../../interfaces/optimization.interface';
7
7
  import { KeyboardShortcuts } from '../../types/keyboard-action.type';
8
- import { ConnectionSettings } from '../../interfaces/connection-settings.interface';
9
8
  import { ViewportState } from '../../interfaces/viewport.interface';
10
9
  import { NodeChange } from '../../types/node-change.type';
11
10
  import { EdgeChange } from '../../types/edge-change.type';
12
11
  import { FitViewOptions } from '../../interfaces/fit-view-options.interface';
13
12
  import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, NodeHtmlTemplateMockDirective } from '../directive-mocks/template-mock.directive';
13
+ import { VflowComponent } from '../../components/vflow/vflow.component';
14
+ import { ConnectionModel } from '../../models/connection.model';
15
+ import { AsInterface } from '../types';
14
16
  import * as i0 from "@angular/core";
15
- export declare class VflowMockComponent {
16
- readonly nodes: import("@angular/core").InputSignal<Node[] | DynamicNode[]>;
17
- readonly edges: import("@angular/core").InputSignal<Edge<unknown>[]>;
18
- readonly view: import("@angular/core").InputSignal<[number, number] | "auto">;
19
- readonly minZoom: import("@angular/core").InputSignal<number>;
20
- readonly maxZoom: import("@angular/core").InputSignal<number>;
21
- readonly background: import("@angular/core").InputSignal<string | Background>;
17
+ import * as i1 from "../../interfaces/connection-settings.interface";
18
+ export declare class VflowMockComponent implements AsInterface<VflowComponent>, OnInit {
19
+ readonly nodes: Node[] | DynamicNode[];
20
+ readonly edges: Edge[];
21
+ readonly view: [
22
+ number,
23
+ number
24
+ ] | 'auto';
25
+ readonly minZoom = 0.5;
26
+ readonly maxZoom = 3;
27
+ readonly background: Background | string;
22
28
  readonly optimization: import("@angular/core").InputSignal<Optimization>;
23
- readonly entitiesSelectable: import("@angular/core").InputSignal<boolean>;
24
- readonly keyboardShortcuts: import("@angular/core").InputSignal<KeyboardShortcuts>;
25
- readonly connection: import("@angular/core").InputSignal<ConnectionSettings | undefined>;
29
+ readonly entitiesSelectable = true;
30
+ readonly keyboardShortcuts: KeyboardShortcuts;
31
+ readonly connection: ConnectionModel;
32
+ readonly snapGrid: [
33
+ number,
34
+ number
35
+ ];
36
+ elevateNodesOnSelect: boolean;
26
37
  readonly onComponentNodeEvent: import("@angular/core").OutputEmitterRef<any>;
27
38
  protected nodeTemplateDirective: import("@angular/core").Signal<NodeHtmlTemplateMockDirective | undefined>;
28
39
  protected groupNodeTemplateDirective: import("@angular/core").Signal<GroupNodeTemplateMockDirective | undefined>;
@@ -35,6 +46,7 @@ export declare class VflowMockComponent {
35
46
  viewportChange$: import("rxjs").Observable<ViewportState>;
36
47
  nodesChange$: import("rxjs").Observable<NodeChange[]>;
37
48
  edgesChange$: import("rxjs").Observable<EdgeChange[]>;
49
+ ngOnInit(): void;
38
50
  viewportTo(viewport: ViewportState): void;
39
51
  zoomTo(zoom: number): void;
40
52
  panTo(point: Point): void;
@@ -44,5 +56,6 @@ export declare class VflowMockComponent {
44
56
  getDetachedEdges(): Edge[];
45
57
  protected createSignal<T>(value: T): WritableSignal<T>;
46
58
  static ɵfac: i0.ɵɵFactoryDeclaration<VflowMockComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<VflowMockComponent, "vflow", never, { "nodes": { "alias": "nodes"; "required": true; "isSignal": true; }; "edges": { "alias": "edges"; "required": true; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "minZoom": { "alias": "minZoom"; "required": false; "isSignal": true; }; "maxZoom": { "alias": "maxZoom"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "optimization": { "alias": "optimization"; "required": false; "isSignal": true; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; "isSignal": true; }; "keyboardShortcuts": { "alias": "keyboardShortcuts"; "required": false; "isSignal": true; }; "connection": { "alias": "connection"; "required": false; "isSignal": true; }; }, { "onComponentNodeEvent": "onComponentNodeEvent"; }, ["nodeTemplateDirective", "groupNodeTemplateDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], ["*"], true, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<VflowMockComponent, "vflow", never, { "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "background": { "alias": "background"; "required": false; }; "optimization": { "alias": "optimization"; "required": false; "isSignal": true; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "keyboardShortcuts": { "alias": "keyboardShortcuts"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "snapGrid": { "alias": "snapGrid"; "required": false; }; "elevateNodesOnSelect": { "alias": "elevateNodesOnSelect"; "required": false; }; }, { "onComponentNodeEvent": "onComponentNodeEvent"; }, ["nodeTemplateDirective", "groupNodeTemplateDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], ["*"], true, never>;
60
+ static ngAcceptInputType_connection: i1.ConnectionSettings;
48
61
  }
@@ -1,7 +1,14 @@
1
1
  import { Connection } from '../../interfaces/connection.interface';
2
+ import { AsInterface } from '../types';
3
+ import { ConnectionControllerDirective } from '../../directives/connection-controller.directive';
4
+ import { HandleModel } from '../../models/handle.model';
2
5
  import * as i0 from "@angular/core";
3
- export declare class ConnectionControllerMockDirective {
6
+ export declare class ConnectionControllerMockDirective implements AsInterface<ConnectionControllerDirective> {
4
7
  readonly onConnect: import("@angular/core").OutputEmitterRef<Connection>;
8
+ startConnection(handle: HandleModel): void;
9
+ validateConnection(handle: HandleModel): void;
10
+ resetValidateConnection(targetHandle: HandleModel): void;
11
+ endConnection(): void;
5
12
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionControllerMockDirective, never>;
6
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<ConnectionControllerMockDirective, "[onConnect]", never, {}, { "onConnect": "onConnect"; }, never, never, true, never>;
7
14
  }
@@ -1,5 +1,7 @@
1
+ import { AsInterface } from '../types';
2
+ import { DragHandleDirective } from '../../directives/drag-handle.directive';
1
3
  import * as i0 from "@angular/core";
2
- export declare class DragHandleMockDirective {
4
+ export declare class DragHandleMockDirective implements AsInterface<DragHandleDirective> {
3
5
  static ɵfac: i0.ɵɵFactoryDeclaration<DragHandleMockDirective, never>;
4
6
  static ɵdir: i0.ɵɵDirectiveDeclaration<DragHandleMockDirective, "[dragHandle]", never, {}, {}, never, never, true, never>;
5
7
  }
@@ -1,5 +1,7 @@
1
+ import { AsInterface } from '../types';
2
+ import { SelectableDirective } from '../../directives/selectable.directive';
1
3
  import * as i0 from "@angular/core";
2
- export declare class SelectableMockDirective {
4
+ export declare class SelectableMockDirective implements AsInterface<SelectableDirective> {
3
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectableMockDirective, never>;
4
6
  static ɵdir: i0.ɵɵDirectiveDeclaration<SelectableMockDirective, "[selectable]", never, {}, {}, never, never, true, never>;
5
7
  }
@@ -1,31 +1,33 @@
1
1
  import { TemplateRef } from '@angular/core';
2
+ import { ConnectionTemplateDirective, EdgeLabelHtmlTemplateDirective, EdgeTemplateDirective, GroupNodeTemplateDirective, HandleTemplateDirective, NodeHtmlTemplateDirective } from '../../directives/template.directive';
3
+ import { AsInterface } from '../types';
2
4
  import * as i0 from "@angular/core";
3
- export declare class EdgeTemplateMockDirective {
5
+ export declare class EdgeTemplateMockDirective implements AsInterface<EdgeTemplateDirective> {
4
6
  templateRef: TemplateRef<any>;
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeTemplateMockDirective, never>;
6
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<EdgeTemplateMockDirective, "ng-template[edge]", never, {}, {}, never, never, true, never>;
7
9
  }
8
- export declare class ConnectionTemplateMockDirective {
10
+ export declare class ConnectionTemplateMockDirective implements AsInterface<ConnectionTemplateDirective> {
9
11
  templateRef: TemplateRef<any>;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionTemplateMockDirective, never>;
11
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<ConnectionTemplateMockDirective, "ng-template[connection]", never, {}, {}, never, never, true, never>;
12
14
  }
13
- export declare class EdgeLabelHtmlTemplateMockDirective {
15
+ export declare class EdgeLabelHtmlTemplateMockDirective implements AsInterface<EdgeLabelHtmlTemplateDirective> {
14
16
  templateRef: TemplateRef<any>;
15
17
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeLabelHtmlTemplateMockDirective, never>;
16
18
  static ɵdir: i0.ɵɵDirectiveDeclaration<EdgeLabelHtmlTemplateMockDirective, "ng-template[edgeLabelHtml]", never, {}, {}, never, never, true, never>;
17
19
  }
18
- export declare class NodeHtmlTemplateMockDirective {
20
+ export declare class NodeHtmlTemplateMockDirective implements AsInterface<NodeHtmlTemplateDirective> {
19
21
  templateRef: TemplateRef<any>;
20
22
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeHtmlTemplateMockDirective, never>;
21
23
  static ɵdir: i0.ɵɵDirectiveDeclaration<NodeHtmlTemplateMockDirective, "ng-template[nodeHtml]", never, {}, {}, never, never, true, never>;
22
24
  }
23
- export declare class GroupNodeTemplateMockDirective {
25
+ export declare class GroupNodeTemplateMockDirective implements AsInterface<GroupNodeTemplateDirective> {
24
26
  templateRef: TemplateRef<any>;
25
27
  static ɵfac: i0.ɵɵFactoryDeclaration<GroupNodeTemplateMockDirective, never>;
26
28
  static ɵdir: i0.ɵɵDirectiveDeclaration<GroupNodeTemplateMockDirective, "ng-template[groupNode]", never, {}, {}, never, never, true, never>;
27
29
  }
28
- export declare class HandleTemplateMockDirective {
30
+ export declare class HandleTemplateMockDirective implements AsInterface<HandleTemplateDirective> {
29
31
  templateRef: TemplateRef<any>;
30
32
  static ɵfac: i0.ɵɵFactoryDeclaration<HandleTemplateMockDirective, never>;
31
33
  static ɵdir: i0.ɵɵDirectiveDeclaration<HandleTemplateMockDirective, "ng-template[handle]", never, {}, {}, never, never, true, never>;
@@ -0,0 +1 @@
1
+ export type AsInterface<T> = Pick<T, keyof T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-vflow",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngx-vflow.org/",
6
6
  "author": "Artem Mangilev",
@@ -1,18 +0,0 @@
1
- import { runInInjectionContext } from '@angular/core';
2
- export function InjectionContext(target, key, descriptor) {
3
- const originalMethod = descriptor.value;
4
- descriptor.value = function (...args) {
5
- if (implementsWithInjector(this)) {
6
- return runInInjectionContext(this.injector, () => originalMethod.apply(this, args));
7
- }
8
- else {
9
- throw new Error('Class that contains decorated method must extends WithInjectorDirective class');
10
- }
11
- };
12
- // Return the modified descriptor
13
- return descriptor;
14
- }
15
- const implementsWithInjector = (instance) => {
16
- return 'injector' in instance && 'get' in instance.injector;
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWluLWluamVjdGlvbi1jb250ZXh0LmRlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9kZWNvcmF0b3JzL3J1bi1pbi1pbmplY3Rpb24tY29udGV4dC5kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUFXLEVBQUUsR0FBVyxFQUFFLFVBQThCO0lBQ3ZGLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFFeEMsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsSUFBVztRQUN6QyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLCtFQUErRSxDQUFDLENBQUM7UUFDbkcsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLGlDQUFpQztJQUNqQyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBTUQsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFFBQWdCLEVBQTRCLEVBQUU7SUFDNUUsT0FBTyxVQUFVLElBQUksUUFBUSxJQUFJLEtBQUssSUFBSyxRQUFRLENBQUMsUUFBcUIsQ0FBQztBQUM1RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJbmplY3Rpb25Db250ZXh0KHRhcmdldDogYW55LCBrZXk6IHN0cmluZywgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKSB7XG4gIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcblxuICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGltcGxlbWVudHNXaXRoSW5qZWN0b3IodGhpcykpIHtcbiAgICAgIHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4gb3JpZ2luYWxNZXRob2QuYXBwbHkodGhpcywgYXJncykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NsYXNzIHRoYXQgY29udGFpbnMgZGVjb3JhdGVkIG1ldGhvZCBtdXN0IGV4dGVuZHMgV2l0aEluamVjdG9yRGlyZWN0aXZlIGNsYXNzJyk7XG4gICAgfVxuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgbW9kaWZpZWQgZGVzY3JpcHRvclxuICByZXR1cm4gZGVzY3JpcHRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoSW5qZWN0b3Ige1xuICBpbmplY3RvcjogSW5qZWN0b3I7XG59XG5cbmNvbnN0IGltcGxlbWVudHNXaXRoSW5qZWN0b3IgPSAoaW5zdGFuY2U6IG9iamVjdCk6IGluc3RhbmNlIGlzIFdpdGhJbmplY3RvciA9PiB7XG4gIHJldHVybiAnaW5qZWN0b3InIGluIGluc3RhbmNlICYmICdnZXQnIGluIChpbnN0YW5jZS5pbmplY3RvciBhcyBJbmplY3Rvcik7XG59O1xuIl19
@@ -1,5 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- export declare function InjectionContext(target: any, key: string, descriptor: PropertyDescriptor): PropertyDescriptor;
3
- export interface WithInjector {
4
- injector: Injector;
5
- }