Skip to content

This package imitates core features of multiple inheritance for JavaScript Objects

License

Notifications You must be signed in to change notification settings

celac-th-brandenburg/js-inheritance-imitator

Repository files navigation

JS Inheritance Imitator Version 1.0.0

Author: Veronica Celac

Copyright: Veronica Celac, 2021

License: AGPL-3.0-only

This Framework replicates the inheritance mechanism in JavaScript and allows multiple inheritance.

AccessorDescriptorReplicator.js

Replicates the accessor properties from an inherited instance, object, prototype or constructor function (extension object) on/to an inheriting instance, object or prototype (host object). This class should not be instantiated and is supposed to be used as a constructor function to access static methods. The file AccessorDescriptorReplicator.js contains the class AccessorDescriptorReplicator. The class AccessorDescriptorReplicator replicates (copies/imitates/mimics/mirrors/simulates) accessor descriptors.

Cloner.js

Performs extension & multiple inheritance operations between an inheriting instance, object or prototype (host object) and one or more inherited instances, objects, prototypes or constructor functions (extension object). This class should not be instantiated and is supposed to be used as a constructor function to access static methods. The file Cloner.js contains the class Cloner. The class Cloner (constructor function object) performs extension & multiple inheritance operations.

DataDescriptorReplicator.js

Replicates the data properties (methods & others) from an inherited instance, object, prototype or constructor function (extension object) on/to an inheriting instance, object or prototype (host object). This class should not be instantiated and is supposed to be used as a constructor function to access static methods. The file DataDescriptorReplicator.js contains the class DataDescriptorReplicator. The class DataDescriptorReplicator replicates (copies/imitates/mimics/mirrors/simulates) data descriptors (methods & others).

Extension.js

Replicates itself and all properties of the scope (this) on an inheriting target host object. Should be used as a subclass for classes that should be further used in multiple ineritance relationships or to create mixins. The file Extension.js contains the class Extension. The class Extension replicates itself through the keyword this to another obejct.

Identifier.js

Identifies the type of objects as well as the inheritance relationship between two objects This class should not be instantiated and is supposed to be used as a constructor function to access static methods. The file Identifier.js contains the class Identifier. The class Identifier (constructor function object) identifies the type of objects as well as the inheritance relationship between two objects

Logger.js

Logs messages with the browser Console API. This class should not be instantiated and is supposed to be used as a constructor function to access static methods. The file Logger.js contains the class Logger. The class Logger (constructor function object) logs messages with the browser Console API.

SuperExtensionManager.js

Performs extension & multiple inheritance operations between an inheriting instance, object or prototype (host object) and one or more inherited instances, objects, prototypes or constructor functions (extension object). This class should not be instantiated and is supposed to be used as a constructor function to access static methods. The file SuperExtensionManager.js contains the class Cloner. The class SuperExtensionManager (constructor function object) performs extension & multiple inheritance operations.

About

This package imitates core features of multiple inheritance for JavaScript Objects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published