remove indexing package

This commit is contained in:
russellwheatley
2020-02-17 12:17:52 +00:00
parent 6277c882c2
commit d7ac657155
11 changed files with 0 additions and 598 deletions

View File

@@ -1,66 +0,0 @@
# Built application files
android/*/build/
# Crashlytics configuations
android/com_crashlytics_export_strings.xml
# Local configuration file (sdk path, etc)
android/local.properties
# Gradle generated files
android/.gradle/
# Signing files
android/.signing/
# User-specific configurations
android/.idea/gradle.xml
android/.idea/libraries/
android/.idea/workspace.xml
android/.idea/tasks.xml
android/.idea/.name
android/.idea/compiler.xml
android/.idea/copyright/profiles_settings.xml
android/.idea/encodings.xml
android/.idea/misc.xml
android/.idea/modules.xml
android/.idea/scopes/scope_settings.xml
android/.idea/vcs.xml
android/*.iml
# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
ios/Pods
ios/build
*project.xcworkspace*
*xcuserdata*
# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.dbandroid/gradle
android/gradlew
android/build
android/gradlew.bat
android/gradle/
.idea
coverage
yarn.lock
e2e/
.github
.vscode
.nyc_output
android/.settings
*.coverage.json
.circleci
.eslintignore
type-test.ts

View File

@@ -1,32 +0,0 @@
Apache-2.0 License
------------------
Copyright (c) 2016-present Invertase Limited <oss@invertase.io> & Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this library except in compliance with the License.
You may obtain a copy of the Apache-2.0 License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Creative Commons Attribution 3.0 License
----------------------------------------
Copyright (c) 2016-present Invertase Limited <oss@invertase.io> & Contributors
Documentation and other instructional materials provided for this project
(including on a separate documentation repository or it's documentation website) are
licensed under the Creative Commons Attribution 3.0 License. Code samples/blocks
contained therein are licensed under the Apache License, Version 2.0 (the "License"), as above.
You may obtain a copy of the Creative Commons Attribution 3.0 License at
https://creativecommons.org/licenses/by/3.0/

View File

@@ -1,56 +0,0 @@
<p align="center">
<a href="https://invertase.io/oss/react-native-firebase">
<img width="160px" src="https://i.imgur.com/JIyBtKW.png"><br/>
</a>
<h2 align="center">React Native Firebase - App Indexing</h2>
</p>
<p align="center">
<a href="https://api.rnfirebase.io/coverage/indexing/detail"><img src="https://api.rnfirebase.io/coverage/indexing/badge?style=flat-square" alt="Coverage"></a>
<a href="https://www.npmjs.com/package/@react-native-firebase/indexing"><img src="https://img.shields.io/npm/dm/@react-native-firebase/indexing.svg?style=flat-square" alt="NPM downloads"></a>
<a href="https://www.npmjs.com/package/@react-native-firebase/indexing"><img src="https://img.shields.io/npm/v/@react-native-firebase/indexing.svg?style=flat-square" alt="NPM version"></a>
<a href="/LICENSE"><img src="https://img.shields.io/npm/l/react-native-firebase.svg?style=flat-square" alt="License"></a>
<a href="https://lerna.js.org/"><img src="https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg?style=flat-square" alt="Maintained with Lerna"></a>
</p>
<p align="center">
<a href="https://invertase.link/discord"><img src="https://img.shields.io/discord/295953187817521152.svg?style=flat-square&colorA=7289da&label=Chat%20on%20Discord" alt="Chat on Discord"></a>
<a href="https://twitter.com/rnfirebase"><img src="https://img.shields.io/twitter/follow/rnfirebase.svg?style=flat-square&colorA=1da1f2&colorB=&label=Follow%20on%20Twitter" alt="Follow on Twitter"></a>
<a href="https://www.facebook.com/groups/rnfirebase"><img src="https://img.shields.io/badge/Follow%20on%20Facebook-4172B8?logo=facebook&style=flat-square&logoColor=fff" alt="Follow on Facebook"></a>
</p>
---
> App Indexing has been deprecated.
Engage your users from Google Search when users search content that your app provides.
[> Learn More](https://firebase.google.com/products/app-indexing/)
## Installation
Requires `@react-native-firebase/app` to be installed.
```bash
yarn add @react-native-firebase/indexing
```
## License
- See [LICENSE](/LICENSE)
---
<p>
<img align="left" width="75px" src="https://static.invertase.io/assets/invertase-logo-small.png">
<p align="left">
Built and maintained with 💛 by <a href="https://invertase.io">Invertase</a>.
</p>
<p align="left">
<a href="https://invertase.io/hire-us">💼 Hire Us</a> |
<a href="https://opencollective.com/react-native-firebase">☕️ Sponsor Us</a> |
<a href="https://opencollective.com/jobs">‍💻 Work With Us</a>
</p>
</p>
---

View File

@@ -1,29 +0,0 @@
require 'json'
package = JSON.parse(File.read('../package.json'))
firebase_sdk_version = '~> 6.13.0'
using_custom_firebase_sdk_version = defined? $FirebaseSDKVersion
if using_custom_firebase_sdk_version
Pod::UI.puts "RNFBIndexing: Using user specified Firebase SDK version '#{$FirebaseSDKVersion}'"
firebase_sdk_version = $FirebaseSDKVersion
end
Pod::Spec.new do |s|
s.name = "RNFBIndexing"
s.version = package["version"]
s.description = package["description"]
s.summary = <<-DESC
A well tested feature rich Firebase implementation for React Native, supporting iOS & Android.
DESC
s.homepage = "http://invertase.io/oss/react-native-firebase"
s.license = package['license']
s.authors = "Invertase Limited"
s.source = { :git => "https://github.com/invertase/react-native-firebase.git", :tag => "v#{s.version}" }
s.social_media_url = 'http://twitter.com/invertaseio'
s.platform = :ios, "10.0"
s.source_files = 'ios/**/*.{h,m}'
s.dependency 'React'
s.dependency 'Firebase/Core', firebase_sdk_version
s.dependency 'RNFBApp'
s.static_framework = false
end

View File

@@ -1,77 +0,0 @@
/*
* Copyright (c) 2016-present Invertase Limited & Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this library except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
xdescribe('indexing()', () => {
describe('namespace', () => {
it('accessible from firebase.app()', () => {
const app = firebase.app();
should.exist(app.indexing);
app.indexing().app.should.equal(app);
});
});
describe('getInitialURL()', () => {
it('should return null with no deeplink', async () => {
const url = await firebase.indexing().getInitialURL();
should.equal(url, null);
});
// does not work on ios simulator
android.it('should be a string when app launches from a URL', async () => {
const url = 'invertase://foo.bar';
await device.relaunchApp({
url,
newInstance: true,
});
const opened = await firebase.indexing().getInitialURL();
should.equal(opened, url);
});
});
describe('onOpenURL()', () => {
it('throw when no function is provided', () => {
try {
firebase.indexing().onOpenURL('foo');
return Promise.reject(new Error('Did not throw Error.'));
} catch (error) {
error.message.should.containEql("'listener' must be a function");
return Promise.resolve();
}
});
it('returns an unsubscribe function', () => {
const sub = () => {};
const unsubscribe = firebase.indexing().onOpenURL(sub);
unsubscribe.should.be.a.Function();
unsubscribe();
});
it('subscribes to and receives URL events', async () => {
const url = 'invertase://foo.bar';
const callback = sinon.spy();
const unsubscribe = firebase.indexing().onOpenURL(callback);
await device.openURL({
url,
});
await Utils.sleep(3000);
callback.should.be.calledOnce();
callback.should.be.calledWith(url);
unsubscribe();
});
});
});

View File

@@ -1,120 +0,0 @@
/*
* Copyright (c) 2016-present Invertase Limited & Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this library except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
import { ReactNativeFirebase } from '@react-native-firebase/app';
/**
* Firebase Indexing package for React Native.
*
* #### Example 1
*
* Access the firebase export from the `indexing` package:
*
* ```js
* import { firebase } from '@react-native-firebase/indexing';
*
* // firebase.indexing().X
* ```
*
* #### Example 2
*
* Using the default export from the `indexing` package:
*
* ```js
* import indexing from '@react-native-firebase/indexing';
*
* // indexing().X
* ```
*
* #### Example 3
*
* Using the default export from the `app` package:
*
* ```js
* import firebase from '@react-native-firebase/app';
* import '@react-native-firebase/indexing';
*
* // firebase.indexing().X
* ```
*
* @firebase indexing
*/
export namespace Indexing {
import FirebaseModule = ReactNativeFirebase.FirebaseModule;
export interface Statics {}
/**
*
* The Firebase Indexing service interface.
*
* > This module is available for the default app only.
*
* #### Example
*
* Get the Indexing service for the default app:
*
* ```js
* const defaultAppIndexing = firebase.indexing();
* ```
*/
export class Module extends FirebaseModule {
/**
* If the application was launched via a deep link URL, the URL is returned, otherwise
* value is `null`.
*/
getInitialURL(): Promise<string | null>;
/**
* Listen to deep link URL events which the application handles. The URL is passed to the
* provided listener function.
*
* Returns an unsubscribe function.
*
* @param listener Function called when a deep link URL is handled for this app.
*/
onOpenURL(listener: Function): Function;
}
}
declare module '@react-native-firebase/indexing' {
// tslint:disable-next-line:no-duplicate-imports required otherwise doesn't work
import { ReactNativeFirebase } from '@react-native-firebase/app';
import ReactNativeFirebaseModule = ReactNativeFirebase.Module;
import FirebaseModuleWithStatics = ReactNativeFirebase.FirebaseModuleWithStatics;
const firebaseNamedExport: {} & ReactNativeFirebaseModule;
export const firebase = firebaseNamedExport;
const module: FirebaseModuleWithStatics<Indexing.Module, Indexing.Statics>;
export default module;
}
/**
* Attach namespace to `firebase.` and `FirebaseApp.`.
*/
declare module '@react-native-firebase/app' {
namespace ReactNativeFirebase {
import FirebaseModuleWithStatics = ReactNativeFirebase.FirebaseModuleWithStatics;
interface Module {
indexing: FirebaseModuleWithStatics<Indexing.Module, Indexing.Statics>;
}
interface FirebaseApp {
indexing(): Indexing.Module;
}
}
}

View File

@@ -1,75 +0,0 @@
/*
* Copyright (c) 2016-present Invertase Limited & Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this library except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
import { isFunction } from '@react-native-firebase/app/lib/common';
import {
createModuleNamespace,
FirebaseModule,
getFirebaseRoot,
} from '@react-native-firebase/app/lib/internal';
import { Linking } from 'react-native';
import version from './version';
const statics = {};
const namespace = 'indexing';
const nativeModuleName = 'RNFBIndexingModule';
class FirebaseIndexingModule extends FirebaseModule {
/**
*
*/
getInitialURL() {
return Linking.getInitialURL();
}
/**
*
* @param listener
* @returns {function(): *}
*/
onOpenURL(listener) {
if (!isFunction(listener)) {
throw new Error("firebase.indexing().onOpenURL(*) 'listener' must be a function.");
}
Linking.addEventListener('url', ({ url }) => listener(url));
return () => Linking.removeEventListener('url', listener);
}
}
// import { SDK_VERSION } from '@react-native-firebase/indexing';
export const SDK_VERSION = version;
// import indexing from '@react-native-firebase/indexing';
// indexing().X(...);
export default createModuleNamespace({
statics,
version,
namespace,
nativeModuleName,
nativeEvents: false,
hasMultiAppSupport: false,
hasCustomUrlOrRegionSupport: false,
ModuleClass: FirebaseIndexingModule,
});
// import indexing, { firebase } from '@react-native-firebase/indexing';
// indexing().X(...);
// firebase.indexing().X(...);
export const firebase = getFirebaseRoot();

View File

@@ -1,84 +0,0 @@
/* eslint-disable import/no-duplicates */
/*
* Copyright (c) 2016-present Invertase Limited & Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this library except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
import type { ReactNativeFirebaseModule } from '@react-native-firebase/app-types/index.js.flow';
export interface Statics {}
export interface Module extends ReactNativeFirebaseModule {
/**
* If the application was launched via a deep link URL, the URL is returned, otherwise
* value is `null`.
*/
getInitialURL(): Promise<string | null>;
/**
* Listen to deep link URL events which the application handles. The URL is passed to the
* provided listener function.
*
* Returns an unsubscribe function.
*
* @param listener Function called when a deep link URL is handled for this app.
*/
onOpenURL(listener: Function): Function;
}
declare module '@react-native-firebase/indexing' {
import type {
ReactNativeFirebaseNamespace,
ReactNativeFirebaseModuleAndStatics,
} from '@react-native-firebase/app-types/index.js.flow';
/**
* @example
* ```js
* import { firebase } from '@react-native-firebase/indexing';
* firebase.indexing().X(...);
* ```
*/
declare export var firebase: {} & ReactNativeFirebaseNamespace;
/**
* @example
* ```js
* import indexing from '@react-native-firebase/indexing';
* indexing().X(...);
* ```
*/
declare export default ReactNativeFirebaseModuleAndStatics<Module, Statics>;
}
/**
* Attach namespace to `firebase.` and `FirebaseApp.`.
*/
declare module '@react-native-firebase/app-types' {
import type { ReactNativeFirebaseModuleAndStatics } from '@react-native-firebase/app-types/index.js.flow';
declare interface ReactNativeFirebaseNamespace {
/**
* Indexing
*/
indexing: ReactNativeFirebaseModuleAndStatics<Module, Statics>;
}
declare interface FirebaseApp {
/**
* Indexing
*/
indexing(): Module;
}
}

View File

@@ -1,32 +0,0 @@
{
"name": "@react-native-firebase/indexing",
"version": "6.3.4",
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
"description": "React Native Firebase - App Indexing",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": {
"build": "genversion --semi lib/version.js",
"build:clean": "rimraf android/build && rimraf ios/build",
"prepare": "yarn run build"
},
"repository": {
"type": "git",
"url": "https://github.com/invertase/react-native-firebase/tree/master/packages/indexing"
},
"license": "Apache-2.0",
"keywords": [
"react",
"react-native",
"firebase",
"goolge search",
"app indexing"
],
"peerDependencies": {
"@react-native-firebase/app": "*"
},
"gitHead": "93c6b38f6d5e8f015aab585d7d4c18674f4a63cd",
"publishConfig": {
"access": "public"
}
}

View File

@@ -1,26 +0,0 @@
import firebase from '@react-native-firebase/app';
import defaultExport, { firebase as firebaseFromModule } from '@react-native-firebase/indexing';
// checks module exists at root
console.log(firebase.indexing().app.name);
// checks module exists at app level
console.log(firebase.app().indexing().app.name);
// checks statics exist
console.log(firebase.indexing.SDK_VERSION);
// checks statics exist on defaultExport
console.log(defaultExport.SDK_VERSION);
// checks root exists
console.log(firebase.SDK_VERSION);
// checks firebase named export exists on module
console.log(firebaseFromModule.SDK_VERSION);
// checks multi-app support exists
// console.log(firebase.indexing(firebase.app()).app.name);
// checks default export supports app arg
// console.log(defaultExport(firebase.app()).app.name);

View File

@@ -19,7 +19,6 @@
"@react-native-firebase/functions": "6.3.4",
"@react-native-firebase/iid": "6.3.4",
"@react-native-firebase/in-app-messaging": "6.3.4",
"@react-native-firebase/indexing": "6.3.4",
"@react-native-firebase/messaging": "6.3.4",
"@react-native-firebase/ml-natural-language": "6.3.4",
"@react-native-firebase/ml-vision": "6.3.4",