nicescript

0.4.2 • Public • Published

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

Package Sidebar

Install

npm i nicescript

Weekly Downloads

11

Version

0.4.2

License

MIT

Unpacked Size

740 kB

Total Files

17

Last publish

Collaborators

  • sergeykashulin