0.6.1 • Published 10 months ago
@ocubist/singleton-manager v0.6.1
Singleton Manager
Description
A simple but effective Singleton-Manager.
Installation
To install the Singleton Manager, use npm or yarn:
npm install @ocubist/singleton-manager
# or
yarn add @ocubist/singleton-manager
Usage
Basic Example
import { useSingleton } from "@ocubist/singleton-manager";
// Create a singleton manager for "myGroup"
const singletonManager = useSingleton("myGroup");
// Define a singleton
singletonManager.setSingleton("mySingleton", { value: 42 });
// Retrieve the singleton
const mySingleton = singletonManager.getSingleton<{ value: number }>(
"mySingleton"
);
console.log(mySingleton.value); // Output: 42
// Check if a singleton exists
const exists = singletonManager.hasSingleton("mySingleton");
console.log(exists); // Output: true
// Remove a singleton
singletonManager.removeSingleton("mySingleton");
Advanced Example with POST Request
import { useSingleton } from "@ocubist/singleton-manager";
import axios from "axios";
// Create a singleton manager for "apiGroup"
const apiSingletonManager = useSingleton("apiGroup");
// Function to make a POST request
const postRequest = async (url: string, data: object) => {
const response = await axios.post(url, data);
return response.data;
};
// Define and store a singleton for the POST request function
apiSingletonManager.setSingleton("postRequest", postRequest);
// Retrieve and use the singleton to make a POST request
const postFunction =
apiSingletonManager.getSingleton<(url: string, data: object) => Promise<any>>(
"postRequest"
);
postFunction("https://example.com/api", { key: "value" })
.then((response) => console.log(response))
.catch((error) => console.error(error));
API Documentation
License
The Singleton Manager is licensed under the MIT License. See the LICENSE file for more information.
0.5.0
1 year ago
0.6.1
10 months ago
0.6.0
12 months ago
0.5.1
1 year ago
0.4.1
1 year ago
0.4.0
1 year ago
0.4.2
1 year ago
0.3.0
1 year ago
0.2.0
1 year ago
0.1.13
2 years ago
0.1.14
2 years ago
0.1.12
2 years ago
0.1.11
2 years ago
0.1.10
2 years ago
0.1.9
2 years ago
0.1.8
2 years ago
0.1.7
2 years ago
0.1.6
2 years ago
0.1.5
2 years ago
0.1.3
2 years ago
0.1.2
2 years ago
0.1.1
2 years ago
0.1.0
2 years ago