0.6.1 • Published 10 months ago

@ocubist/singleton-manager v0.6.1

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

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

Docs

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