UNPKG

leafdoc

Version:

A lightweight NaturalDocs-like LeafletJS-style documentation generator

31 lines (17 loc) 883 B
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") );