Skip to content

Releases: hershel-theodore-layton/expr-dump

Bronze - patch 1

02 Nov 20:37

Choose a tag to compare

This release prepares for the latest builds of hhvm by asserting some types at runtime.

Bronze

11 Oct 12:53

Choose a tag to compare

This release drops support for hhvm version 4.102 through hhvm version 4.151.

Silver - patch 2

05 Jul 16:32

Choose a tag to compare

This is the first release of expr-dump with non-experimental support for hhvm 25+.

Silver - patch 1

28 May 20:45

Choose a tag to compare

This release fixes an error where hhvm-four-shim ^1 was required. This should have been <1.

Silver

25 May 19:53

Choose a tag to compare

This release loosens the hhvm requirement from ^4.102 to >=4.102.

Gold

07 Dec 19:04

Choose a tag to compare

This release sprinkles some newlines in the generated code.
Without these newlines, hackfmt chokes on absurdly (but still realistically) large files.
These newlines push the boundaries of what code can be reasonably formatted.

This release might cause your code to format differently than before.
If you want the minimal amount of changes to the output, remove the newline before passing the code to hackfmt.

This release starts the version 1.x line, not because of a breaking change,
but because expr-dump has been stable for a long while.

Oxygen - patch 1

02 Nov 12:38

Choose a tag to compare

This release of expr-dump accepts and requires type-visitor version 1.x.

No changes were made.

Oxygen

15 Feb 07:17
7ce7f26

Choose a tag to compare

This is the first release of expr-dump.

We are skipping v0.0.0 Ho, Ho, Ho. The current api is stableTM1. All the options are provided via a shape, so new options that deprecate the older ones can be added in a backwards compatible way.

This utility builds on the previous work in type-visitor. Dump values to source code, yep, that's about it. If you have never needed it, you'll hear crickets. If you have used hacky Str\replace() workarounds to approximate this, like hhvm-autoload does, or you have had the pleasure of writing a HackCodegen\HackBuilderRenderer, you may like this solution, no promises.

Support for built-in dumpers is limited to the following types:

  • bool
  • dict
  • dynamic / mixed / nonnull
  • enums (require an EnumDefinition)
  • float (also num)
  • keyset
  • int (also arraykey, num)
  • null
  • nullables (of any of the supported types)
  • shape
  • string (also arraykey)
  • tuple
  • vec
  • vec_or_dict

Support for other types can be added with custom dumpers and default dumpers can be overridden using the same mechanism.

In the same line as static-type-assertion-code-generator, use this dependency as a development dependency. TypeVisitor is built on an eternally unstable api. (It has been unstable since at least 2016).

  1. Obviously not a legal trademark. Riffing on the joke "Soon superscript TM".