# Class: System

## System()

#### new System()

MaiaScript system library.

Source:
  - System.js, line 24

### Methods

#### base64EncodeUnicode(str) → {string}

Convert Unicode caracters to Latin1.

##### Parameters:

Name | Type | Description
--- | --- | ---
`str` | string | Unicode string.

Source:
  - System.js, line 39

##### Returns:

The Unicode string converted do Latin1.

Type
  string

#### downloadFile(fileName, fileData, mimeType)

Download a file.

##### Parameters:

Name | Type | Description
--- | --- | ---
`fileName` | string | File name.
`fileData` | string | Data to save.
`mimeType` | string | Mime type (default: 'text/plain').

Source:
  - System.js, line 55

##### Returns:

The file is downloaded.

#### log(text)

Displays a message in the console.

##### Parameters:

Name | Type | Description
--- | --- | ---
`text` | string | Text to display.

Source:
  - System.js, line 72

#### print(text)

Displays a message in the console.

##### Parameters:

Name | Type | Description
--- | --- | ---
`text` | string | Text to display.

Source:
  - System.js, line 81

#### printf(fmt, arguments) → {string}

Displays a formated string based on format specifiers passed to the function.

##### Parameters:

Name | Type | Description
--- | --- | ---
`fmt` | string | A string containing format specifiers.
`arguments` | object | Objects to be formatted.

Source:
  - System.js, line 92

##### Returns:

A formatted string based on format specifiers passed to the function.

Type
  string

#### println(text)

Displays a message on the console and advances the cursor to the next line.

##### Parameters:

Name | Type | Description
--- | --- | ---
`text` | string | Text to display.

Source:
  - System.js, line 101

#### readDataFromStorage(obj, callBack)

Reads data from browser storage.

##### Parameters:

Name | Type | Description
--- | --- | ---
`obj` | object | Object to store data: {'key': value, 'key': value, ...}
`callBack` | object | Callback function to call after access to storage.

Source:
  - System.js, line 112

##### Returns:

Data from storage.

#### require(moduleName) → {object}

Imports a native module.

##### Parameters:

Name | Type | Description
--- | --- | ---
`moduleName` | string | Module name.

Source:
  - System.js, line 130

##### Returns:

The native module reference.

Type
  object

#### showConfirmDialog(text) → {string}

Displays a message in a dialog box asking for confirmation.

##### Parameters:

Name | Type | Description
--- | --- | ---
`text` | string | Text to display.

Source:
  - System.js, line 144

##### Returns:

User choice.

Type
  string

#### showInputDialog(text, defaultText) → {string}

Displays a message in a dialog box asking you to enter text.

##### Parameters:

Name | Type | Description
--- | --- | ---
`text` | string | Text to display.
`defaultText` | string | Default text to display in the text box.

Source:
  - System.js, line 155

##### Returns:

User-typed text.

Type
  string

#### showMessageDialog(text)

Displays a message in a dialog box.

##### Parameters:

Name | Type | Description
--- | --- | ---
`text` | string | Text to display.

Source:
  - System.js, line 164

#### source(inputFile) → {object}

Load a MaiaScript module.

##### Parameters:

Name | Type | Description
--- | --- | ---
`inputFile` | string | Module name.

Source:
  - System.js, line 174

##### Returns:

The MaiaScript module loaded.

Type
  object

#### uploadFile(fileObject, callBack)

Upload a file.

##### Parameters:

Name | Type | Description
--- | --- | ---
`fileObject` | object | File data structure.
`callBack` | function | callback to be called when the file is loaded.

Source:
  - System.js, line 208

##### Returns:

The file is uploaded.

#### writeDataToStorage(obj, callBack)

Writes data to storage.

##### Parameters:

Name | Type | Description
--- | --- | ---
`obj` | object | Object to store data: {'key': value, 'key': value, ...}
`callBack` | object | Callback function to call after access to storage.

Source:
  - System.js, line 234

##### Returns:

Data written to storage.

#### (inner) init()

Creates the attributes of the class.

Source:
  - System.js, line 30