Skip to content

javascript framework for making function powerful

Notifications You must be signed in to change notification settings

canguser/func-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@func-js

The wonderful lib for function in Javascript

Packages

  • @func-js/core: The core js, includes the basic functions and usages.
  • @func-js/async: The enhancement for core js, get to support multi features for async methods.
  • @func-js/utils: The utils for all packages.

Demos

  1. Method Hooker - Live Demo

    If you want to do something before or after the method called, you can using before or after method from @func-js/core module.

    const {give} = require('@func-js/core');
    
    /**
     * Auto parameters by using before
     */
    
    function genInfo(id) {
        return {
            id: id,
            name: 'Info #' + id
        }
    }
    
    var autoGenInfo = give(genInfo)
        .before(function (params) {
            var args = params.args;
            if (!args[0]) {
                args[0] = '88888';
            }
        });
    
    console.log(autoGenInfo());         // > { id: '88888', name: 'Info #88888', autoGen: true }
    console.log(autoGenInfo('4123'));   // > { id: '4123', name: 'Info #4123' }
    
    /**
     * Using after to sign now timestamp for last return value
     */
    
    var signTimeInfo = autoGenInfo.after(
        function (params) {
            var lastValue = params.lastValue;
            lastValue.singTime = Date.now();
            return lastValue;
        }
    );
    
    console.log(signTimeInfo());        // > { id: '88888', name: 'Info #88888', singTime: 1609772675561 }

Documents

Need Contributors

  1. Fork the git repository, and download to local.
  2. Run yarn install to begin your developments.

Git Repository

About

javascript framework for making function powerful

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published