professional-js-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.1.42 • Public • Published

Carmudi Professional Javascript SDK

Carmudi Professional SDK for api.camudi.pro API!

Stacks

Setup

npm install -g angular-cli typings karma-cli;
git clone https://github.com/Carmudi/professional-js-sdk.git;
cd professional-js-sdk;
npm install & typings install;

Commands

Test:

npm run test

Lint:

npm run lint

Build:

npm run build

Publish a new version

Update your package.json to set up the latest version:

{
  "name": "professional-js-sdk",
  "version": "0.0.1",
  "license": "MIT",
  ...
}

Submit pull request and get approval

Create a new release into Github repo pointing out the version name: https://github.com/Carmudi/professional-js-sdk/releases

Include in Angular2 project

Install the package with npm (beware of the version number)

(no code completion at the moment)

git clone git@github.com:Carmudi/professional-js-sdk.git
cd professional-js-sdk
npm install
npm run build
npm pack
cd my-project
npm install /path/to/professional-js-sdk/professional-js-sdk-{version}.tgz

Inject the services you need into you AppModule providers

  • use the dedicated factory provided by sdk
  • you have to tell the factory the base url + default sorting and limit for collections
import { AuthHttp } from 'angular2-jwt';
import { LeadService, LeadFactory } from 'professional-js-sdk';

@NgModule({
  ...
  providers: [
    ...
    {
      provide: LeadService, 
      useFactory: (authHttp: AuthHttp) => LeadFactory(authHttp, 'http://api.carmudi.pro/', ['sort'], 10),
      deps: [AuthHttp]
    },
    ...
  ],
  ...
})
export class AppModule {
}

Use you service into components:

import { Lead, LeadService } from 'professional-js-sdk';

@Component({
  ...  
})
export class LeadListComponent implements OnInit {

  private leads: Lead[];

  constructor(private service: LeadService) {}

  public ngOnInit(): void {
    this.service.getAll({status: 'new'}, ['-createdAt'])
      .subscribe(
        (leads: Lead[]) => this.leads = leads,
        (error: Error) => console.log(error.message)
      );
  }
  ...
}

/professional-js-sdk/

    Package Sidebar

    Install

    npm i professional-js-sdk

    Weekly Downloads

    47

    Version

    0.1.42

    License

    MIT

    Unpacked Size

    439 kB

    Total Files

    415

    Last publish

    Collaborators

    • fabiocarneiro