Nibbling Pastry Monster

    @shapediver/viewer.settings
    TypeScript icon, indicating that this package has built-in type declarations

    0.3.0 • Public • Published

    @shapediver/viewer.settings

    This package is part of the @shapediver/viewer, you can find all information here.

    This package contains the definition for various versions of the ShapeDiver Viewer settings. Additionally, it contains functionality for validation and conversion.

    Install

    npm install @shapediver/viewer.settings
    

    Usage

    Validation

    import { validate } from '@shapediver/viewer.settings';
    
    // validate with the default object of the settings v3, this will not throw an error
    const defaultsV3 = DefaultsV3();
    // this will attempt to extract the version from the object
    validate(defaultsV3)
    // with a specified version
    validate(defaultsV3, '3.0')
    
    // validate with an invalid object - this will throw an error
    try{
        const notAValidSettingsObject = {
            maliciousFunction: () => { console.log('I am bad!') }
        }
        validate(notAValidSettingsObject)
    } catch (e) {
        // process the error
    }

    Conversion

    import { convert } from '@shapediver/viewer.settings';
    
    // convert to a different version
    const defaultsV3 = DefaultsV3();
    const convertedV2 = convert(defaultsV3, '2.0')
    const convertedV1 = convert(defaultsV3, '1.0')

    Getting the target version

    import { evaluateSettingsVersion } from '@shapediver/viewer.settings';
    
    // get the target versions
    const targetVersion1 = evaluateSettingsVersion('1.1000.0'); // results in '1.0'
    const targetVersion2 = evaluateSettingsVersion('2.27.0'); // results in '2.0'
    const targetVersion3 = evaluateSettingsVersion('3.1.1.0'); // results in '3.0'

    Keywords

    none

    Install

    npm i @shapediver/viewer.settings

    DownloadsWeekly Downloads

    827

    Version

    0.3.0

    License

    polyform-noncommercial-1.0.0

    Unpacked Size

    347 kB

    Total Files

    110

    Last publish

    Collaborators

    • dmitry_at_shapediver
    • snabela
    • michael_at_shapediver
    • matt_at_shapediver
    • luka_at_shapediver