├── .evg.yml ├── .gitignore ├── LICENSE ├── README.md ├── config ├── tdconfig.browser.json ├── tdconfig.react-native.json ├── tdconfig.server.json ├── tsconfig.cjs.base.json ├── tsconfig.cjs.browser.base.json ├── tsconfig.esm.base.json ├── tsconfig.esm.browser.base.json └── tslint.base.json ├── contrib ├── README.md ├── bump_version.sh ├── docs-examples │ ├── .eslintrc │ ├── .gitignore │ ├── babel.config.js │ ├── checksum │ ├── package-lock.json │ ├── package.json │ ├── snippets │ │ ├── AnonymousCredential.js │ │ ├── RemoteFindOptions.js │ │ ├── RemoteMongoClient.js │ │ ├── RemoteMongoCollection.find.js │ │ ├── RemoteMongoCollection.js │ │ ├── RemoteMongoCollection.watch.js │ │ ├── RemoteMongoCursor.js │ │ ├── RemoteMongoDatabase.js │ │ ├── RemoteMongoReadOperation.js │ │ ├── StitchAuth.addAuthListener.js │ │ ├── StitchAuth.js │ │ ├── StitchAuth.listUsers.js │ │ ├── StitchAuth.loginWithCredential.js │ │ ├── StitchAuth.logout.js │ │ ├── StitchAuth.logoutUserWithId.js │ │ ├── StitchAuth.removeUser.js │ │ ├── StitchAuth.removeUserWithId.js │ │ ├── StitchAuth.switchToUserWithId.js │ │ ├── StitchAuthListener.js │ │ ├── StitchUser.isLoggedIn.js │ │ ├── browser │ │ │ └── placeholder.js │ │ ├── react-native │ │ │ ├── GoogleCredential.js │ │ │ ├── StitchAuth.js │ │ │ └── StitchAuth.loginWithCredential.js │ │ └── server │ │ │ └── placeholder.js │ ├── validate.js │ ├── validate.sh │ ├── validate_all.sh │ ├── validate_browser.js │ └── validate_snippets.sh ├── generate_docs.sh ├── publish_bundles.sh ├── publish_docs.sh ├── publish_sdk.sh ├── stage_docs.sh ├── typedoc-plugin-code-examples │ ├── package-lock.json │ ├── package.json │ └── plugin.js ├── typedoc-plugin-copy-buttons-support │ ├── package-lock.json │ ├── package.json │ └── plugin.js └── typedoc-plugin-tags-by-name │ ├── package-lock.json │ ├── package.json │ └── plugin.js ├── lerna.json ├── package-lock.json ├── package.json ├── packages ├── browser │ ├── core │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src │ │ │ ├── core │ │ │ │ ├── Stitch.ts │ │ │ │ ├── StitchAppClient.ts │ │ │ │ ├── auth │ │ │ │ │ ├── StitchAuth.ts │ │ │ │ │ ├── StitchAuthListener.ts │ │ │ │ │ ├── StitchUser.ts │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── RedirectFragmentFields.ts │ │ │ │ │ │ ├── RedirectKeys.ts │ │ │ │ │ │ ├── StitchAuthImpl.ts │ │ │ │ │ │ ├── StitchBrowserAppAuthRoutes.ts │ │ │ │ │ │ ├── StitchBrowserAppRoutes.ts │ │ │ │ │ │ ├── StitchRedirectError.ts │ │ │ │ │ │ ├── StitchUserFactoryImpl.ts │ │ │ │ │ │ └── StitchUserImpl.ts │ │ │ │ │ └── providers │ │ │ │ │ │ ├── StitchRedirectCredential.ts │ │ │ │ │ │ ├── facebook │ │ │ │ │ │ └── FacebookRedirectCredential.ts │ │ │ │ │ │ ├── google │ │ │ │ │ │ └── GoogleRedirectCredential.ts │ │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── AuthProviderClientFactory.ts │ │ │ │ │ │ └── NamedAuthProviderClientFactory.ts │ │ │ │ │ │ ├── userapikey │ │ │ │ │ │ ├── UserApiKeyAuthProviderClient.ts │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── UserApiKeyAuthProviderClientImpl.ts │ │ │ │ │ │ └── userpassword │ │ │ │ │ │ ├── UserPasswordAuthProviderClient.ts │ │ │ │ │ │ └── internal │ │ │ │ │ │ └── UserPasswordAuthProviderClientImpl.ts │ │ │ │ └── internal │ │ │ │ │ ├── StitchAppClientImpl.ts │ │ │ │ │ ├── common │ │ │ │ │ ├── LocalStorage.ts │ │ │ │ │ └── Version.ts │ │ │ │ │ └── net │ │ │ │ │ ├── BrowserFetchStreamTransport.ts │ │ │ │ │ ├── BrowserFetchTransport.ts │ │ │ │ │ └── EventSourceEventStream.ts │ │ │ ├── index.ts │ │ │ └── services │ │ │ │ ├── StitchServiceClient.ts │ │ │ │ └── internal │ │ │ │ ├── NamedServiceClientFactory.ts │ │ │ │ ├── ServiceClientFactory.ts │ │ │ │ └── StitchServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── coretest │ │ ├── LICENSE │ │ ├── __tests__ │ │ │ ├── StitchAppClientIntTests.ts │ │ │ ├── StitchAuthListenerIntTests.ts │ │ │ ├── StitchCustomUserDataIntTests.ts │ │ │ └── auth │ │ │ │ ├── StitchAuthImplUnitTests.ts │ │ │ │ └── providers │ │ │ │ └── userapikey │ │ │ │ └── UserApiKeyAuthProviderClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── examples │ │ └── basic │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── package.json │ │ │ ├── public │ │ │ └── index.html │ │ │ ├── src │ │ │ └── app │ │ │ │ └── index.jsx │ │ │ └── webpack.config.js │ ├── sdk │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src │ │ │ └── index.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── services │ │ ├── aws-s3 │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── AwsS3ServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src │ │ │ │ ├── AwsS3ServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── AwsS3ServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── aws-ses │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── AwsSesServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src │ │ │ │ ├── AwsSesServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── AwsSesServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── aws │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── AwsServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src │ │ │ │ ├── AwsServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── AwsServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── http │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── HttpServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src │ │ │ │ ├── HttpServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── HttpServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── mongodb-remote │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── RemoteMongoClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src │ │ │ │ ├── RemoteMongoClient.ts │ │ │ │ ├── RemoteMongoCollection.ts │ │ │ │ ├── RemoteMongoCursor.ts │ │ │ │ ├── RemoteMongoDatabase.ts │ │ │ │ ├── RemoteMongoReadOperation.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ ├── RemoteMongoClientImpl.ts │ │ │ │ │ ├── RemoteMongoCollectionImpl.ts │ │ │ │ │ └── RemoteMongoDatabaseImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ └── twilio │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ └── TwilioServiceIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src │ │ │ ├── TwilioServiceClient.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ └── TwilioServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ └── testutils │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ ├── BaseStitchBrowserIntTestHarness.ts │ │ └── index.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json ├── core │ ├── admin-client-tests │ │ ├── LICENSE │ │ ├── __tests__ │ │ │ ├── AppResponseIntTests.ts │ │ │ ├── AuthProviderIntTests.ts │ │ │ ├── FunctionIntTests.ts │ │ │ └── ServiceIntTests.ts │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── admin-client │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ └── JsonMapperUnitTests.ts │ │ ├── package.json │ │ ├── src │ │ │ ├── AdminFetchTransport.ts │ │ │ ├── JsonMapper.ts │ │ │ ├── Resources.ts │ │ │ ├── StitchAdminAuth.ts │ │ │ ├── StitchAdminAuthRoutes.ts │ │ │ ├── StitchAdminClient.ts │ │ │ ├── StitchAdminUser.ts │ │ │ ├── StitchAdminUserProfile.ts │ │ │ ├── apps │ │ │ │ └── AppsResources.ts │ │ │ ├── authProviders │ │ │ │ ├── AuthProvidersResources.ts │ │ │ │ └── ProviderConfigs.ts │ │ │ ├── customUserData │ │ │ │ └── CustomUserDataConfig.ts │ │ │ ├── debug │ │ │ │ └── DebugResources.ts │ │ │ ├── functions │ │ │ │ └── FunctionsResources.ts │ │ │ ├── index.ts │ │ │ ├── services │ │ │ │ ├── ServiceConfigs.ts │ │ │ │ ├── ServicesResources.ts │ │ │ │ └── rules │ │ │ │ │ └── RulesResources.ts │ │ │ ├── userRegistrations │ │ │ │ └── UserRegistrationsResources.ts │ │ │ └── users │ │ │ │ └── UsersResources.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── sdk │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ ├── ApiTestUtils.ts │ │ │ ├── StitchAppClientConfigurationUnitTests.ts │ │ │ ├── StitchAppClientInfoUnitTests.ts │ │ │ ├── StitchClientConfigurationUnitTests.ts │ │ │ ├── StreamTestUtils.ts │ │ │ ├── auth │ │ │ │ ├── StitchUserProfileUnitTests.ts │ │ │ │ ├── internal │ │ │ │ │ ├── AccessTokenRefresherUnitTests.ts │ │ │ │ │ ├── CoreStitchAuthUnitTests.ts │ │ │ │ │ └── models │ │ │ │ │ │ ├── AuthInfoUnitTests.ts │ │ │ │ │ │ └── StoreAuthInfoUnitTests.ts │ │ │ │ └── providers │ │ │ │ │ ├── userapikey │ │ │ │ │ └── CoreUserApiKeyAuthProviderClientUnitTests.ts │ │ │ │ │ └── userpassword │ │ │ │ │ ├── UserPasswordCredentialUnitTests.ts │ │ │ │ │ └── internal │ │ │ │ │ └── CoreUserPasswordAuthProviderClientUnitTests.ts │ │ │ ├── internal │ │ │ │ ├── EJSONUnitTests.ts │ │ │ │ └── net │ │ │ │ │ ├── BasicRequest.ts │ │ │ │ │ └── StitchRequestClientUnitTests.ts │ │ │ └── services │ │ │ │ └── internal │ │ │ │ └── CoreStitchServiceUnitTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── StitchAppClientConfiguration.ts │ │ │ ├── StitchAppClientInfo.ts │ │ │ ├── StitchClientConfiguration.ts │ │ │ ├── StitchClientError.ts │ │ │ ├── StitchClientErrorCode.ts │ │ │ ├── StitchError.ts │ │ │ ├── StitchRequestError.ts │ │ │ ├── StitchRequestErrorCode.ts │ │ │ ├── StitchServiceError.ts │ │ │ ├── StitchServiceErrorCode.ts │ │ │ ├── Stream.ts │ │ │ ├── StreamListener.ts │ │ │ ├── auth │ │ │ │ ├── ProviderCapabilities.ts │ │ │ │ ├── StitchCredential.ts │ │ │ │ ├── StitchUserIdentity.ts │ │ │ │ ├── StitchUserProfile.ts │ │ │ │ ├── UserType.ts │ │ │ │ ├── internal │ │ │ │ │ ├── AccessTokenRefresher.ts │ │ │ │ │ ├── AuthEvent.ts │ │ │ │ │ ├── AuthInfo.ts │ │ │ │ │ ├── CoreStitchAuth.ts │ │ │ │ │ ├── CoreStitchUser.ts │ │ │ │ │ ├── CoreStitchUserImpl.ts │ │ │ │ │ ├── DeviceFields.ts │ │ │ │ │ ├── JWT.ts │ │ │ │ │ ├── StitchAuthRequestClient.ts │ │ │ │ │ ├── StitchAuthRoutes.ts │ │ │ │ │ ├── StitchUserFactory.ts │ │ │ │ │ ├── StitchUserProfileImpl.ts │ │ │ │ │ └── models │ │ │ │ │ │ ├── ApiAuthInfo.ts │ │ │ │ │ │ ├── ApiCoreUserProfile.ts │ │ │ │ │ │ ├── ApiStitchUserIdentity.ts │ │ │ │ │ │ ├── StoreAuthInfo.ts │ │ │ │ │ │ ├── StoreCoreUserProfile.ts │ │ │ │ │ │ └── StoreStitchUserIdentity.ts │ │ │ │ └── providers │ │ │ │ │ ├── anonymous │ │ │ │ │ ├── AnonymousAuthProvider.ts │ │ │ │ │ └── AnonymousCredential.ts │ │ │ │ │ ├── custom │ │ │ │ │ ├── CustomAuthProvider.ts │ │ │ │ │ └── CustomCredential.ts │ │ │ │ │ ├── facebook │ │ │ │ │ ├── FacebookAuthProvider.ts │ │ │ │ │ └── FacebookCredential.ts │ │ │ │ │ ├── function │ │ │ │ │ ├── FunctionAuthProvider.ts │ │ │ │ │ └── FunctionCredential.ts │ │ │ │ │ ├── google │ │ │ │ │ ├── GoogleAuthProvider.ts │ │ │ │ │ └── GoogleCredential.ts │ │ │ │ │ ├── internal │ │ │ │ │ ├── CoreAuthProviderClient.ts │ │ │ │ │ └── StitchAuthResponseCredential.ts │ │ │ │ │ ├── serverapikey │ │ │ │ │ ├── ServerApiKeyAuthProvider.ts │ │ │ │ │ └── ServerApiKeyCredential.ts │ │ │ │ │ ├── userapikey │ │ │ │ │ ├── CoreUserApiKeyAuthProviderClient.ts │ │ │ │ │ ├── UserApiKeyAuthProvider.ts │ │ │ │ │ ├── UserApiKeyCredential.ts │ │ │ │ │ └── models │ │ │ │ │ │ └── UserApiKey.ts │ │ │ │ │ └── userpass │ │ │ │ │ ├── CoreUserPasswordAuthProviderClient.ts │ │ │ │ │ ├── UserPasswordAuthProvider.ts │ │ │ │ │ └── UserPasswordCredential.ts │ │ │ ├── index.ts │ │ │ ├── internal │ │ │ │ ├── CoreStitchAppClient.ts │ │ │ │ ├── common │ │ │ │ │ ├── Assertions.ts │ │ │ │ │ ├── Base64.ts │ │ │ │ │ ├── Codec.ts │ │ │ │ │ ├── StitchErrorUtils.ts │ │ │ │ │ ├── Storage.ts │ │ │ │ │ └── mongodb-extjson.d.ts │ │ │ │ └── net │ │ │ │ │ ├── ApiAppMetadata.ts │ │ │ │ │ ├── BaseEventStream.ts │ │ │ │ │ ├── BaseStitchRequestClient.ts │ │ │ │ │ ├── BasicRequest.ts │ │ │ │ │ ├── ContentTypes.ts │ │ │ │ │ ├── Event.ts │ │ │ │ │ ├── EventListener.ts │ │ │ │ │ ├── EventStream.ts │ │ │ │ │ ├── Headers.ts │ │ │ │ │ ├── Method.ts │ │ │ │ │ ├── Response.ts │ │ │ │ │ ├── StitchAppAuthRoutes.ts │ │ │ │ │ ├── StitchAppRequestClient.ts │ │ │ │ │ ├── StitchAppRoutes.ts │ │ │ │ │ ├── StitchAuthDocRequest.ts │ │ │ │ │ ├── StitchAuthRequest.ts │ │ │ │ │ ├── StitchDocRequest.ts │ │ │ │ │ ├── StitchEvent.ts │ │ │ │ │ ├── StitchRequest.ts │ │ │ │ │ ├── StitchRequestClient.ts │ │ │ │ │ ├── StitchRoutes.ts │ │ │ │ │ └── Transport.ts │ │ │ └── services │ │ │ │ └── internal │ │ │ │ ├── AuthRebindEvent.ts │ │ │ │ ├── CoreStitchServiceClient.ts │ │ │ │ ├── CoreStitchServiceClientImpl.ts │ │ │ │ ├── RebindEvent.ts │ │ │ │ ├── StitchServiceBinder.ts │ │ │ │ └── StitchServiceRoutes.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── services │ │ ├── aws-s3 │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── CoreAwsS3ServiceClientUnitTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── AwsS3PutObjectResult.ts │ │ │ │ ├── AwsS3SignPolicyResult.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ ├── CoreAwsS3ServiceClient.ts │ │ │ │ │ └── ResultDecoders.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── aws-ses │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── CoreAwsSesServiceClientUnitTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── AwsSesSendResult.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── CoreAwsSesServiceClient.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── aws │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ ├── AwsRequestUnitTests.ts │ │ │ │ └── CoreAwsServiceClientUnitTests.ts │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── AwsRequest.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── CoreAwsServiceClient.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── http │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ ├── HttpRequestUnitTests.ts │ │ │ │ └── internal │ │ │ │ │ └── CoreHttpServiceClientUnitTests.ts │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── HttpCookie.ts │ │ │ │ ├── HttpMethod.ts │ │ │ │ ├── HttpRequest.ts │ │ │ │ ├── HttpResponse.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ ├── CoreHttpServiceClient.ts │ │ │ │ │ └── ResultDecoders.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── mongodb-remote │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ ├── CoreRemoteMongoClientUnitTests.ts │ │ │ │ ├── CoreRemoteMongoCollectionUnitTests.ts │ │ │ │ ├── CoreRemoteMongoDatabaseUnitTests.ts │ │ │ │ └── TestUtils.ts │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── ChangeEvent.ts │ │ │ │ ├── CompactChangeEvent.ts │ │ │ │ ├── MongoNamespace.ts │ │ │ │ ├── OperationType.ts │ │ │ │ ├── RemoteCountOptions.ts │ │ │ │ ├── RemoteDeleteResult.ts │ │ │ │ ├── RemoteFindOneAndModifyOptions.ts │ │ │ │ ├── RemoteFindOptions.ts │ │ │ │ ├── RemoteInsertManyResult.ts │ │ │ │ ├── RemoteInsertOneResult.ts │ │ │ │ ├── RemoteUpdateOptions.ts │ │ │ │ ├── RemoteUpdateResult.ts │ │ │ │ ├── UpdateDescription.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ ├── CoreRemoteMongoClient.ts │ │ │ │ │ ├── CoreRemoteMongoClientImpl.ts │ │ │ │ │ ├── CoreRemoteMongoCollection.ts │ │ │ │ │ ├── CoreRemoteMongoCollectionImpl.ts │ │ │ │ │ ├── CoreRemoteMongoDatabase.ts │ │ │ │ │ ├── CoreRemoteMongoDatabaseImpl.ts │ │ │ │ │ ├── CoreRemoteMongoReadOperation.ts │ │ │ │ │ └── ResultDecoders.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ └── twilio │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ └── CoreTwilioServiceClientUnitTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ ├── CoreTwilioServiceClient.ts │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ └── testutils │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── BaseStitchIntTestHarness.ts │ │ ├── JestEventSourceEventStream.ts │ │ ├── JestFetchStreamTransport.ts │ │ ├── JestFetchTransport.ts │ │ └── index.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json ├── react-native │ ├── core │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── core │ │ │ │ ├── Stitch.ts │ │ │ │ ├── StitchAppClient.ts │ │ │ │ ├── auth │ │ │ │ │ ├── StitchAuth.ts │ │ │ │ │ ├── StitchAuthListener.ts │ │ │ │ │ ├── StitchUser.ts │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── StitchAuthImpl.ts │ │ │ │ │ │ ├── StitchUserFactoryImpl.ts │ │ │ │ │ │ └── StitchUserImpl.ts │ │ │ │ │ └── providers │ │ │ │ │ │ ├── internal │ │ │ │ │ │ ├── AuthProviderClientFactory.ts │ │ │ │ │ │ └── NamedAuthProviderClientFactory.ts │ │ │ │ │ │ ├── userapikey │ │ │ │ │ │ ├── UserApiKeyAuthProviderClient.ts │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ └── UserApiKeyAuthProviderClientImpl.ts │ │ │ │ │ │ └── userpassword │ │ │ │ │ │ ├── UserPasswordAuthProviderClient.ts │ │ │ │ │ │ └── internal │ │ │ │ │ │ └── UserPasswordAuthProviderClientImpl.ts │ │ │ │ └── internal │ │ │ │ │ ├── StitchAppClientImpl.ts │ │ │ │ │ ├── common │ │ │ │ │ ├── RNAsyncStorage.ts │ │ │ │ │ └── Version.ts │ │ │ │ │ └── net │ │ │ │ │ ├── EventSourceEventStream.ts │ │ │ │ │ └── RNFetchStreamTransport.ts │ │ │ ├── index.ts │ │ │ └── services │ │ │ │ ├── StitchServiceClient.ts │ │ │ │ └── internal │ │ │ │ ├── NamedServiceClientFactory.ts │ │ │ │ ├── ServiceClientFactory.ts │ │ │ │ └── StitchServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── coretest │ │ ├── .babelrc │ │ ├── LICENSE │ │ ├── __tests__ │ │ │ ├── StitchAppClientIntTests.ts │ │ │ ├── StitchAuthListenerIntTests.ts │ │ │ └── auth │ │ │ │ └── providers │ │ │ │ └── userapikey │ │ │ │ └── UserApiKeyAuthProviderClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── sdk │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ └── index.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── services │ │ ├── aws-s3 │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── AwsS3ServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── AwsS3ServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── AwsS3ServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── aws-ses │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── AwsSesServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── AwsSesServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── AwsSesServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── aws │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── AwsServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── AwsServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── AwsServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── http │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── HttpServiceClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── HttpServiceClient.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ └── HttpServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ ├── mongodb-remote │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ │ └── RemoteMongoClientIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ │ ├── RemoteMongoClient.ts │ │ │ │ ├── RemoteMongoCollection.ts │ │ │ │ ├── RemoteMongoCursor.ts │ │ │ │ ├── RemoteMongoDatabase.ts │ │ │ │ ├── RemoteMongoReadOperation.ts │ │ │ │ ├── index.ts │ │ │ │ └── internal │ │ │ │ │ ├── RemoteMongoClientImpl.ts │ │ │ │ │ ├── RemoteMongoCollectionImpl.ts │ │ │ │ │ └── RemoteMongoDatabaseImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ │ └── twilio │ │ │ ├── .babelrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── __tests__ │ │ │ └── TwilioServiceIntTests.ts │ │ │ ├── package-lock.json │ │ │ ├── package.json │ │ │ ├── src │ │ │ ├── TwilioServiceClient.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ └── TwilioServiceClientImpl.ts │ │ │ ├── tsconfig.cjs.json │ │ │ ├── tsconfig.esm.json │ │ │ └── tslint.json │ └── testutils │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ ├── BaseStitchRNIntTestHarness.ts │ │ └── index.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json └── server │ ├── core │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ ├── core │ │ │ ├── Stitch.ts │ │ │ ├── StitchAppClient.ts │ │ │ ├── auth │ │ │ │ ├── StitchAuth.ts │ │ │ │ ├── StitchAuthListener.ts │ │ │ │ ├── StitchUser.ts │ │ │ │ ├── internal │ │ │ │ │ ├── StitchAuthImpl.ts │ │ │ │ │ ├── StitchUserFactoryImpl.ts │ │ │ │ │ └── StitchUserImpl.ts │ │ │ │ └── providers │ │ │ │ │ ├── internal │ │ │ │ │ ├── AuthProviderClientFactory.ts │ │ │ │ │ └── NamedAuthProviderClientFactory.ts │ │ │ │ │ ├── userapikey │ │ │ │ │ ├── UserApiKeyAuthProviderClient.ts │ │ │ │ │ └── internal │ │ │ │ │ │ └── UserApiKeyAuthProviderClientImpl.ts │ │ │ │ │ └── userpassword │ │ │ │ │ ├── UserPasswordAuthProviderClient.ts │ │ │ │ │ └── internal │ │ │ │ │ └── UserPasswordAuthProviderClientImpl.ts │ │ │ └── internal │ │ │ │ ├── StitchAppClientImpl.ts │ │ │ │ ├── common │ │ │ │ ├── FileStorage.ts │ │ │ │ └── Version.ts │ │ │ │ └── net │ │ │ │ ├── EventSourceEventStream.ts │ │ │ │ └── NodeFetchStreamTransport.ts │ │ ├── index.ts │ │ └── services │ │ │ ├── StitchServiceClient.ts │ │ │ └── internal │ │ │ ├── NamedServiceClientFactory.ts │ │ │ ├── ServiceClientFactory.ts │ │ │ └── StitchServiceClientImpl.ts │ ├── tsconfig.cjs.json │ ├── tsconfig.esm.json │ └── tslint.json │ ├── coretest │ ├── LICENSE │ ├── __tests__ │ │ ├── StitchAppClientIntTests.ts │ │ ├── StitchAuthListenerIntTests.ts │ │ └── auth │ │ │ └── providers │ │ │ └── userapikey │ │ │ └── UserApiKeyAuthProviderClientIntTests.ts │ ├── package.json │ ├── tsconfig.json │ └── tslint.json │ ├── examples │ └── basic │ │ ├── LICENSE │ │ ├── package.json │ │ └── src │ │ └── index.js │ ├── sdk │ ├── LICENSE │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tsconfig.cjs.json │ ├── tsconfig.esm.json │ └── tslint.json │ ├── services │ ├── aws-s3 │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ └── AwsS3ServiceClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── AwsS3ServiceClient.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ └── AwsS3ServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── aws-ses │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ └── AwsSesServiceClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── AwsSesServiceClient.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ └── AwsSesServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── aws │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ └── AwsServiceClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── AwsServiceClient.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ └── AwsServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── http │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ └── HttpServiceClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── HttpServiceClient.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ └── HttpServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ ├── mongodb-remote │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ │ └── RemoteMongoClientIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ │ ├── RemoteMongoClient.ts │ │ │ ├── RemoteMongoCollection.ts │ │ │ ├── RemoteMongoCursor.ts │ │ │ ├── RemoteMongoDatabase.ts │ │ │ ├── RemoteMongoReadOperation.ts │ │ │ ├── index.ts │ │ │ └── internal │ │ │ │ ├── RemoteMongoClientImpl.ts │ │ │ │ ├── RemoteMongoCollectionImpl.ts │ │ │ │ └── RemoteMongoDatabaseImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ └── twilio │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __tests__ │ │ └── TwilioServiceIntTests.ts │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── TwilioServiceClient.ts │ │ ├── index.ts │ │ └── internal │ │ │ └── TwilioServiceClientImpl.ts │ │ ├── tsconfig.cjs.json │ │ ├── tsconfig.esm.json │ │ └── tslint.json │ └── testutils │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src │ ├── BaseStitchServerIntTestHarness.ts │ └── index.ts │ ├── tsconfig.cjs.json │ ├── tsconfig.esm.json │ └── tslint.json └── typedoc-theme ├── .gitignore ├── build.sh ├── fonts ├── akzidgrostdita.eot ├── akzidgrostdita.svg ├── akzidgrostdita.ttf ├── akzidgrostdita.woff ├── akzidgrostdlig.eot ├── akzidgrostdlig.svg ├── akzidgrostdlig.ttf ├── akzidgrostdlig.woff ├── akzidgrostdligcnd.eot ├── akzidgrostdligcnd.svg ├── akzidgrostdligcnd.ttf ├── akzidgrostdligcnd.woff ├── akzidgrostdligita.eot ├── akzidgrostdligita.svg ├── akzidgrostdligita.ttf ├── akzidgrostdligita.woff ├── akzidgrostdmed.eot ├── akzidgrostdmed.svg ├── akzidgrostdmed.ttf ├── akzidgrostdmed.woff ├── akzidgrostdmedita.eot ├── akzidgrostdmedita.svg ├── akzidgrostdmedita.ttf ├── akzidgrostdmedita.woff ├── akzidgrostdreg.eot ├── akzidgrostdreg.svg ├── akzidgrostdreg.ttf ├── akzidgrostdreg.woff ├── fa-brands-400.eot ├── fa-brands-400.svg ├── fa-brands-400.ttf ├── fa-brands-400.woff ├── fa-brands-400.woff2 ├── fa-regular-400.eot ├── fa-regular-400.svg ├── fa-regular-400.ttf ├── fa-regular-400.woff ├── fa-regular-400.woff2 ├── fa-solid-900.eot ├── fa-solid-900.svg ├── fa-solid-900.ttf ├── fa-solid-900.woff └── fa-solid-900.woff2 ├── gruntfile.js ├── package-lock.json ├── package.json └── src ├── assets ├── css │ ├── _constants.sass │ ├── base.css │ ├── code-buttons.css │ ├── colors.css │ ├── elements │ │ ├── _comment.sass │ │ ├── _filter.sass │ │ ├── _footer.sass │ │ ├── _hierarchy.sass │ │ ├── _images.sass │ │ ├── _index.sass │ │ ├── _member.sass │ │ ├── _navigation.sass │ │ ├── _panel.sass │ │ ├── _search.sass │ │ ├── _signatures.sass │ │ ├── _sources.sass │ │ ├── _toolbar.sass │ │ └── links.scss │ ├── fonts.css │ ├── layouts │ │ ├── _default.sass │ │ └── _minimal.sass │ ├── main.sass │ ├── setup │ │ ├── _animations.sass │ │ ├── _grid.sass │ │ ├── _icons.scss │ │ ├── _mixins.sass │ │ └── _typography.sass │ └── vendors │ │ ├── _highlight.js.sass │ │ ├── _normalize.sass │ │ └── fontawesome │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _rotated-flipped.scss │ │ ├── _screen-reader.scss │ │ ├── _shims.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ ├── brands.scss │ │ ├── fontawesome.scss │ │ ├── regular.scss │ │ ├── solid.scss │ │ └── v4-shims.scss ├── images │ ├── icons.png │ ├── icons.psd │ ├── icons@2x.png │ ├── widgets.png │ ├── widgets.psd │ └── widgets@2x.png └── js │ ├── main.js │ └── src │ ├── typedoc │ ├── Application.ts │ ├── components │ │ ├── Filter.ts │ │ ├── MenuHighlight.ts │ │ ├── MenuSticky.ts │ │ ├── Search.ts │ │ ├── Signature.ts │ │ └── Toggle.ts │ ├── services │ │ └── Viewport.ts │ └── utils │ │ ├── pointer.ts │ │ └── transitions.ts │ └── ~bootstrap.ts ├── layouts └── default.hbs ├── partials ├── analytics.hbs ├── comment.hbs ├── examples.hbs ├── header.hbs ├── member.hbs ├── member.signature.body.hbs ├── notes.hbs ├── rating-panel.hbs └── see-also.hbs └── templates └── index.hbs /config/tdconfig.browser.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/doc-browser" 5 | }, 6 | "include": [ 7 | "../packages/core/sdk/src/**/*", 8 | "../packages/core/servivces/*/src/**/*", 9 | "../packages/browser/core/src/**/*", 10 | "../packages/browser/services/*/src/**/*" 11 | ], 12 | "exclude": [ 13 | "**/node_modules/**", 14 | "**/dist/**" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /config/tdconfig.react-native.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/doc-react-native" 5 | }, 6 | "include": [ 7 | "../packages/core/sdk/src/**/*", 8 | "../packages/core/servivces/*/src/**/*", 9 | "../packages/react-native/core/src/**/*", 10 | "../packages/react-native/services/*/src/**/*" 11 | ], 12 | "exclude": [ 13 | "**/node_modules/**", 14 | "**/dist/**" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /config/tdconfig.server.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/doc-server" 5 | }, 6 | "include": [ 7 | "../packages/core/sdk/src/**/*", 8 | "../packages/core/servivces/*/src/**/*", 9 | "../packages/server/core/src/**/*", 10 | "../packages/server/services/*/src/**/*" 11 | ], 12 | "exclude": [ 13 | "**/node_modules/**", 14 | "**/dist/**" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /config/tsconfig.cjs.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES5", 4 | "module": "CommonJS", 5 | "moduleResolution": "Node", 6 | "downlevelIteration": true, 7 | "sourceMap": true, 8 | "strictNullChecks": true, 9 | "declaration": true, 10 | "removeComments": true, 11 | "esModuleInterop": true, 12 | "lib": [ 13 | "es2015", 14 | "es2017.object", 15 | "dom" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /config/tsconfig.cjs.browser.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES5", 4 | "module": "CommonJS", 5 | "moduleResolution": "Node", 6 | "downlevelIteration": true, 7 | "sourceMap": true, 8 | "strictNullChecks": true, 9 | "declaration": true, 10 | "removeComments": true, 11 | "esModuleInterop": true, 12 | "lib": [ 13 | "es2015", 14 | "es2017.object", 15 | "dom" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /config/tsconfig.esm.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES5", 4 | "module": "ES2015", 5 | "moduleResolution": "Node", 6 | "downlevelIteration": true, 7 | "sourceMap": true, 8 | "strictNullChecks": true, 9 | "declaration": true, 10 | "removeComments": true, 11 | "esModuleInterop": true, 12 | "lib": [ 13 | "es2015", 14 | "es2017.object", 15 | "dom" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /config/tsconfig.esm.browser.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES5", 4 | "module": "ES2015", 5 | "moduleResolution": "Node", 6 | "downlevelIteration": true, 7 | "sourceMap": true, 8 | "strictNullChecks": true, 9 | "declaration": true, 10 | "removeComments": true, 11 | "esModuleInterop": true, 12 | "lib": [ 13 | "es2015", 14 | "es2017.object", 15 | "dom" 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /contrib/docs-examples/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | parser: "babel-eslint", 3 | "plugins": [ 4 | "react", "eslint-plugin-react" 5 | ], 6 | "rules": { 7 | "semi": ["error", "never"], 8 | "indent": ["error", 2], 9 | "object-curly-spacing": ["error", "never"], 10 | "no-underscore-dangle": ["off"], 11 | "no-plusplus": ["off"], 12 | "react/jsx-indent": ["error", 2], 13 | "react/jsx-indent-props": ["error", 2], 14 | "react/jsx-one-expression-per-line": ["off"], 15 | "react/no-array-index-key": ["off"], 16 | "no-unused-vars": ["warn"], 17 | "no-console": ["off"], 18 | "no-multi-spaces": ["off"], 19 | "max-len": ["off"], 20 | "react/jsx-filename-extension": ["off"], 21 | "object-curly-newline": ["warn"] 22 | }, 23 | "extends": ["airbnb"] 24 | } 25 | -------------------------------------------------------------------------------- /contrib/docs-examples/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | -------------------------------------------------------------------------------- /contrib/docs-examples/babel.config.js: -------------------------------------------------------------------------------- 1 | const presets = [ 2 | [ 3 | '@babel/env', 4 | { 5 | targets: { 6 | node: true, 7 | }, 8 | useBuiltIns: 'usage', 9 | corejs: '2.0' 10 | }, 11 | '@babel/preset-react' 12 | ], 13 | ] 14 | 15 | const plugins = [ 16 | "@babel/plugin-proposal-class-properties", 17 | "@babel/plugin-transform-react-jsx" 18 | ]; 19 | 20 | module.exports = {presets, plugins} 21 | -------------------------------------------------------------------------------- /contrib/docs-examples/checksum: -------------------------------------------------------------------------------- 1 | a35123f764fd675f21a344c08baf4e31 -------------------------------------------------------------------------------- /contrib/docs-examples/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "snippets", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "validate.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "MongoDB, Inc.", 10 | "license": "ISC", 11 | "devDependencies": { 12 | "@babel/cli": "^7.8.4", 13 | "@babel/core": "^7.9.6", 14 | "@babel/plugin-proposal-class-properties": "^7.8.3", 15 | "@babel/plugin-transform-react-jsx": "^7.9.4", 16 | "@babel/preset-env": "^7.9.6", 17 | "babel-eslint": "^10.1.0", 18 | "eslint": "^5.16.0", 19 | "eslint-config-airbnb": "^17.1.1", 20 | "eslint-plugin-import": "^2.20.2", 21 | "eslint-plugin-jsx-a11y": "^6.2.3", 22 | "eslint-plugin-react": "^7.19.0" 23 | }, 24 | "dependencies": { 25 | "@babel/polyfill": "^7.8.7", 26 | "invariant": "^2.2.4", 27 | "mock-browser": "^0.92.14" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/AnonymousCredential.js: -------------------------------------------------------------------------------- 1 | function example({Stitch, AnonymousCredential, stitchAppClient}) { 2 | // Previously: 3 | // const stitchAppClient = Stitch.initializeDefaultAppClient('your-stitch-app-id') 4 | 5 | // Log in with anonymous credential 6 | stitchAppClient.auth 7 | .loginWithCredential(new AnonymousCredential()) 8 | .then((user) => { 9 | console.log(`Logged in as anonymous user with id: ${user.id}`) 10 | }) 11 | .catch(console.error) 12 | } 13 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteFindOptions.js: -------------------------------------------------------------------------------- 1 | function example({db}) { 2 | // Assumption: Stitch is already logged in 3 | 4 | // Work with the movies collection 5 | const moviesCollection = db.collection('movieDetails') 6 | 7 | const options = { // Match the shape of RemoteFindOptions. 8 | limit: 10, // Return only first ten results. 9 | projection: { // Return only the `title`, `releaseDate`, and 10 | title: 1, // (implicitly) the `_id` fields. 11 | releaseDate: 1, 12 | }, 13 | sort: { // Sort by releaseDate descending (latest first). 14 | releaseDate: -1, 15 | }, 16 | } 17 | 18 | moviesCollection 19 | .find({}, options) // Match any document with {} query. Pass the options as the second argument. 20 | .toArray() 21 | .then(movies => console.log('Ten latest movies:', movies)) 22 | .catch(console.error) 23 | } 24 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteMongoClient.js: -------------------------------------------------------------------------------- 1 | function example({AnonymousCredential, Stitch, RemoteMongoClient}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | // Get the RemoteMongoClient via the service client interface 5 | const mongoClient = stitchAppClient.getServiceClient(RemoteMongoClient.factory, 'mongodb-atlas') 6 | 7 | // Log in to access the database. Anonymous Authentication is enabled from the Stitch UI. 8 | stitchAppClient.auth 9 | .loginWithCredential(new AnonymousCredential()) 10 | .then(() => { 11 | // Retrieve a database object 12 | const db = mongoClient.db('video') 13 | 14 | // Retrieve the collection in the database 15 | const movieDetails = db.collection('movieDetails') 16 | 17 | // Find 10 documents and log them to console. 18 | movieDetails.find({}, {limit: 10}) 19 | .toArray() 20 | .then(results => console.log('Results:', results)) 21 | .catch(console.error) 22 | }) 23 | .catch(console.error) 24 | } 25 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteMongoCollection.find.js: -------------------------------------------------------------------------------- 1 | function example({Stitch, RemoteMongoClient}) { 2 | // Assumption: Stitch is already logged in. 3 | 4 | // Get the existing Stitch client. 5 | const stitchClient = Stitch.defaultAppClient 6 | 7 | // Get a client of the Remote Mongo Service for database access 8 | const mongoClient = stitchClient.getServiceClient(RemoteMongoClient.factory, 'mongodb-atlas') 9 | 10 | // Retrieve a database object 11 | const db = mongoClient.db('video') 12 | 13 | // Retrieve the collection in the database 14 | const movieDetails = db.collection('movieDetails') 15 | 16 | // Find 10 documents and log them to console. 17 | movieDetails.find({}, {limit: 10}) 18 | .toArray() 19 | .then(results => console.log('Results:', results)) 20 | } 21 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteMongoCollection.js: -------------------------------------------------------------------------------- 1 | function example({Stitch, RemoteMongoClient}) { 2 | // Get the existing Stitch client. 3 | const stitchClient = Stitch.defaultAppClient 4 | 5 | // Get a client of the Remote Mongo Service for database access 6 | const mongoClient = stitchClient.getServiceClient(RemoteMongoClient.factory, 'mongodb-atlas') 7 | 8 | // Retrieve a database object 9 | const db = mongoClient.db('video') 10 | 11 | // Retrieve the collection in the database 12 | const movieDetails = db.collection('movieDetails') 13 | 14 | // Find 10 documents and log them to console. 15 | movieDetails.find({}, {limit: 10}) 16 | .toArray() 17 | .then(results => console.log('Results:', results)) 18 | } 19 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteMongoCursor.js: -------------------------------------------------------------------------------- 1 | function example({db}) { 2 | async function handleMovie(cursor) { 3 | const movie = await cursor.next() 4 | if (movie === undefined) { 5 | return 6 | } 7 | console.log(movie) 8 | // ... process and decide whether to keep iterating ... 9 | handleMovie(cursor) 10 | } 11 | 12 | // Work with the movies collection 13 | const moviesCollection = db.collection('movieDetails') 14 | 15 | moviesCollection 16 | .find({}, {limit: 10}) 17 | .iterator() 18 | .then(handleMovie) 19 | } 20 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteMongoDatabase.js: -------------------------------------------------------------------------------- 1 | function example({Stitch, RemoteMongoClient}) { 2 | // Get the logged-in Stitch client 3 | const stitchClient = Stitch.defaultAppClient 4 | 5 | // Get a client of the Remote Mongo Service for database access 6 | const mongoClient = stitchClient.getServiceClient(RemoteMongoClient.factory, 'mongodb-atlas') 7 | 8 | // Retrieve a database object 9 | const db = mongoClient.db('video') 10 | 11 | // Retrieve the collection in the database 12 | const movieDetails = db.collection('movieDetails') 13 | 14 | // Find 10 documents and log them to console. 15 | movieDetails.find({}, {limit: 10}) 16 | .toArray() 17 | .then(results => console.log('Results:', results)) 18 | } 19 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/RemoteMongoReadOperation.js: -------------------------------------------------------------------------------- 1 | function example({Stitch, RemoteMongoClient}) { 2 | // Assumption: Stitch is already logged in. 3 | 4 | // Get the existing Stitch client. 5 | const stitchClient = Stitch.defaultAppClient 6 | 7 | // Get a client of the Remote Mongo Service for database access 8 | const mongoClient = stitchClient.getServiceClient(RemoteMongoClient.factory, 'mongodb-atlas') 9 | 10 | // Retrieve a database object 11 | const db = mongoClient.db('video') 12 | 13 | // Retrieve the collection in the database 14 | const movieDetails = db.collection('movieDetails') 15 | 16 | // Find 10 documents and log them to console. 17 | movieDetails.find({}, {limit: 10}) 18 | .toArray() 19 | .then(results => console.log('Results:', results)) 20 | } 21 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.js: -------------------------------------------------------------------------------- 1 | function example({AnonymousCredential, stitchAppClient}) { 2 | // Previously: 3 | // const stitchAppClient = Stitch.initializeDefaultAppClient('your-stitch-app-id') 4 | 5 | // Log in with anonymous credential 6 | stitchAppClient.auth 7 | .loginWithCredential(new AnonymousCredential()) 8 | .then((user) => { 9 | console.log(`Logged in as anonymous user with id: ${user.id}`) 10 | }) 11 | .catch(console.error) 12 | } 13 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.listUsers.js: -------------------------------------------------------------------------------- 1 | async function example({Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | // Log in as two different users. 7 | await auth.loginWithCredential(new UserPasswordCredential('user1', 'password')) 8 | await auth.loginWithCredential(new UserPasswordCredential('user2', 'password')) 9 | 10 | // List users. 11 | console.log(auth.listUsers()) 12 | } 13 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.loginWithCredential.js: -------------------------------------------------------------------------------- 1 | function example({AnonymousCredential, UserPasswordCredential, stitchAppClient}) { 2 | // Previously: 3 | // const stitchAppClient = Stitch.initializeDefaultAppClient('your-stitch-app-id') 4 | 5 | // Log in with anonymous credential 6 | stitchAppClient.auth 7 | .loginWithCredential(new AnonymousCredential()) 8 | .then((user) => { 9 | console.log(`Logged in as anonymous user with id: ${user.id}`) 10 | }) 11 | .catch(console.error) 12 | 13 | // Log in with user/password credential 14 | stitchAppClient.auth 15 | .loginWithCredential(new UserPasswordCredential('user', 'password')) 16 | .then((user) => { 17 | console.log(`Logged in as user with id: ${user.id}`) 18 | }) 19 | .catch(console.error) 20 | } 21 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.logout.js: -------------------------------------------------------------------------------- 1 | async function example({expect, Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | const user1 = await auth.loginWithCredential(new UserPasswordCredential('user1', 'password')) 7 | const user2 = await auth.loginWithCredential(new UserPasswordCredential('user2', 'password')) 8 | 9 | // Active user is now user2 10 | expect('Active user to be user2', auth.user.id === user2.id) 11 | 12 | await auth.logout() 13 | 14 | // The active user is now undefined. Stitch does not assume it should 15 | // switch to another active account upon logout 16 | expect('Active user to be undefined', auth.user === undefined) 17 | 18 | // Explicitly switch to a desired active user 19 | auth.switchToUserWithId(user1.id) 20 | 21 | expect('Active user to be user1', auth.user.id === user1.id) 22 | } 23 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.logoutUserWithId.js: -------------------------------------------------------------------------------- 1 | async function example({expect, Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | // Log in with user/password credential. The Email/Password Provider 7 | // was enabled in the Stitch UI Users Panel. 8 | let user = await auth.loginWithCredential(new UserPasswordCredential('user', 'password')) 9 | 10 | expect('User is logged in', user.isLoggedIn) 11 | 12 | // Log out the user who just logged in. 13 | await auth.logoutUserWithId(user.id) 14 | 15 | // Update the user with the latest state 16 | user = auth.listUsers().find(entry => entry.id === user.id) 17 | 18 | expect('User is logged out', !user.isLoggedIn) 19 | } 20 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.removeUser.js: -------------------------------------------------------------------------------- 1 | async function example({expect, Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | // Log in 7 | const user = await auth.loginWithCredential(new UserPasswordCredential('user', 'password')) 8 | 9 | expect('Users list now contains user', 10 | undefined !== auth.listUsers().find(entry => entry.id === user.id)) 11 | 12 | // Now remove active user 13 | await auth.removeUser() 14 | 15 | expect('User has been removed from list', 16 | undefined === auth.listUsers().find(entry => entry.id === user.id)) 17 | } 18 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.removeUserWithId.js: -------------------------------------------------------------------------------- 1 | async function example({Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | // Log in with two users 7 | const user1 = await auth.loginWithCredential(new UserPasswordCredential('user1', 'password')) 8 | const user2 = await auth.loginWithCredential(new UserPasswordCredential('user2', 'password')) 9 | 10 | // List all logged in users 11 | console.log(auth.listUsers()) 12 | 13 | // Now remove user1 14 | await auth.removeUserWithId(user1.id) 15 | 16 | // User has been removed from the list 17 | console.log(auth.listUsers()) 18 | } 19 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchAuth.switchToUserWithId.js: -------------------------------------------------------------------------------- 1 | async function example({expect, Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | // Log in as user1 7 | await auth.loginWithCredential(new UserPasswordCredential('user1', 'password')) 8 | 9 | // Active user is now user1 10 | const user1 = auth.user 11 | 12 | // Log in as user2 13 | await auth.loginWithCredential(new UserPasswordCredential('user2', 'password')) 14 | 15 | // Active user is now user2 16 | const user2 = auth.user 17 | 18 | // See that auth.user has changed upon loginWithCredential() 19 | expect('user1 is not user2', user1.id !== user2.id) 20 | 21 | let activeUser = auth.user 22 | 23 | // Verify that active user is user2 24 | expect('active user is user2', activeUser.id === user2.id) 25 | 26 | // Switch active user to to user1 27 | activeUser = auth.switchToUserWithId(user1.id) 28 | 29 | // Verify that active user is now user1 30 | expect('active user is user1', activeUser.id === user1.id) 31 | } 32 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/StitchUser.isLoggedIn.js: -------------------------------------------------------------------------------- 1 | async function example({expect, Stitch, UserPasswordCredential}) { 2 | const stitchAppClient = Stitch.defaultAppClient 3 | 4 | const {auth} = stitchAppClient 5 | 6 | let user1 = await auth.loginWithCredential(new UserPasswordCredential('user1', 'password')) 7 | 8 | expect('user1 is logged in', user1.isLoggedIn) 9 | 10 | // Log out. 11 | await auth.logout() 12 | 13 | // The user1 object is a snapshot of the state at the time of assignment. 14 | // Its properties will not be updated despite the internal state having changed. 15 | expect('user1 is logged in??', user1.isLoggedIn) 16 | 17 | // To get the current state, call StitchAuth.listUsers(). 18 | user1 = auth.listUsers().find(user => user.id === user1.id) 19 | 20 | expect('user1 is actually logged out', user1.isLoggedIn === false) 21 | } 22 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/browser/placeholder.js: -------------------------------------------------------------------------------- 1 | function example() { 2 | // This is just a placeholder until other browser-specific examples are added. 3 | // Snippets added to this directory will override the snippet found in the 4 | // directory above in the browser SDK docs. 5 | } 6 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/react-native/StitchAuth.js: -------------------------------------------------------------------------------- 1 | function example({AnonymousCredential, UserPasswordCredential, stitchAppClient}) { 2 | // Previously: 3 | // const stitchAppClient = await Stitch.initializeDefaultAppClient('your-stitch-app-id') 4 | 5 | // Log in with anonymous credential 6 | stitchAppClient.auth 7 | .loginWithCredential(new AnonymousCredential()) 8 | .then((user) => { 9 | console.log(`Logged in as anonymous user with id: ${user.id}`) 10 | }) 11 | .catch(console.error) 12 | 13 | // Log in with user/password credential 14 | stitchAppClient.auth 15 | .loginWithCredential(new UserPasswordCredential('user', 'password')) 16 | .then((user) => { 17 | console.log(`Logged in as user with id: ${user.id}`) 18 | }) 19 | .catch(console.error) 20 | } 21 | -------------------------------------------------------------------------------- /contrib/docs-examples/snippets/server/placeholder.js: -------------------------------------------------------------------------------- 1 | function example() { 2 | // This is just a placeholder until other server-specific examples are added. 3 | // Snippets added to this directory will override the snippet found in the 4 | // directory above in the server SDK docs. 5 | } 6 | -------------------------------------------------------------------------------- /contrib/docs-examples/validate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | if [ -z "$1" ] 4 | then 5 | echo "Usage: $0 [browser|server]" 6 | exit 1 7 | fi 8 | 9 | if [ ! -d "node_modules" ] 10 | then 11 | npm install 12 | fi 13 | 14 | # Get absolute path to snippet 15 | snippet=("$(cd "$(dirname "$1")"; pwd)/$(basename "$1")") 16 | 17 | pushd "$(dirname "$0")" > /dev/null 18 | 19 | ESLINT="./node_modules/.bin/eslint" 20 | 21 | validate_js="./validate.js" 22 | if [ "$2" == "browser" ] 23 | then 24 | validate_js="./validate_browser.js" 25 | fi 26 | echo "Using validator: $validate_js" 27 | 28 | set +e 29 | 30 | "$ESLINT" "$snippet" \ 31 | && cat "$snippet" "$validate_js" \ 32 | | npx babel -f "$validate_js" \ 33 | | node 34 | if [ $? == 1 ] 35 | then 36 | echo "Snippet validation failed. See above output." 37 | exit 1 38 | fi 39 | -------------------------------------------------------------------------------- /contrib/docs-examples/validate_snippets.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ -z "$1" ] 4 | then 5 | echo "Usage: $0 " 6 | exit 1 7 | fi 8 | 9 | if [ ! -d "node_modules" ] 10 | then 11 | npm install 12 | fi 13 | 14 | snippets=() 15 | for snippet in $@ 16 | do 17 | # Add the absolute path to each snippet 18 | snippets+=("$(cd "$(dirname "$snippet")"; pwd)/$(basename "$snippet")") 19 | done 20 | 21 | pushd "$(dirname "$0")" > /dev/null 22 | 23 | failed=() 24 | 25 | echo "Validating snippets... (If a snippet is taking more than a few seconds, use ctrl-C and try again.)" 26 | for snippet in "${snippets[@]}" 27 | do 28 | echo -n "Validating $snippet... " 29 | OUTPUT="$(./validate.sh "$snippet")" 30 | if [ $? == 1 ] 31 | then 32 | echo "FAILED:" 33 | echo "$OUTPUT" 34 | failed+="$snippet" 35 | continue 36 | fi 37 | echo "success!" 38 | done 39 | 40 | echo 41 | echo "Code example validation complete." 42 | 43 | if [ ${#failed[@]} != 0 ] 44 | then 45 | echo "FAILED:" 46 | for snippet in "${failed[@]}" 47 | do 48 | echo " $snippet" 49 | done 50 | echo 51 | exit 1 52 | fi 53 | echo 54 | -------------------------------------------------------------------------------- /contrib/publish_sdk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # Let this be run from any directory 6 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 7 | cd $DIR 8 | cd .. 9 | 10 | CURRENT_VERSION=`node -e 'console.log(require("./lerna.json").version)'` 11 | 12 | # Delete the version tag that was generated by "lerna version" 13 | git tag --delete "v$CURRENT_VERSION" 14 | git push --delete upstream "v$CURRENT_VERSION" 15 | 16 | # Tag the current commit as the new version 17 | git tag "v$CURRENT_VERSION" 18 | git push upstream "v$CURRENT_VERSION" 19 | 20 | # Publish the SDK from the current git HEAD 21 | lerna publish from-git 22 | -------------------------------------------------------------------------------- /contrib/typedoc-plugin-code-examples/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typedoc-plugin-code-examples", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1 5 | } 6 | -------------------------------------------------------------------------------- /contrib/typedoc-plugin-code-examples/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typedoc-plugin-code-examples", 3 | "version": "1.0.0", 4 | "description": "A TypeDoc plugin to add external code examples to comments", 5 | "main": "plugin.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "MongoDB, Inc.", 10 | "license": "MIT", 11 | "dependencies": {} 12 | } 13 | -------------------------------------------------------------------------------- /contrib/typedoc-plugin-copy-buttons-support/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typedoc-plugin-copy-buttons-support", 3 | "version": "1.0.0", 4 | "description": "A TypeDoc plugin to add support for the docs-tools code copy buttons", 5 | "main": "plugin.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "MongoDB, Inc.", 10 | "license": "MIT", 11 | "dependencies": { 12 | "jsdom": "^15.2.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /contrib/typedoc-plugin-tags-by-name/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typedoc-plugin-tags-by-name", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1 5 | } 6 | -------------------------------------------------------------------------------- /contrib/typedoc-plugin-tags-by-name/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typedoc-plugin-tags-by-name", 3 | "version": "1.0.0", 4 | "description": "A TypeDoc plugin to group comment tags by tag name for more control in typedoc theme", 5 | "main": "plugin.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "MongoDB, Inc.", 10 | "license": "MIT", 11 | "dependencies": {} 12 | } 13 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "lerna": "3.13.2", 3 | "packages": [ 4 | "packages/**" 5 | ], 6 | "command": { 7 | "bootstrap": { 8 | "nohoist": [ 9 | "react-native", 10 | "babel-jest", 11 | "babel-preset-react-native" 12 | ] 13 | } 14 | }, 15 | "version": "4.9.0" 16 | } 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "stitch-js-sdk", 3 | "private": true, 4 | "devDependencies": { 5 | "@types/jest": "^23.1.0", 6 | "@types/jsonwebtoken": "^7.2.6", 7 | "jest-junit": "^5.1.0", 8 | "jsonwebtoken": "8.2.1", 9 | "lcov-result-merger": "^3.0.0", 10 | "lerna": "^3.13.2", 11 | "npm": "^6.4.1", 12 | "rollup": "^0.60.7", 13 | "rollup-plugin-commonjs": "^9.1.3", 14 | "rollup-plugin-json": "^3.0.0", 15 | "rollup-plugin-node-builtins": "^2.1.2", 16 | "rollup-plugin-node-globals": "^1.2.1", 17 | "rollup-plugin-node-resolve": "^3.3.0", 18 | "rollup-plugin-replace": "^2.0.0", 19 | "rollup-plugin-typescript2": "^0.15.0", 20 | "rollup-plugin-uglify": "^4.0.0", 21 | "ts-mockito": "^2.3.0", 22 | "typedoc": "^0.14.2", 23 | "typescript": "^2.9.2" 24 | }, 25 | "scripts": { 26 | "docs": "npm run docs-theme && npm run docs-browser && npm run docs-server && npm run docs-react-native", 27 | "docs-theme": "pushd typedoc-theme && npm run build", 28 | "docs-browser": "./contrib/generate_docs.sh browser", 29 | "docs-server": "./contrib/generate_docs.sh server", 30 | "docs-react-native": "./contrib/generate_docs.sh react-native", 31 | "test:coverage": "lcov-result-merger 'packages/**/lcov.info' | PATH=$(npm bin):$PATH coveralls" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /packages/browser/core/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-core 2 | 3 | This package contains the Browser Core. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/core/src/core/auth/internal/RedirectFragmentFields.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | enum RedirectFragmentFields { 18 | StitchError = "_stitch_error", 19 | State = "_stitch_state", 20 | UserAuth = "_stitch_ua", 21 | LinkUser = "_stitch_link_user", 22 | StitchLink = "_stitch_link", 23 | ClientAppId = "_stitch_client_app_id" 24 | } 25 | 26 | export default RedirectFragmentFields; 27 | -------------------------------------------------------------------------------- /packages/browser/core/src/core/auth/internal/RedirectKeys.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | enum RedirectKeys { 18 | ProviderName = "_stitch_redirect_provider_name", 19 | ProviderType = "_stitch_redirect_provider_type", 20 | State = "_stitch_redirect_state" 21 | } 22 | 23 | export default RedirectKeys; 24 | -------------------------------------------------------------------------------- /packages/browser/core/src/core/auth/internal/StitchBrowserAppRoutes.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { StitchAppRoutes } from "mongodb-stitch-core-sdk"; 18 | import StitchBrowserAppAuthRoutes from "./StitchBrowserAppAuthRoutes"; 19 | 20 | export default class StitchBrowserAppRoutes extends StitchAppRoutes { 21 | public readonly authRoutes: StitchBrowserAppAuthRoutes; 22 | 23 | public constructor(clientAppId: string) { 24 | super(clientAppId); 25 | this.authRoutes = new StitchBrowserAppAuthRoutes(clientAppId); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /packages/browser/core/src/core/auth/internal/StitchRedirectError.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { StitchError } from "mongodb-stitch-core-sdk"; 18 | 19 | export default class StitchRedirectError extends StitchError { 20 | constructor(msg: string) { 21 | super(msg); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/browser/core/src/core/auth/providers/internal/AuthProviderClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | StitchAuthRequestClient, 19 | StitchAuthRoutes, 20 | StitchRequestClient 21 | } from "mongodb-stitch-core-sdk"; 22 | 23 | interface AuthProviderClientFactory { 24 | getClient( 25 | authRequestClient: StitchAuthRequestClient, 26 | requestClient: StitchRequestClient, 27 | routes: StitchAuthRoutes 28 | ): ClientT; 29 | } 30 | 31 | export default AuthProviderClientFactory; 32 | -------------------------------------------------------------------------------- /packages/browser/core/src/core/auth/providers/internal/NamedAuthProviderClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { StitchAuthRoutes, StitchRequestClient } from "mongodb-stitch-core-sdk"; 18 | 19 | interface NamedAuthProviderClientFactory { 20 | getNamedClient( 21 | providerName: string, 22 | requestClient: StitchRequestClient, 23 | routes: StitchAuthRoutes 24 | ): T; 25 | } 26 | 27 | export default NamedAuthProviderClientFactory; 28 | -------------------------------------------------------------------------------- /packages/browser/core/src/core/internal/common/Version.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | const version = "@VERSION@"; 18 | export { version as default }; 19 | -------------------------------------------------------------------------------- /packages/browser/core/src/services/internal/NamedServiceClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | CoreStitchServiceClient, 19 | StitchAppClientInfo 20 | } from "mongodb-stitch-core-sdk"; 21 | 22 | /** 23 | * An interface describing a class that can provide clients for a particular 24 | * named Stitch service. 25 | */ 26 | export default interface NamedServiceClientFactory { 27 | getNamedClient( 28 | service: CoreStitchServiceClient, 29 | client: StitchAppClientInfo 30 | ): T; 31 | } 32 | -------------------------------------------------------------------------------- /packages/browser/core/src/services/internal/ServiceClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | CoreStitchServiceClient, 19 | StitchAppClientInfo 20 | } from "mongodb-stitch-core-sdk"; 21 | 22 | /** 23 | * An interface describing a class that can provide clients for a particular 24 | * Stitch service. 25 | */ 26 | export default interface ServiceClientFactory { 27 | getClient(service: CoreStitchServiceClient, client: StitchAppClientInfo): T; 28 | } 29 | -------------------------------------------------------------------------------- /packages/browser/core/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/core/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/core/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/coretest/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "__tests__/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/coretest/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/examples/basic/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015", "react"] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/examples/basic/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/browser/sdk/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export * from "mongodb-stitch-browser-core"; 18 | export * from "mongodb-stitch-browser-services-mongodb-remote"; 19 | -------------------------------------------------------------------------------- /packages/browser/sdk/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/sdk/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/sdk/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/services/aws-s3/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-services-aws-s3 2 | 3 | This package contains the Browser AWS S3 Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/services/aws-s3/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | AwsS3PutObjectResult, 19 | AwsS3SignPolicyResult 20 | } from "mongodb-stitch-core-services-aws-s3"; 21 | import { AwsS3ServiceClient } from "./AwsS3ServiceClient"; 22 | 23 | export { AwsS3PutObjectResult, AwsS3SignPolicyResult, AwsS3ServiceClient }; 24 | -------------------------------------------------------------------------------- /packages/browser/services/aws-s3/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/aws-s3/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/aws-s3/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/services/aws-ses/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-services-aws-ses 2 | 3 | This package contains the Browser AWS SES Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/services/aws-ses/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsSesSendResult } from "mongodb-stitch-core-services-aws-ses"; 18 | import { AwsSesServiceClient } from "./AwsSesServiceClient"; 19 | 20 | export { AwsSesSendResult, AwsSesServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/browser/services/aws-ses/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/aws-ses/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/aws-ses/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/services/aws/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-services-aws 2 | 3 | This package contains the Browser AWS Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/services/aws/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsRequest } from "mongodb-stitch-core-services-aws"; 18 | import { AwsServiceClient } from "./AwsServiceClient"; 19 | 20 | export { AwsRequest, AwsServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/browser/services/aws/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/aws/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/aws/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/services/http/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-services-http 2 | 3 | This package contains the Browser HTTP Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/services/http/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | HttpCookie, 19 | HttpMethod, 20 | HttpRequest, 21 | HttpResponse 22 | } from "mongodb-stitch-core-services-http"; 23 | import { HttpServiceClient } from "./HttpServiceClient"; 24 | 25 | export { HttpResponse, HttpCookie, HttpMethod, HttpRequest, HttpServiceClient }; 26 | -------------------------------------------------------------------------------- /packages/browser/services/http/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/http/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/http/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/services/mongodb-remote/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-services-mongodb-remote 2 | 3 | This package contains the Browser Remote MongoDB Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/services/mongodb-remote/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/mongodb-remote/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/mongodb-remote/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/services/twilio/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-services-twilio 2 | 3 | This package contains the Browser Twilio Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/services/twilio/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { TwilioServiceClient } from "./TwilioServiceClient"; 18 | 19 | export { TwilioServiceClient }; 20 | -------------------------------------------------------------------------------- /packages/browser/services/twilio/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/twilio/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/services/twilio/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/browser/testutils/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-browser-testutils 2 | 3 | This package is for internal test utilities for the MongoDB Stitch Browser SDK components. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/browser/testutils/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import BaseStitchBrowserIntTestHarness from "./BaseStitchBrowserIntTestHarness"; 18 | 19 | export { BaseStitchBrowserIntTestHarness }; 20 | -------------------------------------------------------------------------------- /packages/browser/testutils/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/testutils/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/browser/testutils/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/admin-client-tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.browser.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "__tests__/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/admin-client-tests/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/admin-client/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-admin-client 2 | 3 | This package contains the Core Admin Client. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/admin-client/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "experimentalDecorators": true 6 | }, 7 | "include": [ 8 | "src/**/*" 9 | ], 10 | "exclude": [ 11 | "./node_modules/**", 12 | "./dist" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/core/admin-client/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm", 5 | "experimentalDecorators": true 6 | }, 7 | "include": [ 8 | "src/**/*" 9 | ], 10 | "exclude": [ 11 | "./node_modules/**", 12 | "./dist" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /packages/core/admin-client/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/sdk/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-sdk 2 | 3 | This package contains the Core SDK. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/UserType.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | enum UserType { 18 | Normal = "normal", 19 | Server = "server", 20 | Unknown = "unknown" 21 | } 22 | 23 | export default UserType; 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/internal/DeviceFields.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | enum DeviceFields { 18 | DEVICE_ID = "deviceId", 19 | APP_ID = "appId", 20 | APP_VERSION = "appVersion", 21 | PLATFORM = "platform", 22 | PLATFORM_VERSION = "platformVersion", 23 | SDK_VERSION = "sdkVersion" 24 | } 25 | 26 | export default DeviceFields; 27 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/anonymous/AnonymousAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class AnonymousAuthProvider { 19 | public static TYPE = "anon-user"; 20 | public static DEFAULT_NAME = "anon-user"; 21 | 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/custom/CustomAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class CustomAuthProvider { 19 | 20 | public static TYPE = "custom-token"; 21 | public static DEFAULT_NAME = "custom-token"; 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/facebook/FacebookAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class FacebookAuthProvider { 19 | 20 | public static TYPE = "oauth2-facebook"; 21 | public static DEFAULT_NAME = "oauth2-facebook"; 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/function/FunctionAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class FunctionAuthProvider { 19 | 20 | public static TYPE = "custom-function"; 21 | public static DEFAULT_NAME = "custom-function"; 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/google/GoogleAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class GoogleAuthProvider { 19 | public static TYPE = "oauth2-google"; 20 | public static DEFAULT_NAME = "oauth2-google"; 21 | 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/internal/StitchAuthResponseCredential.ts: -------------------------------------------------------------------------------- 1 | import AuthInfo from "../../internal/AuthInfo"; 2 | import ProviderCapabilities from "../../ProviderCapabilities"; 3 | import StitchCredential from "../../StitchCredential"; 4 | 5 | export default class StitchAuthResponseCredential implements StitchCredential { 6 | /** 7 | * A `ProviderCapabilities` object describing the behavior of this credential when logging in. 8 | */ 9 | public providerCapabilities: ProviderCapabilities; 10 | 11 | /** 12 | * The contents of this credential as they will be passed to the Stitch server. 13 | */ 14 | public readonly material: { [key: string]: string }; 15 | 16 | /** 17 | * The contents of this credential as they will be 18 | * processed and stored 19 | */ 20 | public constructor( 21 | public readonly authInfo: AuthInfo, 22 | public readonly providerType: string, 23 | public readonly providerName: string, 24 | public readonly asLink: boolean // Whether or not this credential was for a link or login request. 25 | ) {} 26 | } 27 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/serverapikey/ServerApiKeyAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class ServerApiKeyAuthProvider { 19 | public static TYPE = "api-key"; 20 | public static DEFAULT_NAME = "api-key"; 21 | 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/userapikey/UserApiKeyAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class UserApiKeyAuthProvider { 19 | public static TYPE = "api-key"; 20 | public static DEFAULT_NAME = "api-key"; 21 | 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/auth/providers/userpass/UserPasswordAuthProvider.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class UserPasswordAuthProvider { 19 | public static TYPE = "local-userpass"; 20 | public static DEFAULT_NAME = "local-userpass"; 21 | 22 | private constructor() {} 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/common/Assertions.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class Assertions { 19 | /** 20 | * Throws an Error if the provided key does not exist in the provided object. 21 | */ 22 | public static keyPresent(key: string, object: any) { 23 | if (object[key] === undefined) { 24 | throw new Error(`expected ${key} to be present`); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/common/Codec.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export interface Decoder { 19 | decode(from: any): T; 20 | } 21 | 22 | /** @hidden */ 23 | export interface Encoder { 24 | encode(from: T): object; 25 | } 26 | 27 | /** @hidden */ 28 | export interface Codec extends Decoder, Encoder {} 29 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/common/mongodb-extjson.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | declare module "mongodb-extjson" { 18 | export interface Options { 19 | relaxed?: boolean; 20 | strict?: boolean; 21 | } 22 | 23 | export function parse(text: string, options?: Options); 24 | export function stringify( 25 | value: any[] | object, 26 | reducer?: ((key: string, value: any) => any) | Options, 27 | indents?: (string | number) | Options, 28 | options?: Options 29 | ); 30 | 31 | export let BSON; 32 | } 33 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/ContentTypes.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * @hidden 19 | * HTTP Content Types. 20 | */ 21 | export default class ContentTypes { 22 | public static readonly APPLICATION_JSON = "application/json"; 23 | public static readonly TEXT_EVENT_STREAM = "text/event-stream"; 24 | } 25 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/Event.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class Event { 19 | public static readonly MESSAGE_EVENT = "message"; 20 | 21 | public readonly eventName: string; 22 | public readonly data: string; 23 | 24 | public constructor( 25 | eventName: string, 26 | data: string 27 | ) { 28 | this.eventName = eventName; 29 | this.data = data; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/EventListener.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import Event from "./Event"; 18 | 19 | interface EventListener { 20 | onEvent(event: Event): void; 21 | } 22 | 23 | export default EventListener; 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/EventStream.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import Event from "./Event"; 18 | import EventListener from "./EventListener"; 19 | 20 | /** @hidden */ 21 | export default interface EventStream { 22 | nextEvent(): Promise; 23 | addListener(listener: EventListener): void; 24 | removeListener(listener: EventListener): void; 25 | isOpen(): boolean; 26 | open(): void; 27 | close(): void; 28 | } 29 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/Method.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | enum Method { 18 | GET = "GET", 19 | POST = "POST", 20 | PUT = "PUT", 21 | DELETE = "DELETE", 22 | HEAD = "HEAD", 23 | OPTIONS = "OPTIONS", 24 | TRACE = "TRACE", 25 | PATCH = "PATCH" 26 | } 27 | 28 | export default Method; 29 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/Response.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** @hidden */ 18 | export default class Response { 19 | public readonly headers: { [key: string]: string } = {}; 20 | 21 | constructor( 22 | headers: { [key: string]: string }, 23 | public readonly statusCode: number, 24 | public readonly body?: string 25 | ) { 26 | // Preprocess headers 27 | Object.keys(headers).map((key, index) => { 28 | this.headers[key.toLocaleLowerCase()] = headers[key]; 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/StitchRoutes.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | const BASE_ROUTE = "/api/client/v2.0"; 18 | 19 | function getAppRoute(clientAppId: string): string { 20 | return BASE_ROUTE + `/app/${clientAppId}`; 21 | } 22 | 23 | function getFunctionCallRoute(clientAppId: string): string { 24 | return getAppRoute(clientAppId) + "/functions/call"; 25 | } 26 | 27 | function getAppMetadataRoute(clientAppId: string): string { 28 | return getAppRoute(clientAppId) + "/location"; 29 | } 30 | 31 | export { BASE_ROUTE, getAppRoute, getFunctionCallRoute, getAppMetadataRoute }; 32 | -------------------------------------------------------------------------------- /packages/core/sdk/src/internal/net/Transport.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { BasicRequest } from "./BasicRequest"; 18 | import EventStream from "./EventStream"; 19 | import Response from "./Response"; 20 | 21 | interface Transport { 22 | roundTrip(request: BasicRequest): Promise; 23 | stream(request: BasicRequest, open: boolean, retryRequest?: () => Promise): Promise; 24 | } 25 | 26 | export default Transport; 27 | -------------------------------------------------------------------------------- /packages/core/sdk/src/services/internal/AuthRebindEvent.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AuthEvent, CoreStitchUser } from "../.."; 18 | import { RebindEvent, RebindEventType } from "./RebindEvent"; 19 | 20 | export default class AuthRebindEvent extends RebindEvent { 21 | public type: RebindEventType = RebindEventType.AUTH_EVENT; 22 | 23 | public event: AuthEvent; 24 | 25 | constructor(event: AuthEvent) { 26 | super(); 27 | this.event = event; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /packages/core/sdk/src/services/internal/RebindEvent.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export abstract class RebindEvent { 18 | public abstract type: RebindEventType 19 | } 20 | 21 | export enum RebindEventType { 22 | AUTH_EVENT 23 | } 24 | -------------------------------------------------------------------------------- /packages/core/sdk/src/services/internal/StitchServiceBinder.ts: -------------------------------------------------------------------------------- 1 | import { RebindEvent } from "./RebindEvent"; 2 | 3 | /** 4 | * Copyright 2018-present MongoDB, Inc. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | /** 20 | * An interface that allows any service of any type to bind to its 21 | * associated [[CoreStitchServiceClient]]. 22 | */ 23 | export default interface StitchServiceBinder { 24 | /** 25 | * Notify the binder that a rebind event has occurred. E.g. a change in the 26 | * active user. 27 | * 28 | * @param rebindEvent The rebind event that occurred. 29 | */ 30 | onRebindEvent(rebindEvent: RebindEvent) 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/sdk/src/services/internal/StitchServiceRoutes.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { getFunctionCallRoute } from "../../internal/net/StitchRoutes"; 18 | 19 | /** @hidden */ 20 | export default class StitchServiceRoutes { 21 | public readonly functionCallRoute: string; 22 | private readonly clientAppId: string; 23 | 24 | public constructor(clientAppId: string) { 25 | this.clientAppId = clientAppId; 26 | this.functionCallRoute = getFunctionCallRoute(clientAppId); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /packages/core/sdk/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/sdk/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/sdk/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/services/aws-s3/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-services-aws-s3 2 | 3 | This package contains the Core AWS S3 Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/services/aws-s3/src/AwsS3PutObjectResult.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The result of an AWS S3 put object request. 19 | * 20 | * @deprecated use AwsServiceClient instead. 21 | */ 22 | export interface AwsS3PutObjectResult { 23 | /** 24 | * @param location the location of the object. 25 | */ 26 | readonly location: string; 27 | } 28 | 29 | export class AwsS3PutObjectResult { 30 | constructor(public readonly location: string) {} 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/services/aws-s3/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsS3PutObjectResult } from "./AwsS3PutObjectResult"; 18 | import { AwsS3SignPolicyResult } from "./AwsS3SignPolicyResult"; 19 | import CoreAwsS3ServiceClient from "./internal/CoreAwsS3ServiceClient"; 20 | 21 | export { AwsS3PutObjectResult, AwsS3SignPolicyResult, CoreAwsS3ServiceClient }; 22 | -------------------------------------------------------------------------------- /packages/core/services/aws-s3/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/aws-s3/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/aws-s3/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/services/aws-ses/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-services-aws-ses 2 | 3 | This package contains the Core AWS SES Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/services/aws-ses/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import AwsSesSendResult from "./AwsSesSendResult"; 18 | import CoreAwsSesServiceClient from "./internal/CoreAwsSesServiceClient"; 19 | 20 | export { AwsSesSendResult, CoreAwsSesServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/core/services/aws-ses/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/aws-ses/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/aws-ses/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/services/aws/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-services-aws 2 | 3 | This package contains the Core AWS Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/services/aws/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsRequest } from "./AwsRequest"; 18 | import CoreAwsServiceClient from "./internal/CoreAwsServiceClient"; 19 | 20 | export { AwsRequest, CoreAwsServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/core/services/aws/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/aws/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/aws/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/services/http/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-services-http 2 | 3 | This package contains the Core HTTP Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/services/http/src/HttpMethod.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * The series of HTTP methods accepted by the HTTP service. 19 | */ 20 | export enum HttpMethod { 21 | GET, 22 | POST, 23 | PUT, 24 | DELETE, 25 | HEAD, 26 | PATCH 27 | } 28 | -------------------------------------------------------------------------------- /packages/core/services/http/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import HttpCookie from "./HttpCookie"; 18 | import { HttpMethod } from "./HttpMethod"; 19 | import { HttpRequest } from "./HttpRequest"; 20 | import HttpResponse from "./HttpResponse"; 21 | import CoreHttpServiceClient from "./internal/CoreHttpServiceClient"; 22 | 23 | export { 24 | HttpResponse, 25 | HttpCookie, 26 | HttpMethod, 27 | HttpRequest, 28 | CoreHttpServiceClient 29 | }; 30 | -------------------------------------------------------------------------------- /packages/core/services/http/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/http/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/http/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-services-mongodb-remote 2 | 3 | This package contains the Core Remote MongoDB Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/__tests__/CoreRemoteMongoClientUnitTests.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { getClient } from "./TestUtils"; 18 | 19 | describe("CoreRemoteMongoClient", () => { 20 | it("should get database", () => { 21 | const client = getClient(); 22 | const db1 = client.db("dbName1"); 23 | expect("dbName1").toEqual(db1.name); 24 | 25 | const db2 = client.db("dbName2"); 26 | expect("dbName2").toEqual(db2.name); 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/src/MongoNamespace.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export default interface MongoNamespace { 18 | readonly database: string; 19 | readonly collection: string; 20 | } 21 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/src/RemoteCountOptions.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | /** 19 | * Options to use when executing a `count` command on a 20 | * [[RemoteMongoCollection]]. 21 | * 22 | * @see 23 | * - [[RemoteMongoCollection]] 24 | * - [[RemoteMongoCollection.count]] 25 | */ 26 | export default interface RemoteCountOptions { 27 | /** 28 | * The maximum number of documents to count. 29 | */ 30 | readonly limit?: number; 31 | } 32 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/src/RemoteDeleteResult.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | /** 19 | * The result of a `delete` command on a {@link RemoteMongoCollection}. 20 | */ 21 | export default interface RemoteDeleteResult { 22 | /** 23 | * The number of documents that were deleted. 24 | */ 25 | readonly deletedCount: number; 26 | } 27 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/src/RemoteInsertOneResult.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | 18 | /** 19 | * The result of an `insertOne` command on a [[RemoteMongoCollection]]. 20 | * 21 | * @see 22 | * - [[RemoteMongoCollection]] 23 | * - [[RemoteMongoCollection.insertOne]] 24 | */ 25 | export default interface RemoteInsertOneResult { 26 | /** 27 | * The identifier that was inserted. 28 | * 29 | * If the document doesn't have an identifier, this value will be generated 30 | * by the Stitch server and added to the document before insertion. 31 | */ 32 | readonly insertedId: any; 33 | } 34 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/src/UpdateDescription.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export default interface UpdateDescription { 18 | readonly updatedFields: object; 19 | readonly removedFields: string[]; 20 | } 21 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/src/internal/CoreRemoteMongoClient.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { CoreStitchServiceClient } from "mongodb-stitch-core-sdk"; 18 | import { CoreRemoteMongoDatabase } from ".."; 19 | 20 | /** @hidden */ 21 | export default interface CoreRemoteMongoClient { 22 | readonly service: CoreStitchServiceClient; 23 | 24 | db(name: string): CoreRemoteMongoDatabase; 25 | } 26 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/mongodb-remote/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/services/twilio/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-services-twilio 2 | 3 | This package contains the Core Twilio Service. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/services/twilio/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import CoreTwilioServiceClient from "./CoreTwilioServiceClient"; 18 | 19 | export { CoreTwilioServiceClient }; 20 | -------------------------------------------------------------------------------- /packages/core/services/twilio/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/twilio/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/services/twilio/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/core/testutils/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-core-testutils 2 | 3 | This package is for internal test utilities for the MongoDB Stitch Core SDK components. 4 | 5 | **For more information on using this in the browser, see the [mongodb-stitch-browser-sdk](https://www.npmjs.com/package/mongodb-stitch-browser-sdk) package.** -------------------------------------------------------------------------------- /packages/core/testutils/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import BaseStitchIntTestHarness from "./BaseStitchIntTestHarness"; 18 | import JestEventSourceEventStream from "./JestEventSourceEventStream"; 19 | import JestFetchStreamTransport from "./JestFetchStreamTransport"; 20 | import JestFetchTransport from "./JestFetchTransport"; 21 | 22 | export { 23 | BaseStitchIntTestHarness, 24 | JestEventSourceEventStream, 25 | JestFetchTransport, 26 | JestFetchStreamTransport 27 | }; 28 | -------------------------------------------------------------------------------- /packages/core/testutils/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/testutils/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/core/testutils/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/core/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-core 2 | 3 | This package contains the React Native Core. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/core/src/core/auth/providers/internal/AuthProviderClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | StitchAuthRequestClient, 19 | StitchAuthRoutes, 20 | StitchRequestClient 21 | } from "mongodb-stitch-core-sdk"; 22 | 23 | interface AuthProviderClientFactory { 24 | getClient( 25 | authRequestClient: StitchAuthRequestClient, 26 | requestClient: StitchRequestClient, 27 | routes: StitchAuthRoutes 28 | ): ClientT; 29 | } 30 | 31 | export default AuthProviderClientFactory; 32 | -------------------------------------------------------------------------------- /packages/react-native/core/src/core/auth/providers/internal/NamedAuthProviderClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { StitchAuthRoutes, StitchRequestClient } from "mongodb-stitch-core-sdk"; 18 | 19 | interface NamedAuthProviderClientFactory { 20 | getNamedClient( 21 | providerName: string, 22 | requestClient: StitchRequestClient, 23 | routes: StitchAuthRoutes 24 | ): T; 25 | } 26 | 27 | export default NamedAuthProviderClientFactory; 28 | -------------------------------------------------------------------------------- /packages/react-native/core/src/core/internal/common/Version.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | const version = "@VERSION@"; 18 | export { version as default }; 19 | -------------------------------------------------------------------------------- /packages/react-native/core/src/services/internal/NamedServiceClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | CoreStitchServiceClient, 19 | StitchAppClientInfo 20 | } from "mongodb-stitch-core-sdk"; 21 | 22 | /** 23 | * An interface describing a class that can provide clients for a particular 24 | * named Stitch service. 25 | */ 26 | export default interface NamedServiceClientFactory { 27 | getNamedClient( 28 | service: CoreStitchServiceClient, 29 | client: StitchAppClientInfo 30 | ): T; 31 | } 32 | -------------------------------------------------------------------------------- /packages/react-native/core/src/services/internal/ServiceClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | CoreStitchServiceClient, 19 | StitchAppClientInfo 20 | } from "mongodb-stitch-core-sdk"; 21 | 22 | /** 23 | * An interface describing a class that can provide clients for a particular 24 | * Stitch service. 25 | */ 26 | export default interface ServiceClientFactory { 27 | getClient( 28 | service: CoreStitchServiceClient, 29 | client: StitchAppClientInfo 30 | ): T; 31 | } 32 | -------------------------------------------------------------------------------- /packages/react-native/core/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/core/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/core/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/coretest/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/coretest/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "__tests__/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/coretest/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/sdk/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export * from "mongodb-stitch-react-native-core"; 18 | export * from "mongodb-stitch-react-native-services-mongodb-remote"; 19 | -------------------------------------------------------------------------------- /packages/react-native/sdk/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/sdk/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/sdk/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-s3/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-s3/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-services-aws-s3 2 | 3 | This package contains the React Native AWS S3 Service. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/services/aws-s3/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | AwsS3PutObjectResult, 19 | AwsS3SignPolicyResult 20 | } from "mongodb-stitch-core-services-aws-s3"; 21 | import { AwsS3ServiceClient } from "./AwsS3ServiceClient"; 22 | 23 | export { AwsS3PutObjectResult, AwsS3SignPolicyResult, AwsS3ServiceClient }; 24 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-s3/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-s3/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-s3/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-ses/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-ses/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-services-aws-ses 2 | 3 | This package contains the React Native AWS SES Service. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/services/aws-ses/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsSesSendResult } from "mongodb-stitch-core-services-aws-ses"; 18 | import { AwsSesServiceClient } from "./AwsSesServiceClient"; 19 | 20 | export { AwsSesSendResult, AwsSesServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-ses/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-ses/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/aws-ses/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/services/aws/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/services/aws/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-services-aws 2 | 3 | This package contains the React Native AWS Service. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/services/aws/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsRequest } from "mongodb-stitch-core-services-aws"; 18 | import { AwsServiceClient } from "./AwsServiceClient"; 19 | 20 | export { AwsRequest, AwsServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/react-native/services/aws/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/aws/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/aws/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/services/http/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/services/http/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-services-http 2 | 3 | This package contains the React Native HTTP Service. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/services/http/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | HttpCookie, 19 | HttpMethod, 20 | HttpRequest, 21 | HttpResponse 22 | } from "mongodb-stitch-core-services-http"; 23 | import { HttpServiceClient } from "./HttpServiceClient"; 24 | 25 | export { HttpResponse, HttpCookie, HttpMethod, HttpRequest, HttpServiceClient }; 26 | -------------------------------------------------------------------------------- /packages/react-native/services/http/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/http/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/http/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/services/mongodb-remote/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/services/mongodb-remote/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-services-mongodb-remote 2 | 3 | This package contains the React Native Remote MongoDB Service. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/services/mongodb-remote/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/mongodb-remote/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/mongodb-remote/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/services/twilio/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["react-native"], 3 | "sourceMaps": "inline" 4 | } 5 | -------------------------------------------------------------------------------- /packages/react-native/services/twilio/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-services-twilio 2 | 3 | This package contains the React Native Twilio Service. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/services/twilio/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { TwilioServiceClient } from "./TwilioServiceClient"; 18 | 19 | export { TwilioServiceClient }; 20 | -------------------------------------------------------------------------------- /packages/react-native/services/twilio/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/twilio/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/services/twilio/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/react-native/testutils/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-react-native-testutils 2 | 3 | This package is for internal test utilities for the MongoDB Stitch React Native SDK components. 4 | 5 | **For more information on using this in a React Native app, see the [mongodb-stitch-react-native-sdk](https://www.npmjs.com/package/mongodb-stitch-react-native-sdk) package.** -------------------------------------------------------------------------------- /packages/react-native/testutils/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import BaseStitchRNIntTestHarness from "./BaseStitchRNIntTestHarness"; 18 | 19 | export { BaseStitchRNIntTestHarness }; 20 | -------------------------------------------------------------------------------- /packages/react-native/testutils/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/testutils/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/react-native/testutils/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/core/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-core 2 | 3 | This package contains the Server Core. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/core/src/core/auth/providers/internal/AuthProviderClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | StitchAuthRequestClient, 19 | StitchAuthRoutes, 20 | StitchRequestClient 21 | } from "mongodb-stitch-core-sdk"; 22 | 23 | interface AuthProviderClientFactory { 24 | getClient( 25 | authRequestClient: StitchAuthRequestClient, 26 | requestClient: StitchRequestClient, 27 | routes: StitchAuthRoutes 28 | ): ClientT; 29 | } 30 | 31 | export default AuthProviderClientFactory; 32 | -------------------------------------------------------------------------------- /packages/server/core/src/core/auth/providers/internal/NamedAuthProviderClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { StitchAuthRoutes, StitchRequestClient } from "mongodb-stitch-core-sdk"; 18 | 19 | interface NamedAuthProviderClientFactory { 20 | getNamedClient( 21 | providerName: string, 22 | requestClient: StitchRequestClient, 23 | routes: StitchAuthRoutes 24 | ): T; 25 | } 26 | 27 | export default NamedAuthProviderClientFactory; 28 | -------------------------------------------------------------------------------- /packages/server/core/src/core/internal/common/Version.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | const version = "@VERSION@"; 18 | export { version as default }; 19 | -------------------------------------------------------------------------------- /packages/server/core/src/services/internal/NamedServiceClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | CoreStitchServiceClient, 19 | StitchAppClientInfo 20 | } from "mongodb-stitch-core-sdk"; 21 | 22 | /** 23 | * An interface describing a class that can provide clients for a particular 24 | * named Stitch service. 25 | */ 26 | export default interface NamedServiceClientFactory { 27 | getNamedClient( 28 | service: CoreStitchServiceClient, 29 | client: StitchAppClientInfo 30 | ): T; 31 | } 32 | -------------------------------------------------------------------------------- /packages/server/core/src/services/internal/ServiceClientFactory.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | CoreStitchServiceClient, 19 | StitchAppClientInfo 20 | } from "mongodb-stitch-core-sdk"; 21 | 22 | /** 23 | * An interface describing a class that can provide clients for a particular 24 | * Stitch service. 25 | */ 26 | export default interface ServiceClientFactory { 27 | getClient(service: CoreStitchServiceClient, client: StitchAppClientInfo): T; 28 | } 29 | -------------------------------------------------------------------------------- /packages/server/core/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/core/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/core/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/coretest/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "__tests__/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/coretest/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/examples/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongodb-stitch-server-examples-basic", 3 | "version": "4.9.0", 4 | "description": "This is an example JS application using the stitch-server module", 5 | "private": true, 6 | "main": "index.js", 7 | "dependencies": { 8 | "mongodb-stitch-server-sdk": "^4.9.0" 9 | }, 10 | "keywords": [ 11 | "mongodb", 12 | "aws", 13 | "twilio", 14 | "http", 15 | "mobile", 16 | "serverless", 17 | "stitch", 18 | "atlas" 19 | ], 20 | "homepage": "https://github.com/mongodb/stitch-js-sdk#readme", 21 | "repository": "mongodb/stitch-js-sdk", 22 | "author": "MongoDB Inc.", 23 | "contributors": [ 24 | { 25 | "name": "Adam Chelminski", 26 | "email": "adam.chelminski@mongodb.com" 27 | }, 28 | { 29 | "name": "Eric Daniels", 30 | "email": "eric.daniels@mongodb.com" 31 | }, 32 | { 33 | "name": "Jason Flax", 34 | "email": "jason.flax@mongodb.com" 35 | }, 36 | { 37 | "name": "Doug Kaminsky", 38 | "email": "douglas.kaminsky@mongodb.com" 39 | }, 40 | { 41 | "name": "Tyler Kaye", 42 | "email": "tyler.kaye@mongodb.com" 43 | } 44 | ], 45 | "license": "Apache-2.0" 46 | } 47 | -------------------------------------------------------------------------------- /packages/server/examples/basic/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | const { 18 | Stitch, 19 | AnonymousCredential, 20 | } = require('mongodb-stitch-server-sdk'); 21 | 22 | const client = Stitch.initializeDefaultAppClient(''); 23 | client.auth.loginWithCredential(new AnonymousCredential()).then(user => { 24 | console.log(user); 25 | client.close(); 26 | }).catch(err => { 27 | console.log(err); 28 | client.close(); 29 | }) 30 | -------------------------------------------------------------------------------- /packages/server/sdk/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | export * from "mongodb-stitch-server-core"; 18 | export * from "mongodb-stitch-server-services-mongodb-remote"; 19 | -------------------------------------------------------------------------------- /packages/server/sdk/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/sdk/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/sdk/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/services/aws-s3/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-services-aws-s3 2 | 3 | This package contains the Server AWS S3 Service. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/services/aws-s3/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | AwsS3PutObjectResult, 19 | AwsS3SignPolicyResult 20 | } from "mongodb-stitch-core-services-aws-s3"; 21 | import { AwsS3ServiceClient } from "./AwsS3ServiceClient"; 22 | 23 | export { AwsS3PutObjectResult, AwsS3SignPolicyResult, AwsS3ServiceClient }; 24 | -------------------------------------------------------------------------------- /packages/server/services/aws-s3/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/aws-s3/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/aws-s3/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/services/aws-ses/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-services-aws-ses 2 | 3 | This package contains the Server AWS SES Service. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/services/aws-ses/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsSesSendResult } from "mongodb-stitch-core-services-aws-ses"; 18 | import { AwsSesServiceClient } from "./AwsSesServiceClient"; 19 | 20 | export { AwsSesSendResult, AwsSesServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/server/services/aws-ses/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/aws-ses/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/aws-ses/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/services/aws/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-services-aws 2 | 3 | This package contains the Server AWS Service. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/services/aws/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { AwsRequest } from "mongodb-stitch-core-services-aws"; 18 | import { AwsServiceClient } from "./AwsServiceClient"; 19 | 20 | export { AwsRequest, AwsServiceClient }; 21 | -------------------------------------------------------------------------------- /packages/server/services/aws/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/aws/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/aws/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/services/http/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-services-http 2 | 3 | This package contains the Server HTTP Service. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/services/http/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { 18 | HttpCookie, 19 | HttpMethod, 20 | HttpRequest, 21 | HttpResponse 22 | } from "mongodb-stitch-core-services-http"; 23 | import { HttpServiceClient } from "./HttpServiceClient"; 24 | 25 | export { HttpResponse, HttpCookie, HttpMethod, HttpRequest, HttpServiceClient }; 26 | -------------------------------------------------------------------------------- /packages/server/services/http/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/http/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/http/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/services/mongodb-remote/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-services-mongodb-remote 2 | 3 | This package contains the Server Remote MongoDB Service. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/services/mongodb-remote/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/mongodb-remote/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/mongodb-remote/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/services/twilio/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-services-twilio 2 | 3 | This package contains the Server Twilio Service. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/services/twilio/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import { TwilioServiceClient } from "./TwilioServiceClient"; 18 | 19 | export { TwilioServiceClient }; 20 | -------------------------------------------------------------------------------- /packages/server/services/twilio/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/twilio/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/services/twilio/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /packages/server/testutils/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-stitch-server-testutils 2 | 3 | This package is for internal test utilities for the MongoDB Stitch Server SDK components. 4 | 5 | **For more information on using this on a server, see the [mongodb-stitch-server-sdk](https://www.npmjs.com/package/mongodb-stitch-server-sdk) package.** -------------------------------------------------------------------------------- /packages/server/testutils/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | import BaseStitchServerIntTestHarness from "./BaseStitchServerIntTestHarness"; 18 | 19 | export { BaseStitchServerIntTestHarness }; 20 | -------------------------------------------------------------------------------- /packages/server/testutils/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.cjs.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/testutils/tsconfig.esm.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../config/tsconfig.esm.base.json", 3 | "compilerOptions": { 4 | "outDir": "dist/esm" 5 | }, 6 | "include": [ 7 | "src/**/*" 8 | ], 9 | "exclude": [ 10 | "./node_modules/**", 11 | "./dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /packages/server/testutils/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ "../../../config/tslint.base.json" ] 3 | } 4 | -------------------------------------------------------------------------------- /typedoc-theme/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | .sass-cache 4 | .tscache 5 | .baseDir.js 6 | .baseDir.ts 7 | node_modules 8 | npm-debug.log 9 | etc 10 | bin 11 | 12 | -------------------------------------------------------------------------------- /typedoc-theme/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pushd "$(dirname "$0")" > /dev/null 4 | 5 | # Check the cache to see whether the generated theme is up-to-date. 6 | 7 | CHECKSUM_FILE=./bin/sourceChecksum 8 | CHECKSUM= 9 | 10 | function calculate_checksum() { 11 | CHECKSUM=`find ./src gruntfile.js package.json -type f | xargs md5 | md5` 12 | } 13 | 14 | function update_required() { 15 | if [ ! -f $CHECKSUM_FILE ]; then 16 | # Checksum file does not exist yet, which implies 17 | # the theme has not been generated yet. 18 | return 1 19 | fi 20 | 21 | calculate_checksum 22 | 23 | if [[ $(< $CHECKSUM_FILE) != $CHECKSUM ]]; then 24 | return 1 25 | fi 26 | return 0 27 | } 28 | 29 | update_required 30 | if [ $? == 0 ]; then 31 | echo "TypeDoc theme up-to-date." 32 | exit 0 33 | fi 34 | 35 | # Generate the theme and update the cache. 36 | echo "Generating TypeDoc theme..." 37 | set -e 38 | npm install 39 | grunt --gruntfile gruntfile.js 40 | calculate_checksum 41 | echo -n $CHECKSUM > $CHECKSUM_FILE 42 | -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdita.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdita.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdita.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdita.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdita.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdita.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdlig.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdlig.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdlig.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdlig.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdlig.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdlig.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdligcnd.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdligcnd.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdligcnd.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdligcnd.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdligcnd.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdligcnd.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdligita.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdligita.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdligita.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdligita.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdligita.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdligita.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdmed.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdmed.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdmed.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdmed.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdmed.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdmed.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdmedita.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdmedita.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdmedita.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdmedita.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdmedita.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdmedita.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdreg.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdreg.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdreg.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdreg.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/akzidgrostdreg.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/akzidgrostdreg.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-brands-400.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-brands-400.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-regular-400.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-regular-400.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-solid-900.eot -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-solid-900.woff -------------------------------------------------------------------------------- /typedoc-theme/fonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/fonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /typedoc-theme/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "typedoc-theme", 3 | "version": "1.0.0", 4 | "description": "A custom TypeDoc theme.", 5 | "scripts": { 6 | "build": "./build.sh" 7 | }, 8 | "author": "MongoDB Inc.", 9 | "contributors": [ 10 | { 11 | "name": "Chris Bush", 12 | "email": "chris.bush@mongodb.com" 13 | } 14 | ], 15 | "license": "Apache-2.0", 16 | "devDependencies": { 17 | "grunt": "^1.0.3", 18 | "grunt-autoprefixer": "^3.0.4", 19 | "grunt-contrib-copy": "^1.0.0", 20 | "grunt-contrib-sass": "^1.0.0", 21 | "grunt-curl": "^2.5.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/_constants.sass: -------------------------------------------------------------------------------- 1 | // Fonts 2 | // 3 | $FONT_FAMILY: 'Akzidenz', sans-serif 4 | $FONT_FAMILY_MONO: 'Source Code Pro', monospace 5 | 6 | $FONT_SIZE: 12pt 7 | $FONT_SIZE_MONO: 11pt 8 | 9 | $LINE_HEIGHT: 1.333em 10 | 11 | 12 | // Colors 13 | // 14 | $COLOR_BACKGROUND: #fdfdfd 15 | $COLOR_TEXT: #222 16 | $COLOR_TEXT_ASIDE: #808080 17 | $COLOR_LINK: #006cbc 18 | 19 | $COLOR_MENU_DIVIDER: #eee 20 | $COLOR_MENU_DIVIDER_FOCUS: #000 21 | $COLOR_MENU_LABEL: #808080 22 | 23 | $COLOR_PANEL: #fff 24 | $COLOR_PANEL_DIVIDER: #eee 25 | 26 | $COLOR_COMMENT_TAG: #808080 27 | $COLOR_COMMENT_TAG_TEXT: #fff 28 | 29 | $COLOR_CODE_BACKGROUND: url(https://media.mongodb.org/code-block-bg@2x.png) 0 0/12px 12px #f5f6f7 30 | 31 | $COLOR_TS: #9600ff 32 | $COLOR_TS_INTERFACE: #7da01f 33 | $COLOR_TS_ENUM: #cc9900 34 | $COLOR_TS_CLASS: #006cbc 35 | $COLOR_TS_PRIVATE: #808080 36 | 37 | $TOOLBAR_COLOR: #fff 38 | $TOOLBAR_TEXT_COLOR: #333 39 | $TOOLBAR_HEIGHT: 40px -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/_comment.sass: -------------------------------------------------------------------------------- 1 | // Displays all regular comment tags 2 | // 3 | //
4 | //
see
5 | //

Dispatcher.EVENT_BEGIN

6 | //
see
7 | //

Dispatcher.EVENT_BEGIN_RESOLVE

8 | //
see
9 | //

Dispatcher.EVENT_END_RESOLVE

10 | //
11 | // 12 | dl.tsd-comment-tags 13 | overflow: hidden 14 | 15 | dt 16 | float: left 17 | padding: 1px 5px 18 | margin: 0 10px 0 0 19 | border-radius: 4px 20 | border: 1px solid $COLOR_COMMENT_TAG 21 | color: $COLOR_COMMENT_TAG 22 | font-size: 0.8em 23 | font-weight: normal 24 | 25 | dd 26 | margin: 0 0 10px 0 27 | 28 | &:before, &:after 29 | display: table 30 | content: " " 31 | pre, &:after 32 | clear: both 33 | 34 | p 35 | margin: 0 36 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/_footer.sass: -------------------------------------------------------------------------------- 1 | footer 2 | border-top: 1px solid $COLOR_PANEL_DIVIDER 3 | background-color: $COLOR_PANEL 4 | 5 | &.with-border-bottom 6 | border-bottom: 1px solid $COLOR_PANEL_DIVIDER 7 | 8 | .tsd-legend-group 9 | font-size: 0 10 | 11 | .tsd-legend 12 | display: inline-block 13 | width: 25% 14 | padding: 0 15 | font-size: $FONT_SIZE 16 | list-style: none 17 | line-height: $LINE_HEIGHT 18 | vertical-align: top 19 | 20 | +size-xs-sm 21 | width: 50% -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/_hierarchy.sass: -------------------------------------------------------------------------------- 1 | // Displays the type hierarchy 2 | // 3 | //
    4 | //
  • 5 | // Event 6 | // 15 | //
  • 16 | //
17 | // 18 | .tsd-hierarchy 19 | list-style: square 20 | padding: 0 0 0 20px 21 | margin: 0 22 | 23 | .target 24 | font-weight: bold 25 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/_images.sass: -------------------------------------------------------------------------------- 1 | // fixes issue with images in readme 2 | img 3 | max-width: 100% 4 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/_member.sass: -------------------------------------------------------------------------------- 1 | .tsd-flag 2 | display: inline-block 3 | padding: 1px 5px 4 | border-radius: 4px 5 | color: $COLOR_COMMENT_TAG_TEXT 6 | background-color: $COLOR_COMMENT_TAG 7 | text-indent: 0 8 | font-size: $FONT_SIZE_MONO 9 | font-weight: normal 10 | 11 | .tsd-anchor 12 | position: absolute 13 | top: -100px 14 | 15 | .tsd-member 16 | position: relative 17 | 18 | .tsd-anchor + h3 19 | margin-top: 0 20 | margin-bottom: 0 21 | border-bottom: none 22 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/_sources.sass: -------------------------------------------------------------------------------- 1 | // Displays the source and inheritance information 2 | // 3 | // 9 | // 10 | .tsd-sources 11 | font-size: $FONT_SIZE_MONO 12 | color: $COLOR_TEXT_ASIDE 13 | margin: 0 0 1em 0 14 | 15 | a 16 | color: $COLOR_TEXT_ASIDE 17 | text-decoration: underline 18 | 19 | ul, p 20 | margin: 0 !important 21 | 22 | ul 23 | list-style: none 24 | padding: 0 -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/elements/links.scss: -------------------------------------------------------------------------------- 1 | @import "../vendors/fontawesome/fontawesome.scss"; 2 | @import "../vendors/fontawesome/solid.scss"; 3 | 4 | a[href^="https://"]:not([href^="https://gitter.im"]):after { 5 | font-family: 'Font Awesome 5 Free'; 6 | content: fa-content(" " $fa-var-external-link-alt); 7 | font-size: small; 8 | } 9 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/layouts/_minimal.sass: -------------------------------------------------------------------------------- 1 | html.minimal 2 | .container 3 | margin: 0 4 | 5 | .container-main 6 | padding-top: 50px 7 | padding-bottom: 0 8 | 9 | .content-wrap 10 | padding-left: 300px 11 | 12 | .tsd-navigation 13 | position: fixed !important 14 | overflow: auto 15 | -webkit-overflow-scrolling: touch 16 | overflow-scrolling: touch 17 | box-sizing: border-box 18 | z-index: 1 19 | left: 0 20 | top: 40px 21 | bottom: 0 22 | width: 300px 23 | padding: 20px 24 | margin: 0 25 | 26 | .tsd-member .tsd-member 27 | margin-left: 0 28 | 29 | .tsd-page-toolbar 30 | position: fixed 31 | z-index: 2 32 | 33 | #tsd-filter .tsd-filter-group 34 | right: 0 35 | transform: none 36 | 37 | footer 38 | background-color: transparent 39 | 40 | .container 41 | padding: 0 42 | 43 | .tsd-generator 44 | padding: 0 45 | 46 | +size-xs-sm 47 | .tsd-navigation 48 | display: none 49 | .content-wrap 50 | padding-left: 0 51 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/main.sass: -------------------------------------------------------------------------------- 1 | @import constants 2 | @import url(fonts.css) 3 | @import url(colors.css) 4 | @import url(base.css) 5 | @import url(code-buttons.css) 6 | 7 | @import vendors/fontawesome/fontawesome.scss 8 | @import vendors/fontawesome/solid.scss 9 | @import vendors/normalize 10 | @import vendors/highlight.js 11 | 12 | @import setup/mixins 13 | @import setup/grid 14 | @import setup/icons 15 | @import setup/animations 16 | @import setup/typography 17 | 18 | @import layouts/default 19 | @import layouts/minimal 20 | 21 | @import elements/comment 22 | @import elements/filter 23 | @import elements/footer 24 | @import elements/hierarchy 25 | @import elements/index 26 | @import elements/member 27 | @import elements/navigation 28 | @import elements/panel 29 | @import elements/search 30 | @import elements/signatures 31 | @import elements/sources 32 | @import elements/toolbar 33 | @import elements/images 34 | @import elements/links.scss 35 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/setup/_animations.sass: -------------------------------------------------------------------------------- 1 | .no-transition 2 | transition: none !important 3 | 4 | @keyframes fade-in 5 | from 6 | opacity: 0 7 | to 8 | opacity: 1 9 | 10 | @keyframes fade-out 11 | from 12 | opacity: 1 13 | visibility: visible 14 | to 15 | opacity: 0 16 | 17 | @keyframes fade-in-delayed 18 | 0% 19 | opacity: 0 20 | 33% 21 | opacity: 0 22 | 100% 23 | opacity: 1 24 | 25 | @keyframes fade-out-delayed 26 | 0% 27 | opacity: 1 28 | visibility: visible 29 | 66% 30 | opacity: 0 31 | 100% 32 | opacity: 0 33 | 34 | @keyframes shift-to-left 35 | from 36 | transform: translate(0,0) 37 | to 38 | transform: translate(-25%,0) 39 | 40 | @keyframes unshift-to-left 41 | from 42 | transform: translate(-25%,0) 43 | to 44 | transform: translate(0,0) 45 | 46 | @keyframes pop-in-from-right 47 | from 48 | transform: translate(100%,0) 49 | to 50 | transform: translate(0,0) 51 | 52 | @keyframes pop-out-to-right 53 | from 54 | transform: translate(0,0) 55 | visibility: visible 56 | to 57 | transform: translate(100%,0) -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/setup/_grid.sass: -------------------------------------------------------------------------------- 1 | =size-xs 2 | @media (max-width: 640px) 3 | & 4 | @content 5 | 6 | =size-sm 7 | @media (min-width: 641px) and (max-width: 900px) 8 | & 9 | @content 10 | 11 | =size-md 12 | @media (min-width: 901px) and (max-width: 1024px) 13 | & 14 | @content 15 | 16 | =size-lg 17 | @media (min-width: 1025px) 18 | & 19 | @content 20 | 21 | =size-xs-sm 22 | @media (max-width: 900px) 23 | & 24 | @content 25 | 26 | =size-md-lg 27 | @media (min-width: 901px) 28 | & 29 | @content 30 | 31 | .container 32 | max-width: 1200px 33 | margin: 0 auto 34 | padding: 0 40px 35 | 36 | +size-xs 37 | padding: 0 20px 38 | 39 | .container-main 40 | padding-bottom: 200px 41 | 42 | .row 43 | +clearfix 44 | position: relative 45 | margin: 0 -10px 46 | 47 | .col 48 | @extend %prevent-children-margin 49 | box-sizing: border-box 50 | float: left 51 | padding: 0 10px 52 | 53 | @for $width from 1 to 12 54 | .col-#{$width} 55 | @extend .col 56 | width: $width / 12 * 100% 57 | 58 | .offset-#{$width} 59 | margin-left: $width / 12 * 100% -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/setup/_mixins.sass: -------------------------------------------------------------------------------- 1 | @mixin vendors($property, $value...) 2 | -webkit-#{$property}: $value 3 | -moz-#{$property}: $value 4 | -ms-#{$property}: $value 5 | -o-#{$property}: $value 6 | #{$property}: $value 7 | 8 | @mixin clearfix 9 | &:after 10 | visibility: hidden 11 | display: block 12 | content: "" 13 | clear: both 14 | height: 0 15 | 16 | @mixin retina 17 | @media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) 18 | & 19 | @content 20 | 21 | %prevent-children-margin 22 | > :first-child, 23 | > :first-child > :first-child, 24 | > :first-child > :first-child > :first-child 25 | margin-top: 0 26 | 27 | > :last-child, 28 | > :last-child > :last-child, 29 | > :last-child > :last-child > :last-child 30 | margin-bottom: 0 31 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/setup/_typography.sass: -------------------------------------------------------------------------------- 1 | body 2 | background: $COLOR_BACKGROUND 3 | font-family: $FONT_FAMILY 4 | font-size: $FONT_SIZE 5 | color: $COLOR_TEXT 6 | 7 | a 8 | color: $COLOR_LINK 9 | text-decoration: none 10 | 11 | &:hover 12 | text-decoration: underline 13 | 14 | code, pre 15 | font-family: $FONT_FAMILY_MONO 16 | padding: 0.2em 17 | margin: 0 18 | font-size: $FONT_SIZE_MONO 19 | background: $COLOR_CODE_BACKGROUND 20 | 21 | pre 22 | padding: 15pt 23 | border-left: 4pt solid rgb(73, 71, 71) 24 | 25 | code 26 | padding: 0 27 | font-size: 100% 28 | background: transparent 29 | 30 | 31 | 32 | 33 | .tsd-typography 34 | line-height: $LINE_HEIGHT 35 | 36 | ul 37 | list-style: square 38 | padding: 0 0 0 20px 39 | margin: 0 40 | 41 | h4, h5, h6 42 | font-size: 1em 43 | 44 | h5, h6 45 | font-weight: normal 46 | 47 | p, ul, ol 48 | margin: 1em 0 -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_animated.scss: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | animation: fa-spin 2s infinite linear; 6 | } 7 | 8 | .#{$fa-css-prefix}-pulse { 9 | animation: fa-spin 1s infinite steps(8); 10 | } 11 | 12 | @keyframes fa-spin { 13 | 0% { 14 | transform: rotate(0deg); 15 | } 16 | 17 | 100% { 18 | transform: rotate(360deg); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | border: solid .08em $fa-border-color; 6 | border-radius: .1em; 7 | padding: .2em .25em .15em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix}, 14 | .fas, 15 | .far, 16 | .fal, 17 | .fab { 18 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 19 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 20 | } 21 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}, 5 | .fas, 6 | .far, 7 | .fal, 8 | .fab { 9 | -moz-osx-font-smoothing: grayscale; 10 | -webkit-font-smoothing: antialiased; 11 | display: inline-block; 12 | font-style: normal; 13 | font-variant: normal; 14 | text-rendering: auto; 15 | line-height: 1; 16 | } 17 | 18 | %fa-icon { 19 | @include fa-icon; 20 | } 21 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | text-align: center; 5 | width: $fa-fw-width; 6 | } 7 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | // makes the font 33% larger relative to the icon container 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -.0667em; 9 | } 10 | 11 | .#{$fa-css-prefix}-xs { 12 | font-size: .75em; 13 | } 14 | 15 | .#{$fa-css-prefix}-sm { 16 | font-size: .875em; 17 | } 18 | 19 | @for $i from 1 through 10 { 20 | .#{$fa-css-prefix}-#{$i}x { 21 | font-size: $i * 1em; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | list-style-type: none; 6 | margin-left: $fa-li-width * 5/4; 7 | padding-left: 0; 8 | 9 | > li { position: relative; } 10 | } 11 | 12 | .#{$fa-css-prefix}-li { 13 | left: -$fa-li-width; 14 | position: absolute; 15 | text-align: center; 16 | width: $fa-li-width; 17 | line-height: inherit; 18 | } 19 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); } 11 | 12 | // Hook for IE8-9 13 | // ------------------------- 14 | 15 | :root { 16 | .#{$fa-css-prefix}-rotate-90, 17 | .#{$fa-css-prefix}-rotate-180, 18 | .#{$fa-css-prefix}-rotate-270, 19 | .#{$fa-css-prefix}-flip-horizontal, 20 | .#{$fa-css-prefix}-flip-vertical { 21 | filter: none; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only; } 5 | .sr-only-focusable { @include sr-only-focusable; } 6 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | display: inline-block; 6 | height: 2em; 7 | line-height: 2em; 8 | position: relative; 9 | vertical-align: middle; 10 | width: ($fa-fw-width*2); 11 | } 12 | 13 | .#{$fa-css-prefix}-stack-1x, 14 | .#{$fa-css-prefix}-stack-2x { 15 | left: 0; 16 | position: absolute; 17 | text-align: center; 18 | width: 100%; 19 | } 20 | 21 | .#{$fa-css-prefix}-stack-1x { 22 | line-height: inherit; 23 | } 24 | 25 | .#{$fa-css-prefix}-stack-2x { 26 | font-size: 2em; 27 | } 28 | 29 | .#{$fa-css-prefix}-inverse { 30 | color: $fa-inverse; 31 | } 32 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/brands.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | @font-face { 4 | font-family: 'Font Awesome 5 Brands'; 5 | font-style: normal; 6 | font-weight: normal; 7 | src: url('#{$fa-font-path}/fa-brands-400.eot'); 8 | src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'), 9 | url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'), 10 | url('#{$fa-font-path}/fa-brands-400.woff') format('woff'), 11 | url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'), 12 | url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg'); 13 | } 14 | 15 | .fab { 16 | font-family: 'Font Awesome 5 Brands'; 17 | } 18 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/fontawesome.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | @import 'mixins'; 3 | @import 'core'; 4 | @import 'larger'; 5 | @import 'fixed-width'; 6 | @import 'list'; 7 | @import 'bordered-pulled'; 8 | @import 'animated'; 9 | @import 'rotated-flipped'; 10 | @import 'stacked'; 11 | @import 'icons'; 12 | @import 'screen-reader'; 13 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/regular.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | @font-face { 4 | font-family: 'Font Awesome 5 Free'; 5 | font-style: normal; 6 | font-weight: 400; 7 | src: url('#{$fa-font-path}/fa-regular-400.eot'); 8 | src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'), 9 | url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'), 10 | url('#{$fa-font-path}/fa-regular-400.woff') format('woff'), 11 | url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'), 12 | url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg'); 13 | } 14 | 15 | .far { 16 | font-family: 'Font Awesome 5 Free'; 17 | font-weight: 400; 18 | } 19 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/solid.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | 3 | @font-face { 4 | font-family: 'Font Awesome 5 Free'; 5 | font-style: normal; 6 | font-weight: 900; 7 | src: url('#{$fa-font-path}/fa-solid-900.eot'); 8 | src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'), 9 | url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'), 10 | url('#{$fa-font-path}/fa-solid-900.woff') format('woff'), 11 | url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'), 12 | url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg'); 13 | } 14 | 15 | .fa, 16 | .fas { 17 | font-family: 'Font Awesome 5 Free'; 18 | font-weight: 900; 19 | } 20 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/css/vendors/fontawesome/v4-shims.scss: -------------------------------------------------------------------------------- 1 | @import 'variables'; 2 | @import 'shims'; 3 | -------------------------------------------------------------------------------- /typedoc-theme/src/assets/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/src/assets/images/icons.png -------------------------------------------------------------------------------- /typedoc-theme/src/assets/images/icons.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/src/assets/images/icons.psd -------------------------------------------------------------------------------- /typedoc-theme/src/assets/images/icons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/src/assets/images/icons@2x.png -------------------------------------------------------------------------------- /typedoc-theme/src/assets/images/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/src/assets/images/widgets.png -------------------------------------------------------------------------------- /typedoc-theme/src/assets/images/widgets.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/src/assets/images/widgets.psd -------------------------------------------------------------------------------- /typedoc-theme/src/assets/images/widgets@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-js-sdk/8cbe5073e1896fc80a94af13312a52f69b53a7c0/typedoc-theme/src/assets/images/widgets@2x.png -------------------------------------------------------------------------------- /typedoc-theme/src/assets/js/src/~bootstrap.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | module typedoc 4 | { 5 | export var app:Application = new Application(); 6 | } -------------------------------------------------------------------------------- /typedoc-theme/src/partials/analytics.hbs: -------------------------------------------------------------------------------- 1 | {{#if settings.gaID}} 2 | 11 | {{/if}} 12 | -------------------------------------------------------------------------------- /typedoc-theme/src/partials/comment.hbs: -------------------------------------------------------------------------------- 1 | {{#with comment}} 2 | {{#if hasVisibleComponent}} 3 |
4 | {{#if ../hasOwnDocument}} 5 |

{{{../name}}}

6 | {{/if}} 7 | {{#if shortText}} 8 |
9 | {{#markdown}}{{{shortText}}}{{/markdown}} 10 |
11 | {{/if}} 12 | {{#if text}} 13 | {{#markdown}}{{{text}}}{{/markdown}} 14 | {{/if}} 15 | {{#with tagsByName}} 16 | {{#if note}} 17 | {{> notes}} 18 | {{/if}} 19 | {{#if example}} 20 | {{> examples}} 21 | {{/if}} 22 | {{#if see}} 23 | {{> see-also}} 24 | {{/if}} 25 | {{/with}} 26 |
27 | {{/if}} 28 | {{/with}} 29 | -------------------------------------------------------------------------------- /typedoc-theme/src/partials/examples.hbs: -------------------------------------------------------------------------------- 1 | {{#with example}} 2 |

{{prettyName}}

3 | {{#each tags}} 4 | {{#markdown}}{{{text}}}{{/markdown}} 5 | {{/each}} 6 | {{/with}} 7 | -------------------------------------------------------------------------------- /typedoc-theme/src/partials/member.hbs: -------------------------------------------------------------------------------- 1 |
2 | 3 | {{#if name}} 4 |

{{#each flags}}{{this}} {{/each}}{{{wbr name}}}

5 | {{/if}} 6 | 7 | {{#if signatures}} 8 | {{> member.signatures}} 9 | {{else}} 10 | {{> member.declaration}} 11 | {{/if}} 12 | 13 | {{#unless isContainer}} 14 | {{#each groups}} 15 | {{#each children}} 16 | {{#unless hasOwnDocument}} 17 | {{> member}} 18 | {{/unless}} 19 | {{/each}} 20 | {{/each}} 21 | {{/unless}} 22 |
23 | 24 | {{#if isContainer}} 25 | {{> index}} 26 | {{> members}} 27 | {{/if}} 28 | -------------------------------------------------------------------------------- /typedoc-theme/src/partials/notes.hbs: -------------------------------------------------------------------------------- 1 | {{#with note}} 2 | {{#each tags}} 3 |

Note

4 |

{{#markdown}}{{{text}}}{{/markdown}}

5 | {{/each}} 6 | {{/with}} 7 | -------------------------------------------------------------------------------- /typedoc-theme/src/partials/rating-panel.hbs: -------------------------------------------------------------------------------- 1 | {{#if settings.gaID}} 2 |
3 | 4 | 5 | {{/if}} 6 | -------------------------------------------------------------------------------- /typedoc-theme/src/partials/see-also.hbs: -------------------------------------------------------------------------------- 1 | {{#with see}} 2 |

{{prettyName}}

3 | {{#each tags}} 4 | {{#markdown}}{{{text}}}{{/markdown}} 5 | {{/each}} 6 | {{/with}} 7 | -------------------------------------------------------------------------------- /typedoc-theme/src/templates/index.hbs: -------------------------------------------------------------------------------- 1 | {{#with model}} 2 | {{> comment}} 3 | {{/with}} 4 | 5 | {{#if model.typeHierarchy}} 6 |
7 |

Hierarchy

8 | {{#with model.typeHierarchy}}{{> hierarchy}}{{/with}} 9 |
10 | {{/if}} 11 | 12 | {{#with model}} 13 |
14 | {{> index}} 15 | {{> members}} 16 | {{/with}} --------------------------------------------------------------------------------