# Програмний інтерфейс (API) скриптів для всіх структур даних

## Абстрактний об’єкт структури даних

Абстрактна структура даних визначає набір елементів даних та можливі зв’язки між ними, це прототип для всіх інших структур даних. Структури даних ідентифікуються за назвами. Якщо вами, наприклад, створено структуру даних з назвою `testgraph`, доступ до цієї структури даних можна здійснювати простим вписуванням її ідентифікатора. Наприклад, щоб отримати масив усіх елементів даних у вказаній структурі даних, вам достатньо додати до скрипту інструкцію `testgraph.list_nodes();`.

### Властивості

- name:

  Унікальна назва цієї структури даних.

## Абстрактні дані

Абстрактний елемент даних є одиницею інформації, яка належить абстрактній структурі даних і, можливо, з’єднаний з іншими елементами даних за допомогою вказівників.

### Властивості

- width:

  Розмір цього елемента даних.

- x:

  Координата за X цього елемента даних.

- y:

  Координата за Y цього елемента даних.

- id:

  Унікальний ідентифікатор цього елемента даних.

- color:

  Колір цього елемента даних у форматі шістнадцяткового числа.

## Абстрактний вказівник

Вказівник з’єднує два елементи даних і сам може містити дані щодо своїх властивостей.

### Властивості

- width:

  Товщина з’єднання.

- directed:

  Якщо має значення true, з’єднання є спрямованим. Якщо має значення false — не спрямованим.

- from:

  Початок з’єднання.

- to:

  Кінець з’єднання.

- color:

  Ідентифікатор типу з’єднання.

### Методи

remove()

  Вилучити це з’єднання.

      void remove

add_property(назва, значення)

  Додати до з’єднання нову властивість.

      void add_property string назва string значення

remove_property(назва)

  Вилучити зі з’єднання наявну властивість.

      void remove_property string назва