it('should support blank literals', () => {
   expect(emitStmt(o.literal(null).toStmt())).toEqual('(null as any);');
   expect(emitStmt(o.literal(undefined).toStmt())).toEqual('(undefined as any);');
   expect(emitStmt(o.variable('a', null).isBlank().toStmt())).toEqual('(a == null);');
 });
 it('should read and write keys', () => {
   expect(emitStmt(o.variable('someMap').key(o.variable('someKey')).toStmt()))
       .toEqual(`someMap[someKey];`);
   expect(emitStmt(o.variable('someMap').key(o.variable('someKey')).set(o.literal(1)).toStmt()))
       .toEqual(`someMap[someKey] = 1;`);
 });
 it('should read and write properties', () => {
   expect(emitStmt(o.variable('someObj').prop('someProp').toStmt()))
       .toEqual(`someObj.someProp;`);
   expect(emitStmt(o.variable('someObj').prop('someProp').set(o.literal(1)).toStmt()))
       .toEqual(`someObj.someProp = 1;`);
 });
 it('should read and write variables', () => {
   expect(emitStmt(someVar.toStmt())).toEqual(`someVar;`);
   expect(emitStmt(someVar.set(o.literal(1)).toStmt())).toEqual(`someVar = 1;`);
   expect(emitStmt(someVar.set(o.variable('someOtherVar').set(o.literal(1))).toStmt()))
       .toEqual(`someVar = (someOtherVar = 1);`);
 });
Beispiel #5
0
 it('should support function statements', () => {
   expect(emitStmt(new o.DeclareFunctionStmt('someFn', [], [])))
       .toEqual(['void someFn() {', '}'].join('\n'));
   expect(emitStmt(new o.DeclareFunctionStmt('someFn', [], [new o.ReturnStatement(o.literal(1))],
                                             o.INT_TYPE)))
       .toEqual(['int someFn() {', '  return 1;', '}'].join('\n'));
   expect(
       emitStmt(new o.DeclareFunctionStmt('someFn', [new o.FnParam('param1', o.INT_TYPE)], [])))
       .toEqual(['void someFn(int param1) {', '}'].join('\n'));
 });
Beispiel #6
0
 it('should support blank literals', () => {
   expect(emitStmt(o.literal(null).toStmt())).toEqual('null;');
   expect(emitStmt(o.literal(undefined).toStmt())).toEqual('undefined;');
 });
Beispiel #7
0
  runtime: ViewType.HOST
};

const baseErrorIdentifier = {
  name: 'BaseError',
  moduleUrl: assetUrl('core', 'facade/errors'),
  runtime: BaseError
};

export const codegenExportsVars = [
  'getExpressions',
];


const _getExpressionsStmts: o.Statement[] = [
  o.variable('readVar').set(o.literal('someValue')).toDeclStmt(),

  o.variable('changedVar').set(o.literal('initialValue')).toDeclStmt(),
  o.variable('changedVar').set(o.literal('changedValue')).toStmt(),

  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(createIdentifier(testDataIdentifier)).instantiate([o.literal('someValue')]))
      .toDeclStmt(),
Beispiel #8
0
 it('should support function statements', () => {
   expect(emitStmt(new o.DeclareFunctionStmt('someFn', [], [])))
       .toEqual(['function someFn():void {', '}'].join('\n'));
   expect(emitStmt(new o.DeclareFunctionStmt('someFn', [], []), ['someFn']))
       .toEqual(['export function someFn():void {', '}'].join('\n'));
   expect(emitStmt(new o.DeclareFunctionStmt('someFn', [], [new o.ReturnStatement(o.literal(1))],
                                             o.INT_TYPE)))
       .toEqual(['function someFn():number {', '  return 1;', '}'].join('\n'));
   expect(
       emitStmt(new o.DeclareFunctionStmt('someFn', [new o.FnParam('param1', o.INT_TYPE)], [])))
       .toEqual(['function someFn(param1:number):void {', '}'].join('\n'));
 });