mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-28 07:03:17 +08:00
Merge pull request #1392 from hikerpig/feature/remove-lodash
Replace lodash with specific implementations
This commit is contained in:
commit
a636aa592b
@ -54,7 +54,6 @@
|
||||
"dagre-d3": "^0.6.4",
|
||||
"graphlib": "^2.1.7",
|
||||
"he": "^1.2.0",
|
||||
"lodash": "^4.17.11",
|
||||
"minify": "^4.1.1",
|
||||
"moment-mini": "^2.22.1",
|
||||
"scope-css": "^1.2.1"
|
||||
|
@ -1,4 +1,3 @@
|
||||
import _ from 'lodash';
|
||||
import randomString from 'crypto-random-string';
|
||||
|
||||
import { logger } from '../../logger';
|
||||
@ -43,6 +42,18 @@ function isReachableFrom(currentCommit, otherCommit) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function uniqBy(list, fn) {
|
||||
const recordMap = Object.create(null);
|
||||
return list.reduce((out, item) => {
|
||||
const key = fn(item);
|
||||
if (!recordMap[key]) {
|
||||
recordMap[key] = true;
|
||||
out.push(item);
|
||||
}
|
||||
return out;
|
||||
}, []);
|
||||
}
|
||||
|
||||
export const setDirection = function(dir) {
|
||||
direction = dir;
|
||||
};
|
||||
@ -142,7 +153,10 @@ function upsert(arr, key, newval) {
|
||||
}
|
||||
|
||||
function prettyPrintCommitHistory(commitArr) {
|
||||
const commit = _.maxBy(commitArr, 'seq');
|
||||
const commit = commitArr.reduce((out, commit) => {
|
||||
if (out.seq > commit.seq) return out;
|
||||
return commit;
|
||||
}, commitArr[0]);
|
||||
let line = '';
|
||||
commitArr.forEach(function(c) {
|
||||
if (c === commit) {
|
||||
@ -166,7 +180,7 @@ function prettyPrintCommitHistory(commitArr) {
|
||||
const nextCommit = commits[commit.parent];
|
||||
upsert(commitArr, commit, nextCommit);
|
||||
}
|
||||
commitArr = _.uniqBy(commitArr, 'id');
|
||||
commitArr = uniqBy(commitArr, c => c.id);
|
||||
prettyPrintCommitHistory(commitArr);
|
||||
}
|
||||
|
||||
@ -205,7 +219,8 @@ export const getCommitsArray = function() {
|
||||
commitArr.forEach(function(o) {
|
||||
logger.debug(o.id);
|
||||
});
|
||||
return _.orderBy(commitArr, ['seq'], ['desc']);
|
||||
commitArr.sort((a, b) => b.seq - a.seq);
|
||||
return commitArr;
|
||||
};
|
||||
export const getCurrentBranch = function() {
|
||||
return curBranch;
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { curveBasis, line, select } from 'd3';
|
||||
import _ from 'lodash';
|
||||
|
||||
import db from './gitGraphAst';
|
||||
import gitGraphParser from './parser/gitGraph';
|
||||
@ -307,7 +306,7 @@ export const draw = function(txt, id, ver) {
|
||||
// Parse the graph definition
|
||||
parser.parse(txt + '\n');
|
||||
|
||||
config = _.assign(config, apiConfig, db.getOptions());
|
||||
config = Object.assign(config, apiConfig, db.getOptions());
|
||||
logger.debug('effective options', config);
|
||||
const direction = db.getDirection();
|
||||
allCommitsDict = db.getCommits();
|
||||
|
Loading…
x
Reference in New Issue
Block a user