A few days ago I tweeted and profile-posted this message:
靜雞雞咁我走啦,好似我靜雞雞咁嚟,fing 一 fing 件衫,唔拎走一舊雲。 嗰棵榆樹下面潭水,唔係泉水而係彩虹,喺藻葉之間搓碎,將彩虹咁既夢整沉左
Yes, I am serious about this message. I am leaving (very soon).
| import { ActionCreator } from 'redux' | |
| import { ThunkAction } from 'redux-thunk' | |
| import { WebService } from 'app/services/WebService' | |
| // Create this reusable type that can be imported into your redux action files | |
| export type ThunkResult<R> = ThunkAction<R, RootState, Services, RootAction> | |
| // Services are only necesarry because we are using | |
| // `reduxThunk.withExtraArgument({ webService }))` when we are creating our store. | |
| export type Services = { |
| const Page = require('puppeteer/lib/Page'); | |
| // the following 2 methods are originally from: https://github.com/GoogleChrome/puppeteer/issues/85#issuecomment-341743259, with some modification to fit puppeteerv1.0.0 | |
| async function newPageWithNewContext(browser) { | |
| const { browserContextId } = await browser._connection.send('Target.createBrowserContext'); | |
| const { targetId } = await browser._connection.send('Target.createTarget', { url: 'about:blank', browserContextId }); | |
| const target = await browser._targets.get(targetId); | |
| const client = await browser._connection.createSession(targetId); | |
| const page = await Page.create(client, target, browser._ignoreHTTPSErrors, browser._appMode, browser._screenshotTaskQueue); | |
| page.browserContextId = browserContextId; |