{
	"id": 0,
	"name": "mikro-orm",
	"kind": 1,
	"kindString": "Project",
	"flags": {},
	"originalName": "",
	"children": [
		{
			"id": 203,
			"name": "Cascade",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 207,
					"name": "ALL",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 13,
							"character": 2
						}
					],
					"defaultValue": "\"all\""
				},
				{
					"id": 205,
					"name": "MERGE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 11,
							"character": 2
						}
					],
					"defaultValue": "\"merge\""
				},
				{
					"id": 204,
					"name": "PERSIST",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 10,
							"character": 2
						}
					],
					"defaultValue": "\"persist\""
				},
				{
					"id": 206,
					"name": "REMOVE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 12,
							"character": 2
						}
					],
					"defaultValue": "\"remove\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						207,
						205,
						204,
						206
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/enums.ts",
					"line": 9,
					"character": 12
				}
			]
		},
		{
			"id": 898,
			"name": "ChangeSetType",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 899,
					"name": "CREATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 12,
							"character": 2
						}
					],
					"defaultValue": "\"create\""
				},
				{
					"id": 901,
					"name": "DELETE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 14,
							"character": 2
						}
					],
					"defaultValue": "\"delete\""
				},
				{
					"id": 900,
					"name": "UPDATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 13,
							"character": 2
						}
					],
					"defaultValue": "\"update\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						899,
						901,
						900
					]
				}
			],
			"sources": [
				{
					"fileName": "unit-of-work/ChangeSet.ts",
					"line": 11,
					"character": 12
				}
			]
		},
		{
			"id": 886,
			"name": "LockMode",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 887,
					"name": "NONE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/enums.ts",
							"line": 2,
							"character": 2
						}
					],
					"defaultValue": "0"
				},
				{
					"id": 888,
					"name": "OPTIMISTIC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/enums.ts",
							"line": 3,
							"character": 2
						}
					],
					"defaultValue": "1"
				},
				{
					"id": 889,
					"name": "PESSIMISTIC_READ",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/enums.ts",
							"line": 4,
							"character": 2
						}
					],
					"defaultValue": "2"
				},
				{
					"id": 890,
					"name": "PESSIMISTIC_WRITE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/enums.ts",
							"line": 5,
							"character": 2
						}
					],
					"defaultValue": "3"
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						887,
						888,
						889,
						890
					]
				}
			],
			"sources": [
				{
					"fileName": "unit-of-work/enums.ts",
					"line": 1,
					"character": 12
				}
			]
		},
		{
			"id": 2199,
			"name": "QueryFlag",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 2200,
					"name": "COUNT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 10,
							"character": 2
						}
					],
					"defaultValue": "\"SELECT\""
				},
				{
					"id": 2201,
					"name": "DISTINCT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 11,
							"character": 2
						}
					],
					"defaultValue": "\"DISTINCT\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						2200,
						2201
					]
				}
			],
			"sources": [
				{
					"fileName": "query/enums.ts",
					"line": 9,
					"character": 12
				}
			]
		},
		{
			"id": 2202,
			"name": "QueryOrder",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 2203,
					"name": "ASC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 15,
							"character": 2
						}
					],
					"defaultValue": "\"ASC\""
				},
				{
					"id": 2204,
					"name": "DESC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 16,
							"character": 2
						}
					],
					"defaultValue": "\"DESC\""
				},
				{
					"id": 2205,
					"name": "asc",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 17,
							"character": 2
						}
					],
					"defaultValue": "\"asc\""
				},
				{
					"id": 2206,
					"name": "desc",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 18,
							"character": 2
						}
					],
					"defaultValue": "\"desc\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						2203,
						2204,
						2205,
						2206
					]
				}
			],
			"sources": [
				{
					"fileName": "query/enums.ts",
					"line": 14,
					"character": 12
				}
			]
		},
		{
			"id": 2207,
			"name": "QueryOrderNumeric",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 2208,
					"name": "ASC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 22,
							"character": 2
						}
					],
					"defaultValue": "1"
				},
				{
					"id": 2209,
					"name": "DESC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 23,
							"character": 2
						}
					],
					"defaultValue": "-1"
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						2208,
						2209
					]
				}
			],
			"sources": [
				{
					"fileName": "query/enums.ts",
					"line": 21,
					"character": 12
				}
			]
		},
		{
			"id": 2193,
			"name": "QueryType",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 2198,
					"name": "DELETE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 6,
							"character": 2
						}
					],
					"defaultValue": "\"DELETE\""
				},
				{
					"id": 2196,
					"name": "INSERT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 4,
							"character": 2
						}
					],
					"defaultValue": "\"INSERT\""
				},
				{
					"id": 2195,
					"name": "SELECT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 3,
							"character": 2
						}
					],
					"defaultValue": "\"SELECT\""
				},
				{
					"id": 2194,
					"name": "TRUNCATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 2,
							"character": 2
						}
					],
					"defaultValue": "\"TRUNCATE\""
				},
				{
					"id": 2197,
					"name": "UPDATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "query/enums.ts",
							"line": 5,
							"character": 2
						}
					],
					"defaultValue": "\"UPDATE\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						2198,
						2196,
						2195,
						2194,
						2197
					]
				}
			],
			"sources": [
				{
					"fileName": "query/enums.ts",
					"line": 1,
					"character": 12
				}
			]
		},
		{
			"id": 197,
			"name": "ReferenceType",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 202,
					"name": "MANY_TO_MANY",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 6,
							"character": 2
						}
					],
					"defaultValue": "\"m:n\""
				},
				{
					"id": 201,
					"name": "MANY_TO_ONE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 5,
							"character": 2
						}
					],
					"defaultValue": "\"m:1\""
				},
				{
					"id": 200,
					"name": "ONE_TO_MANY",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 4,
							"character": 2
						}
					],
					"defaultValue": "\"1:m\""
				},
				{
					"id": 199,
					"name": "ONE_TO_ONE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 3,
							"character": 2
						}
					],
					"defaultValue": "\"1:1\""
				},
				{
					"id": 198,
					"name": "SCALAR",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/enums.ts",
							"line": 2,
							"character": 2
						}
					],
					"defaultValue": "\"scalar\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						202,
						201,
						200,
						199,
						198
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/enums.ts",
					"line": 1,
					"character": 12
				}
			]
		},
		{
			"id": 1772,
			"name": "AbstractSqlDriver",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 1773,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 1774,
							"name": "new AbstractSqlDriver",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1775,
									"name": "C",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1871,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1775,
												"name": "C"
											}
										],
										"name": "Connection"
									}
								}
							],
							"parameters": [
								{
									"id": 1776,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1772,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1775,
										"name": "C"
									}
								],
								"name": "AbstractSqlDriver"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1683,
								"name": "DatabaseDriver.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1682,
						"name": "DatabaseDriver.constructor"
					}
				},
				{
					"id": 1836,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1837,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1838,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1839,
									"name": "pipeline",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1733,
								"name": "DatabaseDriver.aggregate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1732,
						"name": "DatabaseDriver.aggregate"
					}
				},
				{
					"id": 1852,
					"name": "beginTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 83,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1853,
							"name": "beginTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Begins a transaction (if supported)"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1749,
								"name": "DatabaseDriver.beginTransaction"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1748,
						"name": "DatabaseDriver.beginTransaction"
					}
				},
				{
					"id": 1854,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 88,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1855,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Commits statements in a transaction"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1751,
								"name": "DatabaseDriver.commit"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1750,
						"name": "DatabaseDriver.commit"
					}
				},
				{
					"id": 1795,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/AbstractSqlDriver.ts",
							"line": 44,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1796,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1797,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1798,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 1728,
								"name": "DatabaseDriver.count"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 1727,
						"name": "DatabaseDriver.count"
					}
				},
				{
					"id": 1777,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/AbstractSqlDriver.ts",
							"line": 12,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1778,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds selection of entities"
							},
							"typeParameter": [
								{
									"id": 1779,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1779,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1780,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1781,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1779,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1782,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1783,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									},
									"defaultValue": "{}"
								},
								{
									"id": 1784,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 1785,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 1779,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 1694,
								"name": "DatabaseDriver.find"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 1693,
						"name": "DatabaseDriver.find"
					}
				},
				{
					"id": 1786,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/AbstractSqlDriver.ts",
							"line": 23,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1787,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds single entity (table row, document)"
							},
							"typeParameter": [
								{
									"id": 1788,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1788,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1789,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1790,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1788,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 1791,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1792,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									},
									"defaultValue": "{}"
								},
								{
									"id": 1793,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1794,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 1788,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 1703,
								"name": "DatabaseDriver.findOne"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 1702,
						"name": "DatabaseDriver.findOne"
					}
				},
				{
					"id": 1850,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 79,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1851,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1775,
								"name": "C"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1747,
								"name": "DatabaseDriver.getConnection"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1746,
						"name": "DatabaseDriver.getConnection"
					}
				},
				{
					"id": 1865,
					"name": "getPlatform",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 126,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1866,
							"name": "getPlatform",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1928,
								"name": "Platform"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1762,
								"name": "DatabaseDriver.getPlatform"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1761,
						"name": "DatabaseDriver.getPlatform"
					}
				},
				{
					"id": 1863,
					"name": "isInTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 122,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1864,
							"name": "isInTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1760,
								"name": "DatabaseDriver.isInTransaction"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1759,
						"name": "DatabaseDriver.isInTransaction"
					}
				},
				{
					"id": 1840,
					"name": "loadFromPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 37,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1841,
							"name": "loadFromPivotTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "When driver uses pivot tables for M:N, this method will load identifiers for given collections from them"
							},
							"typeParameter": [
								{
									"id": 1842,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1738,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1843,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1844,
									"name": "owners",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 154,
											"name": "IPrimaryKey"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1738,
													"name": "T"
												}
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1737,
								"name": "DatabaseDriver.loadFromPivotTable"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1736,
						"name": "DatabaseDriver.loadFromPivotTable"
					}
				},
				{
					"id": 1845,
					"name": "mapResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 59,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1846,
							"name": "mapResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1847,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1743,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1848,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1743,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 1849,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 1743,
										"name": "T"
									}
								]
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1742,
								"name": "DatabaseDriver.mapResult"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1741,
						"name": "DatabaseDriver.mapResult"
					}
				},
				{
					"id": 1810,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/AbstractSqlDriver.ts",
							"line": 88,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1811,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1812,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1812,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1813,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1814,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 1723,
								"name": "DatabaseDriver.nativeDelete"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 1722,
						"name": "DatabaseDriver.nativeDelete"
					}
				},
				{
					"id": 1799,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/AbstractSqlDriver.ts",
							"line": 52,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1800,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1801,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1801,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1802,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1803,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1801,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 1712,
								"name": "DatabaseDriver.nativeInsert"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 1711,
						"name": "DatabaseDriver.nativeInsert"
					}
				},
				{
					"id": 1804,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/AbstractSqlDriver.ts",
							"line": 68,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1805,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1806,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1806,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1807,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1808,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1806,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1809,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1806,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 1717,
								"name": "DatabaseDriver.nativeUpdate"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 1716,
						"name": "DatabaseDriver.nativeUpdate"
					}
				},
				{
					"id": 1856,
					"name": "rollback",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 97,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1857,
							"name": "rollback",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Rollback changes in a transaction"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1753,
								"name": "DatabaseDriver.rollback"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1752,
						"name": "DatabaseDriver.rollback"
					}
				},
				{
					"id": 1858,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 109,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1859,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Runs callback inside transaction"
							},
							"parameters": [
								{
									"id": 1860,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1861,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1862,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1755,
								"name": "DatabaseDriver.transactional"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1754,
						"name": "DatabaseDriver.transactional"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1773
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1836,
						1852,
						1854,
						1795,
						1777,
						1786,
						1850,
						1865,
						1863,
						1840,
						1845,
						1810,
						1799,
						1804,
						1856,
						1858
					]
				}
			],
			"sources": [
				{
					"fileName": "drivers/AbstractSqlDriver.ts",
					"line": 10,
					"character": 22
				}
			],
			"typeParameter": [
				{
					"id": 1870,
					"name": "C",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 1871,
						"name": "Connection"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 1681,
					"typeArguments": [
						{
							"type": "reference",
							"id": 1775,
							"name": "C"
						}
					],
					"name": "DatabaseDriver"
				}
			]
		},
		{
			"id": 549,
			"name": "ArrayCollection",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 550,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 551,
							"name": "new ArrayCollection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 552,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 552,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 553,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "IEntityType"
									}
								},
								{
									"id": 554,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 552,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 549,
								"typeArguments": [
									{
										"type": "reference",
										"id": 552,
										"name": "T"
									}
								],
								"name": "ArrayCollection"
							}
						}
					]
				},
				{
					"id": 557,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "IEntityType"
					}
				},
				{
					"id": 581,
					"name": "length",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 92,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 582,
							"name": "length",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							}
						}
					]
				},
				{
					"id": 583,
					"name": "[Symbol.iterator]",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 96,
							"character": 4
						}
					],
					"signatures": [
						{
							"id": 584,
							"name": "[Symbol.iterator]",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 552,
										"name": "T"
									}
								],
								"qualifiedName": "IterableIterator",
								"package": "typescript",
								"name": "IterableIterator"
							}
						}
					]
				},
				{
					"id": 565,
					"name": "add",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 566,
							"name": "add",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 567,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 552,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 576,
					"name": "contains",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 79,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 577,
							"name": "contains",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 578,
									"name": "item",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 552,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 579,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 88,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 580,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							}
						}
					]
				},
				{
					"id": 562,
					"name": "getIdentifiers",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 563,
							"name": "getIdentifiers",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 564,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 154,
									"name": "IPrimaryKey"
								}
							}
						}
					]
				},
				{
					"id": 558,
					"name": "getItems",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 559,
							"name": "getItems",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 552,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 571,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 61,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 572,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 573,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 552,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 574,
					"name": "removeAll",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 75,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 575,
							"name": "removeAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 568,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 56,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 569,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 570,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 552,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 560,
					"name": "toArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 24,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 561,
							"name": "toArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"typeArguments": [
										{
											"type": "intrinsic",
											"name": "string"
										},
										{
											"type": "intrinsic",
											"name": "any"
										}
									],
									"qualifiedName": "Record",
									"package": "typescript",
									"name": "Record"
								}
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						550
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						557
					]
				},
				{
					"title": "Accessors",
					"kind": 262144,
					"children": [
						581
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						583,
						565,
						576,
						579,
						562,
						558,
						571,
						574,
						568,
						560
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/ArrayCollection.ts",
					"line": 6,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 603,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 552,
								"name": "T"
							}
						],
						"name": "IEntityType"
					}
				}
			],
			"indexSignature": {
				"id": 604,
				"name": "__index",
				"kind": 8192,
				"kindString": "Index signature",
				"flags": {},
				"parameters": [
					{
						"id": 605,
						"name": "k",
						"kind": 32768,
						"flags": {},
						"type": {
							"type": "intrinsic",
							"name": "number"
						}
					}
				],
				"type": {
					"type": "reference",
					"id": 552,
					"name": "T"
				}
			},
			"extendedBy": [
				{
					"type": "reference",
					"id": 606,
					"name": "Collection"
				}
			]
		},
		{
			"id": 902,
			"name": "ChangeSetComputer",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 903,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSetComputer.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 904,
							"name": "new ChangeSetComputer",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 905,
									"name": "validator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 306,
										"name": "EntityValidator"
									}
								},
								{
									"id": 906,
									"name": "originalEntityData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 4,
														"typeArguments": [
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	}
																]
															}
														],
														"name": "IEntity"
													}
												],
												"name": "EntityData"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								},
								{
									"id": 907,
									"name": "identifierMap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"id": 296,
												"name": "EntityIdentifier"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 902,
								"name": "ChangeSetComputer"
							}
						}
					]
				},
				{
					"id": 909,
					"name": "computeChangeSet",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSetComputer.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 910,
							"name": "computeChangeSet",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 911,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 911,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 912,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 911,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 891,
										"typeArguments": [
											{
												"type": "reference",
												"id": 911,
												"name": "T"
											}
										],
										"name": "ChangeSet"
									}
								]
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						903
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						909
					]
				}
			],
			"sources": [
				{
					"fileName": "unit-of-work/ChangeSetComputer.ts",
					"line": 7,
					"character": 13
				}
			]
		},
		{
			"id": 938,
			"name": "ChangeSetPersister",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 939,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSetPersister.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 940,
							"name": "new ChangeSetPersister",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 941,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								},
								{
									"id": 942,
									"name": "identifierMap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"id": 296,
												"name": "EntityIdentifier"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 938,
								"name": "ChangeSetPersister"
							}
						}
					]
				},
				{
					"id": 944,
					"name": "persistToDatabase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSetPersister.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 945,
							"name": "persistToDatabase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 946,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 946,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 947,
									"name": "changeSet",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 891,
										"typeArguments": [
											{
												"type": "reference",
												"id": 946,
												"name": "T"
											}
										],
										"name": "ChangeSet"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						939
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						944
					]
				}
			],
			"sources": [
				{
					"fileName": "unit-of-work/ChangeSetPersister.ts",
					"line": 9,
					"character": 13
				}
			]
		},
		{
			"id": 606,
			"name": "Collection",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 607,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 12,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 608,
							"name": "new Collection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 609,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 609,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 610,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "IEntityType"
									}
								},
								{
									"id": 611,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 609,
											"name": "T"
										}
									}
								},
								{
									"id": 612,
									"name": "initialized",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 606,
								"typeArguments": [
									{
										"type": "reference",
										"id": 609,
										"name": "T"
									}
								],
								"name": "Collection"
							},
							"overwrites": {
								"type": "reference",
								"id": 551,
								"name": "ArrayCollection.constructor"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 550,
						"name": "ArrayCollection.constructor"
					}
				},
				{
					"id": 672,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "IEntityType"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 557,
						"name": "ArrayCollection.owner"
					}
				},
				{
					"id": 680,
					"name": "length",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 92,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 681,
							"name": "length",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "ArrayCollection.length"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 581,
						"name": "ArrayCollection.length"
					}
				},
				{
					"id": 682,
					"name": "[Symbol.iterator]",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 96,
							"character": 4
						}
					],
					"signatures": [
						{
							"id": 683,
							"name": "[Symbol.iterator]",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 609,
										"name": "T"
									}
								],
								"qualifiedName": "IterableIterator",
								"package": "typescript",
								"name": "IterableIterator"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 584,
								"name": "ArrayCollection.[Symbol.iterator]"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 583,
						"name": "ArrayCollection.[Symbol.iterator]"
					}
				},
				{
					"id": 618,
					"name": "add",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 22,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 619,
							"name": "add",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 620,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 609,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 566,
								"name": "ArrayCollection.add"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 565,
						"name": "ArrayCollection.add"
					}
				},
				{
					"id": 628,
					"name": "contains",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 55,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 629,
							"name": "contains",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 630,
									"name": "item",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 609,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							},
							"overwrites": {
								"type": "reference",
								"id": 577,
								"name": "ArrayCollection.contains"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 576,
						"name": "ArrayCollection.contains"
					}
				},
				{
					"id": 631,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 60,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 632,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							},
							"overwrites": {
								"type": "reference",
								"id": 580,
								"name": "ArrayCollection.count"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 579,
						"name": "ArrayCollection.count"
					}
				},
				{
					"id": 675,
					"name": "getIdentifiers",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 676,
							"name": "getIdentifiers",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 677,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 154,
									"name": "IPrimaryKey"
								}
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 563,
								"name": "ArrayCollection.getIdentifiers"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 562,
						"name": "ArrayCollection.getIdentifiers"
					}
				},
				{
					"id": 616,
					"name": "getItems",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 617,
							"name": "getItems",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 609,
									"name": "T"
								}
							},
							"overwrites": {
								"type": "reference",
								"id": 559,
								"name": "ArrayCollection.getItems"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 558,
						"name": "ArrayCollection.getItems"
					}
				},
				{
					"id": 646,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 89,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 647,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 648,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 606,
										"typeArguments": [
											{
												"type": "reference",
												"id": 609,
												"name": "T"
											}
										],
										"name": "Collection"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 641,
					"name": "isDirty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 81,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 642,
							"name": "isDirty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 633,
					"name": "isInitialized",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 65,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 634,
							"name": "isInitialized",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 635,
									"name": "fully",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 638,
					"name": "populated",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 77,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 639,
							"name": "populated",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 640,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 625,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 626,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 627,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 609,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 572,
								"name": "ArrayCollection.remove"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 571,
						"name": "ArrayCollection.remove"
					}
				},
				{
					"id": 678,
					"name": "removeAll",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 75,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 679,
							"name": "removeAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 575,
								"name": "ArrayCollection.removeAll"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 574,
						"name": "ArrayCollection.removeAll"
					}
				},
				{
					"id": 621,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 31,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 622,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 623,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 609,
											"name": "T"
										}
									}
								},
								{
									"id": 624,
									"name": "initialize",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 569,
								"name": "ArrayCollection.set"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 568,
						"name": "ArrayCollection.set"
					}
				},
				{
					"id": 643,
					"name": "setDirty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 85,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 644,
							"name": "setDirty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 645,
									"name": "dirty",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 636,
					"name": "shouldPopulate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/Collection.ts",
							"line": 73,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 637,
							"name": "shouldPopulate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 673,
					"name": "toArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/ArrayCollection.ts",
							"line": 24,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 674,
							"name": "toArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"typeArguments": [
										{
											"type": "intrinsic",
											"name": "string"
										},
										{
											"type": "intrinsic",
											"name": "any"
										}
									],
									"qualifiedName": "Record",
									"package": "typescript",
									"name": "Record"
								}
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 561,
								"name": "ArrayCollection.toArray"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 560,
						"name": "ArrayCollection.toArray"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						607
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						672
					]
				},
				{
					"title": "Accessors",
					"kind": 262144,
					"children": [
						680
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						682,
						618,
						628,
						631,
						675,
						616,
						646,
						641,
						633,
						638,
						625,
						678,
						621,
						643,
						636,
						673
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/Collection.ts",
					"line": 6,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 702,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 609,
								"name": "T"
							}
						],
						"name": "IEntityType"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 549,
					"typeArguments": [
						{
							"type": "reference",
							"id": 609,
							"name": "T"
						}
					],
					"name": "ArrayCollection"
				}
			]
		},
		{
			"id": 1244,
			"name": "Configuration",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1275,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 51,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1276,
							"name": "new Configuration",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1277,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1382,
										"name": "Options"
									}
								},
								{
									"id": 1278,
									"name": "validate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 1244,
								"name": "Configuration"
							}
						}
					]
				},
				{
					"id": 1245,
					"name": "DEFAULTS",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isStatic": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 17,
							"character": 18
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1246,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1252,
									"name": "autoFlush",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 1257,
									"name": "baseDir",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "..."
								},
								{
									"id": 1261,
									"name": "cache",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1262,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 1264,
													"name": "adapter",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "query",
														"queryType": {
															"type": "reference",
															"id": 2137,
															"name": "FileCacheAdapter"
														}
													},
													"defaultValue": "FileCacheAdapter"
												},
												{
													"id": 1263,
													"name": "enabled",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												},
												{
													"id": 1265,
													"name": "options",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "reflection",
														"declaration": {
															"id": 1266,
															"name": "__type",
															"kind": 65536,
															"kindString": "Type literal",
															"flags": {},
															"children": [
																{
																	"id": 1267,
																	"name": "cacheDir",
																	"kind": 1024,
																	"kindString": "Property",
																	"flags": {},
																	"type": {
																		"type": "intrinsic",
																		"name": "string"
																	},
																	"defaultValue": "..."
																}
															],
															"groups": [
																{
																	"title": "Properties",
																	"kind": 1024,
																	"children": [
																		1267
																	]
																}
															]
														}
													},
													"defaultValue": "..."
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														1264,
														1263,
														1265
													]
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1260,
									"name": "debug",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1248,
									"name": "entities",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "never"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1249,
									"name": "entitiesDirs",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "never"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1250,
									"name": "entitiesDirsTs",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "never"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1258,
									"name": "entityRepository",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "query",
										"queryType": {
											"type": "reference",
											"id": 208,
											"name": "EntityRepository"
										}
									},
									"defaultValue": "EntityRepository"
								},
								{
									"id": 1259,
									"name": "hydrator",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "query",
										"queryType": {
											"type": "reference",
											"id": 1402,
											"name": "ObjectHydrator"
										}
									},
									"defaultValue": "ObjectHydrator"
								},
								{
									"id": 1254,
									"name": "logger",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1255,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1256,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "undefined"
													}
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1268,
									"name": "metadataProvider",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "query",
										"queryType": {
											"type": "reference",
											"id": 2081,
											"name": "TypeScriptMetadataProvider"
										}
									},
									"defaultValue": "TypeScriptMetadataProvider"
								},
								{
									"id": 1253,
									"name": "strict",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1251,
									"name": "tsConfigPath",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "..."
								},
								{
									"id": 1247,
									"name": "type",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'mongo'"
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1252,
										1257,
										1261,
										1260,
										1248,
										1249,
										1250,
										1258,
										1259,
										1254,
										1268,
										1253,
										1251,
										1247
									]
								}
							]
						}
					},
					"defaultValue": "..."
				},
				{
					"id": 1269,
					"name": "PLATFORMS",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isStatic": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 38,
							"character": 18
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1270,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1271,
									"name": "mongo",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'MongoDriver'"
								},
								{
									"id": 1272,
									"name": "mysql",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'MySqlDriver'"
								},
								{
									"id": 1273,
									"name": "postgresql",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'PostgreSqlDriver'"
								},
								{
									"id": 1274,
									"name": "sqlite",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'SqliteDriver'"
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1271,
										1272,
										1273,
										1274
									]
								}
							]
						}
					},
					"defaultValue": "..."
				},
				{
					"id": 1284,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 64,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1285,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1286,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 1333,
											"name": "MikroORMOptions"
										}
									}
								},
								{
									"id": 1287,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 1288,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1286,
										"name": "T"
									}
								},
								{
									"id": 1289,
									"name": "defaultValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1287,
										"name": "U"
									}
								}
							],
							"type": {
								"type": "indexedAccess",
								"indexType": {
									"type": "reference",
									"id": 1286,
									"name": "T"
								},
								"objectType": {
									"type": "reference",
									"id": 1333,
									"name": "MikroORMOptions"
								}
							}
						}
					]
				},
				{
					"id": 1304,
					"name": "getCacheAdapter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 97,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1305,
							"name": "getCacheAdapter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2117,
								"name": "CacheAdapter"
							}
						}
					]
				},
				{
					"id": 1292,
					"name": "getClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 72,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1293,
							"name": "getClientUrl",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1294,
									"name": "hidePassword",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1295,
					"name": "getDriver",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 80,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1296,
							"name": "getDriver",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1607,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1871,
										"name": "Connection"
									}
								],
								"name": "IDatabaseDriver"
							}
						}
					]
				},
				{
					"id": 1299,
					"name": "getHydrator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 88,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1300,
							"name": "getHydrator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1301,
									"name": "factory",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 453,
										"name": "EntityFactory"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1383,
								"name": "Hydrator"
							}
						}
					]
				},
				{
					"id": 1290,
					"name": "getLogger",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1291,
							"name": "getLogger",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"name": "Logger"
							}
						}
					]
				},
				{
					"id": 1302,
					"name": "getMetadataProvider",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 93,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1303,
							"name": "getMetadataProvider",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2043,
								"name": "MetadataProvider"
							}
						}
					]
				},
				{
					"id": 1297,
					"name": "getNamingStrategy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 84,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1298,
							"name": "getNamingStrategy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1972,
								"name": "NamingStrategy"
							}
						}
					]
				},
				{
					"id": 1306,
					"name": "getRepositoryClass",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 101,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1307,
							"name": "getRepositoryClass",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1308,
									"name": "customRepository",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "undefined"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1309,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"signatures": [
														{
															"id": 1310,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"type": {
																"type": "reflection",
																"declaration": {
																	"id": 1311,
																	"name": "__type",
																	"kind": 512,
																	"kindString": "Constructor",
																	"flags": {},
																	"signatures": [
																		{
																			"id": 1312,
																			"name": "new __type",
																			"kind": 16384,
																			"kindString": "Constructor signature",
																			"flags": {},
																			"parameters": [
																				{
																					"id": 1313,
																					"name": "em",
																					"kind": 32768,
																					"kindString": "Parameter",
																					"flags": {},
																					"type": {
																						"type": "reference",
																						"id": 703,
																						"name": "EntityManager"
																					}
																				},
																				{
																					"id": 1314,
																					"name": "entityName",
																					"kind": 32768,
																					"kindString": "Parameter",
																					"flags": {},
																					"type": {
																						"type": "reference",
																						"typeArguments": [
																							{
																								"type": "reference",
																								"id": 4,
																								"typeArguments": [
																									{
																										"type": "union",
																										"types": [
																											{
																												"type": "intrinsic",
																												"name": "string"
																											},
																											{
																												"type": "intrinsic",
																												"name": "number"
																											}
																										]
																									}
																								],
																								"name": "IEntity"
																							}
																						],
																						"name": "EntityName"
																					}
																				}
																			],
																			"type": {
																				"type": "reference",
																				"id": 208,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 4,
																						"typeArguments": [
																							{
																								"type": "union",
																								"types": [
																									{
																										"type": "intrinsic",
																										"name": "string"
																									},
																									{
																										"type": "intrinsic",
																										"name": "number"
																									}
																								]
																							}
																						],
																						"name": "IEntity"
																					}
																				],
																				"name": "EntityRepository"
																			}
																		}
																	]
																}
															}
														}
													]
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reflection",
								"declaration": {
									"id": 1315,
									"name": "__type",
									"kind": 512,
									"kindString": "Constructor",
									"flags": {},
									"signatures": [
										{
											"id": 1316,
											"name": "new getRepositoryClass",
											"kind": 16384,
											"kindString": "Constructor signature",
											"flags": {},
											"parameters": [
												{
													"id": 1317,
													"name": "em",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 703,
														"name": "EntityManager"
													}
												},
												{
													"id": 1318,
													"name": "entityName",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 4,
																"typeArguments": [
																	{
																		"type": "union",
																		"types": [
																			{
																				"type": "intrinsic",
																				"name": "string"
																			},
																			{
																				"type": "intrinsic",
																				"name": "number"
																			}
																		]
																	}
																],
																"name": "IEntity"
															}
														],
														"name": "EntityName"
													}
												}
											],
											"type": {
												"type": "reference",
												"id": 208,
												"typeArguments": [
													{
														"type": "reference",
														"id": 4,
														"typeArguments": [
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	}
																]
															}
														],
														"name": "IEntity"
													}
												],
												"name": "EntityRepository"
											}
										}
									]
								}
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1275
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1245,
						1269
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1284,
						1304,
						1292,
						1295,
						1299,
						1290,
						1302,
						1297,
						1306
					]
				}
			],
			"sources": [
				{
					"fileName": "utils/Configuration.ts",
					"line": 15,
					"character": 13
				}
			]
		},
		{
			"id": 1871,
			"name": "Connection",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 1872,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1873,
							"name": "new Connection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1874,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1871,
								"name": "Connection"
							}
						}
					]
				},
				{
					"id": 1888,
					"name": "beginTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 36,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1889,
							"name": "beginTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Begins a transaction (if supported)"
							},
							"parameters": [
								{
									"id": 1890,
									"name": "savepoint",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1883,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 26,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1884,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Closes the database connection (aka disconnect)"
							},
							"parameters": [
								{
									"id": 1885,
									"name": "force",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1891,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 43,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1892,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Commits statements in a transaction"
							},
							"parameters": [
								{
									"id": 1893,
									"name": "savepoint",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1879,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 16,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1880,
							"name": "connect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Establishes connection to database"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1897,
					"name": "execute",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 54,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1898,
							"name": "execute",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1899,
									"name": "query",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1900,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								},
								{
									"id": 1901,
									"name": "method",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "all"
											},
											{
												"type": "literal",
												"value": "get"
											},
											{
												"type": "literal",
												"value": "run"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1904,
					"name": "getClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1905,
							"name": "getClientUrl",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1902,
					"name": "getConnectionOptions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 56,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1903,
							"name": "getConnectionOptions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1922,
								"name": "ConnectionConfig"
							}
						}
					]
				},
				{
					"id": 1886,
					"name": "getDefaultClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 31,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1887,
							"name": "getDefaultClientUrl",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns default client url for given driver (e.g. mongodb://127.0.0.1:27017 for mongodb)"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1881,
					"name": "isConnected",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 21,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1882,
							"name": "isConnected",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Are we connected to the database"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1894,
					"name": "rollback",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 50,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1895,
							"name": "rollback",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Rollback changes in a transaction"
							},
							"parameters": [
								{
									"id": 1896,
									"name": "savepoint",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1872
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1888,
						1883,
						1891,
						1879,
						1897,
						1904,
						1902,
						1886,
						1881,
						1894
					]
				}
			],
			"sources": [
				{
					"fileName": "connections/Connection.ts",
					"line": 5,
					"character": 22
				}
			]
		},
		{
			"id": 1681,
			"name": "DatabaseDriver",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 1682,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1683,
							"name": "new DatabaseDriver",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1684,
									"name": "C",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1871,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1684,
												"name": "C"
											}
										],
										"name": "Connection"
									}
								}
							],
							"parameters": [
								{
									"id": 1685,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1681,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1684,
										"name": "C"
									}
								],
								"name": "DatabaseDriver"
							}
						}
					]
				},
				{
					"id": 1732,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1733,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1734,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1735,
									"name": "pipeline",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1650,
								"name": "IDatabaseDriver.aggregate"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1649,
						"name": "IDatabaseDriver.aggregate"
					}
				},
				{
					"id": 1748,
					"name": "beginTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 83,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1749,
							"name": "beginTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Begins a transaction (if supported)"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1664,
								"name": "IDatabaseDriver.beginTransaction"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1663,
						"name": "IDatabaseDriver.beginTransaction"
					}
				},
				{
					"id": 1750,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 88,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1751,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Commits statements in a transaction"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1666,
								"name": "IDatabaseDriver.commit"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1665,
						"name": "IDatabaseDriver.commit"
					}
				},
				{
					"id": 1727,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 31,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1728,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1729,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1729,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1730,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1731,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1729,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1645,
								"name": "IDatabaseDriver.count"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1644,
						"name": "IDatabaseDriver.count"
					}
				},
				{
					"id": 1693,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 21,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1694,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds selection of entities"
							},
							"typeParameter": [
								{
									"id": 1695,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1695,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1696,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1697,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1695,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1698,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1699,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 1700,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 1701,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 1695,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1611,
								"name": "IDatabaseDriver.find"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1610,
						"name": "IDatabaseDriver.find"
					}
				},
				{
					"id": 1702,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 23,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1703,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds single entity (table row, document)"
							},
							"typeParameter": [
								{
									"id": 1704,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1704,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1705,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1706,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1704,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 1707,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1708,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 1709,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1710,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 1704,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1620,
								"name": "IDatabaseDriver.findOne"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1619,
						"name": "IDatabaseDriver.findOne"
					}
				},
				{
					"id": 1746,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 79,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1747,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1684,
								"name": "C"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1609,
								"name": "IDatabaseDriver.getConnection"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1608,
						"name": "IDatabaseDriver.getConnection"
					}
				},
				{
					"id": 1761,
					"name": "getPlatform",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 126,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1762,
							"name": "getPlatform",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1928,
								"name": "Platform"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1677,
								"name": "IDatabaseDriver.getPlatform"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1676,
						"name": "IDatabaseDriver.getPlatform"
					}
				},
				{
					"id": 1759,
					"name": "isInTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 122,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1760,
							"name": "isInTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1675,
								"name": "IDatabaseDriver.isInTransaction"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1674,
						"name": "IDatabaseDriver.isInTransaction"
					}
				},
				{
					"id": 1736,
					"name": "loadFromPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 37,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1737,
							"name": "loadFromPivotTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "When driver uses pivot tables for M:N, this method will load identifiers for given collections from them"
							},
							"typeParameter": [
								{
									"id": 1738,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1738,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1739,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1740,
									"name": "owners",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 154,
											"name": "IPrimaryKey"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1738,
													"name": "T"
												}
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1659,
								"name": "IDatabaseDriver.loadFromPivotTable"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1658,
						"name": "IDatabaseDriver.loadFromPivotTable"
					}
				},
				{
					"id": 1741,
					"name": "mapResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 59,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1742,
							"name": "mapResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1743,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1743,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1744,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1743,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 1745,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 1743,
										"name": "T"
									}
								]
							},
							"implementationOf": {
								"type": "reference",
								"id": 1654,
								"name": "IDatabaseDriver.mapResult"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1653,
						"name": "IDatabaseDriver.mapResult"
					}
				},
				{
					"id": 1722,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 29,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1723,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1724,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1724,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1725,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1726,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 4,
														"typeArguments": [
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	}
																]
															}
														],
														"name": "IEntity"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1640,
								"name": "IDatabaseDriver.nativeDelete"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1639,
						"name": "IDatabaseDriver.nativeDelete"
					}
				},
				{
					"id": 1711,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 25,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1712,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1713,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1713,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1714,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1715,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1713,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1629,
								"name": "IDatabaseDriver.nativeInsert"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1628,
						"name": "IDatabaseDriver.nativeInsert"
					}
				},
				{
					"id": 1716,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 27,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 1717,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1718,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1718,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1719,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1720,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 4,
														"typeArguments": [
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	}
																]
															}
														],
														"name": "IEntity"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 1721,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1718,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1634,
								"name": "IDatabaseDriver.nativeUpdate"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1633,
						"name": "IDatabaseDriver.nativeUpdate"
					}
				},
				{
					"id": 1752,
					"name": "rollback",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 97,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1753,
							"name": "rollback",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Rollback changes in a transaction"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1668,
								"name": "IDatabaseDriver.rollback"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1667,
						"name": "IDatabaseDriver.rollback"
					}
				},
				{
					"id": 1754,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "drivers/DatabaseDriver.ts",
							"line": 109,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1755,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Runs callback inside transaction"
							},
							"parameters": [
								{
									"id": 1756,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1757,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1758,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1670,
								"name": "IDatabaseDriver.transactional"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1669,
						"name": "IDatabaseDriver.transactional"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1682
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1732,
						1748,
						1750,
						1727,
						1693,
						1702,
						1746,
						1761,
						1759,
						1736,
						1741,
						1722,
						1711,
						1716,
						1752,
						1754
					]
				}
			],
			"sources": [
				{
					"fileName": "drivers/DatabaseDriver.ts",
					"line": 10,
					"character": 22
				}
			],
			"typeParameter": [
				{
					"id": 1771,
					"name": "C",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 1871,
						"name": "Connection"
					}
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 1772,
					"name": "AbstractSqlDriver"
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 1607,
					"typeArguments": [
						{
							"type": "reference",
							"id": 1684,
							"name": "C"
						}
					],
					"name": "IDatabaseDriver"
				}
			]
		},
		{
			"id": 355,
			"name": "EntityAssigner",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 388,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 389,
							"name": "new EntityAssigner",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 355,
								"name": "EntityAssigner"
							}
						}
					]
				},
				{
					"id": 356,
					"name": "assign",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "entity/EntityAssigner.ts",
							"line": 11,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 357,
							"name": "assign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 358,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 358,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 359,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 358,
										"name": "T"
									}
								},
								{
									"id": 360,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 358,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 361,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 390,
										"name": "AssignOptions"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						},
						{
							"id": 362,
							"name": "assign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 363,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 363,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 364,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 363,
										"name": "T"
									}
								},
								{
									"id": 365,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 363,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 366,
									"name": "onlyProperties",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						388
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						356
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityAssigner.ts",
					"line": 9,
					"character": 13
				}
			]
		},
		{
			"id": 453,
			"name": "EntityFactory",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 454,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityFactory.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 455,
							"name": "new EntityFactory",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 456,
									"name": "unitOfWork",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 975,
										"name": "UnitOfWork"
									}
								},
								{
									"id": 457,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								},
								{
									"id": 458,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 453,
								"name": "EntityFactory"
							}
						}
					]
				},
				{
					"id": 461,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityFactory.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 462,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 463,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 463,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 464,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 463,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 465,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 463,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 466,
									"name": "initialized",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 463,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 472,
					"name": "createReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityFactory.ts",
							"line": 65,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 473,
							"name": "createReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 474,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 474,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 475,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 474,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 476,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 474,
								"name": "T"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						454
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						461,
						472
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityFactory.ts",
					"line": 10,
					"character": 13
				}
			]
		},
		{
			"id": 425,
			"name": "EntityHelper",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 450,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 451,
							"name": "new EntityHelper",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 425,
								"name": "EntityHelper"
							}
						}
					]
				},
				{
					"id": 431,
					"name": "decorate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "entity/EntityHelper.ts",
							"line": 18,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 432,
							"name": "decorate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 433,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 433,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 434,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 433,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 435,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 426,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "entity/EntityHelper.ts",
							"line": 10,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 427,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 428,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								},
								{
									"id": 429,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 430,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						450
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						431,
						426
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityHelper.ts",
					"line": 8,
					"character": 13
				}
			]
		},
		{
			"id": 296,
			"name": "EntityIdentifier",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 297,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityIdentifier.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 298,
							"name": "new EntityIdentifier",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 299,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 296,
								"name": "EntityIdentifier"
							}
						}
					]
				},
				{
					"id": 303,
					"name": "getValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityIdentifier.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 304,
							"name": "getValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 305,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 305,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 300,
					"name": "setValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityIdentifier.ts",
							"line": 7,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 301,
							"name": "setValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 302,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						297
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						303,
						300
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityIdentifier.ts",
					"line": 3,
					"character": 13
				}
			]
		},
		{
			"id": 482,
			"name": "EntityLoader",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 483,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityLoader.ts",
							"line": 14,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 484,
							"name": "new EntityLoader",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 485,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 482,
								"name": "EntityLoader"
							}
						}
					]
				},
				{
					"id": 488,
					"name": "populate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityLoader.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 489,
							"name": "populate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 490,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 490,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 491,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 492,
									"name": "entities",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"typeArguments": [
												{
													"type": "reference",
													"id": 490,
													"name": "T"
												}
											],
											"name": "IEntityType"
										}
									}
								},
								{
									"id": 493,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 494,
									"name": "validate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						483
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						488
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityLoader.ts",
					"line": 9,
					"character": 13
				}
			]
		},
		{
			"id": 703,
			"name": "EntityManager",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 704,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 705,
							"name": "new EntityManager",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 706,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								},
								{
									"id": 707,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 703,
								"name": "EntityManager"
							}
						}
					]
				},
				{
					"id": 714,
					"name": "config",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"id": 1244,
						"name": "Configuration"
					}
				},
				{
					"id": 795,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 170,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 796,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Shortcut to driver's aggregate method. Available in MongoDriver only."
							},
							"parameters": [
								{
									"id": 797,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 798,
									"name": "pipeline",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 757,
					"name": "beginTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 104,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 758,
							"name": "beginTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 854,
					"name": "canPopulate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 292,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 855,
							"name": "canPopulate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 856,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"qualifiedName": "Function",
												"package": "typescript",
												"name": "Function"
											}
										]
									}
								},
								{
									"id": 857,
									"name": "property",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 852,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 288,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 853,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "clear identity map, detaching all entities"
							},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 759,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 108,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 760,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 819,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 217,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 820,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 821,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 821,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 822,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 821,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 823,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 821,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 809,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 203,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 810,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new instance of given entity and populates it with given data"
							},
							"typeParameter": [
								{
									"id": 811,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 811,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 812,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 811,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 813,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 811,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 811,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 727,
					"name": "createQueryBuilder",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 46,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 728,
							"name": "createQueryBuilder",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 729,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 730,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 731,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 51,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 732,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 733,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 733,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 734,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 733,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 735,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 733,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 736,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 874,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 733,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 737,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 738,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 738,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 739,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 738,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 740,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 738,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 741,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 742,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 743,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 744,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 738,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 745,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 76,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 746,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 747,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 747,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 748,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 747,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 749,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 747,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 750,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 879,
										"name": "FindOneOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 747,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 751,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 752,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 752,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 753,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 752,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 754,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 752,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 755,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 756,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 752,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 850,
					"name": "flush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 281,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 851,
							"name": "flush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "flush changes to database"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 858,
					"name": "fork",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 309,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 859,
							"name": "fork",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 860,
									"name": "clear",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 703,
								"name": "EntityManager"
							}
						}
					]
				},
				{
					"id": 718,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 719,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 720,
									"name": "C",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1871,
										"typeArguments": [
											{
												"type": "reference",
												"id": 720,
												"name": "C"
											}
										],
										"name": "Connection"
									},
									"default": {
										"type": "reference",
										"id": 1871,
										"name": "Connection"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 720,
								"name": "C"
							}
						}
					]
				},
				{
					"id": 715,
					"name": "getDriver",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 22,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 716,
							"name": "getDriver",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 717,
									"name": "D",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											},
											{
												"type": "reference",
												"id": 717,
												"name": "D"
											}
										],
										"name": "IDatabaseDriver"
									},
									"default": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 717,
								"name": "D"
							}
						}
					]
				},
				{
					"id": 863,
					"name": "getEntityFactory",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 324,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 864,
							"name": "getEntityFactory",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 453,
								"name": "EntityFactory"
							}
						}
					]
				},
				{
					"id": 814,
					"name": "getReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 210,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 815,
							"name": "getReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded"
							},
							"typeParameter": [
								{
									"id": 816,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 816,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 817,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 816,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 818,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 816,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 721,
					"name": "getRepository",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 30,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 722,
							"name": "getRepository",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 723,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 723,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 724,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 723,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 208,
								"typeArguments": [
									{
										"type": "reference",
										"id": 723,
										"name": "T"
									}
								],
								"name": "EntityRepository"
							}
						}
					]
				},
				{
					"id": 861,
					"name": "getUnitOfWork",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 319,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 862,
							"name": "getUnitOfWork",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 975,
								"name": "UnitOfWork"
							}
						}
					]
				},
				{
					"id": 725,
					"name": "getValidator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 42,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 726,
							"name": "getValidator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 306,
								"name": "EntityValidator"
							}
						}
					]
				},
				{
					"id": 769,
					"name": "lock",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 126,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 770,
							"name": "lock",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 771,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								},
								{
									"id": 772,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								},
								{
									"id": 773,
									"name": "lockVersion",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "reference",
												"qualifiedName": "Date",
												"package": "typescript",
												"name": "Date"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 790,
					"name": "map",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 159,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 791,
							"name": "map",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 792,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 792,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 793,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 792,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 794,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 792,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 792,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 799,
					"name": "merge",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 175,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 800,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 801,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 801,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 802,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 801,
										"name": "T"
									}
								},
								{
									"id": 803,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 801,
								"name": "T"
							}
						},
						{
							"id": 804,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 805,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 805,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 806,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 805,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 807,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 805,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 808,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 805,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 785,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 150,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 786,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 787,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 787,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 788,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 787,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 789,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 774,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 130,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 775,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 776,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 776,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 777,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 776,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 778,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 776,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 779,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 139,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 780,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 781,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 781,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 782,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 781,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 783,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 781,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 784,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 781,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 824,
					"name": "persist",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 224,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 825,
							"name": "persist",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 826,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 4,
													"typeArguments": [
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																}
															]
														}
													],
													"name": "IEntity"
												}
											}
										]
									}
								},
								{
									"id": 827,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 828,
					"name": "persistAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 232,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 829,
							"name": "persistAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 830,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 4,
													"typeArguments": [
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																}
															]
														}
													],
													"name": "IEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 831,
					"name": "persistLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 242,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 832,
							"name": "persistLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 833,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 4,
													"typeArguments": [
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																}
															]
														}
													],
													"name": "IEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 834,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 250,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 835,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 836,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 836,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 837,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 836,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 838,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 839,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 844,
					"name": "removeAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 269,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 845,
							"name": "removeAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 846,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 840,
					"name": "removeEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 261,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 841,
							"name": "removeEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 842,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								},
								{
									"id": 843,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 847,
					"name": "removeLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 274,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 848,
							"name": "removeLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 849,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 761,
					"name": "rollback",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 112,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 762,
							"name": "rollback",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 763,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 116,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 764,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 765,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 766,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 767,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 768,
															"name": "em",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 703,
																"name": "EntityManager"
															}
														}
													],
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						704
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						714
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						795,
						757,
						854,
						852,
						759,
						819,
						809,
						727,
						731,
						745,
						850,
						858,
						718,
						715,
						863,
						814,
						721,
						861,
						725,
						769,
						790,
						799,
						785,
						774,
						779,
						824,
						828,
						831,
						834,
						844,
						840,
						847,
						761,
						763
					]
				}
			],
			"sources": [
				{
					"fileName": "EntityManager.ts",
					"line": 10,
					"character": 13
				}
			]
		},
		{
			"id": 208,
			"name": "EntityRepository",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 209,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 210,
							"name": "new EntityRepository",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 211,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 211,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 212,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								},
								{
									"id": 213,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 208,
								"typeArguments": [
									{
										"type": "reference",
										"id": 211,
										"name": "T"
									}
								],
								"name": "EntityRepository"
							}
						}
					]
				},
				{
					"id": 280,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 77,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 281,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 282,
									"name": "pipeline",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 286,
					"name": "canPopulate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 88,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 287,
							"name": "canPopulate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 288,
									"name": "property",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 292,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 99,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 293,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 294,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 289,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 95,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 290,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new instance of given entity and populates it with given data"
							},
							"parameters": [
								{
									"id": 291,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 211,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 225,
					"name": "createQueryBuilder",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 23,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 226,
							"name": "createQueryBuilder",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 227,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 237,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 238,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 239,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 211,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											},
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											}
										]
									}
								},
								{
									"id": 240,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 874,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 211,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 241,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 242,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 211,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											},
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											}
										]
									}
								},
								{
									"id": 243,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 244,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 245,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 246,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 211,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 247,
					"name": "findAll",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 39,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 248,
							"name": "findAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 249,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 874,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 211,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 250,
							"name": "findAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 251,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 252,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 253,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 254,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 211,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 228,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 27,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 229,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 230,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 211,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											},
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											}
										]
									}
								},
								{
									"id": 231,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 232,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 233,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 234,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 211,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											},
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											}
										]
									}
								},
								{
									"id": 235,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 879,
										"name": "FindOneOptions"
									}
								},
								{
									"id": 236,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 265,
					"name": "flush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 57,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 266,
							"name": "flush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 283,
					"name": "getReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 84,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 284,
							"name": "getReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets a reference to the entity identified by the given type and identifier without actually loading it, if the entity is not yet loaded"
							},
							"parameters": [
								{
									"id": 285,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 211,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 277,
					"name": "map",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 73,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 278,
							"name": "map",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 279,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 211,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 274,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 69,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 275,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 276,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 267,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 61,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 268,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 269,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 270,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 65,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 271,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 272,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 273,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 215,
					"name": "persist",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 11,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 216,
							"name": "persist",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 217,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 4,
													"typeArguments": [
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																}
															]
														}
													],
													"name": "IEntity"
												}
											}
										]
									}
								},
								{
									"id": 218,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 219,
					"name": "persistAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 15,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 220,
							"name": "persistAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 221,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 4,
													"typeArguments": [
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																}
															]
														}
													],
													"name": "IEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 222,
					"name": "persistLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 223,
							"name": "persistLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 224,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 4,
													"typeArguments": [
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																}
															]
														}
													],
													"name": "IEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 255,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 45,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 256,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 257,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 211,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 211,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											},
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											}
										]
									}
								},
								{
									"id": 258,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 259,
					"name": "removeAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 49,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 260,
							"name": "removeAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 261,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 262,
					"name": "removeLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityRepository.ts",
							"line": 53,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 263,
							"name": "removeLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 264,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						209
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						280,
						286,
						292,
						289,
						225,
						237,
						247,
						228,
						265,
						283,
						277,
						274,
						267,
						270,
						215,
						219,
						222,
						255,
						259,
						262
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityRepository.ts",
					"line": 6,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 295,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 211,
								"name": "T"
							}
						],
						"name": "IEntityType"
					}
				}
			]
		},
		{
			"id": 393,
			"name": "EntityTransformer",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 423,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 424,
							"name": "new EntityTransformer",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 393,
								"name": "EntityTransformer"
							}
						}
					]
				},
				{
					"id": 394,
					"name": "toObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "entity/EntityTransformer.ts",
							"line": 9,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 395,
							"name": "toObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 396,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 396,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 397,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 396,
										"name": "T"
									}
								},
								{
									"id": 398,
									"name": "ignoreFields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 396,
										"name": "T"
									}
								],
								"name": "EntityData"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						423
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						394
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityTransformer.ts",
					"line": 7,
					"character": 13
				}
			]
		},
		{
			"id": 306,
			"name": "EntityValidator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 307,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityValidator.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 308,
							"name": "new EntityValidator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 309,
									"name": "strict",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 306,
								"name": "EntityValidator"
							}
						}
					]
				},
				{
					"id": 310,
					"name": "validate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityValidator.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 311,
							"name": "validate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 312,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 313,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 312,
												"name": "T"
											}
										],
										"name": "IEntityType"
									}
								},
								{
									"id": 314,
									"name": "payload",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 315,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 332,
					"name": "validateEmptyWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityValidator.ts",
							"line": 72,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 333,
							"name": "validateEmptyWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 334,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 334,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 335,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 334,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 322,
					"name": "validateParams",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityValidator.ts",
							"line": 50,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 323,
							"name": "validateParams",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 324,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 325,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'search condition'"
								},
								{
									"id": 326,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 327,
					"name": "validatePrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityValidator.ts",
							"line": 66,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 328,
							"name": "validatePrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 329,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 329,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 330,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 329,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 331,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 316,
					"name": "validateProperty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "entity/EntityValidator.ts",
							"line": 29,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 317,
							"name": "validateProperty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 318,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 318,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 319,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 320,
									"name": "givenValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 321,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 318,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						307
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						310,
						332,
						322,
						327,
						316
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityValidator.ts",
					"line": 7,
					"character": 13
				}
			]
		},
		{
			"id": 2137,
			"name": "FileCacheAdapter",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2138,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "cache/FileCacheAdapter.ts",
							"line": 6,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2139,
							"name": "new FileCacheAdapter",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2140,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 2141,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 2142,
													"name": "cacheDir",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"sources": [
														{
															"fileName": "cache/FileCacheAdapter.ts",
															"line": 6,
															"character": 42
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "string"
													}
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														2142
													]
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2137,
								"name": "FileCacheAdapter"
							}
						}
					]
				},
				{
					"id": 2143,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "cache/FileCacheAdapter.ts",
							"line": 8,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2144,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2145,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2119,
								"name": "CacheAdapter.get"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2118,
						"name": "CacheAdapter.get"
					}
				},
				{
					"id": 2146,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "cache/FileCacheAdapter.ts",
							"line": 25,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2147,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2148,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2149,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2150,
									"name": "origin",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2122,
								"name": "CacheAdapter.set"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2121,
						"name": "CacheAdapter.set"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2138
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2143,
						2146
					]
				}
			],
			"sources": [
				{
					"fileName": "cache/FileCacheAdapter.ts",
					"line": 4,
					"character": 13
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 2117,
					"name": "CacheAdapter"
				}
			]
		},
		{
			"id": 1383,
			"name": "Hydrator",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 1384,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "hydration/Hydrator.ts",
							"line": 7,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1385,
							"name": "new Hydrator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1386,
									"name": "factory",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 453,
										"name": "EntityFactory"
									}
								},
								{
									"id": 1387,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1383,
								"name": "Hydrator"
							}
						}
					]
				},
				{
					"id": 1390,
					"name": "hydrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "hydration/Hydrator.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1391,
							"name": "hydrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1392,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1392,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1393,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1392,
										"name": "T"
									}
								},
								{
									"id": 1394,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1392,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1395,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1392,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1384
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1390
					]
				}
			],
			"sources": [
				{
					"fileName": "hydration/Hydrator.ts",
					"line": 5,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 1402,
					"name": "ObjectHydrator"
				}
			]
		},
		{
			"id": 2060,
			"name": "JavaScriptMetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2061,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2062,
							"name": "new JavaScriptMetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2063,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2060,
								"name": "JavaScriptMetadataProvider"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2045,
								"name": "MetadataProvider.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2044,
						"name": "MetadataProvider.constructor"
					}
				},
				{
					"id": 2064,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/JavaScriptMetadataProvider.ts",
							"line": 8,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2065,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2066,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2067,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2049,
								"name": "MetadataProvider.loadEntityMetadata"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2048,
						"name": "MetadataProvider.loadEntityMetadata"
					}
				},
				{
					"id": 2068,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/JavaScriptMetadataProvider.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2069,
							"name": "loadFromCache",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Re-hydrates missing attributes like `onUpdate` (functions are lost when caching to JSON)"
							},
							"parameters": [
								{
									"id": 2070,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2071,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 2053,
								"name": "MetadataProvider.loadFromCache"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2052,
						"name": "MetadataProvider.loadFromCache"
					}
				},
				{
					"id": 2077,
					"name": "prepare",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2078,
							"name": "prepare",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2079,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 2080,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "EntityClass"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "EntityClassGroup"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2058,
										"name": "T"
									}
								],
								"name": "EntityClass"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2057,
								"name": "MetadataProvider.prepare"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2056,
						"name": "MetadataProvider.prepare"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2061
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2064,
						2068,
						2077
					]
				}
			],
			"sources": [
				{
					"fileName": "metadata/JavaScriptMetadataProvider.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 2043,
					"name": "MetadataProvider"
				}
			]
		},
		{
			"id": 2043,
			"name": "MetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2044,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 7,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2045,
							"name": "new MetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2046,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2043,
								"name": "MetadataProvider"
							}
						}
					]
				},
				{
					"id": 2048,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 9,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2049,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2050,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2051,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2052,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2053,
							"name": "loadFromCache",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2054,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2055,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 2056,
					"name": "prepare",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2057,
							"name": "prepare",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2058,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 2059,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "EntityClass"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "EntityClassGroup"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2058,
										"name": "T"
									}
								],
								"name": "EntityClass"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2044
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2048,
						2052,
						2056
					]
				}
			],
			"sources": [
				{
					"fileName": "metadata/MetadataProvider.ts",
					"line": 5,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 2060,
					"name": "JavaScriptMetadataProvider"
				},
				{
					"type": "reference",
					"id": 2081,
					"name": "TypeScriptMetadataProvider"
				}
			]
		},
		{
			"id": 176,
			"name": "MikroORM",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 180,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 31,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 181,
							"name": "new MikroORM",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 182,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1244,
												"name": "Configuration"
											},
											{
												"type": "reference",
												"id": 1382,
												"name": "Options"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 176,
								"name": "MikroORM"
							}
						}
					]
				},
				{
					"id": 184,
					"name": "config",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 10,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"id": 1244,
						"name": "Configuration"
					}
				},
				{
					"id": 183,
					"name": "em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 9,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 703,
						"name": "EntityManager"
					}
				},
				{
					"id": 192,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 56,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 193,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 194,
									"name": "force",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 188,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 42,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 189,
							"name": "connect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 195,
					"name": "getMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 60,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 196,
							"name": "getMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				},
				{
					"id": 190,
					"name": "isConnected",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 52,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 191,
							"name": "isConnected",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 177,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "MikroORM.ts",
							"line": 15,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 178,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 179,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1382,
										"name": "Options"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 176,
										"name": "MikroORM"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						180
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						184,
						183
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						192,
						188,
						195,
						190,
						177
					]
				}
			],
			"sources": [
				{
					"fileName": "MikroORM.ts",
					"line": 7,
					"character": 13
				}
			]
		},
		{
			"id": 1993,
			"name": "MongoNamingStrategy",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1994,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 1995,
							"name": "new MongoNamingStrategy",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1993,
								"name": "MongoNamingStrategy"
							}
						}
					]
				},
				{
					"id": 1996,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/MongoNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1997,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 1998,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1974,
								"name": "NamingStrategy.classToTableName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1973,
						"name": "NamingStrategy.classToTableName"
					}
				},
				{
					"id": 1999,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/MongoNamingStrategy.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2000,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 2001,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1982,
								"name": "NamingStrategy.joinColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1981,
						"name": "NamingStrategy.joinColumnName"
					}
				},
				{
					"id": 2002,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/MongoNamingStrategy.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2003,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 2004,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2005,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1990,
								"name": "NamingStrategy.joinKeyColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1989,
						"name": "NamingStrategy.joinKeyColumnName"
					}
				},
				{
					"id": 2006,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/MongoNamingStrategy.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2007,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 2008,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2009,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2010,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1985,
								"name": "NamingStrategy.joinTableName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1984,
						"name": "NamingStrategy.joinTableName"
					}
				},
				{
					"id": 2011,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/MongoNamingStrategy.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2012,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 2013,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1977,
								"name": "NamingStrategy.propertyToColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1976,
						"name": "NamingStrategy.propertyToColumnName"
					}
				},
				{
					"id": 2014,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/MongoNamingStrategy.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2015,
							"name": "referenceColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the default reference column name"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1980,
								"name": "NamingStrategy.referenceColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1979,
						"name": "NamingStrategy.referenceColumnName"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1994
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1996,
						1999,
						2002,
						2006,
						2011,
						2014
					]
				}
			],
			"sources": [
				{
					"fileName": "naming-strategy/MongoNamingStrategy.ts",
					"line": 3,
					"character": 13
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 1972,
					"name": "NamingStrategy"
				}
			]
		},
		{
			"id": 2126,
			"name": "NullCacheAdapter",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2127,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2128,
							"name": "new NullCacheAdapter",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2126,
								"name": "NullCacheAdapter"
							}
						}
					]
				},
				{
					"id": 2129,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "cache/NullCacheAdapter.ts",
							"line": 5,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2130,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2131,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2119,
								"name": "CacheAdapter.get"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2118,
						"name": "CacheAdapter.get"
					}
				},
				{
					"id": 2132,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "cache/NullCacheAdapter.ts",
							"line": 9,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2133,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2134,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2135,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2136,
									"name": "origin",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2122,
								"name": "CacheAdapter.set"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2121,
						"name": "CacheAdapter.set"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2127
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2129,
						2132
					]
				}
			],
			"sources": [
				{
					"fileName": "cache/NullCacheAdapter.ts",
					"line": 3,
					"character": 13
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 2117,
					"name": "CacheAdapter"
				}
			]
		},
		{
			"id": 1402,
			"name": "ObjectHydrator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1403,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 1404,
							"name": "new ObjectHydrator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1405,
									"name": "factory",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 453,
										"name": "EntityFactory"
									}
								},
								{
									"id": 1406,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1402,
								"name": "ObjectHydrator"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1385,
								"name": "Hydrator.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1384,
						"name": "Hydrator.constructor"
					}
				},
				{
					"id": 1455,
					"name": "hydrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "hydration/Hydrator.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1456,
							"name": "hydrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1457,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1392,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1458,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1392,
										"name": "T"
									}
								},
								{
									"id": 1459,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1392,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1460,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1392,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 1391,
								"name": "Hydrator.hydrate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 1390,
						"name": "Hydrator.hydrate"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1403
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1455
					]
				}
			],
			"sources": [
				{
					"fileName": "hydration/ObjectHydrator.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 1383,
					"name": "Hydrator"
				}
			]
		},
		{
			"id": 1928,
			"name": "Platform",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 1929,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 1930,
							"name": "new Platform",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1928,
								"name": "Platform"
							}
						}
					]
				},
				{
					"id": 1957,
					"name": "denormalizePrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 55,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1958,
							"name": "denormalizePrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts scalar primary key representation to native driver wrapper (e.g. string to mongodb's ObjectID)"
							},
							"parameters": [
								{
									"id": 1959,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 154,
								"name": "IPrimaryKey"
							}
						}
					]
				},
				{
					"id": 1963,
					"name": "getCurrentTimestampSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 69,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1964,
							"name": "getCurrentTimestampSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the SQL specific for the platform to get the current timestamp"
							},
							"parameters": [
								{
									"id": 1965,
									"name": "length",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1966,
					"name": "getForUpdateSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 77,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1967,
							"name": "getForUpdateSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the FOR UPDATE expression."
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1938,
					"name": "getNamingStrategy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1939,
							"name": "getNamingStrategy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reflection",
								"declaration": {
									"id": 1940,
									"name": "__type",
									"kind": 512,
									"kindString": "Constructor",
									"flags": {},
									"signatures": [
										{
											"id": 1941,
											"name": "new getNamingStrategy",
											"kind": 16384,
											"kindString": "Constructor signature",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1972,
												"name": "NamingStrategy"
											}
										}
									]
								}
							}
						}
					]
				},
				{
					"id": 1942,
					"name": "getParameterPlaceholder",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1943,
							"name": "getParameterPlaceholder",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1944,
									"name": "index",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1968,
					"name": "getReadLockSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 87,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1969,
							"name": "getReadLockSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the SQL snippet to append to any SELECT statement which locks rows in shared read lock.",
								"text": "This defaults to the ANSI SQL \"FOR UPDATE\", which is an exclusive lock (Write). Some database\nvendors allow to lighten this constraint up to be a real read lock.\n"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1949,
					"name": "getSchemaHelper",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 37,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1950,
							"name": "getSchemaHelper",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2254,
								"name": "SchemaHelper"
							}
						}
					]
				},
				{
					"id": 1960,
					"name": "getSerializedPrimaryKeyField",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 62,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1961,
							"name": "getSerializedPrimaryKeyField",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Used when serializing via toObject and toJSON methods, allows to use different PK field name (like `id` instead of `_id`)"
							},
							"parameters": [
								{
									"id": 1962,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1970,
					"name": "getWriteLockSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 96,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1971,
							"name": "getWriteLockSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the SQL snippet to append to any SELECT statement which obtains an exclusive lock on the rows.",
								"text": "The semantics of this lock mode should equal the SELECT .. FOR UPDATE of the ANSI SQL standard.\n"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1953,
					"name": "normalizePrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 48,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1954,
							"name": "normalizePrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Normalizes primary key wrapper to scalar value (e.g. mongodb's ObjectID to string)"
							},
							"typeParameter": [
								{
									"id": 1955,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1956,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1955,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 1951,
					"name": "requiresNullableForAlteringColumn",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 41,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1952,
							"name": "requiresNullableForAlteringColumn",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1936,
					"name": "supportsSavePoints",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1937,
							"name": "supportsSavePoints",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1934,
					"name": "supportsTransactions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1935,
							"name": "supportsTransactions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1947,
					"name": "usesCascadeStatement",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1948,
							"name": "usesCascadeStatement",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1932,
					"name": "usesPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1933,
							"name": "usesPivotTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1945,
					"name": "usesReturningStatement",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "platforms/Platform.ts",
							"line": 29,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1946,
							"name": "usesReturningStatement",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1929
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1957,
						1963,
						1966,
						1938,
						1942,
						1968,
						1949,
						1960,
						1970,
						1953,
						1951,
						1936,
						1934,
						1947,
						1932,
						1945
					]
				}
			],
			"sources": [
				{
					"fileName": "platforms/Platform.ts",
					"line": 5,
					"character": 22
				}
			]
		},
		{
			"id": 1461,
			"name": "QueryBuilder",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "SQL query builder"
			},
			"children": [
				{
					"id": 1462,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 37,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1463,
							"name": "new QueryBuilder",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1464,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1465,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "EntityMetadata"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								},
								{
									"id": 1466,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								},
								{
									"id": 1467,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1488,
					"name": "alias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"defaultValue": "..."
				},
				{
					"id": 1468,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 15,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 2193,
						"name": "QueryType"
					}
				},
				{
					"id": 1525,
					"name": "andWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 130,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1526,
							"name": "andWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1527,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						},
						{
							"id": 1528,
							"name": "andWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1529,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1530,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1568,
					"name": "clone",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 261,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1569,
							"name": "clone",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1504,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1505,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1506,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1507,
									"name": "distinct",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1499,
					"name": "delete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 60,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1500,
							"name": "delete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1501,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1564,
					"name": "execute",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 247,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1565,
							"name": "execute",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1566,
									"name": "method",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "all"
											},
											{
												"type": "literal",
												"value": "get"
											},
											{
												"type": "literal",
												"value": "run"
											}
										]
									},
									"defaultValue": "'all'"
								},
								{
									"id": 1567,
									"name": "mapResults",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1562,
					"name": "getParams",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 223,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1563,
							"name": "getParams",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "any"
								}
							}
						}
					]
				},
				{
					"id": 1560,
					"name": "getQuery",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 203,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1561,
							"name": "getQuery",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1540,
					"name": "groupBy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 159,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1541,
							"name": "groupBy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1542,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1543,
					"name": "having",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 164,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1544,
							"name": "having",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1545,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"qualifiedName": "Record",
												"package": "typescript",
												"name": "Record"
											}
										]
									}
								},
								{
									"id": 1546,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1493,
					"name": "insert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 52,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1494,
							"name": "insert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1495,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1508,
					"name": "join",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 79,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1509,
							"name": "join",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1510,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1511,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1512,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "left"
											},
											{
												"type": "literal",
												"value": "inner"
											}
										]
									},
									"defaultValue": "'inner'"
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1513,
					"name": "leftJoin",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 101,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1514,
							"name": "leftJoin",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1515,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1516,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1550,
					"name": "limit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 178,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1551,
							"name": "limit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1552,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 1553,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									},
									"defaultValue": "0"
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1554,
					"name": "offset",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 188,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1555,
							"name": "offset",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1556,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1531,
					"name": "orWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 136,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1532,
							"name": "orWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1533,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						},
						{
							"id": 1534,
							"name": "orWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1535,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1536,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1537,
					"name": "orderBy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 142,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1538,
							"name": "orderBy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1539,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1547,
					"name": "populate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 173,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1548,
							"name": "populate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1549,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1489,
					"name": "select",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 42,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1490,
							"name": "select",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1491,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 1492,
									"name": "distinct",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1557,
					"name": "setLockMode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 193,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1558,
							"name": "setLockMode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1559,
									"name": "mode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1502,
					"name": "truncate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 64,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1503,
							"name": "truncate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1496,
					"name": "update",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 56,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1497,
							"name": "update",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1498,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 1517,
					"name": "where",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 105,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1518,
							"name": "where",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1519,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								},
								{
									"id": 1520,
									"name": "operator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "$and"
											},
											{
												"type": "literal",
												"value": "$or"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						},
						{
							"id": 1521,
							"name": "where",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1522,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1523,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								},
								{
									"id": 1524,
									"name": "operator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "$and"
											},
											{
												"type": "literal",
												"value": "$or"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1461,
								"name": "QueryBuilder"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1462
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1488,
						1468
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1525,
						1568,
						1504,
						1499,
						1564,
						1562,
						1560,
						1540,
						1543,
						1493,
						1508,
						1513,
						1550,
						1554,
						1531,
						1537,
						1547,
						1489,
						1557,
						1502,
						1496,
						1517
					]
				}
			],
			"sources": [
				{
					"fileName": "query/QueryBuilder.ts",
					"line": 13,
					"character": 13
				}
			]
		},
		{
			"id": 1122,
			"name": "RequestContext",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1134,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/RequestContext.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1135,
							"name": "new RequestContext",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1136,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1122,
								"name": "RequestContext"
							}
						}
					]
				},
				{
					"id": 1138,
					"name": "em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"id": 703,
						"name": "EntityManager"
					}
				},
				{
					"id": 1137,
					"name": "id",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "utils/RequestContext.ts",
							"line": 13,
							"character": 11
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"defaultValue": "..."
				},
				{
					"id": 1123,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/RequestContext.ts",
							"line": 17,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1124,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1125,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								},
								{
									"id": 1126,
									"name": "next",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1127,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1128,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 1129,
															"name": "args",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isRest": true
															},
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "any"
																}
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "void"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1130,
					"name": "currentRequestContext",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/RequestContext.ts",
							"line": 24,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1131,
							"name": "currentRequestContext",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 1122,
										"name": "RequestContext"
									}
								]
							}
						}
					]
				},
				{
					"id": 1132,
					"name": "getEntityManager",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/RequestContext.ts",
							"line": 28,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1133,
							"name": "getEntityManager",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								]
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1134
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1138,
						1137
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1123,
						1130,
						1132
					]
				}
			],
			"sources": [
				{
					"fileName": "utils/RequestContext.ts",
					"line": 11,
					"character": 13
				}
			]
		},
		{
			"id": 2211,
			"name": "SchemaGenerator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2212,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaGenerator.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2213,
							"name": "new SchemaGenerator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2214,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								},
								{
									"id": 2215,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "EntityMetadata"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2211,
								"name": "SchemaGenerator"
							}
						}
					]
				},
				{
					"id": 2218,
					"name": "generate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaGenerator.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2219,
							"name": "generate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2212
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2218
					]
				}
			],
			"sources": [
				{
					"fileName": "schema/SchemaGenerator.ts",
					"line": 5,
					"character": 13
				}
			]
		},
		{
			"id": 2254,
			"name": "SchemaHelper",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2255,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2256,
							"name": "new SchemaHelper",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2254,
								"name": "SchemaHelper"
							}
						}
					]
				},
				{
					"id": 2297,
					"name": "createColumn",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 87,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2298,
							"name": "createColumn",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2299,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2300,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 2301,
									"name": "nullable",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2293,
					"name": "createPrimaryKeyColumn",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 77,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2294,
							"name": "createPrimaryKeyColumn",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2295,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2296,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2288,
					"name": "dropTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 62,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2289,
							"name": "dropTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2290,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2265,
					"name": "getAutoIncrementStatement",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2266,
							"name": "getAutoIncrementStatement",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2267,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2257,
					"name": "getIdentifierQuoteCharacter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2258,
							"name": "getIdentifierQuoteCharacter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2268,
					"name": "getPrimaryKeySubtype",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2269,
							"name": "getPrimaryKeySubtype",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2270,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2259,
					"name": "getSchemaBeginning",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2260,
							"name": "getSchemaBeginning",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2261,
					"name": "getSchemaEnd",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2262,
							"name": "getSchemaEnd",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2263,
					"name": "getSchemaTableEnd",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2264,
							"name": "getSchemaTableEnd",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2271,
					"name": "getTypeDefinition",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 29,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2272,
							"name": "getTypeDefinition",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2273,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 2274,
									"name": "types",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "string"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									},
									"defaultValue": "{}"
								},
								{
									"id": 2275,
									"name": "lengths",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2276,
					"name": "getUnsignedSuffix",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 41,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2277,
							"name": "getUnsignedSuffix",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2278,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2291,
					"name": "indexForeignKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 73,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2292,
							"name": "indexForeignKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2285,
					"name": "quoteIdentifier",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 57,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2286,
							"name": "quoteIdentifier",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2287,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2279,
					"name": "supportsSchemaConstraints",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2280,
							"name": "supportsSchemaConstraints",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2281,
					"name": "supportsSchemaMultiAlter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 49,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2282,
							"name": "supportsSchemaMultiAlter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2283,
					"name": "supportsSequences",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "schema/SchemaHelper.ts",
							"line": 53,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2284,
							"name": "supportsSequences",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2255
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2297,
						2293,
						2288,
						2265,
						2257,
						2268,
						2259,
						2261,
						2263,
						2271,
						2276,
						2291,
						2285,
						2279,
						2281,
						2283
					]
				}
			],
			"sources": [
				{
					"fileName": "schema/SchemaHelper.ts",
					"line": 3,
					"character": 22
				}
			]
		},
		{
			"id": 2081,
			"name": "TypeScriptMetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2082,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2083,
							"name": "new TypeScriptMetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2084,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1244,
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2081,
								"name": "TypeScriptMetadataProvider"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2045,
								"name": "MetadataProvider.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2044,
						"name": "MetadataProvider.constructor"
					}
				},
				{
					"id": 2087,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/TypeScriptMetadataProvider.ts",
							"line": 13,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2088,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2089,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2090,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2049,
								"name": "MetadataProvider.loadEntityMetadata"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2048,
						"name": "MetadataProvider.loadEntityMetadata"
					}
				},
				{
					"id": 2109,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2110,
							"name": "loadFromCache",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2111,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2112,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2053,
								"name": "MetadataProvider.loadFromCache"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2052,
						"name": "MetadataProvider.loadFromCache"
					}
				},
				{
					"id": 2113,
					"name": "prepare",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "metadata/MetadataProvider.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2114,
							"name": "prepare",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2115,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 2116,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "EntityClass"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 2058,
														"name": "T"
													}
												],
												"name": "EntityClassGroup"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2058,
										"name": "T"
									}
								],
								"name": "EntityClass"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2057,
								"name": "MetadataProvider.prepare"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2056,
						"name": "MetadataProvider.prepare"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2082
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2087,
						2109,
						2113
					]
				}
			],
			"sources": [
				{
					"fileName": "metadata/TypeScriptMetadataProvider.ts",
					"line": 8,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 2043,
					"name": "MetadataProvider"
				}
			]
		},
		{
			"id": 2016,
			"name": "UnderscoreNamingStrategy",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2017,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2018,
							"name": "new UnderscoreNamingStrategy",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2016,
								"name": "UnderscoreNamingStrategy"
							}
						}
					]
				},
				{
					"id": 2019,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2020,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 2021,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1974,
								"name": "NamingStrategy.classToTableName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1973,
						"name": "NamingStrategy.classToTableName"
					}
				},
				{
					"id": 2022,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2023,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 2024,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2025,
									"name": "className",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1982,
								"name": "NamingStrategy.joinColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1981,
						"name": "NamingStrategy.joinColumnName"
					}
				},
				{
					"id": 2026,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2027,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 2028,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2029,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1990,
								"name": "NamingStrategy.joinKeyColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1989,
						"name": "NamingStrategy.joinKeyColumnName"
					}
				},
				{
					"id": 2030,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2031,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 2032,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2033,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2034,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1985,
								"name": "NamingStrategy.joinTableName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1984,
						"name": "NamingStrategy.joinTableName"
					}
				},
				{
					"id": 2035,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2036,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 2037,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1977,
								"name": "NamingStrategy.propertyToColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1976,
						"name": "NamingStrategy.propertyToColumnName"
					}
				},
				{
					"id": 2038,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2039,
							"name": "referenceColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the default reference column name"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 1980,
								"name": "NamingStrategy.referenceColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 1979,
						"name": "NamingStrategy.referenceColumnName"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2017
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2019,
						2022,
						2026,
						2030,
						2035,
						2038
					]
				}
			],
			"sources": [
				{
					"fileName": "naming-strategy/UnderscoreNamingStrategy.ts",
					"line": 3,
					"character": 13
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 1972,
					"name": "NamingStrategy"
				}
			]
		},
		{
			"id": 975,
			"name": "UnitOfWork",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 976,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 32,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 977,
							"name": "new UnitOfWork",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 978,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 703,
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 975,
								"name": "UnitOfWork"
							}
						}
					]
				},
				{
					"id": 1036,
					"name": "cancelOrphanRemoval",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 173,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1037,
							"name": "cancelOrphanRemoval",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1038,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1026,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 129,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1027,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1018,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 95,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1019,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1031,
					"name": "computeChangeSets",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 141,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1032,
							"name": "computeChangeSets",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 997,
					"name": "getById",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 48,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 998,
							"name": "getById",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 999,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 999,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1000,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1001,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 999,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 1007,
					"name": "getIdentityMap",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 63,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1008,
							"name": "getIdentityMap",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				},
				{
					"id": 1020,
					"name": "lock",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 115,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1021,
							"name": "lock",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1022,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1022,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1023,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1022,
										"name": "T"
									}
								},
								{
									"id": 1024,
									"name": "mode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								},
								{
									"id": 1025,
									"name": "version",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "reference",
												"qualifiedName": "Date",
												"package": "typescript",
												"name": "Date"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 991,
					"name": "merge",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 34,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 992,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 993,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 993,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 994,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 993,
										"name": "T"
									}
								},
								{
									"id": 995,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4,
											"typeArguments": [
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														}
													]
												}
											],
											"name": "IEntity"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 996,
									"name": "mergeData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1009,
					"name": "persist",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 67,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1010,
							"name": "persist",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1011,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1011,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1012,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1011,
										"name": "T"
									}
								},
								{
									"id": 1013,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4,
											"typeArguments": [
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														}
													]
												}
											],
											"name": "IEntity"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1014,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 81,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1015,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1016,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								},
								{
									"id": 1017,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4,
											"typeArguments": [
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														}
													]
												}
											],
											"name": "IEntity"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1033,
					"name": "scheduleOrphanRemoval",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 169,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1034,
							"name": "scheduleOrphanRemoval",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1035,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1002,
					"name": "tryGetById",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 53,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1003,
							"name": "tryGetById",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1004,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1004,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1005,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1006,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1004,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 1004,
										"name": "T"
									}
								]
							}
						}
					]
				},
				{
					"id": 1028,
					"name": "unsetIdentity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/UnitOfWork.ts",
							"line": 135,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1029,
							"name": "unsetIdentity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1030,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						976
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1036,
						1026,
						1018,
						1031,
						997,
						1007,
						1020,
						991,
						1009,
						1014,
						1033,
						1002,
						1028
					]
				}
			],
			"sources": [
				{
					"fileName": "unit-of-work/UnitOfWork.ts",
					"line": 11,
					"character": 13
				}
			]
		},
		{
			"id": 1139,
			"name": "Utils",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1242,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 1243,
							"name": "new Utils",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1139,
								"name": "Utils"
							}
						}
					]
				},
				{
					"id": 1186,
					"name": "asArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 114,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1187,
							"name": "asArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1188,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 1189,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1188,
												"name": "T"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1188,
													"name": "T"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 1188,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1215,
					"name": "className",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 197,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1216,
							"name": "className",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1217,
									"name": "classOrName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"qualifiedName": "Function",
												"package": "typescript",
												"name": "Function"
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1183,
					"name": "copy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 110,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1184,
							"name": "copy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1185,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 1170,
					"name": "diff",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 62,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1171,
							"name": "diff",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1172,
									"name": "a",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								},
								{
									"id": 1173,
									"name": "b",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				},
				{
					"id": 1174,
					"name": "diffEntities",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 76,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1175,
							"name": "diffEntities",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1176,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1176,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1177,
									"name": "a",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1176,
										"name": "T"
									}
								},
								{
									"id": 1178,
									"name": "b",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1176,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1176,
										"name": "T"
									}
								],
								"name": "EntityData"
							}
						}
					]
				},
				{
					"id": 1154,
					"name": "equals",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 26,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1155,
							"name": "equals",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1156,
									"name": "a",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1157,
									"name": "b",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1201,
					"name": "extractPK",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 165,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1202,
							"name": "extractPK",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1203,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1204,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 154,
										"name": "IPrimaryKey"
									}
								]
							}
						}
					]
				},
				{
					"id": 1162,
					"name": "flatten",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 34,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1163,
							"name": "flatten",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1164,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 1165,
									"name": "arrays",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "array",
											"elementType": {
												"type": "reference",
												"id": 1164,
												"name": "T"
											}
										}
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 1164,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1222,
					"name": "getObjectType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 230,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1223,
							"name": "getObjectType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1224,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1195,
					"name": "getParamNames",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 132,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1196,
							"name": "getParamNames",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1197,
									"name": "func",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"qualifiedName": "Function",
												"package": "typescript",
												"name": "Function"
											}
										]
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						}
					]
				},
				{
					"id": 1234,
					"name": "isCollection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 245,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1235,
							"name": "isCollection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1236,
									"name": "item",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1237,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1238,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 197,
										"name": "ReferenceType"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "item",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 606,
									"typeArguments": [
										{
											"type": "reference",
											"id": 4,
											"typeArguments": [
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														}
													]
												}
											],
											"name": "IEntity"
										}
									],
									"name": "Collection"
								}
							}
						}
					]
				},
				{
					"id": 1140,
					"name": "isDefined",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 10,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1141,
							"name": "isDefined",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1142,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "data",
								"asserts": false,
								"targetType": {
									"type": "intrinsic",
									"name": "object"
								}
							}
						}
					]
				},
				{
					"id": 1212,
					"name": "isEmpty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 185,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1213,
							"name": "isEmpty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1214,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1205,
					"name": "isEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 177,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1206,
							"name": "isEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1207,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1208,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "data",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 1207,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1150,
					"name": "isNumber",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 22,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1151,
							"name": "isNumber",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1152,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"parameters": [
								{
									"id": 1153,
									"name": "s",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "s",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 1152,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1143,
					"name": "isObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 14,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1144,
							"name": "isObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1145,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"parameters": [
								{
									"id": 1146,
									"name": "o",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "o",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 1145,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1209,
					"name": "isObjectID",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 181,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1210,
							"name": "isObjectID",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1211,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1198,
					"name": "isPrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 161,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1199,
							"name": "isPrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1200,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "key",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 154,
									"name": "IPrimaryKey"
								}
							}
						}
					]
				},
				{
					"id": 1147,
					"name": "isString",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 18,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1148,
							"name": "isString",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1149,
									"name": "s",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "s",
								"asserts": false,
								"targetType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						}
					]
				},
				{
					"id": 1218,
					"name": "lookupPathFromDecorator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 208,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1219,
							"name": "lookupPathFromDecorator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "uses some dark magic to get source path to caller where decorator is used"
							},
							"parameters": [
								{
									"id": 1220,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1221,
									"name": "stack",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1166,
					"name": "merge",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 38,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1167,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1168,
									"name": "target",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1169,
									"name": "sources",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 1239,
					"name": "normalizePath",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 253,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1240,
							"name": "normalizePath",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1241,
									"name": "parts",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1179,
					"name": "prepareEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 80,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1180,
							"name": "prepareEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1181,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1181,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1182,
									"name": "e",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1181,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1181,
										"name": "T"
									}
								],
								"name": "EntityData"
							}
						}
					]
				},
				{
					"id": 1190,
					"name": "renameKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 125,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1191,
							"name": "renameKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Renames object key, keeps order of properties."
							},
							"parameters": [
								{
									"id": 1192,
									"name": "payload",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1193,
									"name": "from",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1194,
									"name": "to",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1225,
					"name": "runSerial",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 235,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 1226,
							"name": "runSerial",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1227,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1228,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"parameters": [
								{
									"id": 1229,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1228,
												"name": "U"
											}
										],
										"qualifiedName": "Iterable",
										"package": "typescript",
										"name": "Iterable"
									}
								},
								{
									"id": 1230,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1231,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1232,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 1233,
															"name": "item",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 1228,
																"name": "U"
															}
														}
													],
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 1227,
																"name": "T"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 1227,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1158,
					"name": "unique",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "utils/Utils.ts",
							"line": 30,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1159,
							"name": "unique",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1160,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"parameters": [
								{
									"id": 1161,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 1160,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 1160,
									"name": "T"
								}
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1242
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1186,
						1215,
						1183,
						1170,
						1174,
						1154,
						1201,
						1162,
						1222,
						1195,
						1234,
						1140,
						1212,
						1205,
						1150,
						1143,
						1209,
						1198,
						1147,
						1218,
						1166,
						1239,
						1179,
						1190,
						1225,
						1158
					]
				}
			],
			"sources": [
				{
					"fileName": "utils/Utils.ts",
					"line": 8,
					"character": 13
				}
			]
		},
		{
			"id": 390,
			"name": "AssignOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 392,
					"name": "mergeObjects",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "entity/EntityAssigner.ts",
							"line": 100,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 391,
					"name": "onlyProperties",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "entity/EntityAssigner.ts",
							"line": 99,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						392,
						391
					]
				}
			],
			"sources": [
				{
					"fileName": "entity/EntityAssigner.ts",
					"line": 98,
					"character": 17
				}
			]
		},
		{
			"id": 2117,
			"name": "CacheAdapter",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2118,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2119,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2120,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2121,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2122,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2123,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2124,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2125,
									"name": "origin",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2118,
						2121
					]
				}
			],
			"sources": [
				{
					"fileName": "cache/CacheAdapter.ts",
					"line": 1,
					"character": 17
				}
			],
			"implementedBy": [
				{
					"type": "reference",
					"id": 2137,
					"name": "FileCacheAdapter"
				},
				{
					"type": "reference",
					"id": 2126,
					"name": "NullCacheAdapter"
				}
			]
		},
		{
			"id": 891,
			"name": "ChangeSet",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 893,
					"name": "collection",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 5,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 895,
					"name": "entity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 7,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 897,
						"name": "T"
					}
				},
				{
					"id": 892,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 4,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 896,
					"name": "payload",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 8,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 897,
								"name": "T"
							}
						],
						"name": "EntityData"
					}
				},
				{
					"id": 894,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "unit-of-work/ChangeSet.ts",
							"line": 6,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 898,
						"name": "ChangeSetType"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						893,
						895,
						892,
						896,
						894
					]
				}
			],
			"sources": [
				{
					"fileName": "unit-of-work/ChangeSet.ts",
					"line": 3,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 897,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 897,
								"name": "T"
							}
						],
						"name": "IEntityType"
					}
				}
			]
		},
		{
			"id": 1922,
			"name": "ConnectionConfig",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1927,
					"name": "database",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 110,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1923,
					"name": "host",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 106,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1926,
					"name": "password",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 109,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1924,
					"name": "port",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 107,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 1925,
					"name": "user",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 108,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1927,
						1923,
						1926,
						1924,
						1925
					]
				}
			],
			"sources": [
				{
					"fileName": "connections/Connection.ts",
					"line": 105,
					"character": 17
				}
			]
		},
		{
			"id": 879,
			"name": "FindOneOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 885,
					"name": "fields",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 368,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 882,
					"name": "lockMode",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 365,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 886,
						"name": "LockMode"
					}
				},
				{
					"id": 883,
					"name": "lockVersion",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 366,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "number"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							}
						]
					}
				},
				{
					"id": 881,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 364,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 2210,
						"name": "QueryOrderMap"
					}
				},
				{
					"id": 880,
					"name": "populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 363,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 884,
					"name": "refresh",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 367,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						885,
						882,
						883,
						881,
						880,
						884
					]
				}
			],
			"sources": [
				{
					"fileName": "EntityManager.ts",
					"line": 362,
					"character": 17
				}
			]
		},
		{
			"id": 874,
			"name": "FindOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 877,
					"name": "limit",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 358,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 878,
					"name": "offset",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 359,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 876,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 357,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 2210,
						"name": "QueryOrderMap"
					}
				},
				{
					"id": 875,
					"name": "populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "EntityManager.ts",
							"line": 356,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						877,
						878,
						876,
						875
					]
				}
			],
			"sources": [
				{
					"fileName": "EntityManager.ts",
					"line": 355,
					"character": 17
				}
			]
		},
		{
			"id": 1607,
			"name": "IDatabaseDriver",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1649,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1650,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1651,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1652,
									"name": "pipeline",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1663,
					"name": "beginTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1664,
							"name": "beginTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Begins a transaction (if supported)"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1665,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1666,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Commits statements in a transaction"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1644,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1645,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1646,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1646,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1647,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1648,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1646,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1610,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1611,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds selection of entities"
							},
							"typeParameter": [
								{
									"id": 1612,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1612,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1613,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1614,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1679,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1612,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1615,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1616,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 1617,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 1618,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 1612,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1619,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1620,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds single entity (table row, document)"
							},
							"typeParameter": [
								{
									"id": 1621,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1621,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1622,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1623,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1621,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 1624,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1625,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2210,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 1626,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 1627,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 1621,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1608,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1609,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1678,
								"name": "C"
							}
						}
					]
				},
				{
					"id": 1676,
					"name": "getPlatform",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1677,
							"name": "getPlatform",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1928,
								"name": "Platform"
							}
						}
					]
				},
				{
					"id": 1674,
					"name": "isInTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1675,
							"name": "isInTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1658,
					"name": "loadFromPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1659,
							"name": "loadFromPivotTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "When driver uses pivot tables for M:N, this method will load identifiers for given collections from them"
							},
							"typeParameter": [
								{
									"id": 1660,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1660,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1661,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1662,
									"name": "owners",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 154,
											"name": "IPrimaryKey"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1660,
													"name": "T"
												}
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1653,
					"name": "mapResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1654,
							"name": "mapResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1655,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "mapped",
												"parameter": "k",
												"parameterType": {
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												},
												"templateType": {
													"type": "intrinsic",
													"name": "any"
												}
											},
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													},
													{
														"type": "reference",
														"id": 1655,
														"name": "T"
													}
												],
												"name": "IEntity"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1656,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1655,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 1657,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 1655,
										"name": "T"
									}
								]
							}
						}
					]
				},
				{
					"id": 1639,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1640,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1641,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1641,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1642,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1643,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1641,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1628,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1629,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1630,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1630,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1631,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1632,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1630,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1633,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1634,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1635,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "reference",
												"id": 1635,
												"name": "T"
											}
										],
										"name": "IEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1636,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1637,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 154,
												"name": "IPrimaryKey"
											},
											{
												"type": "reference",
												"id": 1679,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1635,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 1638,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 1635,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1918,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1667,
					"name": "rollback",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1668,
							"name": "rollback",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Rollback changes in a transaction"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1669,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1670,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Runs callback inside transaction"
							},
							"parameters": [
								{
									"id": 1671,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1672,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1673,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1649,
						1663,
						1665,
						1644,
						1610,
						1619,
						1608,
						1676,
						1674,
						1658,
						1653,
						1639,
						1628,
						1633,
						1667,
						1669
					]
				}
			],
			"sources": [
				{
					"fileName": "drivers/IDatabaseDriver.ts",
					"line": 7,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 1678,
					"name": "C",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 1871,
						"name": "Connection"
					},
					"default": {
						"type": "reference",
						"id": 1871,
						"name": "Connection"
					}
				}
			],
			"implementedBy": [
				{
					"type": "reference",
					"id": 1681,
					"name": "DatabaseDriver"
				}
			]
		},
		{
			"id": 4,
			"name": "IEntity",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 26,
					"name": "__em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 36,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 703,
						"name": "EntityManager"
					}
				},
				{
					"id": 27,
					"name": "__initialized",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 29,
					"name": "__lazyInitialized",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 28,
					"name": "__populated",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 30,
					"name": "__primaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 34,
						"name": "K"
					}
				},
				{
					"id": 31,
					"name": "__primaryKeyField",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "id"
							},
							{
								"type": "literal",
								"value": "isInitialized"
							},
							{
								"type": "literal",
								"value": "populated"
							},
							{
								"type": "literal",
								"value": "init"
							},
							{
								"type": "literal",
								"value": "toObject"
							},
							{
								"type": "literal",
								"value": "toJSON"
							},
							{
								"type": "literal",
								"value": "assign"
							},
							{
								"type": "literal",
								"value": "__uuid"
							},
							{
								"type": "literal",
								"value": "__em"
							},
							{
								"type": "literal",
								"value": "__initialized"
							},
							{
								"type": "literal",
								"value": "__populated"
							},
							{
								"type": "literal",
								"value": "__lazyInitialized"
							},
							{
								"type": "literal",
								"value": "__primaryKey"
							},
							{
								"type": "literal",
								"value": "__primaryKeyField"
							},
							{
								"type": "literal",
								"value": "__serializedPrimaryKey"
							},
							{
								"type": "literal",
								"value": "__serializedPrimaryKeyField"
							}
						]
					}
				},
				{
					"id": 32,
					"name": "__serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "id"
							},
							{
								"type": "literal",
								"value": "isInitialized"
							},
							{
								"type": "literal",
								"value": "populated"
							},
							{
								"type": "literal",
								"value": "init"
							},
							{
								"type": "literal",
								"value": "toObject"
							},
							{
								"type": "literal",
								"value": "toJSON"
							},
							{
								"type": "literal",
								"value": "assign"
							},
							{
								"type": "literal",
								"value": "__uuid"
							},
							{
								"type": "literal",
								"value": "__em"
							},
							{
								"type": "literal",
								"value": "__initialized"
							},
							{
								"type": "literal",
								"value": "__populated"
							},
							{
								"type": "literal",
								"value": "__lazyInitialized"
							},
							{
								"type": "literal",
								"value": "__primaryKey"
							},
							{
								"type": "literal",
								"value": "__primaryKeyField"
							},
							{
								"type": "literal",
								"value": "__serializedPrimaryKey"
							},
							{
								"type": "literal",
								"value": "__serializedPrimaryKeyField"
							}
						]
					}
				},
				{
					"id": 33,
					"name": "__serializedPrimaryKeyField",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 25,
					"name": "__uuid",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 35,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 5,
					"name": "id",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 28,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 34,
						"name": "K"
					}
				},
				{
					"id": 21,
					"name": "assign",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 22,
							"name": "assign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 23,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 24,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "reference",
												"id": 390,
												"name": "AssignOptions"
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 11,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 12,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 13,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 14,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 886,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 4,
										"typeArguments": [
											{
												"type": "reference",
												"id": 34,
												"name": "K"
											}
										],
										"name": "IEntity"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 6,
					"name": "isInitialized",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 7,
							"name": "isInitialized",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 8,
					"name": "populated",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 9,
							"name": "populated",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 10,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 18,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 19,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 20,
									"name": "args",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				},
				{
					"id": 15,
					"name": "toObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 16,
							"name": "toObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 17,
									"name": "ignoreFields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						26,
						27,
						29,
						28,
						30,
						31,
						32,
						33,
						25,
						5
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						21,
						11,
						6,
						8,
						18,
						15
					]
				}
			],
			"sources": [
				{
					"fileName": "decorators/Entity.ts",
					"line": 27,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 34,
					"name": "K",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"default": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "number"
							},
							{
								"type": "intrinsic",
								"name": "string"
							}
						]
					}
				}
			]
		},
		{
			"id": 1598,
			"name": "JoinOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1601,
					"name": "alias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 447,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1604,
					"name": "inverseJoinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 450,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1603,
					"name": "joinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 449,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1602,
					"name": "ownerAlias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 448,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1605,
					"name": "primaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 451,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1606,
					"name": "prop",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 452,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "EntityProperty"
					}
				},
				{
					"id": 1599,
					"name": "table",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 445,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1600,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "query/QueryBuilder.ts",
							"line": 446,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "left"
							},
							{
								"type": "literal",
								"value": "inner"
							}
						]
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1601,
						1604,
						1603,
						1602,
						1605,
						1606,
						1599,
						1600
					]
				}
			],
			"sources": [
				{
					"fileName": "query/QueryBuilder.ts",
					"line": 444,
					"character": 17
				}
			]
		},
		{
			"id": 114,
			"name": "ManyToManyOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 120,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 27,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 203,
							"name": "Cascade"
						}
					}
				},
				{
					"id": 131,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 21,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 126,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 135,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 123,
					"name": "inverseJoinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 30,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 118,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 122,
					"name": "joinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 29,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 128,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 19,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 119,
					"name": "mappedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 125,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 16,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 133,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 23,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 117,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 24,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 134,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 24,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 121,
					"name": "pivotTable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 28,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 124,
					"name": "referenceColumnName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 31,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 127,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 18,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 132,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 22,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 136,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 115,
					"name": "entity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "decorators/ManyToMany.ts",
							"line": 23,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 116,
							"name": "entity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"qualifiedName": "Function",
										"package": "typescript",
										"name": "Function"
									}
								]
							}
						}
					]
				},
				{
					"id": 129,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 130,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						120,
						131,
						126,
						135,
						123,
						118,
						122,
						128,
						119,
						125,
						133,
						117,
						134,
						121,
						124,
						127,
						132,
						136
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						115,
						129
					]
				}
			],
			"sources": [
				{
					"fileName": "decorators/ManyToMany.ts",
					"line": 22,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 140,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 93,
			"name": "ManyToOneOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 98,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToOne.ts",
							"line": 23,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 203,
							"name": "Cascade"
						}
					}
				},
				{
					"id": 105,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 21,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 100,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 96,
					"name": "fk",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToOne.ts",
							"line": 21,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 109,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 97,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToOne.ts",
							"line": 22,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 102,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 19,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 99,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 16,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 107,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 23,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 108,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 24,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 101,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 18,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 106,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 22,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 110,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 94,
					"name": "entity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/ManyToOne.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 95,
							"name": "entity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"qualifiedName": "Function",
										"package": "typescript",
										"name": "Function"
									}
								]
							}
						}
					]
				},
				{
					"id": 103,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 104,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						98,
						105,
						100,
						96,
						109,
						97,
						102,
						99,
						107,
						108,
						101,
						106,
						110
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						94,
						103
					]
				}
			],
			"sources": [
				{
					"fileName": "decorators/ManyToOne.ts",
					"line": 19,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 140,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 1333,
			"name": "MikroORMOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1339,
					"name": "autoFlush",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 159,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1369,
					"name": "baseDir",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 174,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1370,
					"name": "cache",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 175,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1371,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1373,
									"name": "adapter",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "utils/Configuration.ts",
											"line": 177,
											"character": 4
										}
									],
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1374,
											"name": "__type",
											"kind": 512,
											"kindString": "Constructor",
											"flags": {},
											"signatures": [
												{
													"id": 1375,
													"name": "new __type",
													"kind": 16384,
													"kindString": "Constructor signature",
													"flags": {},
													"parameters": [
														{
															"id": 1376,
															"name": "params",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isRest": true
															},
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "any"
																}
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 2117,
														"name": "CacheAdapter"
													}
												}
											]
										}
									}
								},
								{
									"id": 1372,
									"name": "enabled",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "utils/Configuration.ts",
											"line": 176,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 1377,
									"name": "options",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "utils/Configuration.ts",
											"line": 178,
											"character": 4
										}
									],
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1373,
										1372,
										1377
									]
								}
							]
						}
					}
				},
				{
					"id": 1358,
					"name": "clientUrl",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 165,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1334,
					"name": "dbName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 154,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1368,
					"name": "debug",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 173,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1341,
					"name": "driver",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 161,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1342,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1343,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1344,
											"name": "config",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1244,
												"name": "Configuration"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 1607,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1871,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							]
						}
					}
				},
				{
					"id": 1335,
					"name": "entities",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 155,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "union",
							"types": [
								{
									"type": "reference",
									"typeArguments": [
										{
											"type": "reference",
											"id": 4,
											"typeArguments": [
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														}
													]
												}
											],
											"name": "IEntity"
										}
									],
									"name": "EntityClass"
								},
								{
									"type": "reference",
									"typeArguments": [
										{
											"type": "reference",
											"id": 4,
											"typeArguments": [
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														}
													]
												}
											],
											"name": "IEntity"
										}
									],
									"name": "EntityClassGroup"
								}
							]
						}
					}
				},
				{
					"id": 1336,
					"name": "entitiesDirs",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 156,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 1337,
					"name": "entitiesDirsTs",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 157,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 1353,
					"name": "entityRepository",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 164,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1354,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1355,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1356,
											"name": "em",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 703,
												"name": "EntityManager"
											}
										},
										{
											"id": 1357,
											"name": "entityName",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 4,
														"typeArguments": [
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	}
																]
															}
														],
														"name": "IEntity"
													}
												],
												"name": "EntityName"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 208,
										"typeArguments": [
											{
												"type": "reference",
												"id": 4,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															}
														]
													}
												],
												"name": "IEntity"
											}
										],
										"name": "EntityRepository"
									}
								}
							]
						}
					}
				},
				{
					"id": 1359,
					"name": "host",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 166,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1348,
					"name": "hydrator",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 163,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1349,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1350,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1351,
											"name": "factory",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 453,
												"name": "EntityFactory"
											}
										},
										{
											"id": 1352,
											"name": "driver",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1607,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1871,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 1383,
										"name": "Hydrator"
									}
								}
							]
						}
					}
				},
				{
					"id": 1378,
					"name": "metadataProvider",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 180,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1379,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1380,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1381,
											"name": "config",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1244,
												"name": "Configuration"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 2043,
										"name": "MetadataProvider"
									}
								}
							]
						}
					}
				},
				{
					"id": 1363,
					"name": "multipleStatements",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 170,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1345,
					"name": "namingStrategy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 162,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1346,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1347,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1972,
										"name": "NamingStrategy"
									}
								}
							]
						}
					}
				},
				{
					"id": 1362,
					"name": "password",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 169,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1360,
					"name": "port",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 167,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 1364,
					"name": "strict",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 171,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1338,
					"name": "tsConfigPath",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 158,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1340,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 160,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "mongo"
							},
							{
								"type": "literal",
								"value": "mysql"
							},
							{
								"type": "literal",
								"value": "postgresql"
							},
							{
								"type": "literal",
								"value": "sqlite"
							}
						]
					}
				},
				{
					"id": 1361,
					"name": "user",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 168,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1365,
					"name": "logger",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "utils/Configuration.ts",
							"line": 172,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1366,
							"name": "logger",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1367,
									"name": "message",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1339,
						1369,
						1370,
						1358,
						1334,
						1368,
						1341,
						1335,
						1336,
						1337,
						1353,
						1359,
						1348,
						1378,
						1363,
						1345,
						1362,
						1360,
						1364,
						1338,
						1340,
						1361
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1365
					]
				}
			],
			"sources": [
				{
					"fileName": "utils/Configuration.ts",
					"line": 153,
					"character": 17
				}
			]
		},
		{
			"id": 1972,
			"name": "NamingStrategy",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1973,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1974,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 1975,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1981,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1982,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 1983,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1989,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1990,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 1991,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1992,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1984,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1985,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 1986,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1987,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1988,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1976,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1977,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 1978,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1979,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 1980,
							"name": "referenceColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the default reference column name"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1973,
						1981,
						1989,
						1984,
						1976,
						1979
					]
				}
			],
			"sources": [
				{
					"fileName": "naming-strategy/NamingStrategy.ts",
					"line": 1,
					"character": 17
				}
			],
			"implementedBy": [
				{
					"type": "reference",
					"id": 1993,
					"name": "MongoNamingStrategy"
				},
				{
					"type": "reference",
					"id": 2016,
					"name": "UnderscoreNamingStrategy"
				}
			]
		},
		{
			"id": 67,
			"name": "OneToOneOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 73,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 29,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 203,
							"name": "Cascade"
						}
					}
				},
				{
					"id": 84,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 21,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 79,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 88,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 76,
					"name": "inverseJoinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 32,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 71,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 27,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 75,
					"name": "joinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 31,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 81,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 19,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 72,
					"name": "mappedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 28,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 78,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 16,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 86,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 23,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 74,
					"name": "orphanRemoval",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 30,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 70,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 87,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 24,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 77,
					"name": "referenceColumnName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 33,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 80,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 18,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 85,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 22,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 89,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 68,
					"name": "entity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/OneToOne.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 69,
							"name": "entity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"qualifiedName": "Function",
										"package": "typescript",
										"name": "Function"
									}
								]
							}
						}
					]
				},
				{
					"id": 82,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 83,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						73,
						84,
						79,
						88,
						76,
						71,
						75,
						81,
						72,
						78,
						86,
						74,
						70,
						87,
						77,
						80,
						85,
						89
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						68,
						82
					]
				}
			],
			"sources": [
				{
					"fileName": "decorators/OneToOne.ts",
					"line": 24,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 140,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 163,
			"name": "PrimaryKeyOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 170,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 21,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 166,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 174,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 167,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 19,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 164,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/PrimaryKey.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"overwrites": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 172,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 23,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 173,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 24,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 165,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/PrimaryKey.ts",
							"line": 18,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"overwrites": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 171,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 22,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 175,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 168,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 169,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						170,
						166,
						174,
						167,
						164,
						172,
						173,
						165,
						171,
						175
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						168
					]
				}
			],
			"sources": [
				{
					"fileName": "decorators/PrimaryKey.ts",
					"line": 16,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 140,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 1918,
			"name": "QueryResult",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1919,
					"name": "affectedRows",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 100,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 1920,
					"name": "insertId",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 101,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 1921,
					"name": "row",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "connections/Connection.ts",
							"line": 102,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"qualifiedName": "Record",
						"package": "typescript",
						"name": "Record"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1919,
						1920,
						1921
					]
				}
			],
			"sources": [
				{
					"fileName": "connections/Connection.ts",
					"line": 99,
					"character": 17
				}
			]
		},
		{
			"id": 35,
			"name": "EntityOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/Entity.ts",
					"line": 22,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 36,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 37,
							"name": "collection",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Entity.ts",
									"line": 23,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 38,
							"name": "customRepository",
							"kind": 2048,
							"kindString": "Method",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Entity.ts",
									"line": 24,
									"character": 2
								}
							],
							"signatures": [
								{
									"id": 39,
									"name": "customRepository",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 40,
											"name": "__type",
											"kind": 512,
											"kindString": "Constructor",
											"flags": {},
											"signatures": [
												{
													"id": 41,
													"name": "new customRepository",
													"kind": 16384,
													"kindString": "Constructor signature",
													"flags": {},
													"parameters": [
														{
															"id": 42,
															"name": "em",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 703,
																"name": "EntityManager"
															}
														},
														{
															"id": 43,
															"name": "entityName",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 4,
																		"typeArguments": [
																			{
																				"type": "union",
																				"types": [
																					{
																						"type": "intrinsic",
																						"name": "string"
																					},
																					{
																						"type": "intrinsic",
																						"name": "number"
																					}
																				]
																			}
																		],
																		"name": "IEntity"
																	}
																],
																"name": "EntityName"
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 208,
														"typeArguments": [
															{
																"type": "reference",
																"id": 4,
																"typeArguments": [
																	{
																		"type": "union",
																		"types": [
																			{
																				"type": "intrinsic",
																				"name": "string"
																			},
																			{
																				"type": "intrinsic",
																				"name": "number"
																			}
																		]
																	}
																],
																"name": "IEntity"
															}
														],
														"name": "EntityRepository"
													}
												}
											]
										}
									}
								}
							]
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								37
							]
						},
						{
							"title": "Methods",
							"kind": 2048,
							"children": [
								38
							]
						}
					],
					"sources": [
						{
							"fileName": "decorators/Entity.ts",
							"line": 22,
							"character": 28
						}
					]
				}
			}
		},
		{
			"id": 1679,
			"name": "FilterQuery",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "drivers/IDatabaseDriver.ts",
					"line": 64,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 1680,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 1680,
								"name": "T"
							}
						],
						"qualifiedName": "Partial",
						"package": "typescript",
						"name": "Partial"
					},
					{
						"type": "reference",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"qualifiedName": "Record",
						"package": "typescript",
						"name": "Record"
					}
				]
			}
		},
		{
			"id": 154,
			"name": "IPrimaryKey",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/PrimaryKey.ts",
					"line": 21,
					"character": 12
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "intrinsic",
						"name": "number"
					},
					{
						"type": "intrinsic",
						"name": "string"
					},
					{
						"type": "reflection",
						"declaration": {
							"id": 155,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 158,
									"name": "toHexString",
									"kind": 2048,
									"kindString": "Method",
									"flags": {
										"isOptional": true
									},
									"signatures": [
										{
											"id": 159,
											"name": "toHexString",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									]
								},
								{
									"id": 156,
									"name": "toString",
									"kind": 2048,
									"kindString": "Method",
									"flags": {
										"isOptional": true
									},
									"signatures": [
										{
											"id": 157,
											"name": "toString",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									]
								}
							],
							"groups": [
								{
									"title": "Methods",
									"kind": 2048,
									"children": [
										158,
										156
									]
								}
							],
							"sources": [
								{
									"fileName": "decorators/PrimaryKey.ts",
									"line": 21,
									"character": 44
								}
							]
						}
					}
				]
			}
		},
		{
			"id": 47,
			"name": "OneToManyOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/OneToMany.ts",
					"line": 24,
					"character": 12
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "reference",
						"id": 140,
						"name": "PropertyOptions"
					},
					{
						"type": "reflection",
						"declaration": {
							"id": 48,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 51,
									"name": "cascade",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 26,
											"character": 2
										}
									],
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 203,
											"name": "Cascade"
										}
									}
								},
								{
									"id": 58,
									"name": "inverseJoinColumn",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 30,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 57,
									"name": "joinColumn",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 29,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 53,
									"name": "orderBy",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 28,
											"character": 2
										}
									],
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 54,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"sources": [
												{
													"fileName": "decorators/OneToMany.ts",
													"line": 28,
													"character": 12
												}
											],
											"indexSignature": {
												"id": 55,
												"name": "__index",
												"kind": 8192,
												"kindString": "Index signature",
												"flags": {},
												"parameters": [
													{
														"id": 56,
														"name": "field",
														"kind": 32768,
														"flags": {},
														"type": {
															"type": "intrinsic",
															"name": "string"
														}
													}
												],
												"type": {
													"type": "reference",
													"id": 2202,
													"name": "QueryOrder"
												}
											}
										}
									}
								},
								{
									"id": 52,
									"name": "orphanRemoval",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 27,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 59,
									"name": "referenceColumnName",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 31,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 49,
									"name": "entity",
									"kind": 2048,
									"kindString": "Method",
									"flags": {},
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 25,
											"character": 2
										}
									],
									"signatures": [
										{
											"id": 50,
											"name": "entity",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "reference",
														"qualifiedName": "Function",
														"package": "typescript",
														"name": "Function"
													}
												]
											}
										}
									]
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										51,
										58,
										57,
										53,
										52,
										59
									]
								},
								{
									"title": "Methods",
									"kind": 2048,
									"children": [
										49
									]
								}
							],
							"sources": [
								{
									"fileName": "decorators/OneToMany.ts",
									"line": 24,
									"character": 49
								}
							]
						}
					},
					{
						"type": "union",
						"types": [
							{
								"type": "reflection",
								"declaration": {
									"id": 60,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 61,
											"name": "fk",
											"kind": 1024,
											"kindString": "Property",
											"flags": {},
											"sources": [
												{
													"fileName": "decorators/OneToMany.ts",
													"line": 32,
													"character": 7
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"groups": [
										{
											"title": "Properties",
											"kind": 1024,
											"children": [
												61
											]
										}
									],
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 32,
											"character": 5
										}
									]
								}
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 62,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 63,
											"name": "mappedBy",
											"kind": 1024,
											"kindString": "Property",
											"flags": {},
											"sources": [
												{
													"fileName": "decorators/OneToMany.ts",
													"line": 32,
													"character": 24
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"groups": [
										{
											"title": "Properties",
											"kind": 1024,
											"children": [
												63
											]
										}
									],
									"sources": [
										{
											"fileName": "decorators/OneToMany.ts",
											"line": 32,
											"character": 22
										}
									]
								}
							}
						]
					}
				]
			}
		},
		{
			"id": 1382,
			"name": "Options",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "utils/Configuration.ts",
					"line": 183,
					"character": 12
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 1333,
								"name": "MikroORMOptions"
							},
							{
								"type": "reference",
								"typeArguments": [
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 1333,
											"name": "MikroORMOptions"
										}
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "query",
											"queryType": {
												"type": "reference",
												"id": 1245,
												"name": "Configuration.DEFAULTS"
											}
										}
									}
								],
								"qualifiedName": "Exclude",
								"package": "typescript",
								"name": "Exclude"
							}
						],
						"qualifiedName": "Pick",
						"package": "typescript",
						"name": "Pick"
					},
					{
						"type": "reference",
						"id": 1333,
						"name": "MikroORMOptions"
					}
				]
			}
		},
		{
			"id": 140,
			"name": "PropertyOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/Property.ts",
					"line": 15,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 141,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 148,
							"name": "default",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 21,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						},
						{
							"id": 143,
							"name": "fieldName",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 17,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 152,
							"name": "hidden",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 25,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 145,
							"name": "length",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 19,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						},
						{
							"id": 142,
							"name": "name",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 16,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 150,
							"name": "nullable",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 23,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 151,
							"name": "persist",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 24,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 144,
							"name": "type",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 18,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						},
						{
							"id": 149,
							"name": "unique",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 22,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 153,
							"name": "version",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 26,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 146,
							"name": "onUpdate",
							"kind": 2048,
							"kindString": "Method",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "decorators/Property.ts",
									"line": 20,
									"character": 2
								}
							],
							"signatures": [
								{
									"id": 147,
									"name": "onUpdate",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							]
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								148,
								143,
								152,
								145,
								142,
								150,
								151,
								144,
								149,
								153
							]
						},
						{
							"title": "Methods",
							"kind": 2048,
							"children": [
								146
							]
						}
					],
					"sources": [
						{
							"fileName": "decorators/Property.ts",
							"line": 15,
							"character": 30
						}
					]
				}
			},
			"extendedBy": [
				{
					"type": "reference",
					"id": 67,
					"name": "OneToOneOptions"
				},
				{
					"type": "reference",
					"id": 93,
					"name": "ManyToOneOptions"
				},
				{
					"type": "reference",
					"id": 114,
					"name": "ManyToManyOptions"
				},
				{
					"type": "reference",
					"id": 163,
					"name": "PrimaryKeyOptions"
				}
			]
		},
		{
			"id": 2210,
			"name": "QueryOrderMap",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "query/enums.ts",
					"line": 26,
					"character": 12
				}
			],
			"type": {
				"type": "reference",
				"typeArguments": [
					{
						"type": "intrinsic",
						"name": "string"
					},
					{
						"type": "union",
						"types": [
							{
								"type": "reference",
								"id": 2202,
								"name": "QueryOrder"
							},
							{
								"type": "reference",
								"id": 2207,
								"name": "QueryOrderNumeric"
							},
							{
								"type": "typeOperator",
								"operator": "keyof",
								"target": {
									"type": "query",
									"queryType": {
										"type": "reference",
										"id": 2202,
										"name": "QueryOrder"
									}
								}
							}
						]
					}
				],
				"qualifiedName": "Record",
				"package": "typescript",
				"name": "Record"
			}
		},
		{
			"id": 452,
			"name": "SCALAR_TYPES",
			"kind": 32,
			"kindString": "Variable",
			"flags": {},
			"sources": [
				{
					"fileName": "entity/EntityFactory.ts",
					"line": 8,
					"character": 13
				}
			],
			"type": {
				"type": "array",
				"elementType": {
					"type": "intrinsic",
					"name": "string"
				}
			},
			"defaultValue": "..."
		},
		{
			"id": 2163,
			"name": "AfterCreate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/hooks.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2164,
					"name": "AfterCreate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 2165,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 2166,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 2167,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 2168,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 2187,
			"name": "AfterDelete",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/hooks.ts",
					"line": 29,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2188,
					"name": "AfterDelete",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"comment": {
						"shortText": "Called after deleting entity, but only when providing initialized entity to EM#remove()"
					},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 2189,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 2190,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 2191,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 2192,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 2175,
			"name": "AfterUpdate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/hooks.ts",
					"line": 15,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2176,
					"name": "AfterUpdate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 2177,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 2178,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 2179,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 2180,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 2157,
			"name": "BeforeCreate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/hooks.ts",
					"line": 3,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2158,
					"name": "BeforeCreate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 2159,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 2160,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 2161,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 2162,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 2181,
			"name": "BeforeDelete",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/hooks.ts",
					"line": 22,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2182,
					"name": "BeforeDelete",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"comment": {
						"shortText": "Called before deleting entity, but only when providing initialized entity to EM#remove()"
					},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 2183,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 2184,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 2185,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 2186,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 2169,
			"name": "BeforeUpdate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/hooks.ts",
					"line": 11,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2170,
					"name": "BeforeUpdate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 2171,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 2172,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 2173,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 2174,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 1,
			"name": "Entity",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/Entity.ts",
					"line": 9,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 2,
					"name": "Entity",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 35,
								"name": "EntityOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 111,
			"name": "ManyToMany",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/ManyToMany.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 112,
					"name": "ManyToMany",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 113,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 114,
								"name": "ManyToManyOptions"
							}
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 90,
			"name": "ManyToOne",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/ManyToOne.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 91,
					"name": "ManyToOne",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 92,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 93,
								"name": "ManyToOneOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 44,
			"name": "OneToMany",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/OneToMany.ts",
					"line": 8,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 45,
					"name": "OneToMany",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 46,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 47,
								"name": "OneToManyOptions"
							}
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 64,
			"name": "OneToOne",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/OneToOne.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 65,
					"name": "OneToOne",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 66,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 67,
								"name": "OneToOneOptions"
							}
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 160,
			"name": "PrimaryKey",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/PrimaryKey.ts",
					"line": 6,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 161,
					"name": "PrimaryKey",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 162,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 163,
								"name": "PrimaryKeyOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 137,
			"name": "Property",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "decorators/Property.ts",
					"line": 6,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 138,
					"name": "Property",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 139,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 140,
								"name": "PropertyOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		}
	],
	"groups": [
		{
			"title": "Enumerations",
			"kind": 8,
			"children": [
				203,
				898,
				886,
				2199,
				2202,
				2207,
				2193,
				197
			]
		},
		{
			"title": "Classes",
			"kind": 128,
			"children": [
				1772,
				549,
				902,
				938,
				606,
				1244,
				1871,
				1681,
				355,
				453,
				425,
				296,
				482,
				703,
				208,
				393,
				306,
				2137,
				1383,
				2060,
				2043,
				176,
				1993,
				2126,
				1402,
				1928,
				1461,
				1122,
				2211,
				2254,
				2081,
				2016,
				975,
				1139
			]
		},
		{
			"title": "Interfaces",
			"kind": 256,
			"children": [
				390,
				2117,
				891,
				1922,
				879,
				874,
				1607,
				4,
				1598,
				114,
				93,
				1333,
				1972,
				67,
				163,
				1918
			]
		},
		{
			"title": "Type aliases",
			"kind": 4194304,
			"children": [
				35,
				1679,
				154,
				47,
				1382,
				140,
				2210
			]
		},
		{
			"title": "Variables",
			"kind": 32,
			"children": [
				452
			]
		},
		{
			"title": "Functions",
			"kind": 64,
			"children": [
				2163,
				2187,
				2175,
				2157,
				2181,
				2169,
				1,
				111,
				90,
				44,
				64,
				160,
				137
			]
		}
	],
	"sources": [
		{
			"fileName": "index.ts",
			"line": 1,
			"character": 0
		}
	]
}