Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

ng1-shift

Package Overview
Dependencies
Maintainers
7
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng1-shift

Angular 1.5+ decorators for writing Angular2 like.

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
54
decreased by-19.4%
Maintainers
7
Weekly downloads
 
Created
Source

ng1-shift

bitHound Overall Score

Library allows you to write with Angular 2 syntax on Angular 1.5+. That will make your migration to Angular 2(or 4) more easier.

How to install?

npm i ng1-shift

Component

Decorator for class, which links class to component contoller. It also passes property template as a static component value.

Lifecycle hooks:

  • ngOnInit - links to $onInit
  • ngOnChanges - links to $onChanges
  • ngOnDestroy - links to $onDestroy
import {Component, Inject, Input} from "ng1-shift/core";
import {UserDeleteErrorEntity} from "../store/entity/user-delete-error";

@Component({
    template: `
        <h1>Place your template here</h1>
    `,
})
export class PlaygroundComponent implements ng.IController {
    ngOnInit() {
    }

    ngOnChanges() {
    }

    ngOnDestroy() {
    }
}

Equals to:

export class PlaygroundComponent implements ng.IController {
    static controller = PlaygroundComponent;
    static template = `
        <h1>Place your template here</h1>
    `;

    $onInit() {
    }

    $onChanges() {
    }

    $onDestroy() {
    }
}

Directive

Decorator for class, which links class to directive contoller. It also passes property selector as a directive selector.

Lifecycle hooks:

  • ngOnInit - links to $onInit
  • ngAfterViewInit - links to $postLink
  • ngOnChanges - links to $onChanges
  • ngOnDestroy - links to $onDestroy
import {Directive} from "ng1-shift/core";

@Directive({
    selector: `.ngClassDirective`,
})
export class PlaygroundDirective implements ng.IController {
    ngOnInit() {
    }

    ngAfterViewInit() {
    }

    ngOnChanges() {
    }

    ngOnDestroy() {
    }
}

Equals to:

export directiveInstance() {
    return {
        controller: PlaygroundDirective,
        restrict: "C"
    }
}

class PlaygroundDirective implements ng.IController {
    $onInit() {
    }

    $postLink() {
    }

    $onChanges() {
    }

    $onDestroy() {
    }
}

Input

Property decorator for bindings. Literary puts binding property name into static object bindings as one-way binding "<".

class DogComponent {
    @Input() name: string;
}

Equals to:

class DogComponent {
    static bindings = {
        name: "<"
    };

    name: string;
}

In order to setup two-way binding, you should add @Input for that property and @Output with 'Change' postfix property.

class DogComponent {
    @Input() name: string;
    @Output() nameChange = new EventEmitter();
}

Equals to:

class DogComponent {
    static bindings = {
        name: "=",
        nameChange: "&"
    };

    name: string;
    nameChange: Function;
}

Output

Property decorator for callback bindings. Literary puts binding property name into static object bindings as callback binding "&".

class CatComponent {
    @Output("onAliasCallback") onCallback: Function;
}

Equals to:

class CatComponent {
    static bindings = {
        onCallback: "&onAliasCallback"
    };

    onCallback: Function;
}

Inject

Parameter decorator for injection. Works a bit differ from @Inject in Angular 2. Just pushes specified injection into static property $inject.

class UserComponent {
    constructor(
        @Inject("userDataService") private userDataService: IUserDataService
    ) {
    }
}

Equals to:

class UserComponent {
    static $inject = ["userDataService"];

    constructor(private userDataService: IUserDataService) {
    }
}

Keywords

FAQs

Package last updated on 14 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc