TypeScript @angular-compiler-src-output-output_ast.fn类(方法)实例源码

下面列出了TypeScript @angular-compiler-src-output-output_ast.fn 类(方法)源码代码实例,从而了解它的用法。

作者:davewrag    项目:angula   
it('should support function expressions', () => {
   expect(emitStmt(o.fn([], []).toStmt())).toEqual(['():void => {', '};'].join('\n'));
   expect(emitStmt(o.fn([], [new o.ReturnStatement(o.literal(1))], o.INT_TYPE).toStmt()))
       .toEqual(['():number => {', '  return 1;\n};'].join('\n'));
   expect(emitStmt(o.fn([new o.FnParam('param1', o.INT_TYPE)], []).toStmt()))
       .toEqual(['(param1:number):void => {', '};'].join('\n'));
 });

作者:davewrag    项目:angula   
it('should support function expressions', () => {
   expect(emitStmt(o.fn([], []).toStmt())).toEqual(['function() {', '};'].join('\n'));
   expect(emitStmt(o.fn([], [new o.ReturnStatement(o.literal(1))]).toStmt()))
       .toEqual(['function() {', '  return 1;\n};'].join('\n'));
   expect(emitStmt(o.fn([new o.FnParam('param1')], []).toStmt()))
       .toEqual(['function(param1) {', '};'].join('\n'));
 });

作者:ox    项目:angula   
it('should support function expressions', () => {
   expect(emitStmt(o.fn([], []).toStmt())).toEqual(`(function () { });`);
   expect(emitStmt(o.fn([], [new o.ReturnStatement(o.literal(1))], o.INT_TYPE).toStmt()))
       .toEqual(`(function () { return 1; });`);
   expect(emitStmt(o.fn([new o.FnParam('param1', o.INT_TYPE)], []).toStmt()))
       .toEqual(`(function (param1) { });`);
 });

作者:DanielKuca    项目:angula   
it('should break expressions into multiple lines if they are too long', () => {
   const values: o.Expression[] = new Array(100);
   values.fill(o.literal(1));
   values.splice(50, 0, o.fn([], [new o.ReturnStatement(o.literal(1))]));
   expect(emitStmt(o.variable('fn').callFn(values).toStmt())).toEqual([
     'fn(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,',
     '    1,1,1,1,1,1,1,1,1,1,():void => {', '      return 1;',
     '    },1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,',
     '    1,1,1,1,1,1,1,1,1,1,1,1);'
   ].join('\n'));
 });

作者:aftab1066    项目:angula   
function createOperatorFn(op: o.BinaryOperator) {
  return o.fn(
      [new o.FnParam('a'), new o.FnParam('b')],
      [new o.ReturnStatement(new o.BinaryOperatorExpr(op, o.variable('a'), o.variable('b')))],
      o.DYNAMIC_TYPE);
}

作者:aftab1066    项目:angula   
o.variable('map')
      .set(o.literalMap([
        ['someKey', o.literal('someValue')],
        ['changeable', o.literal('initialValue')],
      ]))
      .toDeclStmt(),
  o.variable('map').key(o.literal('changeable')).set(o.literal('changedValue')).toStmt(),

  o.variable('externalInstance')
      .set(o.importExpr(testDataIdentifier).instantiate([o.literal('someValue')]))
      .toDeclStmt(),
  o.variable('externalInstance').prop('changeable').set(o.literal('changedValue')).toStmt(),

  o.variable('fn')
      .set(o.fn([new o.FnParam('param')],
                [new o.ReturnStatement(o.literalMap([['param', o.variable('param')]]))],
                o.DYNAMIC_TYPE))
      .toDeclStmt(),

  o.variable('throwError')
      .set(o.fn([],
                [
                  new o.ThrowStmt(o.importExpr(baseExceptionIdentifier)
                                      .instantiate([o.literal('someError')]))
                ]))
      .toDeclStmt(),

  o.variable('catchError')
      .set(o.fn([new o.FnParam('runCb')],
                [
                  new o.TryCatchStmt([o.variable('runCb').callFn([]).toStmt()],

作者:davewrag    项目:angula   
it('should support function expressions', () => {
   expect(emitStmt(o.fn([], []).toStmt())).toEqual(['() {', '};'].join('\n'));
   expect(emitStmt(o.fn([new o.FnParam('param1', o.INT_TYPE)], []).toStmt()))
       .toEqual(['(int param1) {', '};'].join('\n'));
 });


问题


面经


文章

微信
公众号

扫码关注公众号