{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.6.2",
    "schemaVersion": 1003,
    "oldestForwardsCompatibleVersion": 1001
  },
  "kind": "Package",
  "canonicalReference": "@loopback/repository-tests!",
  "docComment": "",
  "name": "@loopback/repository-tests",
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@loopback/repository-tests!",
      "name": "",
      "members": [
        {
          "kind": "Interface",
          "canonicalReference": "@loopback/repository-tests!CrudFeatures:interface",
          "docComment": "/**\n * List of flags describing behavior specific to different connectors and repository implementations. These flags are used by the test suite to tweak assertions and skip tests for scenarios not supported by some implementations.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface CrudFeatures "
            }
          ],
          "releaseTag": "Public",
          "name": "CrudFeatures",
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures#emptyValue:member",
              "docComment": "/**\n * The value used by the database to store properties set to `undefined`. Typically, SQL databases store both `undefined` and `null` as `null`.\n *\n * Default: `undefined`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "emptyValue: "
                },
                {
                  "kind": "Content",
                  "text": "undefined | null"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "emptyValue",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures#freeFormProperties:member",
              "docComment": "/**\n * Does the database (or the connector) require a fixed schema, or can it support additional (free-form) properties? SQL databases typically don't support free-form properties.\n *\n * Default: `true`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "freeFormProperties: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "freeFormProperties",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures#hasRevisionToken:member",
              "docComment": "/**\n * Does the connector have the revision token for replacement operations? (Cloudant)\n *\n * Default: `false`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "hasRevisionToken: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "hasRevisionToken",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures#idType:member",
              "docComment": "/**\n * What type is used for auto-generated primary keys? - SQL databases typically use auto-incremented numbers, - NoSQL databases tend to use GUID/UUID strings.\n *\n * Default: `'string'`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "idType: "
                },
                {
                  "kind": "Content",
                  "text": "'string' | 'number'"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "idType",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures#supportsInclusionResolvers:member",
              "docComment": "/**\n * Does the repository provide `inclusionResolvers` object where resolvers can be registered?\n *\n * Default: `true`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supportsInclusionResolvers: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "supportsInclusionResolvers",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "kind": "PropertySignature",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures#supportsTransactions:member",
              "docComment": "/**\n * Does the connector support using transactions for performing CRUD operations atomically and being able to commit or rollback the changes? SQL databases usually support transactions\n *\n * Default: `false`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "supportsTransactions: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "releaseTag": "Public",
              "name": "supportsTransactions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/repository-tests!CrudRepositoryCtor:type",
          "docComment": "/**\n * A constructor of a class implementing CrudRepository interface, accepting the Entity class (constructor) and a dataSource instance.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type CrudRepositoryCtor = "
            },
            {
              "kind": "Content",
              "text": "new <T extends "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "@loopback/repository!Entity:class"
            },
            {
              "kind": "Content",
              "text": ", ID, Relations extends object>(entityClass: typeof "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "@loopback/repository!Entity:class"
            },
            {
              "kind": "Content",
              "text": " & {\n    prototype: T;\n}, dataSource: "
            },
            {
              "kind": "Reference",
              "text": "juggler.DataSource",
              "canonicalReference": "loopback-datasource-juggler!DataSource:class"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "EntityCrudRepository",
              "canonicalReference": "@loopback/repository!EntityCrudRepository:interface"
            },
            {
              "kind": "Content",
              "text": "<T, ID, Relations>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "CrudRepositoryCtor",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Function",
          "canonicalReference": "@loopback/repository-tests!crudRepositoryTestSuite:function(1)",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function crudRepositoryTestSuite(dataSourceOptions: "
            },
            {
              "kind": "Reference",
              "text": "DataSourceOptions",
              "canonicalReference": "@loopback/repository-tests!DataSourceOptions:type"
            },
            {
              "kind": "Content",
              "text": ", repositoryClass: "
            },
            {
              "kind": "Reference",
              "text": "CrudRepositoryCtor",
              "canonicalReference": "@loopback/repository-tests!CrudRepositoryCtor:type"
            },
            {
              "kind": "Content",
              "text": ", partialFeatures: "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CrudFeatures",
              "canonicalReference": "@loopback/repository-tests!CrudFeatures:interface"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "void"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 11
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "dataSourceOptions",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "parameterName": "repositoryClass",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "parameterName": "partialFeatures",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 9
              }
            }
          ],
          "name": "crudRepositoryTestSuite"
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/repository-tests!DataSourceOptions:type",
          "docComment": "/**\n * DataSource configuration (connector name, connection string, etc.).\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type DataSourceOptions = "
            },
            {
              "kind": "Reference",
              "text": "Options",
              "canonicalReference": "@loopback/repository!Options:type"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "DataSourceOptions",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@loopback/repository-tests!TransactionalRepositoryCtor:type",
          "docComment": "/**\n * A constructor of a class implementing TransactionalRepository interface, accepting the Entity class (constructor) and a dataSource instance.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare type TransactionalRepositoryCtor = "
            },
            {
              "kind": "Content",
              "text": "new <T extends "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "@loopback/repository!Entity:class"
            },
            {
              "kind": "Content",
              "text": ", ID, Relations extends object>(entityClass: typeof "
            },
            {
              "kind": "Reference",
              "text": "Entity",
              "canonicalReference": "@loopback/repository!Entity:class"
            },
            {
              "kind": "Content",
              "text": " & {\n    prototype: T;\n}, dataSource: "
            },
            {
              "kind": "Reference",
              "text": "juggler.DataSource",
              "canonicalReference": "loopback-datasource-juggler!DataSource:class"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "TransactionalEntityRepository",
              "canonicalReference": "@loopback/repository!TransactionalEntityRepository:type"
            },
            {
              "kind": "Content",
              "text": "<T, ID, Relations>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "releaseTag": "Public",
          "name": "TransactionalRepositoryCtor",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        }
      ]
    }
  ]
}
