()
| 40 | } |
| 41 | |
| 42 | export async function main() { |
| 43 | const ctx = new Context('request'); |
| 44 | |
| 45 | // Add EnglishGreeter for now |
| 46 | ctx.add(createBindingFromClass(EnglishGreeter, {namespace: 'greeters'})); |
| 47 | |
| 48 | // Add ChineseGreeter |
| 49 | ctx.bind('greeters.ChineseGreeter').toClass(ChineseGreeter).tag('greeter'); |
| 50 | |
| 51 | const enlishGreeterBinding = ctx.getBinding('greeters.EnglishGreeter'); |
| 52 | console.log(enlishGreeterBinding.key); |
| 53 | |
| 54 | let possibleEnglishGreeters = ctx.find('*.EnglishGreeter'); |
| 55 | console.log(possibleEnglishGreeters.map(b => b.key)); |
| 56 | |
| 57 | possibleEnglishGreeters = ctx.find(/\w+\.EnglishGreeter$/); |
| 58 | console.log(possibleEnglishGreeters.map(b => b.key)); |
| 59 | |
| 60 | let greeterBindings = ctx.findByTag('greeter'); |
| 61 | console.log(greeterBindings.map(b => b.key)); |
| 62 | |
| 63 | greeterBindings = ctx.find(filterByTag('greeter')); |
| 64 | console.log(greeterBindings.map(b => b.key)); |
| 65 | |
| 66 | greeterBindings = ctx.find(greeterFilter); |
| 67 | console.log(greeterBindings.map(b => b.key)); |
| 68 | |
| 69 | const view = ctx.createView(greeterFilter, (b1, b2) => |
| 70 | b1.key.localeCompare(b2.key), |
| 71 | ); |
| 72 | console.log(view.bindings.map(b => b.key)); |
| 73 | } |
| 74 | |
| 75 | if (require.main === module) { |
| 76 | main().catch(err => { |
no test coverage detected