Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Batch #185

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Batch #185

wants to merge 3 commits into from

Conversation

brettz9
Copy link
Contributor

@brettz9 brettz9 commented May 15, 2016

Builds on previous PRs to add tableBatch and batch methods for batch operations within a single transaction.

Implements issue #95

brettz9 added 3 commits May 3, 2016 18:15
- Fix: Better type-checking for bad schema objects;
- Fix: Polyfill `newVersion` for PhantomJS
- API change (breaking)/Feature: Add `clearUnusedIndexes` option (defaults to `true`);
- API change (breaking)/Feature: Destroy and rebuild stores or indexes if present with different options;
- API addition: Support a `schemas` object keyed to version with values
as `schema` objects. (Utilizes own `IdbImport` class, relying on own fork of `idb-schema` at least for now.);
idb-schema callbacks will be passed db.js `Server` as second argument
- API addition: Support a `schemaBuilder` callback which accepts an
    [idb-schema](http://github.com/treojs/idb-schema) object for incremental,
    versioned schema building and whose `addCallback` method will be
    passed an enhanced `upgradeneeded` event object with a `Server` object
    as a second argument for making db.js-style queries
    (e.g., to modify store content), albeit with certain limitations.
    Along with `schemas`, addresses issues aaronpowell#84/aaronpowell#109
- API addition: Support a `clearUnusedStores` property to conditionally avoid deleting old stores.
- API addition: Add `db.del` alias of `db.delete`
- API addition: Add `del()` alias on `Server` for parity with `idb-batch` (likely to use or adapt for multiple change transactions);
- Feature: Change schema (and allow for `schemas`) to differentiate between "mixed", "whole", "idb-schema", and "merge" types with `schemaType` option (defaulting to `mixed` for `schema` and `whole` for `schemas`, maintaining prior behavior in backward-compatible manner);
- Docs: Update `version` and `schema` to take `schemaBuilder` into account
    (and document `schemaBuilder`).
- Docs: Expand on key behavior examples;
- Docs: Indicate that `key` is optional too
- Docs: Add mention of missing `limit` on `modify`
- Refactoring: Use `const` where possible;
- Refactoring: Change variable placement including reordering static variables according to type (built-in alias, IDB, immutables, cache)
- Refactoring: Avoid try-catch for brevity if will throw in sync body of Promise (but denote which lines may throw)
- Refactoring: simplify transaction building
- Refactoring: Add `lang` attribute for Atom linter-jade package;
- Code comment: `preventDefault` not only for Firefox.
- Code comment: Clarify how old connections may be closed
- Testing: Schema building tests
- Testing: Add tests for caching
- Testing: Add test:local and phantom on package.json scripts
- Testing: Fix server-handler test (expect specific error)
- Testing: Fix test-worker to deal with multiple babel-polyfill instances
- Testing: Remove redundant bad-args test
- Testing: Unregister service worker
- Docs: Clarify which methods are not available on table objects (fixes issue aaronpowell#95 (and aaronpowell#123))
- Testing: Fix server-update test
- Testing: Add or increase a few timeouts (for Firefox) and reduce FF errors in console
- Refactoring: Add events on transaction through `addEventListener` instead of on* for better interoperability;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant