3.8.5 • Published 3 days ago

@open-stock/stock-universal v3.8.5

Weekly downloads
-
License
ISC
Repository
-
Last release
3 days ago

@open-stock/stock-universal

A exposes universal functionality to all othet @open-stock libraries. This is the first library you initialise incase you want to use the rest of othe @open-stock libraries

A bunch of helper functions

Sample code:

import {
  EhttpController,
  StockUniversal,
  IenvironmentConfig,
} from "@open-stock/stock-universal";

const environment: IenvironmentConfig = {};

// then run it as follows
const universal = new StockUniversal(environment);

Installation

// with npm
npm install @open-stock/stock-universal

// with yarn
yarn add @open-stock/stock-universal

How to use

import {
  EhttpController,
  StockUniversal,
  IenvironmentConfig,
} from "@open-stock/stock-universal";

const environment: IenvironmentConfig = {};

// then run it as follows
const universal = new StockUniversal(environment);

Extra Features

The following are the features of the stock-universal library

NOTE

Most of the features below are automatically implememnted by the library. But If you want to use the classes and functions provided by the library, you can do so by importing them from the library. Some of them are elaborated below.

WindowController

WindowController is a class that is used to check if the device is connected to the internet or not. It is used by the EhttpController to check if the device is connected to the internet before making a request

use it as below

import { WindowController } from "@open-stock/stock-universal";

const doc = document;
const windowController = new WindowController(doc);

// get window
const window = windowController.getWindow();

// get location
const location = windowController.getLocation();

// create Element
const tag = "div";
const element = windowController.createElement(tag);

ConnectivityController

connectivityController is a class that is used to check if the device is connected to the internet or not. It is used by the EhttpController to check if the device is connected to the internet before making a request

use it as below

import { ConnectivityController, WindowController } from "@open-stock/stock-universal";

const connectivityController = new ConnectivityController(new WindowController(document));

// listen to offline, online connections
connectivityController.startListening();

// subscribe to changes as follows
const subscription = connectivityController.online$.subscribe((isConnected) => {
  // do something with the connection
});

// TO CLEAN UP
subscription.unsubscribe();

// while destroying application, rather tha a component, you can call this
connectivityController.destroy();

EhttpController

EhttpController is a class that is used to make http requests. It is used by the EhttpController to check if the device is connected to the internet before making a request

usage

import { EhttpController } from "@open-stock/stock-universal";
import { Axios } from 'axios-observable';
import { lastValueFrom } from 'rxjs';
import { Ifile } from '@open-stock/stock-universal';

const axiosInstance = Axios.create({
  baseURL: "https://jsonplaceholder.typicode.com", // your url
  timeout: 1000,
});


const ehttpController = new EhttpController(axiosInstance);

// alternatively there is a static method that can be used to create an instance
const ehttpController = EhttpController.create({
  baseURL: "https://jsonplaceholder.typicode.com", // your url
  timeout: 1000,
});


// append token
ehttpController.appendToken("token");

// append headers
ehttpController.appendHeaders({});

// get request
const observer$ = ehttpController.makeGet('/url');
const response = await lastValueFrom(observer$);

// put request
const observer$ = ehttpController.makePut('/url', body);
const response = await lastValueFrom(observer$);

// post request
const observer$ = ehttpController.makePost('/url', body);
const response = await lastValueFrom(observer$);

// delete request
const observer$ = ehttpController.makeDelete('/url');
const response = await lastValueFrom(observer$);

// upload files
const files: Ifile[] = []
const observer$ = ehttpController.uploadFiles(files, '/url', extras);
const response = await lastValueFrom(observer$);

LoggerController

LoggerController is a class that is used to log errors to the console. It is used by the EhttpController to log errors to the console

usage

import { LoggerController } from "@open-stock/stock-universal";

const loggerController = new LoggerController();

// debug
loggerController.debug("message");

// warn
loggerController.warn("message");

// error
loggerController.error("message");

//trace
loggerController.trace("message");

emailphoneValidator

emailphoneValidator is a function that is used to validate emails and phone numbers

usage

import { emailphoneValidator } from "@open-stock/stock-universal";

const { valid, message } = emailphoneValidator;

validateEmail

emailphoneValidator is a function that is used to validate only emails

usage

import { validateEmail } from "@open-stock/stock-universal";

const { valid, message } = validateEmail;

makeRandomString

makeRandomString is a function that is used to generate random strings

usage

import { makeRandomString, Tmkrandomstringhow } from "@open-stock/stock-universal";

const length = 10;
const how: Tmkrandomstringhow = 'numbers';

const randomString = makeRandomString(length, how);

validatePasswordMatch

validatePasswordMatch is a function that is used to validate if two passwords match

usage

import { validatePasswordMatch } from "@open-stock/stock-universal";

const { valid, message } = validatePasswordMatch;

validatePhone

validatePhone is a function that is used to validate phone numbers

usage

import { validatePhone } from "@open-stock/stock-universal";

const { valid, message } = validatePhone;

Documentation

The source code of the website can be found here. Contributions are welcome!

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site.

License

MIT

3.7.5

4 days ago

3.7.4

4 days ago

3.7.3

4 days ago

3.7.9

3 days ago

3.7.8

3 days ago

3.7.7

4 days ago

3.7.6

4 days ago

3.8.0

3 days ago

3.8.4

3 days ago

3.8.3

3 days ago

3.8.2

3 days ago

3.8.1

3 days ago

3.8.5

3 days ago

3.7.2

7 days ago

3.6.9

8 days ago

3.7.1

8 days ago

3.7.0

8 days ago

3.6.8

8 days ago

3.6.7

9 days ago

3.6.6

10 days ago

3.6.5

10 days ago

3.6.4

12 days ago

3.6.3

15 days ago

3.6.2

17 days ago

3.6.1

17 days ago

3.6.0

17 days ago

3.5.7

17 days ago

3.5.6

17 days ago

3.5.9

17 days ago

3.5.8

17 days ago

3.5.3

18 days ago

3.5.2

18 days ago

3.5.1

18 days ago

3.5.0

18 days ago

3.5.5

18 days ago

3.5.4

18 days ago

3.4.4

18 days ago

3.4.3

18 days ago

3.4.2

18 days ago

3.4.1

18 days ago

3.4.8

18 days ago

3.4.7

18 days ago

3.4.6

18 days ago

3.4.5

18 days ago

3.4.9

18 days ago

3.3.9

22 days ago

3.3.8

22 days ago

3.3.7

22 days ago

3.2.6

22 days ago

3.2.8

22 days ago

3.2.7

22 days ago

3.4.0

22 days ago

3.3.1

22 days ago

3.3.0

22 days ago

3.3.5

22 days ago

3.3.4

22 days ago

3.3.3

22 days ago

3.3.2

22 days ago

3.2.4

24 days ago

3.2.2

28 days ago

3.2.3

28 days ago

3.2.1

29 days ago

3.2.0

29 days ago

3.1.3

29 days ago

3.1.2

29 days ago

3.1.1

29 days ago

3.1.0

29 days ago

3.1.7

29 days ago

3.1.6

29 days ago

3.1.5

29 days ago

3.1.4

29 days ago

3.1.9

29 days ago

3.1.8

29 days ago

3.0.4

29 days ago

3.0.8

29 days ago

3.0.7

29 days ago

3.0.6

29 days ago

3.0.9

29 days ago

3.0.3

30 days ago

2.8.1

1 month ago

2.8.0

1 month ago

2.9.2

1 month ago

2.9.1

1 month ago

2.9.4

1 month ago

2.9.3

1 month ago

2.9.6

1 month ago

2.9.5

1 month ago

2.7.2

1 month ago

2.7.1

1 month ago

2.8.3

1 month ago

2.8.2

1 month ago

2.8.5

1 month ago

2.8.4

1 month ago

2.8.7

1 month ago

2.8.6

1 month ago

2.8.9

1 month ago

2.8.8

1 month ago

3.0.2

1 month ago

3.0.1

1 month ago

2.7.4

1 month ago

2.7.3

1 month ago

2.7.5

1 month ago

3.0.0

1 month ago

2.7.8

1 month ago

2.7.7

1 month ago

2.9.0

1 month ago

2.7.0

1 month ago

2.6.9

1 month ago

2.6.8

1 month ago

2.6.7

1 month ago

2.6.6

1 month ago

2.6.1

2 months ago

2.6.3

2 months ago

2.6.2

2 months ago

2.6.5

2 months ago

2.6.4

2 months ago

2.6.0

2 months ago

2.5.8

2 months ago

2.5.7

2 months ago

2.5.9

2 months ago

2.5.6

2 months ago

2.5.5

2 months ago

2.5.0

2 months ago

2.5.2

2 months ago

2.5.1

2 months ago

2.5.4

2 months ago

2.5.3

2 months ago

2.4.8

5 months ago

2.4.1

5 months ago

2.4.3

5 months ago

2.4.2

5 months ago

2.4.5

5 months ago

2.4.4

5 months ago

2.4.7

5 months ago

2.4.6

5 months ago

2.4.0

5 months ago

2.3.7

6 months ago

2.3.2

6 months ago

2.3.4

6 months ago

2.3.3

6 months ago

2.3.6

6 months ago

2.3.5

6 months ago

2.3.1

6 months ago

2.3.0

6 months ago

2.1.2

7 months ago

2.0.3

8 months ago

2.0.2

8 months ago

2.0.4

8 months ago

2.2.5

6 months ago

2.1.6

7 months ago

2.0.7

8 months ago

2.2.4

6 months ago

2.1.5

7 months ago

2.0.6

8 months ago

2.2.7

6 months ago

2.2.6

6 months ago

2.1.7

7 months ago

2.0.8

8 months ago

2.1.0

8 months ago

2.0.1

8 months ago

2.0.0

10 months ago

2.2.9

6 months ago

2.2.8

6 months ago

1.4.5

11 months ago

1.3.4

11 months ago

1.4.0

11 months ago

1.3.1

11 months ago

1.3.0

11 months ago

1.2.5

11 months ago

1.2.4

11 months ago

1.2.2

11 months ago

1.2.1

12 months ago

1.2.0

12 months ago

1.1.9

12 months ago

1.1.8

12 months ago

1.1.7

12 months ago

1.1.6

12 months ago

1.1.5

12 months ago

1.1.4

12 months ago

1.1.3

12 months ago

1.1.2

12 months ago

1.1.1

12 months ago

1.1.0

12 months ago

1.0.1

1 year ago

1.0.0

1 year ago