1.0.0 • Published 11 days ago

@crabas0npm/optio-cupiditate-quisquam v1.0.0

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

Termfx JS

A template parser in Node.js that supports replacers and functions. Allows users to use custom outputs and access functions and variables in a custom template file.

npm version install size

npm.io

Table of contents:

Installation

npm install @crabas0npm/optio-cupiditate-quisquam

Usage

Note: An update has been planned to remove the need to explicitly declare if the file is CRLF or LF break files!

const @crabas0npm/optio-cupiditate-quisquam = require('@crabas0npm/optio-cupiditate-quisquam');

New() is the main class, create a new instance of this! The instance of @crabas0npm/optio-cupiditate-quisquam has three main functions, two of them registering variables and functions, the third being the executer.

RegisterVariable - Takes in two strings, the first is the replacer(or tag) and the second is the "to be replaced". RegisterFunction - Takes in a string and a function, the first one being the tag, the second one being the function that can be executed.

Execute - Takes a string and writer(a function/method), the string template is parsed. Any regular strings that are not variable/function tags will be executed by the writer. Variable tags will be replaced and functions will be executed with respect to the parameters that were provided in the string template.

Examples:

const @crabas0npm/optio-cupiditate-quisquam = require('@crabas0npm/optio-cupiditate-quisquam');
var registry = new @crabas0npm/optio-cupiditate-quisquam.New();

registry.RegisterVariable("foo", "bar");
registry.RegisterFunction("sleep",
  function(delayInms){
    return new Promise(resolve => setTimeout(resolve, delayInms));
  }
);

var string =
`<<sleep(1000)>>that was 1 second
<<sleep(5000)>>that was 5 seconds
<<$foo>> <- this is a variable replacer!`;

Carriage Return Line Feed Files

Also known as CRLF, this is what most files @crabas0npm/optio-cupiditate-quisquam is supposedly parsing, files are expected to have \r\n at the end of each line. This mode will not add a carriage return \r at the end of each line.

const @crabas0npm/optio-cupiditate-quisquam = require('@crabas0npm/optio-cupiditate-quisquam');
var registry = new @crabas0npm/optio-cupiditate-quisquam.New();

Line feed

Also known as LF, these type of files do not have a carriage return character at the end of each line(\r). A \r character will be added to the end of every line. This is used to handle the issue where everything is output in 1 line by the writer.

const @crabas0npm/optio-cupiditate-quisquam = require('@crabas0npm/optio-cupiditate-quisquam');
var registry = new @crabas0npm/optio-cupiditate-quisquam.New(null, true);

Custom splitter

Using a custom splitter that isn't the default <<, >>.

// custom splitter
const @crabas0npm/optio-cupiditate-quisquam = require('@crabas0npm/optio-cupiditate-quisquam');
var registry = new @crabas0npm/optio-cupiditate-quisquam.New(["[[", "]]"], true);
// E.g. This will now allow you to use [[$tag]] instead of <<$tag>>

Bugs or suggestions

  • Please report any bugs or provide suggestions in the github!

License

Copyright Apache 2.0 License © 2022 Jeffplays2005.

curriedjson-schema-validationincludeslibphonenumberoptimisttoolsstylesheetpropansiArrayBufferwatcherUint8ClampedArraytypeerrorvaluesponyfillnegative zeroWebSocketsvariableshardlinksjwtpure0interruptsrm -rfTypedArraywritevalidatorstartcompile lesscompareutilsequalmimetypesmixinsgetOwnPropertyDescriptorresolveforEachduplextranspilerreusecopyArrayBuffer#slicelruInt8Arrayspeed[[Prototype]]iterationclassesnativemimeweakmapgroupByclassnameobjectStreamsES2022Array.prototype.findLastIndexes-abstractjsjsxwritableCSSStyleDeclarationjapaneseobjpatchcallnodees2017framerfixed-widthrgbconstloggingcomputed-typesxdg-opendeletecodesreactwalkingsequencerequirefullwidthgraphqlHyBiSymbol.toStringTagfind-upRegExp.prototype.flagsmatchAllcurltrimStartwhichoffsetReactiveXredux-toolkitcryptoxdgfunctionsterminalajvboundisConcatSpreadabletrimLeftstatusmoduleeslintpluginpreprocessortrimRight-0postcsses-shimscolourECMAScript 2022RegExp#flagsmovedatecss nestingstarterlockfileutil.inspectapollojavascriptvalidarraybufferdefinePropertytestereverytypanionfindupvalidationsetPrototypeOfES2019Int32ArraythrottleformECMAScript 2021ECMAScript 2016propertyeslintsearchconnectschemebatchnumberutilsymbolsObservablecss lesspluginschemaio-tsbootstrap cssdirbabel-corematchWeakSetutilityarktypereact animationrobustObject.isrecursivedebugescapeappzeroapiwhatwgparentsposedependenciesimmutableconfigBigUint64ArraytestingbundlerES8jQuerypackagedescriptorsfastclone@@toStringTagspinnerstraverseCSStc39chineseECMAScript 2017ES2018trimjoicssdropeast-asian-widthWeakMapES2015installermkdirsvalidatefindLastIndexexecreatephonedataView.envjsonpathcjkworkergesturesObject.keysequalitylimitedmruRxJSpopmotionperformantpnpm9containslogratelimitpreserve-symlinksECMAScript 2020karmacss-in-jsbddECMAScript 2018regular expressiontrimEndpostcss-plugintypewebString.prototype.matchAlluser-streamses6loadingargumentsstylingfigletObject.assignprogressserializationreact-testing-librarygradients cssimportemojiarraysformatBigInt64Arrayless compilernodejsdatauuidcolumnsexitgetfast-deep-copytoStringTagchildqueueMicrotaskES7ECMAScript 7toolkitcommandeventEmitterreact-hookscore-jsObject.getPrototypeOfsuperstructsuperagenta11yArray.prototype.flattenECMAScript 6cmdtostringtagdeepcopyfseventssymlinkpicomatchsignaldombreaktextsidetestdeterministiclanguagedeep-clonejesteslintconfigpasswordgradients css3stringrfc4122rmdirAsyncIteratorbindoncepositiveless mixinsguidArray.prototype.flatMapaccessormake dirassertionentriesURLSearchParamsmergeES2017getintrinsicreal-timeassignArray.prototype.containsstreamspromisesMicrosoftmkdirutilitiesStyleSheetrandomcss variableremovees5Array.prototype.filtersigtermsharedarraybuffersyntaxerrorformattingreduxautoprefixerkoreanprettybrowserslistmakeconfigurableimmerjson-schemaInt16ArrayFloat64ArrayvalueJSONupwrapmkdirpreducepipees2018sortedObject.fromEntriestelephonecharacterstsjsonschemadefaultdom-testing-librarywatchFileclonedayjsmobileflagsfiltercharacterclientassertreadablenamesflageventDispatchersignalsfantasy-landprotobyteOffsetmetadatalinuxUint32Arrayworkspace:*ES5less cssnameairbnbrm -frwatchES2021diffiteratorfile systemtranspiletslibeslint-pluginglobconcatMapreadablestreamtypesafecallboundshebangESnextdeepcloneES2020es7windowsmacoshooksquerystringArrayBuffer.prototype.sliceavabundlingwidthlastrapidbyteLengthes2015asturlscallbacksetproperties3dlook-upparsermonorepohigher-orderhookformcrypttypescriptfast-deep-clonehasawesomesauceanimationajaxES2023call-bindparsegroupexecutablewebsitecoercible$.extenddescriptorserializequotepyyamlESArray.prototype.flatTypeScriptpushnested cssprotobufcallbindprotocol-buffersruntimeECMAScript 3linksetterYAMLoptimizershimi18nhashtaskmulti-packageoutputcircularbusyspinnerlinttapsymboljsdomECMAScript 2015Function.prototype.nameinternal slotcolumnstyleramdasetImmediateauthReflect.getPrototypeOfObjectMapvariables in cssviewidopenerdragObject.valuesiteratehandlerselectronredactinternalPushintrinsicecmascriptdescriptionReactiveExtensionspathasciipackage managerString.prototype.trimlinewrapparentlookframeworkmoduleskeytoobjectauthenticationisextensionfast-copytoSortedRxprivate dataregular expressionsconsume__proto__byteoptiontypedtouchwaapimatchesES3uninstallSymbolthroatcollectionrequestslotchromeinspectprivatesettingschromiumfast-clonewordwrapspecArray.prototype.findLastopenreadsigintirqbrowsersomestringifierassertsRFC-6455code pointsgenericssorttapeargparsePromiseieawaithasOwnpackage.jsonfastlesscssstyled-componentsprunefetchsharedsyntaxprototypextermdotenvconcattddslicelazycorsstreams2warninginferencedependency managerexpressionqsSetstructuredCloneexit-codewalkpackagesUnderscoreeventscensorenvironmentargsfindLastObject.definePropertyhttpsemitObject.entriesdeep-copyfptakeECMAScript 2019regularcollection.es6npmclass-validatorargvshrinkwrapwordbreakscheme-validationenumerablecoreshellexecerrorbrowserlisttypeofflatMapes2016jsdiffchaitypedarrayoperating-systemfulltypedarrayshelperssanitizecheckbannerregexcall-boundindicatortyped arrayvarform-validationObservablesprocessdatastructurecliflatperformanceformsenderspawnletinvariantspringqueryenvECMAScript 2023watchingzodbufferArray.prototype.includeses8openstoArraybluebirdfolderUint16ArraykeysES2016sameValueZerowaitcommanderencryptionpoint-freelistenersttytimeES6buffersdeepomitmomentlengthcommand-lineunicodeinstallnopeflattenTypeBoxnegativestringifyregexpIteratorfastifyart6to5Arrayjsonwgetreact-hook-form
1.0.0

11 days ago