From 8b3cbdb68cf2b5bd8a9dbdbdb2543fdcbd8336ef Mon Sep 17 00:00:00 2001 From: gururaj1512 Date: Fri, 15 May 2026 02:15:16 +0530 Subject: [PATCH 1/9] feat: add route and menu support for axis tick properties --- .../lib/browser/app/editor/config/axis.js | 15 +++- .../view/lib/browser/app/editor/menus/axis.js | 34 ++++++++ .../view/lib/browser/app/editor/on_change.js | 19 ++++ .../lib/browser/app/schema/transforms/axis.js | 38 ++++++-- .../view/lib/browser/routes/app/bundle.js | 2 +- .../routes/config/axes/tick-band/index.js | 43 ++++++++++ .../routes/config/axes/tick-band/main.js | 57 ++++++++++++ .../routes/config/axes/tick-band/schema.json | 40 +++++++++ .../routes/config/axes/tick-cap/index.js | 43 ++++++++++ .../routes/config/axes/tick-cap/main.js | 57 ++++++++++++ .../routes/config/axes/tick-cap/schema.json | 40 +++++++++ .../routes/config/axes/tick-count/index.js | 43 ++++++++++ .../routes/config/axes/tick-count/main.js | 58 +++++++++++++ .../routes/config/axes/tick-count/schema.json | 40 +++++++++ .../config/axes/tick-dash-offset/index.js | 43 ++++++++++ .../config/axes/tick-dash-offset/main.js | 58 +++++++++++++ .../config/axes/tick-dash-offset/schema.json | 40 +++++++++ .../routes/config/axes/tick-dash/index.js | 43 ++++++++++ .../routes/config/axes/tick-dash/main.js | 58 +++++++++++++ .../routes/config/axes/tick-dash/schema.json | 40 +++++++++ .../routes/config/axes/tick-extra/index.js | 43 ++++++++++ .../routes/config/axes/tick-extra/main.js | 58 +++++++++++++ .../routes/config/axes/tick-extra/schema.json | 40 +++++++++ .../routes/config/axes/tick-min-step/index.js | 43 ++++++++++ .../routes/config/axes/tick-min-step/main.js | 58 +++++++++++++ .../config/axes/tick-min-step/schema.json | 40 +++++++++ .../routes/config/axes/tick-offset/index.js | 43 ++++++++++ .../routes/config/axes/tick-offset/main.js | 58 +++++++++++++ .../config/axes/tick-offset/schema.json | 40 +++++++++ .../routes/config/axes/tick-opacity/index.js | 43 ++++++++++ .../routes/config/axes/tick-opacity/main.js | 58 +++++++++++++ .../config/axes/tick-opacity/schema.json | 40 +++++++++ .../routes/config/axes/tick-round/index.js | 43 ++++++++++ .../routes/config/axes/tick-round/main.js | 58 +++++++++++++ .../routes/config/axes/tick-round/schema.json | 40 +++++++++ .../routes/config/axes/tick-size/index.js | 43 ++++++++++ .../routes/config/axes/tick-size/main.js | 58 +++++++++++++ .../routes/config/axes/tick-size/schema.json | 40 +++++++++ .../routes/config/axes/tick-width/index.js | 43 ++++++++++ .../routes/config/axes/tick-width/main.js | 58 +++++++++++++ .../routes/config/axes/tick-width/schema.json | 40 +++++++++ .../browser/routes/config/axes/ticks/index.js | 43 ++++++++++ .../browser/routes/config/axes/ticks/main.js | 58 +++++++++++++ .../routes/config/axes/ticks/schema.json | 40 +++++++++ .../lib/browser/routes/config/transforms.js | 34 ++++++++ .../base/view/lib/browser/routes/index.js | 26 ++++++ .../plot/vega/editor-config/axis/lib/main.js | 86 +++++++++++++++++++ 47 files changed, 2077 insertions(+), 8 deletions(-) create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/schema.json diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/axis.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/axis.js index 8809f2e2c8ef..2ec0a1237a97 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/axis.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/axis.js @@ -41,14 +41,25 @@ var PROPS = [ 'gridColor', 'gridDashOffset', 'gridOpacity', - 'gridWidth', + 'tickBand', + 'tickCap', + 'tickColor', + 'tickDashOffset', + 'tickMinStep', + 'tickOffset', + 'tickOpacity', + 'ticks', + 'tickSize', + 'tickWidth', 'titleColor', 'titleFont', 'titleOpacity' ]; var ARRAY_PROPS = [ 'domainDash', - 'gridDash' + 'gridDash', + 'tickDash', + 'tickCount' ]; var SCHEMA_PROPS = [ 'gridScale' diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/axis.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/axis.js index 669b1b87cab1..11d9830d031b 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/axis.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/axis.js @@ -106,6 +106,40 @@ function addMenu( parent, conf, schema, name ) { controller = folder.add( conf, k ) .min( d.min ); controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'tickBand' ) { + controller = folder.add( conf, k, EMPTY_STRING.concat( d.values ) ); + } else if ( k === 'tickCap' ) { + controller = folder.add( conf, k, EMPTY_STRING.concat( d.values ) ); + } else if ( k === 'tickColor' ) { + controller = folder.addColor( conf, k ); + } else if ( k === 'tickCount' ) { + controller = folder.add( conf, k ); + } else if ( k === 'tickDash' ) { + controller = folder.add( conf, k ); + } else if ( k === 'tickDashOffset' ) { + controller = folder.add( conf, k ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'tickMinStep' ) { + controller = folder.add( conf, k ) + .min( d.min ); + } else if ( k === 'tickOffset' ) { + controller = folder.add( conf, k ) + .min( d.min ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'tickOpacity' ) { + controller = folder.add( conf, k ) + .min( d.min ) + .max( d.max ); + } else if ( k === 'ticks' ) { + controller = folder.add( conf, k ); + } else if ( k === 'tickSize' ) { + controller = folder.add( conf, k ) + .min( d.min ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'tickWidth' ) { + controller = folder.add( conf, k ) + .min( d.min ); + controller.name( format( '%s (%s)', k, d.units ) ); } else if ( k === 'title' ) { controller = folder.add( conf, k ); } else if ( k === 'titleColor' ) { diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js index ca70967c531a..6e2777ccd33c 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js @@ -24,6 +24,8 @@ var parseJSON = require( '@stdlib/utils/parse-json' ); var isJSON = require( '@stdlib/assert/is-json' ); +var trim = require( '@stdlib/string/base/trim' ); +var Number = require( '@stdlib/number/ctor' ); var join = require( '@stdlib/array/base/join' ); var log = require( './../log.js' ); var config = require( './../config.js' ); @@ -74,6 +76,7 @@ function onChange( event ) { var obj; var ns; var i; + var n; self = this; conf = this._config; @@ -110,6 +113,22 @@ function onChange( event ) { if ( !( tmp instanceof Error ) ) { val = tmp; } + } else if ( typeof val === 'string' ) { + tmp = trim( val ); + if ( prop === 'tickCount' ) { + n = Number( tmp ); + if ( tmp === '' ) { + val = void 0; + } else if ( !isNaN( n ) ) { + val = n; + } else if ( tmp.indexOf( ',' ) !== -1 ) { + tmp = tmp.split( /\s*,\s*/ ); + val = { + 'interval': tmp[ 0 ], + 'step': parseInt( tmp[ 1 ], 10 ) + }; + } + } } log( 'Editor changed: %s/%s', path, prop ); diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js index fe8f5ddaff47..4a221233750d 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js @@ -43,6 +43,18 @@ var PROPS = [ 'gridDashOffset', 'gridOpacity', 'gridWidth', + 'tickBand', + 'tickCap', + 'tickColor', + 'tickCount', + 'tickDash', + 'tickDashOffset', + 'tickMinStep', + 'tickOffset', + 'tickOpacity', + 'ticks', + 'tickSize', + 'tickWidth', 'title', 'titleColor', 'titleFont', @@ -67,6 +79,7 @@ var PROPS = [ * @returns {Object} transformed schema */ function transform( schema, signals, defaults, prefix ) { + var value; var name; var out; var k; @@ -79,12 +92,21 @@ function transform( schema, signals, defaults, prefix ) { v = schema[ k ]; if ( !isSignalReference( v ) ) { name = signalName( prefix+k ); - signals.push({ - 'name': name, - 'value': ( isUndefined( v ) ) ? defaults[ k ].default : v - }); + value = isUndefined( v ) ? defaults[ k ].default : v; - // FIXME: Vega does not currently support signal updates for structural properties like `domain` and `grid`. As a workaround, we keep them statically `true` and dynamically hide them by dropping their respective opacities to 0 when unchecked. + if ( k == 'tickCount' ) { + signals.push({ + 'name': name, + 'value': value !== '' ? value : void 0 + }); + } else { + signals.push({ + 'name': name, + 'value': value + }); + } + + // FIXME: Vega does not currently support signal updates for structural properties like `domain`, `grid` & `ticks`. As a workaround, we keep them statically `true` and dynamically hide them by dropping their respective opacities to 0 when unchecked. if ( k === 'domain' ) { out[ k ] = true; } else if ( k === 'domainOpacity' ) { @@ -97,6 +119,12 @@ function transform( schema, signals, defaults, prefix ) { out[ k ] = { 'signal': signalName( prefix+'grid' ) + ' ? ' + name + ' : 0' }; + } else if ( k === 'ticks' ) { + out[ k ] = true; + } else if ( k === 'tickOpacity' ) { + out[ k ] = { + 'signal': signalName( prefix+'ticks' ) + ' ? ' + name + ' : 0' + }; } else { out[ k ] = { 'signal': name diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/app/bundle.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/app/bundle.js index c48cea886181..810f651b90fe 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/app/bundle.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/app/bundle.js @@ -3,4 +3,4 @@ /* eslint-disable */ /* editorconfig-checker-disable-file */ -!function(){B=function(t,e){var r=Object.prototype.toString;t.exports=function(t){var e=r.call(t);return"[object Arguments]"===e||"[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&0<=t.length&&"[object Function]"===r.call(t.callee)}};var B,C,M=function(t){return C||B(C={exports:{},parent:t},C.exports),C.exports},U="function"==typeof Object.defineProperty?Object.defineProperty:null;var N=function(){try{return U({},"x",{}),!0}catch(t){return!1}},D=Object.defineProperty;var z=function(t){return"number"==typeof t};function W(t){for(var e="",r=0;rn.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=$(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=st(n.arg,n.width,n.padRight)),o+=n.arg||"",a+=1}return o},ht=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;var yt=function(t){for(var e,r,n,i=[],o=0,a=ht.exec(t);a;)(e=t.slice(o,ht.lastIndex-a[0].length)).length&&i.push(e),"%"===a[6]?i.push("%"):i.push((n=void 0,n={mapping:(r=a)[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]},"."===r[4]&&void 0===r[5]&&(n.precision="1"),n)),o=ht.lastIndex,a=ht.exec(t);return(e=t.slice(o)).length&&i.push(e),i};var gt=function(t){return"string"==typeof t};var h=function t(e){var r,n;if(!gt(e))throw new TypeError(t("invalid argument. First argument must be a string. Value: `%s`.",e));for(r=[yt(e)],n=1;n=r.length?(s=!!(c=g(o,f)))&&"get"in c&&!("originalValue"in c.get)?c.get:o[f]:(s=Je(o,f),o[f]),s&&!a&&(Qe[l]=o)}}return o},_r=$e([Er("%String.prototype.indexOf%")]),Tr=he(),xr=tr("Object.prototype.toString"),Ar=function(t){return!(Tr&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===xr(t)},ve=function(){return Ar(arguments)}(),be=(Ar.isLegacyArguments=er,ve?Ar:er),Sr=he()?(rr=tr("RegExp.prototype.exec"),nr={},ir={toString:we=function(){throw nr},valueOf:we},"symbol"==typeof Symbol.toPrimitive&&(ir[Symbol.toPrimitive]=we),function(t){if(!t||"object"!=typeof t)return!1;var e=g(t,"lastIndex");if(!(e&&Je(e,"value")))return!1;try{rr(t,ir)}catch(t){return t===nr}}):(or=tr("Object.prototype.toString"),ar="[object RegExp]",function(t){return!(!t||"object"!=typeof t&&"function"!=typeof t)&&or(t)===ar}),jr=tr("RegExp.prototype.exec"),Or=function(){if(void 0===ur)try{ur=Function("return function* () {}")().constructor}catch(t){ur=!1}return ur},Fr=(e=>{if(Sr(e))return function(t){return null!==jr(e,t)};throw new p("`regex` must be a RegExp")})(/^\s*(?:function)?\*/),Pr=he(),kr=tr("Object.prototype.toString"),Vr=tr("Function.prototype.toString"),Ir=Function.prototype.toString,Rr="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof Rr&&"function"==typeof Object.defineProperty)try{sr=Object.defineProperty({},"length",{get:function(){throw fr}}),fr={},Rr(function(){throw 42},null,sr)}catch(t){t!==fr&&(Rr=null)}else Rr=null;function Lr(t){try{return Cr(t)?!1:(Ir.call(t),!0)}catch(t){return!1}}var Br=/^\s*class\b/,Cr=function(t){try{var e=Ir.call(t);return Br.test(e)}catch(t){return!1}},Mr=Object.prototype.toString,Ur="[object Object]",Nr="[object HTMLAllCollection]",Dr="[object HTML document.all class]",zr="[object HTMLCollection]",Wr="function"==typeof Symbol&&!!Symbol.toStringTag,$r=!(0 in[,]),Gr=function(){return!1},qr=("object"==typeof document&&Mr.call(document.all)===Mr.call(document.all)&&(Gr=function(t){if(($r||!t)&&(void 0===t||"object"==typeof t))try{var e=Mr.call(t);return(e===Nr||e===Dr||e===zr||e===Ur)&&null==t("")}catch(t){}return!1}),Rr?function(t){if(Gr(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{Rr(t,null,sr)}catch(t){if(t!==fr)return!1}return!Cr(t)&&Lr(t)}:function(t){var e;return!!Gr(t)||!!t&&!("function"!=typeof t&&"object"!=typeof t||!Wr&&(Cr(t)||"[object Function]"!==(e=Mr.call(t))&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e)))&&Lr(t)}),Hr=Object.prototype.toString,Yr=Object.prototype.hasOwnProperty,Jr=function(t,e,r){for(var n=0,i=t.length;n{var r;return v(e)?t.stylize("undefined","undefined"):m(e)?(r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'",t.stylize(r,"string")):d(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):g(e)?t.stylize("null","null"):void 0})(e,r);if(t)return t;var i,t=Object.keys(r),o=(i={},t.forEach(function(t,e){i[t]=!0}),i);if(e.showHidden&&(t=Object.getOwnPropertyNames(r)),E(r)&&(0<=t.indexOf("message")||0<=t.indexOf("description")))return c(r);if(0===t.length){if(_(r))return a=r.name?": "+r.name:"",e.stylize("[Function"+a+"]","special");if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return c(r)}var a="",u=!1,s=["{","}"];if(h(r)&&(u=!0,s=["[","]"]),_(r)&&(a=" [Function"+(r.name?": "+r.name:"")+"]"),b(r)&&(a=" "+RegExp.prototype.toString.call(r)),w(r)&&(a=" "+Date.prototype.toUTCString.call(r)),E(r)&&(a=" "+c(r)),0===t.length&&(!u||0==r.length))return s[0]+a+s[1];if(n<0)return b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r),f=u?((e,r,n,i,t)=>{for(var o=[],a=0,u=r.length;a{if("undefined"!=typeof window)for(var t in window)try{if(!oi["$"+t]&&Kn.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{ii(window[t])}catch(t){return!0}}catch(t){return!0}return!1})(),ui=function(t){if("undefined"==typeof window||!ai)return ii(t);try{return ii(t)}catch(t){return!1}},No=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===Qn.call(t),n=ti(t),i=e&&"[object String]"===Qn.call(t),o=[];if(!e&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var a=ri&&r;if(i&&0{var r;return v(e)?t.stylize("undefined","undefined"):m(e)?(r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'",t.stylize(r,"string")):d(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):g(e)?t.stylize("null","null"):void 0})(e,r);if(t)return t;var i,t=Object.keys(r),o=(i={},t.forEach(function(t,e){i[t]=!0}),i);if(e.showHidden&&(t=Object.getOwnPropertyNames(r)),E(r)&&(0<=t.indexOf("message")||0<=t.indexOf("description")))return c(r);if(0===t.length){if(_(r))return a=r.name?": "+r.name:"",e.stylize("[Function"+a+"]","special");if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return c(r)}var a="",u=!1,s=["{","}"];if(h(r)&&(u=!0,s=["[","]"]),_(r)&&(a=" [Function"+(r.name?": "+r.name:"")+"]"),b(r)&&(a=" "+RegExp.prototype.toString.call(r)),w(r)&&(a=" "+Date.prototype.toUTCString.call(r)),E(r)&&(a=" "+c(r)),0===t.length&&(!u||0==r.length))return s[0]+a+s[1];if(n<0)return b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r),f=u?((e,r,n,i,t)=>{for(var o=[],a=0,u=r.length;a{var e;try{t()}catch(t){e=t}return e})(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!e&&s(e,r,"Missing expected exception"+n);var i="string"==typeof n,o=!t&&e&&!r;if((!t&&S.isError(e)&&i&&l(e,r)||o)&&s(e,r,"Got unwanted exception"+n),t&&e&&r&&!l(e,r)||!t&&e)throw e}o.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=a(u((r=this).actual),128)+" "+r.operator+" "+a(u(r.expected),128),this.generatedMessage=!0);var e,r=t.stackStartFunction||s;Error.captureStackTrace?Error.captureStackTrace(this,r):(t=new Error).stack&&(t=t.stack,e=i(r),0<=(e=t.indexOf("\n"+e))&&(e=t.indexOf("\n",e+1),t=t.substring(e+1)),this.stack=t)},S.inherits(o.AssertionError,Error),o.fail=s,o.ok=f,o.equal=function(t,e,r){t!=e&&s(t,e,r,"==",o.equal)},o.notEqual=function(t,e,r){t==e&&s(t,e,r,"!=",o.notEqual)},o.deepEqual=function(t,e,r){v(t,e,!1)||s(t,e,r,"deepEqual",o.deepEqual)},o.deepStrictEqual=function(t,e,r){v(t,e,!0)||s(t,e,r,"deepStrictEqual",o.deepStrictEqual)},o.notDeepEqual=function(t,e,r){v(t,e,!1)&&s(t,e,r,"notDeepEqual",o.notDeepEqual)},o.notDeepStrictEqual=function t(e,r,n){v(e,r,!0)&&s(e,r,n,"notDeepStrictEqual",t)},o.strictEqual=function(t,e,r){t!==e&&s(t,e,r,"===",o.strictEqual)},o.notStrictEqual=function(t,e,r){t===e&&s(t,e,r,"!==",o.notStrictEqual)},o.throws=function(t,e,r){c(!0,t,e,r)},o.doesNotThrow=function(t,e,r){c(!1,t,e,r)},o.ifError=function(t){if(t)throw t},o.strict=t(function t(e,r){e||s(e,!0,r,"==",t)},o,{equal:o.strictEqual,deepEqual:o.deepStrictEqual,notEqual:o.notStrictEqual,notDeepEqual:o.notDeepStrictEqual}),o.strict.strict=o.strict;var w=Object.keys||function(t){var e,r=[];for(e in t)n.call(t,e)&&r.push(e);return r}}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),{}),xi=(!function(s){!function(){function r(){return(new Date).getTime()}for(var e=Array.prototype.slice,n={},i=void 0!==s&&s.console?s.console:"undefined"!=typeof window&&window.console?window.console:{},t=[[function(){},"log"],[function(){i.log.apply(i,arguments)},"info"],[function(){i.log.apply(i,arguments)},"warn"],[function(){i.warn.apply(i,arguments)},"error"],[function(t){n[t]=r()},"time"],[function(t){var e=n[t];if(!e)throw new Error("No such label: "+t);delete n[t];e=r()-e;i.log(t+": "+e+"ms")},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=F.format.apply(null,arguments),i.error(t.stack)},"trace"],[function(t){i.log(F.inspect(t)+"\n")},"dir"],[function(t){t||(t=e.call(arguments,1),_i.ok(!1,F.format.apply(null,t)))},"assert"]],o=0;oe.byteLength-t)throw new RangeError(h("invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `%u`.",r*ru));e=new m(e,t,2*r)}}return u(this,"_buffer",e),u(this,"_length",e.length/2),this}u(T,"BYTES_PER_ELEMENT",ru),u(T,"name","Complex64Array"),u(T,"from",function(t){var e,r,n,i,o,a,u,s,f,l,c,p;if(!y(this))throw new TypeError("invalid invocation. `this` context must be a constructor.");if(!iu(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(1<(r=arguments.length)){if(!y(n=arguments[1]))throw new TypeError(h("invalid argument. Second argument must be a function. Value: `%s`.",n));2=this._length))return s(this._buffer,t)}),t(T.prototype,"buffer",function(){return this._buffer.buffer}),t(T.prototype,"byteLength",function(){return this._buffer.byteLength}),t(T.prototype,"byteOffset",function(){return this._buffer.byteOffset}),u(T.prototype,"BYTES_PER_ELEMENT",T.BYTES_PER_ELEMENT),u(T.prototype,"copyWithin",function(t,e){if(_(this))return 2===arguments.length?this._buffer.copyWithin(2*t,2*e):this._buffer.copyWithin(2*t,2*e,2*arguments[2]),this;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(T.prototype,"entries",function(){var t,e,r,n,i,o;if(_(this))return n=(t=this)._buffer,r=this._length,o=-1,u(e={},"next",function(){if(o+=1,i||r<=o)return{done:!0};return{value:[o,s(n,o)],done:!1}}),u(e,"return",function(t){if(i=!0,arguments.length)return{value:t,done:!0};return{done:!0}}),b&&u(e,b,function(){return t.entries()}),e;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(T.prototype,"every",function(t,e){var r,n;if(!_(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(r=this._buffer,n=0;n=this._length))return s(this._buffer,t)}),u(T.prototype,"includes",function(t,e){var r,n,i,o,a;if(!_(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!v(t))throw new TypeError(h("invalid argument. First argument must be a complex number. Value: `%s`.",t));if(1=this._length?e=this._length-1:e<0&&(e+=this._length)}else e=this._length-1;for(i=w(t),o=E(t),r=this._buffer,a=e;0<=a;a--)if(i===r[n=2*a]&&o===r[1+n])return a;return-1}),t(T.prototype,"length",function(){return this._length}),u(T.prototype,"map",function(t,e){var r,n,i,o,a;if(!_(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(n=this._buffer,r=(i=new this.constructor(this._length))._buffer,o=0;o=this._length)throw new RangeError(h("invalid argument. Index argument is out-of-bounds. Value: `%u`.",r));n[r*=2]=w(t),n[r+1]=E(t)}else if(_(t)){if(r+(a=t._length)>this._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*ru,(e=t._buffer).buffer===n.buffer&&e.byteOffsetf){for(i=new m(e.length),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*ru,(e=t).buffer===n.buffer&&e.byteOffsetf){for(i=new m(a),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");for(r*=2,s=0;se.byteLength-t)throw new RangeError(h("invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `%u`.",r*lu));e=new po(e,t,2*r)}}return u(this,"_buffer",e),u(this,"_length",e.length/2),this}u(k,"BYTES_PER_ELEMENT",lu),u(k,"name","Complex128Array"),u(k,"from",function(t){var e,r,n,i,o,a,u,s,f,l,c,p;if(!y(this))throw new TypeError("invalid invocation. `this` context must be a constructor.");if(!pu(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(1<(r=arguments.length)){if(!y(n=arguments[1]))throw new TypeError(h("invalid argument. Second argument must be a function. Value: `%s`.",n));2=this._length))return P(this._buffer,t)}),t(k.prototype,"buffer",function(){return this._buffer.buffer}),t(k.prototype,"byteLength",function(){return this._buffer.byteLength}),t(k.prototype,"byteOffset",function(){return this._buffer.byteOffset}),u(k.prototype,"BYTES_PER_ELEMENT",k.BYTES_PER_ELEMENT),u(k.prototype,"copyWithin",function(t,e){if(j(this))return 2===arguments.length?this._buffer.copyWithin(2*t,2*e):this._buffer.copyWithin(2*t,2*e,2*arguments[2]),this;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(k.prototype,"entries",function(){var e,t,r,n,i,o,a;if(j(this))return e=(t=this)._buffer,n=this._length,o=-1,a=-2,u(r={},"next",function(){var t;if(o+=1,i||n<=o)return{done:!0};return t=new Ba(e[a+=2],e[a+1]),{value:[o,t],done:!1}}),u(r,"return",function(t){if(i=!0,arguments.length)return{value:t,done:!0};return{done:!0}}),b&&u(r,b,function(){return t.entries()}),r;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(k.prototype,"every",function(t,e){var r,n;if(!j(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(r=this._buffer,n=0;n=this._length))return P(this._buffer,t)}),t(k.prototype,"length",function(){return this._length}),u(k.prototype,"includes",function(t,e){var r,n,i,o,a;if(!j(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!v(t))throw new TypeError(h("invalid argument. First argument must be a complex number. Value: `%s`.",t));if(1=this._length?e=this._length-1:e<0&&(e+=this._length)}else e=this._length-1;for(i=x(t),o=A(t),r=this._buffer,a=e;0<=a;a--)if(i===r[n=2*a]&&o===r[1+n])return a;return-1}),u(k.prototype,"map",function(t,e){var r,n,i,o,a;if(!j(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(n=this._buffer,r=(i=new this.constructor(this._length))._buffer,o=0;o=this._length)throw new RangeError(h("invalid argument. Index argument is out-of-bounds. Value: `%u`.",r));n[r*=2]=x(t),n[r+1]=A(t)}else if(j(t)){if(r+(a=t._length)>this._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*lu,(e=t._buffer).buffer===n.buffer&&e.byteOffsetf){for(i=new po(e.length),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*lu,(e=t).buffer===n.buffer&&e.byteOffsetf){for(i=new po(a),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");for(r*=2,s=0;st.byteLength-e)throw new RangeError(h("invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `%u`.",r*Eu));t=new Ho(t,e,r)}}return u(this,"_buffer",t),u(this,"_length",t.length),this}u(I,"BYTES_PER_ELEMENT",Eu),u(I,"name","BooleanArray"),u(I,"from",function(t){var e,r,n,i,o,a,u,s,f;if(!y(this))throw new TypeError("invalid invocation. `this` context must be a constructor.");if(!Tu(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(1<(r=arguments.length)){if(!y(n=arguments[1]))throw new TypeError(h("invalid argument. Second argument must be a function. Value: `%s`.",n));2=this._length))return l(this._buffer[t])}),u(I.prototype,"includes",function(t,e){var r,n;if(!V(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(!mu(t))throw new TypeError(h("invalid argument. First argument must be a boolean. Value: `%s`.",t));if(1=this._length?e=this._length-1:e<0&&(e+=this._length)}else e=this._length-1;for(r=this._buffer,n=e;0<=n;n--)if(t===l(r[n]))return n;return-1}),t(I.prototype,"length",function(){return this._length}),u(I.prototype,"map",function(t,e){var r,n,i,o;if(!V(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(!y(t))throw new TypeError("invalid argument. First argument must be a function. Value: `%s`.",t);for(i=this._buffer,r=(n=new this.constructor(this._length))._buffer,o=0;othis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(e=V(t)?t._buffer:t,u=n.byteOffset+r*Eu,e.buffer===n.buffer&&e.byteOffsetu){for(i=new Ho(e.length),a=0;a=this._length)throw new RangeError(h("invalid argument. Index argument is out-of-bounds. Value: `%u`.",r));n[r]=t?1:0}}),u(I.prototype,"slice",function(t,e){var r,n,i,o,a;if(!V(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(i=this._buffer,o=this._length,0===arguments.length)t=0,e=o;else{if(!vu(t))throw new TypeError(h("invalid argument. First argument must be an integer. Value: `%s`.",t));if(t<0&&(t+=o)<0&&(t=0),1===arguments.length)e=o;else{if(!vu(e))throw new TypeError(h("invalid argument. Second argument must be an integer. Value: `%s`.",e));e<0?(e+=o)<0&&(e=0):oi&&!o.warned&&(o.warned=!0,(n=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",n.emitter=t,n.type=e,n.count=o.length,r=n,console)&&console.warn&&console.warn(r)),t}function is(t,e,r){t={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},e=function(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}.bind(t);return e.listener=r,t.wrapFn=e}function os(t,e,r){t=t._events;if(void 0===t)return[];t=t[e];if(void 0===t)return[];if("function"==typeof t)return r?[t.listener||t]:[t];if(r){for(var n=t,i=new Array(n.length),o=0;o{if("undefined"!==le(tf))for(var t in tf)try{-1===Xs(Qs,t)&&Ft(tf,t)&&null!==tf[t]&&"object"===le(tf[t])&&Ks(tf[t])}catch(t){return!0}return!1})(),rf="undefined"!=typeof window;var nf=function(t){if(!1===rf&&!ef)return Ks(t);try{return Ks(t)}catch(t){return!1}},of=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"];function af(t){var e,r,n,i,o,a,u=[];if($s(t))for(a=0;a=e.length)return r();e[n](t)}()},L={editor:null,schema:null,sse:null,viz:null};function Wf(t){L.schema=new Zu(L),L.schema.resolve(t)}function $f(t){L.editor=new zf(L),L.editor.init(),L.editor.on("change",Hf),t()}function Gf(t){L.sse=new ys(L),L.sse.on("refresh",Yf),L.sse.on("patch",Jf),L.sse.on("data",Zf),L.sse.connect(t)}function qf(t){L.view=new Os(L),L.view.init(t)}function Hf(t){c("Updating rendered visualization..."),L.view.onSignal(t.path,t.value)}function Yf(t){L.schema.raw=pe(t.data),L.view.init(),L.editor.refresh()}function Jf(){}function Zf(){}function Xf(t){t?console.error(t.message):c("Successfully booted application.")}c("Booting application..."),we([Wf,qf,Gf,$f],Xf)}(); +!function(){L=function(t,e){var r=Object.prototype.toString;t.exports=function(t){var e=r.call(t);return"[object Arguments]"===e||"[object Array]"!==e&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&0<=t.length&&"[object Function]"===r.call(t.callee)}};var L,B,M=function(t){return B||L(B={exports:{},parent:t},B.exports),B.exports},U="function"==typeof Object.defineProperty?Object.defineProperty:null;var D=function(){try{return U({},"x",{}),!0}catch(t){return!1}},N=Object.defineProperty;var z=function(t){return"number"==typeof t};function W(t){for(var e="",r=0;rn.maxWidth&&(n.arg=n.arg.substring(0,n.maxWidth)),n.padZeros?n.arg=$(n.arg,n.width||n.precision,n.padRight):n.width&&(n.arg=st(n.arg,n.width,n.padRight)),o+=n.arg||"",a+=1}return o},ht=/%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g;var yt=function(t){for(var e,r,n,i=[],o=0,a=ht.exec(t);a;)(e=t.slice(o,ht.lastIndex-a[0].length)).length&&i.push(e),"%"===a[6]?i.push("%"):i.push((n=void 0,n={mapping:(r=a)[1]?parseInt(r[1],10):void 0,flags:r[2],width:r[3],precision:r[5],specifier:r[6]},"."===r[4]&&void 0===r[5]&&(n.precision="1"),n)),o=ht.lastIndex,a=ht.exec(t);return(e=t.slice(o)).length&&i.push(e),i};var dt=function(t){return"string"==typeof t};var h=function t(e){var r,n;if(!dt(e))throw new TypeError(t("invalid argument. First argument must be a string. Value: `%s`.",e));for(r=[yt(e)],n=1;n=r.length?(s=!!(c=d(o,f)))&&"get"in c&&!("originalValue"in c.get)?c.get:o[f]:(s=Je(o,f),o[f]),s&&!a&&(Qe[l]=o)}}return o},_r=$e([Er("%String.prototype.indexOf%")]),xr=he(),Tr=tr("Object.prototype.toString"),Sr=function(t){return!(xr&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===Tr(t)},ve=function(){return Sr(arguments)}(),be=(Sr.isLegacyArguments=er,ve?Sr:er),Ar=he()?(rr=tr("RegExp.prototype.exec"),nr={},ir={toString:we=function(){throw nr},valueOf:we},"symbol"==typeof Symbol.toPrimitive&&(ir[Symbol.toPrimitive]=we),function(t){if(!t||"object"!=typeof t)return!1;var e=d(t,"lastIndex");if(!(e&&Je(e,"value")))return!1;try{rr(t,ir)}catch(t){return t===nr}}):(or=tr("Object.prototype.toString"),ar="[object RegExp]",function(t){return!(!t||"object"!=typeof t&&"function"!=typeof t)&&or(t)===ar}),Or=tr("RegExp.prototype.exec"),jr=function(){if(void 0===ur)try{ur=Function("return function* () {}")().constructor}catch(t){ur=!1}return ur},kr=(e=>{if(Ar(e))return function(t){return null!==Or(e,t)};throw new p("`regex` must be a RegExp")})(/^\s*(?:function)?\*/),Fr=he(),Pr=tr("Object.prototype.toString"),Vr=tr("Function.prototype.toString"),Ir=Function.prototype.toString,Rr="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof Rr&&"function"==typeof Object.defineProperty)try{sr=Object.defineProperty({},"length",{get:function(){throw fr}}),fr={},Rr(function(){throw 42},null,sr)}catch(t){t!==fr&&(Rr=null)}else Rr=null;function Cr(t){try{return Br(t)?!1:(Ir.call(t),!0)}catch(t){return!1}}var Lr=/^\s*class\b/,Br=function(t){try{var e=Ir.call(t);return Lr.test(e)}catch(t){return!1}},Mr=Object.prototype.toString,Ur="[object Object]",Dr="[object HTMLAllCollection]",Nr="[object HTML document.all class]",zr="[object HTMLCollection]",Wr="function"==typeof Symbol&&!!Symbol.toStringTag,$r=!(0 in[,]),Gr=function(){return!1},qr=("object"==typeof document&&Mr.call(document.all)===Mr.call(document.all)&&(Gr=function(t){if(($r||!t)&&(void 0===t||"object"==typeof t))try{var e=Mr.call(t);return(e===Dr||e===Nr||e===zr||e===Ur)&&null==t("")}catch(t){}return!1}),Rr?function(t){if(Gr(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{Rr(t,null,sr)}catch(t){if(t!==fr)return!1}return!Br(t)&&Cr(t)}:function(t){var e;return!!Gr(t)||!!t&&!("function"!=typeof t&&"object"!=typeof t||!Wr&&(Br(t)||"[object Function]"!==(e=Mr.call(t))&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e)))&&Cr(t)}),Hr=Object.prototype.toString,Yr=Object.prototype.hasOwnProperty,Jr=function(t,e,r){for(var n=0,i=t.length;n{var r;return v(e)?t.stylize("undefined","undefined"):m(e)?(r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'",t.stylize(r,"string")):g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):d(e)?t.stylize("null","null"):void 0})(e,r);if(t)return t;var i,t=Object.keys(r),o=(i={},t.forEach(function(t,e){i[t]=!0}),i);if(e.showHidden&&(t=Object.getOwnPropertyNames(r)),E(r)&&(0<=t.indexOf("message")||0<=t.indexOf("description")))return c(r);if(0===t.length){if(_(r))return a=r.name?": "+r.name:"",e.stylize("[Function"+a+"]","special");if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return c(r)}var a="",u=!1,s=["{","}"];if(h(r)&&(u=!0,s=["[","]"]),_(r)&&(a=" [Function"+(r.name?": "+r.name:"")+"]"),b(r)&&(a=" "+RegExp.prototype.toString.call(r)),w(r)&&(a=" "+Date.prototype.toUTCString.call(r)),E(r)&&(a=" "+c(r)),0===t.length&&(!u||0==r.length))return s[0]+a+s[1];if(n<0)return b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r),f=u?((e,r,n,i,t)=>{for(var o=[],a=0,u=r.length;a{if("undefined"!=typeof window)for(var t in window)try{if(!oi["$"+t]&&Kn.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{ii(window[t])}catch(t){return!0}}catch(t){return!0}return!1})(),ui=function(t){if("undefined"==typeof window||!ai)return ii(t);try{return ii(t)}catch(t){return!1}},zo=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===Qn.call(t),n=ti(t),i=e&&"[object String]"===Qn.call(t),o=[];if(!e&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var a=ri&&r;if(i&&0{var r;return v(e)?t.stylize("undefined","undefined"):m(e)?(r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'",t.stylize(r,"string")):g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):d(e)?t.stylize("null","null"):void 0})(e,r);if(t)return t;var i,t=Object.keys(r),o=(i={},t.forEach(function(t,e){i[t]=!0}),i);if(e.showHidden&&(t=Object.getOwnPropertyNames(r)),E(r)&&(0<=t.indexOf("message")||0<=t.indexOf("description")))return c(r);if(0===t.length){if(_(r))return a=r.name?": "+r.name:"",e.stylize("[Function"+a+"]","special");if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(w(r))return e.stylize(Date.prototype.toString.call(r),"date");if(E(r))return c(r)}var a="",u=!1,s=["{","}"];if(h(r)&&(u=!0,s=["[","]"]),_(r)&&(a=" [Function"+(r.name?": "+r.name:"")+"]"),b(r)&&(a=" "+RegExp.prototype.toString.call(r)),w(r)&&(a=" "+Date.prototype.toUTCString.call(r)),E(r)&&(a=" "+c(r)),0===t.length&&(!u||0==r.length))return s[0]+a+s[1];if(n<0)return b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r),f=u?((e,r,n,i,t)=>{for(var o=[],a=0,u=r.length;a{var e;try{t()}catch(t){e=t}return e})(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!e&&s(e,r,"Missing expected exception"+n);var i="string"==typeof n,o=!t&&e&&!r;if((!t&&A.isError(e)&&i&&l(e,r)||o)&&s(e,r,"Got unwanted exception"+n),t&&e&&r&&!l(e,r)||!t&&e)throw e}o.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=a(u((r=this).actual),128)+" "+r.operator+" "+a(u(r.expected),128),this.generatedMessage=!0);var e,r=t.stackStartFunction||s;Error.captureStackTrace?Error.captureStackTrace(this,r):(t=new Error).stack&&(t=t.stack,e=i(r),0<=(e=t.indexOf("\n"+e))&&(e=t.indexOf("\n",e+1),t=t.substring(e+1)),this.stack=t)},A.inherits(o.AssertionError,Error),o.fail=s,o.ok=f,o.equal=function(t,e,r){t!=e&&s(t,e,r,"==",o.equal)},o.notEqual=function(t,e,r){t==e&&s(t,e,r,"!=",o.notEqual)},o.deepEqual=function(t,e,r){v(t,e,!1)||s(t,e,r,"deepEqual",o.deepEqual)},o.deepStrictEqual=function(t,e,r){v(t,e,!0)||s(t,e,r,"deepStrictEqual",o.deepStrictEqual)},o.notDeepEqual=function(t,e,r){v(t,e,!1)&&s(t,e,r,"notDeepEqual",o.notDeepEqual)},o.notDeepStrictEqual=function t(e,r,n){v(e,r,!0)&&s(e,r,n,"notDeepStrictEqual",t)},o.strictEqual=function(t,e,r){t!==e&&s(t,e,r,"===",o.strictEqual)},o.notStrictEqual=function(t,e,r){t===e&&s(t,e,r,"!==",o.notStrictEqual)},o.throws=function(t,e,r){c(!0,t,e,r)},o.doesNotThrow=function(t,e,r){c(!1,t,e,r)},o.ifError=function(t){if(t)throw t},o.strict=t(function t(e,r){e||s(e,!0,r,"==",t)},o,{equal:o.strictEqual,deepEqual:o.deepStrictEqual,notEqual:o.notStrictEqual,notDeepEqual:o.notDeepStrictEqual}),o.strict.strict=o.strict;var w=Object.keys||function(t){var e,r=[];for(e in t)n.call(t,e)&&r.push(e);return r}}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),{}),Ti=(!function(s){!function(){function r(){return(new Date).getTime()}for(var e=Array.prototype.slice,n={},i=void 0!==s&&s.console?s.console:"undefined"!=typeof window&&window.console?window.console:{},t=[[function(){},"log"],[function(){i.log.apply(i,arguments)},"info"],[function(){i.log.apply(i,arguments)},"warn"],[function(){i.warn.apply(i,arguments)},"error"],[function(t){n[t]=r()},"time"],[function(t){var e=n[t];if(!e)throw new Error("No such label: "+t);delete n[t];e=r()-e;i.log(t+": "+e+"ms")},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=k.format.apply(null,arguments),i.error(t.stack)},"trace"],[function(t){i.log(k.inspect(t)+"\n")},"dir"],[function(t){t||(t=e.call(arguments,1),_i.ok(!1,k.format.apply(null,t)))},"assert"]],o=0;oe.byteLength-t)throw new RangeError(h("invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `%u`.",r*iu));e=new m(e,t,2*r)}}return u(this,"_buffer",e),u(this,"_length",e.length/2),this}u(x,"BYTES_PER_ELEMENT",iu),u(x,"name","Complex64Array"),u(x,"from",function(t){var e,r,n,i,o,a,u,s,f,l,c,p;if(!y(this))throw new TypeError("invalid invocation. `this` context must be a constructor.");if(!au(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(1<(r=arguments.length)){if(!y(n=arguments[1]))throw new TypeError(h("invalid argument. Second argument must be a function. Value: `%s`.",n));2=this._length))return s(this._buffer,t)}),t(x.prototype,"buffer",function(){return this._buffer.buffer}),t(x.prototype,"byteLength",function(){return this._buffer.byteLength}),t(x.prototype,"byteOffset",function(){return this._buffer.byteOffset}),u(x.prototype,"BYTES_PER_ELEMENT",x.BYTES_PER_ELEMENT),u(x.prototype,"copyWithin",function(t,e){if(_(this))return 2===arguments.length?this._buffer.copyWithin(2*t,2*e):this._buffer.copyWithin(2*t,2*e,2*arguments[2]),this;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(x.prototype,"entries",function(){var t,e,r,n,i,o;if(_(this))return n=(t=this)._buffer,r=this._length,o=-1,u(e={},"next",function(){if(o+=1,i||r<=o)return{done:!0};return{value:[o,s(n,o)],done:!1}}),u(e,"return",function(t){if(i=!0,arguments.length)return{value:t,done:!0};return{done:!0}}),b&&u(e,b,function(){return t.entries()}),e;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(x.prototype,"every",function(t,e){var r,n;if(!_(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(r=this._buffer,n=0;n=this._length))return s(this._buffer,t)}),u(x.prototype,"includes",function(t,e){var r,n,i,o,a;if(!_(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!v(t))throw new TypeError(h("invalid argument. First argument must be a complex number. Value: `%s`.",t));if(1=this._length?e=this._length-1:e<0&&(e+=this._length)}else e=this._length-1;for(i=w(t),o=E(t),r=this._buffer,a=e;0<=a;a--)if(i===r[n=2*a]&&o===r[1+n])return a;return-1}),t(x.prototype,"length",function(){return this._length}),u(x.prototype,"map",function(t,e){var r,n,i,o,a;if(!_(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(n=this._buffer,r=(i=new this.constructor(this._length))._buffer,o=0;o=this._length)throw new RangeError(h("invalid argument. Index argument is out-of-bounds. Value: `%u`.",r));n[r*=2]=w(t),n[r+1]=E(t)}else if(_(t)){if(r+(a=t._length)>this._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*iu,(e=t._buffer).buffer===n.buffer&&e.byteOffsetf){for(i=new m(e.length),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*iu,(e=t).buffer===n.buffer&&e.byteOffsetf){for(i=new m(a),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");for(r*=2,s=0;se.byteLength-t)throw new RangeError(h("invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `%u`.",r*pu));e=new yo(e,t,2*r)}}return u(this,"_buffer",e),u(this,"_length",e.length/2),this}u(P,"BYTES_PER_ELEMENT",pu),u(P,"name","Complex128Array"),u(P,"from",function(t){var e,r,n,i,o,a,u,s,f,l,c,p;if(!y(this))throw new TypeError("invalid invocation. `this` context must be a constructor.");if(!yu(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(1<(r=arguments.length)){if(!y(n=arguments[1]))throw new TypeError(h("invalid argument. Second argument must be a function. Value: `%s`.",n));2=this._length))return F(this._buffer,t)}),t(P.prototype,"buffer",function(){return this._buffer.buffer}),t(P.prototype,"byteLength",function(){return this._buffer.byteLength}),t(P.prototype,"byteOffset",function(){return this._buffer.byteOffset}),u(P.prototype,"BYTES_PER_ELEMENT",P.BYTES_PER_ELEMENT),u(P.prototype,"copyWithin",function(t,e){if(O(this))return 2===arguments.length?this._buffer.copyWithin(2*t,2*e):this._buffer.copyWithin(2*t,2*e,2*arguments[2]),this;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(P.prototype,"entries",function(){var e,t,r,n,i,o,a;if(O(this))return e=(t=this)._buffer,n=this._length,o=-1,a=-2,u(r={},"next",function(){var t;if(o+=1,i||n<=o)return{done:!0};return t=new Ma(e[a+=2],e[a+1]),{value:[o,t],done:!1}}),u(r,"return",function(t){if(i=!0,arguments.length)return{value:t,done:!0};return{done:!0}}),b&&u(r,b,function(){return t.entries()}),r;throw new TypeError("invalid invocation. `this` is not a complex number array.")}),u(P.prototype,"every",function(t,e){var r,n;if(!O(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(r=this._buffer,n=0;n=this._length))return F(this._buffer,t)}),t(P.prototype,"length",function(){return this._length}),u(P.prototype,"includes",function(t,e){var r,n,i,o,a;if(!O(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!v(t))throw new TypeError(h("invalid argument. First argument must be a complex number. Value: `%s`.",t));if(1=this._length?e=this._length-1:e<0&&(e+=this._length)}else e=this._length-1;for(i=T(t),o=S(t),r=this._buffer,a=e;0<=a;a--)if(i===r[n=2*a]&&o===r[1+n])return a;return-1}),u(P.prototype,"map",function(t,e){var r,n,i,o,a;if(!O(this))throw new TypeError("invalid invocation. `this` is not a complex number array.");if(!y(t))throw new TypeError(h("invalid argument. First argument must be a function. Value: `%s`.",t));for(n=this._buffer,r=(i=new this.constructor(this._length))._buffer,o=0;o=this._length)throw new RangeError(h("invalid argument. Index argument is out-of-bounds. Value: `%u`.",r));n[r*=2]=T(t),n[r+1]=S(t)}else if(O(t)){if(r+(a=t._length)>this._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*pu,(e=t._buffer).buffer===n.buffer&&e.byteOffsetf){for(i=new yo(e.length),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(f=n.byteOffset+r*pu,(e=t).buffer===n.buffer&&e.byteOffsetf){for(i=new yo(a),s=0;sthis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");for(r*=2,s=0;st.byteLength-e)throw new RangeError(h("invalid arguments. ArrayBuffer has insufficient capacity. Either decrease the array length or provide a bigger buffer. Minimum capacity: `%u`.",r*xu));t=new Jo(t,e,r)}}return u(this,"_buffer",t),u(this,"_length",t.length),this}u(I,"BYTES_PER_ELEMENT",xu),u(I,"name","BooleanArray"),u(I,"from",function(t){var e,r,n,i,o,a,u,s,f;if(!y(this))throw new TypeError("invalid invocation. `this` context must be a constructor.");if(!Su(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(1<(r=arguments.length)){if(!y(n=arguments[1]))throw new TypeError(h("invalid argument. Second argument must be a function. Value: `%s`.",n));2=this._length))return l(this._buffer[t])}),u(I.prototype,"includes",function(t,e){var r,n;if(!V(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(!bu(t))throw new TypeError(h("invalid argument. First argument must be a boolean. Value: `%s`.",t));if(1=this._length?e=this._length-1:e<0&&(e+=this._length)}else e=this._length-1;for(r=this._buffer,n=e;0<=n;n--)if(t===l(r[n]))return n;return-1}),t(I.prototype,"length",function(){return this._length}),u(I.prototype,"map",function(t,e){var r,n,i,o;if(!V(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(!y(t))throw new TypeError("invalid argument. First argument must be a function. Value: `%s`.",t);for(i=this._buffer,r=(n=new this.constructor(this._length))._buffer,o=0;othis._length)throw new RangeError("invalid arguments. Target array lacks sufficient storage to accommodate source values.");if(e=V(t)?t._buffer:t,u=n.byteOffset+r*xu,e.buffer===n.buffer&&e.byteOffsetu){for(i=new Jo(e.length),a=0;a=this._length)throw new RangeError(h("invalid argument. Index argument is out-of-bounds. Value: `%u`.",r));n[r]=t?1:0}}),u(I.prototype,"slice",function(t,e){var r,n,i,o,a;if(!V(this))throw new TypeError("invalid invocation. `this` is not a boolean array.");if(i=this._buffer,o=this._length,0===arguments.length)t=0,e=o;else{if(!wu(t))throw new TypeError(h("invalid argument. First argument must be an integer. Value: `%s`.",t));if(t<0&&(t+=o)<0&&(t=0),1===arguments.length)e=o;else{if(!wu(e))throw new TypeError(h("invalid argument. Second argument must be an integer. Value: `%s`.",e));e<0?(e+=o)<0&&(e=0):oi&&!o.warned&&(o.warned=!0,(n=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",n.emitter=t,n.type=e,n.count=o.length,r=n,console)&&console.warn&&console.warn(r)),t}function as(t,e,r){t={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},e=function(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}.bind(t);return e.listener=r,t.wrapFn=e}function us(t,e,r){t=t._events;if(void 0===t)return[];t=t[e];if(void 0===t)return[];if("function"==typeof t)return r?[t.listener||t]:[t];if(r){for(var n=t,i=new Array(n.length),o=0;o{if("undefined"!==le(rf))for(var t in rf)try{-1===Qs(ef,t)&&kt(rf,t)&&null!==rf[t]&&"object"===le(rf[t])&&tf(rf[t])}catch(t){return!0}return!1})(),of="undefined"!=typeof window;var af=function(t){if(!1===of&&!nf)return tf(t);try{return tf(t)}catch(t){return!1}},uf=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"];function sf(t){var e,r,n,i,o,a,u=[];if(qs(t))for(a=0;a=e.length)return r();e[n](t)}()},C={editor:null,schema:null,sse:null,viz:null};function Kf(t){C.schema=new Ku(C),C.schema.resolve(t)}function Qf(t){C.editor=new Xf(C),C.editor.init(),C.editor.on("change",rl),t()}function tl(t){C.sse=new gs(C),C.sse.on("refresh",nl),C.sse.on("patch",il),C.sse.on("data",ol),C.sse.connect(t)}function el(t){C.view=new Fs(C),C.view.init(t)}function rl(t){c("Updating rendered visualization..."),C.view.onSignal(t.path,t.value)}function nl(t){C.schema.raw=pe(t.data),C.view.init(),C.editor.refresh()}function il(){}function ol(){}function al(t){t?console.error(t.message):c("Successfully booted application.")}c("Booting application..."),_e([Kf,el,tl,Qf],al)}(); diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/main.js new file mode 100644 index 000000000000..d0a9b63d4f62 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/main.js @@ -0,0 +1,57 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickBand' ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/schema.json new file mode 100644 index 000000000000..c619185a2ce0 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-band/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickBand", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/main.js new file mode 100644 index 000000000000..458cd18af2c7 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/main.js @@ -0,0 +1,57 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickCap' ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/schema.json new file mode 100644 index 000000000000..e87ab7b82c59 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-cap/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickCap", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/main.js new file mode 100644 index 000000000000..d3bab75ae9ea --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toTickCount; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickCount', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/schema.json new file mode 100644 index 000000000000..30a098da1f08 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-count/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickCount", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/main.js new file mode 100644 index 000000000000..21f3c5f02baf --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toNumber; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickDashOffset', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/schema.json new file mode 100644 index 000000000000..4d00f0feca36 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash-offset/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickDashOffset", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/main.js new file mode 100644 index 000000000000..cd758a76f00a --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toIntegerArray; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickDash', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/schema.json new file mode 100644 index 000000000000..1efe487c8604 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-dash/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickDash", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/main.js new file mode 100644 index 000000000000..f909ebe85b53 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toBoolean; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickExtra', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/schema.json new file mode 100644 index 000000000000..0fd46e39244a --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-extra/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickExtra", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/main.js new file mode 100644 index 000000000000..d218aaaf41d6 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toNumber; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickMinStep', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/schema.json new file mode 100644 index 000000000000..958f4b5915a4 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-min-step/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickMinStep", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/main.js new file mode 100644 index 000000000000..865ae19c36ee --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toNumber; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickOffset', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/schema.json new file mode 100644 index 000000000000..781bd70517bf --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-offset/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickOffset", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/main.js new file mode 100644 index 000000000000..c6bd7011d198 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toNumber; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickOpacity', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/schema.json new file mode 100644 index 000000000000..45809e3de743 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-opacity/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickOpacity", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/main.js new file mode 100644 index 000000000000..3896f13c9344 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toBoolean; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickRound', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/schema.json new file mode 100644 index 000000000000..7e4e8434650d --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-round/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickRound", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/main.js new file mode 100644 index 000000000000..962d77c5da23 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toNumber; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickSize', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/schema.json new file mode 100644 index 000000000000..b107c9c60f5c --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-size/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickSize", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/main.js new file mode 100644 index 000000000000..ce49644da904 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toNumber; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'tickWidth', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/schema.json new file mode 100644 index 000000000000..fab1dca5b5ab --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/tick-width/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/tickWidth", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/index.js new file mode 100644 index 000000000000..3d563c0612f1 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/index.js @@ -0,0 +1,43 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var schema = require( './schema.json' ); +var handler = require( './main.js' ); + + +// MAIN // + +/** +* Defines a route handler for receiving updating a plot configuration. +* +* @private +* @returns {Object} route declaration +*/ +function route() { + schema.handler = handler; + return schema; +} + + +// EXPORTS // + +module.exports = route; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/main.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/main.js new file mode 100644 index 000000000000..c637246bd152 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/main.js @@ -0,0 +1,58 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var middleware = require( './../../../../middleware_sequence.js' ); +var allowCredentials = require( './../../../../middleware/allow-credentials' ); +var tryAssign = require( './../../../../middleware/plot-try-assign' ); +var body = require( './../../../../middleware/body' ); +var ok = require( './../../../../middleware/ok' ); +var onError = require( './../../../../middleware/error' ); +var transform = require( './../../transforms.js' ).toBoolean; + + +// VARIABLES // + +var steps = [ + allowCredentials, + body, + tryAssign( [ 'config', 'axes', ':axis' ], 'ticks', transform ), + ok +]; + + +// MAIN // + +/** +* Request handler for updating a plot configuration. +* +* @private +* @name handler +* @type {Function} +* @param {Object} request - request object +* @param {Object} response - response object +*/ +var handler = middleware( steps, onError ); + + +// EXPORTS // + +module.exports = handler; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/schema.json b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/schema.json new file mode 100644 index 000000000000..83863a300c28 --- /dev/null +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/axes/ticks/schema.json @@ -0,0 +1,40 @@ +{ + "method": "POST", + "url": "/config/axes/:axis/ticks", + "schema": { + "response": { + "200": { + "type": "string" + }, + "400": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "413": { + "type": "object", + "properties": { + "statusCode": { + "type": "integer" + }, + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + }, + "handler": null +} diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js index f8e5ed389bc0..83503f18ceb7 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js @@ -126,6 +126,39 @@ function toIntegerArray( value ) { return out; } +/** +* Transforms a request body to a valid tick count value. +* +* @private +* @param {string} value - raw request body +* @returns {(number|string|Object|void)} transformed value +*/ +function toTickCount( value ) { + var parts; + var n; + var v; + + v = trim( value ); + if ( v === '' ) { + return void 0; + } + + n = Number( v ); + if ( !isnan( n ) ) { + return n; + } + + if ( v.indexOf( ',' ) !== -1 ) { + parts = v.split( /\s*,\s*/ ); + return { + 'interval': parts[0], + 'step': parseInt( parts[1], 10 ) + }; + } + + return v; +} + /** * Transforms a request body to either a string or `undefined`. * @@ -153,6 +186,7 @@ var transforms = { // eslint-disable-line vars-on-top 'toJSON': toJSON, 'toNumber': toNumber, 'toIntegerArray': toIntegerArray, + 'toTickCount': toTickCount, 'empty2undefined': empty2undefined }; diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/index.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/index.js index fca4421960a1..d084700720df 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/index.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/index.js @@ -51,7 +51,20 @@ var axesGridScale = require( './config/axes/grid-scale' ); var axesGridWidth = require( './config/axes/grid-width' ); var axesLabels = require( './config/axes/labels' ); var axesOrient = require( './config/axes/orient' ); +var axesTickBand = require( './config/axes/tick-band' ); +var axesTickCap = require( './config/axes/tick-cap' ); var axesTickColor = require( './config/axes/tick-color' ); +var axesTickCount = require( './config/axes/tick-count' ); +var axesTickDash = require( './config/axes/tick-dash' ); +var axesTickDashOffset = require( './config/axes/tick-dash-offset' ); +var axesTickExtra = require( './config/axes/tick-extra' ); +var axesTickMinStep = require( './config/axes/tick-min-step' ); +var axesTickOffset = require( './config/axes/tick-offset' ); +var axesTickOpacity = require( './config/axes/tick-opacity' ); +var axesTickRound = require( './config/axes/tick-round' ); +var axesTicks = require( './config/axes/ticks' ); +var axesTickSize = require( './config/axes/tick-size' ); +var axesTickWidth = require( './config/axes/tick-width' ); var axesTitle = require( './config/axes/title' ); var axesTitleColor = require( './config/axes/title-color' ); var axesTitleFont = require( './config/axes/title-font' ); @@ -141,7 +154,20 @@ function register( router ) { router.route( axesGridWidth() ); // /config/axes/:axis/gridWidth router.route( axesLabels() ); // /config/axes/:axis/labels router.route( axesOrient() ); // /config/axes/:axis/orient + router.route( axesTickBand() ); // /config/axes/:axis/tickBand + router.route( axesTickCap() ); // /config/axes/:axis/tickCap router.route( axesTickColor() ); // /config/axes/:axis/tickColor + router.route( axesTickCount() ); // /config/axes/:axis/tickCount + router.route( axesTickDash() ); // /config/axes/:axis/tickDash + router.route( axesTickDashOffset() ); // /config/axes/:axis/tickDashOffset + router.route( axesTickExtra() ); // /config/axes/:axis/tickExtra + router.route( axesTickMinStep() ); // /config/axes/:axis/tickMinStep + router.route( axesTickOffset() ); // /config/axes/:axis/tickOffset + router.route( axesTickOpacity() ); // /config/axes/:axis/tickOpacity + router.route( axesTickRound() ); // /config/axes/:axis/tickRound + router.route( axesTicks() ); // /config/axes/:axis/ticks + router.route( axesTickSize() ); // /config/axes/:axis/tickSize + router.route( axesTickWidth() ); // /config/axes/:axis/tickWidth router.route( axesTitle() ); // /config/axes/:axis/title router.route( axesTitleColor() ); // /config/axes/:axis/titleColor router.route( axesTitleFont() ); // /config/axes/:axis/titleFont diff --git a/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js b/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js index ac5d7f06e2be..d296feffc2d1 100644 --- a/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js +++ b/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js @@ -16,11 +16,14 @@ * limitations under the License. */ +/* eslint-disable max-lines-per-function */ + 'use strict'; // MODULES // var strokeCaps = require( '@stdlib/plot/vega/base/stroke-caps' ); +var axisTickStyles = require( '@stdlib/plot/vega/axis/tick-styles' ); // MAIN // @@ -138,6 +141,89 @@ function config() { 'min': 0, 'units': 'px' }, + 'tickBand': { + 'description': 'axis tick style to use in conjunction with band scales', + 'property': 'tickBand', + 'default': '', + 'type': 'oneOf', + 'values': axisTickStyles() + }, + 'tickCap': { + 'description': 'stroke cap for axis tick marks', + 'property': 'tickCap', + 'default': 'butt', + 'type': 'oneOf', + 'values': strokeCaps() + }, + 'tickColor': { + 'description': 'color of axis tick marks', + 'property': 'tickColor', + 'default': '#000', + 'type': 'string' + }, + 'tickCount': { + 'description': 'number of axis tick marks for an axis visualizing a quantitative scale', + 'property': 'tickCount', + 'default': '', + 'type': 'string' + }, + 'tickDash': { + 'description': 'stroke dash of axis tick marks', + 'property': 'tickDash', + 'default': '', + 'type': 'string' + }, + 'tickDashOffset': { + 'description': 'pixel offset at which to start an axis tick mark stroke dash', + 'property': 'tickDashOffset', + 'default': 0, + 'type': 'number', + 'units': 'px' + }, + 'tickMinStep': { + 'description': 'minimum desired step between axis tick marks', + 'property': 'tickMinStep', + 'default': 0, + 'type': 'number', + 'min': 0 + }, + 'tickOffset': { + 'description': 'position offset to apply to axis tick marks, labels, and gridlines', + 'property': 'tickOffset', + 'default': 0, + 'type': 'number', + 'units': 'px' + }, + 'tickOpacity': { + 'description': 'opacity of axis tick marks', + 'property': 'tickOpacity', + 'default': 1, + 'type': 'number', + 'min': 0, + 'max': 1 + }, + 'ticks': { + 'description': 'whether to include axis tick marks as part of an axis', + 'property': 'ticks', + 'default': true, + 'type': 'boolean' + }, + 'tickSize': { + 'description': 'length of axis tick marks', + 'property': 'tickSize', + 'default': 1, + 'type': 'number', + 'min': 0, + 'units': 'px' + }, + 'tickWidth': { + 'description': 'width of axis tick marks', + 'property': 'tickWidth', + 'default': 1, + 'type': 'number', + 'min': 0, + 'units': 'px' + }, 'title': { 'description': 'title text', 'property': 'title', From 89aaf2cdc596dff48df4629800254a702cbb1109 Mon Sep 17 00:00:00 2001 From: gururaj1512 Date: Fri, 15 May 2026 02:15:16 +0530 Subject: [PATCH 2/9] refactor: use isString helper for type checking in on_change handler --- .../@stdlib/plot/base/view/lib/browser/app/editor/on_change.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js index 6e2777ccd33c..92ddde6aa699 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js @@ -24,6 +24,7 @@ var parseJSON = require( '@stdlib/utils/parse-json' ); var isJSON = require( '@stdlib/assert/is-json' ); +var isString = require( '@stdlib/assert/is-string' ).isPrimitive; var trim = require( '@stdlib/string/base/trim' ); var Number = require( '@stdlib/number/ctor' ); var join = require( '@stdlib/array/base/join' ); @@ -113,7 +114,7 @@ function onChange( event ) { if ( !( tmp instanceof Error ) ) { val = tmp; } - } else if ( typeof val === 'string' ) { + } else if ( isString( val ) ) { tmp = trim( val ); if ( prop === 'tickCount' ) { n = Number( tmp ); From 2a4e04109b24a4f59b0151217139b5f1b9cc160a Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 16:59:31 -0700 Subject: [PATCH 3/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../@stdlib/plot/base/view/lib/browser/app/editor/on_change.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js index 92ddde6aa699..e96aaf29a53a 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js @@ -143,7 +143,7 @@ function onChange( event ) { log( 'Attempting to update configuration...' ); url = URL_PREFIX+'/'+( ( path ) ? path+'/' : path )+prop; - fetch( url, requestOptions( event.value.toString() ) ) + fetch( url, requestOptions( event.value.toString() ) ) // eslint-disable-line n/no-unsupported-features/node-builtins .then( onResponse ) .catch( onError ); From 55815413c44b7b8f0109156b013ff9efc1280583 Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 17:04:43 -0700 Subject: [PATCH 4/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../plot/base/view/lib/browser/app/schema/transforms/axis.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js index 4a221233750d..1c33c333c0a3 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js @@ -97,7 +97,7 @@ function transform( schema, signals, defaults, prefix ) { if ( k == 'tickCount' ) { signals.push({ 'name': name, - 'value': value !== '' ? value : void 0 + 'value': ( value === '' ) ? void 0 : value }); } else { signals.push({ From e5c9eb27a739c8c8bdfb0c0399ec5e4bbedea5b8 Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 17:08:54 -0700 Subject: [PATCH 5/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../plot/base/view/lib/browser/routes/config/transforms.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js index 83503f18ceb7..7d47249a7b9a 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js @@ -142,12 +142,10 @@ function toTickCount( value ) { if ( v === '' ) { return void 0; } - n = Number( v ); if ( !isnan( n ) ) { return n; } - if ( v.indexOf( ',' ) !== -1 ) { parts = v.split( /\s*,\s*/ ); return { From 1c8ad74a0e2d35975981b0ae9ecf75e4159b0a08 Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 17:10:24 -0700 Subject: [PATCH 6/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../plot/base/view/lib/browser/routes/config/transforms.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js index 7d47249a7b9a..5c20a4391684 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/transforms.js @@ -153,7 +153,6 @@ function toTickCount( value ) { 'step': parseInt( parts[1], 10 ) }; } - return v; } From 324733ae7142a6c57b1713580f3116e13cff386e Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 17:11:55 -0700 Subject: [PATCH 7/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../@stdlib/plot/vega/editor-config/axis/lib/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js b/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js index d296feffc2d1..a0ca180363ff 100644 --- a/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js +++ b/lib/node_modules/@stdlib/plot/vega/editor-config/axis/lib/main.js @@ -159,7 +159,7 @@ function config() { 'description': 'color of axis tick marks', 'property': 'tickColor', 'default': '#000', - 'type': 'string' + 'type': 'color' }, 'tickCount': { 'description': 'number of axis tick marks for an axis visualizing a quantitative scale', From dc661d4d65d1d74cf55cebcb1975ac505160f39d Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 17:13:17 -0700 Subject: [PATCH 8/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../@stdlib/plot/base/view/lib/browser/app/editor/on_change.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js index e96aaf29a53a..6bc5bd664b3d 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/on_change.js @@ -27,6 +27,7 @@ var isJSON = require( '@stdlib/assert/is-json' ); var isString = require( '@stdlib/assert/is-string' ).isPrimitive; var trim = require( '@stdlib/string/base/trim' ); var Number = require( '@stdlib/number/ctor' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); var join = require( '@stdlib/array/base/join' ); var log = require( './../log.js' ); var config = require( './../config.js' ); @@ -120,7 +121,7 @@ function onChange( event ) { n = Number( tmp ); if ( tmp === '' ) { val = void 0; - } else if ( !isNaN( n ) ) { + } else if ( !isnan( n ) ) { val = n; } else if ( tmp.indexOf( ',' ) !== -1 ) { tmp = tmp.split( /\s*,\s*/ ); From 04e7434b4faed58b302fe5d4de231e6be74b344b Mon Sep 17 00:00:00 2001 From: Athan Date: Thu, 14 May 2026 17:17:26 -0700 Subject: [PATCH 9/9] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- .../plot/base/view/lib/browser/app/schema/transforms/axis.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js index 1c33c333c0a3..7ef03b1e628a 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/axis.js @@ -92,9 +92,9 @@ function transform( schema, signals, defaults, prefix ) { v = schema[ k ]; if ( !isSignalReference( v ) ) { name = signalName( prefix+k ); - value = isUndefined( v ) ? defaults[ k ].default : v; + value = ( isUndefined( v ) ) ? defaults[ k ].default : v; - if ( k == 'tickCount' ) { + if ( k === 'tickCount' ) { signals.push({ 'name': name, 'value': ( value === '' ) ? void 0 : value