mowascript
Version:
MowaScript language implementation
120 lines (90 loc) • 5.15 kB
Markdown
[[🌀 Interslavic](../../03_stdlib.md) · [🌲 East Slavic](../east/03_stdlib.md)]
# 📚 Standard Library
MowaJS provides convenient, readable aliases for standard JavaScript APIs. This allows you to work with arrays, objects, math, and console output using familiar, human-friendly language.
---
## 🖨️ Console Output
| JS | MowaJS |
|------------------|-----------------------------------------------------|
| `console.log` | `govori` / `кажи` / `скажы` / `лог` |
| `console.error` | `govoriGreška` / `кажиПомилка` / `ошибка` |
| `console.warn` | `govoriVnimanje` / `кажиУвага` / `предупреждение` |
| `console.info` | `govoriInfo` / `кажиІнфо` / `инфо` |
```mowa
govori("Привіт світ");
скажиПомилка("Упс...");
```
---
## 🧮 Math Functions
| JS | MowaJS |
|----------------|----------------|
| `Math.abs()` | `абсолютне()` |
| `Math.max()` | `максимум()` |
| `Math.min()` | `мінімум()` |
| `Math.pow()` | `ступінь()` |
```js
нехай a = -5;
govori(абсолютне(a));
govori(максимум(3, 8, 2));
```
---
## 🔄 Type Conversion
| JS | MowaJS |
|--------------------|----------------------------|
| `JSON.stringify()` | `вРядок()` |
| `JSON.parse()` | `зРядка()` |
| `Array.isArray()` | `цеМасив()` / `jeArray()` |
| `Number()` | `Число()` |
| `String()` | `Рядок()` |
| `Boolean()` | `Логічне()` |
```js
govori(вРядок({ мова: "mowa" }));
```
---
## 🧰 Array Basics
| JS | MowaJS |
|---------------|-----------------------------------------|
| `.length` | `.довжина`, `.длина`, `.dlina` |
| `.includes()` | `включає()`, `soderži()` |
| `.split()` | `розділи()`, `раздели()` |
| `.join()` | `соедини()`, `sojedini()` |
| `.concat()` | `соединиМассивы()`, `sojediniMassivy()` |
---
## 🧰 Array Processing
| JS | MowaJS |
|--------------|-----------------------------------------------------------------------------|
| `.filter()` | `.отфильтруй()`, `.адфільтруй()`, `.відфільтруй()` |
| `.map()` | `.обійди()`, `.mapuj()`, `перебери()`, `прайдзіся()` |
| `.find()` | `.знайди()`, `.найди()`, `.najdi()` |
| `.forEach()` | `.dlaKazdogo()`, `.кожен()`, `.дляКожнага()`, `.каждому()` |
| `.push()` | `.додай()`, `.добавь()`, `.дадай()`, `.dobavi()` |
| `.pop()` | `.izvleki()`, `витягни()`, `забярыАпошні()`, `удалиПоследний()` |
| `.shift()` | `.iznacaloUdalj()`, `забярыПершы()`, `видалиЗПочатку()`, `удалиПервый()` |
| `.unshift()` | `.дадайУПачатак()`, `vnacaloDodaj()`, `добавьВНачало()`, `додайНаПочаток()` |
| `.indexOf()` | `.najdiIndeks()`, `знайдиІндекс()`, `знайдзіІндэкс()`, `найдиИндекс()` |
```js
нехай масив = [1, 2, 3, 4];
нехай парні = масив.відфільтруй((число) => число % 2 == 0);
парні.кожен((n) => govori(n));
```
---
## 📦 Promises
| JS | MowaJS |
|----------------|-----------------------------------------------------------|
| `Promise` | `Obecanje`, `Обіцянка`, `Абяцанне`, `Обещание` |
| `.then()` | `.togda()`, `.патым()`, `.затем()`, `тоді()` |
| `.catch()` | `.pojmi()`, `.лови()`, `.злаві()`, `.спіймай()` |
| `.finally()` | `.nakonec()`, `.нарешті()`, `.нарэшце()`, `.вконце()` |
| `.resolve()` | `.ispolni()`, `.виполни()`, `.выканац()`, `.виконай()` |
| `.reject()` | `.otkloni()`, `.отклони()`, `.адхілі()`, `.відхили()` |
```js
нехай завантаження = новий Обіцянка((виконай, відхили) => {
виконай("OK");
});
завантаження.тоді((результат) => govori(результат));
```
---
## 🧪 Miscellaneous
| JS | MowaJS |
|----------------|------------------------------------------|
| `typeof` | `tip`, `тып`, `тип`, `Обещание` |
| `instanceof` | `jeEksemplar`, `екземпляр`, `экземпляр` |