{
	"id": 0,
	"name": "mobx-state-tree-entity",
	"kind": 0,
	"flags": {},
	"children": [
		{
			"id": 1,
			"name": "Status",
			"kind": 4,
			"kindString": "Enumeration",
			"flags": {
				"isExported": true
			},
			"children": [
				{
					"id": 5,
					"name": "ERROR",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {
						"isExported": true
					},
					"sources": [
						{
							"fileName": "Status.ts",
							"line": 5,
							"character": 7
						}
					]
				},
				{
					"id": 3,
					"name": "IN_PROGRESS",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {
						"isExported": true
					},
					"sources": [
						{
							"fileName": "Status.ts",
							"line": 3,
							"character": 13
						}
					]
				},
				{
					"id": 2,
					"name": "PENDING",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {
						"isExported": true
					},
					"sources": [
						{
							"fileName": "Status.ts",
							"line": 2,
							"character": 9
						}
					]
				},
				{
					"id": 4,
					"name": "SUCCESS",
					"kind": 16,
					"kindString": "Enumeration member",
					"flags": {
						"isExported": true
					},
					"sources": [
						{
							"fileName": "Status.ts",
							"line": 4,
							"character": 9
						}
					]
				}
			],
			"groups": [
				{
					"title": "Enumeration members",
					"kind": 16,
					"children": [
						5,
						3,
						2,
						4
					]
				}
			],
			"sources": [
				{
					"fileName": "Status.ts",
					"line": 1,
					"character": 18
				}
			]
		},
		{
			"id": 6,
			"name": "SingletonEntity",
			"kind": 256,
			"kindString": "Interface",
			"flags": {},
			"typeParameter": [
				{
					"id": 7,
					"name": "V",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {}
				}
			],
			"children": [
				{
					"id": 10,
					"name": "isDirty",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "useSingletonEntityl.ts",
							"line": 196,
							"character": 9
						}
					],
					"type": {
						"type": "intrinsic",
						"name": "boolean"
					}
				},
				{
					"id": 11,
					"name": "metadata",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "useSingletonEntityl.ts",
							"line": 197,
							"character": 10
						}
					],
					"type": {
						"type": "reflection",
						"declaration": {
							"id": 12,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 18,
									"name": "error",
									"kind": 32,
									"kindString": "Variable",
									"flags": {
										"isOptional": true
									},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 203,
											"character": 9
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "any"
									}
								},
								{
									"id": 16,
									"name": "hasLoaded",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 201,
											"character": 13
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 15,
									"name": "isDirty",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 200,
											"character": 11
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 14,
									"name": "isHydrating",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 199,
											"character": 15
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 13,
									"name": "isLoading",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 198,
											"character": 13
										}
									],
									"type": {
										"type": "intrinsic",
										"name": "boolean"
									}
								},
								{
									"id": 17,
									"name": "status",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 202,
											"character": 10
										}
									],
									"type": {
										"type": "reference",
										"name": "Status",
										"id": 1
									}
								}
							],
							"groups": [
								{
									"title": "Variables",
									"kind": 32,
									"children": [
										18,
										16,
										15,
										14,
										13,
										17
									]
								}
							],
							"sources": [
								{
									"fileName": "useSingletonEntityl.ts",
									"line": 197,
									"character": 11
								}
							]
						}
					}
				},
				{
					"id": 9,
					"name": "persistedValue",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "useSingletonEntityl.ts",
							"line": 195,
							"character": 16
						}
					],
					"type": {
						"type": "typeParameter",
						"name": "V"
					}
				},
				{
					"id": 8,
					"name": "value",
					"kind": 1024,
					"kindString": "Property",
					"flags": {},
					"sources": [
						{
							"fileName": "useSingletonEntityl.ts",
							"line": 194,
							"character": 7
						}
					],
					"type": {
						"type": "typeParameter",
						"name": "V"
					}
				}
			],
			"groups": [
				{
					"title": "Properties",
					"kind": 1024,
					"children": [
						10,
						11,
						9,
						8
					]
				}
			],
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 193,
					"character": 25
				}
			]
		},
		{
			"id": 19,
			"name": "ExtractProps",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {
				"isExported": true
			},
			"typeParameter": [
				{
					"id": 20,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"name": "IAnyModelType"
					}
				}
			],
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 16,
					"character": 32
				}
			],
			"type": {
				"type": "unknown",
				"name": "ExtractProps<T>"
			}
		},
		{
			"id": 34,
			"name": "ModelPropertyDefinitionsToProperties",
			"kind": 4194304,
			"kindString": "Type alias",
			"flags": {
				"isExported": true
			},
			"typeParameter": [
				{
					"id": 35,
					"name": "T",
					"kind": 131072,
					"kindString": "Type parameter",
					"flags": {},
					"type": {
						"type": "reference",
						"name": "IAnyModelType"
					}
				}
			],
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 47,
					"character": 48
				}
			],
			"type": {
				"type": "reflection",
				"declaration": {
					"id": 36,
					"name": "__type",
					"kind": 65536,
					"kindString": "Type literal",
					"flags": {},
					"sources": [
						{
							"fileName": "useSingletonEntityl.ts",
							"line": 47,
							"character": 75
						}
					]
				}
			}
		},
		{
			"id": 21,
			"name": "metadata",
			"kind": 32,
			"kindString": "Variable",
			"flags": {
				"isConst": true
			},
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 20,
					"character": 14
				}
			],
			"type": {
				"type": "reference",
				"name": "IModelType",
				"typeArguments": [
					{
						"type": "reflection",
						"declaration": {
							"id": 22,
							"name": "__type",
							"kind": 65536,
							"kindString": "Type literal",
							"flags": {},
							"children": [
								{
									"id": 23,
									"name": "error",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 22,
											"character": 9
										}
									],
									"type": {
										"type": "reference",
										"name": "IMaybeNull",
										"typeArguments": [
											{
												"type": "reference",
												"name": "ISimpleType",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "string"
													}
												]
											}
										]
									},
									"defaultValue": " types.maybeNull(types.string)"
								},
								{
									"id": 24,
									"name": "isHydrating",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 23,
											"character": 15
										}
									],
									"type": {
										"type": "reference",
										"name": "IOptionalIType",
										"typeArguments": [
											{
												"type": "reference",
												"name": "ISimpleType",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "boolean"
													}
												]
											},
											{
												"type": "intrinsic",
												"name": "Object"
											}
										]
									},
									"defaultValue": " types.optional(types.boolean, false)"
								},
								{
									"id": 25,
									"name": "isLoading",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 24,
											"character": 13
										}
									],
									"type": {
										"type": "reference",
										"name": "IOptionalIType",
										"typeArguments": [
											{
												"type": "reference",
												"name": "ISimpleType",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "boolean"
													}
												]
											},
											{
												"type": "intrinsic",
												"name": "Object"
											}
										]
									},
									"defaultValue": " types.optional(types.boolean, false)"
								},
								{
									"id": 26,
									"name": "status",
									"kind": 32,
									"kindString": "Variable",
									"flags": {},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 25,
											"character": 10
										}
									],
									"type": {
										"type": "reference",
										"name": "IOptionalIType",
										"typeArguments": [
											{
												"type": "reference",
												"name": "ISimpleType",
												"typeArguments": [
													{
														"type": "intrinsic",
														"name": "number"
													}
												]
											},
											{
												"type": "intrinsic",
												"name": "Object"
											}
										]
									},
									"defaultValue": " types.optional(types.integer, Status.PENDING)"
								}
							],
							"groups": [
								{
									"title": "Variables",
									"kind": 32,
									"children": [
										23,
										24,
										25,
										26
									]
								}
							]
						}
					},
					{
						"type": "intersection",
						"types": [
							{
								"type": "reflection",
								"declaration": {
									"id": 27,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 28,
											"name": "hasHydrated",
											"kind": 32,
											"kindString": "Variable",
											"flags": {},
											"sources": [
												{
													"fileName": "useSingletonEntityl.ts",
													"line": 28,
													"character": 15
												}
											],
											"type": {
												"type": "intrinsic",
												"name": "false"
											},
											"defaultValue": "false"
										}
									],
									"groups": [
										{
											"title": "Variables",
											"kind": 32,
											"children": [
												28
											]
										}
									]
								}
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 29,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 32,
											"name": "hasError",
											"kind": 262144,
											"kindString": "Accessor",
											"flags": {},
											"getSignature": {
												"id": 33,
												"name": "__get",
												"kind": 524288,
												"kindString": "Get signature",
												"flags": {},
												"type": {
													"type": "intrinsic",
													"name": "boolean"
												}
											},
											"sources": [
												{
													"fileName": "useSingletonEntityl.ts",
													"line": 42,
													"character": 16
												}
											]
										},
										{
											"id": 30,
											"name": "isDirty",
											"kind": 262144,
											"kindString": "Accessor",
											"flags": {},
											"getSignature": {
												"id": 31,
												"name": "__get",
												"kind": 524288,
												"kindString": "Get signature",
												"flags": {},
												"type": {
													"type": "intrinsic",
													"name": "boolean"
												}
											},
											"sources": [
												{
													"fileName": "useSingletonEntityl.ts",
													"line": 31,
													"character": 15
												}
											]
										}
									],
									"groups": [
										{
											"title": "Accessors",
											"kind": 262144,
											"children": [
												32,
												30
											]
										}
									]
								}
							}
						]
					},
					{
						"type": "reference",
						"name": "_NotCustomized"
					},
					{
						"type": "reference",
						"name": "_NotCustomized"
					}
				]
			},
			"defaultValue": " types\r\n  .model('Metadata', {\r\n    error: types.maybeNull(types.string),\r\n    isHydrating: types.optional(types.boolean, false),\r\n    isLoading: types.optional(types.boolean, false),\r\n    status: types.optional(types.integer, Status.PENDING)\r\n  })\r\n  .volatile(() => ({\r\n    hasHydrated: false\r\n  }))\r\n  .views(self => ({\r\n    get isDirty(): boolean {\r\n      // ephemeral value doesn't match persisted one - model is dirty\r\n      const { value } = getParent(self);\r\n      const { persistedValue } = getParent(self);\r\n      return (\r\n        persistedValue &&\r\n        value &&\r\n        JSON.stringify(value) !== JSON.stringify(persistedValue)\r\n      );\r\n    },\r\n\r\n    get hasError(): boolean {\r\n      return !!self.error;\r\n    }\r\n  }))"
		},
		{
			"id": 40,
			"name": "deriveModelFromState",
			"kind": 64,
			"kindString": "Function",
			"flags": {
				"isExported": true,
				"isConst": true
			},
			"signatures": [
				{
					"id": 41,
					"name": "deriveModelFromState",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 42,
							"name": "state",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "reflection",
								"declaration": {
									"id": 43,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"indexSignature": {
										"id": 44,
										"name": "__index",
										"kind": 8192,
										"kindString": "Index signature",
										"flags": {},
										"parameters": [
											{
												"id": 45,
												"name": "key",
												"kind": 32768,
												"kindString": "Parameter",
												"flags": {},
												"type": {
													"type": "intrinsic",
													"name": "string"
												}
											}
										],
										"type": {
											"type": "intrinsic",
											"name": "any"
										}
									},
									"sources": [
										{
											"fileName": "useSingletonEntityl.ts",
											"line": 85,
											"character": 43
										}
									]
								}
							}
						}
					],
					"type": {
						"type": "reference",
						"name": "IModelType",
						"typeArguments": [
							{
								"type": "intrinsic",
								"name": "any"
							},
							{
								"type": "reflection",
								"declaration": {
									"id": 46,
									"name": "__type",
									"kind": 65536,
									"kindString": "Type literal",
									"flags": {},
									"children": [
										{
											"id": 47,
											"name": "setValues",
											"kind": 64,
											"kindString": "Function",
											"flags": {},
											"signatures": [
												{
													"id": 48,
													"name": "setValues",
													"kind": 4096,
													"kindString": "Call signature",
													"flags": {},
													"parameters": [
														{
															"id": 49,
															"name": "values",
															"kind": 32768,
															"kindString": "Parameter",
															"flags": {},
															"type": {
																"type": "intersection",
																"types": [
																	{
																		"type": "reflection",
																		"declaration": {
																			"id": 50,
																			"name": "__type",
																			"kind": 65536,
																			"kindString": "Type literal",
																			"flags": {}
																		}
																	},
																	{
																		"type": "reference",
																		"name": "IStateTreeNode",
																		"typeArguments": [
																			{
																				"type": "reference",
																				"name": "IModelType",
																				"typeArguments": [
																					{
																						"type": "intrinsic",
																						"name": "any"
																					},
																					{
																						"type": "reference",
																						"name": "__type"
																					},
																					{
																						"type": "reference",
																						"name": "_NotCustomized"
																					},
																					{
																						"type": "reference",
																						"name": "_NotCustomized"
																					}
																				]
																			}
																		]
																	}
																]
															}
														}
													],
													"type": {
														"type": "intrinsic",
														"name": "void"
													}
												}
											],
											"sources": [
												{
													"fileName": "useSingletonEntityl.ts",
													"line": 96,
													"character": 15
												}
											]
										}
									],
									"groups": [
										{
											"title": "Functions",
											"kind": 64,
											"children": [
												47
											]
										}
									]
								}
							},
							{
								"type": "reference",
								"name": "_NotCustomized"
							},
							{
								"type": "reference",
								"name": "_NotCustomized"
							}
						]
					}
				}
			],
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 85,
					"character": 33
				}
			]
		},
		{
			"id": 37,
			"name": "deriveTypeFromStateKey",
			"kind": 64,
			"kindString": "Function",
			"flags": {
				"isConst": true
			},
			"signatures": [
				{
					"id": 38,
					"name": "deriveTypeFromStateKey",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"parameters": [
						{
							"id": 39,
							"name": "value",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "any"
							}
						}
					],
					"type": {
						"type": "reference",
						"name": "IAnyType"
					}
				}
			],
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 53,
					"character": 28
				}
			]
		},
		{
			"id": 51,
			"name": "useSingletonEntity",
			"kind": 64,
			"kindString": "Function",
			"flags": {
				"isExported": true,
				"isConst": true
			},
			"signatures": [
				{
					"id": 52,
					"name": "useSingletonEntity",
					"kind": 4096,
					"kindString": "Call signature",
					"flags": {},
					"typeParameter": [
						{
							"id": 53,
							"name": "P",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"name": "ModelProperties"
							}
						},
						{
							"id": 54,
							"name": "O",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {}
						},
						{
							"id": 55,
							"name": "T",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"name": "IModelType",
								"typeArguments": [
									{
										"type": "typeParameter",
										"name": "P"
									},
									{
										"type": "typeParameter",
										"name": "O"
									}
								]
							}
						},
						{
							"id": 56,
							"name": "I",
							"kind": 131072,
							"kindString": "Type parameter",
							"flags": {},
							"type": {
								"type": "reference",
								"name": "ModelPropertyDefinitionsToProperties",
								"id": 34,
								"typeArguments": [
									{
										"type": "typeParameter",
										"name": "T"
									}
								]
							}
						}
					],
					"parameters": [
						{
							"id": 57,
							"name": "initialValue",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "typeParameter",
								"name": "I",
								"constraint": {
									"type": "reference",
									"name": "ModelPropertyDefinitionsToProperties",
									"id": 34,
									"typeArguments": [
										{
											"type": "typeParameter",
											"name": "T"
										}
									]
								}
							}
						},
						{
							"id": 58,
							"name": "endpoint",
							"kind": 32768,
							"kindString": "Parameter",
							"flags": {},
							"type": {
								"type": "intrinsic",
								"name": "string"
							}
						}
					],
					"type": {
						"type": "reference",
						"name": "IOptionalIType",
						"typeArguments": [
							{
								"type": "reference",
								"name": "IModelType",
								"typeArguments": [
									{
										"type": "reflection",
										"declaration": {
											"id": 59,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 60,
													"name": "metadata",
													"kind": 32,
													"kindString": "Variable",
													"flags": {},
													"sources": [
														{
															"fileName": "useSingletonEntityl.ts",
															"line": 118,
															"character": 14
														}
													],
													"type": {
														"type": "reference",
														"name": "IModelType",
														"typeArguments": [
															{
																"type": "reflection",
																"declaration": {
																	"id": 61,
																	"name": "__type",
																	"kind": 65536,
																	"kindString": "Type literal",
																	"flags": {},
																	"children": [
																		{
																			"id": 62,
																			"name": "error",
																			"kind": 32,
																			"kindString": "Variable",
																			"flags": {},
																			"sources": [
																				{
																					"fileName": "useSingletonEntityl.ts",
																					"line": 22,
																					"character": 9
																				}
																			],
																			"type": {
																				"type": "reference",
																				"name": "IMaybeNull",
																				"typeArguments": [
																					{
																						"type": "reference",
																						"name": "ISimpleType",
																						"typeArguments": [
																							{
																								"type": "intrinsic",
																								"name": "string"
																							}
																						]
																					}
																				]
																			},
																			"defaultValue": " types.maybeNull(types.string)"
																		},
																		{
																			"id": 63,
																			"name": "isHydrating",
																			"kind": 32,
																			"kindString": "Variable",
																			"flags": {},
																			"sources": [
																				{
																					"fileName": "useSingletonEntityl.ts",
																					"line": 23,
																					"character": 15
																				}
																			],
																			"type": {
																				"type": "reference",
																				"name": "IOptionalIType",
																				"typeArguments": [
																					{
																						"type": "reference",
																						"name": "ISimpleType",
																						"typeArguments": [
																							{
																								"type": "intrinsic",
																								"name": "boolean"
																							}
																						]
																					},
																					{
																						"type": "intrinsic",
																						"name": "Object"
																					}
																				]
																			},
																			"defaultValue": " types.optional(types.boolean, false)"
																		},
																		{
																			"id": 64,
																			"name": "isLoading",
																			"kind": 32,
																			"kindString": "Variable",
																			"flags": {},
																			"sources": [
																				{
																					"fileName": "useSingletonEntityl.ts",
																					"line": 24,
																					"character": 13
																				}
																			],
																			"type": {
																				"type": "reference",
																				"name": "IOptionalIType",
																				"typeArguments": [
																					{
																						"type": "reference",
																						"name": "ISimpleType",
																						"typeArguments": [
																							{
																								"type": "intrinsic",
																								"name": "boolean"
																							}
																						]
																					},
																					{
																						"type": "intrinsic",
																						"name": "Object"
																					}
																				]
																			},
																			"defaultValue": " types.optional(types.boolean, false)"
																		},
																		{
																			"id": 65,
																			"name": "status",
																			"kind": 32,
																			"kindString": "Variable",
																			"flags": {},
																			"sources": [
																				{
																					"fileName": "useSingletonEntityl.ts",
																					"line": 25,
																					"character": 10
																				}
																			],
																			"type": {
																				"type": "reference",
																				"name": "IOptionalIType",
																				"typeArguments": [
																					{
																						"type": "reference",
																						"name": "ISimpleType",
																						"typeArguments": [
																							{
																								"type": "intrinsic",
																								"name": "number"
																							}
																						]
																					},
																					{
																						"type": "intrinsic",
																						"name": "Object"
																					}
																				]
																			},
																			"defaultValue": " types.optional(types.integer, Status.PENDING)"
																		}
																	],
																	"groups": [
																		{
																			"title": "Variables",
																			"kind": 32,
																			"children": [
																				62,
																				63,
																				64,
																				65
																			]
																		}
																	]
																}
															},
															{
																"type": "intersection",
																"types": [
																	{
																		"type": "reflection",
																		"declaration": {
																			"id": 66,
																			"name": "__type",
																			"kind": 65536,
																			"kindString": "Type literal",
																			"flags": {},
																			"children": [
																				{
																					"id": 67,
																					"name": "hasHydrated",
																					"kind": 32,
																					"kindString": "Variable",
																					"flags": {},
																					"sources": [
																						{
																							"fileName": "useSingletonEntityl.ts",
																							"line": 28,
																							"character": 15
																						}
																					],
																					"type": {
																						"type": "intrinsic",
																						"name": "false"
																					},
																					"defaultValue": "false"
																				}
																			],
																			"groups": [
																				{
																					"title": "Variables",
																					"kind": 32,
																					"children": [
																						67
																					]
																				}
																			]
																		}
																	},
																	{
																		"type": "reflection",
																		"declaration": {
																			"id": 68,
																			"name": "__type",
																			"kind": 65536,
																			"kindString": "Type literal",
																			"flags": {},
																			"children": [
																				{
																					"id": 71,
																					"name": "hasError",
																					"kind": 262144,
																					"kindString": "Accessor",
																					"flags": {},
																					"getSignature": {
																						"id": 72,
																						"name": "__get",
																						"kind": 524288,
																						"kindString": "Get signature",
																						"flags": {},
																						"type": {
																							"type": "intrinsic",
																							"name": "boolean"
																						}
																					},
																					"sources": [
																						{
																							"fileName": "useSingletonEntityl.ts",
																							"line": 42,
																							"character": 16
																						}
																					]
																				},
																				{
																					"id": 69,
																					"name": "isDirty",
																					"kind": 262144,
																					"kindString": "Accessor",
																					"flags": {},
																					"getSignature": {
																						"id": 70,
																						"name": "__get",
																						"kind": 524288,
																						"kindString": "Get signature",
																						"flags": {},
																						"type": {
																							"type": "intrinsic",
																							"name": "boolean"
																						}
																					},
																					"sources": [
																						{
																							"fileName": "useSingletonEntityl.ts",
																							"line": 31,
																							"character": 15
																						}
																					]
																				}
																			],
																			"groups": [
																				{
																					"title": "Accessors",
																					"kind": 262144,
																					"children": [
																						71,
																						69
																					]
																				}
																			]
																		}
																	}
																]
															},
															{
																"type": "reference",
																"name": "_NotCustomized"
															},
															{
																"type": "reference",
																"name": "_NotCustomized"
															}
														]
													}
												},
												{
													"id": 73,
													"name": "persistedValue",
													"kind": 32,
													"kindString": "Variable",
													"flags": {},
													"sources": [
														{
															"fileName": "useSingletonEntityl.ts",
															"line": 119,
															"character": 20
														}
													],
													"type": {
														"type": "reference",
														"name": "IOptionalIType",
														"typeArguments": [
															{
																"type": "reference",
																"name": "IModelType",
																"typeArguments": [
																	{
																		"type": "unknown",
																		"name": "P"
																	},
																	{
																		"type": "intrinsic",
																		"name": "any"
																	},
																	{
																		"type": "reference",
																		"name": "_NotCustomized"
																	},
																	{
																		"type": "reference",
																		"name": "_NotCustomized"
																	}
																]
															},
															{
																"type": "intrinsic",
																"name": "Object"
															}
														]
													},
													"defaultValue": " types.optional(instanceType, initialValue)"
												},
												{
													"id": 74,
													"name": "value",
													"kind": 32,
													"kindString": "Variable",
													"flags": {},
													"sources": [
														{
															"fileName": "useSingletonEntityl.ts",
															"line": 120,
															"character": 11
														}
													],
													"type": {
														"type": "reference",
														"name": "IOptionalIType",
														"typeArguments": [
															{
																"type": "reference",
																"name": "IModelType",
																"typeArguments": [
																	{
																		"type": "unknown",
																		"name": "P"
																	},
																	{
																		"type": "intrinsic",
																		"name": "any"
																	},
																	{
																		"type": "reference",
																		"name": "_NotCustomized"
																	},
																	{
																		"type": "reference",
																		"name": "_NotCustomized"
																	}
																]
															},
															{
																"type": "intrinsic",
																"name": "Object"
															}
														]
													},
													"defaultValue": " types.optional(instanceType, initialValue)"
												}
											],
											"groups": [
												{
													"title": "Variables",
													"kind": 32,
													"children": [
														60,
														73,
														74
													]
												}
											]
										}
									},
									{
										"type": "reflection",
										"declaration": {
											"id": 75,
											"name": "__type",
											"kind": 65536,
											"kindString": "Type literal",
											"flags": {},
											"children": [
												{
													"id": 76,
													"name": "read",
													"kind": 32,
													"kindString": "Variable",
													"flags": {},
													"sources": [
														{
															"fileName": "useSingletonEntityl.ts",
															"line": 123,
															"character": 10
														}
													],
													"type": {
														"type": "reflection",
														"declaration": {
															"id": 77,
															"name": "__type",
															"kind": 65536,
															"kindString": "Type literal",
															"flags": {},
															"signatures": [
																{
																	"id": 78,
																	"name": "__call",
																	"kind": 4096,
																	"kindString": "Call signature",
																	"flags": {},
																	"parameters": [
																		{
																			"id": 79,
																			"name": "args",
																			"kind": 32768,
																			"kindString": "Parameter",
																			"flags": {
																				"isRest": true
																			},
																			"type": {
																				"type": "typeParameter",
																				"name": "Args"
																			}
																		}
																	],
																	"type": {
																		"type": "reference",
																		"name": "Promise",
																		"typeArguments": [
																			{
																				"type": "reference",
																				"name": "FlowReturnType",
																				"typeArguments": [
																					{
																						"type": "typeParameter",
																						"name": "R"
																					}
																				]
																			}
																		]
																	}
																}
															]
														}
													},
													"defaultValue": " flow(function* get(id?: string | number): IterableIterator<any> {\r\n        self.metadata.isLoading = true;\r\n        self.metadata.isHydrating = !self.metadata.hasHydrated;\r\n        try {\r\n          self.metadata.status = Status.IN_PROGRESS;\r\n\r\n          const url = id ? endpoint + '/' + id : endpoint;\r\n          const response = yield axios.get(url);\r\n          applySnapshot(self.value, response.data);\r\n          applySnapshot(self.persistedValue, response.data);\r\n          self.metadata.status = Status.SUCCESS;\r\n        } catch (e) {\r\n          self.metadata.error = JSON.stringify(e);\r\n          self.metadata.status = Status.ERROR;\r\n        } finally {\r\n          self.metadata.isLoading = false;\r\n          self.metadata.isHydrating = false;\r\n          self.metadata.hasHydrated = true;\r\n        }\r\n\r\n        return self.persistedValue;\r\n      })"
												},
												{
													"id": 80,
													"name": "update",
													"kind": 32,
													"kindString": "Variable",
													"flags": {},
													"sources": [
														{
															"fileName": "useSingletonEntityl.ts",
															"line": 145,
															"character": 12
														}
													],
													"type": {
														"type": "reflection",
														"declaration": {
															"id": 81,
															"name": "__type",
															"kind": 65536,
															"kindString": "Type literal",
															"flags": {},
															"signatures": [
																{
																	"id": 82,
																	"name": "__call",
																	"kind": 4096,
																	"kindString": "Call signature",
																	"flags": {},
																	"parameters": [
																		{
																			"id": 83,
																			"name": "args",
																			"kind": 32768,
																			"kindString": "Parameter",
																			"flags": {
																				"isRest": true
																			},
																			"type": {
																				"type": "typeParameter",
																				"name": "Args"
																			}
																		}
																	],
																	"type": {
																		"type": "reference",
																		"name": "Promise",
																		"typeArguments": [
																			{
																				"type": "reference",
																				"name": "FlowReturnType",
																				"typeArguments": [
																					{
																						"type": "typeParameter",
																						"name": "R"
																					}
																				]
																			}
																		]
																	}
																}
															]
														}
													},
													"defaultValue": " flow(function* update(\r\n        id?: string | number\r\n      ): IterableIterator<any> {\r\n        self.metadata.isLoading = true;\r\n        self.metadata.isHydrating = !self.metadata.hasHydrated;\r\n        try {\r\n          self.metadata.status = Status.IN_PROGRESS;\r\n\r\n          const url = id ? endpoint + '/' + id : endpoint;\r\n          const response = yield axios.put(url, self.value);\r\n          applySnapshot(self.persistedValue, response.data);\r\n          applySnapshot(self.value, response.data);\r\n          self.metadata.status = Status.SUCCESS;\r\n        } catch (e) {\r\n          self.metadata.error = JSON.stringify(e);\r\n          self.metadata.status = Status.ERROR;\r\n        } finally {\r\n          self.metadata.isLoading = false;\r\n          self.metadata.isHydrating = false;\r\n          self.metadata.hasHydrated = true;\r\n        }\r\n\r\n        return self.persistedValue;\r\n      })"
												}
											],
											"groups": [
												{
													"title": "Variables",
													"kind": 32,
													"children": [
														76,
														80
													]
												}
											]
										}
									},
									{
										"type": "reference",
										"name": "_NotCustomized"
									},
									{
										"type": "reference",
										"name": "_NotCustomized"
									}
								]
							},
							{
								"type": "intrinsic",
								"name": "Object"
							}
						]
					}
				}
			],
			"sources": [
				{
					"fileName": "useSingletonEntityl.ts",
					"line": 105,
					"character": 31
				}
			]
		}
	],
	"groups": [
		{
			"title": "Enumerations",
			"kind": 4,
			"children": [
				1
			]
		},
		{
			"title": "Interfaces",
			"kind": 256,
			"children": [
				6
			]
		},
		{
			"title": "Type aliases",
			"kind": 4194304,
			"children": [
				19,
				34
			]
		},
		{
			"title": "Variables",
			"kind": 32,
			"children": [
				21
			]
		},
		{
			"title": "Functions",
			"kind": 64,
			"children": [
				40,
				37,
				51
			]
		}
	]
}