Die Website soll als Portfolio für meine privaten Projekte dienen.
Ich selbst bin kein großer Schreiber, deshalb wird sie automatisch aus meinem Gitlab aufgebaut.
Sie selbst dient auch gleich als Projekt, um meine Kenntnis in Symfony zu erweitern
und mehr Erfahrung mit c# zu bekommen.
Warum C# 😀 siehe.
Alexander Malk E-Mail: alex@guerilla-coding.com
Es gibt derzeit 11 Projekte in 3 Kategorien. Das zuletzt Aktualisierte Project ist TD Service Sitespeed in der Kategorie NPM und es wurde am 19.01.2024 aktualisiert.Es warten z.Zt. noch ca. 2 Projekte eingefügt zu werden.
Simple Annotation ist ein Modul für NodeJS. Mit diesem Modul können Sie einfach Annotationen zu NodeJS hinzufügen. Das Modul sucht nach Kommentaren mit Annotationen unter definierten Pfaden. Danach gibt das Plugin den Pfad zur Datei den ValueType und das Object (ReturnType) was sich unter der Annotationen befindet zurück.
npm i simple-annotation
Beispiel Annotation
/**
* @AnnotationClassString AnnotationClassString
* @AnnotationClassObject {"hello": 123}
* @AnnotationClassArray [1234]
* @AnnotationClassInt 12345
*/
class test{
/**
* @AnnotationES6Function AnnotationES6Function
*/
myTestFunction1(str){
return str;
}
}
module.exports = test;
In dem Beispiel versuchen wir die Annotation "AnnotationES6Function" zu finden.
var Annotation = require('simple-annotation');
Annotation.registerAnnotation(
'AnnotationES6Function', // Annotation Name
'string', // Annotation Value Type {string, int, array, object, empty}
'ES6function' // Annotation Return Type {ES6class, ES6function, var, function}
);
var obj = new Annotation();
// Important !! Add only absolute paths, relative paths will be ignored.
obj.setPaths([
__dirname+'/*/es6TestClass.js',
__dirname+'/*/test.js',
__dirname+'/*/function*.js',
__dirname+'/*/var.js'
]);
var all = obj.findAll();
var one = obj.find('AnnotationES6Function');
for(var i in all){
console.log(all[i]);
}
Annotation.registerAnnotation(
'AnnotationES6Function', // Annotation Name
'string', // Annotation Value Type {string, int, array, object, empty}
'ES6function' // Annotation Return Type {ES6class, ES6function, var, function}
);
Was sind Value/Return Types? Ein "Valuetype" ist die rechte Seite der Annotation. Er wird bei der Abfrage der Annotation mit zurück gegeben. Der "ReturnType" muss dem Object entsprechen über dem die Annotation sich befindet.
/**
* @AnnotationName ValueType
*/
module.exports = function ReturnType(str){
return str;
};
Alle vorkonfigurierten Typen sind überschreibbar.
Name | Typ |
---|---|
ES6class | ECMA Script 6 Class |
ES6function | ECMA Script 6 Function |
function | <= ES5 Functions |
var | <= ES5 Functions Variable |
Name | Typ |
---|---|
string | string |
array | array |
object | object |
int | integer |
empty | empty string |
//Function 1
module.exports = function myTestFunction1(str){
return str;
};
//Function 2
var myTestFunction2 = (str) => {
return str;
};
exports.myTestFunction2 = myTestFunction2;
//Function 3
const myTestFunction3 = (str) => {
return str;
};
exports.myTestFunction3 = myTestFunction3;
//Function 4
let myTestFunction5 = (str) => {
return str;
};
exports.myTestFunction5 = myTestFunction5;
//Function 5
exports.myTestFunction7 = (str) => {
return str;
};
var testVar = "test123Variable";
exports.testVar = testVar;
var Annotation = require('simple-annotation');
Annotation.registerAnnotationValueType(
'array',
function(attr){
return JSON.parse(attr);
}
);
var Annotation = require('simple-annotation');
Annotation.registerAnnotationReturnType(
'ES6class',
function(attr){
const regex = /^.*class (.*?)$/;
let a = attr.str.match(regex);
if(a !== null){
var s = require(attr.file);
return new s();
}
return null;
}
);