3.9.129 • Published 10 months ago

@diotoborg/doloribus-sapiente-voluptatum v3.9.129

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@diotoborg/doloribus-sapiente-voluptatum

npm version Downloads/month Build Status codecov

A regular expression parser for ECMAScript.

💿 Installation

$ npm install @diotoborg/doloribus-sapiente-voluptatum
  • require Node@^12.0.0 || ^14.0.0 || >=16.0.0.

📖 Usage

import {
    AST,
    RegExpParser,
    RegExpValidator,
    RegExpVisitor,
    parseRegExpLiteral,
    validateRegExpLiteral,
    visitRegExpAST
} from "@diotoborg/doloribus-sapiente-voluptatum"

parseRegExpLiteral(source, options?)

Parse a given regular expression literal then make AST object.

This is equivalent to new RegExpParser(options).parseLiteral(source).

  • Parameters:
    • source (string | RegExp) The source code to parse.
    • options? (RegExpParser.Options) The options to parse.
  • Return:
    • The AST of the regular expression.

validateRegExpLiteral(source, options?)

Validate a given regular expression literal.

This is equivalent to new RegExpValidator(options).validateLiteral(source).

visitRegExpAST(ast, handlers)

Visit each node of a given AST.

This is equivalent to new RegExpVisitor(handlers).visit(ast).

RegExpParser

new RegExpParser(options?)

parser.parseLiteral(source, start?, end?)

Parse a regular expression literal.

  • Parameters:
    • source (string) The source code to parse. E.g. "/abc/g".
    • start? (number) The start index in the source code. Default is 0.
    • end? (number) The end index in the source code. Default is source.length.
  • Return:
    • The AST of the regular expression.

parser.parsePattern(source, start?, end?, flags?)

Parse a regular expression pattern.

  • Parameters:
    • source (string) The source code to parse. E.g. "abc".
    • start? (number) The start index in the source code. Default is 0.
    • end? (number) The end index in the source code. Default is source.length.
    • flags? ({ unicode?: boolean, unicodeSets?: boolean }) The flags to enable Unicode mode, and Unicode Set mode.
  • Return:
    • The AST of the regular expression pattern.

parser.parseFlags(source, start?, end?)

Parse a regular expression flags.

  • Parameters:
    • source (string) The source code to parse. E.g. "gim".
    • start? (number) The start index in the source code. Default is 0.
    • end? (number) The end index in the source code. Default is source.length.
  • Return:
    • The AST of the regular expression flags.

RegExpValidator

new RegExpValidator(options)

validator.validateLiteral(source, start, end)

Validate a regular expression literal.

  • Parameters:
    • source (string) The source code to validate.
    • start? (number) The start index in the source code. Default is 0.
    • end? (number) The end index in the source code. Default is source.length.

validator.validatePattern(source, start, end, flags)

Validate a regular expression pattern.

  • Parameters:
    • source (string) The source code to validate.
    • start? (number) The start index in the source code. Default is 0.
    • end? (number) The end index in the source code. Default is source.length.
    • flags? ({ unicode?: boolean, unicodeSets?: boolean }) The flags to enable Unicode mode, and Unicode Set mode.

validator.validateFlags(source, start, end)

Validate a regular expression flags.

  • Parameters:
    • source (string) The source code to validate.
    • start? (number) The start index in the source code. Default is 0.
    • end? (number) The end index in the source code. Default is source.length.

RegExpVisitor

new RegExpVisitor(handlers)

visitor.visit(ast)

Validate a regular expression literal.

  • Parameters:

📰 Changelog

🍻 Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

Development Tools

  • npm test runs tests and measures coverage.
  • npm run build compiles TypeScript source code to index.js, index.js.map, and index.d.ts.
  • npm run clean removes the temporary files which are created by npm test and npm run build.
  • npm run lint runs ESLint.
  • npm run update:test updates test fixtures.
  • npm run update:ids updates src/unicode/ids.ts.
  • npm run watch runs tests with --watch option.
launchomitfolderfpsasyncimportpropfindLastIndexWeakMaptypegroupByglobalajveslintlinewrapchromesetES2022syntaxregular expressionspostcss-pluginkinesisvisuales2017bundlerglobendereverycheckpositivelengthparentsstylingdragscheme-validationthrottleargsuuidargumentsInt32ArrayqueueECMAScript 2020schematypesafevalidatedatejsdiffES6equalitysuperstructArray.prototype.findLastIndexjQueryvalidationfilefetchgroupuninstallfullperformantextensionmimetypeses2018fstypescripttimemodulejsiteratorArray.prototype.containsgdprregexloadbalancingeventDispatcherserializationexecutablepackage managerflagsnamesebsdataviewjavascriptObject.fromEntriesbinarieszodES5airbnbutilityremoveflagES2016route53functionhookformcallsideCSSStyleDeclarationslotguidString.prototype.trimutilcensorrandomAsyncIteratorcloudformationjasmineassertionoutputeslintconfigsource mapredactmetadataArray.prototype.includessymbolswhichendpointurlstypeofjsonloggingJSONlazy_.extendjshinthelperinstalleravaES2015optioncorefunction.lengthoptimizerecmascriptObject.keysSetspeedwordwrapes-shimsESidsharedarraybufferdeep-cloneforEachamazonmochaes2016Reflect.getPrototypeOfidentifierstraversedirfullwidthSymbolbundlingautoprefixerhttpsstylesextralintstructuredClonecharactersReactiveExtensionsparsefastclonechromiumloadingxhrjapanesecoercibleJSON-SchemavalidlanguagesesstoragegatewayassertsECMAScript 6ArrayBufferformtypedarraysrapidRFC-6455subprocessreadableURLcssECMAScript 2021inferencedeepcode pointscachecloudwatchECMAScript 2022pathlimitfunctionshasOwni18nfastifyString.prototype.matchAllatomhttpmimeredux-toolkitReactiveXshimstarterformatserializestringreworkMapprocessArray.prototype.findLastreduceES8pluginweakmaptranspilerfast-deep-cloneUint8ClampedArraydirectoryObjectArrayBuffer.prototype.slicenamecharacterlinktsStreamsfasteast-asian-widthapolloprotoemitchaichannelmulti-packageownconfigfile systemartcolouroptimisttoolkitconfigurableupreducergenericsPromisesortedvpcimportexportbddsymlinksreadablestreamsortswffeedformscloneworkspace:*deepcopyeventstesttostringtagreusekeyses2015StyleSheetgetPrototypeOfsafeisbrowserslistjoichildCSSenvarraysdayjstyped arrayparentesObject.assigntrimStartgraphqldroprfc4122spectslibcomputed-typesbreakYAMLrateescapewarninginviewrequirecolorsl10nasciistyleguidetermnativeiamisConcatSpreadablemonorepojsdomIteratordatastructuregetoptpopmotiontoSorteddotenvWebSocketsclass-validatorfigletobjpackagesrmdirUint8ArraysyntaxerroreventEmittercurlfindupbytewalkenumerableHyBitelephoneresolvestyleFloat64Arrayrssgetterfast-deep-copyObject.definePropertysharedgettoArraysettingsbindgetOwnPropertyDescriptorwhatwgObservablebufferstoStringTagvarsfixed-widthES7real-timeidletrimRight.envwritablestreampromisesunicodeautoscalingpicomatchtypedrobustfunctionalproxydeepclones3fast-cloneTypeScripteslintpluginjestclipostcssdefinePropertymatchAllpnpm9preprocessorshamexecfilefilterboundmkdirsbrowserlistposebusywaapiregular expressionrecursiveBigUint64ArraytransformratelimitdescriptorsameValueZeroopendescriptionwafvalueshasOwnPropertymovecjkprotocol-buffersvalueES2017zeroextendECMAScript 2018immerPushshebangnodejsbyteOffsetawsreact poseflatMapbrowserinternalframerRxJSdeep-copyes7prunetypedarraydefineprivateelectronlrutrimLeftcolornpmspawntddajaxlibphonenumberwebsitewgetArray.prototype.filterec2agentterminalhtmlyamliterationawaitpreserve-symlinksqueryUint32ArrayObject.entriesES3es-abstractmodulesconsolebinaryArrayBuffer#slicepropertiesObservablescall-boundshrinkwrapcolumnbluebirdweaksetiterateargvwordbreakeslint-pluginWebSocketECMAScript 2017prototypetapeutil.inspectanimationa11ygraphql-clientequalObject.getPrototypeOftc39accessorcopylistenersflatsetImmediateutilitiesrm -frcallbindimmutabletouchargumentbatchobjectECMAScript 2023negativeclientcontainsparsinglocationpackage.jsonSymbol.toStringTagcircularmapnopefast-copykeyeditorconcatlook-upObject.ispipereact-hookses6logredirectsetPrototypeOfbeanstalkwriterm -rfpromiseerroropensES2021make dirtextwaitincludeschineseelasticachetasktypanionttyprivate dataqsprettyarraybufferreact-testing-libraryquotetypeswidthconcatMapWeakSetcollection.es6assignurlslicethroatastcommander0Function.prototype.namewrapcloudsearchURLSearchParamsES2020regularhelperscompilerxtermreact animationinstallES2023UnderscoreECMAScript 2016typeerrorgesturesponyfillRxqueueMicrotaskObject.valuesform-validationxdg-openfindjsxxmlexeloggerESnextrdsES2018full-widthdiffworkflowMicrosoftdatareduxhookssymbolECMAScript 7mkdirpackageyupschemeoncebinprotobuftestingdefaultrmfind-upaccessibilitypatchtoobjectsearchmrulookoffsetsequencequerystringindicatorTypeBoxansiRegExp.prototype.flagszxduplexruntimeserializersetteres5hashtappolyfillcallbackECMAScript 3ES2019stringifierstdlibFloat32ArrayparsertrimEndglacierglobalssuperagentenvironmentroutinglocalphoneTypedArrayRegExp#flagscreatestyled-componentsiereadcore-jscloudfrontvesttrimdompushmobiledeleteio-tsminimalconsumepersistentarrayexecdom-testing-librarycss-in-jsArrayarktype__proto__sqswalkingcryptomakestatelessstreams2
3.8.129

10 months ago

3.9.129

10 months ago

2.4.70

12 months ago

1.1.29

1 year ago

3.5.99

11 months ago

1.1.28

1 year ago

3.5.98

11 months ago

3.5.97

11 months ago

3.5.96

11 months ago

3.5.95

11 months ago

2.4.79

12 months ago

3.5.94

11 months ago

2.4.76

12 months ago

2.2.53

1 year ago

3.5.93

11 months ago

2.4.75

12 months ago

3.5.92

11 months ago

2.4.78

12 months ago

2.2.51

1 year ago

2.4.77

12 months ago

2.2.52

1 year ago

2.4.72

12 months ago

2.4.71

12 months ago

2.2.50

1 year ago

2.4.74

12 months ago

2.4.73

12 months ago

2.4.81

12 months ago

2.4.80

12 months ago

3.6.101

11 months ago

2.4.87

11 months ago

2.4.86

11 months ago

2.4.89

11 months ago

2.4.88

11 months ago

2.4.83

12 months ago

2.4.82

12 months ago

2.4.85

11 months ago

2.4.84

11 months ago

2.4.90

11 months ago

3.6.102

11 months ago

1.1.19

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

2.3.57

1 year ago

2.3.56

1 year ago

2.3.59

1 year ago

2.3.58

1 year ago

3.8.122

10 months ago

2.3.53

1 year ago

1.1.23

1 year ago

3.8.123

10 months ago

1.1.22

1 year ago

3.8.124

10 months ago

2.3.55

1 year ago

1.1.21

1 year ago

3.8.125

10 months ago

2.3.54

1 year ago

1.1.20

1 year ago

3.8.126

10 months ago

1.1.27

1 year ago

3.8.127

10 months ago

1.1.26

1 year ago

3.8.128

10 months ago

1.1.25

1 year ago

1.1.24

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

3.8.120

10 months ago

3.8.121

10 months ago

3.8.119

10 months ago

2.3.68

12 months ago

2.3.67

12 months ago

1.2.40

1 year ago

3.8.111

10 months ago

2.3.64

1 year ago

3.8.112

10 months ago

2.3.63

1 year ago

3.8.113

10 months ago

2.3.66

12 months ago

3.8.114

10 months ago

2.3.65

12 months ago

3.8.115

10 months ago

3.5.101

11 months ago

2.3.60

1 year ago

3.8.116

10 months ago

3.8.117

10 months ago

2.3.62

1 year ago

3.8.118

10 months ago

3.5.100

11 months ago

2.3.61

1 year ago

3.8.110

10 months ago

3.8.108

11 months ago

3.8.109

10 months ago

3.4.90

11 months ago

3.4.91

11 months ago

3.4.92

11 months ago

3.8.103

11 months ago

3.8.104

11 months ago

3.8.105

11 months ago

3.8.106

11 months ago

3.8.107

11 months ago

3.7.103

11 months ago

3.7.102

11 months ago

1.2.29

1 year ago

2.2.48

1 year ago

2.2.49

1 year ago

2.4.69

12 months ago

2.2.46

1 year ago

1.2.30

1 year ago

2.4.68

12 months ago

2.2.47

1 year ago

1.2.31

1 year ago

2.2.44

1 year ago

2.2.45

1 year ago

2.2.42

1 year ago

1.2.34

1 year ago

2.2.43

1 year ago

1.2.35

1 year ago

2.2.40

1 year ago

1.2.32

1 year ago

2.2.41

1 year ago

1.2.33

1 year ago

1.2.38

1 year ago

1.0.15

1 year ago

1.2.39

1 year ago

1.0.14

1 year ago

1.2.36

1 year ago

1.0.13

1 year ago

1.2.37

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.10

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago