0.4.2 • Published 11 months ago

nicescript v0.4.2

Weekly downloads
2
License
MIT
Repository
github
Last release
11 months ago

NiceScript

Set of JavaScript functions that provide following features without compilation or configuration:

You can use any of them independently or as a whole in any JS project.

Rationale

Create web applications with

  • less code overall
  • much less imperative code
  • only JS syntax (less build code)

NiceScript encourage use of component approach, functional programming, and unit tests. But doesn't force you to do so.

Example application: To Do list

Here you can search, add, and remove tasks. Notice how little imperative code does it have.

const { Box, RBox, Div, Input, wrapMatches } = nice;

const tasks = Box(['Feed the fish', 'Buy milk', 'Walk the dog']);

const taskView = t => Div()
  .A(() => tasks.removeValue(t), 'x').float('right').textDecoration('none').up
  .add(wrapMatches(t, input.boxValue()))
  .margin('1em 0').padding('.5em').borderRadius('.3em').backgroundColor('#DEF');

const input = Input().padding('.5em').width('100%').boxSizing('border-box')
  .on('keyup', e => e.key === 'Enter' 
      && (tasks.push(e.target.value), e.target.value = ''));
  
const list = RBox(tasks, input.boxValue, (tt, s) => 
  Div(tt.filter(t => t.toLowerCase().includes(s.toLowerCase())), taskView));
  
Div(input, list).font('1.2rem Arial').show();

JS Bin | Detailed explanation

Install

Node.js:

npm install nicescript

use:

const nice = require('nicescript')();

 

Browser:

<script src="https://unpkg.com/nicescript/nice.js"></script>

or

<script src="https://cdn.jsdelivr.net/npm/nicescript/nice.js"></script>

 

Npm package is shipped with 3 versions:

  • index.js - Node module
  • nice.mjs - ECMAScript module
  • nice.js - to use with html <script> tag
0.4.1

11 months ago

0.4.0

11 months ago

0.4.2

11 months ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.1

7 years ago

0.0.1

7 years ago