1234567891011121314151617181920212223242526 |
- const cache = new Map();
- function inheritModel(ModelClass) {
- let inherit = cache.get(ModelClass.name);
- if (!inherit) {
- inherit = createClassInheritor(ModelClass.name);
- cache.set(ModelClass.name, inherit);
- }
- return inherit(ModelClass);
- }
- function createClassInheritor(className) {
- return new Function(
- 'BaseClass',
- `
- 'use strict';
- return class ${className} extends BaseClass {}
- `
- );
- }
- module.exports = {
- inheritModel
- };
|