
Product
Microsoft Teams Notifications Are Now Available in Socket
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.
Library that allow you to describe data structures by subset of JavaScript syntax and validate them at runtime
npm i metaforge --save
const userSchema = new Schema({
$id: 'userSchema',
$meta: { '@name': 'User', '@description': 'Schema for user testing' }, //? JSDOC
phone: { $type: 'union', types: ['number', 'string'] }, //? number or string
name: { $type: 'set', items: ['string', '?string'] }, //? set tuple
phrase: (sample, parent, root) => 'Hello ' + [...parent.name].join(' ') + ' !', // Calculated fields
mask: { $type: 'array', items: 'string' }, //? array of strings
ip: {
$meta: { '@description': 'User ip adress' },
$type: 'array',
$required: false,
$rules: [ip => ip[0] === '192'], //? custom rules
items: {
$type: 'union',
types: ['string', 'number', 'null'], // Array<string | null | number>
condition: 'oneof',
$required: true,
},
},
type: ['elite', 'member', 'guest'], //? enum
'/[a-Z]+Id/': { $type: '?number', isPattern: true }, // pattern fields
address: 'string',
secondAddress: '?string', // optional fields
options: { notifications: 'boolean', lvls: ['number', 'string'] },
});
const systemSchema = new Schema({ $type: 'array', items: userSchema });
const sample = [
{
myId: 1,
phone: '7(***)...',
ip: ['192', 168, '1', null],
type: 'elite',
mask: ['255', '255', '255', '0'],
name: new Set(['Alexander', undefined]),
options: { notifications: true, lvls: [2, '["admin", "user"]'] },
address: 'Pushkin street',
},
//...
];
systemSchema.warnings; // Inspect warnings after build
systemSchema.calculate(sample); // Will assign calculated fields
systemSchema.test(sample); // Schema validation
systemSchema.dts('SystemInterface'); // Typescript generation
systemSchema.pull('userSchema').test(sample[0]); // Subschema validation
systemSchema.pull('userSchema').test({ phone: 123 }, 'root', true); // Partial validation
systemSchema.pull('userSchema'); // Metadata: {..., name: 'user', description: 'schema for users testing'}
Copyright © 2023 Astrohelm contributors.
This library is MIT licensed.
And it is part of Astrohelm ecosystem.
FAQs
Library that allow you to describe data structures by subset of JavaScript syntax and validate them at runtime
The npm package metaforge receives a total of 6 weekly downloads. As such, metaforge popularity was classified as not popular.
We found that metaforge 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.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.