Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: 43081j/picoquery
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.0.0
Choose a base ref
...
head repository: 43081j/picoquery
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 15 commits
  • 12 files changed
  • 3 contributors

Commits on Jun 22, 2024

  1. feat: switch to esm-only (#22)

    2.x and beyond will ship as ESM only. 1.x will continue to have
      backported fixes and non-breaking features.
    43081j authored Jun 22, 2024
    Configuration menu
    Copy the full SHA
    bb7b731 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. perf: follow nested object during parsing (#23)

    Instead of traversing objects twice (once to set, once to get), we now keep track of it through the parse loop and key into it gradually as keys are parsed.
    PondWader authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    4da194f View commit details
    Browse the repository at this point in the history
  2. fix: remove dead code for index nested start keys (#24)

    When using index nesting, the parse loop visits `[` and computes keys
    _only if_ we didn't just pass a `]`.
    
    This is to capture the start of such a key. For example, `foo[bar][baz]`
    would result in the only occurrence of this being `foo[`.
    
    Since a syntactically valid indexed key should only have one of these
    (at the start), `lastKey` should always be `undefined` at that point. So
    we can remove the check.
    43081j authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    f168317 View commit details
    Browse the repository at this point in the history
  3. perf: rework stringify to avoid array alloc (#25)

    Changes the stringify logic to build a string up internally rather than
    producing an array of traversed key/value pairs.
    
    Should result in a little less memory usage and seems to bump the perf
    up a fair amount in some cases.
    43081j authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    9c6f311 View commit details
    Browse the repository at this point in the history
  4. docs: update benchmarks (#26)

    Re-runs the benchmarks since we changed the parse loop recently.
    43081j authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    7c01017 View commit details
    Browse the repository at this point in the history
  5. chore: tweak publish flows (#29)

    Sets the publish flow to do the following:
    
    - `1.*` pre-releases have the `v1-next` tag
    - `1.*` releases have the `v1` tag
    - all other pre-releases have the `next` tag
    - all other releases have the `latest` tag
    43081j authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    5d67a39 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c32c11a View commit details
    Browse the repository at this point in the history
  7. fix: export shared types (#33)

    Exports the shared types so we can get hold of `Options` etc.
    43081j authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    d22d54b View commit details
    Browse the repository at this point in the history
  8. feat: add value serializers (#35)

    Adds a new `valueSerializer` option so we can provide a custom value
    serializer.
    43081j authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    036311a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b7a909e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ed18519 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. feat: add new js nesting syntax (#40)

    Adds a new syntax type, `js`. With this syntax, arrays use indices and
    properties use dot-notation.
    
    For example:
    
    ```ts
    // foo.bar[0]=baz
    
    ({
      foo: {
        bar: [
          'baz'
        ]
      }
    })
    ```
    
    Closes #39
    43081j authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    6b05645 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. fix: nested repeated array syntax (#43)

    Fixes #42
    
    Essentially we had two bugs 👀
    
    Bug 1: if you have repeat syntax when using bracket-notation, but only
    had one key, we would _not_ create it as a string.
    
    For example:
    
    ```ts
    parse('foo[]=1', opts); // {foo: 1} - wrong!
    
    parse('foo[]=1&foo[]=2', opts); // {foo: [1, 2]} - right!
    ```
    
    Bug 2: if you have repeat syntax following an index-nested member, we
    would not parse it correctly.
    
    For example:
    
    ```ts
    parse('foo[bar][]=1', opts); // {foo: {bar: 1}} - wrong!
    
    // expected: {foo: {bar: [1]}}
    ```
    
    These should both now be fixed.
    43081j authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    5d0a39f View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2024

  1. feat: add support for serializing complex objects (#49)

    Adds a `shouldSerializeObject` function which determines if a value
    should be serialized or should attempt to be nested.
    
    The default implementation checks if a value is a non-date object,
    meaning all objects which are not dates will trigger nesting.
    43081j authored Jul 27, 2024
    Configuration menu
    Copy the full SHA
    d663bd1 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2024

  1. Configuration menu
    Copy the full SHA
    327c7db View commit details
    Browse the repository at this point in the history
Loading