leafdoc
Version:
A lightweight NaturalDocs-like LeafletJS-style documentation generator
31 lines (17 loc) • 883 B
JavaScript
const xRegExp =require('xregexp');
const relationshipDefinition = xRegExp(`^
(?<type> \\S+ ) \\s*
(?<namespace> [^,\\s]+ ) \\s*
(, \\s* (?<cardinalityFrom> [^,\\s]*) )? \\s*
(, \\s* (?<cardinalityTo> [^,\\s]*) )? \\s*
(, \\s* (?<label> .+ )? )?
\\s* $`, 'nx');
// var foo = relationshipDefinition.exec("a b f, t, label for foobar");
// var foo = relationshipDefinition.exec("a b");
// var foo = relationshipDefinition.exec("aaAaa bbBbb");
// console.log(foo);
// console.log( relationshipDefinition.exec("implements AbstractClass") );
// console.log( relationshipDefinition.exec("aggregationOf Student, 0..n, 1..n") );
console.log( relationshipDefinition.exec("aggregationOf Student, 0..n, 1..n, Studies at") );
// console.log( relationshipDefinition.exec("associated Callee ,, calls") );
console.log( relationshipDefinition.exec("aggregationOf Teacher, 1 , 0..n") );