Have ideas to improve npm?Join in the discussion! »

    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.

    Keywords

    none

    Install

    npm i electron-nest-rpc

    DownloadsWeekly Downloads

    80

    Version

    0.1.8

    License

    MIT

    Unpacked Size

    43 kB

    Total Files

    26

    Last publish

    Collaborators

    • avatar