1.0.1 • Published 3 years ago

@typicalninja21/structures v1.0.1

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

@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

1.0.1

3 years ago

1.0.0

3 years ago