All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Exposed
Collection.collectionName
as a readonly property for TypeScript usage. - TypeScript overview to the README.
- Optional replacement argument for
array-splice
edit fields. array-contains-none
option for array fields.- Optional constructor for the
JSONDatabase
PHP class to reduce repetitive code. - "Advanced" section to the README for previously undocumented features.
original
option forreadRaw
to not insert ID fields, for easier non-relational collection usage.
- Rejected incorrect parameters are now
TypeError
s instead of regularError
s. - Deprecated
firestorm.table(name)
method, sincefirestorm.collection(name)
does exactly the same thing. - Reformatted the repository and improved README.md to make it easier to set up Firestorm.
- Clean up and standardize JSDoc comments.
editField
andeditFieldBulk
now return confirmations like all other write methods.editField
andeditFieldBulk
now reject with a descriptive error message on failure rather than silently failing.
- PHP-level errors not being rejected properly in GET requests.
- Certain write commands mutating data internally and affecting parameters outside Firestorm.
Collection.searchKeys
andCollection.values
not returning properError
objects sometimes.files.upload
not allowing theform-data
package's typing ofFormData
in TypeScript.- Inconsistent use of indentation and formatting in PHP files.
- Various typos in PHP files.
Collection
class being exported in TypeScript despite the actual class being private.array-splice
edit fields being incorrectly typed asarray-slice
.- Platform-specific PHP error when searching nested keys.
Collection.remove
rejecting numeric keys, despiteCollection.removeBulk
not doing so.editField
andeditFieldBulk
validation issues.
Collection.values
method, which gets all distinct non-null values for a given key across a collection.
- Refactored JavaScript part to be less verbose and reuse existing code better.
- Added JSDoc
{@link }
properties. - Cleaned up and clarified README.md.
- Renamed
AllCriteria
toAnyCriteria
to be more accurate. - Replaced broken
NoMethods<T>
type with a more generalizedRemoveMethods<T>
type. - Replaced
Writable<T>
with more specificSettable<T>
andAddable<T>
types for set and add operations respectively. Collection.select
now picks the correct return parameters directly instead of returning a partial object.
- Ran everything through a spelling checker.
- Method fields are no longer shown as valid in searches and selections.
Collection.editField
andCollection.editFieldBulk
now return confirmations like the other write methods.files.upload
andfiles.delete
extract the Axios request and returnWriteConfirmation
s like all other methods.
- Write methods being annotated as returning elements rather than confirmations
- Missing
Collection.select
return type. - Make the JavaScript and TypeScript JSDoc entirely consistent.
- Fix file namespace being declared as an abstract class rather than a constant object.
- Deprecated
Collection.read_raw
andCollection.write_raw
methods in favor of their camelCased counterparts. - Changed type casing style to PascalCase everywhere.
- Use ES6 method notation everywhere.
Raw<T>
type in favor ofRecord<K, V>
.
- Broken Exception types
- Prettier not running on TypeScript files
- Nested keys not being typed properly
- Fix file namespace
- Prettier
- Updated and cleaned up README.md
- Fixed types being placed under wrong namespace
- Updated README.md with working badges
- Moved to pnpm for dependency version w/ tests
crypto
module as it is now deprecated and a built-in node package