Commit
* fix circular bug * feat: lifecycle onReady add container * fix bug * fix bug * add test case node module * fix case bug
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
import { IValveHandler, IPipelineContext } from '@midwayjs/core'; | ||
import { Provide } from '@midwayjs/decorator'; | ||
|
||
@Provide() | ||
export class StageOne implements IValveHandler { | ||
async invoke(ctx: IPipelineContext): Promise<any> { | ||
if (ctx.args.aa !== 123) { | ||
throw new Error('args aa is undefined'); | ||
} | ||
ctx.set('stageone', 'this is stage one'); | ||
ctx.set('stageone_date', Date.now()); | ||
if (ctx.info.current !== 'stageOne') { | ||
throw new Error('current stage is not stageOne'); | ||
} | ||
if (ctx.info.next !== 'stageTwo') { | ||
throw new Error('next stage is not stageTwo'); | ||
} | ||
if (ctx.info.prev) { | ||
throw new Error('stageOne prev stage is not undefined'); | ||
} | ||
|
||
return 'stageone'; | ||
} | ||
} | ||
|
||
@Provide() | ||
export class StageTwo implements IValveHandler { | ||
async invoke(ctx: IPipelineContext): Promise<any> { | ||
const keys = ctx.keys(); | ||
if (keys.length !== 2) { | ||
throw new Error('keys is not equal'); | ||
} | ||
ctx.set('stagetwo', ctx.get('stageone') + 1); | ||
ctx.set('stagetwo_date', Date.now()); | ||
if (ctx.info.prevValue !== 'stageone') { | ||
throw new Error('stageone result empty'); | ||
} | ||
if (ctx.info.current !== 'stageTwo') { | ||
throw new Error('current stage is not stageTwo'); | ||
} | ||
if (ctx.info.next) { | ||
throw new Error('stageTwo next stage is not undefined'); | ||
} | ||
if (ctx.info.prev !== 'stageOne') { | ||
throw new Error('prev stage is not stageOne'); | ||
} | ||
|
||
return 'stagetwo'; | ||
} | ||
} |