diff --git a/doc/README.md b/doc/README.md index 3a3fd1b56..97ce6e7b7 100644 --- a/doc/README.md +++ b/doc/README.md @@ -141,14 +141,6 @@ - - -## `` -* [``](#) - - - - @@ -2966,25 +2958,6 @@ _([1, 2, 3]).value(); - - -## `` - - - -### `` -# [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L223 "View in source") [Ⓣ][1] - -(Unknown): Detect if sourceURL syntax is usable without erroring: The JS engine in Adobe products, like InDesign, will throw a syntax error when it encounters a single line comment beginning with the `@` symbol. The JS engine in Narwhal will generate the function `function anonymous(){//}` and throw a syntax error. Avoid comments beginning `@` symbols in IE because they are part of its non-standard conditional compilation support. http://msdn.microsoft.com/en-us/library/121hztk3(v=vs.94).aspx - -* * * - - - - - - - diff --git a/vendor/docdown/src/DocDown/Entry.php b/vendor/docdown/src/DocDown/Entry.php index 6cd78d713..9c3e0a029 100644 --- a/vendor/docdown/src/DocDown/Entry.php +++ b/vendor/docdown/src/DocDown/Entry.php @@ -77,7 +77,7 @@ class Entry { $this->isCtor() || count($this->getParams()) || count($this->getReturns()) || - preg_match('/\*\s*@function\b/', $this->entry) + preg_match('/\* *@function\b/', $this->entry) ); } return $this->_isFunction; @@ -94,7 +94,7 @@ class Entry { */ public function getAliases( $index = null ) { if (!isset($this->_aliases)) { - preg_match('#\*\s*@alias\s+([^\n]+)#', $this->entry, $result); + preg_match('#\* *@alias\s+([^\n]+)#', $this->entry, $result); if (count($result)) { $result = trim(preg_replace('/(?:^|\n)\s*\* ?/', ' ', $result[1])); @@ -128,7 +128,7 @@ class Entry { } // resolve name // avoid $this->getName() because it calls $this->getCall() - preg_match('#\*\s*@name\s+([^\n]+)#', $this->entry, $name); + preg_match('#\* *@name\s+([^\n]+)#', $this->entry, $name); if (count($name)) { $name = trim($name[1]); } else { @@ -183,7 +183,7 @@ class Entry { return $this->_example; } - preg_match('#\*\s*@example\s+([\s\S]*?)(?=\*\s\@[a-z]|\*/)#', $this->entry, $result); + preg_match('#\* *@example\s+([\s\S]*?)(?=\*\s\@[a-z]|\*/)#', $this->entry, $result); if (count($result)) { $result = trim(preg_replace('/(?:^|\n)\s*\* ?/', "\n", $result[1])); $result = '```' . $this->lang . "\n" . $result . "\n```"; @@ -215,7 +215,7 @@ class Entry { */ public function getMembers( $index = null ) { if (!isset($this->_members)) { - preg_match('#\*\s*@member(?:Of)?\s+([^\n]+)#', $this->entry, $result); + preg_match('#\* *@member(?:Of)?\s+([^\n]+)#', $this->entry, $result); if (count($result)) { $result = trim(preg_replace('/(?:^|\n)\s*\* ?/', ' ', $result[1])); $result = preg_split('/,\s*/', $result); @@ -238,7 +238,7 @@ class Entry { return $this->_name; } - preg_match('#\*\s*@name\s+([^\n]+)#', $this->entry, $result); + preg_match('#\* *@name\s+([^\n]+)#', $this->entry, $result); if (count($result)) { $result = trim(preg_replace('/(?:^|\n)\s*\* ?/', ' ', $result[1])); } else { @@ -257,7 +257,7 @@ class Entry { */ public function getParams( $index = null ) { if (!isset($this->_params)) { - preg_match_all('#\*\s*@param\s+\{([^}]+)\}\s+(\[.+\]|[$\w|]+(?:\[.+\])?)\s+([\s\S]*?)(?=\*\s\@[a-z]|\*/)#i', $this->entry, $result); + preg_match_all('#\* *@param\s+\{([^}]+)\}\s+(\[.+\]|[$\w|]+(?:\[.+\])?)\s+([\s\S]*?)(?=\*\s\@[a-z]|\*/)#i', $this->entry, $result); if (count($result = array_filter(array_slice($result, 1)))) { // repurpose array foreach ($result as $param) { @@ -288,7 +288,7 @@ class Entry { return $this->_returns; } - preg_match('#\*\s*@returns\s+\{([^}]+)\}\s+([\s\S]*?)(?=\*\s\@[a-z]|\*/)#', $this->entry, $result); + preg_match('#\* *@returns\s+\{([^}]+)\}\s+([\s\S]*?)(?=\*\s\@[a-z]|\*/)#', $this->entry, $result); if (count($result)) { $result = array_map('trim', array_slice($result, 1)); $result[0] = str_replace('|', ', ', $result[0]); @@ -309,7 +309,7 @@ class Entry { return $this->_type; } - preg_match('#\*\s*@type\s+([^\n]+)#', $this->entry, $result); + preg_match('#\* *@type\s+([^\n]+)#', $this->entry, $result); if (count($result)) { $result = trim(preg_replace('/(?:^|\n)\s*\* ?/', ' ', $result[1])); } else { @@ -337,7 +337,7 @@ class Entry { */ public function isCtor() { if (!isset($this->_isCtor)) { - $this->_isCtor = !!preg_match('/\*\s*@constructor\b/', $this->entry); + $this->_isCtor = !!preg_match('/\* *@constructor\b/', $this->entry); } return $this->_isCtor; } @@ -363,7 +363,7 @@ class Entry { */ public function isPrivate() { if (!isset($this->_isPrivate)) { - $this->_isPrivate = !!preg_match('/\*\s*@private\b/', $this->entry) || strrpos($this->entry, '@') === false; + $this->_isPrivate = !!preg_match('/\* *@private\b/', $this->entry) || !preg_match('/\* *@[a-z]+\b/', $this->entry); } return $this->_isPrivate; } @@ -380,7 +380,7 @@ class Entry { } $public = !$this->isPrivate(); - $result = $public && !!preg_match('/\*\s*@static\b/', $this->entry); + $result = $public && !!preg_match('/\* *@static\b/', $this->entry); // set in cases where it isn't explicitly stated if ($public && !$result) { diff --git a/vendor/docdown/src/DocDown/Generator.php b/vendor/docdown/src/DocDown/Generator.php index fd28478f8..6a27355ba 100644 --- a/vendor/docdown/src/DocDown/Generator.php +++ b/vendor/docdown/src/DocDown/Generator.php @@ -212,48 +212,50 @@ class Generator { // initialize $api array foreach ($this->entries as $entry) { + // skip invalid or private entries + $name = $entry->getName(); + if (!$name || $entry->isPrivate()) { + continue; + } - if (!$entry->isPrivate()) { - $name = $entry->getName(); - $members = $entry->getMembers(); - $members = count($members) ? $members : array(''); + $members = $entry->getMembers(); + $members = count($members) ? $members : array(''); - foreach ($members as $member) { - // create api category arrays - if (!isset($api[$member]) && $member) { - // create temporary entry to be replaced later - $api[$member] = new Entry('', '', $entry->lang); - $api[$member]->static = array(); - $api[$member]->plugin = array(); + foreach ($members as $member) { + // create api category arrays + if (!isset($api[$member]) && $member) { + // create temporary entry to be replaced later + $api[$member] = new Entry('', '', $entry->lang); + $api[$member]->static = array(); + $api[$member]->plugin = array(); + } + + // append entry to api category + if (!$member || $entry->isCtor() || ($entry->getType() == 'Object' && + !preg_match('/[=:]\s*null\s*[,;]?$/', $entry->entry))) { + + // assign the real entry, replacing the temporary entry if it exist + $member = ($member ? $member . ($entry->isPlugin() ? '#' : '.') : '') . $name; + $entry->static = @$api[$member] ? $api[$member]->static : array(); + $entry->plugin = @$api[$member] ? $api[$member]->plugin : array(); + + $api[$member] = $entry; + foreach ($entry->getAliases() as $alias) { + $api[$member] = $alias; + $alias->static = array(); + $alias->plugin = array(); } - - // append entry to api category - if (!$member || $entry->isCtor() || ($entry->getType() == 'Object' && - !preg_match('/[=:]\s*null\s*[,;]?$/', $entry->entry))) { - - // assign the real entry, replacing the temporary entry if it exist - $member = ($member ? $member . ($entry->isPlugin() ? '#' : '.') : '') . $name; - $entry->static = @$api[$member] ? $api[$member]->static : array(); - $entry->plugin = @$api[$member] ? $api[$member]->plugin : array(); - - $api[$member] = $entry; - foreach ($entry->getAliases() as $alias) { - $api[$member] = $alias; - $alias->static = array(); - $alias->plugin = array(); - } + } + else if ($entry->isStatic()) { + $api[$member]->static[] = $entry; + foreach ($entry->getAliases() as $alias) { + $api[$member]->static[] = $alias; } - else if ($entry->isStatic()) { - $api[$member]->static[] = $entry; - foreach ($entry->getAliases() as $alias) { - $api[$member]->static[] = $alias; - } - } - else if (!$entry->isCtor()) { - $api[$member]->plugin[] = $entry; - foreach ($entry->getAliases() as $alias) { - $api[$member]->plugin[] = $alias; - } + } + else if (!$entry->isCtor()) { + $api[$member]->plugin[] = $entry; + foreach ($entry->getAliases() as $alias) { + $api[$member]->plugin[] = $alias; } } }