Merge branch 'staging' of github.com:FreeCodeCamp/freecodecamp into staging
commit
0254a9bd57
|
@ -259,7 +259,7 @@
|
|||
"challengeSeed": [
|
||||
"var firstName = \"Madeline\";",
|
||||
"",
|
||||
"var thirdToLastLetterOfFirstName = firstName[firstName.length - 2];",
|
||||
"var thirdToLastLetterOfFirstName = firstName[firstName.length - 3];",
|
||||
"",
|
||||
"var lastName = \"Chen\";",
|
||||
"",
|
||||
|
@ -601,7 +601,7 @@
|
|||
],
|
||||
"challengeSeed": [
|
||||
"var myArray = ['John', 23, ['dog', 3]];",
|
||||
"var removed = myArray;//This should be ['John'] and myArray should now be ['John', 23]",
|
||||
"var removed = myArray;//This should be ['John'] and myArray should now be [23, ['dog', 3]]",
|
||||
"",
|
||||
"",
|
||||
"(function(y, z){return('myArray = ' + JSON.stringify(y) + ' & removed = ' + JSON.stringify(z));})(myArray, removed);"
|
||||
|
@ -725,9 +725,9 @@
|
|||
"",
|
||||
"Now that we have an objects we need to know how to add and remove properties from it",
|
||||
"We add properties to objects like this",
|
||||
"<code>myObject['myProperty'] = \"myValue\";</code>",
|
||||
"<code>myObject.myProperty = \"myValue\";</code>",
|
||||
"They can also be deleted like this",
|
||||
"<code>delete(myObject[\"myProperty\"]);</code>",
|
||||
"<code>delete(myObject.myProperty);</code>",
|
||||
"Let's add the property bark",
|
||||
""
|
||||
],
|
||||
|
@ -752,7 +752,7 @@
|
|||
" \"friends\": []",
|
||||
"};",
|
||||
"",
|
||||
"//Let's add the property age to myDog",
|
||||
"//Let's add the property bark to myDog",
|
||||
"",
|
||||
"",
|
||||
"//Now delete the property tails",
|
||||
|
@ -1027,7 +1027,7 @@
|
|||
],
|
||||
"tests":[
|
||||
"assert(test === 2, 'Your RegEx should have found two numbers in the testString');",
|
||||
"assert(editorValue.match(/\\/\\\\d\\+\\//gi), 'You should be using the following expression /\\d+/gi to find the numbers in the testString');"
|
||||
"assert(editor.getValue().match(/\\/\\\\d\\+\\//gi), 'You should be using the following expression /\\d+/gi to find the numbers in the testString');"
|
||||
],
|
||||
"challengeSeed":[
|
||||
"var test = (function(){",
|
||||
|
@ -1058,7 +1058,7 @@
|
|||
],
|
||||
"tests":[
|
||||
"assert(test === 7, 'Your RegEx should have found seven spaces in the testString');",
|
||||
"assert(editorValue.match(/\\/\\\\s\\+\\//gi), 'You should be using the following expression /\\s+/gi to find the spaces in the testString');"
|
||||
"assert(editor.getValue().match(/\\/\\\\s\\+\\//gi), 'You should be using the following expression /\\s+/gi to find the spaces in the testString');"
|
||||
],
|
||||
"challengeSeed":[
|
||||
"var test = (function(){",
|
||||
|
@ -1087,7 +1087,7 @@
|
|||
],
|
||||
"tests":[
|
||||
"assert(test === 36, 'Your RegEx should have found seven spaces in the testString');",
|
||||
"assert(editorValue.match(/\\/\\\\S\\/gi/gi), 'You should be using the following expression /\\S+/gi to find the spaces in the testString');"
|
||||
"assert(editor.getValue().match(/\\/\\\\S\\/gi/gi), 'You should be using the following expression /\\S+/gi to find the spaces in the testString');"
|
||||
],
|
||||
"challengeSeed":[
|
||||
"var test = (function(){",
|
||||
|
|
|
@ -38,13 +38,13 @@ function createConnection(URI) {
|
|||
}
|
||||
|
||||
function createQuery(db, collection, options, batchSize) {
|
||||
return Rx.Observable.create(function (observer) {
|
||||
return Rx.Observable.create(function(observer) {
|
||||
var cursor = db.collection(collection).find({}, options);
|
||||
cursor.batchSize(batchSize || 20);
|
||||
// Cursor.each will yield all doc from a batch in the same tick,
|
||||
// or schedule getting next batch on nextTick
|
||||
debug('opening cursor for %s', collection);
|
||||
cursor.each(function (err, doc) {
|
||||
cursor.each(function(err, doc) {
|
||||
if (err) {
|
||||
return observer.onError(err);
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ function createQuery(db, collection, options, batchSize) {
|
|||
observer.onNext(doc);
|
||||
});
|
||||
|
||||
return Rx.Disposable.create(function () {
|
||||
return Rx.Disposable.create(function() {
|
||||
debug('closing cursor for %s', collection);
|
||||
cursor.close();
|
||||
});
|
||||
|
@ -86,13 +86,13 @@ var users = dbObservable
|
|||
.map(function(user) {
|
||||
// flatten user
|
||||
assign(user, user.portfolio, user.profile);
|
||||
return user;
|
||||
})
|
||||
.map(function(user) {
|
||||
if (user.username) {
|
||||
return user;
|
||||
}
|
||||
user.username = 'fcc' + uuid.v4().slice(0, 8);
|
||||
if (user.github) {
|
||||
user.isGithubCool = true;
|
||||
}
|
||||
return user;
|
||||
})
|
||||
.shareReplay();
|
||||
|
@ -122,7 +122,7 @@ var userIdentityCount = users
|
|||
return {
|
||||
provider: provider,
|
||||
externalId: user[provider],
|
||||
userId: user.id
|
||||
userId: user._id || user.id
|
||||
};
|
||||
})
|
||||
.filter(function(ident) {
|
||||
|
@ -161,33 +161,15 @@ var storyCount = dbObservable
|
|||
})
|
||||
.count();
|
||||
|
||||
var commentCount = dbObservable
|
||||
.flatMap(function(db) {
|
||||
return createQuery(db, 'comments', {});
|
||||
})
|
||||
.bufferWithCount(20)
|
||||
.withLatestFrom(dbObservable, function(comments, db) {
|
||||
return {
|
||||
comments: comments,
|
||||
db: db
|
||||
};
|
||||
})
|
||||
.flatMap(function(dats) {
|
||||
return insertMany(dats.db, 'comment', dats.comments, { w: 1 });
|
||||
})
|
||||
.count();
|
||||
|
||||
Rx.Observable.combineLatest(
|
||||
userIdentityCount,
|
||||
userSavesCount,
|
||||
storyCount,
|
||||
commentCount,
|
||||
function(userIdentCount, userCount, storyCount, commentCount) {
|
||||
function(userIdentCount, userCount, storyCount) {
|
||||
return {
|
||||
userIdentCount: userIdentCount * 20,
|
||||
userCount: userCount * 20,
|
||||
storyCount: storyCount * 20,
|
||||
commentCount: commentCount * 20
|
||||
storyCount: storyCount * 20
|
||||
};
|
||||
})
|
||||
.subscribe(
|
||||
|
|
Loading…
Reference in New Issue