# Print

Print functions are the Proton equivalent of console.log and will be visible in console when you run tests with LOG_LEVEL=debug

  • function print(value: string): void
    
  • function prints(value: string): void
    
  • function printString(value: string): void
    

    All these functions are aliases.

    Prints value as a string.

    Example:

    @action('act')
    doAction(): void {
      print('Hello! I am print');
      prints('Hello! I am prints');
      printString('Hello! I am printString');
    
      // Output: 
      // DEBUG: prints_l Hello! I am print
      // DEBUG: prints_l Hello! I am prints
      // DEBUG: prints_l Hello! I am printString
    }
    

# printui

  • function printui(value: u64): void
    

    Prints value as a 64 bit unsigned integer.

    Example:

    @action('act')
    doAction(): void {
      // NOTE: You need to define type of value explicitly. Otherwise you'll get an error during compilation
      printui(<u64>1e+18); 
      printui(<i64>-10);
    
      // Output: 
      // DEBUG: printui 1000000000000000000
      // DEBUG: printui 18446744073709551606
    }
    

# printi

  • function printi(value: i64): void
    

    Prints value as a 64 bit signed integer.

    Example:

    @action('act')
    doAction(): void {
      // NOTE: You need to define type of value explicitly. Otherwise you'll get an error during compilation
      printi(<i64>-1e+18);
      printi(<i64>10);
      printi(<i64>-10);
    
      // Output: 
      // DEBUG: printi -1000000000000000000
      // DEBUG: printi 10
      // DEBUG: printi -10
    }
    

# printI128

  • function printI128(value: I128): void
    

    Prints value as a 128 bit signed integer

    Example:

    // ...
    @action('act')
    doAction(): void {
      // NOTE: You need to define type of value explicitly. Otherwise you'll get an error during compilation
      printI128(I128.from(100000));
      printI128(I128.from(10));
      printI128(I128.from(-10));
    
      // Output: 
      // DEBUG: printi128 100000
      // DEBUG: printi128 10
      // DEBUG: printi128 18446744073709551606
    }
    

# printU128

  • function printU128(value: U128): void
    

    Prints value as a 128 bit unsigned integer

    Example:

    @action('act')
    doAction(): void {
      // NOTE: You need to define type of value explicitly. Otherwise you'll get an error during compilation
      printU128(I128.from(100000));
      printU128(I128.from(10));
      printU128(I128.from(-10));
    
      // Output: 
      // DEBUG: printi128 100000
      // DEBUG: printi128 10
      // DEBUG: printi128 18446744073709551606
    }
    

# printsf

  • function printsf(value: f32): void
    

    Prints value as single-precision floating point number

    Note that floats are imprecise due to precision loss.

    Example:

    // ...
    @action('act')
    doAction(): void {
      printsf(123.4);
      printsf(123.45);
      printsf(123.456);
    
      // Output 
      // DEBUG: printsf 123.4000015258789
      // DEBUG: printsf 123.44999694824219
      // DEBUG: printsf 123.45600128173828
    }
    

# printdf

  • function printdf(value: f64): void
    

    Prints value as double-precision floating point number

    Note that floats are imprecise due to precision loss.

    Example:

    // ...
    @action('act')
    doAction(): void {
      printdf(123.456789);
      printdf(123.45678912345679);
    
      // Output
      // DEBUG: printsdf 123.456789
      // DEBUG: printsdf 123.45678912345679
    }
    

# printqf

  • function printqf(value: Float128): void
    

    Prints value as quadruple-precision floating point number

    Example:

    // ...
    @action('act')
    doAction(): void {
      printqf(new Float128(1000, 70));
      printqf(new Float128(4000, 30));
    
      // Output
      // DEBUG: printsqf 12096
      // DEBUG: printsqf 12272
    }
    

# printn

  • function printn(value: Name): void
    

    Prints a 64 bit names as base32 encoded string

    Example:

    // ...
    @action('act')
    doAction(): void {
      printn(Name.fromString('contract'))
    
      // Output
      // DEBUG: printn contract
    }
    

# printArray

  • function printArray(data: u8[]): void
    

    Prints byte array as string.

    Example:

    // ...
    @action('act')
    doAction(): void {
      printArray([
          0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64
      ])
    
      // Output:
      // DEBUG: prints Hello world
    }
    

# printHex

  • function printHex(data: u8[]): void
    

    Prints bytes array as hex

    Example:

    // ...
    @action('act')
    doAction(): void {
      printHex([
          0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64
      ])
    
      // Output
      // DEBUG: printhex 48656c6c6f20776f726c64
    }