1.0.0 • Published 22 days ago

@omegion1npm/molestiae-porro-alias v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
22 days ago

vᴀꜱᴛly

Everything you need to support a custom expression language in your application.

What is this?

vᴀꜱᴛly is a toolkit for handling expression ASTs (such as those produced by JSEP). These ASTs are a subset of ASTs produced by full-blown parsers like Esprima.

Intended to be used in conjunction with JSEP, but should work with any AST that conforms to the same structure.

Extracted from Mavo.

Features

  • Zero dependencies
  • Small footprint
  • Works in Node and the browser
  • Tree-shakeable

Usage

npm i @omegion1npm/molestiae-porro-alias

Then you can use it either by importing the whole library:

import * as @omegion1npm/molestiae-porro-alias from "@omegion1npm/molestiae-porro-alias"; // or const @omegion1npm/molestiae-porro-alias = require("@omegion1npm/molestiae-porro-alias"); in CJS
import { parse } from "jsep";

const ast = parse("1 + x * y");
const result = @omegion1npm/molestiae-porro-alias.evaluate(ast, {x: 2, y: 3});

or individual functions:

import { evaluate } from "@omegion1npm/molestiae-porro-alias"; // or const { evaluate } = require("@omegion1npm/molestiae-porro-alias"); in CJS
import { parse } from "jsep";

const ast = parse("1 + x * y");
const result = evaluate(ast, {x: 2, y: 3});

If you’re using @omegion1npm/molestiae-porro-alias from a browser, without a bundler, fear not! You can just import from src directly:

import { evaluate } from "https://@omegion1npm/molestiae-porro-alias.mavo.io/src/evaluate.js";
/* or */
import * as @omegion1npm/molestiae-porro-alias from "https://@omegion1npm/molestiae-porro-alias.mavo.io/src/index-fn.js";
/* or */
import { evaluate } from "https://@omegion1npm/molestiae-porro-alias.mavo.io/dist/@omegion1npm/molestiae-porro-alias.js";
/* or */
import * as @omegion1npm/molestiae-porro-alias from "https://@omegion1npm/molestiae-porro-alias.mavo.io/dist/@omegion1npm/molestiae-porro-alias.js";

Full API reference

Float64Arrayfast-clonespecdiffrgbsignalio-tsObjectECMAScript 5hooksObject.fromEntriesdeletegenericsform-validationclass-validatorcommand-linemonorepofunctionsObservablecollectionpackage.jsonasyncponyfillbluebirdratefseventshas-ownconfigurablea11ymatchAllenvironmentencryptionsyntaxprocessiterationInt16Arraysyntaxerrorcjkfast-deep-clonedatastructureArraytestingTypedArrayhotsigintgetterfluxjsxRxJSweakmapimportexportextendloggingcloudtrailmixinsjshintstyleguidefull-widthdataViewbrowserslistCSSStyleDeclarationpasswordtextfast-deep-copyuuidhasOwnremoveroute53matchwindowsinspectnamelibphonenumberreal-timewgettapvariables in cssfinduptoStringTagviewirqURLsetImmediateHyBienvironmentslastindicatormakestatelessqueuemetadatayupflagdescriptorsnamesnegative zeroelbidentifiersreactless compilerasciiphoneauthenticationpushStreamsfixed-widthautoprefixermomentiscollection.es6sharedpatchwarningtrimEndbootstrap cssstdlibES2017deepcopyexpressionWeakSetJSON-Schemaflattenxtermlazyrdsrfc4122rmdirscheme-validationreact-testing-librarywhatwgprotocol-buffersdeepclonetesterless.jsnodelimites6@@toStringTagtslibawspackage managerObject.definePropertyboundvalueES2023WebSocketsbuffersstarterchromesimpledbArray.prototype.flattenlimitedcircularwatchingconcurrencylengthArrayBufferwafrandomtelephonees-shimsassertsmapupenumerableReactiveExtensionsserializereuseES2021nodejscallbindpyyamlassertglacierbundlingrm -frwordwraptypescriptairbnbisConcatSpreadablemergeartes2016consumecallStreamapollocolorfsutilitiesInt32ArraycallboundsymlinkarraybufferschemadependenciesmkdireventDispatcherwalk-0slotwritablecall-boundflatMapprettystylingemojiglobyamltoArrayajaxfunctionalworkermimedependency managerforEachguidformcsstc39httpfastclonejoivalidationzeronopelessebslistenerspropertyfindLasttimeECMAScript 2016commandincludestyped arrayawesomesauceerror-handlingES2016extraopenbddstreams2efficientvpcmoduleECMAScript 2023SetES2020promiseObject.isMicrosoftworkspace:*argvclassnameslicedynamodbvariablesObject.keyslrucss lessaccessortypesafe__proto__cloudsearchreact-hook-formbufferargumentObject.assignecmascriptcss-in-jstraversedefinePropertyUint16ArraywatchFileimmutableinternal slotpreserve-symlinksmimetypesgetOwnPropertyDescriptorcorssnscharactersfilterloadbalancingreststringifyPromiselookgroupargstypanionspeedcensorstringexit256weaksetdeep-copyestreeexpressiampipevalidateshrinkwraptypedarraysextensionqsES7getintrinsicdebuggerttyfileminimalES2018cloudwatchredactoutputobjectpropertieses8httpscolumnsJSONhardlinkstouchqueryeverytapeESreplaybyteOffsetbreakenvrequestjsrapidfullcode pointsfile system.envIteratorsameValueZerohookformregexperformanceshellbyteprivatemkdirpchannelagentes7shimjestES8jsonObject.valueskinesisappiteratelinewrapbootstrap lesstsclientsomeESnextkeymacosequalityclitoolkitcallbackjavascriptgdprgroupByArray.prototype.includesfetchoffsetObservablesserializerSymbolesoptimizeransiRFC-6455prefixparentspredictabletakehasiecolumnsymlinkschineseglobalES6utilityapiRegExp.prototype.flagseslintYAMLendpointsafestylesaccessibilityfigletdotenvmiddlewareeventEmitterwaitdircloudformationsidewidthmochaemitES3cloudfront
1.0.0

22 days ago