npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

hisonjs

v1.2.8

Published

hisondev's client-side development support module

Readme

hisonjs

More detailed information can be found on the this. Homepage

npm version

hisonjs is a powerful client-side library designed to be used with the hisondev backend solution for Java Spring. It provides robust utilities, security enhancements, structured data modeling, and API communication modules.

✨ hisonjs is perfectly compatible with the following Java libraries published on Maven Central:


🔍 Key Features

  • ✨ Dynamic Configuration: Flexibly modify global behavior using easy hison.setXXX() methods.
  • 🔐 Security Module: Protect your app with hison.shield.execute() ➔ prevents unauthorized dev tools, URL/IP access restrictions, object immutability, etc.
  • 📊 Data Modeling: Use DataModel and DataWrapper to structure and validate frontend data just like hisonjv's data-model backend.
  • 🚜 API Communication: Seamlessly interact with api-link-based Spring backend via ApiPost, ApiGet, and built-in caching (CachingModule).
  • 🤖 Custom Hooks: Control API request/response lifecycle with pre/post hook functions.
  • 📢 Real-Time WebSocket Support: Automatically handle real-time updates through caching modules.

🔧 Installation

npm install hisonjs

🔐 Java Spring Backend Integration

hisonjs is designed to work directly with your Java backend using:

🔹 hisonjv (Artifacts including all hisondev artifacts such as data-model and api-link)

<dependency>
    <groupId>io.github.hisondev</groupId>
    <artifactId>hisonjv</artifactId>
    <version>1.0.3</version>
</dependency>

🔹 data-model (Data Communication: DataWrapper, DataModel)

<dependency>
    <groupId>io.github.hisondev</groupId>
    <artifactId>data-model</artifactId>
    <version>1.0.7</version>
</dependency>

🔹 api-link (API Communication Simplification)

<dependency>
    <groupId>io.github.hisondev</groupId>
    <artifactId>api-link</artifactId>
    <version>1.0.7</version>
</dependency>

📚 Usage Overview

Step 1: Basic Setup

import hison from "hisonjs";

hison.setProtocol("https://");
hison.setDateFormat("yyyy-MM-dd");
hison.setExposeIpList(["192.168.1.1", "10.0.0.2"]);

Step 2: Enforce Security

hison.shield.execute(hison);

Step 3: Start Using Modules

  • Utilities: hison.utils
  • Data Management: hison.data
  • API Communication: hison.link

📖 Examples

✅ Utility Functions

const isAlpha = hison.utils.isAlpha("HelloWorld");
console.log(isAlpha); // true

const dateStr = hison.utils.getDateWithFormat(new Date(), "yyyy-MM-dd");
console.log(dateStr);

📚 Data Modeling

const wrapper = new hison.data.DataWrapper({ username: "Alice" });
console.log(wrapper.getString("username")); // "Alice"

const model = new hison.data.DataModel([{ id: 1, name: "Alice" }]);
console.log(model.getValue(0, "name")); // "Alice"

🚜 API Communication (With API-Link Backend)

const apiPost = new hison.link.ApiPost("UserService.createUser");
const requestData = new hison.data.DataWrapper({ username: "Alice" });

apiPost.call(requestData).then(response => {
  console.log("API Response:", response.data);
});

🔄 Real-Time Caching + WebSocket Updates

const cachingModule = new hison.link.CachingModule(20);
const apiGet = new hison.link.ApiGet("/users", cachingModule);

apiGet.call().then(response => {
  console.log("Fetched users:", response.data);
});

🔒 Core Concepts

  • ✔️ Closure Encapsulation: hison internally wraps HisonCore using closures for maximum security and immutability.
  • ✔️ Customizable Defaults: Modify byte rules, datetime formats, hook functions, API protocols dynamically.
  • ✔️ Direct Compatibility with Java Side: DataWrapper and DataModel instances serialize/deserialize cleanly across frontend (hisonjs) and backend (hisonjv/data-model).
  • ✔️ WebSocket Endpoint Management: Real-time data updates through the cache layer for scalable apps.

🎓 Full Initialization Example

import hison from "hisonjs";

// Setup
hison.setProtocol("https://");
hison.setDatetimeFormat("yyyy-MM-dd HH:mm:ss");

// Enforce security
hison.shield.execute(hison);

// Use utilities
console.log(hison.utils.getSysDate());

// Build DataModel
const model = new hison.data.DataModel([{ id: 1, name: "Alice" }]);

// Send API Request
const apiPost = new hison.link.ApiPost("UserService.getUser");
apiPost.call(new hison.data.DataWrapper({ userId: 1 })).then(response => {
  console.log(response.data);
});

🔗 Repository & Issues


💻 License

This project is licensed under the MIT License. See the LICENSE file for details.


👨‍💼 Author

Hani Son
GitHub Profile


✨ If you are building a fullstack Spring + TypeScript project and want the most streamlined data/API layer ➔ hisonjs + hisonjv is your perfect choice!