Skip to content

ChuckJonas/remote-action-promise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Promisify Salesforce Remote Actions

This library is used to convert a Salesforce VisualForce remote action into a promise. It is written in typescript and allows you to quickly define types for the resulting function.

Usage

Apex Controller

public class MyController{
  @RemoteAction
  public static String foo(String param1, Integer param2, Boolean param3) {
    return 'hello world';
  }
}

typescript

import { promisifyRemoteAction } from 'remote-action-promise';

//this gets injected on the global scope so we need to declare it if using typescript
declare var MyController: {
  foo: any;
};

// this syntax requires Typescript > 4.0
// can use unnamed tuple instead
type FooParams = [param1: string, param2: number, param3: boolean];

const fooRemoteAction = promisifyRemoteAction<FooParams, string>(MyController.foo);

(async() => {

  try{
    const stringResult = await fooRemoteAction('hello', 42, true);
  }catch(e){
    console.log('error', e);
  }

})()

About

A utility to convert Salesforce Visual Force @RemoteActions to promises and provide typescript types

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published