You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.2 KiB
3.2 KiB
Changelog
v2.4.2
- Improved ESM TypeScript types.
- More precise TypeScript replacer type.
v2.4.1
- More precise TypeScript types. The return type is now either
string,undefinedorstring | undefineddepending on the input.
v2.4.0
- Added
strictoption to verify that the passed in objects are fully compatible with JSON without removing information. If not, an error is thrown. - Fixed TypeScript definition for ESM code bases
v2.3.1
- Fix
invalid regexp grouperror in browsers or environments that do not support the negative lookbehind regular expression assertion.
v2.3.0
- Accept the
Errorconstructor ascircularValueoption to throw on circular references as the regular JSON.stringify would:
import { configure } from 'safe-stable-stringify'
const object = {}
object.circular = object;
const stringify = configure({ circularValue: TypeError })
stringify(object)
// TypeError: Converting circular structure to JSON
- Fixed escaping wrong surrogates. Only lone surrogates are now escaped.
v2.2.0
- Reduce module size by removing the test and benchmark files from the published package
- Accept
undefinedascircularValueoption to remove circular properties from the serialized output:
import { configure } from 'safe-stable-stringify'
const object = { array: [] }
object.circular = object;
object.array.push(object)
configure({ circularValue: undefined })(object)
// '{"array":[null]}'
v2.1.0
- Added
maximumBreadthoption to limit stringification at a specific object or array "width" (number of properties / values) - Added
maximumDepthoption to limit stringification at a specific nesting depth - Implemented the well formed stringify proposal that is now part of the spec
- Fixed maximum spacer length (10)
- Fixed TypeScript definition
- Fixed duplicated array replacer values serialized more than once
v2.0.0
- [BREAKING] Convert BigInt to number by default instead of ignoring these values
If you wish to ignore these values similar to earlier versions, just use the new
bigintoption and set it tofalse. - [BREAKING] Support ESM
- [BREAKING] Requires ES6
- Optional BigInt support
- Deterministic behavior is now optional
- The value to indicate a circular structure is now adjustable
- Significantly faster TypedArray stringification
- Smaller Codebase
- Removed stateful indentation to guarantee side-effect freeness
v1.1.1
- Fixed an indentation issue in combination with empty arrays and objects
- Updated dev dependencies
v1.1.0
- Add support for IE11 (
917b6128de) - Fix issue with undefined values (https://github.com/BridgeAR/safe-stable-stringify/commit/4196f87, https://github.com/BridgeAR/safe-stable-stringify/commit/4eab558)
- Fix typescript definition (https://github.com/BridgeAR/safe-stable-stringify/commit/7a87478)
- Improve code coverage (https://github.com/BridgeAR/safe-stable-stringify/commit/ed8cadc, https://github.com/BridgeAR/safe-stable-stringify/commit/b58c494)
- Update dev dependencies (https://github.com/BridgeAR/safe-stable-stringify/commit/b857ea8)
- Improve docs