difftreelog
feat add std regex builtins
in: master
Upstream issue: https://github.com/google/jsonnet/pull/1039
8 files changed
Cargo.lockdiffbeforeafterboth200 packageslockfile v3
Might be heavy and slow!
addr2line
0.21.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cbdepends onused byadler
1.0.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35feused byahash
0.8.6crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97aused byallocator-api2
0.2.16crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5used byannotate-snippets
0.9.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc3b9d411ecbaf79885c6df4d75fff75858d5995ff25385657a28af47e82f9c36depends onanstream
0.6.4crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44depends onused byanstyle
1.0.4crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87anstyle-parse
0.2.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140depends onused byanstyle-query
1.0.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494bdepends onused byanstyle-wincon
3.0.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628depends onused byanyhow
1.0.75crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6ass-stroke
0.1.0github.com/CertainLach/ass-stroke↘ 5↖ 2sourcegit+https://github.com/CertainLach/ass-stroke#e649d7ffb2beb4800143b7a5acfdae0ad3fb6d94autocfg
1.1.0crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fabacktrace
0.3.69crates.io↘ 7↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837depends onbacktrace-ext
0.2.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50depends onused bybase64
0.21.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9used bybeef
0.5.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1used bybincode
1.3.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcaddepends onbitflags
1.3.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718abitflags
2.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07used byblock-buffer
0.10.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71depends onused bybumpalo
3.14.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aecused bycc
1.0.83crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0depends oncfg-if
1.0.0crates.io↘ 0↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbaf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fdclap
4.4.7crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac495e00dcec98c83465d5ad66c5c4fabd652fd6686e7c6269b117e729a6f17bdepends onclap_builder
4.4.7crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc77ed9a32a62e6ca27175d00d29d05ca32e396ea1eb5fb01d8256b669cec7663used byclap_complete
4.4.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12aedepends onused byclap_derive
4.4.7crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442used byclap_lex
0.6.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1used bycolorchoice
1.0.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumacbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7used byconsole
0.15.7crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8used bycountme
3.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636used bycpufeatures
0.2.11crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0depends oncrossbeam-channel
0.5.8crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200depends onused bycrossbeam-utils
0.8.16crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294depends onused bycrypto-common
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3depends onused byderivative
2.2.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770bdepends ondigest
0.10.7crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292depends ondprint-core
0.63.3crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7227b28d24aafee21ff72512336c797fa00bb3ea803186b1b105a68abc97660bused bydrop_bomb
0.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1either
1.9.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07used byencode_unicode
0.3.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831fused byequivalent
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5used byerrno
0.3.5crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860depends onused byfastrand
2.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5used byfnv
1.0.7crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1used byform_urlencoded
1.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652depends onused bygeneric-array
0.14.7crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9adepends ongetrandom
0.1.16crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fceused bygetrandom
0.2.10crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427used bygimli
0.28.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0used byhashbrown
0.12.3crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888used byhashbrown
0.14.2crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156depends onheck
0.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8used byhermit-abi
0.3.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7used byidna
0.4.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917cused byindexmap
1.9.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99depends onused byindexmap
2.0.2crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897used byindoc
2.0.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8insta
1.34.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfcis_ci
1.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum616cde7c720bb2bb5824a224687d8f77bfd38922027f01d825cd7453be5099fbused byis-terminal
0.4.9crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8bitertools
0.11.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57depends onused byitoa
1.0.9crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38used byjrsonnet-cli
0.5.0-pre95workspace↘ 5↖ 1jrsonnet-evaluator
0.5.0-pre95workspace↘ 17↖ 6depends on- annotate-snippets
0.9.1 - anyhow
1.0.75 - bincode
1.3.3 - derivative
2.2.0 - hashbrown
0.14.2 - jrsonnet-gcmodule
0.3.6 - jrsonnet-interner
0.5.0-pre95 - jrsonnet-macros
0.5.0-pre95 - jrsonnet-parser
0.5.0-pre95 - jrsonnet-types
0.5.0-pre95 - num-bigint
0.4.4 - pathdiff
0.2.1 - rustc-hash
1.1.0 - serde
1.0.190 - static_assertions
1.1.0 - strsim
0.10.0 - thiserror
1.0.50
- annotate-snippets
jrsonnet-fmt
0.5.0-pre95workspace↘ 8↖ 0jrsonnet-gcmodule
0.3.6crates.io↘ 2↖ 9sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc11fb98940a7f8b419619e98ccbf2e094671a5fdd0e277f05acd373071186d57jrsonnet-gcmodule-derive
0.3.6crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6bee774b7ba86fc86ee84482cd6732aa860ae3559f9827c65efd75c51e66ac76depends onused byjrsonnet-interner
0.5.0-pre95workspace↘ 5↖ 2jrsonnet-lsp
0.5.0-pre95workspace↘ 7↖ 0jrsonnet-macros
0.5.0-pre95workspace↘ 3↖ 2jrsonnet-parser
0.5.0-pre95workspace↘ 6↖ 5jrsonnet-rowan-parser
0.5.0-pre95workspace↘ 9↖ 2jrsonnet-stdlib
0.5.0-pre95workspace↘ 15↖ 3depends onjrsonnet-types
0.5.0-pre95workspace↘ 2↖ 1depends onkeccak
0.1.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940depends onused bylazy_static
1.4.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646used bylibc
0.2.149crates.io↘ 0↖ 13sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29blibjsonnet
0.5.0-pre95workspace↘ 4↖ 0linked-hash-map
0.5.6crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770fused bylinux-raw-sys
0.4.10crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03fused bylock_api
0.4.11crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45depends onused bylog
0.4.20crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8fused bylogos
0.12.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbf8b031682c67a8e3d5446840f9573eb7fe26efe7ec8d195c9ac4c0647c502f1depends onlogos-derive
0.12.1crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma1d849148dbaf9661a6151d1ca82b13bb4c4c128146a88d05253b38d4e2f496cused bylsp-server
0.7.4crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb52dccdf3302eefab8c8a1273047f0a3c3dca4b527c8458d00c09484c8371928used bylsp-types
0.94.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1used bymd5
0.7.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771used bymemchr
2.6.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167used bymemoffset
0.9.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406cdepends onused bymiette
5.10.0crates.io↘ 13↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856edepends onmiette-derive
5.10.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635cdepends onused bymimalloc-sys
0.1.6crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4aa3cefb626f6ae3d0b2f71c5378c89d2b1d4d7bc246b0ca9a7ee61a4daad291depends onused bymimallocator
0.1.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d44fe4ebf6b538fcf39d9975c2b90bb3232d1ba8e8bffeacd004f27b20c577adepends onused byminiz_oxide
0.7.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7depends onused bynum-bigint
0.4.4crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0num-integer
0.1.45crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9depends onused bynum-traits
0.2.17crates.io↘ 1↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267cdepends onobject
0.32.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0depends onused byonce_cell
1.18.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576dused byowo-colors
3.5.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6fused byparking_lot
0.12.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228fdepends onused byparking_lot_core
0.9.9crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008eused bypathdiff
0.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44ddpeg
0.8.2crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum400bcab7d219c38abf8bd7cc2054eb9bbbd4312d66f6a5557d572a203f646f61depends onpeg-macros
0.8.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum46e61cce859b76d19090f62da50a9fe92bab7c2a5f09e183763559a2ac392c90used bypeg-runtime
0.8.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum36bae92c60fa2398ce4678b98b2c4b5a7c61099961ca1fa305aec04a9ad28922used bypercent-encoding
2.3.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94used byppv-lite86
0.2.17crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6deproc-macro2
1.0.69crates.io↘ 1↖ 17sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92dadepends onquote
1.0.33crates.io↘ 1↖ 16sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293caedepends onrand
0.7.3crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03used byrand
0.8.5crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404used byrand_chacha
0.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402depends onused byrand_chacha
0.3.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88depends onused byrand_core
0.5.1crates.io↘ 1↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19depends onrand_core
0.6.4crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922cdepends onused byrand_hc
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613cdepends onused byrand_pcg
0.2.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429depends onused byrandom_color
0.6.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf5f34bd6526786b2ce5141fd37a4084b5da1ebae74595b5b0d05482a7cef7181depends onused byrange-map
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum12a5a2d6c7039059af621472a4389be1215a816df61aa4d531cfe85264aee95fdepends onused byredox_syscall
0.4.1crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aadepends onregex-syntax
0.6.29crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1used byrowan
0.15.13crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum906057e449592587bf6724f00155bf82a6752c868d78a8fb3aa41f4e6357cfe8rustc-demangle
0.1.23crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76used byrustc-hash
1.1.0crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2rustix
0.38.21crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3ryu
1.0.15crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741scopeguard
1.2.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49used byserde
1.0.190crates.io↘ 1↖ 16sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7depends onused by- bincode
1.3.3 - dprint-core
0.63.3 - indexmap
2.0.2 - jrsonnet
0.5.0-pre95 - jrsonnet-evaluator
0.5.0-pre95 - jrsonnet-interner
0.5.0-pre95 - jrsonnet-lsp
0.5.0-pre95 - jrsonnet-parser
0.5.0-pre95 - jrsonnet-stdlib
0.5.0-pre95 - lsp-server
0.7.4 - lsp-types
0.94.1 - num-bigint
0.4.4 - serde_json
1.0.107 - serde_yaml_with_quirks
0.8.24 - tests
0.1.0 - url
2.4.1
- bincode
serde_derive
1.0.190crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3depends onused byserde_json
1.0.107crates.io↘ 3↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65depends onserde_repr
0.1.16crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00depends onused byserde_yaml_with_quirks
0.8.24crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum47c5983eba86eae2d0058c35fb1065ccffb23af7f8965871069269088098321aused bysha1
0.10.6crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6badepends onused bysha2
0.10.8crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8depends onused bysha3
0.10.8crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60depends onused bysimilar
2.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597used bysmallvec
1.11.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5asmawk
0.3.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840cused bystatic_assertions
1.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543fstrsim
0.10.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623structdump
0.2.0crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb0570327507bf281d8a6e6b0d4c082b12cb6bcee27efce755aa5efacd44076c1structdump-derive
0.2.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum29cc0b59cfa11f1bceda09a9a7e37e6a6c3138575fd24ade8aa9af6d09aedf28depends onused bysupports-color
2.1.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89depends onused bysupports-hyperlinks
2.1.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233ddepends onused bysupports-unicode
2.0.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b6c2cb240ab5dd21ed4906895ee23fe5a48acdbd15a3ce388e7b62a9b66baf7depends onused bysyn
1.0.109crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237syn
2.0.38crates.io↘ 3↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408btempfile
3.8.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5used byterminal_size
0.1.17crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506dfdepends onused bytests
0.1.0workspace↘ 4↖ 0text-size
1.1.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233textwrap
0.15.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543dused bythiserror
1.0.50crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2depends onthiserror-impl
1.0.50crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8depends onused bytinyvec
1.6.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50depends onused bytinyvec_macros
0.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20used bytypenum
1.17.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825ungrammar
1.16.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68fused byunicode-bidi
0.3.13crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460used byunicode-ident
1.0.12crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4bunicode-linebreak
0.1.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571fused byunicode-normalization
0.1.22crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921depends onused byunicode-width
0.1.11crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85url
2.4.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5used byutf8parse
0.2.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370aversion_check
0.9.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483fwasi
0.9.0+wasi-snapshot-preview1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519used bywasi
0.11.0+wasi-snapshot-preview1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423used bywinapi
0.3.9crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419winapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused bywindows_aarch64_gnullvm
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8used bywindows_aarch64_gnullvm
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8used bywindows_aarch64_msvc
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43used bywindows_aarch64_msvc
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bcused bywindows_i686_gnu
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84fused bywindows_i686_gnu
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743eused bywindows_i686_msvc
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060used bywindows_i686_msvc
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406used bywindows_x86_64_gnu
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36used bywindows_x86_64_gnu
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718eused bywindows_x86_64_gnullvm
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3used bywindows_x86_64_gnullvm
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044ccused bywindows_x86_64_msvc
0.42.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0used bywindows_x86_64_msvc
0.48.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538used bywindows-sys
0.45.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0depends onused bywindows-sys
0.48.0crates.io↘ 1↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9depends onwindows-targets
0.42.2crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071depends onused bywindows-targets
0.48.5crates.io↘ 7↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940cdepends onxshell
0.2.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumce2107fe03e558353b4c71ad7626d58ed82efaf56c54134228608893c77023addepends onused byxshell-macros
0.2.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7e2c411759b501fb9501aac2b1b2d287a6e93e5bdcf13c25306b23e1b716dd0eused byxtask
0.1.0workspace↘ 7↖ 0yaml-rust
0.4.5crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85depends onyansi-term
0.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1depends onused byzerocopy
0.7.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumede7d7c7970ca2215b8c1ccf4d4f354c4733201dfaaba72d44ae5b37472e4901depends onused byzerocopy-derive
0.7.18crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b27b1bb92570f989aac0ab7e9cbfbacdd65973f7ee920d9f0e71ebac878fd0bdepends onused by
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -64,6 +64,9 @@
lsp-server = "0.7.4"
lsp-types = "0.94.1"
+regex = "1.8.4"
+lru = "0.10.0"
+
#[profile.test]
#opt-level = 1
cmds/jrsonnet/Cargo.tomldiffbeforeafterboth--- a/cmds/jrsonnet/Cargo.toml
+++ b/cmds/jrsonnet/Cargo.toml
@@ -29,6 +29,10 @@
exp-object-iteration = ["jrsonnet-evaluator/exp-object-iteration"]
# Bigint type
exp-bigint = ["jrsonnet-evaluator/exp-bigint", "jrsonnet-cli/exp-bigint"]
+# std.regex and co.
+exp-regex = [
+ "jrsonnet-stdlib/exp-regex",
+]
# obj?.field, obj?.['field']
exp-null-coaelse = [
"jrsonnet-evaluator/exp-null-coaelse",
crates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-cli/Cargo.toml
+++ b/crates/jrsonnet-cli/Cargo.toml
@@ -20,6 +20,9 @@
"jrsonnet-evaluator/exp-null-coaelse",
"jrsonnet-stdlib/exp-null-coaelse",
]
+exp-regex = [
+ "jrsonnet-stdlib/exp-regex",
+]
legacy-this-file = ["jrsonnet-stdlib/legacy-this-file"]
[dependencies]
crates/jrsonnet-evaluator/src/typed/conversions.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/typed/conversions.rs
+++ b/crates/jrsonnet-evaluator/src/typed/conversions.rs
@@ -304,6 +304,22 @@
}
}
+impl Typed for StrValue {
+ const TYPE: &'static ComplexValType = &ComplexValType::Simple(ValType::Str);
+
+ fn into_untyped(value: Self) -> Result<Val> {
+ Ok(Val::Str(value))
+ }
+
+ fn from_untyped(value: Val) -> Result<Self> {
+ <Self as Typed>::TYPE.check(&value)?;
+ match value {
+ Val::Str(s) => Ok(s),
+ _ => unreachable!(),
+ }
+ }
+}
+
impl Typed for char {
const TYPE: &'static ComplexValType = &ComplexValType::Char;
crates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth--- a/crates/jrsonnet-stdlib/Cargo.toml
+++ b/crates/jrsonnet-stdlib/Cargo.toml
@@ -20,6 +20,8 @@
exp-bigint = ["num-bigint", "jrsonnet-evaluator/exp-bigint"]
exp-null-coaelse = ["jrsonnet-parser/exp-null-coaelse", "jrsonnet-evaluator/exp-null-coaelse"]
+# std.regexMatch and other helpers
+exp-regex = ["regex", "lru", "rustc-hash"]
[dependencies]
jrsonnet-evaluator.workspace = true
@@ -49,6 +51,11 @@
num-bigint = { workspace = true, optional = true }
+# regex
+regex = { workspace = true, optional = true }
+lru = { workspace = true, optional = true }
+rustc-hash = { workspace = true, optional = true }
+
[build-dependencies]
jrsonnet-parser.workspace = true
structdump = { workspace = true, features = ["derive"] }
crates/jrsonnet-stdlib/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-stdlib/src/lib.rs
+++ b/crates/jrsonnet-stdlib/src/lib.rs
@@ -43,6 +43,10 @@
pub use sets::*;
mod compat;
pub use compat::*;
+#[cfg(feature = "exp-regex")]
+mod regex;
+#[cfg(feature = "exp-regex")]
+pub use crate::regex::*;
pub fn stdlib_uncached(settings: Rc<RefCell<Settings>>) -> ObjValue {
let mut builder = ObjValueBuilder::new();
@@ -185,6 +189,9 @@
("setInter", builtin_set_inter::INST),
("setDiff", builtin_set_diff::INST),
("setUnion", builtin_set_union::INST),
+ // Regex
+ #[cfg(feature = "exp-regex")]
+ ("regexQuoteMeta", builtin_regex_quote_meta::INST),
// Compat
("__compare", builtin___compare::INST),
]
@@ -207,8 +214,37 @@
},
);
builder.method("trace", builtin_trace { settings });
+ builder.method("id", FuncVal::Id);
- builder.method("id", FuncVal::Id);
+ #[cfg(feature = "exp-regex")]
+ {
+ // Regex
+ let regex_cache = RegexCache::default();
+ builder.method(
+ "regexFullMatch",
+ builtin_regex_full_match {
+ cache: regex_cache.clone(),
+ },
+ );
+ builder.method(
+ "regexPartialMatch",
+ builtin_regex_partial_match {
+ cache: regex_cache.clone(),
+ },
+ );
+ builder.method(
+ "regexReplace",
+ builtin_regex_replace {
+ cache: regex_cache.clone(),
+ },
+ );
+ builder.method(
+ "regexGlobalReplace",
+ builtin_regex_global_replace {
+ cache: regex_cache.clone(),
+ },
+ );
+ };
builder.build()
}
crates/jrsonnet-stdlib/src/regex.rsdiffbeforeafterboth--- /dev/null
+++ b/crates/jrsonnet-stdlib/src/regex.rs
@@ -0,0 +1,134 @@
+use std::{cell::RefCell, hash::BuildHasherDefault, num::NonZeroUsize, rc::Rc};
+
+use ::regex::Regex;
+use jrsonnet_evaluator::{
+ error::{ErrorKind::*, Result},
+ val::StrValue,
+ IStr, ObjValueBuilder, Val,
+};
+use jrsonnet_macros::builtin;
+use lru::LruCache;
+use rustc_hash::FxHasher;
+
+pub struct RegexCacheInner {
+ cache: RefCell<LruCache<IStr, Rc<Regex>, BuildHasherDefault<FxHasher>>>,
+}
+impl Default for RegexCacheInner {
+ fn default() -> Self {
+ Self {
+ cache: RefCell::new(LruCache::with_hasher(
+ NonZeroUsize::new(20).unwrap(),
+ BuildHasherDefault::default(),
+ )),
+ }
+ }
+}
+pub type RegexCache = Rc<RegexCacheInner>;
+impl RegexCacheInner {
+ fn parse(&self, pattern: IStr) -> Result<Rc<Regex>> {
+ let mut cache = self.cache.borrow_mut();
+ if let Some(found) = cache.get(&pattern) {
+ return Ok(found.clone());
+ }
+ let regex = Regex::new(&pattern)
+ .map_err(|e| RuntimeError(format!("regex parse failed: {e}").into()))?;
+ let regex = Rc::new(regex);
+ cache.push(pattern, regex.clone());
+ Ok(regex)
+ }
+}
+
+pub fn regex_match_inner(regex: &Regex, str: String) -> Result<Val> {
+ let mut out = ObjValueBuilder::with_capacity(3);
+
+ let mut captures = Vec::with_capacity(regex.captures_len());
+ let mut named_captures = ObjValueBuilder::with_capacity(regex.capture_names().len());
+
+ let Some(captured) = regex.captures(&str) else {
+ return Ok(Val::Null)
+ };
+
+ for ele in captured.iter().skip(1) {
+ if let Some(ele) = ele {
+ captures.push(Val::Str(StrValue::Flat(ele.as_str().into())))
+ } else {
+ captures.push(Val::Str(StrValue::Flat(IStr::empty())))
+ }
+ }
+ for (i, name) in regex
+ .capture_names()
+ .skip(1)
+ .enumerate()
+ .flat_map(|(i, v)| Some((i, v?)))
+ {
+ let capture = captures[i].clone();
+ named_captures.member(name.into()).value(capture)?;
+ }
+
+ out.member("string".into())
+ .value_unchecked(Val::Str(captured.get(0).unwrap().as_str().into()));
+ out.member("captures".into())
+ .value_unchecked(Val::Arr(captures.into()));
+ out.member("namedCaptures".into())
+ .value_unchecked(Val::Obj(named_captures.build()));
+
+ Ok(Val::Obj(out.build()))
+}
+
+#[builtin(fields(
+ cache: RegexCache,
+))]
+pub fn builtin_regex_partial_match(
+ this: &builtin_regex_partial_match,
+ pattern: IStr,
+ str: String,
+) -> Result<Val> {
+ let regex = this.cache.parse(pattern)?;
+ regex_match_inner(®ex, str)
+}
+
+#[builtin(fields(
+ cache: RegexCache,
+))]
+pub fn builtin_regex_full_match(
+ this: &builtin_regex_full_match,
+ pattern: StrValue,
+ str: String,
+) -> Result<Val> {
+ let pattern = format!("^{pattern}$").into();
+ let regex = this.cache.parse(pattern)?;
+ regex_match_inner(®ex, str)
+}
+
+#[builtin]
+pub fn builtin_regex_quote_meta(pattern: String) -> String {
+ regex::escape(&pattern)
+}
+
+#[builtin(fields(
+ cache: RegexCache,
+))]
+pub fn builtin_regex_replace(
+ this: &builtin_regex_replace,
+ str: String,
+ pattern: IStr,
+ to: String,
+) -> Result<String> {
+ let regex = this.cache.parse(pattern)?;
+ let replaced = regex.replace(&str, to);
+ Ok(replaced.to_string())
+}
+
+#[builtin(fields(
+ cache: RegexCache,
+))]
+pub fn builtin_regex_global_replace(
+ this: &builtin_regex_global_replace,
+ str: String,
+ pattern: IStr,
+ to: String,
+) -> Result<String> {
+ let regex = this.cache.parse(pattern)?;
+ let replaced = regex.replace_all(&str, to);
+ Ok(replaced.to_string())
+}