Welcome to PatchKit Launcher SDK API Documentation.
Here you can find information on how to work with various packages that expose API for creating launchers based on PatchKit.
The API is split into multiple packages, each serving a different part of the stack.
The API is designed with procedural/functional programming concepts in mind. It is based on simple principles of functions and structures.
Function parameters are always named. This means that if a function accepts arguments, you must provide them within an object.
startAppBranch({
appId: `xyz`,
appBranchId: `123`,
});
All functions exported from the runtime are asynchronous due to the nature of Electron's IPC communication. There are a few exceptions for this rule with functions like getAppBranchUid
, which are synchronous due to not being IPC calls.
get*
/ fetch*
/ retrieve*
Function Differencesget*
are designed to be pure. This means that for the same input, they always provide the exact same output.fetch*
are guaranteed to acquire information at the source, providing the always up-to-date state.retrieve*
are allowed to utilize caching mechanisms, which means that the information they provide might be outdated.*Info
/ *State
Structure Differences*Info
are designed to represent information that is either constant or changes very rarely. Due to that, it can be freely cached between sessions.*State
are designed to represent information that changes often or is based on local system state and should not be cached between sessions under any circumstances.main
.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.