Skip to content

v3.1.0 — SelectorBuilder, Selector-Wrapping Fix, Default-URL Korrektur

Choose a tag to compare

@wagnert wagnert released this 21 Feb 10:53
· 31 commits to main since this release
93439d1

What's New

SelectorBuilder with DI Support

  • New SelectorBuilder class with SelectorBuilderInterface for API-compliant selector wrapping and injection-safe value escaping
  • 4 methods: ensureFunction(), escapeValue(), buildFilter(), isSafeIdentifier()
  • DI-compatible injection via optional constructor parameters in AppSheetClientFactory and AppSheetClient (no breaking change)
  • AOP-extensible: consumers can subclass and inject logged/decorated builders

Bug Fixes

  • Selector Wrapping: AppSheetClient.find() now automatically wraps raw boolean expressions in Filter(tableName, expression) as required by AppSheet API spec
  • Default Base URL: Changed from deprecated api.appsheet.com to www.appsheet.com

Documentation

  • Updated all examples to v3.1.0 (basic-usage, schema-based-usage, example-schema.yaml)
  • New selector-builder-usage.ts example with 5 scenarios (escaping, safe filters, auto-wrapping, DI injection, AOP)
  • Archived TECHNICAL_CONCEPTION.md (v1.0 planning document) to docs/archive/
  • Regenerated TypeDoc API docs
  • Added CHANGELOG.md entry

Breaking Changes

None. Fully backward compatible with v3.0.0.

Test Results

  • 9 test suites, 265 tests passed
  • Build clean, Lint 0 errors

Jira: SOSO-365
Full Changelog: v3.0.0...v3.1.0