From 6b526cbe18a23528f1ba4cab9ec344c2c3d72dc3 Mon Sep 17 00:00:00 2001 From: Sachinn-64 Date: Mon, 26 Oct 2026 18:22:25 +0530 Subject: [PATCH] feat: add route and menu support to legend symbol properties --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../lib/browser/app/editor/config/legend.js | 13 +++- .../lib/browser/app/editor/menus/legend.js | 28 ++++++++ .../browser/app/schema/transforms/legend.js | 10 +++ .../view/lib/browser/routes/app/bundle.js | 2 +- .../legends/symbol-dash-offset/index.js | 43 ++++++++++++ .../config/legends/symbol-dash-offset/main.js | 58 +++++++++++++++ .../legends/symbol-dash-offset/schema.json | 40 +++++++++++ .../config/legends/symbol-dash/index.js | 43 ++++++++++++ .../routes/config/legends/symbol-dash/main.js | 58 +++++++++++++++ .../config/legends/symbol-dash/schema.json | 40 +++++++++++ .../config/legends/symbol-fill-color/index.js | 43 ++++++++++++ .../config/legends/symbol-fill-color/main.js | 58 +++++++++++++++ .../legends/symbol-fill-color/schema.json | 40 +++++++++++ .../config/legends/symbol-limit/index.js | 43 ++++++++++++ .../config/legends/symbol-limit/main.js | 58 +++++++++++++++ .../config/legends/symbol-limit/schema.json | 40 +++++++++++ .../config/legends/symbol-offset/index.js | 43 ++++++++++++ .../config/legends/symbol-offset/main.js | 58 +++++++++++++++ .../config/legends/symbol-offset/schema.json | 40 +++++++++++ .../config/legends/symbol-opacity/index.js | 43 ++++++++++++ .../config/legends/symbol-opacity/main.js | 58 +++++++++++++++ .../config/legends/symbol-opacity/schema.json | 40 +++++++++++ .../config/legends/symbol-size/index.js | 43 ++++++++++++ .../routes/config/legends/symbol-size/main.js | 58 +++++++++++++++ .../config/legends/symbol-size/schema.json | 40 +++++++++++ .../legends/symbol-stroke-color/index.js | 43 ++++++++++++ .../legends/symbol-stroke-color/main.js | 58 +++++++++++++++ .../legends/symbol-stroke-color/schema.json | 40 +++++++++++ .../legends/symbol-stroke-width/index.js | 43 ++++++++++++ .../legends/symbol-stroke-width/main.js | 58 +++++++++++++++ .../legends/symbol-stroke-width/schema.json | 40 +++++++++++ .../config/legends/symbol-type/index.js | 43 ++++++++++++ .../routes/config/legends/symbol-type/main.js | 58 +++++++++++++++ .../config/legends/symbol-type/schema.json | 40 +++++++++++ .../base/view/lib/browser/routes/index.js | 20 ++++++ .../vega/editor-config/legend/lib/main.js | 70 +++++++++++++++++++ 36 files changed, 1551 insertions(+), 2 deletions(-) create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-dash-offset/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-dash-offset/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-dash-offset/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-dash/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-dash/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-dash/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-fill-color/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-fill-color/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-fill-color/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-limit/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-limit/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-limit/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-offset/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-offset/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-offset/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-opacity/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-opacity/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-opacity/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-size/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-size/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-size/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-stroke-color/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-stroke-color/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-stroke-color/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-stroke-width/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-stroke-width/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-stroke-width/schema.json create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-type/index.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-type/main.js create mode 100644 lib/node_modules/@stdlib/plot/base/view/lib/browser/routes/config/legends/symbol-type/schema.json diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/legend.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/legend.js index 6bb89ff73266..3d7697589334 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/legend.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/config/legend.js @@ -32,6 +32,15 @@ var resolveSchemaValue = require( './resolve_schema_value.js' ); var PROPS = [ 'direction', 'orient', + 'symbolDashOffset', + 'symbolFillColor', + 'symbolLimit', + 'symbolOffset', + 'symbolOpacity', + 'symbolSize', + 'symbolStrokeColor', + 'symbolStrokeWidth', + 'symbolType', 'titleAlign', 'titleAnchor', 'titleBaseline', @@ -47,7 +56,9 @@ var PROPS = [ 'titlePadding', 'type' ]; -var ARRAY_PROPS = []; +var ARRAY_PROPS = [ + 'symbolDash' +]; var SCHEMA_PROPS = []; var TEXT_PROPS = [ 'title' diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/legend.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/legend.js index 8099aa6bfc24..095a45104911 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/legend.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/editor/menus/legend.js @@ -69,6 +69,34 @@ function addMenu( parent, conf, schema, name ) { controller = folder.add( conf, k, EMPTY_STRING.concat( d.values ) ); } else if ( k === 'orient' ) { controller = folder.add( conf, k, EMPTY_STRING.concat( d.values ) ); + } else if ( k === 'symbolDash' ) { + controller = folder.add( conf, k ); + } else if ( k === 'symbolDashOffset' ) { + controller = folder.add( conf, k ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'symbolFillColor' ) { + controller = folder.addColor( conf, k ); + } else if ( k === 'symbolLimit' ) { + controller = folder.add( conf, k ); + } else if ( k === 'symbolOffset' ) { + controller = folder.add( conf, k ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'symbolOpacity' ) { + controller = folder.add( conf, k ) + .min( d.min ) + .max( d.max ); + } else if ( k === 'symbolSize' ) { + controller = folder.add( conf, k ) + .min( d.min ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'symbolStrokeColor' ) { + controller = folder.addColor( conf, k ); + } else if ( k === 'symbolStrokeWidth' ) { + controller = folder.add( conf, k ) + .min( d.min ); + controller.name( format( '%s (%s)', k, d.units ) ); + } else if ( k === 'symbolType' ) { + controller = folder.add( conf, k, d.values ); } else if ( k === 'title' ) { controller = folder.add( conf, k ); } else if ( k === 'titleAlign' ) { diff --git a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/legend.js b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/legend.js index d9089eaed374..7fc5b9e6d21c 100644 --- a/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/legend.js +++ b/lib/node_modules/@stdlib/plot/base/view/lib/browser/app/schema/transforms/legend.js @@ -31,6 +31,16 @@ var signalName = require( './../../utils/signal_name.js' ); var PROPS = [ 'orient', + 'symbolDash', + 'symbolDashOffset', + 'symbolFillColor', + 'symbolLimit', + 'symbolOffset', + 'symbolOpacity', + 'symbolSize', + 'symbolStrokeColor', + 'symbolStrokeWidth', + 'symbolType', 'title', 'titleAlign', 'titleAnchor', 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 8278b2f81086..96950a5e9dd1 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 @@ -19,4 +19,4 @@ /* eslint-disable */ /* editorconfig-checker-disable-file */ -!function(){R=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 R,C,M=function(t){return C||R(C={exports:{},parent:t},C.exports),C.exports},z="function"==typeof Object.defineProperty?Object.defineProperty:null;var U=function(){try{return z({},"x",{}),!0}catch(t){return!1}},N=Object.defineProperty;var D=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=lt(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?(l=!!(c=d(o,s)))&&"get"in c&&!("originalValue"in c.get)?c.get:o[s]:(l=Je(o,s),o[s]),l&&!a&&(Qe[f]=o)}}return o},_r=$e([Er("%String.prototype.indexOf%")]),xr=he(),Tr=tr("Object.prototype.toString"),Or=function(t){return!(xr&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===Tr(t)},ve=function(){return Or(arguments)}(),be=(Or.isLegacyArguments=er,ve?Or: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=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}),Ar=tr("RegExp.prototype.exec"),jr=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!==Ar(e,t)};throw new p("`regex` must be a RegExp")})(/^\s*(?:function)?\*/),kr=he(),Vr=tr("Object.prototype.toString"),Pr=tr("Function.prototype.toString"),Lr=Function.prototype.toString,Ir="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof Ir&&"function"==typeof Object.defineProperty)try{lr=Object.defineProperty({},"length",{get:function(){throw sr}}),sr={},Ir(function(){throw 42},null,lr)}catch(t){t!==sr&&(Ir=null)}else Ir=null;function Br(t){try{return Cr(t)?!1:(Lr.call(t),!0)}catch(t){return!1}}var Rr=/^\s*class\b/,Cr=function(t){try{var e=Lr.call(t);return Rr.test(e)}catch(t){return!1}},Mr=Object.prototype.toString,zr="[object Object]",Ur="[object HTMLAllCollection]",Nr="[object HTML document.all class]",Dr="[object HTMLCollection]",Wr="function"==typeof Symbol&&!!Symbol.toStringTag,$r=!(0 in[,]),Hr=function(){return!1},Gr=("object"==typeof document&&Mr.call(document.all)===Mr.call(document.all)&&(Hr=function(t){if(($r||!t)&&(void 0===t||"object"==typeof t))try{var e=Mr.call(t);return(e===Ur||e===Nr||e===Dr||e===zr)&&null==t("")}catch(t){}return!1}),Ir?function(t){if(Hr(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{Ir(t,null,lr)}catch(t){if(t!==sr)return!1}return!Cr(t)&&Br(t)}:function(t){var e;return!!Hr(t)||!!t&&!("function"!=typeof t&&"object"!=typeof t||!Wr&&(Cr(t)||"[object Function]"!==(e=Mr.call(t))&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e)))&&Br(t)}),Yr=Object.prototype.toString,qr=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,l=["{","}"];if(h(r)&&(u=!0,l=["[","]"]),_(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 l[0]+a+l[1];if(n<0)return b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r),s=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(!ai["$"+t]&&Qn.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{oi(window[t])}catch(t){return!0}}catch(t){return!0}return!1})(),li=function(t){if("undefined"==typeof window||!ui)return oi(t);try{return oi(t)}catch(t){return!1}},fa=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===ti.call(t),n=ei(t),i=e&&"[object String]"===ti.call(t),o=[];if(!e&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var a=ni&&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,l=["{","}"];if(h(r)&&(u=!0,l=["[","]"]),_(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 l[0]+a+l[1];if(n<0)return b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r),s=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&&l(e,r,"Missing expected exception"+n);var i="string"==typeof n,o=!t&&e&&!r;if((!t&&S.isError(e)&&i&&f(e,r)||o)&&l(e,r,"Got unwanted exception"+n),t&&e&&r&&!f(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||l;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=l,o.ok=s,o.equal=function(t,e,r){t!=e&&l(t,e,r,"==",o.equal)},o.notEqual=function(t,e,r){t==e&&l(t,e,r,"!=",o.notEqual)},o.deepEqual=function(t,e,r){v(t,e,!1)||l(t,e,r,"deepEqual",o.deepEqual)},o.deepStrictEqual=function(t,e,r){v(t,e,!0)||l(t,e,r,"deepStrictEqual",o.deepStrictEqual)},o.notDeepEqual=function(t,e,r){v(t,e,!1)&&l(t,e,r,"notDeepEqual",o.notDeepEqual)},o.notDeepStrictEqual=function t(e,r,n){v(e,r,!0)&&l(e,r,n,"notDeepStrictEqual",t)},o.strictEqual=function(t,e,r){t!==e&&l(t,e,r,"===",o.strictEqual)},o.notStrictEqual=function(t,e,r){t===e&&l(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||l(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:{}),{}),Oi=(!function(l){!function(){function r(){return(new Date).getTime()}for(var e=Array.prototype.slice,n={},i=void 0!==l&&l.console?l.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),xi.ok(!1,F.format.apply(null,t)))},"assert"]],o=0;o