├── .eslintignore ├── .eslintrc.json ├── .firebaserc ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md ├── stale.yml └── workflows │ ├── pull_request.yml │ ├── push.yml │ └── release.yml ├── .gitignore ├── .npmignore ├── .opensource └── project.json ├── .prettierrc.js ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── examples ├── 404.html ├── README.md └── viewers │ ├── assets │ └── bluedot.png │ ├── css │ └── viewers.css │ ├── index.html │ └── js │ └── viewers.js ├── firebase.json ├── firestore.indexes.json ├── firestore.rules ├── package-lock.json ├── package.json ├── postinstall.js ├── rollup.config.js ├── src ├── GeoCollectionReference.ts ├── GeoDocumentReference.ts ├── GeoDocumentSnapshot.ts ├── GeoFirestore.ts ├── GeoQuery.ts ├── GeoTransaction.ts ├── GeoWriteBatch.ts ├── index.ts └── utils.ts ├── test ├── GeoCollectionReference.test.ts ├── GeoDocumentReference.test.ts ├── GeoDocumentSnapshot.test.ts ├── GeoFirestore.test.ts ├── GeoQuery.test.ts ├── GeoTransaction.test.ts ├── GeoWriteBatch.test.ts ├── common.ts └── utils.test.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | **/*.json 2 | **/*.js 3 | dist/ 4 | node_modules/ -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./node_modules/gts/", 3 | "rules": { 4 | "ban-ts-ignore": "off", 5 | "max-len": [ 6 | "error", 7 | { 8 | "code": 140 9 | } 10 | ], 11 | "@typescript-eslint/no-explicit-any": "off", 12 | "@typescript-eslint/no-namespace": "off" 13 | }, 14 | "overrides": [ 15 | { 16 | "files": ["test/**/*.ts"], 17 | "env": { 18 | "browser": true, 19 | "mocha": true 20 | }, 21 | "rules": { 22 | "node/no-extraneous-import": "off" 23 | } 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "geofirestore" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | 12 | ### [REQUIRED] Describe your environment 13 | 14 | - Operating System version: _____ 15 | - Browser version: _____ 16 | - Firebase library (`firebase`, `firebase-admin`, etc...) and version: _____ 17 | - GeoFirestore version: _____ 18 | 19 | 20 | 21 | ### [REQUIRED] Describe the problem 22 | 23 | #### Describe the bug 24 | 25 | A clear and concise description of what the bug is. 26 | 27 | #### Steps to Reproduce 28 | 29 | 1. Go to '...' 30 | 2. Click on '....' 31 | 3. Scroll to '....' 32 | 4. See error 33 | 34 | #### Relevant Code 35 | 36 | Reproduce the issue on StackBlitz and provide your forked URL or provide sample code below 37 | 38 | https://stackblitz.com/fork/geofirestore-issue-sandbox 39 | 40 | ```JavaScript 41 | // TODO(you): code here to reproduce the problem 42 | ``` 43 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an Issue or Pull Request with the stale label is closed. 2 | # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. 3 | daysUntilClose: 7 4 | 5 | # Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) 6 | onlyLabels: 7 | - question 8 | 9 | # Set to true to ignore issues in a project (defaults to false) 10 | exemptProjects: false 11 | 12 | # Set to true to ignore issues in a milestone (defaults to false) 13 | exemptMilestones: false 14 | 15 | # Set to true to ignore issues with an assignee (defaults to false) 16 | exemptAssignees: false 17 | 18 | # Limit to only `issues` or `pulls` 19 | only: issues -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- 1 | name: Pull Request CI 2 | on: pull_request 3 | env: 4 | COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_REPO_TOKEN }}" 5 | jobs: 6 | lint_and_test: 7 | name: Lint and Test 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v2 12 | - name: Setup Node 13 | uses: actions/setup-node@v1 14 | with: 15 | node-version: 12.x 16 | - name: NPM Cache 17 | uses: actions/cache@v2 18 | with: 19 | path: ~/.npm 20 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 21 | restore-keys: | 22 | ${{ runner.os }}-node- 23 | - name: NPM Install 24 | run: npm install --ignore-scripts 25 | - name: Lint 26 | run: npm run lint 27 | - name: Test 28 | run: npm run test 29 | - name: Coverage 30 | run: npm run coverage 31 | -------------------------------------------------------------------------------- /.github/workflows/push.yml: -------------------------------------------------------------------------------- 1 | name: Push CI 2 | on: 3 | push: 4 | branches: 5 | - 'main' 6 | - 'dev' 7 | tags-ignore: 8 | - v* 9 | env: 10 | COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_REPO_TOKEN }}" 11 | jobs: 12 | lint_and_test: 13 | name: Lint and Test 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v2 18 | - name: Setup Node 19 | uses: actions/setup-node@v1 20 | with: 21 | node-version: 12.x 22 | - name: NPM Cache 23 | uses: actions/cache@v2 24 | with: 25 | path: ~/.npm 26 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} 27 | restore-keys: | 28 | ${{ runner.os }}-node- 29 | - name: NPM Install 30 | run: npm install --ignore-scripts 31 | - name: Lint 32 | run: npm run lint 33 | - name: Test 34 | run: npm run test 35 | - name: Coverage 36 | run: npm run coverage 37 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release CI 2 | on: 3 | push: 4 | tags: 5 | - v* 6 | jobs: 7 | lint_test_and_deploy: 8 | name: Lint, Test, and Deploy 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v2 13 | 14 | - name: Setup Node 15 | uses: actions/setup-node@v2 16 | with: 17 | node-version: 14 18 | 19 | - name: NPM Install 20 | run: npm install 21 | 22 | - name: Lint 23 | run: npm run lint 24 | 25 | - name: Test 26 | run: npm run test 27 | 28 | - name: Coverage 29 | run: npm run coverage 30 | env: 31 | COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} 32 | 33 | - name: Build 34 | run: npm run build 35 | 36 | - name: Firebase Deploy 37 | uses: FirebaseExtended/action-hosting-deploy@v0 38 | with: 39 | repoToken: ${{ secrets.GITHUB_TOKEN }} 40 | firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_GEOFIRESTORE }} 41 | projectId: geofirestore 42 | channelId: live 43 | target: geofirestore 44 | 45 | - name: NPM Publish 46 | uses: JS-DevTools/npm-publish@v1 47 | with: 48 | token: ${{ secrets.NPM_TOKEN }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Folders 2 | .firebase/ 3 | .nyc_output/ 4 | .rpt2_cache/ 5 | coverage/ 6 | dist/ 7 | docs/ 8 | functions/etc/ 9 | functions/lib/ 10 | node_modules/ 11 | 12 | # Files 13 | .DS_Store 14 | 15 | .firebase 16 | *.log -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | ## Folders 2 | .firebase/ 3 | .nyc_output/ 4 | .rpt2_cache/ 5 | coverage/ 6 | docs/ 7 | examples/ 8 | functions/ 9 | src/ 10 | test/ 11 | 12 | 13 | ## Files 14 | .firebase 15 | .firebaserc 16 | .gitignore 17 | firebase.json 18 | firestore.indexes.json 19 | firestore.rules 20 | tsconfig.json 21 | tslint.json -------------------------------------------------------------------------------- /.opensource/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GeoFirestore for JavaScript", 3 | "platforms": [ 4 | "Web" 5 | ], 6 | "content": "README.md", 7 | "pages": [], 8 | "related": [ 9 | "firebase/geofire-js" 10 | ], 11 | "tabs": [{ 12 | "title": "Reference Docs", 13 | "href": "https://geofirestore.com" 14 | }] 15 | } -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require('gts/.prettierrc.json') 3 | } 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 5.2.0 (2022-05-09) 2 | 3 | ##### Build System / Dependencies 4 | 5 | * **deps:** bump ajv from 5.5.2 to 6.12.6 ([#228](https://github.com/MichaelSolati/geofirestore-js/pull/228)) ([a46dc62d](https://github.com/MichaelSolati/geofirestore-js/commit/a46dc62de5d13d627559fb3e8b66dc7ce854f0b6)) 6 | 7 | ## 5.0.0 (2022-02-09) 8 | 9 | ##### New Features 10 | 11 | * **compat:** update dependencies and use firebase v9 compat ([#225](https://github.com/MichaelSolati/geofirestore-js/pull/225)) ([aeb54a3e](https://github.com/MichaelSolati/geofirestore-js/commit/aeb54a3eb2edffbddf152c9a6bafbe23e7c1f91f)) 12 | 13 | #### 4.4.2 (2021-06-12) 14 | 15 | ##### Build System / Dependencies 16 | 17 | * update release script ([5506f78a](https://github.com/MichaelSolati/geofirestore-js/commit/5506f78a666033abfed2af8fb18159f6712298c4)) 18 | 19 | ##### Chores 20 | 21 | * update dependencies ([a6cc0899](https://github.com/MichaelSolati/geofirestore-js/commit/a6cc089968934d1a67262360bbd0e08ad2a432a3)) 22 | 23 | ##### Code Style Changes 24 | 25 | * fix up code to pass linting test ([33276661](https://github.com/MichaelSolati/geofirestore-js/commit/33276661d8927afe04db540725845957bb8aba3f)) 26 | 27 | ##### Tests 28 | 29 | * **GeoTransaction:** disable tests that can't run on the emulator ([effacba3](https://github.com/MichaelSolati/geofirestore-js/commit/effacba3567d524313a16d385fd69ebbc7163049)) 30 | * **firebase:** use emulator to run tests ([64ec3ac3](https://github.com/MichaelSolati/geofirestore-js/commit/64ec3ac3ccae812a81630ab83c83d2e9150000d0)) 31 | 32 | #### 4.4.1 (2020-12-13) 33 | 34 | ##### Build System / Dependencies 35 | 36 | * **deps:** bump ini from 1.3.5 to 1.3.7 ([#204](https://github.com/MichaelSolati/geofirestore-js/pull/204)) ([a9cc0ab0](https://github.com/MichaelSolati/geofirestore-js/commit/a9cc0ab00b0b5aab3af95656dd2cb4f427334e2c)) 37 | 38 | ##### Chores 39 | 40 | * update `geofirestore-core`. fixes [#202](https://github.com/MichaelSolati/geofirestore-js/pull/202) ([a6fd4134](https://github.com/MichaelSolati/geofirestore-js/commit/a6fd4134a1b65402fb1e56e707e8118bfb3c2c38)) 41 | * **github:** configure stalebot ([9aee4ad2](https://github.com/MichaelSolati/geofirestore-js/commit/9aee4ad290fe40572a3899842aaad656fea635e4)) 42 | * **firebase:** update firestore indexes ([42ee6e0f](https://github.com/MichaelSolati/geofirestore-js/commit/42ee6e0fb2bd0cd986e41e83e03218d7df8173f0)) 43 | 44 | ### 4.4.0 (2020-11-26) 45 | 46 | ##### Build System / Dependencies 47 | 48 | * update GitHub actions to only run in certain cases ([383990c6](https://github.com/MichaelSolati/geofirestore-js/commit/383990c63a93d3207a0ecb0d26f7bb1d7d110a5f)) 49 | * **deps:** bump bl from 4.0.2 to 4.0.3 ([#191](https://github.com/MichaelSolati/geofirestore-js/pull/191)) ([84fcb96a](https://github.com/MichaelSolati/geofirestore-js/commit/84fcb96a475bc35fb8f06f6f78f388c3c874b337)) 50 | 51 | ##### Chores 52 | 53 | * **typescript:** update typescript ([95858bd1](https://github.com/MichaelSolati/geofirestore-js/commit/95858bd133869dfc828d9fc8b7de587fd2e96a37)) 54 | * update dependencies ([d8bcb322](https://github.com/MichaelSolati/geofirestore-js/commit/d8bcb3224497f0386fcca771dee814f644ea4d68)) 55 | 56 | ##### Code Style Changes 57 | 58 | * **test:** fix formating of test code ([962969fa](https://github.com/MichaelSolati/geofirestore-js/commit/962969fa00edba31912400a3d1aa7d60a1dd8244)) 59 | 60 | ##### Tests 61 | 62 | * update tests and remove `settings` from `GeoFirestore` ([4b1bd275](https://github.com/MichaelSolati/geofirestore-js/commit/4b1bd27575bdcebbf55de22b4b2502b44a8a5e2d)) 63 | 64 | ### 4.3.0 (2020-08-01) 65 | 66 | ##### Build System / Dependencies 67 | 68 | * include comments in `dist/**/*.d.ts` files ([ef4e6366](https://github.com/MichaelSolati/geofirestore-js/commit/ef4e6366476ebdaeaea3cd967122c03ad5469cbc)) 69 | 70 | ##### New Features 71 | 72 | * **GeoFirestore:** 73 | * add method for `settings` ([cace72c9](https://github.com/MichaelSolati/geofirestore-js/commit/cace72c983131e1ddf0ddeb90194c78a6f9caac8)) 74 | * add method for `doc` ([3992c978](https://github.com/MichaelSolati/geofirestore-js/commit/3992c978e377623cf524d0dada8eb90a8ca1ced0)) 75 | * add method for `collectionGroup`, fixes [#187](https://github.com/MichaelSolati/geofirestore-js/pull/187) ([7d34d877](https://github.com/MichaelSolati/geofirestore-js/commit/7d34d87701f7068eca064df916ae752d69b609b6)) 76 | 77 | #### 4.2.1 (2020-07-19) 78 | 79 | ##### Bug Fixes 80 | 81 | * **README:** fix CI badge in README ([3767b8a7](https://github.com/MichaelSolati/geofirestore-js/commit/3767b8a7c68216e9ea8e292c92ba481e4186f852)) 82 | 83 | ### 4.2.0 (2020-07-19) 84 | 85 | ##### Build System / Dependencies 86 | 87 | * run GitHub action for pushes, pull requests, and releases ([0c1a8045](https://github.com/MichaelSolati/geofirestore-js/commit/0c1a804516fa3f99cc3b2cc85c33ebde174952eb)) 88 | * **deps:** bump lodash from 4.17.15 to 4.17.19 ([#186](https://github.com/MichaelSolati/geofirestore-js/pull/186)) ([cdcc4801](https://github.com/MichaelSolati/geofirestore-js/commit/cdcc480169ce662a9bb5c67b673223aed6ceb72a)) 89 | 90 | ##### New Features 91 | 92 | * **GeoWriteBatch:** allow custom key to be defined at write batch level ([d1d61436](https://github.com/MichaelSolati/geofirestore-js/commit/d1d614367469ac1b1be1b9aedbe091830cba8ec4)) 93 | * **GeoTransaction:** allow custom key to be defined at transaction level ([924accad](https://github.com/MichaelSolati/geofirestore-js/commit/924accadcdedddc20d3708f433e0e7971fe9e7a6)) 94 | * **GeoCollectionReference:** allow custom key to be defined at collection level ([284c90c6](https://github.com/MichaelSolati/geofirestore-js/commit/284c90c677560dbf48e870b6b6e433fe19890e34)) 95 | 96 | #### 4.1.3 (2020-07-05) 97 | 98 | ##### Build System / Dependencies 99 | 100 | * update ci so only one workflow runs on a tag ([949e4719](https://github.com/MichaelSolati/geofirestore-js/commit/949e4719bc6cbddbea43544f809a88f139951da4)) 101 | 102 | ##### Documentation Changes 103 | 104 | * **README:** clarify security rules ([2fd87cb6](https://github.com/MichaelSolati/geofirestore-js/commit/2fd87cb6b058d7f85ee88a5702d87cb71cce0dd7)) 105 | 106 | #### 4.1.2 (2020-07-02) 107 | 108 | ##### Chores 109 | 110 | * remove `@types/node` from `devDependencies` ([f8b2cd36](https://github.com/MichaelSolati/geofirestore-js/commit/f8b2cd36fac6105e778952ca25d3ca560774b818)) 111 | 112 | #### 4.1.1 (2020-07-02) 113 | 114 | ##### Chores 115 | 116 | * update `geofirestore-core` to v4.1.0 ([c35ee4da](https://github.com/MichaelSolati/geofirestore-js/commit/c35ee4da362b72305ec57949c8aad64e16ff44e6)) 117 | * update tests ([2d834fb5](https://github.com/MichaelSolati/geofirestore-js/commit/2d834fb58e0b694b23b5132e627e19b11ece45cc)) 118 | 119 | ##### Documentation Changes 120 | 121 | * **README:** add details about security rules ([90503ef3](https://github.com/MichaelSolati/geofirestore-js/commit/90503ef3ccbd52e6856e2e61a5a94554a794e579)) 122 | 123 | ### 4.1.0 (2020-06-22) 124 | 125 | ##### Documentation Changes 126 | 127 | * update README to use `initializeApp` ([833975ba](https://github.com/MichaelSolati/geofirestore-js/commit/833975babb03f2e818d7eabbc539125eef91a44d)) 128 | 129 | ##### New Features 130 | 131 | * **initializeApp:** add function to create new GeoFirestore instance ([bb319907](https://github.com/MichaelSolati/geofirestore-js/commit/bb31990720da18164f3431369c1f7b96cf315e7c)) 132 | 133 | ##### Bug Fixes 134 | 135 | * **lint:** add `;` to `utils.test.ts` for linting ([8fb13947](https://github.com/MichaelSolati/geofirestore-js/commit/8fb13947fb945706454388f9bde37e24644c3961)) 136 | 137 | ##### Refactors 138 | 139 | * use `geofirestore-core` ([4fa86038](https://github.com/MichaelSolati/geofirestore-js/commit/4fa86038c7603eba3dcfce473d8d942c906ddb62)) 140 | 141 | #### 4.0.1 (2020-06-16) 142 | 143 | ##### Build System / Dependencies 144 | 145 | * update firestore rules version ([52f39722](https://github.com/MichaelSolati/geofirestore-js/commit/52f39722071dd8ee45beeca057fd3d70334442dc)) 146 | 147 | ##### Chores 148 | 149 | * update rules for viewers collection ([609202cb](https://github.com/MichaelSolati/geofirestore-js/commit/609202cb3cbdf34c0994a221e8d6aeca5b273bf9)) 150 | 151 | ## 4.0.0 (2020-06-16) 152 | 153 | ##### Chores 154 | 155 | * add upgrade directions and warning ([4cafcbb7](https://github.com/MichaelSolati/geofirestore-js/commit/4cafcbb7134a29e9b5ccc548b9ac4b611f8232c7)) 156 | 157 | ##### Documentation Changes 158 | 159 | * **README:** 160 | * add warning for v4.0.0 ([83af3c3d](https://github.com/MichaelSolati/geofirestore-js/commit/83af3c3d5e9afc27cc59882af57c42e7104771eb)) 161 | * update `Data Structure` section ([a3546a29](https://github.com/MichaelSolati/geofirestore-js/commit/a3546a29952daed6e362591082274d1e6d5b382c)) 162 | 163 | ##### Refactors 164 | 165 | * simplify logic ([3e0cc7b2](https://github.com/MichaelSolati/geofirestore-js/commit/3e0cc7b26808f9771625efe08a65c4e5897f3a5c)) 166 | * use `g` instead of `.g` for geofirestore data ([9444cae0](https://github.com/MichaelSolati/geofirestore-js/commit/9444cae07cbb04959083e13904ecdb62407ead1a)) 167 | * flatten document structure so user data is top level ([e2ad5e5c](https://github.com/MichaelSolati/geofirestore-js/commit/e2ad5e5ce5def51d4c2c76993ca49881c1299019)) 168 | 169 | ##### Tests 170 | 171 | * update tests for new data structure ([5a2e6693](https://github.com/MichaelSolati/geofirestore-js/commit/5a2e6693b78368476587d8b01c0191c54b89578d)) 172 | 173 | ### 3.6.0 (2020-06-08) 174 | 175 | ##### Bug Fixes 176 | 177 | * **GeoQuery:** fix `near` when `radius` is set to `0`, fixes [#178](https://github.com/MichaelSolati/geofirestore-js/pull/178) ([65db67fa](https://github.com/MichaelSolati/geofirestore-js/commit/65db67fa0aab2e8beaa0b88b11e4dbc1f050266d)) 178 | 179 | ##### Tests 180 | 181 | * add tests ([2b5fb326](https://github.com/MichaelSolati/geofirestore-js/commit/2b5fb32616058db0d2f32ff17a4986a4790c80ed)) 182 | 183 | #### 3.5.2 (2020-06-08) 184 | 185 | ##### Build System / Dependencies 186 | 187 | * `--ignore-scripts` on `npm install` ([a78dc597](https://github.com/MichaelSolati/geofirestore-js/commit/a78dc597a52ea446bf234d04c7ae50f850c10b55)) 188 | * use `npm-cache` ([f14ab269](https://github.com/MichaelSolati/geofirestore-js/commit/f14ab269220f77df74406374c78a1dee9bba3a2a)) 189 | 190 | ##### Documentation Changes 191 | 192 | * **README:** add links for badges ([bde3c166](https://github.com/MichaelSolati/geofirestore-js/commit/bde3c1669ca6771cddbf27c4cb09d23fdfc81172)) 193 | 194 | #### 3.5.1 (2020-06-08) 195 | 196 | ##### New Features 197 | 198 | * add issue template ([37c04989](https://github.com/MichaelSolati/geofirestore-js/commit/37c049896554460adcea529f269308e79eb5bf00)) 199 | 200 | ##### Bug Fixes 201 | 202 | * **docs:** set typedoc to `0.15.0` ([8ce71a0f](https://github.com/MichaelSolati/geofirestore-js/commit/8ce71a0f42d16e60428bd9d09ad3751737e43e3b)) 203 | 204 | ### 3.5.0 (2020-06-08) 205 | 206 | ##### Build System / Dependencies 207 | 208 | * lint `/test` folder ([f00ff208](https://github.com/MichaelSolati/geofirestore-js/commit/f00ff20896ef83570645d1a2609ecb4fcffd5882)) 209 | * move to GitHub Actions for CI ([1bc2014c](https://github.com/MichaelSolati/geofirestore-js/commit/1bc2014cd600df9b938b10aa9b80b32c22159164)) 210 | * **deps:** bump websocket-extensions from 0.1.3 to 0.1.4 ([#177](https://github.com/MichaelSolati/geofirestore-js/pull/177)) ([91f00715](https://github.com/MichaelSolati/geofirestore-js/commit/91f007153a6f867fe50db22d253d06f7508f2d6f)) 211 | 212 | ##### Chores 213 | 214 | * **viewers:** update viewers example ([95107175](https://github.com/MichaelSolati/geofirestore-js/commit/95107175e16203899940d9210f1ce49c33179ee8)) 215 | * update dependencies and build ([0d892c96](https://github.com/MichaelSolati/geofirestore-js/commit/0d892c96d23f0b2f95d4b00b8fe87944d1b237eb)) 216 | * re-add Firebase to license ([1aab19cd](https://github.com/MichaelSolati/geofirestore-js/commit/1aab19cd01a29b966515d1ce55cc34f8e1e2c6ff)) 217 | 218 | ##### Documentation Changes 219 | 220 | * **README:** update badges and compound queries documentation ([a90c653e](https://github.com/MichaelSolati/geofirestore-js/commit/a90c653eb2a8c48a6b675a80438cb2ac65f30438)) 221 | 222 | ##### Bug Fixes 223 | 224 | * set deploy on tag push and fix `firebase-tools` install ([ac410034](https://github.com/MichaelSolati/geofirestore-js/commit/ac41003457163bbb4a124e5f735c35cc0ab9c96f)) 225 | * **mocha:** 226 | * exit tests ([886cd283](https://github.com/MichaelSolati/geofirestore-js/commit/886cd283bb2575c23e776e73b4ccd211c4d184bd)) 227 | * remove module from `tsconfig.json` ([84786da8](https://github.com/MichaelSolati/geofirestore-js/commit/84786da875199f985f5e5052e9e3bf799902db8f)) 228 | * **rollup:** add `module` override ([a45529eb](https://github.com/MichaelSolati/geofirestore-js/commit/a45529eba595f2b160a318760c3e5abb3653a148)) 229 | 230 | #### 3.4.3 (2020-05-04) 231 | 232 | ##### Documentation Changes 233 | 234 | * update ci url ([170fe26d](https://github.com/MichaelSolati/geofirestore-js/commit/170fe26d2b398fc6cb5d72e138349b33903334b5)) 235 | 236 | #### 3.4.2 (2020-05-04) 237 | 238 | ##### Build System / Dependencies 239 | 240 | * **deps:** 241 | * bump jquery from 3.4.1 to 3.5.0 ([#172](https://github.com/MichaelSolati/geofirestore-js/pull/172)) ([326ddaa1](https://github.com/MichaelSolati/geofirestore-js/commit/326ddaa13bbdbb6f4511afcce1ae0ba5b326776d)) 242 | * bump acorn from 6.4.0 to 6.4.1 ([419e62ef](https://github.com/MichaelSolati/geofirestore-js/commit/419e62ef0d05c66bfbd0f280817f134ecbd1006a)) 243 | 244 | ##### Chores 245 | 246 | * update GitHub repository ([b8a315c8](https://github.com/MichaelSolati/geofirestore-js/commit/b8a315c8a1fd6a87110fd38ab8f13727b883aba7)) 247 | * update dependencies ([02f42a5e](https://github.com/MichaelSolati/geofirestore-js/commit/02f42a5e0cebd6b184c6d5260bab9a549a90a0ea)) 248 | 249 | ##### Tests 250 | 251 | * update linter ([b1ea40cd](https://github.com/MichaelSolati/geofirestore-js/commit/b1ea40cdd0ea4b2145356801702b8e56473e84e5)) 252 | 253 | #### 3.4.1 (2020-01-21) 254 | 255 | ##### Bug Fixes 256 | 257 | * **typescript:** rollback to typescript 3.6.x, fixes [#156](https://github.com/MichaelSolati/geofirestore-js/pull/156) ([21b40d62](https://github.com/MichaelSolati/geofirestore-js/commit/21b40d629319516d3f5f38e6333de9c92556b182)) 258 | 259 | ### 3.4.0 (2020-01-16) 260 | 261 | ##### Build System / Dependencies 262 | 263 | * **deps:** 264 | * bump mixin-deep from 1.3.1 to 1.3.2 ([1ba81a18](https://github.com/MichaelSolati/geofirestore-js/commit/1ba81a180bd3e752d91b525c29ad87e56d3d18e7)) 265 | * bump mixin-deep from 1.3.1 to 1.3.2 ([676f0794](https://github.com/MichaelSolati/geofirestore-js/commit/676f0794d9d2483677b67530f10dcaa4dfa64549)) 266 | 267 | ##### Chores 268 | 269 | * loosen and update dependencies, use google typescript style guide ([9d848d75](https://github.com/MichaelSolati/geofirestore-js/commit/9d848d75c203b2ffc5894772a3b5f38c1971befb)) 270 | * add `project.json` for firebaseopensource.com ([e0500546](https://github.com/MichaelSolati/geofirestore-js/commit/e05005464d16bc4538c4eacaedac72332af4ba6f)) 271 | * update dependencies ([e29f80d7](https://github.com/MichaelSolati/geofirestore-js/commit/e29f80d74ce3cc91b77bcc494fee745c9f9a03c9)) 272 | 273 | ##### Documentation Changes 274 | 275 | * fix typo ([6548096e](https://github.com/MichaelSolati/geofirestore-js/commit/6548096ed5bdc29c68381c5b3d3154b2ff09be09)) 276 | * fix typo in README ([bd8a9389](https://github.com/MichaelSolati/geofirestore-js/commit/bd8a938904c49ef0bb23815bc4737c5ceccae93c)) 277 | * **README:** add example to add a GeoDocument, fixes [#134](https://github.com/MichaelSolati/geofirestore-js/pull/134) ([e7c5d136](https://github.com/MichaelSolati/geofirestore-js/commit/e7c5d1362cf2a4284385a442d7fef3a455f4d465)) 278 | 279 | ##### New Features 280 | 281 | * expose `native` classes ([29ef5c4a](https://github.com/MichaelSolati/geofirestore-js/commit/29ef5c4ade42ce4ce2ffa414d09c0fb8a16f04a5)) 282 | 283 | ##### Bug Fixes 284 | 285 | * set `postinstall` to `pretest` for npm installs ([1fa16169](https://github.com/MichaelSolati/geofirestore-js/commit/1fa16169767f9c2dd9d1e5d2000d5609430bba35)) 286 | 287 | ##### Tests 288 | 289 | * fix typing issues in tests ([d2131b5e](https://github.com/MichaelSolati/geofirestore-js/commit/d2131b5ef0cae26fabbc5a19294edc8cc45a4117)) 290 | 291 | #### 3.3.1 (2019-05-16) 292 | 293 | ##### Build System / Dependencies 294 | 295 | * copy modified `protobufjs` module into `@firebase/firestore`'s node modules ([6b05ccfc](https://github.com/MichaelSolati/geofirestore-js/commit/6b05ccfc320fab9c728870290f532dbc8ed19653)) 296 | 297 | ##### Chores 298 | 299 | * extend support for firebase 6.x.x ([d0080f1a](https://github.com/MichaelSolati/geofirestore-js/commit/d0080f1ac0e57f9022b61e820b0b5c8c983c70ce)) 300 | 301 | ##### Documentation Changes 302 | 303 | * **README:** update CDN and import sample ([256df9b7](https://github.com/MichaelSolati/geofirestore-js/commit/256df9b7107a50a161a4d354510bc99d442d1bf0)) 304 | 305 | ##### Bug Fixes 306 | 307 | * **GeoQuery:** check if typeof `_radius` is "undefined" incase it is set to 0, fixes [#102](https://github.com/MichaelSolati/geofirestore-js/pull/102) ([62682118](https://github.com/MichaelSolati/geofirestore-js/commit/626821187c49c66ce23c6a146b872eee58b58295)) 308 | 309 | ### 3.3.0 (2019-04-23) 310 | 311 | ##### Chores 312 | 313 | * tighten firestore rules ([941a8dd8](https://github.com/MichaelSolati/geofirestore-js/commit/941a8dd8dfd73400b005d3f96f7fbdadca7b6d74)) 314 | 315 | ##### New Features 316 | 317 | * **findCoordinates:** `findCoordinatesKey` now `findCoordinates` as it returns GeoPoint rather than the key of the GeoPoint, can also find embedded keys, fixes [#88](https://github.com/MichaelSolati/geofirestore-js/pull/88) ([94161a4e](https://github.com/MichaelSolati/geofirestore-js/commit/94161a4e996ec4c9cb93c58201b67793e4b785b3)) 318 | 319 | ##### Bug Fixes 320 | 321 | * very small typo in README ([69c9ae19](https://github.com/MichaelSolati/geofirestore-js/commit/69c9ae19c41aeba620815db035ea8a3e38adebc8)) 322 | * very small typo in README ([f2266663](https://github.com/MichaelSolati/geofirestore-js/commit/f2266663d37e3da7c88b1d49327965600af49021)) 323 | 324 | ##### Refactors 325 | 326 | * **examples:** update viewers firebase version and separate add/update functions ([f90c4cab](https://github.com/MichaelSolati/geofirestore-js/commit/f90c4cab381e29c8d9345973ad90c53512c35257)) 327 | 328 | #### 3.2.3 (2019-03-26) 329 | 330 | ##### Bug Fixes 331 | 332 | * sanitize `customKey` in `set` methods ([cee17d76](https://github.com/MichaelSolati/geofirestore-js/commit/cee17d76475a39738df2b719f82fcf1236b00232)) 333 | 334 | ##### Refactors 335 | 336 | * **test:** lint test code ([1ed836a3](https://github.com/MichaelSolati/geofirestore-js/commit/1ed836a3295cadfa25bfa01c356375227d36cf91)) 337 | 338 | #### 3.2.2 (2019-02-17) 339 | 340 | ##### Bug Fixes 341 | 342 | * **react-native-firebase:** check if `docChanges` is an array ([fc1622e4](https://github.com/MichaelSolati/geofirestore-js/commit/fc1622e41a6afb9aa98c2be85e3b9bcd354506b4)) 343 | 344 | #### 3.2.1 (2019-02-11) 345 | 346 | ##### Chores 347 | 348 | * **package.json:** update homepage ([52df32b2](https://github.com/MichaelSolati/geofirestore-js/commit/52df32b2543ac974d1163fec52a502ddf838bd63)) 349 | 350 | ##### Bug Fixes 351 | 352 | * **travis:** fix `after_deploy` script ([eaef13ef](https://github.com/MichaelSolati/geofirestore-js/commit/eaef13efced565bd3bde743c0388a33384484313)) 353 | 354 | ### 3.2.0 (2019-02-10) 355 | 356 | ##### Build System / Dependencies 357 | 358 | * **rollup:** change copy plugin for `GeoFirestoreTypes.ts` ([2a585845](https://github.com/MichaelSolati/geofirestore-js/commit/2a585845e1b6fe1682c22e9380629cef3e591031)) 359 | 360 | ##### Chores 361 | 362 | * update dependencies ([ca387c00](https://github.com/MichaelSolati/geofirestore-js/commit/ca387c0004b06f2f9a879ea42e9e9c599721326b)) 363 | 364 | ##### Documentation Changes 365 | 366 | * add details to `README.md` and a code example for `runTransaction` ([167e0728](https://github.com/MichaelSolati/geofirestore-js/commit/167e0728d3fe1610bb817e9572e771e175606018)) 367 | 368 | ##### New Features 369 | 370 | * **GeoTransaction:** 371 | * add remaining transaction functions ([6b1bbb8b](https://github.com/MichaelSolati/geofirestore-js/commit/6b1bbb8bb60260ff63dac0a4592d2fa95a34714b)) 372 | * add delete function ([e48a7427](https://github.com/MichaelSolati/geofirestore-js/commit/e48a742728c6ae2987deb802cf9b25c377aca9d8)) 373 | * stub GeoTransaction class ([0b68729e](https://github.com/MichaelSolati/geofirestore-js/commit/0b68729eaac78d57a8a379ff561c03fe47451e9e)) 374 | 375 | ##### Bug Fixes 376 | 377 | * **GeoFirestoreTypes:** ignore `no-shadowed-variable` tslint rule, fixes [#83](https://github.com/MichaelSolati/geofirestore-js/pull/83) ([5e8684e5](https://github.com/MichaelSolati/geofirestore-js/commit/5e8684e5cb4319b7ec14cef57994c9fb38133836)) 378 | 379 | ##### Refactors 380 | 381 | * **GeoDocumentReference:** reorder functions ([cc8cf1bf](https://github.com/MichaelSolati/geofirestore-js/commit/cc8cf1bfe8f3eb82205e781209077e3f0a181b5f)) 382 | * **GeoQuery:** where() -> startAt() ([51be1b20](https://github.com/MichaelSolati/geofirestore-js/commit/51be1b20075f2bbbab7fc3424f06af9ce5997849)) 383 | 384 | ##### Tests 385 | 386 | * **GeoTransaction:** 387 | * adjust timing of promise resolution, fixes [#72](https://github.com/MichaelSolati/geofirestore-js/pull/72) ([4d668500](https://github.com/MichaelSolati/geofirestore-js/commit/4d668500ec0c0624d657b1900f9fcae06f6dfde8)) 388 | * bring coverage to 100% ([b9a63743](https://github.com/MichaelSolati/geofirestore-js/commit/b9a63743c7901febc4653be2e27551a4fe40c35f)) 389 | * **GeoFirestore:** add tests for `runTransaction` ([23f59ce8](https://github.com/MichaelSolati/geofirestore-js/commit/23f59ce85640ed7b78e66ec239e5936894b90e6b)) 390 | 391 | ### 3.1.0 (2019-01-19) 392 | 393 | ##### Documentation Changes 394 | 395 | * **README:** 396 | * added limitations, fixes [#75](https://github.com/MichaelSolati/geofirestore-js/pull/75) ([aa5e320f](https://github.com/MichaelSolati/geofirestore-js/commit/aa5e320fb2d6ef422527c55f826e3b29bf1fb836)) 397 | * Added limitations ([659e2310](https://github.com/MichaelSolati/geofirestore-js/commit/659e2310413b18fe624ec90f5c0ff8c1ee70d363)) 398 | 399 | ##### New Features 400 | 401 | * **GeoQuery:** expose limit function, fixes [#68](https://github.com/MichaelSolati/geofirestore-js/pull/68) [#26](https://github.com/MichaelSolati/geofirestore-js/pull/26) [#8](https://github.com/MichaelSolati/geofirestore-js/pull/8) ([5fb5de08](https://github.com/MichaelSolati/geofirestore-js/commit/5fb5de08833a6fe447a48b848e8baef8c7212767)) 402 | 403 | ##### Bug Fixes 404 | 405 | * **GeoJoinerOnSnapshot:** 406 | * remove unchanged docs from ([133e3d60](https://github.com/MichaelSolati/geofirestore-js/commit/133e3d603c2b7a63b60c5383f1131b0e44b2e5cc)) 407 | * return properly computed `oldIndex` and `newIndex` ([ad9c657b](https://github.com/MichaelSolati/geofirestore-js/commit/ad9c657b6a7968695e1fd8f0f137cb02c2157584)) 408 | 409 | ##### Tests 410 | 411 | * **GeoQuery:** add tests for new `limit` method ([d524789c](https://github.com/MichaelSolati/geofirestore-js/commit/d524789c8f27fc5d95e6fedd32600098d1bf37bb)) 412 | 413 | #### 3.0.2 (2019-01-15) 414 | 415 | ##### Chores 416 | 417 | * update dev dependencies ([92a4c7b6](https://github.com/MichaelSolati/geofirestore-js/commit/92a4c7b6fda2b0b6c4081dd6dcea77570f289259)) 418 | 419 | ##### Bug Fixes 420 | 421 | * **GeoJoinerOnSnapshot:** emit snapshot on empty queries and update docs array when doc removed, fixes [#73](https://github.com/MichaelSolati/geofirestore-js/pull/73) ([85f2e260](https://github.com/MichaelSolati/geofirestore-js/commit/85f2e2605ac69a08c6653a53ae8160e3f151883f)) 422 | 423 | #### 3.0.1 (2019-01-03) 424 | 425 | ##### Chores 426 | 427 | * update dev dependencies ([b2ae17f4](https://github.com/MichaelSolati/geofirestore-js/commit/b2ae17f44cde95e421a45412122c9332907e9815)) 428 | 429 | ##### Documentation Changes 430 | 431 | * **README:** fix typo and add dependency badge, fixes [#69](https://github.com/MichaelSolati/geofirestore-js/pull/69) ([55fd7bd3](https://github.com/MichaelSolati/geofirestore-js/commit/55fd7bd39c6276c069d4c22bb12d819299e81b54)) 432 | 433 | ## 3.0.0 (2019-01-02) 434 | 435 | ##### Chores 436 | 437 | * **README:** 438 | * add some badges ([d1f2c220](https://github.com/MichaelSolati/geofirestore-js/commit/d1f2c220157dc9065bb914b575d5c314a0169ef7)) 439 | * update badges ([bb2aa25f](https://github.com/MichaelSolati/geofirestore-js/commit/bb2aa25fa6bc5e23d6d4805a982b35fa0a056926)) 440 | * **examples:** update viewers example ([aed1a369](https://github.com/MichaelSolati/geofirestore-js/commit/aed1a36903717ae8aa15f3993d46adf6b86944c9)) 441 | * update dependencies and typings ([36cd49d3](https://github.com/MichaelSolati/geofirestore-js/commit/36cd49d33bbaa1c2f116c00abccb3d551a3512ee)) 442 | * generate and deploy docs site ([5273128f](https://github.com/MichaelSolati/geofirestore-js/commit/5273128f8dad518de10130808d44fa9b99931afd)) 443 | 444 | ##### Documentation Changes 445 | 446 | * update README.md to reference https://geofirestore.com, as well as other tweaks ([d07efafc](https://github.com/MichaelSolati/geofirestore-js/commit/d07efafc765ba1ee7037c287207ef1564e34a3e7)) 447 | * fix up docs and max all lines to 140 characters ([06af76c7](https://github.com/MichaelSolati/geofirestore-js/commit/06af76c77f9d4af56a5e9216ff33b9dc7a435eae)) 448 | 449 | ##### New Features 450 | 451 | * **GeoJoinerGet:** move join logic of `get` functions to own class with logic to filter out items not in radius of query ([5716654a](https://github.com/MichaelSolati/geofirestore-js/commit/5716654a63078d3a5f852a4a3d5a34a9d9fe4f55)) 452 | * **GeoJoinerOnSnapshot:** add ability to join `GeoQuerySnapshot` events from `onSnapshot` ([ba829244](https://github.com/MichaelSolati/geofirestore-js/commit/ba8292448c15612fa880ddb6079bea817c8e5b53)) 453 | * **GeoDocumentSnapshot:** add GeoDocumentSnapshot for for doc references and queries ([1abb499b](https://github.com/MichaelSolati/geofirestore-js/commit/1abb499b0147144fc5c7c0ea386217cddffe4203)) 454 | * **GeoDocumentReference:** add GeoDocumentReference for returns of doc and add ([9a5af9a5](https://github.com/MichaelSolati/geofirestore-js/commit/9a5af9a54aa463aec84dd436d29bcc9ad3f34e06)) 455 | * **GeoQuery:** implement remaining Firestore Query functions ([3cd3e0e3](https://github.com/MichaelSolati/geofirestore-js/commit/3cd3e0e33efe28d9f6a8dcc69d8bde70ced91701)) 456 | * **GeoWriteBatch:** add batch functionality to geofirestore ([f01de430](https://github.com/MichaelSolati/geofirestore-js/commit/f01de430bb6cdf8e924980afd2feb91519787825)) 457 | * **GeoQuerySnapshot:** filter out locations not in query ([b0ce13cb](https://github.com/MichaelSolati/geofirestore-js/commit/b0ce13cb317af14dd5b671695d618415b299ad7d)) 458 | * **GeoFirestore:** start rewrite to better align library to firestore sdk ([bf1d4273](https://github.com/MichaelSolati/geofirestore-js/commit/bf1d4273170e593ddef1da0d2c0fcbeef0e88586)) 459 | 460 | ##### Bug Fixes 461 | 462 | * **GeoFirestoreTypes:** DocumentChange `doc` should return QueryDocumentSnapshot ([3b2e5d6c](https://github.com/MichaelSolati/geofirestore-js/commit/3b2e5d6cfc051c77c88e81471ccb58f929eeba9d)) 463 | * **GeoDocumentReference:** fix update function to use encodeUpdateDocument util function ([97baf212](https://github.com/MichaelSolati/geofirestore-js/commit/97baf212f41442264190806f7523fcdb7daa9864)) 464 | * **GeoWriteBatch:** fix update function to use fieldNames ([e27e668a](https://github.com/MichaelSolati/geofirestore-js/commit/e27e668ad89bb83bc6096fb93e147b0a584cf365)) 465 | 466 | ##### Refactors 467 | 468 | * small change to `onSnapshot` and how geoqueries are generated ([7beffe69](https://github.com/MichaelSolati/geofirestore-js/commit/7beffe691588fa9db871cde3e95554624e141230)) 469 | * simply GeoFirestoreTypes and remove incompatible GeoQuery functions ([0edef6de](https://github.com/MichaelSolati/geofirestore-js/commit/0edef6de4a1bf374c9e52606725a59a520376714)) 470 | * **GeoQuery:** remove unneeded function ([76fa5af1](https://github.com/MichaelSolati/geofirestore-js/commit/76fa5af10ed8b4aca8348380c7e991cc42919df3)) 471 | * **GeoFirestoreTypes:** rename and put together all interfaces into GeoFirestoreTypes ([9141fb37](https://github.com/MichaelSolati/geofirestore-js/commit/9141fb373dedcfd9006ef087a9c1c39efd8af3bb)) 472 | 473 | ##### Tests 474 | 475 | * **GeoJoinerOnSnapshot:** increase code coverage ([27803b3a](https://github.com/MichaelSolati/geofirestore-js/commit/27803b3a6eb8616268a4328f654d39da1f009bfb)) 476 | * **utils:** add code coverage for utils ([7872c290](https://github.com/MichaelSolati/geofirestore-js/commit/7872c290b406ca7d92ff3bae4bfc324e3d213357)) 477 | * **GeoDocumentSnapshot:** bring coverage to 100% ([5caa5b10](https://github.com/MichaelSolati/geofirestore-js/commit/5caa5b1008618fb7e59e7a2cbb57d7264f21f0b7)) 478 | * **GeoDocumentReference:** increase code coverage ([e9811ad1](https://github.com/MichaelSolati/geofirestore-js/commit/e9811ad13c989cf0b920ec1ff0b0dfb27e95d9d7)) 479 | * **GeoQuerySnapshot:** bring coverage to 100% ([51122f9d](https://github.com/MichaelSolati/geofirestore-js/commit/51122f9d1a13ae5105ee17a218ebe8d6ebf11e09)) 480 | * **GeoQuery:** 481 | * bring coverage to 100% ([6252222b](https://github.com/MichaelSolati/geofirestore-js/commit/6252222b569fbb159b69949800e705d29131d0aa)) 482 | * add basic tests for GeoQuery ([56cc5c44](https://github.com/MichaelSolati/geofirestore-js/commit/56cc5c44d0217e3f9a4a3f96a1da31c6bc76e351)) 483 | * **GeoCollectionReference:** bring coverage to 100% ([47a17f6e](https://github.com/MichaelSolati/geofirestore-js/commit/47a17f6e0a938b4d5328a6594876c94bff7939c0)) 484 | * **GeoWriteBatch:** create basic tests for GeoWriteBatch ([687c3061](https://github.com/MichaelSolati/geofirestore-js/commit/687c306153f434bcc59b1c1739e98b9954fecc78)) 485 | * **GeoFirestore:** add basic tests for new GeoFirestore ([74f97d75](https://github.com/MichaelSolati/geofirestore-js/commit/74f97d75d40b283856cd1ef10128bfffd8f47911)) 486 | 487 | ### 2.4.0 (2018-12-31) 488 | 489 | ##### New Features 490 | 491 | * **GeoFirestoreQuery:** add `error` listener for `on` function, fixes [#60](https://github.com/MichaelSolati/geofirestore/pull/60) ([b01d6906](https://github.com/MichaelSolati/geofirestore/commit/b01d69069505879e35c3964ead4b3954182a61f5)) 492 | 493 | ##### Refactors 494 | 495 | * **GeoFirestoreQuery:** use `where` instead of `startAt` and `endAt`, fixes [#63](https://github.com/MichaelSolati/geofirestore/pull/63) ([f475fa01](https://github.com/MichaelSolati/geofirestore/commit/f475fa0100b5d4153f6cd01620c6c16a3cb930da)) 496 | 497 | ### 2.3.0 (2018-12-17) 498 | 499 | ##### Documentation Changes 500 | 501 | * **GeoFirestore:** add docs for `update` function of `GeoFirestore` ([869e1893](https://github.com/MichaelSolati/geofirestore/commit/869e189368ce1312d178241bee40fe6cb3a1f46f)) 502 | 503 | ##### New Features 504 | 505 | * **GeoFirestore:** 506 | * add ability to update documents, fixes [#52](https://github.com/MichaelSolati/geofirestore/pull/52) ([555c9bc4](https://github.com/MichaelSolati/geofirestore/commit/555c9bc48bfc35fd281168ad7bfdb64a7f4fbf38)) 507 | * add ability to update documents ([2f0b127e](https://github.com/MichaelSolati/geofirestore/commit/2f0b127eb7e8c2e04de06beba827a2e671ec7922)) 508 | * add ability to update documents ([d0a327df](https://github.com/MichaelSolati/geofirestore/commit/d0a327df96880cd4e287ae6883416cffe5d49e4c)) 509 | 510 | ##### Refactors 511 | 512 | * **utils:** remove unused import, restore findCoordinatesKey ([324aa960](https://github.com/MichaelSolati/geofirestore/commit/324aa9604d6e9419711eac77d1014706eafe3791)) 513 | * **GeoFirestore:** remove merge from batch.set ([7ed3586b](https://github.com/MichaelSolati/geofirestore/commit/7ed3586b895fc36d5ebf5a4f51a899bd5ffdfec1)) 514 | 515 | ##### Code Style Changes 516 | 517 | * private method _ & alphabetical order ([716eda9e](https://github.com/MichaelSolati/geofirestore/commit/716eda9ed356cb1a078f6fc9fe1385b37973c6af)) 518 | * **geoFirestore:** TS Lint ([d4ed971b](https://github.com/MichaelSolati/geofirestore/commit/d4ed971b7cc81017670f85770adf7b142d04495e)) 519 | 520 | ##### Tests 521 | 522 | * **GeoFirestore:** 523 | * Corrected some EBKAC ([c9bf4f35](https://github.com/MichaelSolati/geofirestore/commit/c9bf4f351d907e5a4bf15d2916acda002f4d7f40)) 524 | * removed exit(); ([a739d254](https://github.com/MichaelSolati/geofirestore/commit/a739d25438c69f42384b7d71eafd6fa6ed86454c)) 525 | * add tests for `update`,validateDoc..HasCoordinates` ([77915930](https://github.com/MichaelSolati/geofirestore/commit/77915930cf7071220f05f90987738c80f073ae92)) 526 | 527 | #### 2.2.3 (2018-11-15) 528 | 529 | ##### Chores 530 | 531 | * **README:** update badges ([dfc9f1ba](https://github.com/MichaelSolati/geofirestore/commit/dfc9f1ba4f55cc054c161e2561fb2000fb649725)) 532 | * update firebase settings and dependencies ([2b95d766](https://github.com/MichaelSolati/geofirestore/commit/2b95d766bd7fb5fa92ba0b7ada859468cca62999)) 533 | * update `README.md` ([d55b979a](https://github.com/MichaelSolati/geofirestore/commit/d55b979ac8d8d07a7d3b3b67ee85f44915a39d66)) 534 | * rename `COMMITS.md` to `CONTRIBUTING.md` ([f37e95ee](https://github.com/MichaelSolati/geofirestore/commit/f37e95ee305fe3e0f82c5b290f04caa8fba513c8)) 535 | * **LICENSE:** update license ([7dc3064e](https://github.com/MichaelSolati/geofirestore/commit/7dc3064e674497334d0b2a47f767b1aefafcd59c)) 536 | * **COC:** add a Code of Conduct ([e018ddba](https://github.com/MichaelSolati/geofirestore/commit/e018ddba42a5476669a7536d6ede378c8f508a1a)) 537 | 538 | ##### Bug Fixes 539 | 540 | * **lint:** resolve linting issues in some firebase projects, fixes [#48](https://github.com/MichaelSolati/geofirestore/pull/48) ([a9fe161a](https://github.com/MichaelSolati/geofirestore/commit/a9fe161a377425d18806f0f470c22f8d46a7666a)) 541 | 542 | #### 2.2.2 (2018-10-10) 543 | 544 | ##### Documentation Changes 545 | 546 | * update docs around query functions ([073991f4](https://github.com/MichaelSolati/geofirestore/commit/073991f4b5d4fe72e93a5125ab202c7ab2d4cfe5)) 547 | 548 | #### 2.2.1 (2018-09-25) 549 | 550 | ##### Chores 551 | 552 | * update dependencies ([504d7e09](https://github.com/MichaelSolati/geofirestore/commit/504d7e094d297741e1710153db80f3ce4ab689f4)) 553 | 554 | ##### Refactors 555 | 556 | * **GeoFirestoreQuery:** move around event firing and fix typing ([ff5fa228](https://github.com/MichaelSolati/geofirestore/commit/ff5fa22873ea42f341b0b8cf33caa9cba144dc05)) 557 | 558 | ### 2.2.0 (2018-09-17) 559 | 560 | ##### New Features 561 | 562 | * **GeoFirestore:** add ability to use with persistence options, fixes [#31](https://github.com/MichaelSolati/geofirestore/pull/31) ([9e2a2e40](https://github.com/MichaelSolati/geofirestore/commit/9e2a2e403e9b22477fd879855352c6d4da7032bd)) 563 | 564 | #### 2.1.2 (2018-08-24) 565 | 566 | ##### Chores 567 | 568 | * **node:** add node typings ([344602f0](https://github.com/MichaelSolati/geofirestore/commit/344602f0012bf49e873a7bae673ae438076c1acb)) 569 | 570 | ##### Bug Fixes 571 | 572 | * **firebase-admin:** fix docChanges prop/method issue while adding more extensive typing ([8c1d77f5](https://github.com/MichaelSolati/geofirestore/commit/8c1d77f5c6bf6c87bebf2330863c9fe7619f3e35)) 573 | 574 | #### 2.1.1 (2018-08-08) 575 | 576 | ##### Build System / Dependencies 577 | 578 | * add lint to travis ([8318f861](https://github.com/MichaelSolati/geofirestore/commit/8318f861ff349f669f44b846f65376c870330259)) 579 | 580 | ##### Bug Fixes 581 | 582 | * resolve cloud typings, fixes [#22](https://github.com/MichaelSolati/geofirestore/pull/22) ([4496b16c](https://github.com/MichaelSolati/geofirestore/commit/4496b16cfe82bc9fd2bd08ba3d680af9376cdd12)) 583 | 584 | ### 2.1.0 (2018-08-07) 585 | 586 | ##### Chores 587 | 588 | * update dependencies ([346cd080](https://github.com/MichaelSolati/geofirestore/commit/346cd08088b92268097fb8467e4c51835725b06b)) 589 | * fix coveralls badge in README ([a1843f9e](https://github.com/MichaelSolati/geofirestore/commit/a1843f9ef151ae8672b8c34f8f22c5f80e7c215a)) 590 | 591 | ##### Documentation Changes 592 | 593 | * **GeoFirestoreQuery:** add docs for `query` function of `GeoFirestoreQuery`'s `GeoFirestoreObj`, fixes [#8](https://github.com/MichaelSolati/geofirestore/pull/8) ([79976caf](https://github.com/MichaelSolati/geofirestore/commit/79976cafc45b40b826f929cc199f22efe571b86a)) 594 | * add example application as well as site deployment ([1192262a](https://github.com/MichaelSolati/geofirestore/commit/1192262a99ce2a8b68a869ba0ef05e007dca6119)) 595 | 596 | ##### New Features 597 | 598 | * add support for firebase-admin sdk, fixes [#9](https://github.com/MichaelSolati/geofirestore/pull/9) ([8a763041](https://github.com/MichaelSolati/geofirestore/commit/8a763041591aed6836459c853ab6b927cf83298d)) 599 | * **query:** add ability to write custom query function for GeoFirestoreQuery ([05bccde5](https://github.com/MichaelSolati/geofirestore/commit/05bccde507f94a230c986cc8ea70240e8671e0fe)) 600 | 601 | ##### Bug Fixes 602 | 603 | * **test:** fix a `remove` test for GeoFirestore ([521adabe](https://github.com/MichaelSolati/geofirestore/commit/521adabea0f4cb05ea821830655f05a4befc3463)) 604 | * **validateCriteria:** check QueryCriteria's query to ensure it is of a valid type ([4c299c80](https://github.com/MichaelSolati/geofirestore/commit/4c299c807d876970df36dde50d6b56286b5c78ab)) 605 | 606 | ##### Performance Improvements 607 | 608 | * **examples:** throttle queries to Firestore ([be8ab9a5](https://github.com/MichaelSolati/geofirestore/commit/be8ab9a52af9dc075ec3f1e1c4acbd3cac6e73f8)) 609 | 610 | ##### Tests 611 | 612 | * **GeoFirestoreQuery:** 613 | * add tests for `_queryToString` and `_stringToQuery` ([44677f0c](https://github.com/MichaelSolati/geofirestore/commit/44677f0cacf1eed0572c51f0f52bbcc75fdcded5)) 614 | * use consts for query comparisons ([72531203](https://github.com/MichaelSolati/geofirestore/commit/7253120398b1fa7d595e0980981d53d2d609a584)) 615 | * add coverage for `query` function of QueryCriteria ([01cc594c](https://github.com/MichaelSolati/geofirestore/commit/01cc594c2051a3803de0b4673bc1c844e08f1d2a)) 616 | * expand coverage for util functions ([12b10e59](https://github.com/MichaelSolati/geofirestore/commit/12b10e593781fb64cc366f9a7ba6e20bbcfdfecb)) 617 | * **GeoFirestore:** 618 | * write better `remove` function tests ([e6b77890](https://github.com/MichaelSolati/geofirestore/commit/e6b77890b474ea008c510717eed556d72071df7a)) 619 | * add coverage for `remove` function ([da11c3b3](https://github.com/MichaelSolati/geofirestore/commit/da11c3b3e479d18e321aa031a9704f7ce880bb06)) 620 | 621 | #### 2.0.2 (2018-07-23) 622 | 623 | ##### Build System / Dependencies 624 | 625 | * add coveralls to testing process ([e670b279](https://github.com/MichaelSolati/geofirestore/commit/e670b279e072c00709968a9b3e6849cfcf5e98c5)) 626 | 627 | ##### Documentation Changes 628 | 629 | * **README:** stop referencing `location` where `document` should be used ([72cc61af](https://github.com/MichaelSolati/geofirestore/commit/72cc61afdfb9e3f92b5f554e8fdea42231dacf3b)) 630 | 631 | ##### Refactors 632 | 633 | * remove external dependency of firebase ([df31a871](https://github.com/MichaelSolati/geofirestore/commit/df31a871a62a8836d9905ccf108e1ee6b4c26113)) 634 | 635 | #### 2.0.1 (2018-07-23) 636 | 637 | ##### Build System / Dependencies 638 | 639 | * set browser build to iife ([7b0df7f0](https://github.com/MichaelSolati/geofirestore/commit/7b0df7f0d6d39ba5d73e55d0171c37d26013bf0d)) 640 | 641 | ##### Documentation Changes 642 | 643 | * Fix minor typos in README.md ([1ed6d659](https://github.com/MichaelSolati/geofirestore/commit/1ed6d65993da7e12387181463029b649fe88173d)) 644 | 645 | ##### Refactors 646 | 647 | * modify how firestore is imported ([8525def6](https://github.com/MichaelSolati/geofirestore/commit/8525def6418a2e71a632a874413fe88b69581a61)) 648 | 649 | ## 2.0.0 (2018-07-18) 650 | 651 | ##### Build System / Dependencies 652 | 653 | * change build to use rollup ([dddb80a2](https://github.com/MichaelSolati/geofirestore/commit/dddb80a287d53efab9e5d598b5ce5f0647c402a2)) 654 | * configure npm deploy for master AND tag ([7fd7c539](https://github.com/MichaelSolati/geofirestore/commit/7fd7c539f6344c7ed1754fd6e479c5336ee2e8e2)) 655 | 656 | ##### Chores 657 | 658 | * **release:** minor version release ([81a9d979](https://github.com/MichaelSolati/geofirestore/commit/81a9d979d2857bd7374f0728952fd5707475cb80)) 659 | * lock to firebase 5.x.x ([8779a2c7](https://github.com/MichaelSolati/geofirestore/commit/8779a2c762314aaf1f3c34042caefaa08cfaee0f)) 660 | * bump firebase to v5.x.x ([1442de38](https://github.com/MichaelSolati/geofirestore/commit/1442de38fb667c1c3a13f0a08e8affda4bb15087)) 661 | 662 | ##### Documentation Changes 663 | 664 | * update docs ([f040e981](https://github.com/MichaelSolati/geofirestore/commit/f040e98190572d3c62f1661713c59299e7683573)) 665 | 666 | ##### New Features 667 | 668 | * **query:** 669 | * add 'on_modified' event, this fixes [#7](https://github.com/MichaelSolati/geofirestore/pull/7) ([8a69d9e8](https://github.com/MichaelSolati/geofirestore/commit/8a69d9e83664782dce00df4300ce36ea2f6c6b22)) 670 | * return document instead of just coordinates ([94fdc711](https://github.com/MichaelSolati/geofirestore/commit/94fdc711d040a4808be1946565af2cfdaf043270)) 671 | * **add:** add ability to add/insert documents without set ([1663b0e1](https://github.com/MichaelSolati/geofirestore/commit/1663b0e1777093658ad16b90d975db295a980adc)) 672 | * **set:** update set function to use GeoPoints ([5cf04fbd](https://github.com/MichaelSolati/geofirestore/commit/5cf04fbd445442fe8fe7c50aaae1c35df34d923b)) 673 | * **remove:** update remove function to no longer depend on set function ([51814436](https://github.com/MichaelSolati/geofirestore/commit/51814436b61e1275e4ff85d17bf44d5e4954822e)) 674 | * **get:** update get function to reflect new GeoFirestoreObj type ([ec4ac975](https://github.com/MichaelSolati/geofirestore/commit/ec4ac975feb9a278344a240863dbed79509d87a7)) 675 | 676 | ##### Bug Fixes 677 | 678 | * tweak some validations ([7303a350](https://github.com/MichaelSolati/geofirestore/commit/7303a350d4097fb678578f815e41fe601a07755d)) 679 | 680 | ##### Refactors 681 | 682 | * **GeoFirestoreQuery:** use Maps instead of Objects as well as general clean up ([2263bccd](https://github.com/MichaelSolati/geofirestore/commit/2263bccda9fa8bbe6a7e93c605e07b30060af94b)) 683 | 684 | ##### Tests 685 | 686 | * update tests for new structure ([37600fb6](https://github.com/MichaelSolati/geofirestore/commit/37600fb6a9de903f144733f014fdb07490655e0d)) 687 | 688 | ### 1.2.0 (2018-05-29) 689 | 690 | ##### Chores 691 | 692 | * lock to firebase 5.x.x ([295e9f7b](https://github.com/MichaelSolati/geofirestore/commit/295e9f7b3dd3aae227dcca089bb13cfefb0a2d40)) 693 | * update dependencies ([b45d9e8e](https://github.com/MichaelSolati/geofirestore/commit/b45d9e8e6998b2391a9c9ad55d658e2eeb5ade03)) 694 | 695 | #### 1.1.1 (2018-05-24) 696 | 697 | ##### Bug Fixes 698 | 699 | * **scripts:** remove postinstall script ([d2712d36](https://github.com/MichaelSolati/geofirestore/commit/d2712d36e8edd067540d5e0fdc7948c93ccf6a7c)) 700 | 701 | ### 1.1.0 (2018-05-24) 702 | 703 | ##### Build System / Dependencies 704 | 705 | * include dist in npm deploy ([0fe8aca3](https://github.com/MichaelSolati/geofirestore/commit/0fe8aca3da0069b607119839519b37fea045a484)) 706 | 707 | ##### Chores 708 | 709 | * add scripts to generate changelogs and update version ([3b90de44](https://github.com/MichaelSolati/geofirestore/commit/3b90de4455a81307c95387528c2e3c6f9cc9ec4e)) 710 | * add commit guidline and update readme to include contributing section ([6c519ad5](https://github.com/MichaelSolati/geofirestore/commit/6c519ad55a9211eb10441bfa4f30528cf5350fb8)) 711 | * repurpose as a geofirestore npm package ([f887310c](https://github.com/MichaelSolati/geofirestore/commit/f887310c00faa3b723fac0185926c92687cb6196)) 712 | 713 | ##### New Features 714 | 715 | * **firestore:** early implementation of geofirestore ([51e76bda](https://github.com/MichaelSolati/geofirestore/commit/51e76bdaeef3bad607f134498d8a92301efc436e)) 716 | 717 | ##### Bug Fixes 718 | 719 | * **firestore:** 720 | * set data from snapshot to variable to pass into decode ([e750c65f](https://github.com/MichaelSolati/geofirestore/commit/e750c65f23947de979ec359b365d47e70bfefd31)) 721 | * fix single location removal by set function ([ffb377aa](https://github.com/MichaelSolati/geofirestore/commit/ffb377aab702dc80e45006b5dd1daf8f6f0dbee7)) 722 | 723 | ##### Refactors 724 | 725 | * renamed folders and small tweaks ([261445e6](https://github.com/MichaelSolati/geofirestore/commit/261445e60ea2179f4735639f4b6c835bbbb6a354)) 726 | * change vars to consts and use in instead of hasOwnProperty ([4a0d3127](https://github.com/MichaelSolati/geofirestore/commit/4a0d31278e85aa86d8ac4765f0f81d3474563bbf)) 727 | 728 | ##### Tests 729 | 730 | * **firestore:** 731 | * modify "'key_exited' registrations can be cancelled" timing ([b5da5ee4](https://github.com/MichaelSolati/geofirestore/commit/b5da5ee427e5665a0afd76c8e119e027b39dc10d)) 732 | * implement test against realtime db to firestore ([b73d800e](https://github.com/MichaelSolati/geofirestore/commit/b73d800e48a0382465b7d7c1a28ddab448b7540b)) 733 | * increase mocha timeout ([aa7b084e](https://github.com/MichaelSolati/geofirestore/commit/aa7b084eb6020e6169576f99baf6bf1c2486d3bf)) 734 | * reintroduce coveralls support with tweaks ([361fc5b4](https://github.com/MichaelSolati/geofirestore/commit/361fc5b4cb605678d2a933d43d539f4d7766f17c)) 735 | * fix tests for geofire callbacks and implement for geofirestore ([8c007d81](https://github.com/MichaelSolati/geofirestore/commit/8c007d81fba67dda70c7ba6b3511f3756eb182ab)) 736 | * **geofirestore:** check location against array instead of object ([dd93bcde](https://github.com/MichaelSolati/geofirestore/commit/dd93bcde90bf33848dea9ccd2ff5678cd9b9ebb9)) 737 | 738 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mkslt04@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | ## Commit Message Guidelines 4 | 5 | We have very precise rules over how our git commit messages can be formatted. This leads to **more 6 | readable messages** that are easy to follow when looking through the **project history**. But also, 7 | we use the git commit messages to **generate the project change log**. 8 | 9 | ## Commit Message Format 10 | 11 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 12 | format that includes a **type**, a **scope** and a **subject**: 13 | 14 | ```text 15 | (): 16 | 17 | 18 | 19 |