1.0.1 • Published 3 years ago
@typicalninja21/structures v1.0.1
@typicalninja21/structures
Simple utilities for classes (extendable classes, get classes)
another package for a personal projects
install
npm i @typicalninja21/structures
Since typescript rewrite, some things changed
Usage
const StructureManager = require('@typicalninja21/structures').default;
// .. or
const { StructureManager } = require('@typicalninja21/structures');
const structureManager = new StructureManager();
class exampleClass {
constructor(value) {
this.options = value;
}
}
structureManager.register('exampleClass', exampleClass);
class exampleAdvanced extends structureManager.get('exampleClass') {
constructor(value) {
super(value);
this.work = true
}
}
structureManager.extend('exampleClass', () => exampleAdvanced)
structureManager.extend('exampleClass', (exampleClassParam) => class normalClass extends exampleClassParam { constructor(value) { super(value); this.normal = false; } })
const extendedClass = structureManager.get('exampleClass')
const newClass = new extendedClass('test')
// or...
/*
const newClass = new structureManager.get('exampleClass')
*/
console.log(newClass)
Logs:
normalClass { options: 'test', work: true, normal: false }
for more advanced usage, check the source code