{
	"id": 0,
	"name": "mikro-orm",
	"kind": 1,
	"kindString": "Project",
	"flags": {},
	"originalName": "",
	"children": [
		{
			"id": 212,
			"name": "Cascade",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 216,
					"name": "ALL",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 13,
							"character": 2
						}
					],
					"defaultValue": "\"all\""
				},
				{
					"id": 214,
					"name": "MERGE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 11,
							"character": 2
						}
					],
					"defaultValue": "\"merge\""
				},
				{
					"id": 213,
					"name": "PERSIST",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 10,
							"character": 2
						}
					],
					"defaultValue": "\"persist\""
				},
				{
					"id": 215,
					"name": "REMOVE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 12,
							"character": 2
						}
					],
					"defaultValue": "\"remove\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						216,
						214,
						213,
						215
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/enums.ts",
					"line": 9,
					"character": 12
				}
			]
		},
		{
			"id": 1227,
			"name": "ChangeSetType",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 1228,
					"name": "CREATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 13,
							"character": 2
						}
					],
					"defaultValue": "\"create\""
				},
				{
					"id": 1230,
					"name": "DELETE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 15,
							"character": 2
						}
					],
					"defaultValue": "\"delete\""
				},
				{
					"id": 1229,
					"name": "UPDATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 14,
							"character": 2
						}
					],
					"defaultValue": "\"update\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						1228,
						1230,
						1229
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/ChangeSet.ts",
					"line": 12,
					"character": 12
				}
			]
		},
		{
			"id": 1212,
			"name": "LockMode",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 1213,
					"name": "NONE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/enums.ts",
							"line": 2,
							"character": 2
						}
					],
					"defaultValue": "0"
				},
				{
					"id": 1214,
					"name": "OPTIMISTIC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/enums.ts",
							"line": 3,
							"character": 2
						}
					],
					"defaultValue": "1"
				},
				{
					"id": 1215,
					"name": "PESSIMISTIC_READ",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/enums.ts",
							"line": 4,
							"character": 2
						}
					],
					"defaultValue": "2"
				},
				{
					"id": 1216,
					"name": "PESSIMISTIC_WRITE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/enums.ts",
							"line": 5,
							"character": 2
						}
					],
					"defaultValue": "3"
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						1213,
						1214,
						1215,
						1216
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/enums.ts",
					"line": 1,
					"character": 12
				}
			]
		},
		{
			"id": 1337,
			"name": "NodeState",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {
				"isConst": true
			},
			"children": [
				{
					"id": 1339,
					"name": "IN_PROGRESS",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 111,
							"character": 2
						}
					],
					"defaultValue": "1"
				},
				{
					"id": 1338,
					"name": "NOT_VISITED",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 110,
							"character": 2
						}
					],
					"defaultValue": "0"
				},
				{
					"id": 1340,
					"name": "VISITED",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 112,
							"character": 2
						}
					],
					"defaultValue": "2"
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						1339,
						1338,
						1340
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
					"line": 109,
					"character": 18
				}
			]
		},
		{
			"id": 3864,
			"name": "QueryFlag",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 3865,
					"name": "DISTINCT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 11,
							"character": 2
						}
					],
					"defaultValue": "\"DISTINCT\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						3865
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 10,
					"character": 12
				}
			]
		},
		{
			"id": 3866,
			"name": "QueryOrder",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 3867,
					"name": "ASC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 15,
							"character": 2
						}
					],
					"defaultValue": "\"ASC\""
				},
				{
					"id": 3868,
					"name": "DESC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 16,
							"character": 2
						}
					],
					"defaultValue": "\"DESC\""
				},
				{
					"id": 3869,
					"name": "asc",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 17,
							"character": 2
						}
					],
					"defaultValue": "\"asc\""
				},
				{
					"id": 3870,
					"name": "desc",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 18,
							"character": 2
						}
					],
					"defaultValue": "\"desc\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						3867,
						3868,
						3869,
						3870
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 14,
					"character": 12
				}
			]
		},
		{
			"id": 3871,
			"name": "QueryOrderNumeric",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 3872,
					"name": "ASC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 22,
							"character": 2
						}
					],
					"defaultValue": "1"
				},
				{
					"id": 3873,
					"name": "DESC",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 23,
							"character": 2
						}
					],
					"defaultValue": "-1"
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						3872,
						3873
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 21,
					"character": 12
				}
			]
		},
		{
			"id": 3857,
			"name": "QueryType",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 3860,
					"name": "COUNT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 4,
							"character": 2
						}
					],
					"defaultValue": "\"COUNT\""
				},
				{
					"id": 3863,
					"name": "DELETE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 7,
							"character": 2
						}
					],
					"defaultValue": "\"DELETE\""
				},
				{
					"id": 3861,
					"name": "INSERT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 5,
							"character": 2
						}
					],
					"defaultValue": "\"INSERT\""
				},
				{
					"id": 3859,
					"name": "SELECT",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 3,
							"character": 2
						}
					],
					"defaultValue": "\"SELECT\""
				},
				{
					"id": 3858,
					"name": "TRUNCATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 2,
							"character": 2
						}
					],
					"defaultValue": "\"TRUNCATE\""
				},
				{
					"id": 3862,
					"name": "UPDATE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/enums.ts",
							"line": 6,
							"character": 2
						}
					],
					"defaultValue": "\"UPDATE\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						3860,
						3863,
						3861,
						3859,
						3858,
						3862
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 1,
					"character": 12
				}
			]
		},
		{
			"id": 206,
			"name": "ReferenceType",
			"kind": 8,
			"kindString": "Enumeration",
			"flags": {},
			"children": [
				{
					"id": 211,
					"name": "MANY_TO_MANY",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 6,
							"character": 2
						}
					],
					"defaultValue": "\"m:n\""
				},
				{
					"id": 210,
					"name": "MANY_TO_ONE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 5,
							"character": 2
						}
					],
					"defaultValue": "\"m:1\""
				},
				{
					"id": 209,
					"name": "ONE_TO_MANY",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 4,
							"character": 2
						}
					],
					"defaultValue": "\"1:m\""
				},
				{
					"id": 208,
					"name": "ONE_TO_ONE",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 3,
							"character": 2
						}
					],
					"defaultValue": "\"1:1\""
				},
				{
					"id": 207,
					"name": "SCALAR",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/enums.ts",
							"line": 2,
							"character": 2
						}
					],
					"defaultValue": "\"scalar\""
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						211,
						210,
						209,
						208,
						207
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/enums.ts",
					"line": 1,
					"character": 12
				}
			]
		},
		{
			"id": 3155,
			"name": "AbstractNamingStrategy",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 3156,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3157,
							"name": "new AbstractNamingStrategy",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3155,
								"name": "AbstractNamingStrategy"
							}
						}
					]
				},
				{
					"id": 3162,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 12,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3163,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 3164,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3136,
								"name": "NamingStrategy.classToTableName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3135,
						"name": "NamingStrategy.classToTableName"
					}
				},
				{
					"id": 3158,
					"name": "getClassName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3159,
							"name": "getClassName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a name of the class based on its file name"
							},
							"parameters": [
								{
									"id": 3160,
									"name": "file",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3161,
									"name": "separator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'-'"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3132,
								"name": "NamingStrategy.getClassName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3131,
						"name": "NamingStrategy.getClassName"
					}
				},
				{
					"id": 3165,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 14,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3166,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 3167,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3144,
								"name": "NamingStrategy.joinColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3143,
						"name": "NamingStrategy.joinColumnName"
					}
				},
				{
					"id": 3168,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 16,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3169,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 3170,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3171,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3152,
								"name": "NamingStrategy.joinKeyColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3151,
						"name": "NamingStrategy.joinKeyColumnName"
					}
				},
				{
					"id": 3172,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 18,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3173,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 3174,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3175,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3176,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3147,
								"name": "NamingStrategy.joinTableName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3146,
						"name": "NamingStrategy.joinTableName"
					}
				},
				{
					"id": 3177,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 20,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3178,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 3179,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3139,
								"name": "NamingStrategy.propertyToColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3138,
						"name": "NamingStrategy.propertyToColumnName"
					}
				},
				{
					"id": 3180,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 22,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3181,
							"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": 3142,
								"name": "NamingStrategy.referenceColumnName"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3141,
						"name": "NamingStrategy.referenceColumnName"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3156
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3162,
						3158,
						3165,
						3168,
						3172,
						3177,
						3180
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
					"line": 3,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 3182,
					"name": "MongoNamingStrategy"
				},
				{
					"type": "reference",
					"id": 3209,
					"name": "UnderscoreNamingStrategy"
				},
				{
					"type": "reference",
					"id": 3239,
					"name": "EntityCaseNamingStrategy"
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 3130,
					"name": "NamingStrategy"
				}
			]
		},
		{
			"id": 2909,
			"name": "AbstractSqlConnection",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2910,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2911,
							"name": "new AbstractSqlConnection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2912,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								},
								{
									"id": 2913,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1736,
										"name": "ConnectionOptions"
									}
								},
								{
									"id": 2914,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									},
									"defaultValue": "'write'"
								}
							],
							"type": {
								"type": "reference",
								"id": 2909,
								"name": "AbstractSqlConnection"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2846,
								"name": "Connection.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2845,
						"name": "Connection.constructor"
					}
				},
				{
					"id": 2918,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/AbstractSqlConnection.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2919,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Closes the database connection (aka disconnect)"
							},
							"parameters": [
								{
									"id": 2920,
									"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"
							},
							"overwrites": {
								"type": "reference",
								"id": 2860,
								"name": "Connection.close"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2859,
						"name": "Connection.close"
					}
				},
				{
					"id": 2971,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 26,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2972,
							"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"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2856,
								"name": "Connection.connect"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2855,
						"name": "Connection.connect"
					}
				},
				{
					"id": 2931,
					"name": "execute",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/AbstractSqlConnection.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2932,
							"name": "execute",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2933,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 69,
												"typeArguments": [
													{
														"type": "reference",
														"id": 71,
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															},
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	},
																	{
																		"type": "intrinsic",
																		"name": "symbol"
																	}
																]
															}
														],
														"name": "AnyEntity"
													}
												],
												"name": "EntityData"
											},
											{
												"type": "reference",
												"id": 2897,
												"name": "QueryResult"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 69,
													"typeArguments": [
														{
															"type": "reference",
															"id": 71,
															"typeArguments": [
																{
																	"type": "intrinsic",
																	"name": "any"
																},
																{
																	"type": "union",
																	"types": [
																		{
																			"type": "intrinsic",
																			"name": "string"
																		},
																		{
																			"type": "intrinsic",
																			"name": "number"
																		},
																		{
																			"type": "intrinsic",
																			"name": "symbol"
																		}
																	]
																}
															],
															"name": "AnyEntity"
														}
													],
													"name": "EntityData"
												}
											}
										]
									},
									"default": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 69,
											"typeArguments": [
												{
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											],
											"name": "EntityData"
										}
									}
								}
							],
							"parameters": [
								{
									"id": 2934,
									"name": "queryOrKnex",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"qualifiedName": "Knex.QueryBuilder",
												"package": "knex",
												"name": "QueryBuilder"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"qualifiedName": "Knex.Raw",
												"package": "knex",
												"name": "Raw"
											}
										]
									}
								},
								{
									"id": 2935,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 2936,
									"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": 2937,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2933,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2873,
								"name": "Connection.execute"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2872,
						"name": "Connection.execute"
					}
				},
				{
					"id": 2977,
					"name": "getClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 61,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2978,
							"name": "getClientUrl",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2881,
								"name": "Connection.getClientUrl"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2880,
						"name": "Connection.getClientUrl"
					}
				},
				{
					"id": 2975,
					"name": "getConnectionOptions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 49,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2976,
							"name": "getConnectionOptions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2901,
								"name": "ConnectionConfig"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2879,
								"name": "Connection.getConnectionOptions"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2878,
						"name": "Connection.getConnectionOptions"
					}
				},
				{
					"id": 2973,
					"name": "getDefaultClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 41,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2974,
							"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"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2863,
								"name": "Connection.getDefaultClientUrl"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2862,
						"name": "Connection.getDefaultClientUrl"
					}
				},
				{
					"id": 2916,
					"name": "getKnex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/AbstractSqlConnection.ts",
							"line": 12,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2917,
							"name": "getKnex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									},
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Knex",
								"package": "knex",
								"name": "Knex"
							}
						}
					]
				},
				{
					"id": 2921,
					"name": "isConnected",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/AbstractSqlConnection.ts",
							"line": 20,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2922,
							"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"
							},
							"overwrites": {
								"type": "reference",
								"id": 2858,
								"name": "Connection.isConnected"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2857,
						"name": "Connection.isConnected"
					}
				},
				{
					"id": 2938,
					"name": "loadFile",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/AbstractSqlConnection.ts",
							"line": 59,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2939,
							"name": "loadFile",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Execute raw SQL queries from file"
							},
							"parameters": [
								{
									"id": 2940,
									"name": "path",
									"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": 2979,
					"name": "setMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2980,
							"name": "setMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2981,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2883,
								"name": "Connection.setMetadata"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2882,
						"name": "Connection.setMetadata"
					}
				},
				{
					"id": 2923,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/AbstractSqlConnection.ts",
							"line": 29,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2924,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2925,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2926,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 2927,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 2928,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 2929,
															"name": "trx",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														}
													],
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 2925,
																"name": "T"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								},
								{
									"id": 2930,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2925,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2865,
								"name": "Connection.transactional"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2864,
						"name": "Connection.transactional"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2910
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2918,
						2971,
						2931,
						2977,
						2975,
						2973,
						2916,
						2921,
						2938,
						2979,
						2923
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/connections/AbstractSqlConnection.ts",
					"line": 8,
					"character": 22
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 2844,
					"name": "Connection"
				}
			]
		},
		{
			"id": 2698,
			"name": "AbstractSqlDriver",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2799,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2800,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2801,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2802,
									"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": 2639,
								"name": "DatabaseDriver.aggregate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2638,
						"name": "DatabaseDriver.aggregate"
					}
				},
				{
					"id": 2815,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 97,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2816,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2817,
									"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"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2670,
								"name": "DatabaseDriver.close"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2669,
						"name": "DatabaseDriver.close"
					}
				},
				{
					"id": 2808,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 75,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2809,
							"name": "connect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "C"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2663,
								"name": "DatabaseDriver.connect"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2662,
						"name": "DatabaseDriver.connect"
					}
				},
				{
					"id": 2723,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 69,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2724,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2725,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2726,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2727,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2633,
								"name": "DatabaseDriver.count"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2632,
						"name": "DatabaseDriver.count"
					}
				},
				{
					"id": 2825,
					"name": "ensureIndexes",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 115,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2826,
							"name": "ensureIndexes",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2680,
								"name": "DatabaseDriver.ensureIndexes"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2679,
						"name": "DatabaseDriver.ensureIndexes"
					}
				},
				{
					"id": 2709,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 25,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2710,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds selection of entities"
							},
							"typeParameter": [
								{
									"id": 2711,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2711,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2711,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2712,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2713,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2711,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2714,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								},
								{
									"id": 2715,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2711,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2600,
								"name": "DatabaseDriver.find"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2599,
						"name": "DatabaseDriver.find"
					}
				},
				{
					"id": 2716,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 44,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2717,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds single entity (table row, document)"
							},
							"typeParameter": [
								{
									"id": 2718,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2718,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2718,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2719,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2720,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2718,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2721,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2578,
										"name": "FindOneOptions"
									}
								},
								{
									"id": 2722,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 2718,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2607,
								"name": "DatabaseDriver.findOne"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2606,
						"name": "DatabaseDriver.findOne"
					}
				},
				{
					"id": 2812,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 87,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2813,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2814,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									},
									"defaultValue": "'write'"
								}
							],
							"type": {
								"type": "reference",
								"name": "C"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2667,
								"name": "DatabaseDriver.getConnection"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2666,
						"name": "DatabaseDriver.getConnection"
					}
				},
				{
					"id": 2823,
					"name": "getDependencies",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 111,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2824,
							"name": "getDependencies",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns name of the underlying database dependencies (e.g. `mongodb` or `mysql2`)\nfor SQL drivers it also returns `knex` in the array as connectors are not used directly there"
							},
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2678,
								"name": "DatabaseDriver.getDependencies"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2677,
						"name": "DatabaseDriver.getDependencies"
					}
				},
				{
					"id": 2818,
					"name": "getPlatform",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 102,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2819,
							"name": "getPlatform",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2989,
								"name": "Platform"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2673,
								"name": "DatabaseDriver.getPlatform"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2672,
						"name": "DatabaseDriver.getPlatform"
					}
				},
				{
					"id": 2753,
					"name": "loadFromPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 149,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2754,
							"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": 2755,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2755,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2755,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 2756,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2756,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2756,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2757,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 2758,
									"name": "owners",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "array",
											"elementType": {
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2756,
														"name": "O"
													}
												],
												"name": "Primary"
											}
										}
									}
								},
								{
									"id": 2759,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2755,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2760,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 2761,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 2755,
													"name": "T"
												}
											}
										],
										"name": "Dictionary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2643,
								"name": "DatabaseDriver.loadFromPivotTable"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2642,
						"name": "DatabaseDriver.loadFromPivotTable"
					}
				},
				{
					"id": 2803,
					"name": "mapResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 47,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2804,
							"name": "mapResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2805,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2659,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2659,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2806,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2659,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2807,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 2659,
										"name": "T"
									}
								]
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2658,
								"name": "DatabaseDriver.mapResult"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2657,
						"name": "DatabaseDriver.mapResult"
					}
				},
				{
					"id": 2741,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 119,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2742,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2743,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2743,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2743,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2744,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2745,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2746,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2627,
								"name": "DatabaseDriver.nativeDelete"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2626,
						"name": "DatabaseDriver.nativeDelete"
					}
				},
				{
					"id": 2728,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 77,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2729,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2730,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2730,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2730,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2731,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2732,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2730,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2733,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2614,
								"name": "DatabaseDriver.nativeInsert"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2613,
						"name": "DatabaseDriver.nativeInsert"
					}
				},
				{
					"id": 2734,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 98,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2735,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2736,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2736,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2736,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2737,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2738,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2736,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2739,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2736,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2740,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2620,
								"name": "DatabaseDriver.nativeUpdate"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2619,
						"name": "DatabaseDriver.nativeUpdate"
					}
				},
				{
					"id": 2810,
					"name": "reconnect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 82,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2811,
							"name": "reconnect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "C"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2665,
								"name": "DatabaseDriver.reconnect"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2664,
						"name": "DatabaseDriver.reconnect"
					}
				},
				{
					"id": 2820,
					"name": "setMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 106,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2821,
							"name": "setMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2822,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2675,
								"name": "DatabaseDriver.setMetadata"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2674,
						"name": "DatabaseDriver.setMetadata"
					}
				},
				{
					"id": 2747,
					"name": "syncCollection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/AbstractSqlDriver.ts",
							"line": 129,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2748,
							"name": "syncCollection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2749,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2749,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2749,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 2750,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2750,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2750,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2751,
									"name": "coll",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 771,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2749,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 2750,
												"name": "O"
											}
										],
										"name": "Collection"
									}
								},
								{
									"id": 2752,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"overwrites": {
								"type": "reference",
								"id": 2652,
								"name": "DatabaseDriver.syncCollection"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 2651,
						"name": "DatabaseDriver.syncCollection"
					}
				}
			],
			"groups": [
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2799,
						2815,
						2808,
						2723,
						2825,
						2709,
						2716,
						2812,
						2823,
						2818,
						2753,
						2803,
						2741,
						2728,
						2734,
						2810,
						2820,
						2747
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/drivers/AbstractSqlDriver.ts",
					"line": 12,
					"character": 22
				}
			],
			"typeParameter": [
				{
					"id": 2843,
					"name": "C",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2909,
						"name": "AbstractSqlConnection"
					},
					"default": {
						"type": "reference",
						"id": 2909,
						"name": "AbstractSqlConnection"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 2586,
					"typeArguments": [
						{
							"type": "reference",
							"name": "C"
						}
					],
					"name": "DatabaseDriver"
				}
			]
		},
		{
			"id": 705,
			"name": "ArrayCollection",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 706,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 707,
							"name": "new ArrayCollection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 708,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 708,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 708,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 709,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 709,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 709,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 710,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 709,
										"name": "O"
									}
								},
								{
									"id": 711,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 708,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 705,
								"typeArguments": [
									{
										"type": "reference",
										"id": 708,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 709,
										"name": "O"
									}
								],
								"name": "ArrayCollection"
							}
						}
					]
				},
				{
					"id": 714,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"id": 709,
						"name": "O"
					}
				},
				{
					"id": 745,
					"name": "length",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 102,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 746,
							"name": "length",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							}
						}
					]
				},
				{
					"id": 747,
					"name": "[Symbol.iterator]",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 106,
							"character": 4
						}
					],
					"signatures": [
						{
							"id": 748,
							"name": "[Symbol.iterator]",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 708,
										"name": "T"
									}
								],
								"qualifiedName": "IterableIterator",
								"package": "typescript",
								"name": "IterableIterator"
							}
						}
					]
				},
				{
					"id": 726,
					"name": "add",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 49,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 727,
							"name": "add",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 728,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 708,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 740,
					"name": "contains",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 89,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 741,
							"name": "contains",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 742,
									"name": "item",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 708,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 743,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 98,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 744,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							}
						}
					]
				},
				{
					"id": 719,
					"name": "getIdentifiers",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 37,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 720,
							"name": "getIdentifiers",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 724,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									},
									"default": {
										"type": "intersection",
										"types": [
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 708,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "intrinsic",
														"name": "string"
													}
												]
											},
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 708,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 708,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "intrinsic",
														"name": "bigint"
													}
												]
											},
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 708,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "reflection",
														"declaration": {
															"id": 721,
															"name": "__type",
															"kind": 65536,
															"kindString": "Type literal",
															"flags": {},
															"children": [
																{
																	"id": 722,
																	"name": "toHexString",
																	"kind": 2048,
																	"kindString": "Method",
																	"flags": {},
																	"signatures": [
																		{
																			"id": 723,
																			"name": "toHexString",
																			"kind": 4096,
																			"kindString": "Call signature",
																			"flags": {},
																			"type": {
																				"type": "intrinsic",
																				"name": "string"
																			}
																		}
																	]
																}
															],
															"groups": [
																{
																	"title": "Methods",
																	"kind": 2048,
																	"children": [
																		722
																	]
																}
															]
														}
													}
												]
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 725,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 724,
									"name": "U"
								}
							}
						}
					]
				},
				{
					"id": 715,
					"name": "getItems",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 24,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 716,
							"name": "getItems",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 708,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 732,
					"name": "hydrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 65,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 733,
							"name": "hydrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 734,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 708,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 735,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 71,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 736,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 737,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 708,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 738,
					"name": "removeAll",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 85,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 739,
							"name": "removeAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 729,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 60,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 730,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 731,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 708,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 717,
					"name": "toArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 28,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 718,
							"name": "toArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 6,
									"typeArguments": [
										{
											"type": "intrinsic",
											"name": "any"
										}
									],
									"name": "Dictionary"
								}
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						706
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						714
					]
				},
				{
					"title": "Accessors",
					"kind": 262144,
					"children": [
						745
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						747,
						726,
						740,
						743,
						719,
						715,
						732,
						735,
						738,
						729,
						717
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/ArrayCollection.ts",
					"line": 6,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 767,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 708,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				},
				{
					"id": 768,
					"name": "O",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 709,
								"name": "O"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"indexSignature": {
				"id": 769,
				"name": "__index",
				"kind": 8192,
				"kindString": "Index signature",
				"flags": {},
				"parameters": [
					{
						"id": 770,
						"name": "k",
						"kind": 32768,
						"flags": {},
						"type": {
							"type": "intrinsic",
							"name": "number"
						}
					}
				],
				"type": {
					"type": "reference",
					"id": 708,
					"name": "T"
				}
			},
			"extendedBy": [
				{
					"type": "reference",
					"id": 771,
					"name": "Collection"
				}
			]
		},
		{
			"id": 3108,
			"name": "BigIntType",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "This type will automatically convert string values returned from the database to native JS bigints."
			},
			"children": [
				{
					"id": 3112,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3113,
							"name": "new BigIntType",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3108,
								"name": "BigIntType"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3047,
								"name": "Type.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3046,
						"name": "Type.constructor"
					}
				},
				{
					"id": 3114,
					"name": "convertToDatabaseValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/BigIntType.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3115,
							"name": "convertToDatabaseValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its database representation of this type."
							},
							"parameters": [
								{
									"id": 3116,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3117,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"overwrites": {
								"type": "reference",
								"id": 3049,
								"name": "Type.convertToDatabaseValue"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3048,
						"name": "Type.convertToDatabaseValue"
					}
				},
				{
					"id": 3118,
					"name": "convertToJSValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/BigIntType.ts",
							"line": 14,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3119,
							"name": "convertToJSValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its database representation to its JS representation of this type."
							},
							"parameters": [
								{
									"id": 3120,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3121,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"overwrites": {
								"type": "reference",
								"id": 3053,
								"name": "Type.convertToJSValue"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3052,
						"name": "Type.convertToJSValue"
					}
				},
				{
					"id": 3122,
					"name": "getColumnType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/BigIntType.ts",
							"line": 18,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3123,
							"name": "getColumnType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the SQL declaration snippet for a field of this type."
							},
							"parameters": [
								{
									"id": 3124,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 3125,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3061,
								"name": "Type.getColumnType"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3060,
						"name": "Type.getColumnType"
					}
				},
				{
					"id": 3126,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3127,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its serialized JSON form of this type.\nBy default converts to the database value."
							},
							"parameters": [
								{
									"id": 3128,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3129,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3057,
								"name": "Type.toJSON"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3056,
						"name": "Type.toJSON"
					}
				},
				{
					"id": 3109,
					"name": "getType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 37,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 3110,
							"name": "getType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3111,
									"name": "cls",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3041,
												"name": "Type"
											}
										],
										"name": "Constructor"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3041,
								"name": "Type"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3044,
								"name": "Type.getType"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3043,
						"name": "Type.getType"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3112
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3114,
						3118,
						3122,
						3126,
						3109
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/types/BigIntType.ts",
					"line": 8,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3041,
					"name": "Type"
				}
			]
		},
		{
			"id": 1231,
			"name": "ChangeSetComputer",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1232,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSetComputer.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1233,
							"name": "new ChangeSetComputer",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1234,
									"name": "validator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 357,
										"name": "EntityValidator"
									}
								},
								{
									"id": 1235,
									"name": "originalEntityData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "reference",
												"id": 69,
												"typeArguments": [
													{
														"type": "reference",
														"id": 71,
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															},
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	},
																	{
																		"type": "intrinsic",
																		"name": "symbol"
																	}
																]
															}
														],
														"name": "AnyEntity"
													}
												],
												"name": "EntityData"
											}
										],
										"name": "Dictionary"
									}
								},
								{
									"id": 1236,
									"name": "identifierMap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "reference",
												"id": 347,
												"name": "EntityIdentifier"
											}
										],
										"name": "Dictionary"
									}
								},
								{
									"id": 1237,
									"name": "collectionUpdates",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 771,
											"typeArguments": [
												{
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												},
												{
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											],
											"name": "Collection"
										}
									}
								},
								{
									"id": 1238,
									"name": "removeStack",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									}
								},
								{
									"id": 1239,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 1240,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1231,
								"name": "ChangeSetComputer"
							}
						}
					]
				},
				{
					"id": 1241,
					"name": "computeChangeSet",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSetComputer.ts",
							"line": 18,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1242,
							"name": "computeChangeSet",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1243,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1243,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1243,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1244,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1243,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 1217,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1243,
												"name": "T"
											}
										],
										"name": "ChangeSet"
									}
								]
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1232
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1241
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/ChangeSetComputer.ts",
					"line": 8,
					"character": 13
				}
			]
		},
		{
			"id": 1264,
			"name": "ChangeSetPersister",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1265,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSetPersister.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1266,
							"name": "new ChangeSetPersister",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1267,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								},
								{
									"id": 1268,
									"name": "identifierMap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "reference",
												"id": 347,
												"name": "EntityIdentifier"
											}
										],
										"name": "Dictionary"
									}
								},
								{
									"id": 1269,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1264,
								"name": "ChangeSetPersister"
							}
						}
					]
				},
				{
					"id": 1270,
					"name": "persistToDatabase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSetPersister.ts",
							"line": 15,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1271,
							"name": "persistToDatabase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1272,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1272,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1272,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1273,
									"name": "changeSet",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1217,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1272,
												"name": "T"
											}
										],
										"name": "ChangeSet"
									}
								},
								{
									"id": 1274,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1265
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1270
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/ChangeSetPersister.ts",
					"line": 9,
					"character": 13
				}
			]
		},
		{
			"id": 771,
			"name": "Collection",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 772,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 14,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 773,
							"name": "new Collection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 774,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 774,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 774,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 775,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 775,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 775,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									},
									"default": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 776,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 775,
										"name": "O"
									}
								},
								{
									"id": 777,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 774,
											"name": "T"
										}
									}
								},
								{
									"id": 778,
									"name": "initialized",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 771,
								"typeArguments": [
									{
										"type": "reference",
										"id": 774,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 775,
										"name": "O"
									}
								],
								"name": "Collection"
							},
							"overwrites": {
								"type": "reference",
								"id": 707,
								"name": "ArrayCollection.constructor"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 706,
						"name": "ArrayCollection.constructor"
					}
				},
				{
					"id": 860,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"id": 775,
						"name": "O"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 714,
						"name": "ArrayCollection.owner"
					}
				},
				{
					"id": 872,
					"name": "length",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 102,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 873,
							"name": "length",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "ArrayCollection.length"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 745,
						"name": "ArrayCollection.length"
					}
				},
				{
					"id": 874,
					"name": "[Symbol.iterator]",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 106,
							"character": 4
						}
					],
					"signatures": [
						{
							"id": 875,
							"name": "[Symbol.iterator]",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 774,
										"name": "T"
									}
								],
								"qualifiedName": "IterableIterator",
								"package": "typescript",
								"name": "IterableIterator"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 748,
								"name": "ArrayCollection.[Symbol.iterator]"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 747,
						"name": "ArrayCollection.[Symbol.iterator]"
					}
				},
				{
					"id": 787,
					"name": "add",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 40,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 788,
							"name": "add",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 789,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 774,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 727,
								"name": "ArrayCollection.add"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 726,
						"name": "ArrayCollection.add"
					}
				},
				{
					"id": 801,
					"name": "contains",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 81,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 802,
							"name": "contains",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 803,
									"name": "item",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 774,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							},
							"overwrites": {
								"type": "reference",
								"id": 741,
								"name": "ArrayCollection.contains"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 740,
						"name": "ArrayCollection.contains"
					}
				},
				{
					"id": 804,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 86,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 805,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "number"
							},
							"overwrites": {
								"type": "reference",
								"id": 744,
								"name": "ArrayCollection.count"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 743,
						"name": "ArrayCollection.count"
					}
				},
				{
					"id": 863,
					"name": "getIdentifiers",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 37,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 864,
							"name": "getIdentifiers",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 868,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									},
									"default": {
										"type": "intersection",
										"types": [
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 774,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "intrinsic",
														"name": "string"
													}
												]
											},
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 774,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 774,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "intrinsic",
														"name": "bigint"
													}
												]
											},
											{
												"type": "intersection",
												"types": [
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 774,
																"name": "T"
															}
														],
														"name": "Primary"
													},
													{
														"type": "reflection",
														"declaration": {
															"id": 865,
															"name": "__type",
															"kind": 65536,
															"kindString": "Type literal",
															"flags": {},
															"children": [
																{
																	"id": 866,
																	"name": "toHexString",
																	"kind": 2048,
																	"kindString": "Method",
																	"flags": {},
																	"signatures": [
																		{
																			"id": 867,
																			"name": "toHexString",
																			"kind": 4096,
																			"kindString": "Call signature",
																			"flags": {},
																			"type": {
																				"type": "intrinsic",
																				"name": "string"
																			}
																		}
																	]
																}
															],
															"groups": [
																{
																	"title": "Methods",
																	"kind": 2048,
																	"children": [
																		866
																	]
																}
															]
														}
													}
												]
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 869,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 724,
									"name": "U"
								}
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 720,
								"name": "ArrayCollection.getIdentifiers"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 719,
						"name": "ArrayCollection.getIdentifiers"
					}
				},
				{
					"id": 785,
					"name": "getItems",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 35,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 786,
							"name": "getItems",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the items (the collection must be initialized)"
							},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 774,
									"name": "T"
								}
							},
							"overwrites": {
								"type": "reference",
								"id": 716,
								"name": "ArrayCollection.getItems"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 715,
						"name": "ArrayCollection.getItems"
					}
				},
				{
					"id": 819,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 115,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 820,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 821,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 896,
										"typeArguments": [
											{
												"type": "reference",
												"id": 774,
												"name": "T"
											}
										],
										"name": "InitOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 771,
										"typeArguments": [
											{
												"type": "reference",
												"id": 774,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 775,
												"name": "O"
											}
										],
										"name": "Collection"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 822,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 823,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 824,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 774,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 825,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 771,
										"typeArguments": [
											{
												"type": "reference",
												"id": 774,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 775,
												"name": "O"
											}
										],
										"name": "Collection"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 814,
					"name": "isDirty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 107,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 815,
							"name": "isDirty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 806,
					"name": "isInitialized",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 91,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 807,
							"name": "isInitialized",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 808,
									"name": "fully",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 783,
					"name": "loadItems",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 24,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 784,
							"name": "loadItems",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Initializes the collection and returns the items"
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 774,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 811,
					"name": "populated",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 103,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 812,
							"name": "populated",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 813,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 798,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 70,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 799,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 800,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 774,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 736,
								"name": "ArrayCollection.remove"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 735,
						"name": "ArrayCollection.remove"
					}
				},
				{
					"id": 870,
					"name": "removeAll",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 85,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 871,
							"name": "removeAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 739,
								"name": "ArrayCollection.removeAll"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 738,
						"name": "ArrayCollection.removeAll"
					}
				},
				{
					"id": 790,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 46,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 791,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 792,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 774,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 730,
								"name": "ArrayCollection.set"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 729,
						"name": "ArrayCollection.set"
					}
				},
				{
					"id": 816,
					"name": "setDirty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 111,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 817,
							"name": "setDirty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 818,
									"name": "dirty",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 809,
					"name": "shouldPopulate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 99,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 810,
							"name": "shouldPopulate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 861,
					"name": "toArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/ArrayCollection.ts",
							"line": 28,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 862,
							"name": "toArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 6,
									"typeArguments": [
										{
											"type": "intrinsic",
											"name": "any"
										}
									],
									"name": "Dictionary"
								}
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 718,
								"name": "ArrayCollection.toArray"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 717,
						"name": "ArrayCollection.toArray"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						772
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						860
					]
				},
				{
					"title": "Accessors",
					"kind": 262144,
					"children": [
						872
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						874,
						787,
						801,
						804,
						863,
						785,
						819,
						814,
						806,
						783,
						811,
						798,
						870,
						790,
						816,
						809,
						861
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/Collection.ts",
					"line": 7,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 894,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 774,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				},
				{
					"id": 895,
					"name": "O",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 775,
								"name": "O"
							}
						],
						"name": "AnyEntity"
					},
					"default": {
						"type": "reference",
						"id": 71,
						"name": "AnyEntity"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 705,
					"typeArguments": [
						{
							"type": "reference",
							"id": 774,
							"name": "T"
						},
						{
							"type": "reference",
							"id": 775,
							"name": "O"
						}
					],
					"name": "ArrayCollection"
				}
			]
		},
		{
			"id": 1311,
			"name": "CommitOrderCalculator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "CommitOrderCalculator implements topological sorting, which is an ordering\nalgorithm for directed graphs (DG) and/or directed acyclic graphs (DAG) by\nusing a depth-first searching (DFS) to traverse the graph built in memory.\nThis algorithm have a linear running time based on nodes (V) and dependency\nbetween the nodes (E), resulting in a computational complexity of O(V + E).",
				"text": "Based on https://github.com/doctrine/orm/blob/master/lib/Doctrine/ORM/Internal/CommitOrderCalculator.php\n"
			},
			"children": [
				{
					"id": 1312,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 1313,
							"name": "new CommitOrderCalculator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1311,
								"name": "CommitOrderCalculator"
							}
						}
					]
				},
				{
					"id": 1322,
					"name": "addDependency",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 37,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1323,
							"name": "addDependency",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Adds a new dependency (edge) to the graph using their hashes."
							},
							"parameters": [
								{
									"id": 1324,
									"name": "from",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1325,
									"name": "to",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1326,
									"name": "weight",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1319,
					"name": "addNode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 30,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1320,
							"name": "addNode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Adds a new node to the graph, assigning its hash."
							},
							"parameters": [
								{
									"id": 1321,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1316,
					"name": "hasNode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 23,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1317,
							"name": "hasNode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks for node existence in graph."
							},
							"parameters": [
								{
									"id": 1318,
									"name": "hash",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1312
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1322,
						1319,
						1316
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
					"line": 12,
					"character": 13
				}
			]
		},
		{
			"id": 1520,
			"name": "Configuration",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1596,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 88,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1597,
							"name": "new Configuration",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1598,
									"name": "D",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											},
											{
												"type": "reference",
												"id": 1598,
												"name": "D"
											}
										],
										"name": "IDatabaseDriver"
									},
									"default": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"parameters": [
								{
									"id": 1599,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1834,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Options"
									}
								},
								{
									"id": 1600,
									"name": "validate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 1520,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1598,
										"name": "D"
									}
								],
								"name": "Configuration"
							}
						}
					]
				},
				{
					"id": 1521,
					"name": "DEFAULTS",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isStatic": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 17,
							"character": 18
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1522,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1536,
									"name": "autoFlush",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1553,
									"name": "autoJoinOneToOneOwner",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 1550,
									"name": "baseDir",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "..."
								},
								{
									"id": 1572,
									"name": "cache",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1573,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 1576,
													"name": "adapter",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "query",
														"queryType": {
															"type": "reference",
															"id": 3408,
															"name": "FileCacheAdapter"
														}
													},
													"defaultValue": "FileCacheAdapter"
												},
												{
													"id": 1574,
													"name": "enabled",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												},
												{
													"id": 1577,
													"name": "options",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "reflection",
														"declaration": {
															"id": 1578,
															"name": "__type",
															"kind": 65536,
															"kindString": "Type literal",
															"flags": {},
															"children": [
																{
																	"id": 1579,
																	"name": "cacheDir",
																	"kind": 1024,
																	"kindString": "Property",
																	"flags": {},
																	"type": {
																		"type": "intrinsic",
																		"name": "string"
																	},
																	"defaultValue": "..."
																}
															],
															"groups": [
																{
																	"title": "Properties",
																	"kind": 1024,
																	"children": [
																		1579
																	]
																}
															]
														}
													},
													"defaultValue": "..."
												},
												{
													"id": 1575,
													"name": "pretty",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "false"
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														1576,
														1574,
														1577,
														1575
													]
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1557,
									"name": "debug",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1529,
									"name": "discovery",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1530,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 1533,
													"name": "alwaysAnalyseProperties",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												},
												{
													"id": 1534,
													"name": "disableDynamicFileAccess",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "false"
												},
												{
													"id": 1532,
													"name": "requireEntitiesArray",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "false"
												},
												{
													"id": 1535,
													"name": "tsConfigPath",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "string"
													},
													"defaultValue": "..."
												},
												{
													"id": 1531,
													"name": "warnWhenNoEntities",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														1533,
														1534,
														1532,
														1535,
														1531
													]
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1559,
									"name": "driverOptions",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1560,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {}
										}
									},
									"defaultValue": "{}"
								},
								{
									"id": 1556,
									"name": "ensureIndexes",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1526,
									"name": "entities",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "never"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1527,
									"name": "entitiesDirs",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "never"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1528,
									"name": "entitiesDirsTs",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "never"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1551,
									"name": "entityRepository",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "query",
										"queryType": {
											"type": "reference",
											"id": 217,
											"name": "EntityRepository"
										}
									},
									"defaultValue": "EntityRepository"
								},
								{
									"id": 1545,
									"name": "findOneOrFailHandler",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1546,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1547,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 1548,
															"name": "entityName",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 1549,
															"name": "where",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "union",
																"types": [
																	{
																		"type": "reference",
																		"name": "IPrimaryKeyValue"
																	},
																	{
																		"type": "reference",
																		"id": 6,
																		"typeArguments": [
																			{
																				"type": "intrinsic",
																				"name": "any"
																			}
																		],
																		"name": "Dictionary"
																	}
																]
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 1836,
														"typeArguments": [
															{
																"type": "reference",
																"id": 71,
																"typeArguments": [
																	{
																		"type": "intrinsic",
																		"name": "any"
																	},
																	{
																		"type": "union",
																		"types": [
																			{
																				"type": "intrinsic",
																				"name": "string"
																			},
																			{
																				"type": "intrinsic",
																				"name": "number"
																			},
																			{
																				"type": "intrinsic",
																				"name": "symbol"
																			}
																		]
																	}
																],
																"name": "AnyEntity"
															}
														],
														"name": "ValidationError"
													}
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1555,
									"name": "forceUtcTimezone",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1581,
									"name": "highlight",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 1582,
									"name": "highlightTheme",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1583,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 1585,
													"name": "built_in",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "array",
														"elementType": {
															"type": "intrinsic",
															"name": "string"
														}
													},
													"defaultValue": "..."
												},
												{
													"id": 1584,
													"name": "keyword",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "array",
														"elementType": {
															"type": "intrinsic",
															"name": "string"
														}
													},
													"defaultValue": "..."
												},
												{
													"id": 1587,
													"name": "literal",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "string"
													},
													"defaultValue": "'cyan'"
												},
												{
													"id": 1588,
													"name": "meta",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "array",
														"elementType": {
															"type": "intrinsic",
															"name": "string"
														}
													},
													"defaultValue": "..."
												},
												{
													"id": 1586,
													"name": "string",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "array",
														"elementType": {
															"type": "intrinsic",
															"name": "string"
														}
													},
													"defaultValue": "..."
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														1585,
														1584,
														1587,
														1588,
														1586
													]
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1552,
									"name": "hydrator",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "query",
										"queryType": {
											"type": "reference",
											"id": 2243,
											"name": "ObjectHydrator"
										}
									},
									"defaultValue": "ObjectHydrator"
								},
								{
									"id": 1538,
									"name": "logger",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1539,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1540,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 1541,
															"name": "data",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isRest": true
															},
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "any"
																}
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "void"
													}
												},
												{
													"id": 1542,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"comment": {
														"shortText": "Prints to `stdout` with newline."
													},
													"parameters": [
														{
															"id": 1543,
															"name": "message",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isOptional": true
															},
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														},
														{
															"id": 1544,
															"name": "optionalParams",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isRest": true
															},
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "any"
																}
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "void"
													}
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1580,
									"name": "metadataProvider",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "query",
										"queryType": {
											"type": "reference",
											"id": 3337,
											"name": "TsMorphMetadataProvider"
										}
									},
									"defaultValue": "TsMorphMetadataProvider"
								},
								{
									"id": 1561,
									"name": "migrations",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1562,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 1568,
													"name": "allOrNothing",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												},
												{
													"id": 1567,
													"name": "disableForeignKeys",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												},
												{
													"id": 1569,
													"name": "dropTables",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												},
												{
													"id": 1571,
													"name": "emit",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "string"
													},
													"defaultValue": "'ts'"
												},
												{
													"id": 1564,
													"name": "path",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "string"
													},
													"defaultValue": "'./migrations'"
												},
												{
													"id": 1565,
													"name": "pattern",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "reference",
														"qualifiedName": "RegExp",
														"package": "typescript",
														"name": "RegExp"
													},
													"defaultValue": "..."
												},
												{
													"id": 1570,
													"name": "safe",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "false"
												},
												{
													"id": 1563,
													"name": "tableName",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "string"
													},
													"defaultValue": "'mikro_orm_migrations'"
												},
												{
													"id": 1566,
													"name": "transactional",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "boolean"
													},
													"defaultValue": "true"
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														1568,
														1567,
														1569,
														1571,
														1564,
														1565,
														1570,
														1563,
														1566
													]
												}
											]
										}
									},
									"defaultValue": "..."
								},
								{
									"id": 1524,
									"name": "pool",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1525,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {}
										}
									},
									"defaultValue": "{}"
								},
								{
									"id": 1554,
									"name": "propagateToOneOwner",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 1537,
									"name": "strict",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1523,
									"name": "type",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'mongo'"
								},
								{
									"id": 1558,
									"name": "verbose",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1536,
										1553,
										1550,
										1572,
										1557,
										1529,
										1559,
										1556,
										1526,
										1527,
										1528,
										1551,
										1545,
										1555,
										1581,
										1582,
										1552,
										1538,
										1580,
										1561,
										1524,
										1554,
										1537,
										1523,
										1558
									]
								}
							]
						}
					},
					"defaultValue": "..."
				},
				{
					"id": 1589,
					"name": "PLATFORMS",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isStatic": true,
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 73,
							"character": 18
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1590,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1593,
									"name": "mariadb",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'MariaDbDriver'"
								},
								{
									"id": 1591,
									"name": "mongo",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'MongoDriver'"
								},
								{
									"id": 1592,
									"name": "mysql",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'MySqlDriver'"
								},
								{
									"id": 1594,
									"name": "postgresql",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'PostgreSqlDriver'"
								},
								{
									"id": 1595,
									"name": "sqlite",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'SqliteDriver'"
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1593,
										1591,
										1592,
										1594,
										1595
									]
								}
							]
						}
					},
					"defaultValue": "..."
				},
				{
					"id": 1607,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 106,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1608,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets specific configuration option. Falls back to specified `defaultValue` if provided."
							},
							"typeParameter": [
								{
									"id": 1609,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 1758,
											"typeArguments": [
												{
													"type": "reference",
													"id": 1598,
													"name": "D"
												}
											],
											"name": "MikroORMOptions"
										}
									}
								},
								{
									"id": 1647,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "undefined"
											},
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											},
											{
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "Dictionary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "union",
													"types": [
														{
															"type": "reference",
															"typeArguments": [
																{
																	"type": "reference",
																	"id": 71,
																	"typeArguments": [
																		{
																			"type": "intrinsic",
																			"name": "any"
																		},
																		{
																			"type": "union",
																			"types": [
																				{
																					"type": "intrinsic",
																					"name": "string"
																				},
																				{
																					"type": "intrinsic",
																					"name": "number"
																				},
																				{
																					"type": "intrinsic",
																					"name": "symbol"
																				}
																			]
																		}
																	],
																	"name": "AnyEntity"
																}
															],
															"name": "EntityClass"
														},
														{
															"type": "reference",
															"typeArguments": [
																{
																	"type": "reference",
																	"id": 71,
																	"typeArguments": [
																		{
																			"type": "intrinsic",
																			"name": "any"
																		},
																		{
																			"type": "union",
																			"types": [
																				{
																					"type": "intrinsic",
																					"name": "string"
																				},
																				{
																					"type": "intrinsic",
																					"name": "number"
																				},
																				{
																					"type": "intrinsic",
																					"name": "symbol"
																				}
																			]
																		}
																	],
																	"name": "AnyEntity"
																}
															],
															"name": "EntityClassGroup"
														},
														{
															"type": "reference",
															"id": 3882,
															"typeArguments": [
																{
																	"type": "intrinsic",
																	"name": "any"
																},
																{
																	"type": "intrinsic",
																	"name": "undefined"
																}
															],
															"name": "EntitySchema"
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1610,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 1613,
															"name": "alwaysAnalyseProperties",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 284,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1614,
															"name": "disableDynamicFileAccess",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 285,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1612,
															"name": "requireEntitiesArray",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 283,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1615,
															"name": "tsConfigPath",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 286,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 1611,
															"name": "warnWhenNoEntities",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 282,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																1613,
																1614,
																1612,
																1615,
																1611
															]
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1616,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1617,
															"name": "new get",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1618,
																	"name": "config",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 1520,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "Configuration"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 1598,
																"name": "D"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1619,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1620,
															"name": "new get",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 3130,
																"name": "NamingStrategy"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1621,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1622,
															"name": "new get",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1623,
																	"name": "factory",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 557,
																		"name": "EntityFactory"
																	}
																},
																{
																	"id": 1624,
																	"name": "em",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 960,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "EntityManager"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 2222,
																"name": "Hydrator"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1625,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1626,
															"name": "new get",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1627,
																	"name": "em",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 960,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "EntityManager"
																	}
																},
																{
																	"id": 1628,
																	"name": "entityName",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 67,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 71,
																				"typeArguments": [
																					{
																						"type": "intrinsic",
																						"name": "any"
																					},
																					{
																						"type": "union",
																						"types": [
																							{
																								"type": "intrinsic",
																								"name": "string"
																							},
																							{
																								"type": "intrinsic",
																								"name": "number"
																							},
																							{
																								"type": "intrinsic",
																								"name": "symbol"
																							}
																						]
																					}
																				],
																				"name": "AnyEntity"
																			}
																		],
																		"name": "EntityName"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 217,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 71,
																		"typeArguments": [
																			{
																				"type": "intrinsic",
																				"name": "any"
																			},
																			{
																				"type": "union",
																				"types": [
																					{
																						"type": "intrinsic",
																						"name": "string"
																					},
																					{
																						"type": "intrinsic",
																						"name": "number"
																					},
																					{
																						"type": "intrinsic",
																						"name": "symbol"
																					}
																				]
																			}
																		],
																		"name": "AnyEntity"
																	}
																],
																"name": "EntityRepository"
															}
														}
													]
												}
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"typeArguments": [
														{
															"type": "reference",
															"id": 1736,
															"name": "ConnectionOptions"
														}
													],
													"qualifiedName": "Partial",
													"package": "typescript",
													"name": "Partial"
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1629,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"signatures": [
														{
															"id": 1630,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1631,
																	"name": "message",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "intrinsic",
																		"name": "string"
																	}
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "void"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1632,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"signatures": [
														{
															"id": 1633,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1634,
																	"name": "entityName",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "intrinsic",
																		"name": "string"
																	}
																},
																{
																	"id": 1635,
																	"name": "where",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "union",
																		"types": [
																			{
																				"type": "reference",
																				"name": "IPrimaryKeyValue"
																			},
																			{
																				"type": "reference",
																				"id": 6,
																				"typeArguments": [
																					{
																						"type": "intrinsic",
																						"name": "any"
																					}
																				],
																				"name": "Dictionary"
																			}
																		]
																	}
																}
															],
															"type": {
																"type": "reference",
																"qualifiedName": "Error",
																"package": "typescript",
																"name": "Error"
															}
														}
													]
												}
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1984,
													"name": "LoggerNamespace"
												}
											},
											{
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "string"
																}
															}
														]
													}
												],
												"name": "Dictionary"
											},
											{
												"type": "reference",
												"id": 1747,
												"name": "MigrationsOptions"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1636,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 1639,
															"name": "adapter",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 314,
																	"character": 4
																}
															],
															"type": {
																"type": "reflection",
																"declaration": {
																	"id": 1640,
																	"name": "__type",
																	"kind": 512,
																	"kindString": "Constructor",
																	"flags": {},
																	"signatures": [
																		{
																			"id": 1641,
																			"name": "new __type",
																			"kind": 16384,
																			"kindString": "Constructor signature",
																			"flags": {},
																			"parameters": [
																				{
																					"id": 1642,
																					"name": "params",
																					"kind": 32768,
																					"kindString": "Parameter",
																					"flags": {
																						"isRest": true
																					},
																					"type": {
																						"type": "array",
																						"elementType": {
																							"type": "intrinsic",
																							"name": "any"
																						}
																					}
																				}
																			],
																			"type": {
																				"type": "reference",
																				"id": 3384,
																				"name": "CacheAdapter"
																			}
																		}
																	]
																}
															}
														},
														{
															"id": 1637,
															"name": "enabled",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 312,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1643,
															"name": "options",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 315,
																	"character": 4
																}
															],
															"type": {
																"type": "reference",
																"id": 6,
																"typeArguments": [
																	{
																		"type": "intrinsic",
																		"name": "any"
																	}
																],
																"name": "Dictionary"
															}
														},
														{
															"id": 1638,
															"name": "pretty",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 313,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																1639,
																1637,
																1643,
																1638
															]
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1644,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1645,
															"name": "new get",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1646,
																	"name": "config",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 1520,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "Configuration"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 3266,
																"name": "MetadataProvider"
															}
														}
													]
												}
											},
											{
												"type": "reference",
												"qualifiedName": "Knex.PoolConfig",
												"package": "knex",
												"name": "PoolConfig"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1648,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1609,
										"name": "T"
									}
								},
								{
									"id": 1649,
									"name": "defaultValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1647,
										"name": "U"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1647,
								"name": "U"
							}
						}
					]
				},
				{
					"id": 1708,
					"name": "getCacheAdapter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 166,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1709,
							"name": "getCacheAdapter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets instance of CacheAdapter. (cached)"
							},
							"type": {
								"type": "reference",
								"id": 3384,
								"name": "CacheAdapter"
							}
						}
					]
				},
				{
					"id": 1695,
					"name": "getClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 127,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1696,
							"name": "getClientUrl",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets current client URL (connection string)."
							},
							"parameters": [
								{
									"id": 1697,
									"name": "hidePassword",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 1698,
					"name": "getDriver",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 138,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1699,
							"name": "getDriver",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets current database driver instance."
							},
							"type": {
								"type": "reference",
								"id": 1598,
								"name": "D"
							}
						}
					]
				},
				{
					"id": 1719,
					"name": "getHighlightTheme",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 184,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1720,
							"name": "getHighlightTheme",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets highlight there used when logging SQL."
							},
							"type": {
								"type": "reference",
								"qualifiedName": "Theme",
								"package": "cli-highlight",
								"name": "Theme"
							}
						}
					]
				},
				{
					"id": 1702,
					"name": "getHydrator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 152,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1703,
							"name": "getHydrator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets instance of Hydrator. Hydrator cannot be cached as it would have reference to wrong (global) EntityFactory."
							},
							"parameters": [
								{
									"id": 1704,
									"name": "factory",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 557,
										"name": "EntityFactory"
									}
								},
								{
									"id": 1705,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2222,
								"name": "Hydrator"
							}
						}
					]
				},
				{
					"id": 1693,
					"name": "getLogger",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 120,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1694,
							"name": "getLogger",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets Logger instance."
							},
							"type": {
								"type": "reference",
								"id": 1968,
								"name": "Logger"
							}
						}
					]
				},
				{
					"id": 1706,
					"name": "getMetadataProvider",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 159,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1707,
							"name": "getMetadataProvider",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets instance of MetadataProvider. (cached)"
							},
							"type": {
								"type": "reference",
								"id": 3266,
								"name": "MetadataProvider"
							}
						}
					]
				},
				{
					"id": 1700,
					"name": "getNamingStrategy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 145,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1701,
							"name": "getNamingStrategy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets instance of NamingStrategy. (cached)"
							},
							"type": {
								"type": "reference",
								"id": 3130,
								"name": "NamingStrategy"
							}
						}
					]
				},
				{
					"id": 1710,
					"name": "getRepositoryClass",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 173,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1711,
							"name": "getRepositoryClass",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets EntityRepository class to be instantiated."
							},
							"parameters": [
								{
									"id": 1712,
									"name": "customRepository",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "undefined"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1713,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"signatures": [
														{
															"id": 1714,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 1,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 217,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 71,
																				"typeArguments": [
																					{
																						"type": "intrinsic",
																						"name": "any"
																					},
																					{
																						"type": "union",
																						"types": [
																							{
																								"type": "intrinsic",
																								"name": "string"
																							},
																							{
																								"type": "intrinsic",
																								"name": "number"
																							},
																							{
																								"type": "intrinsic",
																								"name": "symbol"
																							}
																						]
																					}
																				],
																				"name": "AnyEntity"
																			}
																		],
																		"name": "EntityRepository"
																	}
																],
																"name": "Constructor"
															}
														}
													]
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reflection",
								"declaration": {
									"id": 1715,
									"name": "__type",
									"kind": 512,
									"kindString": "Constructor",
									"flags": {},
									"signatures": [
										{
											"id": 1716,
											"name": "new getRepositoryClass",
											"kind": 16384,
											"kindString": "Constructor signature",
											"flags": {},
											"parameters": [
												{
													"id": 1717,
													"name": "em",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 960,
														"typeArguments": [
															{
																"type": "reference",
																"id": 2486,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 2844,
																		"name": "Connection"
																	}
																],
																"name": "IDatabaseDriver"
															}
														],
														"name": "EntityManager"
													}
												},
												{
													"id": 1718,
													"name": "entityName",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 71,
																"typeArguments": [
																	{
																		"type": "intrinsic",
																		"name": "any"
																	},
																	{
																		"type": "union",
																		"types": [
																			{
																				"type": "intrinsic",
																				"name": "string"
																			},
																			{
																				"type": "intrinsic",
																				"name": "number"
																			},
																			{
																				"type": "intrinsic",
																				"name": "symbol"
																			}
																		]
																	}
																],
																"name": "AnyEntity"
															}
														],
														"name": "EntityName"
													}
												}
											],
											"type": {
												"type": "reference",
												"id": 217,
												"typeArguments": [
													{
														"type": "reference",
														"id": 71,
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															},
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	},
																	{
																		"type": "intrinsic",
																		"name": "symbol"
																	}
																]
															}
														],
														"name": "AnyEntity"
													}
												],
												"name": "EntityRepository"
											}
										}
									]
								}
							}
						}
					]
				},
				{
					"id": 1650,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 113,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1651,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Overrides specified configuration value."
							},
							"typeParameter": [
								{
									"id": 1652,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 1758,
											"typeArguments": [
												{
													"type": "reference",
													"id": 1598,
													"name": "D"
												}
											],
											"name": "MikroORMOptions"
										}
									}
								},
								{
									"id": 1690,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "undefined"
											},
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											},
											{
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "Dictionary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "union",
													"types": [
														{
															"type": "reference",
															"typeArguments": [
																{
																	"type": "reference",
																	"id": 71,
																	"typeArguments": [
																		{
																			"type": "intrinsic",
																			"name": "any"
																		},
																		{
																			"type": "union",
																			"types": [
																				{
																					"type": "intrinsic",
																					"name": "string"
																				},
																				{
																					"type": "intrinsic",
																					"name": "number"
																				},
																				{
																					"type": "intrinsic",
																					"name": "symbol"
																				}
																			]
																		}
																	],
																	"name": "AnyEntity"
																}
															],
															"name": "EntityClass"
														},
														{
															"type": "reference",
															"typeArguments": [
																{
																	"type": "reference",
																	"id": 71,
																	"typeArguments": [
																		{
																			"type": "intrinsic",
																			"name": "any"
																		},
																		{
																			"type": "union",
																			"types": [
																				{
																					"type": "intrinsic",
																					"name": "string"
																				},
																				{
																					"type": "intrinsic",
																					"name": "number"
																				},
																				{
																					"type": "intrinsic",
																					"name": "symbol"
																				}
																			]
																		}
																	],
																	"name": "AnyEntity"
																}
															],
															"name": "EntityClassGroup"
														},
														{
															"type": "reference",
															"id": 3882,
															"typeArguments": [
																{
																	"type": "intrinsic",
																	"name": "any"
																},
																{
																	"type": "intrinsic",
																	"name": "undefined"
																}
															],
															"name": "EntitySchema"
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1653,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 1656,
															"name": "alwaysAnalyseProperties",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 284,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1657,
															"name": "disableDynamicFileAccess",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 285,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1655,
															"name": "requireEntitiesArray",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 283,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1658,
															"name": "tsConfigPath",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 286,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 1654,
															"name": "warnWhenNoEntities",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 282,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																1656,
																1657,
																1655,
																1658,
																1654
															]
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1659,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1660,
															"name": "new set",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1661,
																	"name": "config",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 1520,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "Configuration"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 1598,
																"name": "D"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1662,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1663,
															"name": "new set",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 3130,
																"name": "NamingStrategy"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1664,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1665,
															"name": "new set",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1666,
																	"name": "factory",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 557,
																		"name": "EntityFactory"
																	}
																},
																{
																	"id": 1667,
																	"name": "em",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 960,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "EntityManager"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 2222,
																"name": "Hydrator"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1668,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1669,
															"name": "new set",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1670,
																	"name": "em",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 960,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "EntityManager"
																	}
																},
																{
																	"id": 1671,
																	"name": "entityName",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 67,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 71,
																				"typeArguments": [
																					{
																						"type": "intrinsic",
																						"name": "any"
																					},
																					{
																						"type": "union",
																						"types": [
																							{
																								"type": "intrinsic",
																								"name": "string"
																							},
																							{
																								"type": "intrinsic",
																								"name": "number"
																							},
																							{
																								"type": "intrinsic",
																								"name": "symbol"
																							}
																						]
																					}
																				],
																				"name": "AnyEntity"
																			}
																		],
																		"name": "EntityName"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 217,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 71,
																		"typeArguments": [
																			{
																				"type": "intrinsic",
																				"name": "any"
																			},
																			{
																				"type": "union",
																				"types": [
																					{
																						"type": "intrinsic",
																						"name": "string"
																					},
																					{
																						"type": "intrinsic",
																						"name": "number"
																					},
																					{
																						"type": "intrinsic",
																						"name": "symbol"
																					}
																				]
																			}
																		],
																		"name": "AnyEntity"
																	}
																],
																"name": "EntityRepository"
															}
														}
													]
												}
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"typeArguments": [
														{
															"type": "reference",
															"id": 1736,
															"name": "ConnectionOptions"
														}
													],
													"qualifiedName": "Partial",
													"package": "typescript",
													"name": "Partial"
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1672,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"signatures": [
														{
															"id": 1673,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1674,
																	"name": "message",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "intrinsic",
																		"name": "string"
																	}
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "void"
															}
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1675,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"signatures": [
														{
															"id": 1676,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1677,
																	"name": "entityName",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "intrinsic",
																		"name": "string"
																	}
																},
																{
																	"id": 1678,
																	"name": "where",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "union",
																		"types": [
																			{
																				"type": "reference",
																				"name": "IPrimaryKeyValue"
																			},
																			{
																				"type": "reference",
																				"id": 6,
																				"typeArguments": [
																					{
																						"type": "intrinsic",
																						"name": "any"
																					}
																				],
																				"name": "Dictionary"
																			}
																		]
																	}
																}
															],
															"type": {
																"type": "reference",
																"qualifiedName": "Error",
																"package": "typescript",
																"name": "Error"
															}
														}
													]
												}
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1984,
													"name": "LoggerNamespace"
												}
											},
											{
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "string"
																}
															}
														]
													}
												],
												"name": "Dictionary"
											},
											{
												"type": "reference",
												"id": 1747,
												"name": "MigrationsOptions"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1679,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 1682,
															"name": "adapter",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 314,
																	"character": 4
																}
															],
															"type": {
																"type": "reflection",
																"declaration": {
																	"id": 1683,
																	"name": "__type",
																	"kind": 512,
																	"kindString": "Constructor",
																	"flags": {},
																	"signatures": [
																		{
																			"id": 1684,
																			"name": "new __type",
																			"kind": 16384,
																			"kindString": "Constructor signature",
																			"flags": {},
																			"parameters": [
																				{
																					"id": 1685,
																					"name": "params",
																					"kind": 32768,
																					"kindString": "Parameter",
																					"flags": {
																						"isRest": true
																					},
																					"type": {
																						"type": "array",
																						"elementType": {
																							"type": "intrinsic",
																							"name": "any"
																						}
																					}
																				}
																			],
																			"type": {
																				"type": "reference",
																				"id": 3384,
																				"name": "CacheAdapter"
																			}
																		}
																	]
																}
															}
														},
														{
															"id": 1680,
															"name": "enabled",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 312,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														},
														{
															"id": 1686,
															"name": "options",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 315,
																	"character": 4
																}
															],
															"type": {
																"type": "reference",
																"id": 6,
																"typeArguments": [
																	{
																		"type": "intrinsic",
																		"name": "any"
																	}
																],
																"name": "Dictionary"
															}
														},
														{
															"id": 1681,
															"name": "pretty",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/utils/Configuration.ts",
																	"line": 313,
																	"character": 4
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "boolean"
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																1682,
																1680,
																1686,
																1681
															]
														}
													]
												}
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 1687,
													"name": "__type",
													"kind": 512,
													"kindString": "Constructor",
													"flags": {},
													"signatures": [
														{
															"id": 1688,
															"name": "new set",
															"kind": 16384,
															"kindString": "Constructor signature",
															"flags": {},
															"parameters": [
																{
																	"id": 1689,
																	"name": "config",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 1520,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2486,
																				"typeArguments": [
																					{
																						"type": "reference",
																						"id": 2844,
																						"name": "Connection"
																					}
																				],
																				"name": "IDatabaseDriver"
																			}
																		],
																		"name": "Configuration"
																	}
																}
															],
															"type": {
																"type": "reference",
																"id": 3266,
																"name": "MetadataProvider"
															}
														}
													]
												}
											},
											{
												"type": "reference",
												"qualifiedName": "Knex.PoolConfig",
												"package": "knex",
												"name": "PoolConfig"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1691,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1652,
										"name": "T"
									}
								},
								{
									"id": 1692,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1690,
										"name": "U"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1596
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1521,
						1589
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1607,
						1708,
						1695,
						1698,
						1719,
						1702,
						1693,
						1706,
						1700,
						1710,
						1650
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/Configuration.ts",
					"line": 15,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 1735,
					"name": "D",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					},
					"default": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					}
				}
			]
		},
		{
			"id": 2844,
			"name": "Connection",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2845,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 14,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2846,
							"name": "new Connection",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2847,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								},
								{
									"id": 2848,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1736,
										"name": "ConnectionOptions"
									}
								},
								{
									"id": 2849,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									},
									"defaultValue": "'write'"
								}
							],
							"type": {
								"type": "reference",
								"id": 2844,
								"name": "Connection"
							}
						}
					]
				},
				{
					"id": 2859,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 36,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2860,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Closes the database connection (aka disconnect)"
							},
							"parameters": [
								{
									"id": 2861,
									"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": 2855,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 26,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2856,
							"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": 2872,
					"name": "execute",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 47,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2873,
							"name": "execute",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2874,
									"name": "query",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2875,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								},
								{
									"id": 2876,
									"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"
											}
										]
									}
								},
								{
									"id": 2877,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2880,
					"name": "getClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 61,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2881,
							"name": "getClientUrl",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2878,
					"name": "getConnectionOptions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 49,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2879,
							"name": "getConnectionOptions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2901,
								"name": "ConnectionConfig"
							}
						}
					]
				},
				{
					"id": 2862,
					"name": "getDefaultClientUrl",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 41,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2863,
							"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": 2857,
					"name": "isConnected",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 31,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2858,
							"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": 2882,
					"name": "setMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2883,
							"name": "setMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2884,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 2864,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 43,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2865,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2866,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2867,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 2868,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 2869,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 2870,
															"name": "trx",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														}
													],
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 2866,
																"name": "T"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								},
								{
									"id": 2871,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2866,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2845
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2859,
						2855,
						2872,
						2880,
						2878,
						2862,
						2857,
						2882,
						2864
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/connections/Connection.ts",
					"line": 9,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 2909,
					"name": "AbstractSqlConnection"
				}
			]
		},
		{
			"id": 2586,
			"name": "DatabaseDriver",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2638,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2639,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2640,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2641,
									"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": 2543,
								"name": "IDatabaseDriver.aggregate"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2542,
						"name": "IDatabaseDriver.aggregate"
					}
				},
				{
					"id": 2669,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 97,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2670,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2671,
									"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"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2490,
								"name": "IDatabaseDriver.close"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2489,
						"name": "IDatabaseDriver.close"
					}
				},
				{
					"id": 2662,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 75,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2663,
							"name": "connect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "C"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2488,
								"name": "IDatabaseDriver.connect"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2487,
						"name": "IDatabaseDriver.connect"
					}
				},
				{
					"id": 2632,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 31,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2633,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2634,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2634,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2634,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2635,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2636,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2634,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2637,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2537,
								"name": "IDatabaseDriver.count"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2536,
						"name": "IDatabaseDriver.count"
					}
				},
				{
					"id": 2679,
					"name": "ensureIndexes",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 115,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2680,
							"name": "ensureIndexes",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2566,
								"name": "IDatabaseDriver.ensureIndexes"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2565,
						"name": "IDatabaseDriver.ensureIndexes"
					}
				},
				{
					"id": 2599,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 21,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2600,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds selection of entities"
							},
							"typeParameter": [
								{
									"id": 2601,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2601,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2601,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2602,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2603,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2601,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2604,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								},
								{
									"id": 2605,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2601,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2498,
								"name": "IDatabaseDriver.find"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2497,
						"name": "IDatabaseDriver.find"
					}
				},
				{
					"id": 2606,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 23,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2607,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds single entity (table row, document)"
							},
							"typeParameter": [
								{
									"id": 2608,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2608,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2608,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2609,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2610,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2608,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2611,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2578,
										"name": "FindOneOptions"
									}
								},
								{
									"id": 2612,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 2608,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2505,
								"name": "IDatabaseDriver.findOne"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2504,
						"name": "IDatabaseDriver.findOne"
					}
				},
				{
					"id": 2666,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 87,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2667,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2668,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									},
									"defaultValue": "'write'"
								}
							],
							"type": {
								"type": "reference",
								"name": "C"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2495,
								"name": "IDatabaseDriver.getConnection"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2494,
						"name": "IDatabaseDriver.getConnection"
					}
				},
				{
					"id": 2677,
					"name": "getDependencies",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 111,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2678,
							"name": "getDependencies",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns name of the underlying database dependencies (e.g. `mongodb` or `mysql2`)\nfor SQL drivers it also returns `knex` in the array as connectors are not used directly there"
							},
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							},
							"implementationOf": {
								"type": "reference",
								"id": 2568,
								"name": "IDatabaseDriver.getDependencies"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2567,
						"name": "IDatabaseDriver.getDependencies"
					}
				},
				{
					"id": 2672,
					"name": "getPlatform",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 102,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2673,
							"name": "getPlatform",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2989,
								"name": "Platform"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2561,
								"name": "IDatabaseDriver.getPlatform"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2560,
						"name": "IDatabaseDriver.getPlatform"
					}
				},
				{
					"id": 2642,
					"name": "loadFromPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 37,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2643,
							"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": 2644,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2644,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2644,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 2645,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2645,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2645,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2646,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 2647,
									"name": "owners",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "array",
											"elementType": {
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2645,
														"name": "O"
													}
												],
												"name": "Primary"
											}
										}
									}
								},
								{
									"id": 2648,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2644,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2649,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 2650,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 2644,
													"name": "T"
												}
											}
										],
										"name": "Dictionary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2552,
								"name": "IDatabaseDriver.loadFromPivotTable"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2551,
						"name": "IDatabaseDriver.loadFromPivotTable"
					}
				},
				{
					"id": 2657,
					"name": "mapResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 47,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2658,
							"name": "mapResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2659,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2659,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2659,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2660,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2659,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2661,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 2659,
										"name": "T"
									}
								]
							},
							"implementationOf": {
								"type": "reference",
								"id": 2547,
								"name": "IDatabaseDriver.mapResult"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2546,
						"name": "IDatabaseDriver.mapResult"
					}
				},
				{
					"id": 2626,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 29,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2627,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2628,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2628,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2628,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2629,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2630,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2628,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2631,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2525,
								"name": "IDatabaseDriver.nativeDelete"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2524,
						"name": "IDatabaseDriver.nativeDelete"
					}
				},
				{
					"id": 2613,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 25,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2614,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2615,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2615,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2615,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2616,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2617,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2615,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2618,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2512,
								"name": "IDatabaseDriver.nativeInsert"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2511,
						"name": "IDatabaseDriver.nativeInsert"
					}
				},
				{
					"id": 2619,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 27,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 2620,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2621,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2621,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2621,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2622,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2623,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2621,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2624,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2621,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2625,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2518,
								"name": "IDatabaseDriver.nativeUpdate"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2517,
						"name": "IDatabaseDriver.nativeUpdate"
					}
				},
				{
					"id": 2664,
					"name": "reconnect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 82,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2665,
							"name": "reconnect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "C"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2493,
								"name": "IDatabaseDriver.reconnect"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2492,
						"name": "IDatabaseDriver.reconnect"
					}
				},
				{
					"id": 2674,
					"name": "setMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 106,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2675,
							"name": "setMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2676,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2563,
								"name": "IDatabaseDriver.setMetadata"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2562,
						"name": "IDatabaseDriver.setMetadata"
					}
				},
				{
					"id": 2651,
					"name": "syncCollection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/drivers/DatabaseDriver.ts",
							"line": 41,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2652,
							"name": "syncCollection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2653,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2653,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2653,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 2654,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2654,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2654,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2655,
									"name": "coll",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 771,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2653,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 2654,
												"name": "O"
											}
										],
										"name": "Collection"
									}
								},
								{
									"id": 2656,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 2531,
								"name": "IDatabaseDriver.syncCollection"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 2530,
						"name": "IDatabaseDriver.syncCollection"
					}
				}
			],
			"groups": [
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2638,
						2669,
						2662,
						2632,
						2679,
						2599,
						2606,
						2666,
						2677,
						2672,
						2642,
						2657,
						2626,
						2613,
						2619,
						2664,
						2674,
						2651
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/drivers/DatabaseDriver.ts",
					"line": 10,
					"character": 22
				}
			],
			"typeParameter": [
				{
					"id": 2697,
					"name": "C",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2844,
						"name": "Connection"
					}
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 2698,
					"name": "AbstractSqlDriver"
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 2486,
					"typeArguments": [
						{
							"type": "reference",
							"name": "C"
						}
					],
					"name": "IDatabaseDriver"
				}
			]
		},
		{
			"id": 3981,
			"name": "DatabaseSchema",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3987,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3988,
							"name": "new DatabaseSchema",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3981,
								"name": "DatabaseSchema"
							}
						}
					]
				},
				{
					"id": 3990,
					"name": "addTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/DatabaseSchema.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3991,
							"name": "addTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3992,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3993,
									"name": "schema",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "undefined"
											},
											{
												"type": "intrinsic",
												"name": "string"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"name": "DatabaseTable"
							}
						}
					]
				},
				{
					"id": 3996,
					"name": "getTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/DatabaseSchema.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3997,
							"name": "getTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3998,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"name": "DatabaseTable"
									}
								]
							}
						}
					]
				},
				{
					"id": 3994,
					"name": "getTables",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/DatabaseSchema.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3995,
							"name": "getTables",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"name": "DatabaseTable"
								}
							}
						}
					]
				},
				{
					"id": 3982,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/schema/DatabaseSchema.ts",
							"line": 25,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 3983,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3984,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2909,
										"name": "AbstractSqlConnection"
									}
								},
								{
									"id": 3985,
									"name": "helper",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4178,
										"name": "SchemaHelper"
									}
								},
								{
									"id": 3986,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 3981,
										"name": "DatabaseSchema"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3987
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3990,
						3996,
						3994,
						3982
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/schema/DatabaseSchema.ts",
					"line": 6,
					"character": 13
				}
			]
		},
		{
			"id": 3064,
			"name": "DateType",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3068,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3069,
							"name": "new DateType",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3064,
								"name": "DateType"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3047,
								"name": "Type.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3046,
						"name": "Type.constructor"
					}
				},
				{
					"id": 3070,
					"name": "convertToDatabaseValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/DateType.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3071,
							"name": "convertToDatabaseValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its database representation of this type."
							},
							"parameters": [
								{
									"id": 3072,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3073,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"overwrites": {
								"type": "reference",
								"id": 3049,
								"name": "Type.convertToDatabaseValue"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3048,
						"name": "Type.convertToDatabaseValue"
					}
				},
				{
					"id": 3074,
					"name": "convertToJSValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/DateType.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3075,
							"name": "convertToJSValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its database representation to its JS representation of this type."
							},
							"parameters": [
								{
									"id": 3076,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3077,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"overwrites": {
								"type": "reference",
								"id": 3053,
								"name": "Type.convertToJSValue"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3052,
						"name": "Type.convertToJSValue"
					}
				},
				{
					"id": 3078,
					"name": "getColumnType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/DateType.ts",
							"line": 34,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3079,
							"name": "getColumnType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the SQL declaration snippet for a field of this type."
							},
							"parameters": [
								{
									"id": 3080,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 3081,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3061,
								"name": "Type.getColumnType"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3060,
						"name": "Type.getColumnType"
					}
				},
				{
					"id": 3082,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3083,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its serialized JSON form of this type.\nBy default converts to the database value."
							},
							"parameters": [
								{
									"id": 3084,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3085,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3057,
								"name": "Type.toJSON"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3056,
						"name": "Type.toJSON"
					}
				},
				{
					"id": 3065,
					"name": "getType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 37,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 3066,
							"name": "getType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3067,
									"name": "cls",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3041,
												"name": "Type"
											}
										],
										"name": "Constructor"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3041,
								"name": "Type"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3044,
								"name": "Type.getType"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3043,
						"name": "Type.getType"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3068
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3070,
						3074,
						3078,
						3082,
						3065
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/types/DateType.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3041,
					"name": "Type"
				}
			]
		},
		{
			"id": 415,
			"name": "EntityAssigner",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 458,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 459,
							"name": "new EntityAssigner",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 415,
								"name": "EntityAssigner"
							}
						}
					]
				},
				{
					"id": 416,
					"name": "assign",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityAssigner.ts",
							"line": 13,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 417,
							"name": "assign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 418,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 418,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 418,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 419,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 418,
										"name": "T"
									}
								},
								{
									"id": 420,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 418,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 421,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 460,
										"name": "AssignOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 418,
								"name": "T"
							}
						},
						{
							"id": 422,
							"name": "assign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 423,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 423,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 423,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 424,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 423,
										"name": "T"
									}
								},
								{
									"id": 425,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 423,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 426,
									"name": "onlyProperties",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 423,
								"name": "T"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						458
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						416
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityAssigner.ts",
					"line": 11,
					"character": 13
				}
			]
		},
		{
			"id": 3239,
			"name": "EntityCaseNamingStrategy",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "This strategy keeps original entity/property names for table/column."
			},
			"children": [
				{
					"id": 3240,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3241,
							"name": "new EntityCaseNamingStrategy",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3239,
								"name": "EntityCaseNamingStrategy"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3157,
								"name": "AbstractNamingStrategy.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3156,
						"name": "AbstractNamingStrategy.constructor"
					}
				},
				{
					"id": 3242,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3243,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 3244,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3163,
								"name": "AbstractNamingStrategy.classToTableName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3162,
						"name": "AbstractNamingStrategy.classToTableName"
					}
				},
				{
					"id": 3262,
					"name": "getClassName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3263,
							"name": "getClassName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a name of the class based on its file name"
							},
							"parameters": [
								{
									"id": 3264,
									"name": "file",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3265,
									"name": "separator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'-'"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3159,
								"name": "AbstractNamingStrategy.getClassName"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3158,
						"name": "AbstractNamingStrategy.getClassName"
					}
				},
				{
					"id": 3245,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
							"line": 12,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3246,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 3247,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3166,
								"name": "AbstractNamingStrategy.joinColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3165,
						"name": "AbstractNamingStrategy.joinColumnName"
					}
				},
				{
					"id": 3248,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
							"line": 16,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3249,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 3250,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3251,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3169,
								"name": "AbstractNamingStrategy.joinKeyColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3168,
						"name": "AbstractNamingStrategy.joinKeyColumnName"
					}
				},
				{
					"id": 3252,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
							"line": 20,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3253,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 3254,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3255,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3256,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3173,
								"name": "AbstractNamingStrategy.joinTableName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3172,
						"name": "AbstractNamingStrategy.joinTableName"
					}
				},
				{
					"id": 3257,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
							"line": 24,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3258,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 3259,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3178,
								"name": "AbstractNamingStrategy.propertyToColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3177,
						"name": "AbstractNamingStrategy.propertyToColumnName"
					}
				},
				{
					"id": 3260,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
							"line": 28,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3261,
							"name": "referenceColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the default reference column name"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3181,
								"name": "AbstractNamingStrategy.referenceColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3180,
						"name": "AbstractNamingStrategy.referenceColumnName"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3240
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3242,
						3262,
						3245,
						3248,
						3252,
						3257,
						3260
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/naming-strategy/EntityCaseNamingStrategy.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3155,
					"name": "AbstractNamingStrategy"
				}
			]
		},
		{
			"id": 557,
			"name": "EntityFactory",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 558,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityFactory.ts",
							"line": 16,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 559,
							"name": "new EntityFactory",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 560,
									"name": "unitOfWork",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1349,
										"name": "UnitOfWork"
									}
								},
								{
									"id": 561,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 557,
								"name": "EntityFactory"
							}
						}
					]
				},
				{
					"id": 566,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityFactory.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 567,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 568,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 568,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 568,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 569,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 568,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 570,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 568,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 571,
									"name": "initialized",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 572,
									"name": "newEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 568,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 573,
					"name": "createReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityFactory.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 574,
							"name": "createReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 575,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 575,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 575,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 576,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 575,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 577,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 575,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 12,
													"typeArguments": [
														{
															"type": "reference",
															"id": 575,
															"name": "T"
														}
													],
													"name": "Primary"
												}
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 575,
																"name": "T"
															}
														],
														"name": "Primary"
													}
												],
												"qualifiedName": "Record",
												"package": "typescript",
												"name": "Record"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 575,
								"name": "T"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						558
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						566,
						573
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityFactory.ts",
					"line": 9,
					"character": 13
				}
			]
		},
		{
			"id": 502,
			"name": "EntityHelper",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 554,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 555,
							"name": "new EntityHelper",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 502,
								"name": "EntityHelper"
							}
						}
					]
				},
				{
					"id": 509,
					"name": "decorate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityHelper.ts",
							"line": 31,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 510,
							"name": "decorate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 511,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 511,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 511,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 512,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "reference",
												"id": 511,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 513,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 503,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityHelper.ts",
							"line": 17,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 504,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 505,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 505,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 505,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 506,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 505,
										"name": "T"
									}
								},
								{
									"id": 507,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 508,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1212,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 505,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						554
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						509,
						503
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityHelper.ts",
					"line": 15,
					"character": 13
				}
			]
		},
		{
			"id": 347,
			"name": "EntityIdentifier",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 348,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityIdentifier.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 349,
							"name": "new EntityIdentifier",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 350,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 347,
								"name": "EntityIdentifier"
							}
						}
					]
				},
				{
					"id": 354,
					"name": "getValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityIdentifier.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 355,
							"name": "getValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 356,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									},
									"default": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 356,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 351,
					"name": "setValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityIdentifier.ts",
							"line": 7,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 352,
							"name": "setValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 353,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						348
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						354,
						351
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityIdentifier.ts",
					"line": 3,
					"character": 13
				}
			]
		},
		{
			"id": 598,
			"name": "EntityLoader",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 599,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityLoader.ts",
							"line": 15,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 600,
							"name": "new EntityLoader",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 601,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 598,
								"name": "EntityLoader"
							}
						}
					]
				},
				{
					"id": 604,
					"name": "populate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityLoader.ts",
							"line": 17,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 605,
							"name": "populate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 606,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 606,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 606,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 607,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 608,
									"name": "entities",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 606,
											"name": "T"
										}
									}
								},
								{
									"id": 609,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 610,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 606,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									},
									"defaultValue": "{}"
								},
								{
									"id": 611,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									},
									"defaultValue": "{}"
								},
								{
									"id": 612,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 613,
									"name": "validate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 614,
									"name": "lookup",
									"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": [
						599
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						604
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityLoader.ts",
					"line": 10,
					"character": 13
				}
			]
		},
		{
			"id": 960,
			"name": "EntityManager",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "The EntityManager is the central access point to ORM functionality. It is a facade to all different ORM subsystems\nsuch as UnitOfWork, Query Language and Repository API."
			},
			"children": [
				{
					"id": 961,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 962,
							"name": "new EntityManager",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 963,
									"name": "D",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											},
											{
												"type": "reference",
												"id": 963,
												"name": "D"
											}
										],
										"name": "IDatabaseDriver"
									},
									"default": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"parameters": [
								{
									"id": 964,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								},
								{
									"id": 965,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 963,
										"name": "D"
									}
								},
								{
									"id": 966,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 967,
									"name": "useContext",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"id": 960,
								"typeArguments": [
									{
										"type": "reference",
										"id": 963,
										"name": "D"
									}
								],
								"name": "EntityManager"
							}
						}
					]
				},
				{
					"id": 975,
					"name": "config",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"id": 1520,
						"typeArguments": [
							{
								"type": "reference",
								"id": 2486,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2844,
										"name": "Connection"
									}
								],
								"name": "IDatabaseDriver"
							}
						],
						"name": "Configuration"
					}
				},
				{
					"id": 968,
					"name": "id",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 18,
							"character": 11
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"defaultValue": "..."
				},
				{
					"id": 1080,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 289,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1081,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Shortcut to driver's aggregate method. Available in MongoDriver only."
							},
							"parameters": [
								{
									"id": 1082,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1083,
									"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": 1156,
					"name": "canPopulate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 492,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1157,
							"name": "canPopulate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether given property can be populated on the entity."
							},
							"parameters": [
								{
									"id": 1158,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"qualifiedName": "Function",
												"package": "typescript",
												"name": "Function"
											}
										]
									}
								},
								{
									"id": 1159,
									"name": "property",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1154,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 485,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1155,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Clears the EntityManager. All entities that are currently managed by this EntityManager become detached."
							},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1120,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 387,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1121,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns total number of entities matching your `where` query."
							},
							"typeParameter": [
								{
									"id": 1122,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1122,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1122,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1123,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1122,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1124,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1122,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1094,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 336,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1095,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new instance of given entity and populates it with given data"
							},
							"typeParameter": [
								{
									"id": 1096,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1096,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1096,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1097,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1096,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1098,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1096,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1096,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 988,
					"name": "createQueryBuilder",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 70,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 989,
							"name": "createQueryBuilder",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates a QueryBuilder instance"
							},
							"typeParameter": [
								{
									"id": 990,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 990,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 990,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 991,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 990,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 992,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 993,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 990,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 994,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 84,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 995,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds all entities matching your `where` query. You can pass additional options via the `options` parameter."
							},
							"typeParameter": [
								{
									"id": 996,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 996,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 996,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 997,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 996,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 998,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 996,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 999,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 996,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 1000,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds all entities matching your `where` query."
							},
							"typeParameter": [
								{
									"id": 1001,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1001,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1001,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1002,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1001,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1003,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1001,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1004,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 1005,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 1006,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 1007,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 1001,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1008,
					"name": "findAndCount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 123,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1009,
							"name": "findAndCount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Calls `em.find()` and `em.count()` with the same arguments (where applicable) and returns the results as tuple\nwhere first element is the array of entities and the second is the count."
							},
							"typeParameter": [
								{
									"id": 1010,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1010,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1010,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1011,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1010,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1012,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1010,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1013,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "tuple",
										"elements": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1010,
													"name": "T"
												}
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 1014,
							"name": "findAndCount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Calls `em.find()` and `em.count()` with the same arguments (where applicable) and returns the results as tuple\nwhere first element is the array of entities and the second is the count."
							},
							"typeParameter": [
								{
									"id": 1015,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1015,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1015,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1016,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1015,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1017,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1015,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1018,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 1019,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 1020,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 1021,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "tuple",
										"elements": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1015,
													"name": "T"
												}
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1022,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 147,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1023,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds first entity matching your `where` query."
							},
							"typeParameter": [
								{
									"id": 1024,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1024,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1024,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1025,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1024,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1026,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1024,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1027,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2578,
										"name": "FindOneOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 1024,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 1028,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds first entity matching your `where` query."
							},
							"typeParameter": [
								{
									"id": 1029,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1029,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1029,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1030,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1029,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1031,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1029,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1032,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 1033,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 1029,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1034,
					"name": "findOneOrFail",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 189,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1035,
							"name": "findOneOrFail",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds first entity matching your `where` query. If nothing found, it will throw an error.\nYou can override the factory for creating this method via `options.failHandler` locally\nor via `Configuration.findOneOrFailHandler` globally."
							},
							"typeParameter": [
								{
									"id": 1036,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1036,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1036,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1037,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1036,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1038,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1036,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1039,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1200,
										"name": "FindOneOrFailOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1036,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 1040,
							"name": "findOneOrFail",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds first entity matching your `where` query. If nothing found, it will throw an error.\nYou can override the factory for creating this method via `options.failHandler` locally\nor via `Configuration.findOneOrFailHandler` globally."
							},
							"typeParameter": [
								{
									"id": 1041,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1041,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1041,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1042,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1041,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1043,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1041,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1044,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 1045,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1041,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1152,
					"name": "flush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 478,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1153,
							"name": "flush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Flushes all changes to objects that have been queued up to now to the database.\nThis effectively synchronizes the in-memory state of managed objects with the database."
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1170,
					"name": "fork",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 528,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1171,
							"name": "fork",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns new EntityManager instance with its own identity map"
							},
							"parameters": [
								{
									"id": 1172,
									"name": "clear",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "do we want clear identity map? defaults to true"
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 1173,
									"name": "useContext",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"comment": {
										"shortText": "use request context? should be used only for top level request scope EM, defaults to false\n"
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 960,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								],
								"name": "EntityManager"
							}
						}
					]
				},
				{
					"id": 978,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 41,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 979,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the Connection instance, by default returns write connection"
							},
							"parameters": [
								{
									"id": 980,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "indexedAccess",
										"indexType": {
											"type": "literal",
											"value": "getConnection"
										},
										"objectType": {
											"type": "reference",
											"id": 963,
											"name": "D"
										}
									}
								],
								"qualifiedName": "ReturnType",
								"package": "typescript",
								"name": "ReturnType"
							}
						}
					]
				},
				{
					"id": 976,
					"name": "getDriver",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 34,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 977,
							"name": "getDriver",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the Driver instance used by this EntityManager"
							},
							"type": {
								"type": "reference",
								"id": 963,
								"name": "D"
							}
						}
					]
				},
				{
					"id": 1176,
					"name": "getEntityFactory",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 549,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1177,
							"name": "getEntityFactory",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the EntityFactory used by the EntityManager."
							},
							"type": {
								"type": "reference",
								"id": 557,
								"name": "EntityFactory"
							}
						}
					]
				},
				{
					"id": 1183,
					"name": "getMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 571,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1184,
							"name": "getMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the MetadataStorage."
							},
							"type": {
								"type": "reference",
								"name": "MetadataStorage"
							}
						}
					]
				},
				{
					"id": 1099,
					"name": "getReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 343,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1100,
							"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": 1101,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1101,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1101,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1102,
									"name": "PK",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1103,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1101,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1104,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1101,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 12,
													"typeArguments": [
														{
															"type": "reference",
															"id": 1101,
															"name": "T"
														}
													],
													"name": "Primary"
												}
											}
										]
									}
								},
								{
									"id": 1105,
									"name": "wrapped",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "literal",
										"value": true
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 901,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1101,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 1102,
										"name": "PK"
									}
								],
								"name": "IdentifiedReference"
							}
						},
						{
							"id": 1106,
							"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": 1107,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1107,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1107,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1108,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1107,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1109,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1107,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 12,
													"typeArguments": [
														{
															"type": "reference",
															"id": 1107,
															"name": "T"
														}
													],
													"name": "Primary"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1107,
								"name": "T"
							}
						},
						{
							"id": 1110,
							"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": 1111,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1111,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1111,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1112,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1111,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1113,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1111,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 12,
													"typeArguments": [
														{
															"type": "reference",
															"id": 1111,
															"name": "T"
														}
													],
													"name": "Primary"
												}
											}
										]
									}
								},
								{
									"id": 1114,
									"name": "wrapped",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "literal",
										"value": false
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1111,
								"name": "T"
							}
						},
						{
							"id": 1115,
							"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": 1116,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1116,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1116,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1117,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1116,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1118,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1116,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 12,
													"typeArguments": [
														{
															"type": "reference",
															"id": 1116,
															"name": "T"
														}
													],
													"name": "Primary"
												}
											}
										]
									}
								},
								{
									"id": 1119,
									"name": "wrapped",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "reference",
										"id": 1116,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 904,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1116,
												"name": "T"
											}
										],
										"name": "Reference"
									}
								]
							}
						}
					]
				},
				{
					"id": 981,
					"name": "getRepository",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 48,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 982,
							"name": "getRepository",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets repository for given entity. You can pass either string name or entity class reference."
							},
							"typeParameter": [
								{
									"id": 983,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 983,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 983,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 984,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 217,
										"typeArguments": [
											{
												"type": "reference",
												"id": 983,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 984,
												"name": "U"
											}
										],
										"name": "EntityRepository"
									},
									"default": {
										"type": "reference",
										"id": 217,
										"typeArguments": [
											{
												"type": "reference",
												"id": 983,
												"name": "T"
											}
										],
										"name": "EntityRepository"
									}
								}
							],
							"parameters": [
								{
									"id": 985,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 983,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 984,
								"name": "U"
							}
						}
					]
				},
				{
					"id": 1180,
					"name": "getTransactionContext",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 564,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1181,
							"name": "getTransactionContext",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the transaction context (driver dependent object used to make sure queries are executed on same connection)."
							},
							"typeParameter": [
								{
									"id": 1182,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "unknown"
									},
									"default": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 1182,
										"name": "T"
									}
								]
							}
						}
					]
				},
				{
					"id": 1174,
					"name": "getUnitOfWork",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 541,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1175,
							"name": "getUnitOfWork",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the UnitOfWork used by the EntityManager to coordinate operations."
							},
							"type": {
								"type": "reference",
								"id": 1349,
								"name": "UnitOfWork"
							}
						}
					]
				},
				{
					"id": 986,
					"name": "getValidator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 63,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 987,
							"name": "getValidator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets EntityValidator instance"
							},
							"type": {
								"type": "reference",
								"id": 357,
								"name": "EntityValidator"
							}
						}
					]
				},
				{
					"id": 1178,
					"name": "isInTransaction",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 557,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1179,
							"name": "isInTransaction",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether this EntityManager is currently operating inside a database transaction."
							},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 1054,
					"name": "lock",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 233,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1055,
							"name": "lock",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Runs your callback wrapped inside a database transaction."
							},
							"parameters": [
								{
									"id": 1056,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1057,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1212,
										"name": "LockMode"
									}
								},
								{
									"id": 1058,
									"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": 1075,
					"name": "map",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 278,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1076,
							"name": "map",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Maps raw database result to an entity and merges it to this EntityManager."
							},
							"typeParameter": [
								{
									"id": 1077,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1077,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1077,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1078,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1077,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1079,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1077,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1077,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 1084,
					"name": "merge",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 298,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1085,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Merges given entity to this EntityManager so it becomes managed. You can force refreshing of existing entities\nvia second parameter. By default it will return already loaded entities without modifying them."
							},
							"typeParameter": [
								{
									"id": 1086,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1086,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1086,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1087,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1086,
										"name": "T"
									}
								},
								{
									"id": 1088,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1086,
								"name": "T"
							}
						},
						{
							"id": 1089,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Merges given entity to this EntityManager so it becomes managed. You can force refreshing of existing entities\nvia second parameter. By default it will return already loaded entities without modifying them."
							},
							"typeParameter": [
								{
									"id": 1090,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1090,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1090,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1091,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1090,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1092,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1090,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 1093,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1090,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 1070,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 266,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1071,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Fires native delete query. Calling this has no side effects on the context (identity map)."
							},
							"typeParameter": [
								{
									"id": 1072,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1072,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1072,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1073,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1072,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1074,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1072,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1059,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 240,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1060,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Fires native insert query. Calling this has no side effects on the context (identity map)."
							},
							"typeParameter": [
								{
									"id": 1061,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1061,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1061,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1062,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1061,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1063,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1061,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1061,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1064,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 252,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1065,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Fires native update query. Calling this has no side effects on the context (identity map)."
							},
							"typeParameter": [
								{
									"id": 1066,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1066,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1066,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1067,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1066,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1068,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1066,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 1069,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1066,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1125,
					"name": "persist",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 399,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1126,
							"name": "persist",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Tells the EntityManager to make an instance managed and persistent. You can force flushing via second parameter.\nThe entity will be entered into the database at or before transaction commit or as a result of the flush operation."
							},
							"parameters": [
								{
									"id": 1127,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											}
										]
									}
								},
								{
									"id": 1128,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "void"
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "void"
											}
										],
										"qualifiedName": "Promise",
										"package": "typescript",
										"name": "Promise"
									}
								]
							}
						}
					]
				},
				{
					"id": 1129,
					"name": "persistAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 411,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1130,
							"name": "persistAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Persists your entity immediately, flushing all not yet persisted changes to the database too.\nEquivalent to `em.persistLater(e) && em.flush()`."
							},
							"parameters": [
								{
									"id": 1131,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1132,
					"name": "persistLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 420,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1133,
							"name": "persistLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Tells the EntityManager to make an instance managed and persistent.\nThe entity will be entered into the database at or before transaction commit or as a result of the flush operation."
							},
							"parameters": [
								{
									"id": 1134,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1160,
					"name": "populate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 509,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1161,
							"name": "populate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1162,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1162,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1162,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1163,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1162,
														"name": "T"
													},
													{
														"type": "typeOperator",
														"operator": "keyof",
														"target": {
															"type": "reference",
															"id": 1162,
															"name": "T"
														}
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1162,
													"name": "T"
												}
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 1164,
									"name": "entities",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1163,
										"name": "K"
									}
								},
								{
									"id": 1165,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 1166,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1162,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									},
									"defaultValue": "{}"
								},
								{
									"id": 1167,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									},
									"defaultValue": "{}"
								},
								{
									"id": 1168,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 1169,
									"name": "validate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1163,
										"name": "K"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1135,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 432,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1136,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Removes an entity instance or all entities matching your `where` query. When deleting entity by instance, you\nwill need to flush your changes. You can force flushing via third parameter."
							},
							"typeParameter": [
								{
									"id": 1137,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1137,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1137,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1138,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1137,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								},
								{
									"id": 1139,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1137,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 24,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1137,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 1140,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "void"
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "number"
											}
										],
										"qualifiedName": "Promise",
										"package": "typescript",
										"name": "Promise"
									}
								]
							}
						}
					]
				},
				{
					"id": 1146,
					"name": "removeAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 461,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1147,
							"name": "removeAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Removes an entity instance immediately, flushing all not yet persisted changes to the database too.\nEquivalent to `em.removeLater(e) && em.flush()`"
							},
							"parameters": [
								{
									"id": 1148,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1141,
					"name": "removeEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 449,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1142,
							"name": "removeEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Removes an entity instance. You can force flushing via second parameter.\nA removed entity will be removed from the database at or before transaction commit or as a result of the flush operation."
							},
							"typeParameter": [
								{
									"id": 1143,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1143,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1143,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1144,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1143,
										"name": "T"
									}
								},
								{
									"id": 1145,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "void"
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "void"
											}
										],
										"qualifiedName": "Promise",
										"package": "typescript",
										"name": "Promise"
									}
								]
							}
						}
					]
				},
				{
					"id": 1149,
					"name": "removeLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 470,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1150,
							"name": "removeLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Removes an entity instance.\nA removed entity will be removed from the database at or before transaction commit or as a result of the flush operation."
							},
							"parameters": [
								{
									"id": 1151,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1046,
					"name": "transactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 219,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1047,
							"name": "transactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Runs your callback wrapped inside a database transaction."
							},
							"typeParameter": [
								{
									"id": 1048,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 1049,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1050,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1051,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 1052,
															"name": "em",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 960,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 2486,
																		"typeArguments": [
																			{
																				"type": "reference",
																				"id": 2844,
																				"name": "Connection"
																			}
																		],
																		"name": "IDatabaseDriver"
																	}
																],
																"name": "EntityManager"
															}
														}
													],
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 1048,
																"name": "T"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								},
								{
									"id": 1053,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 1048,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						961
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						975,
						968
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1080,
						1156,
						1154,
						1120,
						1094,
						988,
						994,
						1008,
						1022,
						1034,
						1152,
						1170,
						978,
						976,
						1176,
						1183,
						1099,
						981,
						1180,
						1174,
						986,
						1178,
						1054,
						1075,
						1084,
						1070,
						1059,
						1064,
						1125,
						1129,
						1132,
						1160,
						1135,
						1146,
						1141,
						1149,
						1046
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/EntityManager.ts",
					"line": 16,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 1199,
					"name": "D",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					},
					"default": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					}
				}
			]
		},
		{
			"id": 217,
			"name": "EntityRepository",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 218,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 219,
							"name": "new EntityRepository",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 220,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 220,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 221,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								},
								{
									"id": 222,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 67,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "EntityName"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 217,
								"typeArguments": [
									{
										"type": "reference",
										"id": 220,
										"name": "T"
									}
								],
								"name": "EntityRepository"
							}
						}
					]
				},
				{
					"id": 309,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 89,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 310,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 311,
									"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": 328,
					"name": "canPopulate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 104,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 329,
							"name": "canPopulate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 330,
									"name": "property",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 343,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 119,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 344,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 345,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 340,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 115,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 341,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new instance of given entity and populates it with given data"
							},
							"parameters": [
								{
									"id": 342,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 220,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 235,
					"name": "createQueryBuilder",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 23,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 236,
							"name": "createQueryBuilder",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 237,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 220,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 256,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 39,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 257,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 258,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 259,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 260,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 261,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 262,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 263,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 264,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 265,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 276,
					"name": "findAll",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 51,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 277,
							"name": "findAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 278,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 279,
							"name": "findAll",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 280,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 281,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 282,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 283,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 266,
					"name": "findAndCount",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 45,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 267,
							"name": "findAndCount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 268,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 269,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "tuple",
										"elements": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 220,
													"name": "T"
												}
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 270,
							"name": "findAndCount",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 271,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 272,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 273,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 274,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 275,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "tuple",
										"elements": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 220,
													"name": "T"
												}
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 238,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 27,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 239,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 240,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 241,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 242,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 243,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 244,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 245,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2578,
										"name": "FindOneOptions"
									}
								},
								{
									"id": 246,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 247,
					"name": "findOneOrFail",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 248,
							"name": "findOneOrFail",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 249,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 250,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 251,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 220,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						},
						{
							"id": 252,
							"name": "findOneOrFail",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 253,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 254,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1200,
										"name": "FindOneOrFailOptions"
									}
								},
								{
									"id": 255,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 220,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 294,
					"name": "flush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 69,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 295,
							"name": "flush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 312,
					"name": "getReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 96,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 313,
							"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": 314,
									"name": "PK",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 315,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								},
								{
									"id": 316,
									"name": "wrapped",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "literal",
										"value": true
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 901,
								"typeArguments": [
									{
										"type": "reference",
										"id": 220,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 314,
										"name": "PK"
									}
								],
								"name": "IdentifiedReference"
							}
						},
						{
							"id": 317,
							"name": "getReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 318,
									"name": "PK",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									},
									"default": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								}
							],
							"parameters": [
								{
									"id": 319,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 220,
								"name": "T"
							}
						},
						{
							"id": 320,
							"name": "getReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 321,
									"name": "PK",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									},
									"default": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								}
							],
							"parameters": [
								{
									"id": 322,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								},
								{
									"id": 323,
									"name": "wrapped",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "literal",
										"value": false
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 220,
								"name": "T"
							}
						},
						{
							"id": 324,
							"name": "getReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 325,
									"name": "PK",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									},
									"default": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 220,
											"name": "T"
										}
									}
								}
							],
							"parameters": [
								{
									"id": 326,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								},
								{
									"id": 327,
									"name": "wrapped",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "literal",
										"value": true
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 904,
								"typeArguments": [
									{
										"type": "reference",
										"id": 220,
										"name": "T"
									}
								],
								"name": "Reference"
							}
						}
					]
				},
				{
					"id": 306,
					"name": "map",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 85,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 307,
							"name": "map",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 308,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 220,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 303,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 81,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 304,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 305,
									"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": 296,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 73,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 297,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 298,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 299,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 77,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 300,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 301,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 302,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 225,
					"name": "persist",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 226,
							"name": "persist",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 227,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											}
										]
									}
								},
								{
									"id": 228,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "void"
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "void"
											}
										],
										"qualifiedName": "Promise",
										"package": "typescript",
										"name": "Promise"
									}
								]
							}
						}
					]
				},
				{
					"id": 229,
					"name": "persistAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 15,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 230,
							"name": "persistAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 231,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 232,
					"name": "persistLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 233,
							"name": "persistLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 234,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 71,
													"typeArguments": [
														{
															"type": "intrinsic",
															"name": "any"
														},
														{
															"type": "union",
															"types": [
																{
																	"type": "intrinsic",
																	"name": "string"
																},
																{
																	"type": "intrinsic",
																	"name": "number"
																},
																{
																	"type": "intrinsic",
																	"name": "symbol"
																}
															]
														}
													],
													"name": "AnyEntity"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 331,
					"name": "populate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 108,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 332,
							"name": "populate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 333,
									"name": "A",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "reference",
														"id": 220,
														"name": "T"
													},
													{
														"type": "typeOperator",
														"operator": "keyof",
														"target": {
															"type": "reference",
															"id": 220,
															"name": "T"
														}
													}
												],
												"name": "AnyEntity"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 220,
													"name": "T"
												}
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 334,
									"name": "entities",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 333,
										"name": "A"
									}
								},
								{
									"id": 335,
									"name": "populate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 336,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									},
									"defaultValue": "{}"
								},
								{
									"id": 337,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									},
									"defaultValue": "{}"
								},
								{
									"id": 338,
									"name": "refresh",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 339,
									"name": "validate",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 333,
										"name": "A"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 284,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 57,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 285,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 286,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 220,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 24,
												"typeArguments": [
													{
														"type": "reference",
														"id": 220,
														"name": "T"
													}
												],
												"name": "FilterQuery"
											}
										]
									}
								},
								{
									"id": 287,
									"name": "flush",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "void"
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "number"
											}
										],
										"qualifiedName": "Promise",
										"package": "typescript",
										"name": "Promise"
									}
								]
							}
						}
					]
				},
				{
					"id": 288,
					"name": "removeAndFlush",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 61,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 289,
							"name": "removeAndFlush",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 290,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 291,
					"name": "removeLater",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityRepository.ts",
							"line": 65,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 292,
							"name": "removeLater",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 293,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						218
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						309,
						328,
						343,
						340,
						235,
						256,
						276,
						266,
						238,
						247,
						294,
						312,
						306,
						303,
						296,
						299,
						225,
						229,
						232,
						331,
						284,
						288,
						291
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityRepository.ts",
					"line": 6,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 346,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 220,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			]
		},
		{
			"id": 3882,
			"name": "EntitySchema",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3883,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3884,
							"name": "new EntitySchema",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 3885,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3885,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									},
									"default": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 3886,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "undefined"
											},
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3885,
														"name": "T"
													},
													{
														"type": "typeOperator",
														"operator": "keyof",
														"target": {
															"type": "reference",
															"id": 3885,
															"name": "T"
														}
													}
												],
												"name": "AnyEntity"
											}
										]
									},
									"default": {
										"type": "intrinsic",
										"name": "undefined"
									}
								}
							],
							"parameters": [
								{
									"id": 3887,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 142,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3885,
														"name": "T"
													}
												],
												"name": "EntityMetadata"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"id": 3885,
														"name": "T"
													},
													{
														"type": "reference",
														"id": 3886,
														"name": "U"
													}
												],
												"name": "Metadata"
											}
										]
									}
								},
								{
									"id": 3888,
									"name": "internal",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 3882,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3885,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 3886,
										"name": "U"
									}
								],
								"name": "EntitySchema"
							}
						}
					]
				},
				{
					"id": 3965,
					"name": "meta",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 171,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 3966,
							"name": "meta",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 142,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3885,
										"name": "T"
									}
								],
								"name": "EntityMetadata"
							}
						}
					]
				},
				{
					"id": 3967,
					"name": "name",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 175,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 3968,
							"name": "name",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3897,
					"name": "addEnum",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3898,
							"name": "addEnum",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3899,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3900,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3901,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3768,
										"name": "EnumOptions"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3941,
					"name": "addIndex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 146,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3942,
							"name": "addIndex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3943,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 3803,
																"name": "IndexOptions"
															},
															{
																"type": "union",
																"types": [
																	{
																		"type": "literal",
																		"value": "type"
																	},
																	{
																		"type": "literal",
																		"value": "name"
																	},
																	{
																		"type": "literal",
																		"value": "options"
																	}
																]
															}
														],
														"qualifiedName": "Omit",
														"package": "typescript",
														"name": "Omit"
													}
												],
												"qualifiedName": "Required",
												"package": "typescript",
												"name": "Required"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 3944,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 3945,
															"name": "name",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/schema/EntitySchema.ts",
																	"line": 146,
																	"character": 82
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 3947,
															"name": "options",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/schema/EntitySchema.ts",
																	"line": 146,
																	"character": 112
																}
															],
															"type": {
																"type": "reference",
																"id": 6,
																"typeArguments": [
																	{
																		"type": "intrinsic",
																		"name": "any"
																	}
																],
																"name": "Dictionary"
															}
														},
														{
															"id": 3946,
															"name": "type",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/schema/EntitySchema.ts",
																	"line": 146,
																	"character": 97
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																3945,
																3947,
																3946
															]
														}
													]
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3923,
					"name": "addManyToMany",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 105,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3924,
							"name": "addManyToMany",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 3925,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "object"
									}
								}
							],
							"parameters": [
								{
									"id": 3926,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3927,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3928,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3660,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3925,
												"name": "K"
											}
										],
										"name": "ManyToManyOptions"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3917,
					"name": "addManyToOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 90,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3918,
							"name": "addManyToOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 3919,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "object"
									}
								}
							],
							"parameters": [
								{
									"id": 3920,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3921,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3922,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3608,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3919,
												"name": "K"
											}
										],
										"name": "ManyToOneOptions"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3929,
					"name": "addOneToMany",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 120,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3930,
							"name": "addOneToMany",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 3931,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "object"
									}
								}
							],
							"parameters": [
								{
									"id": 3932,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3933,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3934,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3448,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3931,
												"name": "K"
											}
										],
										"name": "OneToManyOptions"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3935,
					"name": "addOneToOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 125,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3936,
							"name": "addOneToOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 3937,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "object"
									}
								}
							],
							"parameters": [
								{
									"id": 3938,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3939,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3940,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3544,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3937,
												"name": "K"
											}
										],
										"name": "OneToOneOptions"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3907,
					"name": "addPrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 81,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3908,
							"name": "addPrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3909,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3910,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3911,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3474,
										"name": "PrimaryKeyOptions"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3892,
					"name": "addProperty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 41,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3893,
							"name": "addProperty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3894,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3895,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3896,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 92,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "EntityProperty"
											},
											{
												"type": "reference",
												"id": 3712,
												"name": "PropertyOptions"
											}
										]
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3912,
					"name": "addSerializedPrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 85,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3913,
							"name": "addSerializedPrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3914,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3915,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3916,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3496,
										"name": "SerializedPrimaryKeyOptions"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3948,
					"name": "addUnique",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 150,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3949,
							"name": "addUnique",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3950,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 3799,
																"name": "UniqueOptions"
															},
															{
																"type": "union",
																"types": [
																	{
																		"type": "literal",
																		"value": "name"
																	},
																	{
																		"type": "literal",
																		"value": "options"
																	}
																]
															}
														],
														"qualifiedName": "Omit",
														"package": "typescript",
														"name": "Omit"
													}
												],
												"qualifiedName": "Required",
												"package": "typescript",
												"name": "Required"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 3951,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"children": [
														{
															"id": 3952,
															"name": "name",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/schema/EntitySchema.ts",
																	"line": 150,
																	"character": 75
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														},
														{
															"id": 3953,
															"name": "options",
															"kind": 1024,
															"kindString": "Property",
															"flags": {
																"isOptional": true
															},
															"sources": [
																{
																	"fileName": "lib/schema/EntitySchema.ts",
																	"line": 150,
																	"character": 90
																}
															],
															"type": {
																"type": "reference",
																"id": 6,
																"typeArguments": [
																	{
																		"type": "intrinsic",
																		"name": "any"
																	}
																],
																"name": "Dictionary"
															}
														}
													],
													"groups": [
														{
															"title": "Properties",
															"kind": 1024,
															"children": [
																3952,
																3953
															]
														}
													]
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3902,
					"name": "addVersion",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 77,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3903,
							"name": "addVersion",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3904,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3885,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 3905,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "TypeType"
									}
								},
								{
									"id": 3906,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3712,
										"name": "PropertyOptions"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3962,
					"name": "setClass",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 162,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3963,
							"name": "setClass",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3964,
									"name": "proto",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3885,
												"name": "T"
											}
										],
										"name": "Constructor"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3954,
					"name": "setCustomRepository",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 154,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3955,
							"name": "setCustomRepository",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3956,
									"name": "repository",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 3957,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3958,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 1,
														"typeArguments": [
															{
																"type": "reference",
																"id": 217,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 3885,
																		"name": "T"
																	}
																],
																"name": "EntityRepository"
															}
														],
														"name": "Constructor"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 3959,
					"name": "setExtends",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/EntitySchema.ts",
							"line": 158,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3960,
							"name": "setExtends",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3961,
									"name": "base",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3883
					]
				},
				{
					"title": "Accessors",
					"kind": 262144,
					"children": [
						3965,
						3967
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3897,
						3941,
						3923,
						3917,
						3929,
						3935,
						3907,
						3892,
						3912,
						3948,
						3902,
						3962,
						3954,
						3959
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/schema/EntitySchema.ts",
					"line": 27,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 3979,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3885,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					},
					"default": {
						"type": "reference",
						"id": 71,
						"name": "AnyEntity"
					}
				},
				{
					"id": 3980,
					"name": "U",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "union",
						"types": [
							{
								"type": "reference",
								"id": 71,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3885,
										"name": "T"
									}
								],
								"name": "AnyEntity"
							},
							{
								"type": "intrinsic",
								"name": "undefined"
							}
						]
					},
					"default": {
						"type": "intrinsic",
						"name": "undefined"
					}
				}
			]
		},
		{
			"id": 464,
			"name": "EntityTransformer",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 496,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 497,
							"name": "new EntityTransformer",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 464,
								"name": "EntityTransformer"
							}
						}
					]
				},
				{
					"id": 465,
					"name": "toObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityTransformer.ts",
							"line": 10,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 466,
							"name": "toObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 467,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 467,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 467,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 468,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 467,
										"name": "T"
									}
								},
								{
									"id": 469,
									"name": "ignoreFields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 470,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "reference",
								"id": 69,
								"typeArguments": [
									{
										"type": "reference",
										"id": 467,
										"name": "T"
									}
								],
								"name": "EntityData"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						496
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						465
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityTransformer.ts",
					"line": 8,
					"character": 13
				}
			]
		},
		{
			"id": 357,
			"name": "EntityValidator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 362,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 363,
							"name": "new EntityValidator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 364,
									"name": "strict",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 357,
								"name": "EntityValidator"
							}
						}
					]
				},
				{
					"id": 365,
					"name": "validate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 366,
							"name": "validate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 367,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 367,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 367,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 368,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 367,
										"name": "T"
									}
								},
								{
									"id": 369,
									"name": "payload",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 370,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 387,
					"name": "validateEmptyWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 80,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 388,
							"name": "validateEmptyWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 389,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 389,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 389,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 390,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 389,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 377,
					"name": "validateParams",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 56,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 378,
							"name": "validateParams",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 379,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 380,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'search condition'"
								},
								{
									"id": 381,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 382,
					"name": "validatePrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 72,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 383,
							"name": "validatePrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 384,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 384,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 384,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 385,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 384,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 386,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 371,
					"name": "validateProperty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 35,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 372,
							"name": "validateProperty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 373,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 373,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 373,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 374,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 375,
									"name": "givenValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 376,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 373,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 391,
					"name": "validateRemoveEmptyWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 86,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 392,
							"name": "validateRemoveEmptyWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 393,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 393,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 393,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 394,
									"name": "className",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 395,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 393,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 358,
					"name": "validateSingleDecorator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityValidator.ts",
							"line": 11,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 359,
							"name": "validateSingleDecorator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 360,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 361,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						362
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						365,
						387,
						377,
						382,
						371,
						391,
						358
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityValidator.ts",
					"line": 7,
					"character": 13
				}
			]
		},
		{
			"id": 3408,
			"name": "FileCacheAdapter",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3409,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/FileCacheAdapter.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3410,
							"name": "new FileCacheAdapter",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 3411,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 3412,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 3413,
													"name": "cacheDir",
													"kind": 1024,
													"kindString": "Property",
													"flags": {},
													"sources": [
														{
															"fileName": "lib/cache/FileCacheAdapter.ts",
															"line": 9,
															"character": 42
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "string"
													}
												}
											],
											"groups": [
												{
													"title": "Properties",
													"kind": 1024,
													"children": [
														3413
													]
												}
											]
										}
									}
								},
								{
									"id": 3414,
									"name": "baseDir",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3415,
									"name": "pretty",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 3408,
								"name": "FileCacheAdapter"
							}
						}
					]
				},
				{
					"id": 3424,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/FileCacheAdapter.ts",
							"line": 49,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3425,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Clears all items stored in the cache."
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3394,
								"name": "CacheAdapter.clear"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3393,
						"name": "CacheAdapter.clear"
					}
				},
				{
					"id": 3416,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/FileCacheAdapter.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3417,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the items under `name` key from the cache."
							},
							"parameters": [
								{
									"id": 3418,
									"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": 3386,
								"name": "CacheAdapter.get"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3385,
						"name": "CacheAdapter.get"
					}
				},
				{
					"id": 3419,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/FileCacheAdapter.ts",
							"line": 36,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3420,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the item to the cache. `origin` is used for cache invalidation and should reflect the change in data."
							},
							"parameters": [
								{
									"id": 3421,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3422,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3423,
									"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": 3389,
								"name": "CacheAdapter.set"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3388,
						"name": "CacheAdapter.set"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3409
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3424,
						3416,
						3419
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/cache/FileCacheAdapter.ts",
					"line": 7,
					"character": 13
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 3384,
					"name": "CacheAdapter"
				}
			]
		},
		{
			"id": 2222,
			"name": "Hydrator",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2223,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/hydration/Hydrator.ts",
							"line": 7,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2224,
							"name": "new Hydrator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2225,
									"name": "factory",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 557,
										"name": "EntityFactory"
									}
								},
								{
									"id": 2226,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2222,
								"name": "Hydrator"
							}
						}
					]
				},
				{
					"id": 2229,
					"name": "hydrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/hydration/Hydrator.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2230,
							"name": "hydrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2231,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2231,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2231,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2232,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2231,
										"name": "T"
									}
								},
								{
									"id": 2233,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2231,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2234,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2231,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2235,
									"name": "newEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2223
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2229
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/hydration/Hydrator.ts",
					"line": 5,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 2243,
					"name": "ObjectHydrator"
				}
			]
		},
		{
			"id": 3286,
			"name": "JavaScriptMetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3287,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3288,
							"name": "new JavaScriptMetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 3289,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3286,
								"name": "JavaScriptMetadataProvider"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3268,
								"name": "MetadataProvider.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3267,
						"name": "MetadataProvider.constructor"
					}
				},
				{
					"id": 3290,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/JavaScriptMetadataProvider.ts",
							"line": 8,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3291,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3292,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3293,
									"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": 3272,
								"name": "MetadataProvider.loadEntityMetadata"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3271,
						"name": "MetadataProvider.loadEntityMetadata"
					}
				},
				{
					"id": 3294,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/JavaScriptMetadataProvider.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3295,
							"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": 3296,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3297,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"overwrites": {
								"type": "reference",
								"id": 3276,
								"name": "MetadataProvider.loadFromCache"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3275,
						"name": "MetadataProvider.loadFromCache"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3287
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3290,
						3294
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/metadata/JavaScriptMetadataProvider.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3266,
					"name": "MetadataProvider"
				}
			]
		},
		{
			"id": 1968,
			"name": "Logger",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1969,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Logger.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1970,
							"name": "new Logger",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1971,
									"name": "logger",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1972,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 1973,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 1974,
															"name": "message",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "intrinsic",
																"name": "string"
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "void"
													}
												}
											]
										}
									}
								},
								{
									"id": 1975,
									"name": "debugMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1984,
													"name": "LoggerNamespace"
												}
											}
										]
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 1968,
								"name": "Logger"
							}
						}
					]
				},
				{
					"id": 1976,
					"name": "debugMode",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isPublic": true
					},
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "boolean"
							},
							{
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 1984,
									"name": "LoggerNamespace"
								}
							}
						]
					},
					"defaultValue": "false"
				},
				{
					"id": 1977,
					"name": "log",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Logger.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1978,
							"name": "log",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Logs a message inside given namespace."
							},
							"parameters": [
								{
									"id": 1979,
									"name": "namespace",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1984,
										"name": "LoggerNamespace"
									}
								},
								{
									"id": 1980,
									"name": "message",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1981,
					"name": "setDebugMode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Logger.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1982,
							"name": "setDebugMode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets active namespaces. Pass `true` to enable all logging."
							},
							"parameters": [
								{
									"id": 1983,
									"name": "debugMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 1984,
													"name": "LoggerNamespace"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1969
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1976
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1977,
						1981
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/Logger.ts",
					"line": 3,
					"character": 13
				}
			]
		},
		{
			"id": 3266,
			"name": "MetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 3267,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/MetadataProvider.ts",
							"line": 6,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3268,
							"name": "new MetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 3269,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3266,
								"name": "MetadataProvider"
							}
						}
					]
				},
				{
					"id": 3271,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/metadata/MetadataProvider.ts",
							"line": 8,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 3272,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3273,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3274,
									"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": 3275,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/MetadataProvider.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3276,
							"name": "loadFromCache",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3277,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3278,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3267
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3271,
						3275
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/metadata/MetadataProvider.ts",
					"line": 4,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 3286,
					"name": "JavaScriptMetadataProvider"
				},
				{
					"type": "reference",
					"id": 3313,
					"name": "ReflectMetadataProvider"
				},
				{
					"type": "reference",
					"id": 3337,
					"name": "TsMorphMetadataProvider"
				}
			]
		},
		{
			"id": 4381,
			"name": "Migration",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 4382,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4383,
							"name": "new Migration",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4384,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 4385,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 4381,
								"name": "Migration"
							}
						}
					]
				},
				{
					"id": 4395,
					"name": "addSql",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4396,
							"name": "addSql",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4397,
									"name": "sql",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4391,
					"name": "down",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 13,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4392,
							"name": "down",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4400,
					"name": "getQueries",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 29,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4401,
							"name": "getQueries",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						}
					]
				},
				{
					"id": 4393,
					"name": "isTransactional",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4394,
							"name": "isTransactional",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 4398,
					"name": "reset",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4399,
							"name": "reset",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4389,
					"name": "up",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isAbstract": true
					},
					"sources": [
						{
							"fileName": "lib/migrations/Migration.ts",
							"line": 11,
							"character": 11
						}
					],
					"signatures": [
						{
							"id": 4390,
							"name": "up",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						4382
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4395,
						4391,
						4400,
						4393,
						4398,
						4389
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/migrations/Migration.ts",
					"line": 4,
					"character": 22
				}
			]
		},
		{
			"id": 4423,
			"name": "MigrationGenerator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 4424,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationGenerator.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4425,
							"name": "new MigrationGenerator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4426,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 4427,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1747,
										"name": "MigrationsOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 4423,
								"name": "MigrationGenerator"
							}
						}
					]
				},
				{
					"id": 4435,
					"name": "createStatement",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationGenerator.ts",
							"line": 35,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4436,
							"name": "createStatement",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4437,
									"name": "writer",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"qualifiedName": "CodeBlockWriter",
										"package": "ts-morph",
										"name": "CodeBlockWriter"
									}
								},
								{
									"id": 4438,
									"name": "sql",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4431,
					"name": "generate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationGenerator.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4432,
							"name": "generate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4433,
									"name": "diff",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 4434,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "tuple",
										"elements": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "string"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4439,
					"name": "generateJSMigrationFile",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationGenerator.ts",
							"line": 43,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4440,
							"name": "generateJSMigrationFile",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4441,
									"name": "writer",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"qualifiedName": "CodeBlockWriter",
										"package": "ts-morph",
										"name": "CodeBlockWriter"
									}
								},
								{
									"id": 4442,
									"name": "className",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4443,
									"name": "diff",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4444,
					"name": "generateTSMigrationFile",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationGenerator.ts",
							"line": 61,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4445,
							"name": "generateTSMigrationFile",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4446,
									"name": "writer",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"qualifiedName": "CodeBlockWriter",
										"package": "ts-morph",
										"name": "CodeBlockWriter"
									}
								},
								{
									"id": 4447,
									"name": "className",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4448,
									"name": "diff",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						4424
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4435,
						4431,
						4439,
						4444
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/migrations/MigrationGenerator.ts",
					"line": 7,
					"character": 13
				}
			]
		},
		{
			"id": 4402,
			"name": "MigrationRunner",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 4403,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationRunner.ts",
							"line": 12,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4404,
							"name": "new MigrationRunner",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4405,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 4406,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1747,
										"name": "MigrationsOptions"
									}
								},
								{
									"id": 4407,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 4402,
								"name": "MigrationRunner"
							}
						}
					]
				},
				{
					"id": 4414,
					"name": "run",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationRunner.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4415,
							"name": "run",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4416,
									"name": "migration",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4381,
										"name": "Migration"
									}
								},
								{
									"id": 4417,
									"name": "method",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "up"
											},
											{
												"type": "literal",
												"value": "down"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4418,
					"name": "setMasterMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationRunner.ts",
							"line": 39,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4419,
							"name": "setMasterMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4420,
									"name": "trx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4421,
					"name": "unsetMasterMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationRunner.ts",
							"line": 43,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4422,
							"name": "unsetMasterMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						4403
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4414,
						4418,
						4421
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/migrations/MigrationRunner.ts",
					"line": 6,
					"character": 13
				}
			]
		},
		{
			"id": 4449,
			"name": "MigrationStorage",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 4450,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4451,
							"name": "new MigrationStorage",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4452,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 4453,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1747,
										"name": "MigrationsOptions"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 4449,
								"name": "MigrationStorage"
							}
						}
					]
				},
				{
					"id": 4470,
					"name": "ensureTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 39,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4471,
							"name": "ensureTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4460,
					"name": "executed",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 16,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4461,
							"name": "executed",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4468,
					"name": "getExecutedMigrations",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 29,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4469,
							"name": "getExecutedMigrations",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4477,
											"name": "MigrationRow"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4462,
					"name": "logMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 21,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4463,
							"name": "logMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4464,
									"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": 4472,
					"name": "setMasterMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 53,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4473,
							"name": "setMasterMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4474,
									"name": "trx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4465,
					"name": "unlogMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 25,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4466,
							"name": "unlogMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4467,
									"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": 4475,
					"name": "unsetMasterMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 57,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4476,
							"name": "unsetMasterMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						4450
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4470,
						4460,
						4468,
						4462,
						4472,
						4465,
						4475
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/migrations/MigrationStorage.ts",
					"line": 6,
					"character": 13
				}
			]
		},
		{
			"id": 4318,
			"name": "Migrator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 4319,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4320,
							"name": "new Migrator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4321,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 4322,
									"name": "schemaGenerator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 4002,
										"name": "SchemaGenerator"
									}
								},
								{
									"id": 4323,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 4318,
								"name": "Migrator"
							}
						}
					]
				},
				{
					"id": 4329,
					"name": "createMigration",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 33,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4330,
							"name": "createMigration",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4331,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4332,
									"name": "blank",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 4376,
										"name": "MigrationResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4340,
					"name": "down",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 63,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4341,
							"name": "down",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4342,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											},
											{
												"type": "reference",
												"id": 4371,
												"name": "MigrateOptions"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4367,
											"name": "UmzugMigration"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4333,
					"name": "getExecutedMigrations",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 49,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4334,
							"name": "getExecutedMigrations",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4477,
											"name": "MigrationRow"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4335,
					"name": "getPendingMigrations",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 54,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4336,
							"name": "getPendingMigrations",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4367,
											"name": "UmzugMigration"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4337,
					"name": "up",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 59,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4338,
							"name": "up",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4339,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											},
											{
												"type": "reference",
												"id": 4371,
												"name": "MigrateOptions"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 4367,
											"name": "UmzugMigration"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						4319
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4329,
						4340,
						4333,
						4335,
						4337
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/migrations/Migrator.ts",
					"line": 11,
					"character": 13
				}
			]
		},
		{
			"id": 176,
			"name": "MikroORM",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "Helper class for bootstrapping the MikroORM."
			},
			"children": [
				{
					"id": 181,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 48,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 182,
							"name": "new MikroORM",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 183,
									"name": "D",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											},
											{
												"type": "reference",
												"id": 183,
												"name": "D"
											}
										],
										"name": "IDatabaseDriver"
									},
									"default": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"parameters": [
								{
									"id": 184,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1834,
												"typeArguments": [
													{
														"type": "reference",
														"id": 183,
														"name": "D"
													}
												],
												"name": "Options"
											},
											{
												"type": "reference",
												"id": 1520,
												"typeArguments": [
													{
														"type": "reference",
														"id": 183,
														"name": "D"
													}
												],
												"name": "Configuration"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 176,
								"typeArguments": [
									{
										"type": "reference",
										"id": 183,
										"name": "D"
									}
								],
								"name": "MikroORM"
							}
						}
					]
				},
				{
					"id": 186,
					"name": "config",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 19,
							"character": 11
						}
					],
					"type": {
						"type": "reference",
						"id": 1520,
						"typeArguments": [
							{
								"type": "reference",
								"id": 183,
								"name": "D"
							}
						],
						"name": "Configuration"
					}
				},
				{
					"id": 185,
					"name": "em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 18,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 960,
						"typeArguments": [
							{
								"type": "reference",
								"id": 183,
								"name": "D"
							}
						],
						"name": "EntityManager"
					}
				},
				{
					"id": 194,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 93,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 195,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Closes the database connection."
							},
							"parameters": [
								{
									"id": 196,
									"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": 190,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 68,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 191,
							"name": "connect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Connects to the database."
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 183,
										"name": "D"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 201,
					"name": "getEntityGenerator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 120,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 202,
							"name": "getEntityGenerator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the EntityGenerator."
							},
							"type": {
								"type": "reference",
								"name": "EntityGenerator"
							}
						}
					]
				},
				{
					"id": 197,
					"name": "getMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 100,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 198,
							"name": "getMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the MetadataStorage."
							},
							"type": {
								"type": "reference",
								"name": "MetadataStorage"
							}
						}
					]
				},
				{
					"id": 203,
					"name": "getMigrator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 133,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 204,
							"name": "getMigrator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the Migrator."
							},
							"type": {
								"type": "reference",
								"id": 4318,
								"name": "Migrator"
							}
						}
					]
				},
				{
					"id": 199,
					"name": "getSchemaGenerator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 107,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 200,
							"name": "getSchemaGenerator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the SchemaGenerator."
							},
							"type": {
								"type": "reference",
								"id": 4002,
								"name": "SchemaGenerator"
							}
						}
					]
				},
				{
					"id": 192,
					"name": "isConnected",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/MikroORM.ts",
							"line": 86,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 193,
							"name": "isConnected",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether the database connection is active."
							},
							"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": "lib/MikroORM.ts",
							"line": 28,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 178,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Initialize the ORM, load entity metadata, create EntityManager and connect to the database.\nIf you omit the `options` parameter, your CLI config will be used."
							},
							"typeParameter": [
								{
									"id": 179,
									"name": "D",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											},
											{
												"type": "reference",
												"id": 179,
												"name": "D"
											}
										],
										"name": "IDatabaseDriver"
									},
									"default": {
										"type": "reference",
										"id": 2486,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2844,
												"name": "Connection"
											}
										],
										"name": "IDatabaseDriver"
									}
								}
							],
							"parameters": [
								{
									"id": 180,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 1834,
												"typeArguments": [
													{
														"type": "reference",
														"id": 179,
														"name": "D"
													}
												],
												"name": "Options"
											},
											{
												"type": "reference",
												"id": 1520,
												"typeArguments": [
													{
														"type": "reference",
														"id": 179,
														"name": "D"
													}
												],
												"name": "Configuration"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 176,
										"typeArguments": [
											{
												"type": "reference",
												"id": 179,
												"name": "D"
											}
										],
										"name": "MikroORM"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						181
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						186,
						185
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						194,
						190,
						201,
						197,
						203,
						199,
						192,
						177
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/MikroORM.ts",
					"line": 16,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 205,
					"name": "D",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					},
					"default": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					}
				}
			]
		},
		{
			"id": 3182,
			"name": "MongoNamingStrategy",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3183,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3184,
							"name": "new MongoNamingStrategy",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3182,
								"name": "MongoNamingStrategy"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3157,
								"name": "AbstractNamingStrategy.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3156,
						"name": "AbstractNamingStrategy.constructor"
					}
				},
				{
					"id": 3185,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3186,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 3187,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3163,
								"name": "AbstractNamingStrategy.classToTableName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3162,
						"name": "AbstractNamingStrategy.classToTableName"
					}
				},
				{
					"id": 3205,
					"name": "getClassName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3206,
							"name": "getClassName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a name of the class based on its file name"
							},
							"parameters": [
								{
									"id": 3207,
									"name": "file",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3208,
									"name": "separator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'-'"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3159,
								"name": "AbstractNamingStrategy.getClassName"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3158,
						"name": "AbstractNamingStrategy.getClassName"
					}
				},
				{
					"id": 3188,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3189,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 3190,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3166,
								"name": "AbstractNamingStrategy.joinColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3165,
						"name": "AbstractNamingStrategy.joinColumnName"
					}
				},
				{
					"id": 3191,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3192,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 3193,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3194,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3169,
								"name": "AbstractNamingStrategy.joinKeyColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3168,
						"name": "AbstractNamingStrategy.joinKeyColumnName"
					}
				},
				{
					"id": 3195,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3196,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 3197,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3198,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3199,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3173,
								"name": "AbstractNamingStrategy.joinTableName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3172,
						"name": "AbstractNamingStrategy.joinTableName"
					}
				},
				{
					"id": 3200,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3201,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 3202,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3178,
								"name": "AbstractNamingStrategy.propertyToColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3177,
						"name": "AbstractNamingStrategy.propertyToColumnName"
					}
				},
				{
					"id": 3203,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3204,
							"name": "referenceColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the default reference column name"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3181,
								"name": "AbstractNamingStrategy.referenceColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3180,
						"name": "AbstractNamingStrategy.referenceColumnName"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3183
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3185,
						3205,
						3188,
						3191,
						3195,
						3200,
						3203
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/naming-strategy/MongoNamingStrategy.ts",
					"line": 3,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3155,
					"name": "AbstractNamingStrategy"
				}
			]
		},
		{
			"id": 3395,
			"name": "NullCacheAdapter",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3396,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3397,
							"name": "new NullCacheAdapter",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3395,
								"name": "NullCacheAdapter"
							}
						}
					]
				},
				{
					"id": 3406,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/NullCacheAdapter.ts",
							"line": 22,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3407,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Clears all items stored in the cache."
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							},
							"implementationOf": {
								"type": "reference",
								"id": 3394,
								"name": "CacheAdapter.clear"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3393,
						"name": "CacheAdapter.clear"
					}
				},
				{
					"id": 3398,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/NullCacheAdapter.ts",
							"line": 8,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3399,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the items under `name` key from the cache."
							},
							"parameters": [
								{
									"id": 3400,
									"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": 3386,
								"name": "CacheAdapter.get"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3385,
						"name": "CacheAdapter.get"
					}
				},
				{
					"id": 3401,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/cache/NullCacheAdapter.ts",
							"line": 15,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3402,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the item to the cache. `origin` is used for cache invalidation and should reflect the change in data."
							},
							"parameters": [
								{
									"id": 3403,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3404,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3405,
									"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": 3389,
								"name": "CacheAdapter.set"
							}
						}
					],
					"implementationOf": {
						"type": "reference",
						"id": 3388,
						"name": "CacheAdapter.set"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3396
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3406,
						3398,
						3401
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/cache/NullCacheAdapter.ts",
					"line": 3,
					"character": 13
				}
			],
			"implementedTypes": [
				{
					"type": "reference",
					"id": 3384,
					"name": "CacheAdapter"
				}
			]
		},
		{
			"id": 2243,
			"name": "ObjectHydrator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2244,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2245,
							"name": "new ObjectHydrator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2246,
									"name": "factory",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 557,
										"name": "EntityFactory"
									}
								},
								{
									"id": 2247,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2243,
								"name": "ObjectHydrator"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2224,
								"name": "Hydrator.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2223,
						"name": "Hydrator.constructor"
					}
				},
				{
					"id": 2301,
					"name": "hydrate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/hydration/Hydrator.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2302,
							"name": "hydrate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2303,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2231,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2231,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2304,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2231,
										"name": "T"
									}
								},
								{
									"id": 2305,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2231,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2306,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2231,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2307,
									"name": "newEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 2230,
								"name": "Hydrator.hydrate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 2229,
						"name": "Hydrator.hydrate"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2244
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2301
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/hydration/ObjectHydrator.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 2222,
					"name": "Hydrator"
				}
			]
		},
		{
			"id": 2989,
			"name": "Platform",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 2990,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2991,
							"name": "new Platform",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2989,
								"name": "Platform"
							}
						}
					]
				},
				{
					"id": 3011,
					"name": "allowsMultiInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 41,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3012,
							"name": "allowsMultiInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 3017,
					"name": "denormalizePrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 55,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3018,
							"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": 3019,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "IPrimaryKeyValue"
									}
								}
							],
							"type": {
								"type": "reference",
								"name": "IPrimaryKeyValue"
							}
						}
					]
				},
				{
					"id": 3037,
					"name": "getBigIntTypeDeclarationSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 89,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3038,
							"name": "getBigIntTypeDeclarationSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3023,
					"name": "getCurrentTimestampSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 69,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3024,
							"name": "getCurrentTimestampSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the SQL specific for the platform to get the current timestamp"
							},
							"parameters": [
								{
									"id": 3025,
									"name": "length",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3026,
					"name": "getDateTypeDeclarationSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 73,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3027,
							"name": "getDateTypeDeclarationSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3028,
									"name": "length",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3039,
					"name": "getDefaultCharset",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 93,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3040,
							"name": "getDefaultCharset",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2999,
					"name": "getNamingStrategy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3000,
							"name": "getNamingStrategy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reflection",
								"declaration": {
									"id": 3001,
									"name": "__type",
									"kind": 512,
									"kindString": "Constructor",
									"flags": {},
									"signatures": [
										{
											"id": 3002,
											"name": "new getNamingStrategy",
											"kind": 16384,
											"kindString": "Constructor signature",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 3130,
												"name": "NamingStrategy"
											}
										}
									]
								}
							}
						}
					]
				},
				{
					"id": 3032,
					"name": "getRegExpOperator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 81,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3033,
							"name": "getRegExpOperator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3007,
					"name": "getSchemaHelper",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3008,
							"name": "getSchemaHelper",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 4178,
										"name": "SchemaHelper"
									}
								]
							}
						}
					]
				},
				{
					"id": 3020,
					"name": "getSerializedPrimaryKeyField",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 62,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3021,
							"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": 3022,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3029,
					"name": "getTimeTypeDeclarationSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 77,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3030,
							"name": "getTimeTypeDeclarationSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3031,
									"name": "length",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3034,
					"name": "isBigIntProperty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 85,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3035,
							"name": "isBigIntProperty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3036,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 3013,
					"name": "normalizePrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 48,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3014,
							"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": 3015,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									},
									"default": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 3016,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"name": "IPrimaryKeyValue"
											},
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3015,
														"name": "T"
													}
												],
												"name": "Primary"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3015,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 3009,
					"name": "requiresNullableForAlteringColumn",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 37,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3010,
							"name": "requiresNullableForAlteringColumn",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2995,
					"name": "supportsTransactions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2996,
							"name": "supportsTransactions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 3005,
					"name": "usesCascadeStatement",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 29,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3006,
							"name": "usesCascadeStatement",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2997,
					"name": "usesImplicitTransactions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2998,
							"name": "usesImplicitTransactions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2993,
					"name": "usesPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2994,
							"name": "usesPivotTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 3003,
					"name": "usesReturningStatement",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/platforms/Platform.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3004,
							"name": "usesReturningStatement",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2990
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3011,
						3017,
						3037,
						3023,
						3026,
						3039,
						2999,
						3032,
						3007,
						3020,
						3029,
						3034,
						3013,
						3009,
						2995,
						3005,
						2997,
						2993,
						3003
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/platforms/Platform.ts",
					"line": 5,
					"character": 22
				}
			]
		},
		{
			"id": 2308,
			"name": "QueryBuilder",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"comment": {
				"shortText": "SQL query builder"
			},
			"children": [
				{
					"id": 2309,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 42,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2310,
							"name": "new QueryBuilder",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2311,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2311,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2311,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									},
									"default": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2312,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2313,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 2314,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 2315,
									"name": "context",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"qualifiedName": "Knex.Transaction",
										"package": "knex",
										"name": "Transaction"
									}
								},
								{
									"id": 2316,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "..."
								},
								{
									"id": 2317,
									"name": "connectionType",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									}
								},
								{
									"id": 2318,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2320,
					"name": "_fields",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 20,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 2321,
					"name": "_populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 21,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"defaultValue": "[]"
				},
				{
					"id": 2322,
					"name": "_populateMap",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 22,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "string"
							}
						],
						"name": "Dictionary"
					},
					"defaultValue": "{}"
				},
				{
					"id": 2340,
					"name": "alias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"defaultValue": "..."
				},
				{
					"id": 2319,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 19,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3857,
						"name": "QueryType"
					}
				},
				{
					"id": 2345,
					"name": "addSelect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 60,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2346,
							"name": "addSelect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2347,
									"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": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2383,
					"name": "andWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 126,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2384,
							"name": "andWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2385,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 2311,
												"name": "T"
											}
										],
										"name": "QBFilterQuery"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						},
						{
							"id": 2386,
							"name": "andWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2387,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2388,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2445,
					"name": "clone",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 274,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2446,
							"name": "clone",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2359,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 80,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2360,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2361,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 2362,
									"name": "distinct",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2354,
					"name": "delete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 72,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2355,
							"name": "delete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2356,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2436,
					"name": "execute",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 248,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2437,
							"name": "execute",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2438,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"parameters": [
								{
									"id": 2439,
									"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": 2440,
									"name": "mapResults",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2438,
										"name": "U"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2430,
					"name": "getAliasForEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 230,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2431,
							"name": "getAliasForEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2432,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2433,
									"name": "node",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "CriteriaNode"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "intrinsic",
										"name": "string"
									}
								]
							}
						}
					]
				},
				{
					"id": 2447,
					"name": "getKnex",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 286,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2448,
							"name": "getKnex",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									},
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Knex.QueryBuilder",
								"package": "knex",
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2424,
					"name": "getKnexQuery",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 201,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2425,
							"name": "getKnexQuery",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									},
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Knex.QueryBuilder",
								"package": "knex",
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2434,
					"name": "getNextAlias",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 244,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2435,
							"name": "getNextAlias",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2428,
					"name": "getParams",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 226,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2429,
							"name": "getParams",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "typeOperator",
								"operator": "readonly",
								"target": {
									"type": "array",
									"elementType": {
										"type": "reference",
										"qualifiedName": "Knex.Value",
										"package": "knex",
										"name": "Value"
									}
								}
							}
						}
					]
				},
				{
					"id": 2426,
					"name": "getQuery",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 222,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2427,
							"name": "getQuery",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2441,
					"name": "getResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 264,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2442,
							"name": "getResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2311,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2443,
					"name": "getSingleResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 269,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 2444,
							"name": "getSingleResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 2311,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2398,
					"name": "groupBy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 143,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2399,
							"name": "groupBy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2400,
									"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": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2401,
					"name": "having",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 148,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2402,
							"name": "having",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2403,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2404,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2348,
					"name": "insert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 64,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2349,
							"name": "insert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2350,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2363,
					"name": "join",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 90,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2364,
							"name": "join",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2365,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2366,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2367,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									},
									"defaultValue": "{}"
								},
								{
									"id": 2368,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "leftJoin"
											},
											{
												"type": "literal",
												"value": "innerJoin"
											},
											{
												"type": "literal",
												"value": "pivotJoin"
											}
										]
									},
									"defaultValue": "'innerJoin'"
								},
								{
									"id": 2369,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2370,
					"name": "leftJoin",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 97,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2371,
							"name": "leftJoin",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2372,
									"name": "field",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2373,
									"name": "alias",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2374,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2408,
					"name": "limit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 165,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2409,
							"name": "limit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2410,
									"name": "limit",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 2411,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									},
									"defaultValue": "0"
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2412,
					"name": "offset",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 175,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2413,
							"name": "offset",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2414,
									"name": "offset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2389,
					"name": "orWhere",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 132,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2390,
							"name": "orWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2391,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 2311,
												"name": "T"
											}
										],
										"name": "QBFilterQuery"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						},
						{
							"id": 2392,
							"name": "orWhere",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2393,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2394,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2395,
					"name": "orderBy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 138,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2396,
							"name": "orderBy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2397,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2341,
					"name": "select",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 50,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2342,
							"name": "select",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2343,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										]
									}
								},
								{
									"id": 2344,
									"name": "distinct",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2421,
					"name": "setFlag",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 196,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2422,
							"name": "setFlag",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2423,
									"name": "flag",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3865,
										"name": "DISTINCT"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2418,
					"name": "setLockMode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 186,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2419,
							"name": "setLockMode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2420,
									"name": "mode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1212,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2357,
					"name": "truncate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 76,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2358,
							"name": "truncate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2351,
					"name": "update",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 68,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2352,
							"name": "update",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2353,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2375,
					"name": "where",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 101,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2376,
							"name": "where",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2377,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 2311,
												"name": "T"
											}
										],
										"name": "QBFilterQuery"
									}
								},
								{
									"id": 2378,
									"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": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						},
						{
							"id": 2379,
							"name": "where",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2380,
									"name": "cond",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2381,
									"name": "params",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								},
								{
									"id": 2382,
									"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": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				},
				{
					"id": 2415,
					"name": "withSchema",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 180,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2416,
							"name": "withSchema",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2417,
									"name": "schema",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2308,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2311,
										"name": "T"
									}
								],
								"name": "QueryBuilder"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2309
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2320,
						2321,
						2322,
						2340,
						2319
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2345,
						2383,
						2445,
						2359,
						2354,
						2436,
						2430,
						2447,
						2424,
						2434,
						2428,
						2426,
						2441,
						2443,
						2398,
						2401,
						2348,
						2363,
						2370,
						2408,
						2412,
						2389,
						2395,
						2341,
						2421,
						2418,
						2357,
						2351,
						2375,
						2415
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/query/QueryBuilder.ts",
					"line": 17,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 2473,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 2311,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					},
					"default": {
						"type": "reference",
						"id": 71,
						"name": "AnyEntity"
					}
				}
			]
		},
		{
			"id": 904,
			"name": "Reference",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 910,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 12,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 911,
							"name": "new Reference",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 912,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 912,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 912,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 913,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 912,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 904,
								"typeArguments": [
									{
										"type": "reference",
										"id": 912,
										"name": "T"
									}
								],
								"name": "Reference"
							}
						}
					]
				},
				{
					"id": 945,
					"name": "__em",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 102,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 946,
							"name": "__em",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								]
							}
						}
					]
				},
				{
					"id": 947,
					"name": "__internal",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 106,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 948,
							"name": "__internal",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "reflection",
								"declaration": {
									"id": 949,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 951,
											"name": "metadata",
											"kind": 1024,
											"kindString": "Property",
											"flags": {},
											"sources": [
												{
													"fileName": "lib/entity/Reference.ts",
													"line": 106,
													"character": 42
												}
											],
											"type": {
												"type": "reference",
												"name": "MetadataStorage"
											}
										},
										{
											"id": 950,
											"name": "platform",
											"kind": 1024,
											"kindString": "Property",
											"flags": {},
											"sources": [
												{
													"fileName": "lib/entity/Reference.ts",
													"line": 106,
													"character": 22
												}
											],
											"type": {
												"type": "reference",
												"id": 2989,
												"name": "Platform"
											}
										},
										{
											"id": 952,
											"name": "validator",
											"kind": 1024,
											"kindString": "Property",
											"flags": {},
											"sources": [
												{
													"fileName": "lib/entity/Reference.ts",
													"line": 106,
													"character": 69
												}
											],
											"type": {
												"type": "reference",
												"id": 357,
												"name": "EntityValidator"
											}
										}
									],
									"groups": [
										{
											"title": "Properties",
											"kind": 1024,
											"children": [
												951,
												950,
												952
											]
										}
									]
								}
							}
						}
					]
				},
				{
					"id": 957,
					"name": "__lazyInitialized",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 118,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 958,
							"name": "__lazyInitialized",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 953,
					"name": "__meta",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 110,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 954,
							"name": "__meta",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 142,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"name": "EntityMetadata"
							}
						}
					]
				},
				{
					"id": 955,
					"name": "__populated",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 114,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 956,
							"name": "__populated",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 939,
					"name": "__primaryKey",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 90,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 940,
							"name": "__primaryKey",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 12,
								"typeArguments": [
									{
										"type": "reference",
										"id": 912,
										"name": "T"
									}
								],
								"name": "Primary"
							}
						}
					]
				},
				{
					"id": 941,
					"name": "__primaryKeys",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 94,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 942,
							"name": "__primaryKeys",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 12,
									"typeArguments": [
										{
											"type": "reference",
											"id": 912,
											"name": "T"
										}
									],
									"name": "Primary"
								}
							}
						}
					]
				},
				{
					"id": 943,
					"name": "__uuid",
					"kind": 262144,
					"kindString": "Accessor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 98,
							"character": 6
						}
					],
					"getSignature": [
						{
							"id": 944,
							"name": "__uuid",
							"kind": 524288,
							"kindString": "Get signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 916,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 49,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 917,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 918,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 919,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 918,
										"name": "K"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "indexedAccess",
										"indexType": {
											"type": "reference",
											"id": 918,
											"name": "K"
										},
										"objectType": {
											"type": "reference",
											"id": 912,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 925,
					"name": "getEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 66,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 926,
							"name": "getEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 912,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 927,
					"name": "getProperty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 74,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 928,
							"name": "getProperty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 929,
									"name": "K",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 930,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 929,
										"name": "K"
									}
								}
							],
							"type": {
								"type": "indexedAccess",
								"indexType": {
									"type": "reference",
									"id": 929,
									"name": "K"
								},
								"objectType": {
									"type": "reference",
									"id": 912,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 931,
					"name": "isInitialized",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 78,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 932,
							"name": "isInitialized",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 914,
					"name": "load",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 41,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 915,
							"name": "load",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 912,
										"name": "T"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 933,
					"name": "populated",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 82,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 934,
							"name": "populated",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 935,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 920,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 54,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 921,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 922,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 912,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 901,
												"typeArguments": [
													{
														"type": "reference",
														"id": 912,
														"name": "T"
													},
													{
														"type": "intersection",
														"types": [
															{
																"type": "literal",
																"value": "id"
															},
															{
																"type": "typeOperator",
																"operator": "keyof",
																"target": {
																	"type": "reference",
																	"id": 912,
																	"name": "T"
																}
															}
														]
													}
												],
												"name": "IdentifiedReference"
											}
										]
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 936,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 86,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 937,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 938,
									"name": "args",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 6,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"name": "Dictionary"
							}
						}
					]
				},
				{
					"id": 923,
					"name": "unwrap",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 62,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 924,
							"name": "unwrap",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 912,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 905,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/entity/Reference.ts",
							"line": 33,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 906,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 907,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 907,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 907,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 908,
									"name": "PK",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									}
								}
							],
							"parameters": [
								{
									"id": 909,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 907,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 901,
												"typeArguments": [
													{
														"type": "reference",
														"id": 907,
														"name": "T"
													},
													{
														"type": "reference",
														"id": 908,
														"name": "PK"
													}
												],
												"name": "IdentifiedReference"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 901,
								"typeArguments": [
									{
										"type": "reference",
										"id": 907,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 908,
										"name": "PK"
									}
								],
								"name": "IdentifiedReference"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						910
					]
				},
				{
					"title": "Accessors",
					"kind": 262144,
					"children": [
						945,
						947,
						957,
						953,
						955,
						939,
						941,
						943
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						916,
						925,
						927,
						931,
						914,
						933,
						920,
						936,
						923,
						905
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/Reference.ts",
					"line": 10,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 959,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 912,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			]
		},
		{
			"id": 3313,
			"name": "ReflectMetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3314,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3315,
							"name": "new ReflectMetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 3316,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3313,
								"name": "ReflectMetadataProvider"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3268,
								"name": "MetadataProvider.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3267,
						"name": "MetadataProvider.constructor"
					}
				},
				{
					"id": 3317,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/ReflectMetadataProvider.ts",
							"line": 8,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3318,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3319,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3320,
									"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": 3272,
								"name": "MetadataProvider.loadEntityMetadata"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3271,
						"name": "MetadataProvider.loadEntityMetadata"
					}
				},
				{
					"id": 3326,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/MetadataProvider.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3327,
							"name": "loadFromCache",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3328,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3329,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3276,
								"name": "MetadataProvider.loadFromCache"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3275,
						"name": "MetadataProvider.loadFromCache"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3314
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3317,
						3326
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/metadata/ReflectMetadataProvider.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3266,
					"name": "MetadataProvider"
				}
			]
		},
		{
			"id": 2205,
			"name": "RequestContext",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2217,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/RequestContext.ts",
							"line": 12,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 2218,
							"name": "new RequestContext",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 2219,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2205,
								"name": "RequestContext"
							}
						}
					]
				},
				{
					"id": 2221,
					"name": "em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"type": {
						"type": "reference",
						"id": 960,
						"typeArguments": [
							{
								"type": "reference",
								"id": 2486,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2844,
										"name": "Connection"
									}
								],
								"name": "IDatabaseDriver"
							}
						],
						"name": "EntityManager"
					}
				},
				{
					"id": 2220,
					"name": "id",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isReadonly": true
					},
					"sources": [
						{
							"fileName": "lib/utils/RequestContext.ts",
							"line": 10,
							"character": 11
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"defaultValue": "..."
				},
				{
					"id": 2206,
					"name": "create",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/RequestContext.ts",
							"line": 17,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2207,
							"name": "create",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates new RequestContext instance and runs the code inside its domain."
							},
							"parameters": [
								{
									"id": 2208,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								},
								{
									"id": 2209,
									"name": "next",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 2210,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 2211,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 2212,
															"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": 2213,
					"name": "currentRequestContext",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/RequestContext.ts",
							"line": 27,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2214,
							"name": "currentRequestContext",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns current RequestContext (if available)."
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 2205,
										"name": "RequestContext"
									}
								]
							}
						}
					]
				},
				{
					"id": 2215,
					"name": "getEntityManager",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/RequestContext.ts",
							"line": 35,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2216,
							"name": "getEntityManager",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns current EntityManager (if available)."
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								]
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2217
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2221,
						2220
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2206,
						2213,
						2215
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/RequestContext.ts",
					"line": 8,
					"character": 13
				}
			]
		},
		{
			"id": 4002,
			"name": "SchemaGenerator",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 4003,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 16,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4004,
							"name": "new SchemaGenerator",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4005,
									"name": "driver",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2698,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2909,
												"name": "AbstractSqlConnection"
											}
										],
										"name": "AbstractSqlDriver"
									}
								},
								{
									"id": 4006,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 4007,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 4002,
								"name": "SchemaGenerator"
							}
						}
					]
				},
				{
					"id": 4041,
					"name": "createDatabase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 118,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4042,
							"name": "createDatabase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "creates new database and connects to it"
							},
							"parameters": [
								{
									"id": 4043,
									"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": 4014,
					"name": "createSchema",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 29,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4015,
							"name": "createSchema",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4016,
									"name": "wrap",
									"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"
							}
						}
					]
				},
				{
					"id": 4044,
					"name": "dropDatabase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 124,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4045,
							"name": "dropDatabase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4046,
									"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": 4022,
					"name": "dropSchema",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 60,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4023,
							"name": "dropSchema",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4024,
									"name": "wrap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 4025,
									"name": "dropMigrationsTable",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 4026,
									"name": "dropDb",
									"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": 4017,
					"name": "ensureDatabase",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 35,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4018,
							"name": "ensureDatabase",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4047,
					"name": "execute",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 130,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4048,
							"name": "execute",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4049,
									"name": "sql",
									"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": 4012,
					"name": "generate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 20,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4013,
							"name": "generate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4019,
					"name": "getCreateSchemaSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 46,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4020,
							"name": "getCreateSchemaSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4021,
									"name": "wrap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4027,
					"name": "getDropSchemaSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 70,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4028,
							"name": "getDropSchemaSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4029,
									"name": "wrap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 4030,
									"name": "dropMigrationsTable",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4036,
					"name": "getUpdateSchemaSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 89,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4037,
							"name": "getUpdateSchemaSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4038,
									"name": "wrap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 4039,
									"name": "safe",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 4040,
									"name": "dropTables",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4031,
					"name": "updateSchema",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaGenerator.ts",
							"line": 84,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4032,
							"name": "updateSchema",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4033,
									"name": "wrap",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								},
								{
									"id": 4034,
									"name": "safe",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								},
								{
									"id": 4035,
									"name": "dropTables",
									"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": [
						4003
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4041,
						4014,
						4044,
						4022,
						4017,
						4047,
						4012,
						4019,
						4027,
						4036,
						4031
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/schema/SchemaGenerator.ts",
					"line": 9,
					"character": 13
				}
			]
		},
		{
			"id": 4178,
			"name": "SchemaHelper",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 4179,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 4180,
							"name": "new SchemaHelper",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 4178,
								"name": "SchemaHelper"
							}
						}
					]
				},
				{
					"id": 4289,
					"name": "databaseExists",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 174,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4290,
							"name": "databaseExists",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4291,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2844,
										"name": "Connection"
									}
								},
								{
									"id": 4292,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4186,
					"name": "finalizeTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 18,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4187,
							"name": "finalizeTable",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4188,
									"name": "table",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"qualifiedName": "Knex.TableBuilder",
										"package": "knex",
										"name": "TableBuilder"
									}
								},
								{
									"id": 4189,
									"name": "charset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 4237,
					"name": "getColumns",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 88,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4238,
							"name": "getColumns",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4239,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2909,
										"name": "AbstractSqlConnection"
									}
								},
								{
									"id": 4240,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4241,
									"name": "schemaName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4273,
					"name": "getCreateDatabaseSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 150,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4274,
							"name": "getCreateDatabaseSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4275,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4279,
					"name": "getDatabaseExistsSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 158,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4280,
							"name": "getDatabaseExistsSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4281,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4282,
					"name": "getDatabaseNotExistsError",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 162,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4283,
							"name": "getDatabaseNotExistsError",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4284,
									"name": "dbName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4287,
					"name": "getDefaultEmptyString",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 170,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4288,
							"name": "getDefaultEmptyString",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4276,
					"name": "getDropDatabaseSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 154,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4277,
							"name": "getDropDatabaseSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4278,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4223,
					"name": "getEnumDefinitions",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 76,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4224,
							"name": "getEnumDefinitions",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4225,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2909,
										"name": "AbstractSqlConnection"
									}
								},
								{
									"id": 4226,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4227,
									"name": "schemaName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4218,
					"name": "getForeignKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 71,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4219,
							"name": "getForeignKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4220,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2909,
										"name": "AbstractSqlConnection"
									}
								},
								{
									"id": 4221,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4222,
									"name": "schemaName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4247,
					"name": "getForeignKeysSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 96,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4248,
							"name": "getForeignKeysSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4249,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4250,
									"name": "schemaName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4251,
					"name": "getIndexName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 103,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4252,
							"name": "getIndexName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns the default name of index for the given columns"
							},
							"parameters": [
								{
									"id": 4253,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4254,
									"name": "columns",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 4255,
									"name": "unique",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4242,
					"name": "getIndexes",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 92,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4243,
							"name": "getIndexes",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4244,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2909,
										"name": "AbstractSqlConnection"
									}
								},
								{
									"id": 4245,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4246,
									"name": "schemaName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"name": "Index"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4228,
					"name": "getListTablesSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 80,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4229,
							"name": "getListTablesSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4285,
					"name": "getManagementDbName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 166,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4286,
							"name": "getManagementDbName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4212,
					"name": "getPrimaryKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 67,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 4213,
							"name": "getPrimaryKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4214,
									"name": "connection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2909,
										"name": "AbstractSqlConnection"
									}
								},
								{
									"id": 4215,
									"name": "indexes",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"name": "Index"
										}
									}
								},
								{
									"id": 4216,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4217,
									"name": "schemaName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 4230,
					"name": "getRenameColumnSQL",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 84,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4231,
							"name": "getRenameColumnSQL",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4232,
									"name": "tableName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4233,
									"name": "from",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "Column"
									}
								},
								{
									"id": 4234,
									"name": "to",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 4235,
									"name": "idx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									},
									"defaultValue": "0"
								},
								{
									"id": 4236,
									"name": "quote",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'\"'"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4181,
					"name": "getSchemaBeginning",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4182,
							"name": "getSchemaBeginning",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4183,
									"name": "charset",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4184,
					"name": "getSchemaEnd",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 14,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4185,
							"name": "getSchemaEnd",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4190,
					"name": "getTypeDefinition",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 22,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4191,
							"name": "getTypeDefinition",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4192,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 4193,
									"name": "types",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										],
										"name": "Dictionary"
									},
									"defaultValue": "{}"
								},
								{
									"id": 4194,
									"name": "lengths",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "number"
											}
										],
										"name": "Dictionary"
									},
									"defaultValue": "{}"
								},
								{
									"id": 4195,
									"name": "allowZero",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4207,
					"name": "getTypeFromDefinition",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 57,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4208,
							"name": "getTypeFromDefinition",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4209,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4210,
									"name": "defaultType",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4211,
									"name": "types",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										],
										"name": "Dictionary"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 4205,
					"name": "indexForeignKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 53,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4206,
							"name": "indexForeignKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 4196,
					"name": "isSame",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 38,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4197,
							"name": "isSame",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4198,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 4199,
									"name": "column",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "Column"
									}
								},
								{
									"id": 4200,
									"name": "idx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									},
									"defaultValue": "0"
								},
								{
									"id": 4201,
									"name": "types",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										],
										"name": "Dictionary"
									},
									"defaultValue": "{}"
								},
								{
									"id": 4202,
									"name": "defaultValues",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										],
										"name": "Dictionary"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"id": 4311,
								"name": "IsSame"
							}
						}
					]
				},
				{
					"id": 4256,
					"name": "mapForeignKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 108,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4257,
							"name": "mapForeignKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4258,
									"name": "fks",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 6,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"name": "Dictionary"
							}
						}
					]
				},
				{
					"id": 4268,
					"name": "normalizeDefaultValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 139,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4269,
							"name": "normalizeDefaultValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 4270,
									"name": "defaultValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 4271,
									"name": "length",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 4272,
									"name": "defaultValues",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										],
										"name": "Dictionary"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "number"
									}
								]
							}
						}
					]
				},
				{
					"id": 4266,
					"name": "supportsColumnAlter",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 135,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4267,
							"name": "supportsColumnAlter",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 4203,
					"name": "supportsSchemaConstraints",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 49,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 4204,
							"name": "supportsSchemaConstraints",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						4179
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						4289,
						4186,
						4237,
						4273,
						4279,
						4282,
						4287,
						4276,
						4223,
						4218,
						4247,
						4251,
						4242,
						4228,
						4285,
						4212,
						4230,
						4181,
						4184,
						4190,
						4207,
						4205,
						4196,
						4256,
						4268,
						4266,
						4203
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/schema/SchemaHelper.ts",
					"line": 8,
					"character": 22
				}
			]
		},
		{
			"id": 3086,
			"name": "TimeType",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3090,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3091,
							"name": "new TimeType",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3086,
								"name": "TimeType"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3047,
								"name": "Type.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3046,
						"name": "Type.constructor"
					}
				},
				{
					"id": 3092,
					"name": "convertToDatabaseValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/TimeType.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3093,
							"name": "convertToDatabaseValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its database representation of this type."
							},
							"parameters": [
								{
									"id": 3094,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3095,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"overwrites": {
								"type": "reference",
								"id": 3049,
								"name": "Type.convertToDatabaseValue"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3048,
						"name": "Type.convertToDatabaseValue"
					}
				},
				{
					"id": 3100,
					"name": "convertToJSValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 18,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3101,
							"name": "convertToJSValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its database representation to its JS representation of this type."
							},
							"parameters": [
								{
									"id": 3102,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3103,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3053,
								"name": "Type.convertToJSValue"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3052,
						"name": "Type.convertToJSValue"
					}
				},
				{
					"id": 3096,
					"name": "getColumnType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/TimeType.ts",
							"line": 16,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3097,
							"name": "getColumnType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the SQL declaration snippet for a field of this type."
							},
							"parameters": [
								{
									"id": 3098,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 3099,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3061,
								"name": "Type.getColumnType"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3060,
						"name": "Type.getColumnType"
					}
				},
				{
					"id": 3104,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3105,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its serialized JSON form of this type.\nBy default converts to the database value."
							},
							"parameters": [
								{
									"id": 3106,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3107,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3057,
								"name": "Type.toJSON"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3056,
						"name": "Type.toJSON"
					}
				},
				{
					"id": 3087,
					"name": "getType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 37,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 3088,
							"name": "getType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3089,
									"name": "cls",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3041,
												"name": "Type"
											}
										],
										"name": "Constructor"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3041,
								"name": "Type"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3044,
								"name": "Type.getType"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3043,
						"name": "Type.getType"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3090
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3092,
						3100,
						3096,
						3104,
						3087
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/types/TimeType.ts",
					"line": 6,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3041,
					"name": "Type"
				}
			]
		},
		{
			"id": 3337,
			"name": "TsMorphMetadataProvider",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3338,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3339,
							"name": "new TsMorphMetadataProvider",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 3340,
									"name": "config",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1520,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "Configuration"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3337,
								"name": "TsMorphMetadataProvider"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3268,
								"name": "MetadataProvider.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3267,
						"name": "MetadataProvider.constructor"
					}
				},
				{
					"id": 3347,
					"name": "getExistingSourceFile",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/TsMorphMetadataProvider.ts",
							"line": 21,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3348,
							"name": "getExistingSourceFile",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3349,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"qualifiedName": "SourceFile",
										"package": "ts-morph",
										"name": "SourceFile"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 3343,
					"name": "loadEntityMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/TsMorphMetadataProvider.ts",
							"line": 13,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 3344,
							"name": "loadEntityMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3345,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3346,
									"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": 3272,
								"name": "MetadataProvider.loadEntityMetadata"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3271,
						"name": "MetadataProvider.loadEntityMetadata"
					}
				},
				{
					"id": 3380,
					"name": "loadFromCache",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/metadata/MetadataProvider.ts",
							"line": 10,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3381,
							"name": "loadFromCache",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3382,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 3383,
									"name": "cache",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3276,
								"name": "MetadataProvider.loadFromCache"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3275,
						"name": "MetadataProvider.loadFromCache"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3338
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3347,
						3343,
						3380
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/metadata/TsMorphMetadataProvider.ts",
					"line": 8,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3266,
					"name": "MetadataProvider"
				}
			]
		},
		{
			"id": 3041,
			"name": "Type",
			"kind": 128,
			"kindString": "Class",
			"flags": {
				"isAbstract": true
			},
			"children": [
				{
					"id": 3046,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3047,
							"name": "new Type",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3041,
								"name": "Type"
							}
						}
					]
				},
				{
					"id": 3048,
					"name": "convertToDatabaseValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 11,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3049,
							"name": "convertToDatabaseValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its database representation of this type."
							},
							"parameters": [
								{
									"id": 3050,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3051,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 3052,
					"name": "convertToJSValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 18,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3053,
							"name": "convertToJSValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its database representation to its JS representation of this type."
							},
							"parameters": [
								{
									"id": 3054,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3055,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 3060,
					"name": "getColumnType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3061,
							"name": "getColumnType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the SQL declaration snippet for a field of this type."
							},
							"parameters": [
								{
									"id": 3062,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 3063,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3056,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 26,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3057,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Converts a value from its JS representation to its serialized JSON form of this type.\nBy default converts to the database value."
							},
							"parameters": [
								{
									"id": 3058,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3059,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 3043,
					"name": "getType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/types/Type.ts",
							"line": 37,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 3044,
							"name": "getType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 3045,
									"name": "cls",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3041,
												"name": "Type"
											}
										],
										"name": "Constructor"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 3041,
								"name": "Type"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3046
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3048,
						3052,
						3060,
						3056,
						3043
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/types/Type.ts",
					"line": 4,
					"character": 22
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 3064,
					"name": "DateType"
				},
				{
					"type": "reference",
					"id": 3086,
					"name": "TimeType"
				},
				{
					"type": "reference",
					"id": 3108,
					"name": "BigIntType"
				}
			]
		},
		{
			"id": 3209,
			"name": "UnderscoreNamingStrategy",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 3210,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 3211,
							"name": "new UnderscoreNamingStrategy",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3209,
								"name": "UnderscoreNamingStrategy"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3157,
								"name": "AbstractNamingStrategy.constructor"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3156,
						"name": "AbstractNamingStrategy.constructor"
					}
				},
				{
					"id": 3212,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3213,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 3214,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3163,
								"name": "AbstractNamingStrategy.classToTableName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3162,
						"name": "AbstractNamingStrategy.classToTableName"
					}
				},
				{
					"id": 3235,
					"name": "getClassName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/AbstractNamingStrategy.ts",
							"line": 5,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3236,
							"name": "getClassName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a name of the class based on its file name"
							},
							"parameters": [
								{
									"id": 3237,
									"name": "file",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3238,
									"name": "separator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "'-'"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3159,
								"name": "AbstractNamingStrategy.getClassName"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3158,
						"name": "AbstractNamingStrategy.getClassName"
					}
				},
				{
					"id": 3215,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 9,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3216,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 3217,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3166,
								"name": "AbstractNamingStrategy.joinColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3165,
						"name": "AbstractNamingStrategy.joinColumnName"
					}
				},
				{
					"id": 3218,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 13,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3219,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 3220,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3221,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3169,
								"name": "AbstractNamingStrategy.joinKeyColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3168,
						"name": "AbstractNamingStrategy.joinKeyColumnName"
					}
				},
				{
					"id": 3222,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 17,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3223,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 3224,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3225,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3226,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3173,
								"name": "AbstractNamingStrategy.joinTableName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3172,
						"name": "AbstractNamingStrategy.joinTableName"
					}
				},
				{
					"id": 3227,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 21,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3228,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 3229,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3178,
								"name": "AbstractNamingStrategy.propertyToColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3177,
						"name": "AbstractNamingStrategy.propertyToColumnName"
					}
				},
				{
					"id": 3230,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
							"line": 25,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3231,
							"name": "referenceColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the default reference column name"
							},
							"type": {
								"type": "intrinsic",
								"name": "string"
							},
							"overwrites": {
								"type": "reference",
								"id": 3181,
								"name": "AbstractNamingStrategy.referenceColumnName"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"id": 3180,
						"name": "AbstractNamingStrategy.referenceColumnName"
					}
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						3210
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3212,
						3235,
						3215,
						3218,
						3222,
						3227,
						3230
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/naming-strategy/UnderscoreNamingStrategy.ts",
					"line": 3,
					"character": 13
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3155,
					"name": "AbstractNamingStrategy"
				}
			]
		},
		{
			"id": 1349,
			"name": "UnitOfWork",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1350,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 33,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1351,
							"name": "new UnitOfWork",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 1352,
									"name": "em",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 960,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2486,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2844,
														"name": "Connection"
													}
												],
												"name": "IDatabaseDriver"
											}
										],
										"name": "EntityManager"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1349,
								"name": "UnitOfWork"
							}
						}
					]
				},
				{
					"id": 1413,
					"name": "cancelOrphanRemoval",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 184,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1414,
							"name": "cancelOrphanRemoval",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1415,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1403,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 147,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1404,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1395,
					"name": "commit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 108,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1396,
							"name": "commit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 1408,
					"name": "computeChangeSets",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 159,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1409,
							"name": "computeChangeSets",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1373,
					"name": "getById",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 55,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1374,
							"name": "getById",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns entity from the identity map. For composite keys, you need to pass an array of PKs in the same order as they are defined in `meta.primaryKeys`."
							},
							"typeParameter": [
								{
									"id": 1375,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1375,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1375,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1376,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1377,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1375,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 12,
													"typeArguments": [
														{
															"type": "reference",
															"id": 1375,
															"name": "T"
														}
													],
													"name": "Primary"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1375,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 1383,
					"name": "getIdentityMap",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 72,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1384,
							"name": "getIdentityMap",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 6,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "Dictionary"
							}
						}
					]
				},
				{
					"id": 1397,
					"name": "lock",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 133,
							"character": 8
						}
					],
					"signatures": [
						{
							"id": 1398,
							"name": "lock",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1399,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1399,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1399,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1400,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1399,
										"name": "T"
									}
								},
								{
									"id": 1401,
									"name": "mode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1212,
										"name": "LockMode"
									}
								},
								{
									"id": 1402,
									"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": 1367,
					"name": "merge",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 35,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1368,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1369,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1369,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1369,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1370,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1369,
										"name": "T"
									}
								},
								{
									"id": 1371,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1372,
									"name": "mergeData",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "true"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1385,
					"name": "persist",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 76,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1386,
							"name": "persist",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1387,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1387,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1387,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1388,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1387,
										"name": "T"
									}
								},
								{
									"id": 1389,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									},
									"defaultValue": "[]"
								},
								{
									"id": 1390,
									"name": "checkRemoveStack",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1391,
					"name": "remove",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 94,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1392,
							"name": "remove",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1393,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1394,
									"name": "visited",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1410,
					"name": "scheduleOrphanRemoval",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 180,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1411,
							"name": "scheduleOrphanRemoval",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1412,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1378,
					"name": "tryGetById",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 62,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1379,
							"name": "tryGetById",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1380,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1380,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1380,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1381,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1382,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 1380,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 1380,
										"name": "T"
									}
								]
							}
						}
					]
				},
				{
					"id": 1405,
					"name": "unsetIdentity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/UnitOfWork.ts",
							"line": 153,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1406,
							"name": "unsetIdentity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1407,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1350
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1413,
						1403,
						1395,
						1408,
						1373,
						1383,
						1397,
						1367,
						1385,
						1391,
						1410,
						1378,
						1405
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/UnitOfWork.ts",
					"line": 10,
					"character": 13
				}
			]
		},
		{
			"id": 1985,
			"name": "Utils",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 2200,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"signatures": [
						{
							"id": 2201,
							"name": "new Utils",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1985,
								"name": "Utils"
							}
						}
					]
				},
				{
					"id": 2162,
					"name": "absolutePath",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 519,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2163,
							"name": "absolutePath",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2164,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2165,
									"name": "baseDir",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									},
									"defaultValue": "..."
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2041,
					"name": "asArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 178,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2042,
							"name": "asArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Normalize the argument to always be an array."
							},
							"typeParameter": [
								{
									"id": 2043,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2044,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 2043,
												"name": "T"
											},
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 2043,
													"name": "T"
												}
											}
										]
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 2043,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 2121,
					"name": "className",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 391,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2122,
							"name": "className",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets string name of given class."
							},
							"parameters": [
								{
									"id": 2123,
									"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": 2037,
					"name": "copy",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 171,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2038,
							"name": "copy",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Creates deep copy of given entity."
							},
							"typeParameter": [
								{
									"id": 2039,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2040,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2039,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2039,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 2175,
					"name": "defaultValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 541,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2176,
							"name": "defaultValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2177,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								}
							],
							"parameters": [
								{
									"id": 2178,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2177,
										"name": "T"
									}
								},
								{
									"id": 2179,
									"name": "option",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 2177,
											"name": "T"
										}
									}
								},
								{
									"id": 2180,
									"name": "defaultValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 2124,
					"name": "detectTsNode",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 402,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2125,
							"name": "detectTsNode",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Tries to detect `ts-node` runtime."
							},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2015,
					"name": "diff",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 92,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2016,
							"name": "diff",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Computes difference between two objects, ignoring items missing in `b`."
							},
							"parameters": [
								{
									"id": 2017,
									"name": "a",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								},
								{
									"id": 2018,
									"name": "b",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											}
										]
									},
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				},
				{
					"id": 2019,
					"name": "diffEntities",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 109,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2020,
							"name": "diffEntities",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Computes difference between two entities. First calls `prepareEntity` on both, then uses the `diff` method."
							},
							"typeParameter": [
								{
									"id": 2021,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2021,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2021,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2022,
									"name": "a",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2021,
										"name": "T"
									}
								},
								{
									"id": 2023,
									"name": "b",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2021,
										"name": "T"
									}
								},
								{
									"id": 2024,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 2025,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 69,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2021,
										"name": "T"
									}
								],
								"name": "EntityData"
							}
						}
					]
				},
				{
					"id": 2003,
					"name": "equals",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 51,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2004,
							"name": "equals",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks if arguments are deeply (but not strictly) equal."
							},
							"parameters": [
								{
									"id": 2005,
									"name": "a",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2006,
									"name": "b",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2193,
					"name": "extractEnumValues",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 567,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2194,
							"name": "extractEnumValues",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Extracts all possible values of a TS enum. Works with both string and numeric enums."
							},
							"parameters": [
								{
									"id": 2195,
									"name": "target",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "union",
									"types": [
										{
											"type": "intrinsic",
											"name": "string"
										},
										{
											"type": "intrinsic",
											"name": "number"
										}
									]
								}
							}
						}
					]
				},
				{
					"id": 2060,
					"name": "extractPK",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 246,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2061,
							"name": "extractPK",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Extracts primary key from `data`. Accepts objects or primary keys directly."
							},
							"typeParameter": [
								{
									"id": 2062,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2062,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2062,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2063,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2064,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2062,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								]
							}
						}
					]
				},
				{
					"id": 2181,
					"name": "findDuplicates",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 545,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2182,
							"name": "findDuplicates",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2183,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2184,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2183,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 2183,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 2196,
					"name": "flatten",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 579,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2197,
							"name": "flatten",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2198,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2199,
									"name": "arrays",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "array",
											"elementType": {
												"type": "reference",
												"id": 2198,
												"name": "T"
											}
										}
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 2198,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 2065,
					"name": "getCompositeKeyHash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 266,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2066,
							"name": "getCompositeKeyHash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2067,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2068,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2067,
										"name": "T"
									}
								},
								{
									"id": 2069,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2067,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2130,
					"name": "getObjectType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 439,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2131,
							"name": "getObjectType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the type of the argument."
							},
							"parameters": [
								{
									"id": 2132,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2097,
					"name": "getOrderedPrimaryKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 336,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2098,
							"name": "getOrderedPrimaryKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2099,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2099,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2099,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2100,
									"name": "id",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2099,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "reference",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "reference",
														"id": 12,
														"typeArguments": [
															{
																"type": "reference",
																"id": 2099,
																"name": "T"
															}
														],
														"name": "Primary"
													}
												],
												"qualifiedName": "Record",
												"package": "typescript",
												"name": "Record"
											}
										]
									}
								},
								{
									"id": 2101,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2099,
												"name": "T"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 12,
									"typeArguments": [
										{
											"type": "reference",
											"id": 2099,
											"name": "T"
										}
									],
									"name": "Primary"
								}
							}
						}
					]
				},
				{
					"id": 2051,
					"name": "getParamNames",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 202,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2052,
							"name": "getParamNames",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns array of functions argument names. Uses `acorn` for source code analysis."
							},
							"parameters": [
								{
									"id": 2053,
									"name": "func",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"qualifiedName": "Function",
												"package": "typescript",
												"name": "Function"
											}
										]
									}
								},
								{
									"id": 2054,
									"name": "methodName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						}
					]
				},
				{
					"id": 2087,
					"name": "getPrimaryKeyCond",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 316,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2088,
							"name": "getPrimaryKeyCond",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2089,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2089,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2089,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2090,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2089,
										"name": "T"
									}
								},
								{
									"id": 2091,
									"name": "primaryKeys",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2089,
														"name": "T"
													}
												],
												"name": "Primary"
											}
										],
										"qualifiedName": "Record",
										"package": "typescript",
										"name": "Record"
									}
								]
							}
						}
					]
				},
				{
					"id": 2092,
					"name": "getPrimaryKeyCondFromArray",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 329,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2093,
							"name": "getPrimaryKeyCondFromArray",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2094,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2094,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2094,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2095,
									"name": "pks",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 12,
											"typeArguments": [
												{
													"type": "reference",
													"id": 2094,
													"name": "T"
												}
											],
											"name": "Primary"
										}
									}
								},
								{
									"id": 2096,
									"name": "primaryKeys",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"id": 12,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2094,
												"name": "T"
											}
										],
										"name": "Primary"
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						}
					]
				},
				{
					"id": 2070,
					"name": "getPrimaryKeyHash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 278,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2071,
							"name": "getPrimaryKeyHash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2072,
									"name": "pks",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2076,
					"name": "getPrimaryKeyValue",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 286,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2077,
							"name": "getPrimaryKeyValue",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2078,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2078,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2078,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2079,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2078,
										"name": "T"
									}
								},
								{
									"id": 2080,
									"name": "primaryKeys",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 2081,
					"name": "getPrimaryKeyValues",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 298,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2082,
							"name": "getPrimaryKeyValues",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2083,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2083,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2083,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2084,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2083,
										"name": "T"
									}
								},
								{
									"id": 2085,
									"name": "primaryKeys",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 2086,
									"name": "allowScalar",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 2166,
					"name": "hash",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 531,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2167,
							"name": "hash",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2168,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2150,
					"name": "isCollection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 488,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2151,
							"name": "isCollection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2152,
									"name": "item",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2153,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 2154,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 206,
										"name": "ReferenceType"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "item",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 771,
									"typeArguments": [
										{
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										},
										{
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									],
									"name": "Collection"
								}
							}
						}
					]
				},
				{
					"id": 1986,
					"name": "isDefined",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 22,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1987,
							"name": "isDefined",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks if the argument is not undefined"
							},
							"typeParameter": [
								{
									"id": 1988,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "object"
									}
								}
							],
							"parameters": [
								{
									"id": 1989,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1990,
									"name": "considerNullUndefined",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "predicate",
								"name": "data",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 1988,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 2118,
					"name": "isEmpty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 376,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2119,
							"name": "isEmpty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether the argument is empty (array without items, object without keys or falsy value)."
							},
							"parameters": [
								{
									"id": 2120,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2102,
					"name": "isEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 344,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2103,
							"name": "isEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether given object is an entity instance."
							},
							"typeParameter": [
								{
									"id": 2104,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2105,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2106,
									"name": "allowReference",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "predicate",
								"name": "data",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 2104,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1999,
					"name": "isNumber",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 44,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2000,
							"name": "isNumber",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks if the argument is number"
							},
							"typeParameter": [
								{
									"id": 2001,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"parameters": [
								{
									"id": 2002,
									"name": "s",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "s",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 2001,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 1991,
					"name": "isObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 30,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1992,
							"name": "isObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks if the argument is instance of `Object`. Returns false for arrays.\n`not` argument allows to blacklist classes that should be considered as not object."
							},
							"typeParameter": [
								{
									"id": 1993,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								}
							],
							"parameters": [
								{
									"id": 1994,
									"name": "o",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1995,
									"name": "not",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"qualifiedName": "Function",
											"package": "typescript",
											"name": "Function"
										}
									},
									"defaultValue": "[]"
								}
							],
							"type": {
								"type": "predicate",
								"name": "o",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 1993,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 2115,
					"name": "isObjectID",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 369,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2116,
							"name": "isObjectID",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether the argument is ObjectId instance"
							},
							"parameters": [
								{
									"id": 2117,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2133,
					"name": "isPlainObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 447,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2134,
							"name": "isPlainObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether the value is POJO (e.g. `{ foo: 'bar' }`, and not instance of `Foo`)"
							},
							"parameters": [
								{
									"id": 2135,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 2055,
					"name": "isPrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 235,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2056,
							"name": "isPrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether the argument looks like primary key (string, number or ObjectId)."
							},
							"typeParameter": [
								{
									"id": 2057,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2058,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2059,
									"name": "allowComposite",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									},
									"defaultValue": "false"
								}
							],
							"type": {
								"type": "predicate",
								"name": "key",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 12,
									"typeArguments": [
										{
											"type": "reference",
											"id": 2057,
											"name": "T"
										}
									],
									"name": "Primary"
								}
							}
						}
					]
				},
				{
					"id": 2107,
					"name": "isReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 355,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2108,
							"name": "isReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks whether the argument is instance or `Reference` wrapper."
							},
							"typeParameter": [
								{
									"id": 2109,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2109,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2109,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2110,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "predicate",
								"name": "data",
								"asserts": false,
								"targetType": {
									"type": "reference",
									"id": 904,
									"typeArguments": [
										{
											"type": "reference",
											"id": 2109,
											"name": "T"
										}
									],
									"name": "Reference"
								}
							}
						}
					]
				},
				{
					"id": 1996,
					"name": "isString",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 37,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1997,
							"name": "isString",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Checks if the argument is string"
							},
							"parameters": [
								{
									"id": 1998,
									"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": 2126,
					"name": "lookupPathFromDecorator",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 413,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2127,
							"name": "lookupPathFromDecorator",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Uses some dark magic to get source path to caller where decorator is used.\nAnalyses stack trace of error created inside the function call."
							},
							"parameters": [
								{
									"id": 2128,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 2129,
									"name": "stack",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2011,
					"name": "merge",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 65,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2012,
							"name": "merge",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Merges all sources into the target recursively."
							},
							"parameters": [
								{
									"id": 2013,
									"name": "target",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2014,
									"name": "sources",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 2155,
					"name": "normalizePath",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 496,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2156,
							"name": "normalizePath",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2157,
									"name": "parts",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2189,
					"name": "pathExists",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 555,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 2190,
							"name": "pathExists",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2191,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2192,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"qualifiedName": "globby.GlobbyOptions",
										"package": "globby",
										"name": "GlobbyOptions"
									},
									"defaultValue": "{}"
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "boolean"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2026,
					"name": "prepareEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 117,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2027,
							"name": "prepareEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Removes ORM specific code from entities and prepares it for serializing. Used before change set computation.\nReferences will be mapped to primary keys, collections to arrays of primary keys."
							},
							"typeParameter": [
								{
									"id": 2028,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2028,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2028,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2029,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2028,
										"name": "T"
									}
								},
								{
									"id": 2030,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 2031,
									"name": "platform",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 69,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2028,
										"name": "T"
									}
								],
								"name": "EntityData"
							}
						}
					]
				},
				{
					"id": 2185,
					"name": "randomInt",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 551,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2186,
							"name": "randomInt",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2187,
									"name": "min",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								},
								{
									"id": 2188,
									"name": "max",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "number"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "number"
							}
						}
					]
				},
				{
					"id": 2158,
					"name": "relativePath",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 503,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2159,
							"name": "relativePath",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2160,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2161,
									"name": "relativeTo",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 2045,
					"name": "renameKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 189,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2046,
							"name": "renameKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Renames object key, keeps order of properties."
							},
							"typeParameter": [
								{
									"id": 2047,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {}
								}
							],
							"parameters": [
								{
									"id": 2048,
									"name": "payload",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 2047,
										"name": "T"
									}
								},
								{
									"id": 2049,
									"name": "from",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2047,
													"name": "T"
												}
											}
										]
									}
								},
								{
									"id": 2050,
									"name": "to",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 2169,
					"name": "runIfNotEmpty",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 535,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2170,
							"name": "runIfNotEmpty",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2171,
									"name": "clause",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 2172,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 2173,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "intrinsic",
														"name": "any"
													}
												}
											]
										}
									}
								},
								{
									"id": 2174,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 2141,
					"name": "runSerial",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 478,
							"character": 15
						}
					],
					"signatures": [
						{
							"id": 2142,
							"name": "runSerial",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Executes the `cb` promise serially on every element of the `items` array and returns array of resolved values."
							},
							"typeParameter": [
								{
									"id": 2143,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 2144,
									"name": "U",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"parameters": [
								{
									"id": 2145,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "reference",
												"id": 2144,
												"name": "U"
											}
										],
										"qualifiedName": "Iterable",
										"package": "typescript",
										"name": "Iterable"
									}
								},
								{
									"id": 2146,
									"name": "cb",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 2147,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 2148,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 2149,
															"name": "item",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 2144,
																"name": "U"
															}
														}
													],
													"type": {
														"type": "reference",
														"typeArguments": [
															{
																"type": "reference",
																"id": 2143,
																"name": "T"
															}
														],
														"qualifiedName": "Promise",
														"package": "typescript",
														"name": "Promise"
													}
												}
											]
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2143,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2073,
					"name": "splitPrimaryKeys",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 282,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2074,
							"name": "splitPrimaryKeys",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2075,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						}
					]
				},
				{
					"id": 2007,
					"name": "unique",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 58,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2008,
							"name": "unique",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets array without duplicates."
							},
							"typeParameter": [
								{
									"id": 2009,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"default": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"parameters": [
								{
									"id": 2010,
									"name": "items",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2009,
											"name": "T"
										}
									}
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 2009,
									"name": "T"
								}
							}
						}
					]
				},
				{
					"id": 2111,
					"name": "unwrapReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 362,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2112,
							"name": "unwrapReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns wrapped entity."
							},
							"typeParameter": [
								{
									"id": 2113,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2113,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2113,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2114,
									"name": "ref",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 2113,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 904,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2113,
														"name": "T"
													}
												],
												"name": "Reference"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2113,
								"name": "T"
							}
						}
					]
				},
				{
					"id": 2136,
					"name": "wrapReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Utils.ts",
							"line": 467,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 2137,
							"name": "wrapReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Wraps the entity in a `Reference` wrapper if the property is defined as `wrappedReference`."
							},
							"typeParameter": [
								{
									"id": 2138,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2138,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2138,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2139,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"id": 2138,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 904,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2138,
														"name": "T"
													}
												],
												"name": "Reference"
											}
										]
									}
								},
								{
									"id": 2140,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2138,
												"name": "T"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "reference",
										"id": 2138,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 904,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2138,
												"name": "T"
											}
										],
										"name": "Reference"
									}
								]
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						2200
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2162,
						2041,
						2121,
						2037,
						2175,
						2124,
						2015,
						2019,
						2003,
						2193,
						2060,
						2181,
						2196,
						2065,
						2130,
						2097,
						2051,
						2087,
						2092,
						2070,
						2076,
						2081,
						2166,
						2150,
						1986,
						2118,
						2102,
						1999,
						1991,
						2115,
						2133,
						2055,
						2107,
						1996,
						2126,
						2011,
						2155,
						2189,
						2026,
						2185,
						2158,
						2045,
						2169,
						2141,
						2073,
						2007,
						2111,
						2136
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/Utils.ts",
					"line": 17,
					"character": 13
				}
			]
		},
		{
			"id": 1836,
			"name": "ValidationError",
			"kind": 128,
			"kindString": "Class",
			"flags": {},
			"children": [
				{
					"id": 1957,
					"name": "constructor",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 8,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1958,
							"name": "new ValidationError",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 1959,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									},
									"default": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 1960,
									"name": "message",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1961,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1959,
										"name": "T"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1959,
										"name": "T"
									}
								],
								"name": "ValidationError"
							},
							"overwrites": {
								"type": "reference",
								"name": "Error.constructor"
							}
						}
					],
					"overwrites": {
						"type": "reference",
						"name": "Error.constructor"
					}
				},
				{
					"id": 1965,
					"name": "message",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "docs/node_modules/typescript/lib/lib.es5.d.ts",
							"line": 974,
							"character": 4
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Error.message"
					}
				},
				{
					"id": 1964,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "docs/node_modules/typescript/lib/lib.es5.d.ts",
							"line": 973,
							"character": 4
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Error.name"
					}
				},
				{
					"id": 1966,
					"name": "stack",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "docs/node_modules/typescript/lib/lib.es5.d.ts",
							"line": 975,
							"character": 4
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Error.stack"
					}
				},
				{
					"id": 1956,
					"name": "stackTraceLimit",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "node_modules/@types/node/globals.d.ts",
							"line": 117,
							"character": 4
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Error.stackTraceLimit"
					}
				},
				{
					"id": 1962,
					"name": "getEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 19,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1963,
							"name": "getEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets instance of entity that caused this error."
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "undefined"
									},
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								]
							}
						}
					]
				},
				{
					"id": 1941,
					"name": "cannotCommit",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 170,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1942,
							"name": "cannotCommit",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1934,
					"name": "cannotModifyInverseCollection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 157,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1935,
							"name": "cannotModifyInverseCollection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1936,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1937,
									"name": "property",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1948,
					"name": "captureStackTrace",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"signatures": [
						{
							"id": 1949,
							"name": "captureStackTrace",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Create .stack property on a target object"
							},
							"parameters": [
								{
									"id": 1950,
									"name": "targetObject",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "object"
									}
								},
								{
									"id": 1951,
									"name": "constructorOpt",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"qualifiedName": "Function",
										"package": "typescript",
										"name": "Function"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "Error.captureStackTrace"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "Error.captureStackTrace"
					}
				},
				{
					"id": 1907,
					"name": "duplicateEntityDiscovered",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 123,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1908,
							"name": "duplicateEntityDiscovered",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1909,
									"name": "paths",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1910,
					"name": "entityNotFound",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 127,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1911,
							"name": "entityNotFound",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1912,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1913,
									"name": "path",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1877,
					"name": "entityNotManaged",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 80,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1878,
							"name": "entityNotManaged",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1879,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1914,
					"name": "findOneFailed",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 131,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1915,
							"name": "findOneFailed",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1916,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1917,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"name": "IPrimaryKeyValue"
											},
											{
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "Dictionary"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1844,
					"name": "fromCollectionNotInitialized",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 30,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1845,
							"name": "fromCollectionNotInitialized",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1846,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1847,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1866,
					"name": "fromMergeWithoutPK",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 64,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1867,
							"name": "fromMergeWithoutPK",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1868,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 1848,
					"name": "fromMissingPrimaryKey",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 37,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1849,
							"name": "fromMissingPrimaryKey",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1850,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1872,
					"name": "fromUnknownBaseEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 72,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1873,
							"name": "fromUnknownBaseEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1874,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1869,
					"name": "fromUnknownEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 68,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1870,
							"name": "fromUnknownEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1871,
									"name": "className",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1861,
					"name": "fromWrongOwnership",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 57,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1862,
							"name": "fromWrongOwnership",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1863,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1864,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1865,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 92,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												}
											],
											"name": "EntityProperty"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1837,
					"name": "fromWrongPropertyType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 23,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1838,
							"name": "fromWrongPropertyType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1839,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1840,
									"name": "property",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1841,
									"name": "expectedType",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1842,
									"name": "givenType",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1843,
									"name": "givenValue",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1851,
					"name": "fromWrongReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 41,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1852,
							"name": "fromWrongReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1853,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1854,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1855,
									"name": "key",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 92,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												}
											],
											"name": "EntityProperty"
										}
									}
								},
								{
									"id": 1856,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1857,
					"name": "fromWrongTypeDefinition",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 49,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1858,
							"name": "fromWrongTypeDefinition",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1859,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1860,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1938,
					"name": "invalidCompositeIdentifier",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 166,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1939,
							"name": "invalidCompositeIdentifier",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1940,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1921,
					"name": "invalidPropertyName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 139,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1922,
							"name": "invalidPropertyName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1923,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1924,
									"name": "invalid",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1929,
					"name": "invalidType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 147,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1930,
							"name": "invalidType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1931,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3041,
												"name": "Type"
											}
										],
										"name": "Constructor"
									}
								},
								{
									"id": 1932,
									"name": "value",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 1933,
									"name": "mode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1892,
					"name": "invalidVersionFieldType",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 96,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1893,
							"name": "invalidVersionFieldType",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1894,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1895,
					"name": "lockFailed",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 101,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1896,
							"name": "lockFailed",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1897,
									"name": "entityOrName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1898,
					"name": "lockFailedVersionMismatch",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 108,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1899,
							"name": "lockFailedVersionMismatch",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1900,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1901,
									"name": "expectedLockVersion",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "reference",
												"qualifiedName": "Date",
												"package": "typescript",
												"name": "Date"
											}
										]
									}
								},
								{
									"id": 1902,
									"name": "actualLockVersion",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "reference",
												"qualifiedName": "Date",
												"package": "typescript",
												"name": "Date"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1918,
					"name": "missingMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 135,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1919,
							"name": "missingMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1920,
									"name": "entity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1925,
					"name": "multipleDecorators",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 143,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1926,
							"name": "multipleDecorators",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1927,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1928,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1888,
					"name": "multipleVersionFields",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 92,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1889,
							"name": "multipleVersionFields",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1890,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								},
								{
									"id": 1891,
									"name": "fields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1903,
					"name": "noEntityDiscovered",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 115,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1904,
							"name": "noEntityDiscovered",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1880,
					"name": "notEntity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 84,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1881,
							"name": "notEntity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1882,
									"name": "owner",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 1883,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 1884,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1885,
					"name": "notVersioned",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 88,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1886,
							"name": "notVersioned",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1887,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1905,
					"name": "onlyAbstractEntitiesDiscovered",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 119,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1906,
							"name": "onlyAbstractEntitiesDiscovered",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				},
				{
					"id": 1952,
					"name": "prepareStackTrace",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true,
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "node_modules/@types/node/globals.d.ts",
							"line": 115,
							"character": 4
						}
					],
					"signatures": [
						{
							"id": 1953,
							"name": "prepareStackTrace",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Optional override for formatting stack traces",
								"tags": [
									{
										"tag": "see",
										"text": "https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces\n"
									}
								]
							},
							"parameters": [
								{
									"id": 1954,
									"name": "err",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"qualifiedName": "Error",
										"package": "typescript",
										"name": "Error"
									}
								},
								{
									"id": 1955,
									"name": "stackTraces",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "reference",
											"qualifiedName": "NodeJS.CallSite",
											"package": "@types/node",
											"name": "CallSite"
										}
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "Error.prepareStackTrace"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "Error.prepareStackTrace"
					}
				},
				{
					"id": 1875,
					"name": "transactionRequired",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isStatic": true
					},
					"sources": [
						{
							"fileName": "lib/utils/ValidationError.ts",
							"line": 76,
							"character": 9
						}
					],
					"signatures": [
						{
							"id": 1876,
							"name": "transactionRequired",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1836,
								"typeArguments": [
									{
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											},
											{
												"type": "union",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "intrinsic",
														"name": "number"
													},
													{
														"type": "intrinsic",
														"name": "symbol"
													}
												]
											}
										],
										"name": "AnyEntity"
									}
								],
								"name": "ValidationError"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Constructors",
					"kind": 512,
					"children": [
						1957
					]
				},
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1965,
						1964,
						1966,
						1956
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1962,
						1941,
						1934,
						1948,
						1907,
						1910,
						1877,
						1914,
						1844,
						1866,
						1848,
						1872,
						1869,
						1861,
						1837,
						1851,
						1857,
						1938,
						1921,
						1929,
						1892,
						1895,
						1898,
						1918,
						1925,
						1888,
						1903,
						1880,
						1885,
						1905,
						1952,
						1875
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/ValidationError.ts",
					"line": 6,
					"character": 13
				}
			],
			"typeParameter": [
				{
					"id": 1967,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"name": "AnyEntity"
					},
					"default": {
						"type": "reference",
						"id": 71,
						"name": "AnyEntity"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"qualifiedName": "Error",
					"package": "typescript",
					"name": "Error"
				}
			]
		},
		{
			"id": 460,
			"name": "AssignOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 463,
					"name": "em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityAssigner.ts",
							"line": 144,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 960,
						"typeArguments": [
							{
								"type": "reference",
								"id": 2486,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2844,
										"name": "Connection"
									}
								],
								"name": "IDatabaseDriver"
							}
						],
						"name": "EntityManager"
					}
				},
				{
					"id": 462,
					"name": "mergeObjects",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityAssigner.ts",
							"line": 143,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 461,
					"name": "onlyProperties",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/entity/EntityAssigner.ts",
							"line": 142,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						463,
						462,
						461
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/EntityAssigner.ts",
					"line": 141,
					"character": 17
				}
			]
		},
		{
			"id": 3384,
			"name": "CacheAdapter",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3393,
					"name": "clear",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3394,
							"name": "clear",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Clears all items stored in the cache."
							},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 3385,
					"name": "get",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3386,
							"name": "get",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Gets the items under `name` key from the cache."
							},
							"parameters": [
								{
									"id": 3387,
									"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": 3388,
					"name": "set",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3389,
							"name": "set",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Sets the item to the cache. `origin` is used for cache invalidation and should reflect the change in data."
							},
							"parameters": [
								{
									"id": 3390,
									"name": "name",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3391,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 3392,
									"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": [
						3393,
						3385,
						3388
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/cache/CacheAdapter.ts",
					"line": 1,
					"character": 17
				}
			],
			"implementedBy": [
				{
					"type": "reference",
					"id": 3408,
					"name": "FileCacheAdapter"
				},
				{
					"type": "reference",
					"id": 3395,
					"name": "NullCacheAdapter"
				}
			]
		},
		{
			"id": 1217,
			"name": "ChangeSet",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1219,
					"name": "collection",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 5,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1221,
					"name": "entity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 7,
							"character": 2
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "reference",
								"id": 1226,
								"name": "T"
							},
							{
								"type": "reference",
								"id": 28,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1226,
										"name": "T"
									},
									{
										"type": "intersection",
										"types": [
											{
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 1226,
														"name": "T"
													}
												],
												"name": "Primary"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 1226,
													"name": "T"
												}
											}
										]
									}
								],
								"name": "IWrappedEntity"
							},
							{
								"type": "mapped",
								"parameter": "K",
								"parameterType": {
									"type": "union",
									"types": [
										{
											"type": "intrinsic",
											"name": "string"
										},
										{
											"type": "intrinsic",
											"name": "number"
										},
										{
											"type": "intrinsic",
											"name": "symbol"
										}
									]
								},
								"templateType": {
									"type": "indexedAccess",
									"indexType": {
										"type": "reference",
										"name": "K"
									},
									"objectType": {
										"type": "reference",
										"id": 1226,
										"name": "T"
									}
								},
								"optionalModifier": "+"
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 1222,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 1223,
											"name": "[PrimaryKeyType]",
											"kind": 1024,
											"kindString": "Property",
											"flags": {
												"isOptional": true
											},
											"sources": [
												{
													"fileName": "lib/typings.ts",
													"line": 89,
													"character": 88
												}
											],
											"type": {
												"type": "indexedAccess",
												"indexType": {
													"type": "intersection",
													"types": [
														{
															"type": "reference",
															"id": 12,
															"typeArguments": [
																{
																	"type": "reference",
																	"id": 1226,
																	"name": "T"
																}
															],
															"name": "Primary"
														},
														{
															"type": "typeOperator",
															"operator": "keyof",
															"target": {
																"type": "reference",
																"id": 1226,
																"name": "T"
															}
														}
													]
												},
												"objectType": {
													"type": "reference",
													"id": 1226,
													"name": "T"
												}
											}
										}
									],
									"groups": [
										{
											"title": "Properties",
											"kind": 1024,
											"children": [
												1223
											]
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 1218,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 4,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1224,
					"name": "payload",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 8,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 69,
						"typeArguments": [
							{
								"type": "reference",
								"id": 1226,
								"name": "T"
							}
						],
						"name": "EntityData"
					}
				},
				{
					"id": 1225,
					"name": "persisted",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 9,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1220,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/ChangeSet.ts",
							"line": 6,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 1227,
						"name": "ChangeSetType"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1219,
						1221,
						1218,
						1224,
						1225,
						1220
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/ChangeSet.ts",
					"line": 3,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 1226,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 1226,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			]
		},
		{
			"id": 2901,
			"name": "ConnectionConfig",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2906,
					"name": "database",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 113,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2902,
					"name": "host",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 109,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2905,
					"name": "password",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 112,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2903,
					"name": "port",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 110,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 2904,
					"name": "user",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 111,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2906,
						2902,
						2905,
						2903,
						2904
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/connections/Connection.ts",
					"line": 108,
					"character": 17
				}
			]
		},
		{
			"id": 1736,
			"name": "ConnectionOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1744,
					"name": "charset",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 260,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1739,
					"name": "clientUrl",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 255,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1737,
					"name": "dbName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 253,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1740,
					"name": "host",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 256,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1745,
					"name": "multipleStatements",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 261,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1738,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 254,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1743,
					"name": "password",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 259,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1746,
					"name": "pool",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 262,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Knex.PoolConfig",
						"package": "knex",
						"name": "PoolConfig"
					}
				},
				{
					"id": 1741,
					"name": "port",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 257,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 1742,
					"name": "user",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 258,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1744,
						1739,
						1737,
						1740,
						1745,
						1738,
						1743,
						1746,
						1741,
						1742
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/Configuration.ts",
					"line": 252,
					"character": 17
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 1758,
					"name": "MikroORMOptions"
				}
			]
		},
		{
			"id": 1345,
			"name": "Edge",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1346,
					"name": "from",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 122,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1347,
					"name": "to",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 123,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1348,
					"name": "weight",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 124,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1346,
						1347,
						1348
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
					"line": 121,
					"character": 17
				}
			]
		},
		{
			"id": 142,
			"name": "EntityMetadata",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 173,
					"name": "abstract",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 167,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 172,
					"name": "class",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 166,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 1,
						"typeArguments": [
							{
								"type": "reference",
								"id": 175,
								"name": "T"
							}
						],
						"name": "Constructor"
					}
				},
				{
					"id": 144,
					"name": "className",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 148,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 150,
					"name": "collection",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 154,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 153,
					"name": "compositePK",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 157,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 147,
					"name": "constructorParams",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 151,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 149,
					"name": "extends",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 153,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 170,
					"name": "hooks",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 164,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"name": "HookType"
									},
									{
										"type": "array",
										"elementType": {
											"type": "intersection",
											"types": [
												{
													"type": "intrinsic",
													"name": "string"
												},
												{
													"type": "typeOperator",
													"operator": "keyof",
													"target": {
														"type": "reference",
														"id": 175,
														"name": "T"
													}
												}
											]
										}
									}
								],
								"qualifiedName": "Record",
								"package": "typescript",
								"name": "Record"
							}
						],
						"qualifiedName": "Partial",
						"package": "typescript",
						"name": "Partial"
					}
				},
				{
					"id": 157,
					"name": "indexes",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 161,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reflection",
							"declaration": {
								"id": 158,
								"name": "__type",
								"kind": 65536,
								"kindString": "Type literal",
								"flags": {},
								"children": [
									{
										"id": 160,
										"name": "name",
										"kind": 1024,
										"kindString": "Property",
										"flags": {
											"isOptional": true
										},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 161,
												"character": 44
											}
										],
										"type": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									{
										"id": 162,
										"name": "options",
										"kind": 1024,
										"kindString": "Property",
										"flags": {
											"isOptional": true
										},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 161,
												"character": 74
											}
										],
										"type": {
											"type": "reference",
											"id": 6,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												}
											],
											"name": "Dictionary"
										}
									},
									{
										"id": 159,
										"name": "properties",
										"kind": 1024,
										"kindString": "Property",
										"flags": {},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 161,
												"character": 13
											}
										],
										"type": {
											"type": "union",
											"types": [
												{
													"type": "intrinsic",
													"name": "string"
												},
												{
													"type": "array",
													"elementType": {
														"type": "intrinsic",
														"name": "string"
													}
												}
											]
										}
									},
									{
										"id": 161,
										"name": "type",
										"kind": 1024,
										"kindString": "Property",
										"flags": {
											"isOptional": true
										},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 161,
												"character": 59
											}
										],
										"type": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"groups": [
									{
										"title": "Properties",
										"kind": 1024,
										"children": [
											160,
											162,
											159,
											161
										]
									}
								]
							}
						}
					}
				},
				{
					"id": 143,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 147,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 151,
					"name": "path",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 155,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 146,
					"name": "pivotTable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 150,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 152,
					"name": "primaryKeys",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 156,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intersection",
							"types": [
								{
									"type": "typeOperator",
									"operator": "keyof",
									"target": {
										"type": "reference",
										"id": 175,
										"name": "T"
									}
								},
								{
									"type": "intrinsic",
									"name": "string"
								}
							]
						}
					}
				},
				{
					"id": 156,
					"name": "properties",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 160,
							"character": 2
						}
					],
					"type": {
						"type": "mapped",
						"parameter": "K",
						"parameterType": {
							"type": "intrinsic",
							"name": "string"
						},
						"templateType": {
							"type": "reference",
							"id": 92,
							"typeArguments": [
								{
									"type": "reference",
									"id": 175,
									"name": "T"
								}
							],
							"name": "EntityProperty"
						}
					}
				},
				{
					"id": 171,
					"name": "prototype",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 165,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 175,
						"name": "T"
					}
				},
				{
					"id": 155,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 159,
							"character": 2
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "typeOperator",
								"operator": "keyof",
								"target": {
									"type": "reference",
									"id": 175,
									"name": "T"
								}
							},
							{
								"type": "intrinsic",
								"name": "string"
							}
						]
					}
				},
				{
					"id": 145,
					"name": "tableName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 149,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 148,
					"name": "toJsonParams",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 152,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 163,
					"name": "uniques",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 162,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reflection",
							"declaration": {
								"id": 164,
								"name": "__type",
								"kind": 65536,
								"kindString": "Type literal",
								"flags": {},
								"children": [
									{
										"id": 166,
										"name": "name",
										"kind": 1024,
										"kindString": "Property",
										"flags": {
											"isOptional": true
										},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 162,
												"character": 44
											}
										],
										"type": {
											"type": "intrinsic",
											"name": "string"
										}
									},
									{
										"id": 167,
										"name": "options",
										"kind": 1024,
										"kindString": "Property",
										"flags": {
											"isOptional": true
										},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 162,
												"character": 59
											}
										],
										"type": {
											"type": "reference",
											"id": 6,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												}
											],
											"name": "Dictionary"
										}
									},
									{
										"id": 165,
										"name": "properties",
										"kind": 1024,
										"kindString": "Property",
										"flags": {},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 162,
												"character": 13
											}
										],
										"type": {
											"type": "union",
											"types": [
												{
													"type": "intrinsic",
													"name": "string"
												},
												{
													"type": "array",
													"elementType": {
														"type": "intrinsic",
														"name": "string"
													}
												}
											]
										}
									}
								],
								"groups": [
									{
										"title": "Properties",
										"kind": 1024,
										"children": [
											166,
											167,
											165
										]
									}
								]
							}
						}
					}
				},
				{
					"id": 174,
					"name": "useCache",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 168,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 154,
					"name": "versionProperty",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 158,
							"character": 2
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "typeOperator",
								"operator": "keyof",
								"target": {
									"type": "reference",
									"id": 175,
									"name": "T"
								}
							},
							{
								"type": "intrinsic",
								"name": "string"
							}
						]
					}
				},
				{
					"id": 168,
					"name": "customRepository",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 163,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 169,
							"name": "customRepository",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 217,
										"typeArguments": [
											{
												"type": "reference",
												"id": 175,
												"name": "T"
											}
										],
										"name": "EntityRepository"
									}
								],
								"name": "Constructor"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						173,
						172,
						144,
						150,
						153,
						147,
						149,
						170,
						157,
						143,
						151,
						146,
						152,
						156,
						171,
						155,
						145,
						148,
						163,
						174,
						154
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						168
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 146,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 175,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 175,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					},
					"default": {
						"type": "intrinsic",
						"name": "any"
					}
				}
			]
		},
		{
			"id": 92,
			"name": "EntityProperty",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 119,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 125,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 212,
							"name": "Cascade"
						}
					}
				},
				{
					"id": 97,
					"name": "columnTypes",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 103,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 98,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 104,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					}
				},
				{
					"id": 105,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 111,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					}
				},
				{
					"id": 115,
					"name": "eager",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 121,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 112,
					"name": "enum",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 118,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 104,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 110,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 134,
					"name": "fixedOrder",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 135,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 135,
					"name": "fixedOrderColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 136,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 117,
					"name": "getter",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 123,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 118,
					"name": "getterName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 124,
							"character": 2
						}
					],
					"type": {
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "reference",
							"id": 141,
							"name": "T"
						}
					}
				},
				{
					"id": 111,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 117,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 106,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 112,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					}
				},
				{
					"id": 138,
					"name": "inverseJoinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 139,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 128,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 132,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 113,
					"name": "items",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 119,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "union",
							"types": [
								{
									"type": "intrinsic",
									"name": "string"
								},
								{
									"type": "intrinsic",
									"name": "number"
								}
							]
						}
					}
				},
				{
					"id": 137,
					"name": "joinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 138,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 101,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 107,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					}
				},
				{
					"id": 129,
					"name": "mappedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 133,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 93,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 100,
							"character": 2
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "typeOperator",
								"operator": "keyof",
								"target": {
									"type": "reference",
									"id": 141,
									"name": "T"
								}
							}
						]
					}
				},
				{
					"id": 108,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 114,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 125,
					"name": "onDelete",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 129,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 126,
					"name": "onUpdateIntegrity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 130,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 130,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 134,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 131,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"indexSignature": {
								"id": 132,
								"name": "__index",
								"kind": 8192,
								"kindString": "Index signature",
								"flags": {},
								"parameters": [
									{
										"id": 133,
										"name": "field",
										"kind": 32768,
										"flags": {},
										"type": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"type": {
									"type": "reference",
									"id": 3866,
									"name": "QueryOrder"
								}
							}
						}
					}
				},
				{
					"id": 120,
					"name": "orphanRemoval",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 126,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 127,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 131,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 110,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 116,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 136,
					"name": "pivotTable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 137,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 99,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 105,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 102,
					"name": "reference",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 108,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 206,
						"name": "ReferenceType"
					}
				},
				{
					"id": 139,
					"name": "referencedColumnNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 140,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 140,
					"name": "referencedTableName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 141,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 100,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 106,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 116,
					"name": "setter",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 122,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 96,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 102,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 107,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 113,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					}
				},
				{
					"id": 109,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 115,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 114,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 120,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 103,
					"name": "wrappedReference",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 109,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 94,
					"name": "entity",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 101,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 95,
							"name": "entity",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 67,
								"typeArguments": [
									{
										"type": "reference",
										"id": 141,
										"name": "T"
									}
								],
								"name": "EntityName"
							}
						}
					]
				},
				{
					"id": 121,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 127,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 122,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				},
				{
					"id": 123,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 128,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 124,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						119,
						97,
						98,
						105,
						115,
						112,
						104,
						134,
						135,
						117,
						118,
						111,
						106,
						138,
						128,
						113,
						137,
						101,
						129,
						93,
						108,
						125,
						126,
						130,
						120,
						127,
						110,
						136,
						99,
						102,
						139,
						140,
						100,
						116,
						96,
						107,
						109,
						114,
						103
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						94,
						121,
						123
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 99,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 141,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 141,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					},
					"default": {
						"type": "intrinsic",
						"name": "any"
					}
				}
			]
		},
		{
			"id": 3768,
			"name": "EnumOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3776,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.columnType"
					}
				},
				{
					"id": 3775,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.customType"
					}
				},
				{
					"id": 3783,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 3773,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 3774,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldNames"
					}
				},
				{
					"id": 3787,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 3789,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.index"
					}
				},
				{
					"id": 3769,
					"name": "items",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Enum.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "array",
								"elementType": {
									"type": "union",
									"types": [
										{
											"type": "intrinsic",
											"name": "string"
										},
										{
											"type": "intrinsic",
											"name": "number"
										}
									]
								}
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3770,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3771,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "Dictionary"
											}
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 3778,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 3772,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 3784,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 3786,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 3791,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 54,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.primary"
					}
				},
				{
					"id": 3792,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.serializedPrimaryKey"
					}
				},
				{
					"id": 3777,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "object"
							},
							{
								"type": "reference",
								"qualifiedName": "String",
								"package": "typescript",
								"name": "String"
							},
							{
								"type": "reference",
								"qualifiedName": "Number",
								"package": "typescript",
								"name": "Number"
							},
							{
								"type": "reference",
								"qualifiedName": "Boolean",
								"package": "typescript",
								"name": "Boolean"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							},
							{
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3041,
										"name": "Type"
									}
								],
								"name": "Constructor"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 3790,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 3785,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unsigned"
					}
				},
				{
					"id": 3788,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 3779,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3780,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onCreate"
					}
				},
				{
					"id": 3781,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3782,
							"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": [
						3776,
						3775,
						3783,
						3773,
						3774,
						3787,
						3789,
						3769,
						3778,
						3772,
						3784,
						3786,
						3791,
						3792,
						3777,
						3790,
						3785,
						3788
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3779,
						3781
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/Enum.ts",
					"line": 16,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3712,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 2578,
			"name": "FindOneOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2584,
					"name": "fields",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 78,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 2581,
					"name": "lockMode",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 75,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 1212,
						"name": "LockMode"
					}
				},
				{
					"id": 2582,
					"name": "lockVersion",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 76,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "number"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							}
						]
					}
				},
				{
					"id": 2580,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 74,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3876,
						"name": "QueryOrderMap"
					}
				},
				{
					"id": 2579,
					"name": "populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 73,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "boolean"
							},
							{
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						]
					}
				},
				{
					"id": 2583,
					"name": "refresh",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 77,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 2585,
					"name": "schema",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 79,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2584,
						2581,
						2582,
						2580,
						2579,
						2583,
						2585
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/drivers/IDatabaseDriver.ts",
					"line": 72,
					"character": 17
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 1200,
					"name": "FindOneOrFailOptions"
				}
			]
		},
		{
			"id": 1200,
			"name": "FindOneOrFailOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1210,
					"name": "fields",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 78,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2584,
						"name": "FindOneOptions.fields"
					}
				},
				{
					"id": 1207,
					"name": "lockMode",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 75,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 1212,
						"name": "LockMode"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2581,
						"name": "FindOneOptions.lockMode"
					}
				},
				{
					"id": 1208,
					"name": "lockVersion",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 76,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "number"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2582,
						"name": "FindOneOptions.lockVersion"
					}
				},
				{
					"id": 1206,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 74,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3876,
						"name": "QueryOrderMap"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2580,
						"name": "FindOneOptions.orderBy"
					}
				},
				{
					"id": 1205,
					"name": "populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 73,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "boolean"
							},
							{
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2579,
						"name": "FindOneOptions.populate"
					}
				},
				{
					"id": 1209,
					"name": "refresh",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 77,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2583,
						"name": "FindOneOptions.refresh"
					}
				},
				{
					"id": 1211,
					"name": "schema",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 79,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 2585,
						"name": "FindOneOptions.schema"
					}
				},
				{
					"id": 1201,
					"name": "failHandler",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/EntityManager.ts",
							"line": 606,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1202,
							"name": "failHandler",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1203,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1204,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"qualifiedName": "Error",
								"package": "typescript",
								"name": "Error"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1210,
						1207,
						1208,
						1206,
						1205,
						1209,
						1211
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1201
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/EntityManager.ts",
					"line": 605,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 2578,
					"name": "FindOneOptions"
				}
			]
		},
		{
			"id": 2570,
			"name": "FindOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2576,
					"name": "fields",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 68,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 2573,
					"name": "limit",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 65,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 2574,
					"name": "offset",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 66,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 2572,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 64,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3876,
						"name": "QueryOrderMap"
					}
				},
				{
					"id": 2571,
					"name": "populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 63,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "boolean"
							},
							{
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						]
					}
				},
				{
					"id": 2575,
					"name": "refresh",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 67,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 2577,
					"name": "schema",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/drivers/IDatabaseDriver.ts",
							"line": 69,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2576,
						2573,
						2574,
						2572,
						2571,
						2575,
						2577
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/drivers/IDatabaseDriver.ts",
					"line": 62,
					"character": 17
				}
			]
		},
		{
			"id": 3879,
			"name": "FlatQueryOrderMap",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 33,
					"character": 17
				}
			],
			"indexSignature": {
				"id": 3880,
				"name": "__index",
				"kind": 8192,
				"kindString": "Index signature",
				"flags": {},
				"parameters": [
					{
						"id": 3881,
						"name": "x",
						"kind": 32768,
						"flags": {},
						"type": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				],
				"type": {
					"type": "reference",
					"id": 3874,
					"name": "QueryOrderKeysFlat"
				}
			}
		},
		{
			"id": 2486,
			"name": "IDatabaseDriver",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2542,
					"name": "aggregate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2543,
							"name": "aggregate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2544,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2545,
									"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": 2489,
					"name": "close",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2490,
							"name": "close",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2491,
									"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": 2487,
					"name": "connect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2488,
							"name": "connect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2569,
										"name": "C"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2536,
					"name": "count",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2537,
							"name": "count",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2538,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2538,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2538,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2539,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2540,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2538,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2541,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "number"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2565,
					"name": "ensureIndexes",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2566,
							"name": "ensureIndexes",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2497,
					"name": "find",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2498,
							"name": "find",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds selection of entities"
							},
							"typeParameter": [
								{
									"id": 2499,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2499,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2499,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2500,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2501,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2499,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2502,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2570,
										"name": "FindOptions"
									}
								},
								{
									"id": 2503,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "array",
										"elementType": {
											"type": "reference",
											"id": 2499,
											"name": "T"
										}
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2504,
					"name": "findOne",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2505,
							"name": "findOne",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Finds single entity (table row, document)"
							},
							"typeParameter": [
								{
									"id": 2506,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2506,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2506,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2507,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2508,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2506,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2509,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 2578,
										"name": "FindOneOptions"
									}
								},
								{
									"id": 2510,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": null
											},
											{
												"type": "reference",
												"id": 2506,
												"name": "T"
											}
										]
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2494,
					"name": "getConnection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2495,
							"name": "getConnection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2496,
									"name": "type",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "literal",
												"value": "read"
											},
											{
												"type": "literal",
												"value": "write"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 2569,
								"name": "C"
							}
						}
					]
				},
				{
					"id": 2567,
					"name": "getDependencies",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2568,
							"name": "getDependencies",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Returns name of the underlying database dependencies (e.g. `mongodb` or `mysql2`)\nfor SQL drivers it also returns `knex` in the array as connectors are not used directly there"
							},
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						}
					]
				},
				{
					"id": 2560,
					"name": "getPlatform",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2561,
							"name": "getPlatform",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 2989,
								"name": "Platform"
							}
						}
					]
				},
				{
					"id": 2551,
					"name": "loadFromPivotTable",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2552,
							"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": 2553,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2553,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2553,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 2554,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2554,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2554,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2555,
									"name": "prop",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 92,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityProperty"
									}
								},
								{
									"id": 2556,
									"name": "owners",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "array",
										"elementType": {
											"type": "array",
											"elementType": {
												"type": "reference",
												"id": 12,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2554,
														"name": "O"
													}
												],
												"name": "Primary"
											}
										}
									}
								},
								{
									"id": 2557,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2553,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2558,
									"name": "orderBy",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 3876,
										"name": "QueryOrderMap"
									}
								},
								{
									"id": 2559,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "array",
												"elementType": {
													"type": "reference",
													"id": 2553,
													"name": "T"
												}
											}
										],
										"name": "Dictionary"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2546,
					"name": "mapResult",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2547,
							"name": "mapResult",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2548,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2548,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2548,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2549,
									"name": "result",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2548,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2550,
									"name": "meta",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 142,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "EntityMetadata"
									}
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": null
									},
									{
										"type": "reference",
										"id": 2548,
										"name": "T"
									}
								]
							}
						}
					]
				},
				{
					"id": 2524,
					"name": "nativeDelete",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2525,
							"name": "nativeDelete",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2526,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2526,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2526,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2527,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2528,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2526,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2529,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2511,
					"name": "nativeInsert",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2512,
							"name": "nativeInsert",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2513,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2513,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2513,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2514,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2515,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2513,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2516,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2517,
					"name": "nativeUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2518,
							"name": "nativeUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2519,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2519,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2519,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2520,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 2521,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 24,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2519,
												"name": "T"
											}
										],
										"name": "FilterQuery"
									}
								},
								{
									"id": 2522,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 69,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2519,
												"name": "T"
											}
										],
										"name": "EntityData"
									}
								},
								{
									"id": 2523,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2897,
										"name": "QueryResult"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2492,
					"name": "reconnect",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2493,
							"name": "reconnect",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 2569,
										"name": "C"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 2562,
					"name": "setMetadata",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2563,
							"name": "setMetadata",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 2564,
									"name": "metadata",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 2530,
					"name": "syncCollection",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 2531,
							"name": "syncCollection",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"typeParameter": [
								{
									"id": 2532,
									"name": "T",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2532,
												"name": "T"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2532,
													"name": "T"
												}
											}
										],
										"name": "AnyEntity"
									}
								},
								{
									"id": 2533,
									"name": "O",
									"kind": 131072,
									"kindString": "Type parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 71,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2533,
												"name": "O"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 2533,
													"name": "O"
												}
											}
										],
										"name": "AnyEntity"
									}
								}
							],
							"parameters": [
								{
									"id": 2534,
									"name": "collection",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 771,
										"typeArguments": [
											{
												"type": "reference",
												"id": 2532,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 2533,
												"name": "O"
											}
										],
										"name": "Collection"
									}
								},
								{
									"id": 2535,
									"name": "ctx",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "void"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						2542,
						2489,
						2487,
						2536,
						2565,
						2497,
						2504,
						2494,
						2567,
						2560,
						2551,
						2546,
						2524,
						2511,
						2517,
						2492,
						2562,
						2530
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/drivers/IDatabaseDriver.ts",
					"line": 9,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 2569,
					"name": "C",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2844,
						"name": "Connection"
					},
					"default": {
						"type": "reference",
						"id": 2844,
						"name": "Connection"
					}
				}
			],
			"implementedBy": [
				{
					"type": "reference",
					"id": 2586,
					"name": "DatabaseDriver"
				}
			]
		},
		{
			"id": 28,
			"name": "IWrappedEntity",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 57,
					"name": "__data",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 79,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "Dictionary"
					}
				},
				{
					"id": 58,
					"name": "__em",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 80,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 960,
						"typeArguments": [
							{
								"type": "reference",
								"id": 2486,
								"typeArguments": [
									{
										"type": "reference",
										"id": 2844,
										"name": "Connection"
									}
								],
								"name": "IDatabaseDriver"
							}
						],
						"name": "EntityManager"
					}
				},
				{
					"id": 59,
					"name": "__initialized",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 81,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 52,
					"name": "__internal",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 78,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 53,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 55,
									"name": "metadata",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 78,
											"character": 36
										}
									],
									"type": {
										"type": "reference",
										"name": "MetadataStorage"
									}
								},
								{
									"id": 54,
									"name": "platform",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 78,
											"character": 16
										}
									],
									"type": {
										"type": "reference",
										"id": 2989,
										"name": "Platform"
									}
								},
								{
									"id": 56,
									"name": "validator",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 78,
											"character": 63
										}
									],
									"type": {
										"type": "reference",
										"id": 357,
										"name": "EntityValidator"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										55,
										54,
										56
									]
								}
							]
						}
					}
				},
				{
					"id": 61,
					"name": "__lazyInitialized",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 83,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 51,
					"name": "__meta",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 77,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 142,
						"typeArguments": [
							{
								"type": "reference",
								"id": 65,
								"name": "T"
							}
						],
						"name": "EntityMetadata"
					}
				},
				{
					"id": 60,
					"name": "__populated",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 82,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 62,
					"name": "__primaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 84,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 65,
								"name": "T"
							}
						],
						"name": "PrimaryMap"
					}
				},
				{
					"id": 63,
					"name": "__primaryKeys",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 85,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 12,
							"typeArguments": [
								{
									"type": "reference",
									"id": 65,
									"name": "T"
								}
							],
							"name": "Primary"
						}
					}
				},
				{
					"id": 64,
					"name": "__serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 86,
							"character": 2
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "typeOperator",
								"operator": "keyof",
								"target": {
									"type": "reference",
									"id": 65,
									"name": "T"
								}
							}
						]
					}
				},
				{
					"id": 50,
					"name": "__uuid",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 76,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 46,
					"name": "assign",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 47,
							"name": "assign",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 48,
									"name": "data",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 49,
									"name": "options",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "boolean"
											},
											{
												"type": "reference",
												"id": 460,
												"name": "AssignOptions"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 28,
								"typeArguments": [
									{
										"type": "reference",
										"id": 65,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 66,
										"name": "PK"
									}
								],
								"name": "IWrappedEntity"
							}
						}
					]
				},
				{
					"id": 34,
					"name": "init",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 35,
							"name": "init",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 36,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 37,
									"name": "lockMode",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "reference",
										"id": 1212,
										"name": "LockMode"
									}
								}
							],
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 28,
										"typeArguments": [
											{
												"type": "reference",
												"id": 65,
												"name": "T"
											},
											{
												"type": "reference",
												"id": 66,
												"name": "PK"
											}
										],
										"name": "IWrappedEntity"
									}
								],
								"qualifiedName": "Promise",
								"package": "typescript",
								"name": "Promise"
							}
						}
					]
				},
				{
					"id": 29,
					"name": "isInitialized",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 30,
							"name": "isInitialized",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					]
				},
				{
					"id": 31,
					"name": "populated",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 32,
							"name": "populated",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 33,
									"name": "populated",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				},
				{
					"id": 43,
					"name": "toJSON",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 44,
							"name": "toJSON",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 45,
									"name": "args",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 6,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"name": "Dictionary"
							}
						}
					]
				},
				{
					"id": 40,
					"name": "toObject",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 41,
							"name": "toObject",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 42,
									"name": "ignoreFields",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 6,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"name": "Dictionary"
							}
						}
					]
				},
				{
					"id": 38,
					"name": "toReference",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 39,
							"name": "toReference",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 901,
								"typeArguments": [
									{
										"type": "reference",
										"id": 65,
										"name": "T"
									},
									{
										"type": "reference",
										"id": 66,
										"name": "PK"
									}
								],
								"name": "IdentifiedReference"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						57,
						58,
						59,
						52,
						61,
						51,
						60,
						62,
						63,
						64,
						50
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						46,
						34,
						29,
						31,
						43,
						40,
						38
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 68,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 65,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				},
				{
					"id": 66,
					"name": "PK",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "reference",
							"id": 65,
							"name": "T"
						}
					}
				}
			]
		},
		{
			"id": 3803,
			"name": "IndexOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3805,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3800,
						"name": "UniqueOptions.name"
					}
				},
				{
					"id": 3807,
					"name": "options",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 27,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "Dictionary"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3802,
						"name": "UniqueOptions.options"
					}
				},
				{
					"id": 3806,
					"name": "properties",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3801,
						"name": "UniqueOptions.properties"
					}
				},
				{
					"id": 3804,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 31,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						3805,
						3807,
						3806,
						3804
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/Indexed.ts",
					"line": 30,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3799,
					"name": "UniqueOptions"
				}
			]
		},
		{
			"id": 896,
			"name": "InitOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 898,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 260,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3876,
						"name": "QueryOrderMap"
					}
				},
				{
					"id": 897,
					"name": "populate",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 259,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 899,
					"name": "where",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/entity/Collection.ts",
							"line": 261,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 24,
						"typeArguments": [
							{
								"type": "reference",
								"id": 900,
								"name": "T"
							}
						],
						"name": "FilterQuery"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						898,
						897,
						899
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/entity/Collection.ts",
					"line": 258,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 900,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				}
			]
		},
		{
			"id": 4311,
			"name": "IsSame",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 4312,
					"name": "all",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 258,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 4315,
					"name": "sameDefault",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 261,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 4317,
					"name": "sameEnums",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 263,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 4316,
					"name": "sameIndex",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 262,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 4314,
					"name": "sameNullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 260,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 4313,
					"name": "sameTypes",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/SchemaHelper.ts",
							"line": 259,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						4312,
						4315,
						4317,
						4316,
						4314,
						4313
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/schema/SchemaHelper.ts",
					"line": 257,
					"character": 17
				}
			]
		},
		{
			"id": 2474,
			"name": "JoinOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2477,
					"name": "alias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 450,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2485,
					"name": "cond",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 458,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "Dictionary"
					}
				},
				{
					"id": 2479,
					"name": "inverseAlias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 452,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2481,
					"name": "inverseJoinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 454,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 2480,
					"name": "joinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 453,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 2478,
					"name": "ownerAlias",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 451,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2483,
					"name": "path",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 456,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2482,
					"name": "primaryKeys",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 455,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 2484,
					"name": "prop",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 457,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 92,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "EntityProperty"
					}
				},
				{
					"id": 2475,
					"name": "table",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 448,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 2476,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/query/QueryBuilder.ts",
							"line": 449,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "leftJoin"
							},
							{
								"type": "literal",
								"value": "innerJoin"
							},
							{
								"type": "literal",
								"value": "pivotJoin"
							}
						]
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2477,
						2485,
						2479,
						2481,
						2480,
						2478,
						2483,
						2482,
						2484,
						2475,
						2476
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/query/QueryBuilder.ts",
					"line": 447,
					"character": 17
				}
			]
		},
		{
			"id": 3660,
			"name": "ManyToManyOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3685,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 60,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 212,
							"name": "Cascade"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3739,
						"name": "ReferenceOptions.cascade"
					}
				},
				{
					"id": 3691,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3745,
						"name": "ReferenceOptions.columnType"
					}
				},
				{
					"id": 3690,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3744,
						"name": "ReferenceOptions.customType"
					}
				},
				{
					"id": 3698,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3752,
						"name": "ReferenceOptions.default"
					}
				},
				{
					"id": 3686,
					"name": "eager",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 61,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3740,
						"name": "ReferenceOptions.eager"
					}
				},
				{
					"id": 3682,
					"name": "entity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 59,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3683,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3684,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 67,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3708,
														"name": "T"
													}
												],
												"name": "EntityName"
											}
										}
									]
								}
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3736,
						"name": "ReferenceOptions.entity"
					}
				},
				{
					"id": 3688,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3742,
						"name": "ReferenceOptions.fieldName"
					}
				},
				{
					"id": 3689,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3743,
						"name": "ReferenceOptions.fieldNames"
					}
				},
				{
					"id": 3674,
					"name": "fixedOrder",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 28,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 3675,
					"name": "fixedOrderColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 29,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3702,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3756,
						"name": "ReferenceOptions.hidden"
					}
				},
				{
					"id": 3704,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3758,
						"name": "ReferenceOptions.index"
					}
				},
				{
					"id": 3679,
					"name": "inverseJoinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 33,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3680,
					"name": "inverseJoinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 34,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 3662,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intersection",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3708,
											"name": "T"
										}
									}
								]
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3663,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3664,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"parameters": [
												{
													"id": 3665,
													"name": "e",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 3708,
														"name": "T"
													}
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 3677,
					"name": "joinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 31,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3678,
					"name": "joinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 32,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 3693,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3747,
						"name": "ReferenceOptions.length"
					}
				},
				{
					"id": 3666,
					"name": "mappedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intersection",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3708,
											"name": "T"
										}
									}
								]
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3667,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3668,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"parameters": [
												{
													"id": 3669,
													"name": "e",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 3708,
														"name": "T"
													}
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 3687,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3741,
						"name": "ReferenceOptions.name"
					}
				},
				{
					"id": 3699,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3753,
						"name": "ReferenceOptions.nullable"
					}
				},
				{
					"id": 3670,
					"name": "orderBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 27,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3671,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"indexSignature": {
								"id": 3672,
								"name": "__index",
								"kind": 8192,
								"kindString": "Index signature",
								"flags": {},
								"parameters": [
									{
										"id": 3673,
										"name": "field",
										"kind": 32768,
										"flags": {},
										"type": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								],
								"type": {
									"type": "reference",
									"id": 3866,
									"name": "QueryOrder"
								}
							}
						}
					}
				},
				{
					"id": 3661,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 24,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 3701,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3755,
						"name": "ReferenceOptions.persist"
					}
				},
				{
					"id": 3676,
					"name": "pivotTable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 30,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3706,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 54,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3760,
						"name": "ReferenceOptions.primary"
					}
				},
				{
					"id": 3681,
					"name": "referenceColumnName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToMany.ts",
							"line": 35,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3707,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3761,
						"name": "ReferenceOptions.serializedPrimaryKey"
					}
				},
				{
					"id": 3692,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "object"
							},
							{
								"type": "reference",
								"qualifiedName": "String",
								"package": "typescript",
								"name": "String"
							},
							{
								"type": "reference",
								"qualifiedName": "Number",
								"package": "typescript",
								"name": "Number"
							},
							{
								"type": "reference",
								"qualifiedName": "Boolean",
								"package": "typescript",
								"name": "Boolean"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							},
							{
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3041,
										"name": "Type"
									}
								],
								"name": "Constructor"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3746,
						"name": "ReferenceOptions.type"
					}
				},
				{
					"id": 3705,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3759,
						"name": "ReferenceOptions.unique"
					}
				},
				{
					"id": 3700,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3754,
						"name": "ReferenceOptions.unsigned"
					}
				},
				{
					"id": 3703,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3757,
						"name": "ReferenceOptions.version"
					}
				},
				{
					"id": 3694,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3695,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3749,
								"name": "ReferenceOptions.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3748,
						"name": "ReferenceOptions.onCreate"
					}
				},
				{
					"id": 3696,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3697,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3751,
								"name": "ReferenceOptions.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3750,
						"name": "ReferenceOptions.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						3685,
						3691,
						3690,
						3698,
						3686,
						3682,
						3688,
						3689,
						3674,
						3675,
						3702,
						3704,
						3679,
						3680,
						3662,
						3677,
						3678,
						3693,
						3666,
						3687,
						3699,
						3670,
						3661,
						3701,
						3676,
						3706,
						3681,
						3707,
						3692,
						3705,
						3700,
						3703
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3694,
						3696
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/ManyToMany.ts",
					"line": 23,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 3708,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3708,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3735,
					"typeArguments": [
						{
							"type": "reference",
							"id": 3708,
							"name": "T"
						}
					],
					"name": "ReferenceOptions"
				}
			]
		},
		{
			"id": 3608,
			"name": "ManyToOneOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3622,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 60,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 212,
							"name": "Cascade"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3739,
						"name": "ReferenceOptions.cascade"
					}
				},
				{
					"id": 3628,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3745,
						"name": "ReferenceOptions.columnType"
					}
				},
				{
					"id": 3627,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3744,
						"name": "ReferenceOptions.customType"
					}
				},
				{
					"id": 3635,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3752,
						"name": "ReferenceOptions.default"
					}
				},
				{
					"id": 3623,
					"name": "eager",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 61,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3740,
						"name": "ReferenceOptions.eager"
					}
				},
				{
					"id": 3619,
					"name": "entity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 59,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3620,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3621,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 67,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3644,
														"name": "T"
													}
												],
												"name": "EntityName"
											}
										}
									]
								}
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3736,
						"name": "ReferenceOptions.entity"
					}
				},
				{
					"id": 3625,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3742,
						"name": "ReferenceOptions.fieldName"
					}
				},
				{
					"id": 3626,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3743,
						"name": "ReferenceOptions.fieldNames"
					}
				},
				{
					"id": 3639,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3756,
						"name": "ReferenceOptions.hidden"
					}
				},
				{
					"id": 3641,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3758,
						"name": "ReferenceOptions.index"
					}
				},
				{
					"id": 3609,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 27,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intersection",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3644,
											"name": "T"
										}
									}
								]
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3610,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3611,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"parameters": [
												{
													"id": 3612,
													"name": "e",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 3644,
														"name": "T"
													}
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 3615,
					"name": "joinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 30,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3616,
					"name": "joinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 31,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 3630,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3747,
						"name": "ReferenceOptions.length"
					}
				},
				{
					"id": 3624,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3741,
						"name": "ReferenceOptions.name"
					}
				},
				{
					"id": 3636,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3753,
						"name": "ReferenceOptions.nullable"
					}
				},
				{
					"id": 3617,
					"name": "onDelete",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 32,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3618,
					"name": "onUpdateIntegrity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 33,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3638,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3755,
						"name": "ReferenceOptions.persist"
					}
				},
				{
					"id": 3614,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 29,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"overwrites": {
						"type": "reference",
						"id": 3760,
						"name": "ReferenceOptions.primary"
					}
				},
				{
					"id": 3643,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3761,
						"name": "ReferenceOptions.serializedPrimaryKey"
					}
				},
				{
					"id": 3629,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "object"
							},
							{
								"type": "reference",
								"qualifiedName": "String",
								"package": "typescript",
								"name": "String"
							},
							{
								"type": "reference",
								"qualifiedName": "Number",
								"package": "typescript",
								"name": "Number"
							},
							{
								"type": "reference",
								"qualifiedName": "Boolean",
								"package": "typescript",
								"name": "Boolean"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							},
							{
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3041,
										"name": "Type"
									}
								],
								"name": "Constructor"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3746,
						"name": "ReferenceOptions.type"
					}
				},
				{
					"id": 3642,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3759,
						"name": "ReferenceOptions.unique"
					}
				},
				{
					"id": 3637,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3754,
						"name": "ReferenceOptions.unsigned"
					}
				},
				{
					"id": 3640,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 3757,
						"name": "ReferenceOptions.version"
					}
				},
				{
					"id": 3613,
					"name": "wrappedReference",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/ManyToOne.ts",
							"line": 28,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 3631,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3632,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3749,
								"name": "ReferenceOptions.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3748,
						"name": "ReferenceOptions.onCreate"
					}
				},
				{
					"id": 3633,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3634,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"id": 3751,
								"name": "ReferenceOptions.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"id": 3750,
						"name": "ReferenceOptions.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						3622,
						3628,
						3627,
						3635,
						3623,
						3619,
						3625,
						3626,
						3639,
						3641,
						3609,
						3615,
						3616,
						3630,
						3624,
						3636,
						3617,
						3618,
						3638,
						3614,
						3643,
						3629,
						3642,
						3637,
						3640,
						3613
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3631,
						3633
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/ManyToOne.ts",
					"line": 26,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 3644,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3644,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3735,
					"typeArguments": [
						{
							"type": "reference",
							"id": 3644,
							"name": "T"
						}
					],
					"name": "ReferenceOptions"
				}
			]
		},
		{
			"id": 4477,
			"name": "MigrationRow",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 4479,
					"name": "executed_at",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 65,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Date",
						"package": "typescript",
						"name": "Date"
					}
				},
				{
					"id": 4478,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/migrations/MigrationStorage.ts",
							"line": 64,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						4479,
						4478
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/migrations/MigrationStorage.ts",
					"line": 63,
					"character": 17
				}
			]
		},
		{
			"id": 1758,
			"name": "MikroORMOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1769,
					"name": "autoFlush",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 288,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1780,
					"name": "autoJoinOneToOneOwner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 294,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1808,
					"name": "baseDir",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 309,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1810,
					"name": "cache",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 311,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1811,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1814,
									"name": "adapter",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 314,
											"character": 4
										}
									],
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 1815,
											"name": "__type",
											"kind": 512,
											"kindString": "Constructor",
											"flags": {},
											"signatures": [
												{
													"id": 1816,
													"name": "new __type",
													"kind": 16384,
													"kindString": "Constructor signature",
													"flags": {},
													"parameters": [
														{
															"id": 1817,
															"name": "params",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isRest": true
															},
															"type": {
																"type": "array",
																"elementType": {
																	"type": "intrinsic",
																	"name": "any"
																}
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 3384,
														"name": "CacheAdapter"
													}
												}
											]
										}
									}
								},
								{
									"id": 1812,
									"name": "enabled",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 312,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 1818,
									"name": "options",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 315,
											"character": 4
										}
									],
									"type": {
										"type": "reference",
										"id": 6,
										"typeArguments": [
											{
												"type": "intrinsic",
												"name": "any"
											}
										],
										"name": "Dictionary"
									}
								},
								{
									"id": 1813,
									"name": "pretty",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 313,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1814,
										1812,
										1818,
										1813
									]
								}
							]
						}
					}
				},
				{
					"id": 1830,
					"name": "charset",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 260,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1744,
						"name": "ConnectionOptions.charset"
					}
				},
				{
					"id": 1825,
					"name": "clientUrl",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 255,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1739,
						"name": "ConnectionOptions.clientUrl"
					}
				},
				{
					"id": 1823,
					"name": "dbName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 253,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1737,
						"name": "ConnectionOptions.dbName"
					}
				},
				{
					"id": 1804,
					"name": "debug",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 305,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "boolean"
							},
							{
								"type": "array",
								"elementType": {
									"type": "reference",
									"id": 1984,
									"name": "LoggerNamespace"
								}
							}
						]
					}
				},
				{
					"id": 1762,
					"name": "discovery",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 281,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1763,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 1766,
									"name": "alwaysAnalyseProperties",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 284,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 1767,
									"name": "disableDynamicFileAccess",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 285,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 1765,
									"name": "requireEntitiesArray",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 283,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 1768,
									"name": "tsConfigPath",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 286,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1764,
									"name": "warnWhenNoEntities",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/Configuration.ts",
											"line": 282,
											"character": 4
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										1766,
										1767,
										1765,
										1768,
										1764
									]
								}
							]
						}
					}
				},
				{
					"id": 1771,
					"name": "driver",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 290,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1772,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1773,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1774,
											"name": "config",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1520,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2486,
														"typeArguments": [
															{
																"type": "reference",
																"id": 2844,
																"name": "Connection"
															}
														],
														"name": "IDatabaseDriver"
													}
												],
												"name": "Configuration"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 1833,
										"name": "D"
									},
									"inheritedFrom": {
										"type": "reference",
										"name": "ConnectionOptions.constructor"
									}
								}
							],
							"inheritedFrom": {
								"type": "reference",
								"name": "ConnectionOptions.constructor"
							}
						}
					}
				},
				{
					"id": 1775,
					"name": "driverOptions",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 291,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "Dictionary"
					}
				},
				{
					"id": 1784,
					"name": "ensureIndexes",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 298,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1759,
					"name": "entities",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 278,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "union",
							"types": [
								{
									"type": "reference",
									"typeArguments": [
										{
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									],
									"name": "EntityClass"
								},
								{
									"type": "reference",
									"typeArguments": [
										{
											"type": "reference",
											"id": 71,
											"typeArguments": [
												{
													"type": "intrinsic",
													"name": "any"
												},
												{
													"type": "union",
													"types": [
														{
															"type": "intrinsic",
															"name": "string"
														},
														{
															"type": "intrinsic",
															"name": "number"
														},
														{
															"type": "intrinsic",
															"name": "symbol"
														}
													]
												}
											],
											"name": "AnyEntity"
										}
									],
									"name": "EntityClassGroup"
								},
								{
									"type": "reference",
									"id": 3882,
									"typeArguments": [
										{
											"type": "intrinsic",
											"name": "any"
										},
										{
											"type": "intrinsic",
											"name": "undefined"
										}
									],
									"name": "EntitySchema"
								}
							]
						}
					}
				},
				{
					"id": 1760,
					"name": "entitiesDirs",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 279,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 1761,
					"name": "entitiesDirsTs",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 280,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				},
				{
					"id": 1790,
					"name": "entityRepository",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 300,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1791,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1792,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1793,
											"name": "em",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 960,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2486,
														"typeArguments": [
															{
																"type": "reference",
																"id": 2844,
																"name": "Connection"
															}
														],
														"name": "IDatabaseDriver"
													}
												],
												"name": "EntityManager"
											}
										},
										{
											"id": 1794,
											"name": "entityName",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 67,
												"typeArguments": [
													{
														"type": "reference",
														"id": 71,
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															},
															{
																"type": "union",
																"types": [
																	{
																		"type": "intrinsic",
																		"name": "string"
																	},
																	{
																		"type": "intrinsic",
																		"name": "number"
																	},
																	{
																		"type": "intrinsic",
																		"name": "symbol"
																	}
																]
															}
														],
														"name": "AnyEntity"
													}
												],
												"name": "EntityName"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 217,
										"typeArguments": [
											{
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										],
										"name": "EntityRepository"
									},
									"inheritedFrom": {
										"type": "reference",
										"name": "ConnectionOptions.constructor"
									}
								}
							],
							"inheritedFrom": {
								"type": "reference",
								"name": "ConnectionOptions.constructor"
							}
						}
					}
				},
				{
					"id": 1782,
					"name": "forceUtcTimezone",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 296,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1805,
					"name": "highlight",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 306,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1806,
					"name": "highlightTheme",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 307,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								]
							}
						],
						"name": "Dictionary"
					}
				},
				{
					"id": 1826,
					"name": "host",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 256,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1740,
						"name": "ConnectionOptions.host"
					}
				},
				{
					"id": 1785,
					"name": "hydrator",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 299,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1786,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1787,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1788,
											"name": "factory",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 557,
												"name": "EntityFactory"
											}
										},
										{
											"id": 1789,
											"name": "em",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 960,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2486,
														"typeArguments": [
															{
																"type": "reference",
																"id": 2844,
																"name": "Connection"
															}
														],
														"name": "IDatabaseDriver"
													}
												],
												"name": "EntityManager"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 2222,
										"name": "Hydrator"
									},
									"inheritedFrom": {
										"type": "reference",
										"name": "ConnectionOptions.constructor"
									}
								}
							],
							"inheritedFrom": {
								"type": "reference",
								"name": "ConnectionOptions.constructor"
							}
						}
					}
				},
				{
					"id": 1779,
					"name": "implicitTransactions",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 293,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1819,
					"name": "metadataProvider",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 317,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1820,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1821,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"parameters": [
										{
											"id": 1822,
											"name": "config",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1520,
												"typeArguments": [
													{
														"type": "reference",
														"id": 2486,
														"typeArguments": [
															{
																"type": "reference",
																"id": 2844,
																"name": "Connection"
															}
														],
														"name": "IDatabaseDriver"
													}
												],
												"name": "Configuration"
											}
										}
									],
									"type": {
										"type": "reference",
										"id": 3266,
										"name": "MetadataProvider"
									},
									"inheritedFrom": {
										"type": "reference",
										"name": "ConnectionOptions.constructor"
									}
								}
							],
							"inheritedFrom": {
								"type": "reference",
								"name": "ConnectionOptions.constructor"
							}
						}
					}
				},
				{
					"id": 1809,
					"name": "migrations",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 310,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 1747,
						"name": "MigrationsOptions"
					}
				},
				{
					"id": 1831,
					"name": "multipleStatements",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 261,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1745,
						"name": "ConnectionOptions.multipleStatements"
					}
				},
				{
					"id": 1824,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 254,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1738,
						"name": "ConnectionOptions.name"
					}
				},
				{
					"id": 1776,
					"name": "namingStrategy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 292,
							"character": 2
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 1777,
							"name": "__type",
							"kind": 512,
							"kindString": "Constructor",
							"flags": {},
							"signatures": [
								{
									"id": 1778,
									"name": "new MikroORMOptions",
									"kind": 16384,
									"kindString": "Constructor signature",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 3130,
										"name": "NamingStrategy"
									},
									"inheritedFrom": {
										"type": "reference",
										"name": "ConnectionOptions.constructor"
									}
								}
							],
							"inheritedFrom": {
								"type": "reference",
								"name": "ConnectionOptions.constructor"
							}
						}
					}
				},
				{
					"id": 1829,
					"name": "password",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 259,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1743,
						"name": "ConnectionOptions.password"
					}
				},
				{
					"id": 1832,
					"name": "pool",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 262,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Knex.PoolConfig",
						"package": "knex",
						"name": "PoolConfig"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1746,
						"name": "ConnectionOptions.pool"
					}
				},
				{
					"id": 1827,
					"name": "port",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 257,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1741,
						"name": "ConnectionOptions.port"
					}
				},
				{
					"id": 1781,
					"name": "propagateToOneOwner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 295,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1795,
					"name": "replicas",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 301,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"typeArguments": [
								{
									"type": "reference",
									"id": 1736,
									"name": "ConnectionOptions"
								}
							],
							"qualifiedName": "Partial",
							"package": "typescript",
							"name": "Partial"
						}
					}
				},
				{
					"id": 1796,
					"name": "strict",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 302,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1783,
					"name": "timezone",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 297,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1807,
					"name": "tsNode",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 308,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 1770,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 289,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "mongo"
							},
							{
								"type": "literal",
								"value": "mysql"
							},
							{
								"type": "literal",
								"value": "mariadb"
							},
							{
								"type": "literal",
								"value": "postgresql"
							},
							{
								"type": "literal",
								"value": "sqlite"
							}
						]
					}
				},
				{
					"id": 1828,
					"name": "user",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 258,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"id": 1742,
						"name": "ConnectionOptions.user"
					}
				},
				{
					"id": 1800,
					"name": "findOneOrFailHandler",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 304,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1801,
							"name": "findOneOrFailHandler",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1802,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 1803,
									"name": "where",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "union",
										"types": [
											{
												"type": "reference",
												"name": "IPrimaryKeyValue"
											},
											{
												"type": "reference",
												"id": 6,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													}
												],
												"name": "Dictionary"
											}
										]
									}
								}
							],
							"type": {
								"type": "reference",
								"qualifiedName": "Error",
								"package": "typescript",
								"name": "Error"
							}
						}
					]
				},
				{
					"id": 1797,
					"name": "logger",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 303,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 1798,
							"name": "logger",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"parameters": [
								{
									"id": 1799,
									"name": "message",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "void"
							}
						}
					]
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1769,
						1780,
						1808,
						1810,
						1830,
						1825,
						1823,
						1804,
						1762,
						1771,
						1775,
						1784,
						1759,
						1760,
						1761,
						1790,
						1782,
						1805,
						1806,
						1826,
						1785,
						1779,
						1819,
						1809,
						1831,
						1824,
						1776,
						1829,
						1832,
						1827,
						1781,
						1795,
						1796,
						1783,
						1807,
						1770,
						1828
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						1800,
						1797
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/utils/Configuration.ts",
					"line": 277,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 1833,
					"name": "D",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					},
					"default": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 1736,
					"name": "ConnectionOptions"
				}
			]
		},
		{
			"id": 3130,
			"name": "NamingStrategy",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3135,
					"name": "classToTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3136,
							"name": "classToTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a table name for an entity class"
							},
							"parameters": [
								{
									"id": 3137,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3131,
					"name": "getClassName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3132,
							"name": "getClassName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a name of the class based on its file name"
							},
							"parameters": [
								{
									"id": 3133,
									"name": "file",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3134,
									"name": "separator",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3143,
					"name": "joinColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3144,
							"name": "joinColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join column name for a property"
							},
							"parameters": [
								{
									"id": 3145,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3151,
					"name": "joinKeyColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3152,
							"name": "joinKeyColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return the foreign key column name for the given parameters"
							},
							"parameters": [
								{
									"id": 3153,
									"name": "entityName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3154,
									"name": "referencedColumnName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3146,
					"name": "joinTableName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3147,
							"name": "joinTableName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a join table name"
							},
							"parameters": [
								{
									"id": 3148,
									"name": "sourceEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3149,
									"name": "targetEntity",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3150,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isOptional": true
									},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3138,
					"name": "propertyToColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3139,
							"name": "propertyToColumnName",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"comment": {
								"shortText": "Return a column name for a property"
							},
							"parameters": [
								{
									"id": 3140,
									"name": "propertyName",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					]
				},
				{
					"id": 3141,
					"name": "referenceColumnName",
					"kind": 2048,
					"kindString": "Method",
					"flags": {},
					"signatures": [
						{
							"id": 3142,
							"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": [
						3135,
						3131,
						3143,
						3151,
						3146,
						3138,
						3141
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/naming-strategy/NamingStrategy.ts",
					"line": 1,
					"character": 17
				}
			],
			"implementedBy": [
				{
					"type": "reference",
					"id": 3155,
					"name": "AbstractNamingStrategy"
				}
			]
		},
		{
			"id": 1341,
			"name": "Node",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 1344,
					"name": "dependencies",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 118,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "reference",
								"id": 1345,
								"name": "Edge"
							}
						],
						"name": "Dictionary"
					}
				},
				{
					"id": 1342,
					"name": "hash",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 116,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 1343,
					"name": "state",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
							"line": 117,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 1337,
						"name": "NodeState"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						1344,
						1342,
						1343
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/unit-of-work/CommitOrderCalculator.ts",
					"line": 115,
					"character": 17
				}
			]
		},
		{
			"id": 3544,
			"name": "OneToOneOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3554,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 60,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 212,
							"name": "Cascade"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.cascade"
					}
				},
				{
					"id": 3591,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.columnType"
					}
				},
				{
					"id": 3566,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.customType"
					}
				},
				{
					"id": 3570,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.default"
					}
				},
				{
					"id": 3578,
					"name": "eager",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 61,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.eager"
					}
				},
				{
					"id": 3557,
					"name": "entity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 59,
							"character": 2
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intersection",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3558,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3559,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3595,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									}
								]
							},
							{
								"type": "intersection",
								"types": [
									{
										"type": "reflection",
										"declaration": {
											"id": 3560,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3561,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3595,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									},
									{
										"type": "intrinsic",
										"name": "string"
									}
								]
							},
							{
								"type": "intersection",
								"types": [
									{
										"type": "reflection",
										"declaration": {
											"id": 3562,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3563,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3595,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3564,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3565,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3595,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									}
								]
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.entity"
					}
				},
				{
					"id": 3590,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.fieldName"
					}
				},
				{
					"id": 3569,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.fieldNames"
					}
				},
				{
					"id": 3576,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.hidden"
					}
				},
				{
					"id": 3571,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.index"
					}
				},
				{
					"id": 3593,
					"name": "inverseJoinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.inverseJoinColumn"
					}
				},
				{
					"id": 3589,
					"name": "inverseJoinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.inverseJoinColumns"
					}
				},
				{
					"id": 3546,
					"name": "inversedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToOne.ts",
							"line": 15,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intersection",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3595,
											"name": "T"
										}
									}
								]
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3547,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3548,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"parameters": [
												{
													"id": 3549,
													"name": "e",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 3595,
														"name": "T"
													}
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 3592,
					"name": "joinColumn",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 44,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.joinColumn"
					}
				},
				{
					"id": 3588,
					"name": "joinColumns",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 45,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.joinColumns"
					}
				},
				{
					"id": 3568,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.length"
					}
				},
				{
					"id": 3584,
					"name": "mappedBy",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intersection",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3595,
											"name": "T"
										}
									}
								]
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3585,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3586,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"parameters": [
												{
													"id": 3587,
													"name": "e",
													"kind": 32768,
													"kindString": "Parameter",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 3595,
														"name": "T"
													}
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										}
									]
								}
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.mappedBy"
					}
				},
				{
					"id": 3556,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.name"
					}
				},
				{
					"id": 3573,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.nullable"
					}
				},
				{
					"id": 3552,
					"name": "onDelete",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToOne.ts",
							"line": 18,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3553,
					"name": "onUpdateIntegrity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToOne.ts",
							"line": 19,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3579,
					"name": "orphanRemoval",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.orphanRemoval"
					}
				},
				{
					"id": 3545,
					"name": "owner",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToOne.ts",
							"line": 14,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 3575,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.persist"
					}
				},
				{
					"id": 3551,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToOne.ts",
							"line": 17,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"overwrites": {
						"type": "reference",
						"name": "Partial.primary"
					}
				},
				{
					"id": 3594,
					"name": "referenceColumnName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToMany.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.referenceColumnName"
					}
				},
				{
					"id": 3567,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.serializedPrimaryKey"
					}
				},
				{
					"id": 3555,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "object"
							},
							{
								"type": "reference",
								"qualifiedName": "String",
								"package": "typescript",
								"name": "String"
							},
							{
								"type": "reference",
								"qualifiedName": "Number",
								"package": "typescript",
								"name": "Number"
							},
							{
								"type": "reference",
								"qualifiedName": "Boolean",
								"package": "typescript",
								"name": "Boolean"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							},
							{
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3041,
										"name": "Type"
									}
								],
								"name": "Constructor"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.type"
					}
				},
				{
					"id": 3572,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.unique"
					}
				},
				{
					"id": 3574,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.unsigned"
					}
				},
				{
					"id": 3577,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.version"
					}
				},
				{
					"id": 3550,
					"name": "wrappedReference",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/OneToOne.ts",
							"line": 16,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 3580,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3581,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "Partial.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.onCreate"
					}
				},
				{
					"id": 3582,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3583,
							"name": "onUpdate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "Partial.onUpdate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "Partial.onUpdate"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						3554,
						3591,
						3566,
						3570,
						3578,
						3557,
						3590,
						3569,
						3576,
						3571,
						3593,
						3589,
						3546,
						3592,
						3588,
						3568,
						3584,
						3556,
						3573,
						3552,
						3553,
						3579,
						3545,
						3575,
						3551,
						3594,
						3567,
						3555,
						3572,
						3574,
						3577,
						3550
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3580,
						3582
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/OneToOne.ts",
					"line": 13,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 3595,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3595,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"typeArguments": [
						{
							"type": "reference",
							"typeArguments": [
								{
									"type": "reference",
									"id": 3448,
									"typeArguments": [
										{
											"type": "reference",
											"id": 3595,
											"name": "T"
										}
									],
									"name": "OneToManyOptions"
								},
								{
									"type": "literal",
									"value": "orderBy"
								}
							],
							"qualifiedName": "Omit",
							"package": "typescript",
							"name": "Omit"
						}
					],
					"qualifiedName": "Partial",
					"package": "typescript",
					"name": "Partial"
				}
			]
		},
		{
			"id": 3474,
			"name": "PrimaryKeyOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3479,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.columnType"
					}
				},
				{
					"id": 3478,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.customType"
					}
				},
				{
					"id": 3486,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 3476,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 3477,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldNames"
					}
				},
				{
					"id": 3490,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 3492,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.index"
					}
				},
				{
					"id": 3481,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 3475,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 3487,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 3489,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 3494,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 54,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.primary"
					}
				},
				{
					"id": 3495,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.serializedPrimaryKey"
					}
				},
				{
					"id": 3480,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "object"
							},
							{
								"type": "reference",
								"qualifiedName": "String",
								"package": "typescript",
								"name": "String"
							},
							{
								"type": "reference",
								"qualifiedName": "Number",
								"package": "typescript",
								"name": "Number"
							},
							{
								"type": "reference",
								"qualifiedName": "Boolean",
								"package": "typescript",
								"name": "Boolean"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							},
							{
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3041,
										"name": "Type"
									}
								],
								"name": "Constructor"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 3493,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 3488,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unsigned"
					}
				},
				{
					"id": 3491,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 3482,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3483,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onCreate"
					}
				},
				{
					"id": 3484,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3485,
							"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": [
						3479,
						3478,
						3486,
						3476,
						3477,
						3490,
						3492,
						3481,
						3475,
						3487,
						3489,
						3494,
						3495,
						3480,
						3493,
						3488,
						3491
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3482,
						3484
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/PrimaryKey.ts",
					"line": 25,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3712,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 3876,
			"name": "QueryOrderMap",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 29,
					"character": 17
				}
			],
			"indexSignature": {
				"id": 3877,
				"name": "__index",
				"kind": 8192,
				"kindString": "Index signature",
				"flags": {},
				"parameters": [
					{
						"id": 3878,
						"name": "x",
						"kind": 32768,
						"flags": {},
						"type": {
							"type": "intrinsic",
							"name": "string"
						}
					}
				],
				"type": {
					"type": "reference",
					"id": 3875,
					"name": "QueryOrderKeys"
				}
			}
		},
		{
			"id": 2897,
			"name": "QueryResult",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 2898,
					"name": "affectedRows",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 103,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 2899,
					"name": "insertId",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 104,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "number"
					}
				},
				{
					"id": 2900,
					"name": "row",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/connections/Connection.ts",
							"line": 105,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "Dictionary"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						2898,
						2899,
						2900
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/connections/Connection.ts",
					"line": 102,
					"character": 17
				}
			]
		},
		{
			"id": 3735,
			"name": "ReferenceOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3739,
					"name": "cascade",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 60,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "reference",
							"id": 212,
							"name": "Cascade"
						}
					}
				},
				{
					"id": 3745,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.columnType"
					}
				},
				{
					"id": 3744,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.customType"
					}
				},
				{
					"id": 3752,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 3740,
					"name": "eager",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 61,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 3736,
					"name": "entity",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 59,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 3737,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"signatures": [
										{
											"id": 3738,
											"name": "__type",
											"kind": 4096,
											"kindString": "Call signature",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 67,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3762,
														"name": "T"
													}
												],
												"name": "EntityName"
											}
										}
									]
								}
							}
						]
					}
				},
				{
					"id": 3742,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 3743,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldNames"
					}
				},
				{
					"id": 3756,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 3758,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.index"
					}
				},
				{
					"id": 3747,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 3741,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 3753,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 3755,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 3760,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 54,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.primary"
					}
				},
				{
					"id": 3761,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.serializedPrimaryKey"
					}
				},
				{
					"id": 3746,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 42,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "object"
							},
							{
								"type": "reference",
								"qualifiedName": "String",
								"package": "typescript",
								"name": "String"
							},
							{
								"type": "reference",
								"qualifiedName": "Number",
								"package": "typescript",
								"name": "Number"
							},
							{
								"type": "reference",
								"qualifiedName": "Boolean",
								"package": "typescript",
								"name": "Boolean"
							},
							{
								"type": "reference",
								"qualifiedName": "Date",
								"package": "typescript",
								"name": "Date"
							},
							{
								"type": "reference",
								"id": 1,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3041,
										"name": "Type"
									}
								],
								"name": "Constructor"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 3759,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 3754,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unsigned"
					}
				},
				{
					"id": 3757,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 3748,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3749,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onCreate"
					}
				},
				{
					"id": 3750,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3751,
							"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": [
						3739,
						3745,
						3744,
						3752,
						3740,
						3736,
						3742,
						3743,
						3756,
						3758,
						3747,
						3741,
						3753,
						3755,
						3760,
						3761,
						3746,
						3759,
						3754,
						3757
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3748,
						3750
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/Property.ts",
					"line": 58,
					"character": 17
				}
			],
			"typeParameter": [
				{
					"id": 3762,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3762,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3712,
					"name": "PropertyOptions"
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 3608,
					"name": "ManyToOneOptions"
				},
				{
					"type": "reference",
					"id": 3660,
					"name": "ManyToManyOptions"
				}
			]
		},
		{
			"id": 3496,
			"name": "SerializedPrimaryKeyOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3502,
					"name": "columnType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 41,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.columnType"
					}
				},
				{
					"id": 3501,
					"name": "customType",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 40,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 3041,
						"name": "Type"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.customType"
					}
				},
				{
					"id": 3508,
					"name": "default",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 46,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.default"
					}
				},
				{
					"id": 3499,
					"name": "fieldName",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 38,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldName"
					}
				},
				{
					"id": 3500,
					"name": "fieldNames",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 39,
							"character": 2
						}
					],
					"type": {
						"type": "array",
						"elementType": {
							"type": "intrinsic",
							"name": "string"
						}
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.fieldNames"
					}
				},
				{
					"id": 3512,
					"name": "hidden",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.hidden"
					}
				},
				{
					"id": 3514,
					"name": "index",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 52,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.index"
					}
				},
				{
					"id": 3503,
					"name": "length",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 43,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.length"
					}
				},
				{
					"id": 3498,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 37,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.name"
					}
				},
				{
					"id": 3509,
					"name": "nullable",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 47,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.nullable"
					}
				},
				{
					"id": 3511,
					"name": "persist",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.persist"
					}
				},
				{
					"id": 3516,
					"name": "primary",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 54,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.primary"
					}
				},
				{
					"id": 3517,
					"name": "serializedPrimaryKey",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 55,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.serializedPrimaryKey"
					}
				},
				{
					"id": 3497,
					"name": "type",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/PrimaryKey.ts",
							"line": 28,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "any"
					},
					"overwrites": {
						"type": "reference",
						"name": "PropertyOptions.type"
					}
				},
				{
					"id": 3515,
					"name": "unique",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 53,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "intrinsic",
								"name": "boolean"
							}
						]
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unique"
					}
				},
				{
					"id": 3510,
					"name": "unsigned",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 48,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.unsigned"
					}
				},
				{
					"id": 3513,
					"name": "version",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 51,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					},
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.version"
					}
				},
				{
					"id": 3504,
					"name": "onCreate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 44,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3505,
							"name": "onCreate",
							"kind": 4096,
							"kindString": "Call signature",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							},
							"inheritedFrom": {
								"type": "reference",
								"name": "PropertyOptions.onCreate"
							}
						}
					],
					"inheritedFrom": {
						"type": "reference",
						"name": "PropertyOptions.onCreate"
					}
				},
				{
					"id": 3506,
					"name": "onUpdate",
					"kind": 2048,
					"kindString": "Method",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 45,
							"character": 2
						}
					],
					"signatures": [
						{
							"id": 3507,
							"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": [
						3502,
						3501,
						3508,
						3499,
						3500,
						3512,
						3514,
						3503,
						3498,
						3509,
						3511,
						3516,
						3517,
						3497,
						3515,
						3510,
						3513
					]
				},
				{
					"title": "Methods",
					"kind": 2048,
					"children": [
						3504,
						3506
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/PrimaryKey.ts",
					"line": 27,
					"character": 17
				}
			],
			"extendedTypes": [
				{
					"type": "reference",
					"id": 3712,
					"name": "PropertyOptions"
				}
			]
		},
		{
			"id": 3999,
			"name": "Table",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 4001,
					"name": "schema_name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/schema/DatabaseSchema.ts",
							"line": 50,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 4000,
					"name": "table_name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/schema/DatabaseSchema.ts",
							"line": 49,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						4001,
						4000
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/schema/DatabaseSchema.ts",
					"line": 48,
					"character": 17
				}
			]
		},
		{
			"id": 3799,
			"name": "UniqueOptions",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"children": [
				{
					"id": 3800,
					"name": "name",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 25,
							"character": 2
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "string"
					}
				},
				{
					"id": 3802,
					"name": "options",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 27,
							"character": 2
						}
					],
					"type": {
						"type": "reference",
						"id": 6,
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							}
						],
						"name": "Dictionary"
					}
				},
				{
					"id": 3801,
					"name": "properties",
					"kind": 1024,
					"kindString": "Property",
					"flags": {
						"isOptional": true
					},
					"sources": [
						{
							"fileName": "lib/decorators/Indexed.ts",
							"line": 26,
							"character": 2
						}
					],
					"type": {
						"type": "union",
						"types": [
							{
								"type": "intrinsic",
								"name": "string"
							},
							{
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						]
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						3800,
						3802,
						3801
					]
				}
			],
			"sources": [
				{
					"fileName": "lib/decorators/Indexed.ts",
					"line": 24,
					"character": 17
				}
			],
			"extendedBy": [
				{
					"type": "reference",
					"id": 3803,
					"name": "IndexOptions"
				}
			]
		},
		{
			"id": 71,
			"name": "AnyEntity",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 89,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 74,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"default": {
						"type": "intrinsic",
						"name": "any"
					}
				},
				{
					"id": 75,
					"name": "PK",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "reference",
							"id": 74,
							"name": "T"
						}
					},
					"default": {
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "reference",
							"id": 74,
							"name": "T"
						}
					}
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "mapped",
						"parameter": "K",
						"parameterType": {
							"type": "reference",
							"id": 75,
							"name": "PK"
						},
						"templateType": {
							"type": "indexedAccess",
							"indexType": {
								"type": "reference",
								"name": "K"
							},
							"objectType": {
								"type": "reference",
								"id": 74,
								"name": "T"
							}
						},
						"optionalModifier": "+"
					},
					{
						"type": "reflection",
						"declaration": {
							"id": 72,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 73,
									"name": "[PrimaryKeyType]",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 89,
											"character": 88
										}
									],
									"type": {
										"type": "indexedAccess",
										"indexType": {
											"type": "reference",
											"id": 75,
											"name": "PK"
										},
										"objectType": {
											"type": "reference",
											"id": 74,
											"name": "T"
										}
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										73
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/typings.ts",
									"line": 89,
									"character": 86
								}
							]
						}
					}
				]
			}
		},
		{
			"id": 1,
			"name": "Constructor",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 10,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 5,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 2,
					"name": "__type",
					"kind": 512,
					"kindString": "Constructor",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 10,
							"character": 29
						}
					],
					"signatures": [
						{
							"id": 3,
							"name": "__type",
							"kind": 16384,
							"kindString": "Constructor signature",
							"flags": {},
							"parameters": [
								{
									"id": 4,
									"name": "args",
									"kind": 32768,
									"kindString": "Parameter",
									"flags": {
										"isRest": true
									},
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "any"
										}
									}
								}
							],
							"type": {
								"type": "reference",
								"id": 5,
								"name": "T"
							}
						}
					]
				}
			}
		},
		{
			"id": 6,
			"name": "Dictionary",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 11,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 10,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"default": {
						"type": "intrinsic",
						"name": "any"
					}
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 7,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"sources": [
						{
							"fileName": "lib/typings.ts",
							"line": 11,
							"character": 34
						}
					],
					"indexSignature": {
						"id": 8,
						"name": "__index",
						"kind": 8192,
						"kindString": "Index signature",
						"flags": {},
						"parameters": [
							{
								"id": 9,
								"name": "k",
								"kind": 32768,
								"flags": {},
								"type": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						],
						"type": {
							"type": "reference",
							"id": 10,
							"name": "T"
						}
					}
				}
			}
		},
		{
			"id": 69,
			"name": "EntityData",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 97,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 70,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 70,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "mapped",
						"parameter": "K",
						"parameterType": {
							"type": "typeOperator",
							"operator": "keyof",
							"target": {
								"type": "reference",
								"id": 70,
								"name": "T"
							}
						},
						"templateType": {
							"type": "union",
							"types": [
								{
									"type": "indexedAccess",
									"indexType": {
										"type": "reference",
										"name": "K"
									},
									"objectType": {
										"type": "reference",
										"id": 70,
										"name": "T"
									}
								},
								{
									"type": "reference",
									"id": 12,
									"typeArguments": [
										{
											"type": "indexedAccess",
											"indexType": {
												"type": "reference",
												"name": "K"
											},
											"objectType": {
												"type": "reference",
												"id": 70,
												"name": "T"
											}
										}
									],
									"name": "Primary"
								},
								{
									"type": "array",
									"elementType": {
										"type": "reference",
										"typeArguments": [
											{
												"type": "indexedAccess",
												"indexType": {
													"type": "reference",
													"name": "K"
												},
												"objectType": {
													"type": "reference",
													"id": 70,
													"name": "T"
												}
											}
										],
										"name": "CollectionItem"
									}
								}
							]
						},
						"optionalModifier": "+"
					},
					{
						"type": "reference",
						"id": 6,
						"name": "Dictionary"
					}
				]
			}
		},
		{
			"id": 67,
			"name": "EntityName",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 96,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 68,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 68,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "intrinsic",
						"name": "string"
					},
					{
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 68,
								"name": "T"
							}
						],
						"name": "EntityClass"
					}
				]
			}
		},
		{
			"id": 3521,
			"name": "EntityOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Entity.ts",
					"line": 17,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 3527,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3527,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 3522,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 3524,
							"name": "collection",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Entity.ts",
									"line": 19,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 3523,
							"name": "tableName",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Entity.ts",
									"line": 18,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 3525,
							"name": "customRepository",
							"kind": 2048,
							"kindString": "Method",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Entity.ts",
									"line": 20,
									"character": 2
								}
							],
							"signatures": [
								{
									"id": 3526,
									"name": "customRepository",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"type": {
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 217,
												"typeArguments": [
													{
														"type": "reference",
														"id": 3527,
														"name": "T"
													}
												],
												"name": "EntityRepository"
											}
										],
										"name": "Constructor"
									}
								}
							]
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								3524,
								3523
							]
						},
						{
							"title": "Methods",
							"kind": 2048,
							"children": [
								3525
							]
						}
					],
					"sources": [
						{
							"fileName": "lib/decorators/Entity.ts",
							"line": 17,
							"character": 52
						}
					]
				}
			}
		},
		{
			"id": 24,
			"name": "FilterQuery",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 65,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 27,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 27,
								"name": "T"
							}
						],
						"name": "Query"
					},
					{
						"type": "reflection",
						"declaration": {
							"id": 25,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 26,
									"name": "[PrimaryKeyType]",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 65,
											"character": 42
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										26
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/typings.ts",
									"line": 65,
									"character": 40
								}
							]
						}
					}
				]
			}
		},
		{
			"id": 22,
			"name": "IPrimaryKey",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 34,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 23,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"name": "IPrimaryKeyValue"
					},
					"default": {
						"type": "reference",
						"name": "IPrimaryKeyValue"
					}
				}
			],
			"type": {
				"type": "reference",
				"id": 23,
				"name": "T"
			}
		},
		{
			"id": 79,
			"name": "IdEntity",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 91,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 82,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 80,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 81,
									"name": "id",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 91,
											"character": 33
										}
									],
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "bigint"
											}
										]
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										81
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/typings.ts",
									"line": 91,
									"character": 31
								}
							]
						}
					}
				}
			],
			"type": {
				"type": "reference",
				"id": 71,
				"typeArguments": [
					{
						"type": "reference",
						"id": 82,
						"name": "T"
					},
					{
						"type": "literal",
						"value": "id"
					}
				],
				"name": "AnyEntity"
			}
		},
		{
			"id": 901,
			"name": "IdentifiedReference",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/entity/Reference.ts",
					"line": 8,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 902,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 902,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				},
				{
					"id": 903,
					"name": "PK",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "reference",
							"id": 902,
							"name": "T"
						}
					},
					"default": {
						"type": "intersection",
						"types": [
							{
								"type": "literal",
								"value": "id"
							},
							{
								"type": "typeOperator",
								"operator": "keyof",
								"target": {
									"type": "reference",
									"id": 902,
									"name": "T"
								}
							}
						]
					}
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "mapped",
						"parameter": "K",
						"parameterType": {
							"type": "reference",
							"id": 903,
							"name": "PK"
						},
						"templateType": {
							"type": "indexedAccess",
							"indexType": {
								"type": "reference",
								"name": "K"
							},
							"objectType": {
								"type": "reference",
								"id": 902,
								"name": "T"
							}
						}
					},
					{
						"type": "reference",
						"id": 904,
						"typeArguments": [
							{
								"type": "reference",
								"id": 902,
								"name": "T"
							}
						],
						"name": "Reference"
					}
				]
			}
		},
		{
			"id": 1984,
			"name": "LoggerNamespace",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/utils/Logger.ts",
					"line": 32,
					"character": 12
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "literal",
						"value": "query"
					},
					{
						"type": "literal",
						"value": "query-params"
					},
					{
						"type": "literal",
						"value": "discovery"
					},
					{
						"type": "literal",
						"value": "info"
					}
				]
			}
		},
		{
			"id": 4371,
			"name": "MigrateOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/migrations/Migrator.ts",
					"line": 132,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 4372,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 4373,
							"name": "from",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 132,
									"character": 31
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "number"
									}
								]
							}
						},
						{
							"id": 4375,
							"name": "migrations",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 132,
									"character": 77
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						},
						{
							"id": 4374,
							"name": "to",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 132,
									"character": 55
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "number"
									}
								]
							}
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								4373,
								4375,
								4374
							]
						}
					],
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 132,
							"character": 29
						}
					]
				}
			}
		},
		{
			"id": 4376,
			"name": "MigrationResult",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/migrations/Migrator.ts",
					"line": 133,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 4377,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 4379,
							"name": "code",
							"kind": 1024,
							"kindString": "Property",
							"flags": {},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 133,
									"character": 50
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 4380,
							"name": "diff",
							"kind": 1024,
							"kindString": "Property",
							"flags": {},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 133,
									"character": 64
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						},
						{
							"id": 4378,
							"name": "fileName",
							"kind": 1024,
							"kindString": "Property",
							"flags": {},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 133,
									"character": 32
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								4379,
								4380,
								4378
							]
						}
					],
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 133,
							"character": 30
						}
					]
				}
			}
		},
		{
			"id": 1747,
			"name": "MigrationsOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/utils/Configuration.ts",
					"line": 265,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 1748,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 1754,
							"name": "allOrNothing",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 271,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 1753,
							"name": "disableForeignKeys",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 270,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 1755,
							"name": "dropTables",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 272,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 1757,
							"name": "emit",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 274,
									"character": 2
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": "js"
									},
									{
										"type": "literal",
										"value": "ts"
									}
								]
							}
						},
						{
							"id": 1750,
							"name": "path",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 267,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 1751,
							"name": "pattern",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 268,
									"character": 2
								}
							],
							"type": {
								"type": "reference",
								"qualifiedName": "RegExp",
								"package": "typescript",
								"name": "RegExp"
							}
						},
						{
							"id": 1756,
							"name": "safe",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 273,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 1749,
							"name": "tableName",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 266,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 1752,
							"name": "transactional",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/utils/Configuration.ts",
									"line": 269,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								1754,
								1753,
								1755,
								1757,
								1750,
								1751,
								1756,
								1749,
								1752
							]
						}
					],
					"sources": [
						{
							"fileName": "lib/utils/Configuration.ts",
							"line": 265,
							"character": 32
						}
					]
				}
			}
		},
		{
			"id": 87,
			"name": "MongoEntity",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 93,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 91,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 88,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 89,
									"name": "_id",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 93,
											"character": 36
										}
									],
									"type": {
										"type": "reference",
										"id": 22,
										"name": "IPrimaryKey"
									}
								},
								{
									"id": 90,
									"name": "id",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 93,
											"character": 54
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										89,
										90
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/typings.ts",
									"line": 93,
									"character": 34
								}
							]
						}
					}
				}
			],
			"type": {
				"type": "reference",
				"id": 71,
				"typeArguments": [
					{
						"type": "reference",
						"id": 91,
						"name": "T"
					},
					{
						"type": "union",
						"types": [
							{
								"type": "literal",
								"value": "id"
							},
							{
								"type": "literal",
								"value": "_id"
							}
						]
					}
				],
				"name": "AnyEntity"
			}
		},
		{
			"id": 2202,
			"name": "ORMDomain",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/utils/RequestContext.ts",
					"line": 6,
					"character": 12
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "reference",
						"qualifiedName": "Domain",
						"package": "@types/node",
						"name": "Domain"
					},
					{
						"type": "reflection",
						"declaration": {
							"id": 2203,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 2204,
									"name": "__mikro_orm_context",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/utils/RequestContext.ts",
											"line": 6,
											"character": 35
										}
									],
									"type": {
										"type": "reference",
										"id": 2205,
										"name": "RequestContext"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										2204
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/utils/RequestContext.ts",
									"line": 6,
									"character": 33
								}
							]
						}
					}
				]
			}
		},
		{
			"id": 3448,
			"name": "OneToManyOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/OneToMany.ts",
					"line": 40,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 3467,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3467,
								"name": "T"
							}
						],
						"name": "AnyEntity"
					}
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "reference",
						"id": 3735,
						"typeArguments": [
							{
								"type": "reference",
								"id": 3467,
								"name": "T"
							}
						],
						"name": "ReferenceOptions"
					},
					{
						"type": "reflection",
						"declaration": {
							"id": 3449,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 3450,
									"name": "entity",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 41,
											"character": 2
										}
									],
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 3451,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"sources": [
														{
															"fileName": "lib/decorators/OneToMany.ts",
															"line": 41,
															"character": 21
														}
													],
													"signatures": [
														{
															"id": 3452,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 67,
																"typeArguments": [
																	{
																		"type": "reference",
																		"id": 3467,
																		"name": "T"
																	}
																],
																"name": "EntityName"
															}
														}
													]
												}
											}
										]
									}
								},
								{
									"id": 3460,
									"name": "inverseJoinColumn",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 46,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3461,
									"name": "inverseJoinColumns",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 47,
											"character": 2
										}
									],
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 3458,
									"name": "joinColumn",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 44,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								},
								{
									"id": 3459,
									"name": "joinColumns",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 45,
											"character": 2
										}
									],
									"type": {
										"type": "array",
										"elementType": {
											"type": "intrinsic",
											"name": "string"
										}
									}
								},
								{
									"id": 3463,
									"name": "mappedBy",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 49,
											"character": 2
										}
									],
									"type": {
										"type": "union",
										"types": [
											{
												"type": "intersection",
												"types": [
													{
														"type": "intrinsic",
														"name": "string"
													},
													{
														"type": "typeOperator",
														"operator": "keyof",
														"target": {
															"type": "reference",
															"id": 3467,
															"name": "T"
														}
													}
												]
											},
											{
												"type": "reflection",
												"declaration": {
													"id": 3464,
													"name": "__type",
													"kind": 65536,
													"kindString": "Type literal",
													"flags": {},
													"sources": [
														{
															"fileName": "lib/decorators/OneToMany.ts",
															"line": 49,
															"character": 35
														}
													],
													"signatures": [
														{
															"id": 3465,
															"name": "__type",
															"kind": 4096,
															"kindString": "Call signature",
															"flags": {},
															"parameters": [
																{
																	"id": 3466,
																	"name": "e",
																	"kind": 32768,
																	"kindString": "Parameter",
																	"flags": {},
																	"type": {
																		"type": "reference",
																		"id": 3467,
																		"name": "T"
																	}
																}
															],
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														}
													]
												}
											}
										]
									}
								},
								{
									"id": 3454,
									"name": "orderBy",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 43,
											"character": 2
										}
									],
									"type": {
										"type": "reflection",
										"declaration": {
											"id": 3455,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"sources": [
												{
													"fileName": "lib/decorators/OneToMany.ts",
													"line": 43,
													"character": 12
												}
											],
											"indexSignature": {
												"id": 3456,
												"name": "__index",
												"kind": 8192,
												"kindString": "Index signature",
												"flags": {},
												"parameters": [
													{
														"id": 3457,
														"name": "field",
														"kind": 32768,
														"flags": {},
														"type": {
															"type": "intrinsic",
															"name": "string"
														}
													}
												],
												"type": {
													"type": "reference",
													"id": 3866,
													"name": "QueryOrder"
												}
											}
										}
									}
								},
								{
									"id": 3453,
									"name": "orphanRemoval",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 42,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 3462,
									"name": "referenceColumnName",
									"kind": 1024,
									"kindString": "Property",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "lib/decorators/OneToMany.ts",
											"line": 48,
											"character": 2
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										3450,
										3460,
										3461,
										3458,
										3459,
										3463,
										3454,
										3453,
										3462
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/decorators/OneToMany.ts",
									"line": 40,
									"character": 77
								}
							]
						}
					}
				]
			}
		},
		{
			"id": 1834,
			"name": "Options",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/utils/Configuration.ts",
					"line": 320,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 1835,
					"name": "D",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					},
					"default": {
						"type": "reference",
						"id": 2486,
						"name": "IDatabaseDriver"
					}
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "reference",
						"typeArguments": [
							{
								"type": "reference",
								"id": 1758,
								"typeArguments": [
									{
										"type": "reference",
										"id": 1835,
										"name": "D"
									}
								],
								"name": "MikroORMOptions"
							},
							{
								"type": "reference",
								"typeArguments": [
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 1758,
											"typeArguments": [
												{
													"type": "reference",
													"id": 1835,
													"name": "D"
												}
											],
											"name": "MikroORMOptions"
										}
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "query",
											"queryType": {
												"type": "reference",
												"id": 1521,
												"name": "Configuration.DEFAULTS"
											}
										}
									}
								],
								"qualifiedName": "Exclude",
								"package": "typescript",
								"name": "Exclude"
							}
						],
						"qualifiedName": "Pick",
						"package": "typescript",
						"name": "Pick"
					},
					{
						"type": "reference",
						"id": 1758,
						"typeArguments": [
							{
								"type": "reference",
								"id": 1835,
								"name": "D"
							}
						],
						"name": "MikroORMOptions"
					}
				]
			}
		},
		{
			"id": 12,
			"name": "Primary",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 27,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 21,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				}
			],
			"type": {
				"type": "conditional",
				"checkType": {
					"type": "reference",
					"id": 21,
					"name": "T"
				},
				"extendsType": {
					"type": "reflection",
					"declaration": {
						"id": 13,
						"name": "__type",
						"kind": 65536,
						"kindString": "Type literal",
						"flags": {},
						"children": [
							{
								"id": 14,
								"name": "[PrimaryKeyType]",
								"kind": 1024,
								"kindString": "Property",
								"flags": {},
								"sources": [
									{
										"fileName": "lib/typings.ts",
										"line": 27,
										"character": 37
									}
								],
								"type": {
									"type": "inferred",
									"name": "PK"
								}
							}
						],
						"groups": [
							{
								"title": "Properties",
								"kind": 1024,
								"children": [
									14
								]
							}
						],
						"sources": [
							{
								"fileName": "lib/typings.ts",
								"line": 27,
								"character": 35
							}
						]
					}
				},
				"trueType": {
					"type": "reference",
					"name": "PK"
				},
				"falseType": {
					"type": "conditional",
					"checkType": {
						"type": "reference",
						"id": 21,
						"name": "T"
					},
					"extendsType": {
						"type": "reflection",
						"declaration": {
							"id": 15,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 16,
									"name": "_id",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 28,
											"character": 21
										}
									],
									"type": {
										"type": "inferred",
										"name": "PK"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										16
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/typings.ts",
									"line": 28,
									"character": 19
								}
							]
						}
					},
					"trueType": {
						"type": "union",
						"types": [
							{
								"type": "reference",
								"name": "PK"
							},
							{
								"type": "intrinsic",
								"name": "string"
							}
						]
					},
					"falseType": {
						"type": "conditional",
						"checkType": {
							"type": "reference",
							"id": 21,
							"name": "T"
						},
						"extendsType": {
							"type": "reflection",
							"declaration": {
								"id": 17,
								"name": "__type",
								"kind": 65536,
								"kindString": "Type literal",
								"flags": {},
								"children": [
									{
										"id": 18,
										"name": "uuid",
										"kind": 1024,
										"kindString": "Property",
										"flags": {},
										"sources": [
											{
												"fileName": "lib/typings.ts",
												"line": 29,
												"character": 30
											}
										],
										"type": {
											"type": "inferred",
											"name": "PK"
										}
									}
								],
								"groups": [
									{
										"title": "Properties",
										"kind": 1024,
										"children": [
											18
										]
									}
								],
								"sources": [
									{
										"fileName": "lib/typings.ts",
										"line": 29,
										"character": 28
									}
								]
							}
						},
						"trueType": {
							"type": "reference",
							"name": "PK"
						},
						"falseType": {
							"type": "conditional",
							"checkType": {
								"type": "reference",
								"id": 21,
								"name": "T"
							},
							"extendsType": {
								"type": "reflection",
								"declaration": {
									"id": 19,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 20,
											"name": "id",
											"kind": 1024,
											"kindString": "Property",
											"flags": {},
											"sources": [
												{
													"fileName": "lib/typings.ts",
													"line": 30,
													"character": 21
												}
											],
											"type": {
												"type": "inferred",
												"name": "PK"
											}
										}
									],
									"groups": [
										{
											"title": "Properties",
											"kind": 1024,
											"children": [
												20
											]
										}
									],
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 30,
											"character": 19
										}
									]
								}
							},
							"trueType": {
								"type": "reference",
								"name": "PK"
							},
							"falseType": {
								"type": "intrinsic",
								"name": "never"
							}
						}
					}
				}
			}
		},
		{
			"id": 3712,
			"name": "PropertyOptions",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Property.ts",
					"line": 36,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 3713,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 3718,
							"name": "columnType",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 41,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 3717,
							"name": "customType",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 40,
									"character": 2
								}
							],
							"type": {
								"type": "reference",
								"id": 3041,
								"name": "Type"
							}
						},
						{
							"id": 3725,
							"name": "default",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 46,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						},
						{
							"id": 3715,
							"name": "fieldName",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 38,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 3716,
							"name": "fieldNames",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 39,
									"character": 2
								}
							],
							"type": {
								"type": "array",
								"elementType": {
									"type": "intrinsic",
									"name": "string"
								}
							}
						},
						{
							"id": 3729,
							"name": "hidden",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 50,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3731,
							"name": "index",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 52,
									"character": 2
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "boolean"
									},
									{
										"type": "intrinsic",
										"name": "string"
									}
								]
							}
						},
						{
							"id": 3720,
							"name": "length",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 43,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						},
						{
							"id": 3714,
							"name": "name",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 37,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 3726,
							"name": "nullable",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 47,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3728,
							"name": "persist",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 49,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3733,
							"name": "primary",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 54,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3734,
							"name": "serializedPrimaryKey",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 55,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3719,
							"name": "type",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 42,
									"character": 2
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "literal",
										"value": "string"
									},
									{
										"type": "literal",
										"value": "number"
									},
									{
										"type": "literal",
										"value": "boolean"
									},
									{
										"type": "literal",
										"value": "bigint"
									},
									{
										"type": "literal",
										"value": "ObjectId"
									},
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "intrinsic",
										"name": "object"
									},
									{
										"type": "reference",
										"qualifiedName": "String",
										"package": "typescript",
										"name": "String"
									},
									{
										"type": "reference",
										"qualifiedName": "Number",
										"package": "typescript",
										"name": "Number"
									},
									{
										"type": "reference",
										"qualifiedName": "Boolean",
										"package": "typescript",
										"name": "Boolean"
									},
									{
										"type": "reference",
										"qualifiedName": "Date",
										"package": "typescript",
										"name": "Date"
									},
									{
										"type": "reference",
										"id": 1,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3041,
												"name": "Type"
											}
										],
										"name": "Constructor"
									}
								]
							}
						},
						{
							"id": 3732,
							"name": "unique",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 53,
									"character": 2
								}
							],
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "boolean"
									},
									{
										"type": "intrinsic",
										"name": "string"
									}
								]
							}
						},
						{
							"id": 3727,
							"name": "unsigned",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 48,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3730,
							"name": "version",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 51,
									"character": 2
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "boolean"
							}
						},
						{
							"id": 3721,
							"name": "onCreate",
							"kind": 2048,
							"kindString": "Method",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 44,
									"character": 2
								}
							],
							"signatures": [
								{
									"id": 3722,
									"name": "onCreate",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							]
						},
						{
							"id": 3723,
							"name": "onUpdate",
							"kind": 2048,
							"kindString": "Method",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/decorators/Property.ts",
									"line": 45,
									"character": 2
								}
							],
							"signatures": [
								{
									"id": 3724,
									"name": "onUpdate",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								}
							]
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								3718,
								3717,
								3725,
								3715,
								3716,
								3729,
								3731,
								3720,
								3714,
								3726,
								3728,
								3733,
								3734,
								3719,
								3732,
								3727,
								3730
							]
						},
						{
							"title": "Methods",
							"kind": 2048,
							"children": [
								3721,
								3723
							]
						}
					],
					"sources": [
						{
							"fileName": "lib/decorators/Property.ts",
							"line": 36,
							"character": 30
						}
					]
				}
			},
			"extendedBy": [
				{
					"type": "reference",
					"id": 3474,
					"name": "PrimaryKeyOptions"
				},
				{
					"type": "reference",
					"id": 3496,
					"name": "SerializedPrimaryKeyOptions"
				},
				{
					"type": "reference",
					"id": 3735,
					"name": "ReferenceOptions"
				},
				{
					"type": "reference",
					"id": 3768,
					"name": "EnumOptions"
				}
			]
		},
		{
			"id": 3875,
			"name": "QueryOrderKeys",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 27,
					"character": 12
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "reference",
						"id": 3874,
						"name": "QueryOrderKeysFlat"
					},
					{
						"type": "reference",
						"id": 3876,
						"name": "QueryOrderMap"
					}
				]
			}
		},
		{
			"id": 3874,
			"name": "QueryOrderKeysFlat",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/query/enums.ts",
					"line": 26,
					"character": 12
				}
			],
			"type": {
				"type": "union",
				"types": [
					{
						"type": "reference",
						"id": 3866,
						"name": "QueryOrder"
					},
					{
						"type": "reference",
						"id": 3871,
						"name": "QueryOrderNumeric"
					},
					{
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "query",
							"queryType": {
								"type": "reference",
								"id": 3866,
								"name": "QueryOrder"
							}
						}
					}
				]
			}
		},
		{
			"id": 2907,
			"name": "Transaction",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/connections/Connection.ts",
					"line": 116,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 2908,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"default": {
						"type": "intrinsic",
						"name": "any"
					}
				}
			],
			"type": {
				"type": "reference",
				"id": 2908,
				"name": "T"
			}
		},
		{
			"id": 4367,
			"name": "UmzugMigration",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/migrations/Migrator.ts",
					"line": 131,
					"character": 12
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 4368,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"children": [
						{
							"id": 4370,
							"name": "file",
							"kind": 1024,
							"kindString": "Property",
							"flags": {},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 131,
									"character": 46
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						},
						{
							"id": 4369,
							"name": "path",
							"kind": 1024,
							"kindString": "Property",
							"flags": {
								"isOptional": true
							},
							"sources": [
								{
									"fileName": "lib/migrations/Migrator.ts",
									"line": 131,
									"character": 31
								}
							],
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					],
					"groups": [
						{
							"title": "Properties",
							"kind": 1024,
							"children": [
								4370,
								4369
							]
						}
					],
					"sources": [
						{
							"fileName": "lib/migrations/Migrator.ts",
							"line": 131,
							"character": 29
						}
					]
				}
			}
		},
		{
			"id": 83,
			"name": "UuidEntity",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 92,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 86,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 84,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 85,
									"name": "uuid",
									"kind": 1024,
									"kindString": "Property",
									"flags": {},
									"sources": [
										{
											"fileName": "lib/typings.ts",
											"line": 92,
											"character": 35
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "string"
									}
								}
							],
							"groups": [
								{
									"title": "Properties",
									"kind": 1024,
									"children": [
										85
									]
								}
							],
							"sources": [
								{
									"fileName": "lib/typings.ts",
									"line": 92,
									"character": 33
								}
							]
						}
					}
				}
			],
			"type": {
				"type": "reference",
				"id": 71,
				"typeArguments": [
					{
						"type": "reference",
						"id": 86,
						"name": "T"
					},
					{
						"type": "literal",
						"value": "uuid"
					}
				],
				"name": "AnyEntity"
			}
		},
		{
			"id": 76,
			"name": "WrappedEntity",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 90,
					"character": 12
				}
			],
			"typeParameter": [
				{
					"id": 77,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				},
				{
					"id": 78,
					"name": "PK",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "typeOperator",
						"operator": "keyof",
						"target": {
							"type": "reference",
							"id": 77,
							"name": "T"
						}
					}
				}
			],
			"type": {
				"type": "intersection",
				"types": [
					{
						"type": "reference",
						"id": 28,
						"typeArguments": [
							{
								"type": "reference",
								"id": 77,
								"name": "T"
							},
							{
								"type": "reference",
								"id": 78,
								"name": "PK"
							}
						],
						"name": "IWrappedEntity"
					},
					{
						"type": "reference",
						"id": 71,
						"typeArguments": [
							{
								"type": "reference",
								"id": 77,
								"name": "T"
							},
							{
								"type": "reference",
								"id": 78,
								"name": "PK"
							}
						],
						"name": "AnyEntity"
					}
				]
			}
		},
		{
			"id": 11,
			"name": "PrimaryKeyType",
			"kind": 32,
			"kindString": "Variable",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/typings.ts",
					"line": 26,
					"character": 13
				}
			],
			"type": {
				"type": "query",
				"queryType": {
					"type": "reference",
					"id": 11,
					"name": "PrimaryKeyType"
				}
			},
			"defaultValue": "..."
		},
		{
			"id": 556,
			"name": "SCALAR_TYPES",
			"kind": 32,
			"kindString": "Variable",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/entity/EntityFactory.ts",
					"line": 7,
					"character": 13
				}
			],
			"type": {
				"type": "array",
				"elementType": {
					"type": "intrinsic",
					"name": "string"
				}
			},
			"defaultValue": "..."
		},
		{
			"id": 3821,
			"name": "AfterCreate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 8,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3822,
					"name": "AfterCreate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3823,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3824,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3825,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3826,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3851,
			"name": "AfterDelete",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 34,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3852,
					"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": 3853,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3854,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3855,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3856,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3833,
			"name": "AfterUpdate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 16,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3834,
					"name": "AfterUpdate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3835,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3836,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3837,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3838,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3815,
			"name": "BeforeCreate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 4,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3816,
					"name": "BeforeCreate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3817,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3818,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3819,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3820,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3845,
			"name": "BeforeDelete",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 27,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3846,
					"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": 3847,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3848,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3849,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3850,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3827,
			"name": "BeforeUpdate",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 12,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3828,
					"name": "BeforeUpdate",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3829,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3830,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3831,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3832,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3518,
			"name": "Entity",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Entity.ts",
					"line": 6,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3519,
					"name": "Entity",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3520,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3521,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									}
								],
								"name": "EntityOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 3763,
			"name": "Enum",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Enum.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3764,
					"name": "Enum",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3765,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "reference",
										"id": 3768,
										"name": "EnumOptions"
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3766,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3767,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 6,
														"typeArguments": [
															{
																"type": "intrinsic",
																"name": "any"
															}
														],
														"name": "Dictionary"
													}
												}
											]
										}
									}
								]
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 3793,
			"name": "Index",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Indexed.ts",
					"line": 16,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3794,
					"name": "Index",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3795,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3803,
								"name": "IndexOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 3645,
			"name": "ManyToMany",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/ManyToMany.ts",
					"line": 8,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3646,
					"name": "ManyToMany",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"typeParameter": [
						{
							"id": 3647,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 71,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3647,
										"name": "T"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3647,
											"name": "T"
										}
									}
								],
								"name": "AnyEntity"
							}
						}
					],
					"parameters": [
						{
							"id": 3648,
							"name": "entity",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {
								"isOptional": true
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"id": 3660,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3647,
												"name": "T"
											}
										],
										"name": "ManyToManyOptions"
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3649,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3650,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3647,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									}
								]
							}
						},
						{
							"id": 3651,
							"name": "mappedBy",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {
								"isOptional": true
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3647,
													"name": "T"
												}
											}
										]
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3652,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3653,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 3654,
															"name": "e",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 3647,
																"name": "T"
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "any"
													}
												}
											]
										}
									}
								]
							}
						},
						{
							"id": 3655,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 3660,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3647,
												"name": "T"
											}
										],
										"name": "ManyToManyOptions"
									}
								],
								"qualifiedName": "Partial",
								"package": "typescript",
								"name": "Partial"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3656,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3657,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3658,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										},
										{
											"id": 3659,
											"name": "propertyName",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3596,
			"name": "ManyToOne",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/ManyToOne.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3597,
					"name": "ManyToOne",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"typeParameter": [
						{
							"id": 3598,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 71,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3598,
										"name": "T"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3598,
											"name": "T"
										}
									}
								],
								"name": "AnyEntity"
							}
						}
					],
					"parameters": [
						{
							"id": 3599,
							"name": "entity",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"id": 3608,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3598,
												"name": "T"
											}
										],
										"name": "ManyToOneOptions"
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3600,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3601,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 3602,
															"name": "e",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isOptional": true
															},
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3598,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									}
								]
							},
							"defaultValue": "{}"
						},
						{
							"id": 3603,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 3608,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3598,
												"name": "T"
											}
										],
										"name": "ManyToOneOptions"
									}
								],
								"qualifiedName": "Partial",
								"package": "typescript",
								"name": "Partial"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3604,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3605,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3606,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										},
										{
											"id": 3607,
											"name": "propertyName",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3839,
			"name": "OnInit",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/hooks.ts",
					"line": 20,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3840,
					"name": "OnInit",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3841,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3842,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3843,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "any"
											}
										},
										{
											"id": 3844,
											"name": "method",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3432,
			"name": "OneToMany",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/OneToMany.ts",
					"line": 8,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3433,
					"name": "OneToMany",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"typeParameter": [
						{
							"id": 3434,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 71,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3434,
										"name": "T"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3434,
											"name": "T"
										}
									}
								],
								"name": "AnyEntity"
							}
						}
					],
					"parameters": [
						{
							"id": 3435,
							"name": "entity",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"id": 3448,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3434,
												"name": "T"
											}
										],
										"name": "OneToManyOptions"
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3436,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3437,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 3438,
															"name": "e",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isOptional": true
															},
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3434,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									}
								]
							}
						},
						{
							"id": 3439,
							"name": "mappedBy",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {
								"isOptional": true
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3434,
													"name": "T"
												}
											}
										]
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3440,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3441,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 3442,
															"name": "e",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 3434,
																"name": "T"
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "any"
													}
												}
											]
										}
									}
								]
							}
						},
						{
							"id": 3443,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 3448,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3434,
												"name": "T"
											}
										],
										"name": "OneToManyOptions"
									}
								],
								"qualifiedName": "Partial",
								"package": "typescript",
								"name": "Partial"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3444,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3445,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3446,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										},
										{
											"id": 3447,
											"name": "propertyName",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3528,
			"name": "OneToOne",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/OneToOne.ts",
					"line": 5,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3529,
					"name": "OneToOne",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"typeParameter": [
						{
							"id": 3530,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 71,
								"typeArguments": [
									{
										"type": "reference",
										"id": 3530,
										"name": "T"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 3530,
											"name": "T"
										}
									}
								],
								"name": "AnyEntity"
							}
						}
					],
					"parameters": [
						{
							"id": 3531,
							"name": "entity",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {
								"isOptional": true
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intrinsic",
										"name": "string"
									},
									{
										"type": "reference",
										"id": 3544,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3530,
												"name": "T"
											}
										],
										"name": "OneToOneOptions"
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3532,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3533,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 3534,
															"name": "e",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {
																"isOptional": true
															},
															"type": {
																"type": "intrinsic",
																"name": "any"
															}
														}
													],
													"type": {
														"type": "reference",
														"id": 67,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3530,
																"name": "T"
															}
														],
														"name": "EntityName"
													}
												}
											]
										}
									}
								]
							}
						},
						{
							"id": 3535,
							"name": "mappedBy",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {
								"isOptional": true
							},
							"type": {
								"type": "union",
								"types": [
									{
										"type": "intersection",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "typeOperator",
												"operator": "keyof",
												"target": {
													"type": "reference",
													"id": 3530,
													"name": "T"
												}
											}
										]
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 3536,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"signatures": [
												{
													"id": 3537,
													"name": "__type",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 3538,
															"name": "e",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "reference",
																"id": 3530,
																"name": "T"
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "any"
													}
												}
											]
										}
									}
								]
							}
						},
						{
							"id": 3539,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 3544,
										"typeArguments": [
											{
												"type": "reference",
												"id": 3530,
												"name": "T"
											}
										],
										"name": "OneToOneOptions"
									}
								],
								"qualifiedName": "Partial",
								"package": "typescript",
								"name": "Partial"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3540,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3541,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3542,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 71,
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "any"
													},
													{
														"type": "union",
														"types": [
															{
																"type": "intrinsic",
																"name": "string"
															},
															{
																"type": "intrinsic",
																"name": "number"
															},
															{
																"type": "intrinsic",
																"name": "symbol"
															}
														]
													}
												],
												"name": "AnyEntity"
											}
										},
										{
											"id": 3543,
											"name": "propertyName",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "intrinsic",
												"name": "string"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3468,
			"name": "PrimaryKey",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/PrimaryKey.ts",
					"line": 17,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3469,
					"name": "PrimaryKey",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3470,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3474,
								"name": "PrimaryKeyOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 3709,
			"name": "Property",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Property.ts",
					"line": 7,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3710,
					"name": "Property",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3711,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3712,
								"name": "PropertyOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 3808,
			"name": "Repository",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Repository.ts",
					"line": 5,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3809,
					"name": "Repository",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"typeParameter": [
						{
							"id": 3810,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 71,
								"typeArguments": [
									{
										"type": "intrinsic",
										"name": "any"
									},
									{
										"type": "union",
										"types": [
											{
												"type": "intrinsic",
												"name": "string"
											},
											{
												"type": "intrinsic",
												"name": "number"
											},
											{
												"type": "intrinsic",
												"name": "symbol"
											}
										]
									}
								],
								"name": "AnyEntity"
							}
						}
					],
					"parameters": [
						{
							"id": 3811,
							"name": "entity",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"typeArguments": [
									{
										"type": "reference",
										"id": 3810,
										"name": "T"
									}
								],
								"name": "EntityClass"
							}
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 3812,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"signatures": [
								{
									"id": 3813,
									"name": "__type",
									"kind": 4096,
									"kindString": "Call signature",
									"flags": {},
									"parameters": [
										{
											"id": 3814,
											"name": "target",
											"kind": 32768,
											"kindString": "Parameter",
											"flags": {},
											"type": {
												"type": "reference",
												"id": 1,
												"typeArguments": [
													{
														"type": "reference",
														"id": 217,
														"typeArguments": [
															{
																"type": "reference",
																"id": 3810,
																"name": "T"
															}
														],
														"name": "EntityRepository"
													}
												],
												"name": "Constructor"
											}
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "void"
									}
								}
							]
						}
					}
				}
			]
		},
		{
			"id": 3471,
			"name": "SerializedPrimaryKey",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/PrimaryKey.ts",
					"line": 21,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3472,
					"name": "SerializedPrimaryKey",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3473,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3496,
								"name": "SerializedPrimaryKeyOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 3796,
			"name": "Unique",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/decorators/Indexed.ts",
					"line": 20,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 3797,
					"name": "Unique",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 3798,
							"name": "options",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 3799,
								"name": "UniqueOptions"
							},
							"defaultValue": "{}"
						}
					],
					"type": {
						"type": "reference",
						"qualifiedName": "Function",
						"package": "typescript",
						"name": "Function"
					}
				}
			]
		},
		{
			"id": 498,
			"name": "wrap",
			"kind": 64,
			"kindString": "Function",
			"flags": {},
			"sources": [
				{
					"fileName": "lib/entity/EntityHelper.ts",
					"line": 226,
					"character": 16
				}
			],
			"signatures": [
				{
					"id": 499,
					"name": "wrap",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"comment": {
						"shortText": "wraps entity type with AnyEntity internal properties and helpers like init/isInitialized/populated/toJSON"
					},
					"typeParameter": [
						{
							"id": 500,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {}
						}
					],
					"parameters": [
						{
							"id": 501,
							"name": "entity",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"id": 500,
								"name": "T"
							}
						}
					],
					"type": {
						"type": "intersection",
						"types": [
							{
								"type": "reference",
								"id": 500,
								"name": "T"
							},
							{
								"type": "reference",
								"id": 76,
								"typeArguments": [
									{
										"type": "reference",
										"id": 500,
										"name": "T"
									},
									{
										"type": "typeOperator",
										"operator": "keyof",
										"target": {
											"type": "reference",
											"id": 500,
											"name": "T"
										}
									}
								],
								"name": "WrappedEntity"
							}
						]
					}
				}
			]
		}
	],
	"groups": [
		{
			"title": "Enumerations",
			"kind": 8,
			"children": [
				212,
				1227,
				1212,
				1337,
				3864,
				3866,
				3871,
				3857,
				206
			]
		},
		{
			"title": "Classes",
			"kind": 128,
			"children": [
				3155,
				2909,
				2698,
				705,
				3108,
				1231,
				1264,
				771,
				1311,
				1520,
				2844,
				2586,
				3981,
				3064,
				415,
				3239,
				557,
				502,
				347,
				598,
				960,
				217,
				3882,
				464,
				357,
				3408,
				2222,
				3286,
				1968,
				3266,
				4381,
				4423,
				4402,
				4449,
				4318,
				176,
				3182,
				3395,
				2243,
				2989,
				2308,
				904,
				3313,
				2205,
				4002,
				4178,
				3086,
				3337,
				3041,
				3209,
				1349,
				1985,
				1836
			]
		},
		{
			"title": "Interfaces",
			"kind": 256,
			"children": [
				460,
				3384,
				1217,
				2901,
				1736,
				1345,
				142,
				92,
				3768,
				2578,
				1200,
				2570,
				3879,
				2486,
				28,
				3803,
				896,
				4311,
				2474,
				3660,
				3608,
				4477,
				1758,
				3130,
				1341,
				3544,
				3474,
				3876,
				2897,
				3735,
				3496,
				3999,
				3799
			]
		},
		{
			"title": "Type aliases",
			"kind": 4194304,
			"children": [
				71,
				1,
				6,
				69,
				67,
				3521,
				24,
				22,
				79,
				901,
				1984,
				4371,
				4376,
				1747,
				87,
				2202,
				3448,
				1834,
				12,
				3712,
				3875,
				3874,
				2907,
				4367,
				83,
				76
			]
		},
		{
			"title": "Variables",
			"kind": 32,
			"children": [
				11,
				556
			]
		},
		{
			"title": "Functions",
			"kind": 64,
			"children": [
				3821,
				3851,
				3833,
				3815,
				3845,
				3827,
				3518,
				3763,
				3793,
				3645,
				3596,
				3839,
				3432,
				3528,
				3468,
				3709,
				3808,
				3471,
				3796,
				498
			]
		}
	],
	"sources": [
		{
			"fileName": "lib/index.ts",
			"line": 1,
			"character": 0
		}
	]
}