From 1fbed0ecd0c2e1b021eda1b37e2dedc33a0f79b3 Mon Sep 17 00:00:00 2001 From: "Theunis J. Botha" Date: Mon, 28 Jun 2021 10:25:11 +0200 Subject: [PATCH] updated templates --- src/r3/r3-component.js | 132 +++++++++-------- src/r3/r3-event.js | 33 +++-- src/r3/r3-project.js | 161 ++++++++++----------- src/r3/r3-r3-object.js | 140 +++++++++--------- src/r3/r3-system/r3-system.js | 2 +- src/r3/r3-utils.js | 36 +++-- src/templates/token.db | 2 +- update_templates.php | 259 ---------------------------------- 8 files changed, 261 insertions(+), 504 deletions(-) diff --git a/src/r3/r3-component.js b/src/r3/r3-component.js index 201c0d4..f6e88f7 100644 --- a/src/r3/r3-component.js +++ b/src/r3/r3-component.js @@ -1,28 +1,37 @@ -const Event = require('r3-event'); -const Utils = require('r3-utils'); +const Event = require('./r3-event'); +const Utils = require('./r3-utils'); const R3Object = require('r3-r3-object.js'); /** - OPTIONS_START - runtime='default' - OPTIONS_END + GENERATE_INHERITED_START + GENERATE_INHERITED_END - INSTANCE_OPTIONS_MAPPING_START - INSTANCE_OPTIONS_MAPPING_END + Of the form x= + CUSTOM_OPTIONS_START + CUSTOM_OPTIONS_END - LINKED_OBJECTS_START - LINKED_OBJECTS_END + Of the form x= + CUSTOM_INSTANCE_OPTIONS_MAPPING_START + CUSTOM_INSTANCE_OPTIONS_MAPPING_END - EXCLUDED_FROM_INSTANCE_OPTIONS_START - runtime - EXCLUDED_FROM_INSTANCE_OPTIONS_END + CUSTOM_LINKED_OBJECTS_START + CUSTOM_LINKED_OBJECTS_END + + CUSTOM_EXCLUDED_FROM_INSTANCE_OPTIONS_START + CUSTOM_EXCLUDED_FROM_INSTANCE_OPTIONS_END + + CUSTOM_METHODS_START + CUSTOM_METHODS_END + + CUSTOM_STATIC_METHODS_START + CUSTOM_STATIC_METHODS_END **/ class Component extends R3Object { - //CONSTRUCTOR_EXTENDS_TEMPLATE_START + //GENERATE_CONSTRUCTOR_EXTENDS_START constructor(options) { if (Utils.UndefinedOrNull(options)) { @@ -33,14 +42,8 @@ class Component extends R3Object { this.emit(Event.OBJECT_CREATED, this); - //OPTIONS_INIT_START - if (typeof options === 'undefined') { - options = {}; - } - if (Utils.UndefinedOrNull(options.runtime)) { - options.runtime = 'default'; - } - //OPTIONS_INIT_END + //GENERATE_OPTIONS_INIT_START + //GENERATE_OPTIONS_INIT_END //CUSTOM_OPTIONS_INIT_START //CUSTOM_OPTIONS_INIT_END @@ -52,78 +55,80 @@ class Component extends R3Object { //CUSTOM_BEFORE_INIT_END this.emit(Event.OBJECT_INITIALIZED, this); - } - //CONSTRUCTOR_EXTENDS_TEMPLATE_END - //CREATE_INSTANCE_TEMPLATE_START + //CUSTOM_AFTER_INIT_START + //CUSTOM_AFTER_INIT_END + } + //GENERATE_CONSTRUCTOR_EXTENDS_END + + //GENERATE_CREATE_INSTANCE_START createInstance() { - //CREATE_INSTANCE_BEFORE_START + //GENERATE_CREATE_INSTANCE_BEFORE_START this.emit(Event.CREATE_INSTANCE_BEFORE, this); - //CREATE_INSTANCE_BEFORE_END + //GENERATE_CREATE_INSTANCE_BEFORE_END //CUSTOM_CREATE_INSTANCE_START //CUSTOM_CREATE_INSTANCE_END - //CREATE_INSTANCE_AFTER_START + //GENERATE_CREATE_INSTANCE_AFTER_START this[this.runtime].createInstance( this, { - //CREATE_INSTANCE_OPTIONS_START - //CREATE_INSTANCE_OPTIONS_END + //GENERATE_CREATE_INSTANCE_OPTIONS_START + //GENERATE_CREATE_INSTANCE_OPTIONS_END } ) - this.emit(Event.INSTANCE_CREATED, this); - //CREATE_INSTANCE_AFTER_END + //GENERATE_CREATE_INSTANCE_AFTER_END } - //CREATE_INSTANCE_TEMPLATE_END + //GENERATE_CREATE_INSTANCE_END - //UPDATE_INSTANCE_TEMPLATE_START + //GENERATE_UPDATE_INSTANCE_START updateInstance(property) { - //UPDATE_INSTANCE_BEFORE_START + //GENERATE_UPDATE_INSTANCE_BEFORE_START this.emit(Event.UPDATE_INSTANCE_BEFORE, this); - //UPDATE_INSTANCE_BEFORE_END + //GENERATE_UPDATE_INSTANCE_BEFORE_END - //UPDATE_INSTANCE_OPTIONS_START - //UPDATE_INSTANCE_OPTIONS_END + //GENERATE_UPDATE_INSTANCE_OPTIONS_START + //GENERATE_UPDATE_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_INSTANCE_START //CUSTOM_UPDATE_INSTANCE_END - //UPDATE_INSTANCE_AFTER_START + //GENERATE_UPDATE_INSTANCE_AFTER_START this.emit(Event.UPDATE_INSTANCE_AFTER, this); - //UPDATE_INSTANCE_AFTER_END + //GENERATE_UPDATE_INSTANCE_AFTER_END } - //UPDATE_INSTANCE_TEMPLATE_END + //GENERATE_UPDATE_INSTANCE_END - //UPDATE_FROM_INSTANCE_TEMPLATE_START + //GENERATE_UPDATE_FROM_INSTANCE_START updateFromInstance(property) { - //UPDATE_FROM_INSTANCE_BEFORE_START + //GENERATE_UPDATE_FROM_INSTANCE_BEFORE_START this.emit(Event.UPDATE_FROM_INSTANCE_BEFORE, this); - //UPDATE_FROM_INSTANCE_BEFORE_END + //GENERATE_UPDATE_FROM_INSTANCE_BEFORE_END - //UPDATE_FROM_INSTANCE_OPTIONS_START - //UPDATE_FROM_INSTANCE_OPTIONS_END + //GENERATE_UPDATE_FROM_INSTANCE_OPTIONS_START + //GENERATE_UPDATE_FROM_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_FROM_INSTANCE_START //CUSTOM_UPDATE_FROM_INSTANCE_END - //UPDATE_FROM_INSTANCE_AFTER_START + //GENERATE_UPDATE_FROM_INSTANCE_AFTER_START this.emit(Event.UPDATE_FROM_INSTANCE_AFTER, this); - //UPDATE_FROM_INSTANCE_AFTER_END + //GENERATE_UPDATE_FROM_INSTANCE_AFTER_END } - //UPDATE_FROM_INSTANCE_TEMPLATE_END + //GENERATE_UPDATE_FROM_INSTANCE_END - //DISPOSE_TEMPLATE_START + //GENERATE_DISPOSE_START dispose() { - //DISPOSE_BEFORE_START + //GENERATE_DISPOSE_BEFORE_START this.subscribe( Event.INSTANCE_DISPOSED, function(object) { @@ -132,38 +137,43 @@ class Component extends R3Object { } } ); - //DISPOSE_BEFORE_END + //GENERATE_DISPOSE_BEFORE_END //CUSTOM_DISPOSE_START //CUSTOM_DISPOSE_END - //DISPOSE_AFTER_START + //GENERATE_DISPOSE_AFTER_START this.disposeInstance(); - //DISPOSE_AFTER_END + //GENERATE_DISPOSE_AFTER_END } - //DISPOSE_TEMPLATE_END + //GENERATE_DISPOSE_END - //DISPOSE_INSTANCE_TEMPLATE_START + //GENERATE_DISPOSE_INSTANCE_START disposeInstance() { - //DISPOSE_INSTANCE_BEFORE_START + //GENERATE_DISPOSE_INSTANCE_BEFORE_START console.log('Disposing instance of ' + this.name); - //DISPOSE_INSTANCE_BEFORE_END + //GENERATE_DISPOSE_INSTANCE_BEFORE_END //CUSTOM_DISPOSE_INSTANCE_START //CUSTOM_DISPOSE_INSTANCE_END - //DISPOSE_INSTANCE_AFTER_START + //GENERATE_DISPOSE_INSTANCE_AFTER_START this.emit(Event.DISPOSE_INSTANCE, this); - //DISPOSE_INSTANCE_AFTER_END + //GENERATE_DISPOSE_INSTANCE_AFTER_END } - //DISPOSE_INSTANCE_TEMPLATE_END + //GENERATE_DISPOSE_INSTANCE_END + + //GENERATE_METHODS_START + //GENERATE_METHODS_END + + //GENERATE_STATIC_METHODS_START + //GENERATE_STATIC_METHODS_END //CUSTOM_IMPLEMENTATION_START //CUSTOM_IMPLEMENTATION_END - } //CUSTOM_OUT_OF_CLASS_IMPLEMENTATION_START diff --git a/src/r3/r3-event.js b/src/r3/r3-event.js index de8d73d..9e20221 100644 --- a/src/r3/r3-event.js +++ b/src/r3/r3-event.js @@ -1,24 +1,27 @@ -const Utils = require('r3-utils'); +const Utils = require('./r3-utils'); /** - OPTIONS_START - OPTIONS_END + CUSTOM_OPTIONS_START + CUSTOM_OPTIONS_END + + CUSTOM_METHODS_START + CUSTOM_METHODS_END + + CUSTOM_STATIC_METHODS_START + CUSTOM_STATIC_METHODS_END **/ class Event { - //CONSTRUCTOR_TEMPLATE_START + //GENERATE_CONSTRUCTOR_START constructor(options) { Event.Emit(Event.OBJECT_CREATED, this); - //OPTIONS_INIT_START - if (typeof options === 'undefined') { - options = {}; - } - //OPTIONS_INIT_END + //GENERATE_OPTIONS_INIT_START + //GENERATE_OPTIONS_INIT_END //CUSTOM_OPTIONS_INIT_START //CUSTOM_OPTIONS_INIT_END @@ -29,8 +32,17 @@ class Event { //CUSTOM_BEFORE_INIT_END Event.Emit(Event.OBJECT_INITIALIZED, this); + + //CUSTOM_AFTER_INIT_START + //CUSTOM_AFTER_INIT_END } - //CONSTRUCTOR_TEMPLATE_END + //GENERATE_CONSTRUCTOR_END + + //GENERATE_METHODS_START + //GENERATE_METHODS_END + + //GENERATE_STATIC_METHODS_START + //GENERATE_STATIC_METHODS_END //CUSTOM_IMPLEMENTATION_START @@ -245,6 +257,7 @@ Event.GetEventName = function(eventId) { }; //EVENT_GENERATED_END + //CUSTOM_OUT_OF_CLASS_IMPLEMENTATION_END module.exports = Event; \ No newline at end of file diff --git a/src/r3/r3-project.js b/src/r3/r3-project.js index 87ff87f..5e662d6 100644 --- a/src/r3/r3-project.js +++ b/src/r3/r3-project.js @@ -1,32 +1,37 @@ -const Event = require('r3-event'); -const Utils = require('r3-utils'); +const Event = require('./r3-event'); +const Utils = require('./r3-utils'); const R3Object = require('r3-r3-object.js'); /** - OPTIONS_START - isPublic=true - applicationMode=Project.APPLICATION_MODE_EDIT - OPTIONS_END + GENERATE_INHERITED_START + GENERATE_INHERITED_END - INSTANCE_OPTIONS_MAPPING_START - INSTANCE_OPTIONS_MAPPING_END + Of the form x= + CUSTOM_OPTIONS_START + CUSTOM_OPTIONS_END - LINKED_OBJECTS_START - entities=[Entity] - controls=[Control] - images=[Image] - code=[CustomCode] - LINKED_OBJECTS_END + Of the form x= + CUSTOM_INSTANCE_OPTIONS_MAPPING_START + CUSTOM_INSTANCE_OPTIONS_MAPPING_END - EXCLUDED_FROM_INSTANCE_OPTIONS_START - EXCLUDED_FROM_INSTANCE_OPTIONS_END + CUSTOM_LINKED_OBJECTS_START + CUSTOM_LINKED_OBJECTS_END + + CUSTOM_EXCLUDED_FROM_INSTANCE_OPTIONS_START + CUSTOM_EXCLUDED_FROM_INSTANCE_OPTIONS_END + + CUSTOM_METHODS_START + CUSTOM_METHODS_END + + CUSTOM_STATIC_METHODS_START + CUSTOM_STATIC_METHODS_END **/ class Project extends R3Object { - //CONSTRUCTOR_EXTENDS_TEMPLATE_START + //GENERATE_CONSTRUCTOR_EXTENDS_START constructor(options) { if (Utils.UndefinedOrNull(options)) { @@ -37,17 +42,8 @@ class Project extends R3Object { this.emit(Event.OBJECT_CREATED, this); - //OPTIONS_INIT_START - if (typeof options === 'undefined') { - options = {}; - } - if (Utils.UndefinedOrNull(options.isPublic)) { - options.isPublic = true; - } - if (Utils.UndefinedOrNull(options.applicationMode)) { - options.applicationMode = Project.APPLICATION_MODE_EDIT; - } - //OPTIONS_INIT_END + //GENERATE_OPTIONS_INIT_START + //GENERATE_OPTIONS_INIT_END //CUSTOM_OPTIONS_INIT_START //CUSTOM_OPTIONS_INIT_END @@ -58,100 +54,80 @@ class Project extends R3Object { //CUSTOM_BEFORE_INIT_END this.emit(Event.OBJECT_INITIALIZED, this); - } - //CONSTRUCTOR_EXTENDS_TEMPLATE_END - //CREATE_INSTANCE_TEMPLATE_START + //CUSTOM_AFTER_INIT_START + //CUSTOM_AFTER_INIT_END + } + //GENERATE_CONSTRUCTOR_EXTENDS_END + + //GENERATE_CREATE_INSTANCE_START createInstance() { - //CREATE_INSTANCE_BEFORE_START + //GENERATE_CREATE_INSTANCE_BEFORE_START this.emit(Event.CREATE_INSTANCE_BEFORE, this); - //CREATE_INSTANCE_BEFORE_END + //GENERATE_CREATE_INSTANCE_BEFORE_END //CUSTOM_CREATE_INSTANCE_START //CUSTOM_CREATE_INSTANCE_END - //CREATE_INSTANCE_AFTER_START + //GENERATE_CREATE_INSTANCE_AFTER_START this[this.runtime].createInstance( this, { - //CREATE_INSTANCE_OPTIONS_START - 'isPublic': this.isPublic, - 'applicationMode': this.applicationMode - //CREATE_INSTANCE_OPTIONS_END + //GENERATE_CREATE_INSTANCE_OPTIONS_START + //GENERATE_CREATE_INSTANCE_OPTIONS_END } ) - this.emit(Event.INSTANCE_CREATED, this); - //CREATE_INSTANCE_AFTER_END + //GENERATE_CREATE_INSTANCE_AFTER_END } - //CREATE_INSTANCE_TEMPLATE_END + //GENERATE_CREATE_INSTANCE_END - //UPDATE_INSTANCE_TEMPLATE_START + //GENERATE_UPDATE_INSTANCE_START updateInstance(property) { - //UPDATE_INSTANCE_BEFORE_START + //GENERATE_UPDATE_INSTANCE_BEFORE_START this.emit(Event.UPDATE_INSTANCE_BEFORE, this); - //UPDATE_INSTANCE_BEFORE_END + //GENERATE_UPDATE_INSTANCE_BEFORE_END - //UPDATE_INSTANCE_OPTIONS_START - if (property === 'isPublic') { - this.instance.isPublic = this.isPublic; - return; - } - if (property === 'applicationMode') { - this.instance.applicationMode = this.applicationMode; - return; - } - //UPDATE_INSTANCE_OPTIONS_END + //GENERATE_UPDATE_INSTANCE_OPTIONS_START + //GENERATE_UPDATE_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_INSTANCE_START //CUSTOM_UPDATE_INSTANCE_END - //UPDATE_INSTANCE_AFTER_START + //GENERATE_UPDATE_INSTANCE_AFTER_START this.emit(Event.UPDATE_INSTANCE_AFTER, this); - //UPDATE_INSTANCE_AFTER_END + //GENERATE_UPDATE_INSTANCE_AFTER_END } - //UPDATE_INSTANCE_TEMPLATE_END + //GENERATE_UPDATE_INSTANCE_END - //UPDATE_FROM_INSTANCE_TEMPLATE_START + //GENERATE_UPDATE_FROM_INSTANCE_START updateFromInstance(property) { - //UPDATE_FROM_INSTANCE_BEFORE_START + //GENERATE_UPDATE_FROM_INSTANCE_BEFORE_START this.emit(Event.UPDATE_FROM_INSTANCE_BEFORE, this); - //UPDATE_FROM_INSTANCE_BEFORE_END + //GENERATE_UPDATE_FROM_INSTANCE_BEFORE_END - //UPDATE_FROM_INSTANCE_OPTIONS_START - if (property === 'isPublic' || property === 'all') { - this.isPublic = this.instance.isPublic; - if (property !== 'all') { - return; - } - } - if (property === 'applicationMode' || property === 'all') { - this.applicationMode = this.instance.applicationMode; - if (property !== 'all') { - return; - } - } - //UPDATE_FROM_INSTANCE_OPTIONS_END + //GENERATE_UPDATE_FROM_INSTANCE_OPTIONS_START + //GENERATE_UPDATE_FROM_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_FROM_INSTANCE_START //CUSTOM_UPDATE_FROM_INSTANCE_END - //UPDATE_FROM_INSTANCE_AFTER_START + //GENERATE_UPDATE_FROM_INSTANCE_AFTER_START this.emit(Event.UPDATE_FROM_INSTANCE_AFTER, this); - //UPDATE_FROM_INSTANCE_AFTER_END + //GENERATE_UPDATE_FROM_INSTANCE_AFTER_END } - //UPDATE_FROM_INSTANCE_TEMPLATE_END + //GENERATE_UPDATE_FROM_INSTANCE_END - //DISPOSE_TEMPLATE_START + //GENERATE_DISPOSE_START dispose() { - //DISPOSE_BEFORE_START + //GENERATE_DISPOSE_BEFORE_START this.subscribe( Event.INSTANCE_DISPOSED, function(object) { @@ -160,38 +136,43 @@ class Project extends R3Object { } } ); - //DISPOSE_BEFORE_END + //GENERATE_DISPOSE_BEFORE_END //CUSTOM_DISPOSE_START //CUSTOM_DISPOSE_END - //DISPOSE_AFTER_START + //GENERATE_DISPOSE_AFTER_START this.disposeInstance(); - //DISPOSE_AFTER_END + //GENERATE_DISPOSE_AFTER_END } - //DISPOSE_TEMPLATE_END + //GENERATE_DISPOSE_END - //DISPOSE_INSTANCE_TEMPLATE_START + //GENERATE_DISPOSE_INSTANCE_START disposeInstance() { - //DISPOSE_INSTANCE_BEFORE_START + //GENERATE_DISPOSE_INSTANCE_BEFORE_START console.log('Disposing instance of ' + this.name); - //DISPOSE_INSTANCE_BEFORE_END + //GENERATE_DISPOSE_INSTANCE_BEFORE_END //CUSTOM_DISPOSE_INSTANCE_START //CUSTOM_DISPOSE_INSTANCE_END - //DISPOSE_INSTANCE_AFTER_START + //GENERATE_DISPOSE_INSTANCE_AFTER_START this.emit(Event.DISPOSE_INSTANCE, this); - //DISPOSE_INSTANCE_AFTER_END + //GENERATE_DISPOSE_INSTANCE_AFTER_END } - //DISPOSE_INSTANCE_TEMPLATE_END + //GENERATE_DISPOSE_INSTANCE_END + + //GENERATE_METHODS_START + //GENERATE_METHODS_END + + //GENERATE_STATIC_METHODS_START + //GENERATE_STATIC_METHODS_END //CUSTOM_IMPLEMENTATION_START //CUSTOM_IMPLEMENTATION_END - } //CUSTOM_OUT_OF_CLASS_IMPLEMENTATION_START diff --git a/src/r3/r3-r3-object.js b/src/r3/r3-r3-object.js index 9dc48aa..842e4ef 100644 --- a/src/r3/r3-r3-object.js +++ b/src/r3/r3-r3-object.js @@ -1,31 +1,36 @@ -const Utils = require('r3-utils'); +const Utils = require('./r3-utils'); const Event = require('r3-event.js'); /** - OPTIONS_START - id=Utils.RandomId(10) - name=this.constructor.name + '(' + options.id + ')' - register=true - OPTIONS_END + GENERATE_INHERITED_START + GENERATE_INHERITED_END - INSTANCE_OPTIONS_MAPPING_START - INSTANCE_OPTIONS_MAPPING_END + Of the form x= + CUSTOM_OPTIONS_START + CUSTOM_OPTIONS_END - LINKED_OBJECTS_START - LINKED_OBJECTS_END + Of the form x= + CUSTOM_INSTANCE_OPTIONS_MAPPING_START + CUSTOM_INSTANCE_OPTIONS_MAPPING_END - EXCLUDED_FROM_INSTANCE_OPTIONS_START - id - name - register - EXCLUDED_FROM_INSTANCE_OPTIONS_END + CUSTOM_LINKED_OBJECTS_START + CUSTOM_LINKED_OBJECTS_END + + CUSTOM_EXCLUDED_FROM_INSTANCE_OPTIONS_START + CUSTOM_EXCLUDED_FROM_INSTANCE_OPTIONS_END + + CUSTOM_METHODS_START + CUSTOM_METHODS_END + + CUSTOM_STATIC_METHODS_START + CUSTOM_STATIC_METHODS_END **/ class R3Object extends Event { - //CONSTRUCTOR_EXTENDS_TEMPLATE_START + //GENERATE_CONSTRUCTOR_EXTENDS_START constructor(options) { if (Utils.UndefinedOrNull(options)) { @@ -36,20 +41,8 @@ class R3Object extends Event { this.emit(Event.OBJECT_CREATED, this); - //OPTIONS_INIT_START - if (typeof options === 'undefined') { - options = {}; - } - if (Utils.UndefinedOrNull(options.id)) { - options.id = Utils.RandomId(10); - } - if (Utils.UndefinedOrNull(options.name)) { - options.name = this.constructor.name + '(' + options.id + ')'; - } - if (Utils.UndefinedOrNull(options.register)) { - options.register = true; - } - //OPTIONS_INIT_END + //GENERATE_OPTIONS_INIT_START + //GENERATE_OPTIONS_INIT_END //CUSTOM_OPTIONS_INIT_START //CUSTOM_OPTIONS_INIT_END @@ -60,78 +53,80 @@ class R3Object extends Event { //CUSTOM_BEFORE_INIT_END this.emit(Event.OBJECT_INITIALIZED, this); - } - //CONSTRUCTOR_EXTENDS_TEMPLATE_END - //CREATE_INSTANCE_TEMPLATE_START + //CUSTOM_AFTER_INIT_START + //CUSTOM_AFTER_INIT_END + } + //GENERATE_CONSTRUCTOR_EXTENDS_END + + //GENERATE_CREATE_INSTANCE_START createInstance() { - //CREATE_INSTANCE_BEFORE_START + //GENERATE_CREATE_INSTANCE_BEFORE_START this.emit(Event.CREATE_INSTANCE_BEFORE, this); - //CREATE_INSTANCE_BEFORE_END + //GENERATE_CREATE_INSTANCE_BEFORE_END //CUSTOM_CREATE_INSTANCE_START //CUSTOM_CREATE_INSTANCE_END - //CREATE_INSTANCE_AFTER_START + //GENERATE_CREATE_INSTANCE_AFTER_START this[this.runtime].createInstance( this, { - //CREATE_INSTANCE_OPTIONS_START - //CREATE_INSTANCE_OPTIONS_END + //GENERATE_CREATE_INSTANCE_OPTIONS_START + //GENERATE_CREATE_INSTANCE_OPTIONS_END } ) - this.emit(Event.INSTANCE_CREATED, this); - //CREATE_INSTANCE_AFTER_END + //GENERATE_CREATE_INSTANCE_AFTER_END } - //CREATE_INSTANCE_TEMPLATE_END + //GENERATE_CREATE_INSTANCE_END - //UPDATE_INSTANCE_TEMPLATE_START + //GENERATE_UPDATE_INSTANCE_START updateInstance(property) { - //UPDATE_INSTANCE_BEFORE_START + //GENERATE_UPDATE_INSTANCE_BEFORE_START this.emit(Event.UPDATE_INSTANCE_BEFORE, this); - //UPDATE_INSTANCE_BEFORE_END + //GENERATE_UPDATE_INSTANCE_BEFORE_END - //UPDATE_INSTANCE_OPTIONS_START - //UPDATE_INSTANCE_OPTIONS_END + //GENERATE_UPDATE_INSTANCE_OPTIONS_START + //GENERATE_UPDATE_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_INSTANCE_START //CUSTOM_UPDATE_INSTANCE_END - //UPDATE_INSTANCE_AFTER_START + //GENERATE_UPDATE_INSTANCE_AFTER_START this.emit(Event.UPDATE_INSTANCE_AFTER, this); - //UPDATE_INSTANCE_AFTER_END + //GENERATE_UPDATE_INSTANCE_AFTER_END } - //UPDATE_INSTANCE_TEMPLATE_END + //GENERATE_UPDATE_INSTANCE_END - //UPDATE_FROM_INSTANCE_TEMPLATE_START + //GENERATE_UPDATE_FROM_INSTANCE_START updateFromInstance(property) { - //UPDATE_FROM_INSTANCE_BEFORE_START + //GENERATE_UPDATE_FROM_INSTANCE_BEFORE_START this.emit(Event.UPDATE_FROM_INSTANCE_BEFORE, this); - //UPDATE_FROM_INSTANCE_BEFORE_END + //GENERATE_UPDATE_FROM_INSTANCE_BEFORE_END - //UPDATE_FROM_INSTANCE_OPTIONS_START - //UPDATE_FROM_INSTANCE_OPTIONS_END + //GENERATE_UPDATE_FROM_INSTANCE_OPTIONS_START + //GENERATE_UPDATE_FROM_INSTANCE_OPTIONS_END //CUSTOM_UPDATE_FROM_INSTANCE_START //CUSTOM_UPDATE_FROM_INSTANCE_END - //UPDATE_FROM_INSTANCE_AFTER_START + //GENERATE_UPDATE_FROM_INSTANCE_AFTER_START this.emit(Event.UPDATE_FROM_INSTANCE_AFTER, this); - //UPDATE_FROM_INSTANCE_AFTER_END + //GENERATE_UPDATE_FROM_INSTANCE_AFTER_END } - //UPDATE_FROM_INSTANCE_TEMPLATE_END + //GENERATE_UPDATE_FROM_INSTANCE_END - //DISPOSE_TEMPLATE_START + //GENERATE_DISPOSE_START dispose() { - //DISPOSE_BEFORE_START + //GENERATE_DISPOSE_BEFORE_START this.subscribe( Event.INSTANCE_DISPOSED, function(object) { @@ -140,38 +135,43 @@ class R3Object extends Event { } } ); - //DISPOSE_BEFORE_END + //GENERATE_DISPOSE_BEFORE_END //CUSTOM_DISPOSE_START //CUSTOM_DISPOSE_END - //DISPOSE_AFTER_START + //GENERATE_DISPOSE_AFTER_START this.disposeInstance(); - //DISPOSE_AFTER_END + //GENERATE_DISPOSE_AFTER_END } - //DISPOSE_TEMPLATE_END + //GENERATE_DISPOSE_END - //DISPOSE_INSTANCE_TEMPLATE_START + //GENERATE_DISPOSE_INSTANCE_START disposeInstance() { - //DISPOSE_INSTANCE_BEFORE_START + //GENERATE_DISPOSE_INSTANCE_BEFORE_START console.log('Disposing instance of ' + this.name); - //DISPOSE_INSTANCE_BEFORE_END + //GENERATE_DISPOSE_INSTANCE_BEFORE_END //CUSTOM_DISPOSE_INSTANCE_START //CUSTOM_DISPOSE_INSTANCE_END - //DISPOSE_INSTANCE_AFTER_START + //GENERATE_DISPOSE_INSTANCE_AFTER_START this.emit(Event.DISPOSE_INSTANCE, this); - //DISPOSE_INSTANCE_AFTER_END + //GENERATE_DISPOSE_INSTANCE_AFTER_END } - //DISPOSE_INSTANCE_TEMPLATE_END + //GENERATE_DISPOSE_INSTANCE_END + + //GENERATE_METHODS_START + //GENERATE_METHODS_END + + //GENERATE_STATIC_METHODS_START + //GENERATE_STATIC_METHODS_END //CUSTOM_IMPLEMENTATION_START //CUSTOM_IMPLEMENTATION_END - } //CUSTOM_OUT_OF_CLASS_IMPLEMENTATION_START diff --git a/src/r3/r3-system/r3-system.js b/src/r3/r3-system/r3-system.js index 1edacc9..eb5779d 100644 --- a/src/r3/r3-system/r3-system.js +++ b/src/r3/r3-system/r3-system.js @@ -8,7 +8,7 @@ const Utils = require('.././r3-utils'); CUSTOM_OPTIONS_END CUSTOM_METHODS_START - start(options, anotherOption) + start(options) stop(options) CUSTOM_METHODS_END diff --git a/src/r3/r3-utils.js b/src/r3/r3-utils.js index b452033..5032dac 100644 --- a/src/r3/r3-utils.js +++ b/src/r3/r3-utils.js @@ -2,23 +2,26 @@ const Event = require('./r3-event'); /** - OPTIONS_START - OPTIONS_END + CUSTOM_OPTIONS_START + CUSTOM_OPTIONS_END + + CUSTOM_METHODS_START + CUSTOM_METHODS_END + + CUSTOM_STATIC_METHODS_START + CUSTOM_STATIC_METHODS_END **/ class Utils { - //CONSTRUCTOR_TEMPLATE_START + //GENERATE_CONSTRUCTOR_START constructor(options) { Event.Emit(Event.OBJECT_CREATED, this); - //OPTIONS_INIT_START - if (typeof options === 'undefined') { - options = {}; - } - //OPTIONS_INIT_END + //GENERATE_OPTIONS_INIT_START + //GENERATE_OPTIONS_INIT_END //CUSTOM_OPTIONS_INIT_START //CUSTOM_OPTIONS_INIT_END @@ -29,8 +32,17 @@ class Utils { //CUSTOM_BEFORE_INIT_END Event.Emit(Event.OBJECT_INITIALIZED, this); + + //CUSTOM_AFTER_INIT_START + //CUSTOM_AFTER_INIT_END } - //CONSTRUCTOR_TEMPLATE_END + //GENERATE_CONSTRUCTOR_END + + //GENERATE_METHODS_START + //GENERATE_METHODS_END + + //GENERATE_STATIC_METHODS_START + //GENERATE_STATIC_METHODS_END //CUSTOM_IMPLEMENTATION_START static GetFirstParent(object, constructor) { @@ -56,7 +68,7 @@ class Utils { json = JSON.stringify(json, undefined, 2); } json = json.replace(/&/g, '&').replace(//g, '>'); - return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) { + return json.replace(/("(\u[a-zA-Z0-9]{4}|\[^u]|[^\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) { let cls = 'number'; if (/^"/.test(match)) { if (/:$/.test(match)) { @@ -591,8 +603,8 @@ class Utils { let FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m; let FN_ARG_SPLIT = /,/; - let FN_ARG = /^\s*(_?)(.+?)\1\s*$/; - let STRIP_COMMENTS = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,\)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,\)]*))/mg; + let FN_ARG = /^\s*(_?)(.+?)\s*$/; + let STRIP_COMMENTS = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,\)]*(('(?:\'|[^'\r\n])*')|("(?:\"|[^"\r\n])*"))|(\s*=[^,\)]*))/mg; let parameters, fnText, diff --git a/src/templates/token.db b/src/templates/token.db index 3068cd2..84dd333 100644 --- a/src/templates/token.db +++ b/src/templates/token.db @@ -43,7 +43,7 @@ CUSTOM_STATIC_METHOD_NAME_UPPERCASE_METHOD CUSTOM_STATIC_METHODS CUSTOM_STATIC_START_METHOD CUSTOM_STATIC_STOP_METHOD -CUSTOM_STATIC_TEST_METHOD +CUSTOM_STATIC_TEST_RENAMED_METHOD CUSTOM_STOP_METHOD CUSTOM_TEST_RENAMED_METHOD CUSTOM_UPDATE_FROM_INSTANCE diff --git a/update_templates.php b/update_templates.php index 688523d..655cd88 100755 --- a/update_templates.php +++ b/update_templates.php @@ -12,181 +12,6 @@ function from_camel_case($input) { return implode('_', $ret); } -function getIndex($needle, $haystack) { - - $index = 0; - - foreach ($haystack as $value) { - if (preg_match('/\b' . $needle . '\b/', $value)) { - return $index; - } - $index++; - } - - return false; -} - -function loadSavedData($file) { - - $saveFile = $file . '.saved'; - - echo "restoring file " . $saveFile . "\n"; - - $sh = fopen($saveFile, "r"); - - $saved = []; - - while (!feof($sh)) { - - $line = fgets($sh); - - array_push($saved, $line); - - } - - while ($saved[sizeof($saved) - 1] === false && sizeof($saved) > 0) { - array_pop($saved); - } - - fclose($sh); - - return $saved; -} - -function restore($file, $tokens, $saved) { - - $fh = fopen($file, "r"); - - $data = []; - - $restoreTokenPair = []; - - $restoreDepth = 0; - - while (!feof($fh)) { - - $line = fgets($fh); - - foreach ($tokens as $startToken => $endToken) { - - if (preg_match('/\b' . $startToken . '\b/', $line)) { - $restoreDepth++; - - if ($restoreDepth === 1) { - $restoreTokenPair[0] = $startToken; - $restoreTokenPair[1] = $endToken; - } - - break; - } - - if (preg_match('/\b' . $endToken . '\b/', $line)) { - $restoreDepth--; - break; - } - - } - - if ($restoreDepth === 1) { - - $startIndex = getIndex($restoreTokenPair[0], $saved); - $endIndex = getIndex($restoreTokenPair[1], $saved); - - for ($i = $startIndex; $i <= $endIndex; $i++) { - array_push($data, $saved[$i]); - } - - /** - * Seek to the end token in the file - */ - while (!feof($fh) && !(preg_match('/\b' . $restoreTokenPair[1] . '\b/', $line))){ - $line = fgets($fh); - } - - $restoreDepth--; - - } else { - array_push($data, $line); - } - } - - fclose($fh); - - file_put_contents($file, $data); -} - -//function install_method_templates($file) -//{ -// $fn = fopen($file, "r"); -// -// $saveLine = true; -// -// $methods = []; -// -// $saveMethod = false; -// -// $lines = []; -// -//// $discoveredMethodTokens = []; -// -// while (!feof($fn)) { -// -// $line = fgets($fn); -// -// /** -// * if exiting an options definition block - stop saving that definition -// */ -// if (preg_match('/\bSTATIC_METHODS_END\b/', $line)) { -// $saveMethod = false; -// } -//// -//// $matches = []; -//// if (preg_match('/\bCUSTOM_.*?_METHOD_START\b/', $line, $matches)) { -//// $discoveredMethodTokens[$matches[0]] = preg_replace('/_START$/','_END',$matches[0]); -//// } -// -// /** -// * if exiting an method implementation block - save the line for later -// */ -// if (preg_match('/\bSTATIC_METHODS_DEFINITION_END\b/', $line)) { -// $saveLine = true; -// } -// -// /** -// * Now save the line -// */ -// if ($saveLine) { -// array_push($lines, $line); -// } -// -// /** -// * if entering an options implementation block - do not save the line for later -// */ -// if (preg_match('/\bSTATIC_METHODS_DEFINITION_START\b/', $line)) { -// $saveLine = false; -// } -// -// if ($saveMethod) { -// -// $line = trim($line); -// -// array_push($methods, $line); -// } -// -// /** -// * If entering an options definition block - start saving that definition -// */ -// if (preg_match('/\bSTATIC_METHODS_START\b/', $line)) { -// $saveMethod = true; -// } -// -// } -// -// fclose($fn); -// -// file_put_contents($file, $lines); -// - function getTokens($type) { $fn = fopen('src/templates/token.db', "r"); @@ -209,29 +34,6 @@ function getTokens($type) return $tokens; } -//function get_method_tokens($file) -//{ -// $fn = fopen($file, "r"); -// -// $discoveredMethodTokens = []; -// -// while (!feof($fn)) { -// -// $line = fgets($fn); -// -// $matches = []; -// if (preg_match('/\bCUSTOM_.*?_METHOD_START\b/', $line, $matches)) { -// $discoveredMethodTokens[$matches[0]] = preg_replace('/_START$/','_END',$matches[0]); -// } -// -// } -// -// fclose($fn); -// -// return $discoveredMethodTokens; -// -//} - /** * @throws ErrorException */ @@ -410,14 +212,6 @@ function updateSection($file, $token, $updates, $separator = "") { $whiteSpace = $whiteSpaceObject['white-space']; - /** - * If we already have whitespace in our updates at the start - we took care of - * formatting from a template, otherwise - apply some whitespace to it - */ -// if (!preg_match('/^(\s)+/', $updates)) { -// $updates = $whiteSpace . $updates; -// } - $contents = preg_replace( '/\b' . $token . '_START\b.*?\b' . $token . '_END\b/s', $token . "_START\n" . $updates . $whiteSpace . $endToken, @@ -768,60 +562,7 @@ foreach ($files as $file) { deleteSavedFile($saveFile); exit(0); } - - } else if ($argv[2] == 'update-methods') { - - $restoreTokens = getTokens('CUSTOM'); - - $restoreTokenKeys = array_keys($restoreTokens); - - $tokens = loadSaved($file, $restoreTokens); - - foreach ($tokens as $token => $store) { - if (in_array($token, $restoreTokenKeys)) { - updateSection($file, $token, $store, "\n "); - } - } - - generateMethods($file, $tokens); - - generateStaticMethods($file, $tokens); - - echo `r3 update-token-db`; - - } else if ($argv[2] == 'update-options') { - - $tokens = getTokens('CUSTOM'); - - $result = save($file, $tokens); - - $saveFile = $result[0]; - $tokens = $result[1]; - - try { - generateInitOptions($file, $tokens); - - generateCreateInstanceOptions($file, $tokens); - - generateUpdateInstanceOptions($file, $tokens); - - generateUpdateFromInstanceOptions($file, $tokens); - - generateMethods($file, $tokens); - - generateStaticMethods($file, $tokens); - - echo `r3 update-token-db`; - -// unlink($saveFile); - } catch (Exception $e) { - print_r($e); - echo "An error occurred and the custom data is saved at $saveFile\n"; - echo "Please restore it manually...\n"; - } - } - } exit(0);