
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
Dynamic type checker for nodejs >= v4.0.0 It support only class syntax in order to have type checking all classes must be inherited from Type class
All class members must be defined in constructor super call otherwise if you try to assign member to initialized object Type object will throw an type error. After object initialization object is prevented from extension
class User extends Type {
constructor(name, password) {
super({
username: Type.STRING,
password: Type.STRING
});
this.username = name;
this.password = password;
}
getUserName() {
return this.username;
}
setUserName(user) {
this.username = user;
}
}
var user = new User('Igor', 'Ivanovic');
user.getUserName(); // Igor
user.setUserName(1) // Throws type error
user.assign = 1 // Throws type error , all members must be defined at super call with proper type
// Predefined function inside of type
user.destroy(); // clear all references to initialized object
Type.OBJECT = "object";
Type.STRING = "string";
Type.ARRAY = "array";
Type.REGEX = "regexp";
Type.NUMBER = "number";
Type.BOOLEAN = "boolean";
Type.FUNCTION = "function";
Type.DATE = "date";
Type.UNDEFINED = "undefined";
Type.NULL = "null";
Check if value is nullable
Type.isNull(null); // true
Check if value is object
Type.isObject({}); // true
Type.isObject([]); // true
Check if value is regular expression object
Type.isRegExp({}); // false
Type.isRegExp(/abc/i); // true
Check if value is date object
Type.isDate({}); // false
Type.isDate(new Date); // true
Check if value is function object
Type.isFunction({}); // false
Type.isFunction(function () {}); // true
Check if value is array object
Type.isArray({}); // false
Type.isArray([]); // true
Check if value is number
Type.isNumber(1); // true
Type.isNumber(NaN); // true
Type.isNumber([]); // false
Check if value is string
Type.isString(1); // false
Type.isString(""); // true
Check if value is boolean
Type.isBoolean(1); // false
Type.isBoolean(true); // true
Check if value is undefined
Type.isUndefined(null); // false
Type.isUndefined(undefined); // true
Check if value is initialized, null is not considered as initialized
Type.isInitialized(null); // false
Type.isInitialized(undefined); // false
Get type of value
Type.getType(null); // null
Type.getType(undefined); // undefined
Type.getType({}); // object
Type.getType([]); // array
Get type of value. Type should be valid type constant
Type.assert(Type.NULL, null); // true
Type.assert(Type.OBJECT, undefined); // false
Type.assert(Type.OBJECT, {}); // true
Type.assert(Type.ARRAY, []); // true
FAQs
Dynamic javascript type checker for node >= v4.0.0
We found that typed-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.