electron-nest-rpc
TypeScript icon, indicating that this package has built-in type declarations

0.1.8 • Public • Published

Description

The electron-nest-rpc module provides a simple way to invoke nest service between the renderer process (web page) and the main process.

Installation

$ npm i --save electron-nest-rpc

Examples

https://github.com/miaowing/electron-nest-rpc-example

Quick Start

Main Process

import { ApplicationModule } from "./app.module";
import { BrowserWindow } from 'electron';
import { NestFactory } from "@nestjs/core";
import { NestRPC } from 'electron-nest-rpc';
import * as path from 'path';
 
async function bootstrap() {
    const window = new BrowserWindow({
        show: true,
        width: 966,
        height: 647,
        minWidth: 966,
        minHeight: 647,
        titleBarStyle: 'hidden',
    });
    const nestContext = await NestFactory.createApplicationContext(ApplicationModule);
    NestRPC.register(nestContext);
    
    window.loadURL(formatUrl({
        pathname: path.join(__dirname, 'index.html'),
        protocol: 'file',
        slashes: true
    }));
}
 
bootstrap();

Renderer Process

import * as React from 'react';
import { nestRPC, RPCException } from 'electron-nest-rpc';
import { UserService } from './services/UserService';
 
export class TestPage extends React.Component<any> {
    private readonly userService: UserService = nestRPC(UserService);
    private state = {users: []};
    
    constructor(props: any) {
        super(props);
    }
    
    async componentDidMount() {
        try {
            const users = await this.userService.getUsers();
            this.setState({users});
        } catch (e: RPCException) {
            console.log(e.message);
        }
    }
    
    render() {
        const users = this.state.users;
        return <ul>
            {users.map(user => <li key={user.id}>{user.name}</li>)}
        </ul>;
    }
}

Stay in touch

License

Nest is MIT licensed.

Readme

Keywords

none

Package Sidebar

Install

npm i electron-nest-rpc

Weekly Downloads

0

Version

0.1.8

License

MIT

Unpacked Size

43 kB

Total Files

26

Last publish

Collaborators

  • zfeng