Nutty Peanut Marshmallow

    @kkday/web-js-lib

    1.1.0 • Public • Published

    @kkday/web-js-lib

    npm (scoped)

    Install

    $ npm install @kkday/web-js-lib

    Usage

    SkuCalculator

    Calculate valid sku, amount, price and detail status of each spec according to selected specs.

    // load SkuCalculator into project
    import { SkuCalculator } from '@kkday/web-js-lib';
    
    // specs
    const specs = {
    	depart: [
    		'Taipei',
    		'Kaohsiung',
    	],
    	arrive: [
    		'Taipei',
    		'Kaohsiung',
    	],
    	age: [
    		'adult',
    		'child',
    	],
    };
    
    // skus composed with spec combination, amount and price
    const skus = [
    	{
    		spec: {
    			age: 'adult',
    			depart: 'Taipei',
    			arrive: 'Kaohsiung'
    		},
    		amount: 5,
    		price: 1000,
    	},
    	{
    		spec: {
    			age: 'child',
    			depart: 'Taipei',
    			arrive: 'Kaohsiung'
    		},
    		amount: 3,
    		price: 500,
    	},
    	{
    		spec: {
    			age: 'adult',
    			depart: 'Kaohsiung',
    			arrive: 'Taipei'
    		},
    		amount: 4,
    		price: 800,
    	},
    	{
    		spec: {
    			age: 'child',
    			depart: 'Kaohsiung',
    			arrive: 'Taipei'
    		},
    		amount: 2,
    		price: 400,
    	},
    ];
    
    // define which spec(s) make sku(s) primary
    const primarySpecs = {
    	age: 'adult'
    };
    
    // skus data contain amount or not
    const hasAmount = true;
    
    // define which spec(s) can be selected with multiple values
    const multiSpecs = ['age'];
    
    // create SkuCalculator instance
    const skuCalculator = new SkuCalculator({
    	specs,
    	skus,
    	primarySpecs,
    	hasAmount,
    	multiSpecs
    });
    
    // set selected specs
    const selectionArray = [
    	{
    		amount: 2,
    		spec: {
    			age: 'adult',
    			depart: 'Taipei',
    			arrive: 'Kaohsiung',
    		},
    	},
    	{
    		amount: 3,
    		spec: {
    			age: 'child',
    			depart: 'Taipei',
    			arrive: 'Kaohsiung',
    		},
    	}
    ];
    skuCalculator.setSelectionArray(selectionArray);
    
    // print calculation result
    console.log(skuCalculator.specStatus);
    console.log(skuCalculator.statistics);
    console.log(skuCalculator.selectionSpecStatus);

    Keywords

    none

    Install

    npm i @kkday/web-js-lib

    DownloadsWeekly Downloads

    3

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    50.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • leeboyin
    • paul7511
    • akccakcctw
    • aipoopoo