@cubedelement.com/realty-investor-timeline 5.5.1 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/account/i-user-goal.d.ts +5 -0
  3. package/dist/src/account/user.d.ts +20 -1
  4. package/dist/src/account/user.js +21 -0
  5. package/dist/src/ledger/i-ledger-summary.d.ts +6 -0
  6. package/dist/src/ledger/ledger-collection.d.ts +6 -2
  7. package/dist/src/ledger/ledger-collection.js +40 -1
  8. package/dist/src/ledger/ledger-item.d.ts +17 -0
  9. package/dist/src/ledger/ledger-item.js +38 -0
  10. package/dist/src/time/default-has-met-goal-or-max-time.js +1 -1
  11. package/dist/src/time/looper.js +1 -1
  12. package/dist/src/utils/get-date-quarter.d.ts +9 -0
  13. package/dist/src/utils/get-date-quarter.js +9 -0
  14. package/package.json +1 -1
  15. package/.github/dependabot.yml +0 -10
  16. package/docs/_media/badge.svg +0 -1
  17. package/docs/account/i-user-goal/index.md +0 -11
  18. package/docs/account/i-user-goal/interfaces/IUserGoal.md +0 -47
  19. package/docs/account/i-user-investor-check/index.md +0 -11
  20. package/docs/account/i-user-investor-check/interfaces/IUserInvestorCheck.md +0 -206
  21. package/docs/account/index.md +0 -31
  22. package/docs/account/user/classes/User.md +0 -312
  23. package/docs/account/user/index.md +0 -15
  24. package/docs/account/user/interfaces/IUser.md +0 -282
  25. package/docs/caching/index.md +0 -19
  26. package/docs/caching/value-cache/classes/ValueCache.md +0 -194
  27. package/docs/caching/value-cache/index.md +0 -15
  28. package/docs/caching/value-cache/interfaces/IValueCache.md +0 -104
  29. package/docs/calculations/can-invest-by-user/functions/canInvestByUser.md +0 -35
  30. package/docs/calculations/can-invest-by-user/index.md +0 -11
  31. package/docs/calculations/cash-on-cash-return/functions/cashOnCashReturn.md +0 -29
  32. package/docs/calculations/cash-on-cash-return/index.md +0 -11
  33. package/docs/calculations/get-cost-down/functions/getCostDown.md +0 -27
  34. package/docs/calculations/get-cost-down/index.md +0 -11
  35. package/docs/calculations/get-cost-down-user-investment-results/functions/getCostDownUserInvestmentResults.md +0 -33
  36. package/docs/calculations/get-cost-down-user-investment-results/index.md +0 -11
  37. package/docs/calculations/get-equity-capture-amount/functions/getEquityCaptureAmount.md +0 -31
  38. package/docs/calculations/get-equity-capture-amount/index.md +0 -11
  39. package/docs/calculations/get-equity-capture-user-investment-results/functions/getEquityCaptureUserInvestmentResults.md +0 -33
  40. package/docs/calculations/get-equity-capture-user-investment-results/index.md +0 -11
  41. package/docs/calculations/get-investment-percent/functions/getInvestmentPercent.md +0 -27
  42. package/docs/calculations/get-investment-percent/index.md +0 -11
  43. package/docs/calculations/get-min-cost-down-by-rule/functions/getMinCostDownByRule.md +0 -25
  44. package/docs/calculations/get-min-cost-down-by-rule/index.md +0 -11
  45. package/docs/calculations/get-monthly-mortgage/functions/getMonthlyMortgage.md +0 -43
  46. package/docs/calculations/get-monthly-mortgage/index.md +0 -11
  47. package/docs/calculations/get-monthly-principal-interest-tax-interest/functions/getMonthlyPrincipalInterestTaxInterest.md +0 -43
  48. package/docs/calculations/get-monthly-principal-interest-tax-interest/index.md +0 -11
  49. package/docs/calculations/get-sell-price-estimate/functions/getSellPriceEstimate.md +0 -33
  50. package/docs/calculations/get-sell-price-estimate/index.md +0 -11
  51. package/docs/calculations/index.md +0 -73
  52. package/docs/calculations/return-on-capital-gain/functions/returnOnCapitalGain.md +0 -31
  53. package/docs/calculations/return-on-capital-gain/index.md +0 -11
  54. package/docs/formatters/currency/functions/default.md +0 -21
  55. package/docs/formatters/currency/index.md +0 -11
  56. package/docs/formatters/index.md +0 -7
  57. package/docs/generators/factory-passive-apartment/functions/generateRentalPassiveApartment.md +0 -35
  58. package/docs/generators/factory-passive-apartment/index.md +0 -11
  59. package/docs/generators/factory-single-family/functions/generateSingleFamily.md +0 -35
  60. package/docs/generators/factory-single-family/index.md +0 -11
  61. package/docs/generators/generate-property/index.md +0 -11
  62. package/docs/generators/generate-property/type-aliases/GenerateProperty.md +0 -37
  63. package/docs/generators/generic-generate-property/functions/genericGenerateProperty.md +0 -35
  64. package/docs/generators/generic-generate-property/index.md +0 -11
  65. package/docs/generators/i-property-entity-options/index.md +0 -11
  66. package/docs/generators/i-property-entity-options/interfaces/IPropertyEntityOptions.md +0 -113
  67. package/docs/generators/index.md +0 -49
  68. package/docs/generators/rental-generator/classes/RentalGenerator.md +0 -248
  69. package/docs/generators/rental-generator/index.md +0 -15
  70. package/docs/generators/rental-generator/interfaces/IRentalGenerator.md +0 -65
  71. package/docs/index/index.md +0 -487
  72. package/docs/index.md +0 -258
  73. package/docs/investments/index.md +0 -85
  74. package/docs/investments/investment-reasons/enumerations/InvestmentReasons.md +0 -119
  75. package/docs/investments/investment-reasons/index.md +0 -11
  76. package/docs/investments/investment-reasons-decorator/functions/InvestmentReasonForHoldRuleTypes.md +0 -25
  77. package/docs/investments/investment-reasons-decorator/functions/InvestmentReasonForPurchaseRuleTypes.md +0 -25
  78. package/docs/investments/investment-reasons-decorator/functions/getInvestmentReasons.md +0 -33
  79. package/docs/investments/investment-reasons-decorator/functions/getInvestmentReasonsForPurchaseTypes.md +0 -25
  80. package/docs/investments/investment-reasons-decorator/index.md +0 -18
  81. package/docs/investments/investment-reasons-decorator/type-aliases/PropertyDecoratorType.md +0 -29
  82. package/docs/investments/reason-to-rule/classes/ReasonToRule.md +0 -263
  83. package/docs/investments/reason-to-rule/index.md +0 -16
  84. package/docs/investments/reason-to-rule/interfaces/IReasonToRule.md +0 -189
  85. package/docs/investments/reason-to-rule/interfaces/IReasonToRuleMeta.md +0 -33
  86. package/docs/investments/rental-investor-validator/classes/RentalInvestorValidator.md +0 -53
  87. package/docs/investments/rental-investor-validator/index.md +0 -15
  88. package/docs/investments/rental-investor-validator/interfaces/IRentalInvestorValidator.md +0 -25
  89. package/docs/investments/user-invest-result/classes/UserInvestResult.md +0 -65
  90. package/docs/investments/user-invest-result/index.md +0 -15
  91. package/docs/investments/user-invest-result/interfaces/IUserInvestResult.md +0 -25
  92. package/docs/investments/user-result-estimates/index.md +0 -11
  93. package/docs/investments/user-result-estimates/type-aliases/UserResultEstimates.md +0 -33
  94. package/docs/ledger/i-ledger-summary/index.md +0 -11
  95. package/docs/ledger/i-ledger-summary/interfaces/ILedgerSummary.md +0 -57
  96. package/docs/ledger/index.md +0 -43
  97. package/docs/ledger/ledger-collection/classes/LedgerCollection.md +0 -425
  98. package/docs/ledger/ledger-collection/index.md +0 -19
  99. package/docs/ledger/ledger-collection/interfaces/ILedgerCollection.md +0 -313
  100. package/docs/ledger/ledger-collection/type-aliases/LedgerItemPredicate.md +0 -25
  101. package/docs/ledger/ledger-item/classes/LedgerItem.md +0 -211
  102. package/docs/ledger/ledger-item/index.md +0 -11
  103. package/docs/ledger/ledger-item-type/enumerations/LedgerItemType.md +0 -57
  104. package/docs/ledger/ledger-item-type/index.md +0 -11
  105. package/docs/loans/i-loan-settings/index.md +0 -11
  106. package/docs/loans/i-loan-settings/interfaces/ILoanSetting.md +0 -33
  107. package/docs/loans/index.md +0 -19
  108. package/docs/loans/loan-settings/enumerations/LoanSettings.md +0 -41
  109. package/docs/loans/loan-settings/index.md +0 -11
  110. package/docs/modules.md +0 -88
  111. package/docs/properties/i-entity-existence/index.md +0 -11
  112. package/docs/properties/i-entity-existence/interfaces/IEntityExistence.md +0 -33
  113. package/docs/properties/i-property-entity/index.md +0 -11
  114. package/docs/properties/i-property-entity/interfaces/IPropertyEntity.md +0 -159
  115. package/docs/properties/i-rental-property-entity/index.md +0 -11
  116. package/docs/properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md +0 -416
  117. package/docs/properties/index.md +0 -43
  118. package/docs/properties/property-sort/functions/default.md +0 -35
  119. package/docs/properties/property-sort/index.md +0 -11
  120. package/docs/properties/property-type/enumerations/PropertyType.md +0 -33
  121. package/docs/properties/property-type/index.md +0 -11
  122. package/docs/properties/rental-passive-apartment/classes/RentalPassiveApartment.md +0 -558
  123. package/docs/properties/rental-passive-apartment/index.md +0 -11
  124. package/docs/properties/rental-single-family/classes/RentalSingleFamily.md +0 -639
  125. package/docs/properties/rental-single-family/index.md +0 -11
  126. package/docs/rules/eval-type/index.md +0 -11
  127. package/docs/rules/eval-type/type-aliases/EvalType.md +0 -25
  128. package/docs/rules/eval-types/functions/AtLeastOrMore.md +0 -25
  129. package/docs/rules/eval-types/functions/NoMoreThan.md +0 -25
  130. package/docs/rules/eval-types/index.md +0 -12
  131. package/docs/rules/get-enum-type-by-value/functions/getEnumTypeByValue.md +0 -23
  132. package/docs/rules/get-enum-type-by-value/index.md +0 -11
  133. package/docs/rules/get-rules/functions/getRules.md +0 -27
  134. package/docs/rules/get-rules/index.md +0 -11
  135. package/docs/rules/hold-rule-types/enumerations/HoldRuleTypes.md +0 -49
  136. package/docs/rules/hold-rule-types/index.md +0 -11
  137. package/docs/rules/i-rule/index.md +0 -11
  138. package/docs/rules/i-rule/interfaces/IRule.md +0 -41
  139. package/docs/rules/index.md +0 -67
  140. package/docs/rules/purchase-rule-types/enumerations/PurchaseRuleTypes.md +0 -78
  141. package/docs/rules/purchase-rule-types/index.md +0 -11
  142. package/docs/rules/rule-evaluation/classes/RuleEvaluation.md +0 -103
  143. package/docs/rules/rule-evaluation/index.md +0 -15
  144. package/docs/rules/rule-evaluation/interfaces/IRuleEvaluation.md +0 -73
  145. package/docs/time/default-has-met-goal-or-max-time/functions/defaultHasMetGoalOrMaxTime.md +0 -39
  146. package/docs/time/default-has-met-goal-or-max-time/index.md +0 -11
  147. package/docs/time/has-met-goal-or-max-time/index.md +0 -11
  148. package/docs/time/has-met-goal-or-max-time/type-aliases/HasMetGoalOrMaxTime.md +0 -39
  149. package/docs/time/i-historical-property/index.md +0 -11
  150. package/docs/time/i-historical-property/interfaces/IHistoricalProperty.md +0 -25
  151. package/docs/time/i-historical-reason/index.md +0 -11
  152. package/docs/time/i-historical-reason/interfaces/IHistoricalReason.md +0 -25
  153. package/docs/time/i-loop-options/index.md +0 -11
  154. package/docs/time/i-loop-options/interfaces/ILoopOptions.md +0 -71
  155. package/docs/time/i-loop-recursive-options/index.md +0 -11
  156. package/docs/time/i-loop-recursive-options/interfaces/ILoopRecursiveOptions.md +0 -33
  157. package/docs/time/index.md +0 -85
  158. package/docs/time/looper/functions/looper.md +0 -25
  159. package/docs/time/looper/index.md +0 -15
  160. package/docs/time/looper/type-aliases/LooperType.md +0 -25
  161. package/docs/time/movement/functions/movement.md +0 -27
  162. package/docs/time/movement/index.md +0 -11
  163. package/docs/time/simulate/functions/simulate.md +0 -23
  164. package/docs/time/simulate/index.md +0 -16
  165. package/docs/time/simulate/interfaces/IGenOptions.md +0 -163
  166. package/docs/time/simulate/interfaces/ISimulateOptions.md +0 -115
  167. package/docs/time/timeline/classes/Timeline.md +0 -175
  168. package/docs/time/timeline/index.md +0 -15
  169. package/docs/time/timeline/interfaces/ITimeline.md +0 -83
  170. package/docs/time/update-historical-rentals/functions/updateHistoricalRentals.md +0 -41
  171. package/docs/time/update-historical-rentals/index.md +0 -11
  172. package/docs/utils/data-are-same-date/functions/default.md +0 -25
  173. package/docs/utils/data-are-same-date/index.md +0 -11
  174. package/docs/utils/data-clone-date/functions/cloneDateUtc.md +0 -27
  175. package/docs/utils/data-clone-date/index.md +0 -11
  176. package/docs/utils/data-compare-date/functions/default.md +0 -28
  177. package/docs/utils/data-compare-date/index.md +0 -11
  178. package/docs/utils/data-number/functions/randomNumberBetween.md +0 -25
  179. package/docs/utils/data-number/index.md +0 -11
  180. package/docs/utils/data-property-entity/functions/randomPropertyEntity.md +0 -23
  181. package/docs/utils/data-property-entity/index.md +0 -15
  182. package/docs/utils/data-property-entity/type-aliases/RandomPropertyEntity.md +0 -21
  183. package/docs/utils/ensure/functions/ensureArray.md +0 -39
  184. package/docs/utils/ensure/index.md +0 -15
  185. package/docs/utils/ensure/type-aliases/EnsureArrayPredicate.md +0 -29
  186. package/docs/utils/index.md +0 -43
package/docs/index.md DELETED
@@ -1,258 +0,0 @@
1
- **@cubedelement.com/realty-investor-timeline**
2
-
3
- ---
4
-
5
- # realty-investor-timeline
6
-
7
- [![CircleCI](https://circleci.com/gh/kvernon/realty-investor-timeline.svg?style=shield)](https://circleci.com/gh/kvernon/realty-investor-timeline)
8
- [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
9
- [![Wallaby.js](https://img.shields.io/badge/wallaby.js-configured-green.svg)](https://wallabyjs.com)
10
- ![](_media/badge.svg)
11
-
12
- A way to determine if and when your expenses would be covered through rental properties
13
-
14
- Will be based on version 1
15
-
16
- 1. https://bitbucket.org/kellyvernon/realty-generator-core (a private repo by me).
17
- 2. version 1 live: http://cubedelement.com/realty/
18
-
19
- > Note: this above is buggy. I was racing to get the pieces together.
20
-
21
- > Note 2: this is the new version, which isn't live
22
-
23
- ## Inspiration
24
-
25
- This was originally used as a discussion point between me and my SO. The idea is that we like our jobs, but we also want
26
- a way to ensure that if anything happens to us, we would be able to sustain our income.
27
-
28
- For me, I was inspired by a game originally from early 2000's where you could quickly click on houses and flip them, but
29
- after this idea and speaking with mentors, the idea has become find an optimal way to _ramp-up_.
30
-
31
- > ☝️Mentors are great! They do a great job at helping you discover how to get to the next point in your life. Also, a
32
- > mentor is someone who has done the thing and is either where you've been or want to go. AKA, don't ask a someone how
33
- > to become a CEO when that person has never been a CEO. (Hopefully that give you a good idea)
34
-
35
- ## What this does
36
-
37
- As mentioned prior, we want to find a way to _ramp-up_. This library will work through the scenarios of houses and
38
- provide a way to collect them. Once it completes, it'll provide feedback as to why you passed on a property.
39
-
40
- For example, it could be that you didn't have enough cash. Another is that you may have wanted more cash flow per month.
41
- After you see the trends, and based on the time-line hand at play, you could realize that you might need to expand on
42
- your ideal finds.
43
-
44
- The library loop simulates a per-month savings. In there it will take your money saved and determine if you have enough
45
- to acquire more properties. Equally, we run through selling of properties too, because it's a common practice.
46
-
47
- ## Building
48
-
49
- ### Node version
50
-
51
- On linux, mac, etc... do: `$ nvm install`, referencing this manager: `https://github.com/nvm-sh/nvm`
52
-
53
- on windows: `$ nvs install`, referencing this manager: `https://github.com/jasongin/nvs`
54
-
55
- ### Getting the Repo up and running
56
-
57
- #### Install libs
58
-
59
- `$ npm ci`
60
-
61
- #### Run tests
62
-
63
- `$ npm run tests`
64
-
65
- > ☝️This can run using Wallaby.js in automatic config, or you can use the config supplied here
66
-
67
- ### CI/CD (Delivery)
68
-
69
- This project _sports_ a non gitflow workflow.
70
-
71
- #### Branches
72
-
73
- `main` and `feature/*`
74
-
75
- #### The (CI/CD) Flow
76
-
77
- Once a feature's PR is merged, the pipeline will run checks and publish.
78
-
79
- ## Single family homes
80
-
81
- ### Features
82
-
83
- - Mortgage calc (Single Family) ✔
84
- - Rent amount ✔
85
- - Cash flow ✔
86
- - Appreciation calculation ✔
87
- - Equity (simple) ✔
88
- - Monthly summaries ✔
89
- - Annual summaries ✔
90
-
91
- ### Needed things (in no order)
92
-
93
- - TODO: Hard Money Loan calc ✋
94
- - What would the transition look like in code?
95
- - TODO: Cash flow ramp (0 - 3 months depending on rehab, conventional, or existing tenant)
96
- - Transition would be around Hard Money vs Conventional
97
-
98
- ## Missing features
99
-
100
- 1. delay 1st mortgage payment
101
- 2. refactor loop
102
-
103
- ## Future
104
-
105
- - Refine the build process to remove /dist/src from library drill down
106
-
107
- ## calling
108
-
109
- As this is still in progress, the current flow is as follows:
110
-
111
- ```typescript
112
- import {
113
- HasMetGoalOrMaxTime,
114
- ISimulateOptions,
115
- LedgerCollection,
116
- LoanSettings,
117
- HoldRuleTypes,
118
- PropertyType,
119
- RentalGenerator,
120
- RentalSingleFamily,
121
- RuleEvaluation,
122
- PurchaseRuleTypes,
123
- ValueCache,
124
- User,
125
- simulate,
126
- } from "@cubedelement.com/realty-investor-timeline";
127
-
128
- /**
129
- * Callout!
130
- * This example shows you all the options available, and most are defaulted if you don't supply the options object.
131
- * This only one that isn't supplied is the generatorOptionsPassiveApartment values.
132
- */
133
- const options: ISimulateOptions = {
134
- amountInSavings: 100000,
135
- monthlyIncomeAmountGoal: 10000,
136
- monthlySavedAmount: 10000,
137
- holdRules: [
138
- {
139
- value: 5,
140
- type: HoldRuleTypes.MinSellIfHighEquityPercent,
141
- propertyType: PropertyType.SingleFamily,
142
- },
143
- ],
144
- purchaseRules: [
145
- {
146
- value: 50000,
147
- type: PurchaseRuleTypes.MaxEstimatedOutOfPocket,
148
- propertyType: PropertyType.SingleFamily,
149
- },
150
- {
151
- value: 7000,
152
- type: PurchaseRuleTypes.MinEstimatedCapitalGainsPercent,
153
- propertyType: PropertyType.SingleFamily,
154
- },
155
- {
156
- value: 200,
157
- type: PurchaseRuleTypes.MinEstimatedAnnualCashFlow,
158
- propertyType: PropertyType.SingleFamily,
159
- },
160
- ],
161
- loanSettings: [
162
- {
163
- propertyType: PropertyType.SingleFamily,
164
- name: LoanSettings.MinimumMonthlyReservesForRental,
165
- value: 6,
166
- },
167
- {
168
- name: LoanSettings.LoanRatePercent,
169
- value: 4,
170
- propertyType: PropertyType.SingleFamily,
171
- },
172
- {
173
- name: LoanSettings.LoanTermInYears,
174
- value: 30,
175
- propertyType: PropertyType.SingleFamily,
176
- },
177
- ],
178
- maxYears: 7,
179
- generatorOptionsSingleFamily: {
180
- lowestMinSellInYears: 1,
181
- highestMinSellInYears: 1,
182
- lowestPurchasePrice: 150000,
183
- highestPurchasePrice: 250000,
184
- lowestSellAppreciationPercent: 5,
185
- highestSellAppreciationPercent: 7,
186
- lowestCashFlow: 200,
187
- highestCashFlow: 550,
188
- lowestEquityCapturePercent: 7,
189
- highestEquityCapturePercent: 15,
190
- maxRentalOpportunities: 4,
191
- },
192
- generatorOptionsPassiveApartment: {
193
- lowestMinSellInYears: 1,
194
- highestMinSellInYears: 1,
195
- lowestPurchasePrice: 150000,
196
- highestPurchasePrice: 200000,
197
- lowestSellAppreciationPercent: 5,
198
- highestSellAppreciationPercent: 7,
199
- lowestCashFlow: 200,
200
- highestCashFlow: 500,
201
- lowestEquityCapturePercent: 7,
202
- highestEquityCapturePercent: 15,
203
- maxRentalOpportunities: 6,
204
- },
205
- };
206
-
207
- const timeline = simulate(options);
208
-
209
- //Finally, to review your results, you can use the ledgerCollection's getSummariesAnnual.
210
- const lastYear = timeline.user.ledgerCollection.getSummariesAnnual(
211
- timeline.endDate.getUTCFullYear()
212
- );
213
- ```
214
-
215
- The example result object models:
216
- `Timeline`:
217
-
218
- ```JSON
219
- {
220
- "startDate": "2021-11-01T00:00:00.000Z",
221
- "endDate": "2022-11-01T00:00:00.000Z",
222
- "rentals": [
223
- {
224
- "property": {
225
- "sellPriceAppreciationPercent": 6,
226
- "minSellYears": 1,
227
- "id": "7674c1ec-2fb6-4828-9490-271e9ab4a3c4",
228
- "purchasePrice": 162373,
229
- "address": "1791 Wama Extension",
230
- "monthlyCashFlow": 237,
231
- "availableStartDate": "2021-12-01T00:00:00.000Z",
232
- "availableEndDate": "2022-02-01T00:00:00.000Z",
233
- "cashDownPercent": 25,
234
- "monthlyPrincipalInterestTaxInterest": 949.57,
235
- "_purchaseDate": "2022-01-01T06:00:00.000Z",
236
- "_soldDate": "2022-02-01T06:00:00.000Z"
237
- },
238
- "reasons": []
239
- }
240
- ],
241
- "user": {
242
- "ledgerCollection": {
243
- "collection": {
244
- "source": [
245
- {
246
- "amount": 119603.25,
247
- "type": "Equity Capture",
248
- "created": "2022-11-01T00:00:00.000Z",
249
- "note": "for: 1791 Wama Extension, id: 7674c1ec-2fb6-4828-9490-271e9ab4a3c4"
250
- }
251
- ]
252
- }
253
- }
254
- }
255
- }
256
- ```
257
-
258
- In it you can get an estimate monthly cash flow by calling `const estimated = timeline.getEstimatedMonthlyCashFlow();`
@@ -1,85 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../modules.md) / investments
6
-
7
- # investments
8
-
9
- ## References
10
-
11
- ### getInvestmentReasons
12
-
13
- Re-exports [getInvestmentReasons](investment-reasons-decorator/functions/getInvestmentReasons.md)
14
-
15
- ---
16
-
17
- ### getInvestmentReasonsForPurchaseTypes
18
-
19
- Re-exports [getInvestmentReasonsForPurchaseTypes](investment-reasons-decorator/functions/getInvestmentReasonsForPurchaseTypes.md)
20
-
21
- ---
22
-
23
- ### InvestmentReasonForHoldRuleTypes
24
-
25
- Re-exports [InvestmentReasonForHoldRuleTypes](investment-reasons-decorator/functions/InvestmentReasonForHoldRuleTypes.md)
26
-
27
- ---
28
-
29
- ### InvestmentReasonForPurchaseRuleTypes
30
-
31
- Re-exports [InvestmentReasonForPurchaseRuleTypes](investment-reasons-decorator/functions/InvestmentReasonForPurchaseRuleTypes.md)
32
-
33
- ---
34
-
35
- ### InvestmentReasons
36
-
37
- Re-exports [InvestmentReasons](investment-reasons/enumerations/InvestmentReasons.md)
38
-
39
- ---
40
-
41
- ### IReasonToRule
42
-
43
- Re-exports [IReasonToRule](reason-to-rule/interfaces/IReasonToRule.md)
44
-
45
- ---
46
-
47
- ### IReasonToRuleMeta
48
-
49
- Re-exports [IReasonToRuleMeta](reason-to-rule/interfaces/IReasonToRuleMeta.md)
50
-
51
- ---
52
-
53
- ### IRentalInvestorValidator
54
-
55
- Re-exports [IRentalInvestorValidator](rental-investor-validator/interfaces/IRentalInvestorValidator.md)
56
-
57
- ---
58
-
59
- ### IUserInvestResult
60
-
61
- Re-exports [IUserInvestResult](user-invest-result/interfaces/IUserInvestResult.md)
62
-
63
- ---
64
-
65
- ### PropertyDecoratorType
66
-
67
- Re-exports [PropertyDecoratorType](investment-reasons-decorator/type-aliases/PropertyDecoratorType.md)
68
-
69
- ---
70
-
71
- ### ReasonToRule
72
-
73
- Re-exports [ReasonToRule](reason-to-rule/classes/ReasonToRule.md)
74
-
75
- ---
76
-
77
- ### RentalInvestorValidator
78
-
79
- Re-exports [RentalInvestorValidator](rental-investor-validator/classes/RentalInvestorValidator.md)
80
-
81
- ---
82
-
83
- ### UserInvestResult
84
-
85
- Re-exports [UserInvestResult](user-invest-result/classes/UserInvestResult.md)
@@ -1,119 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../../modules.md) / [investments/investment-reasons](../index.md) / InvestmentReasons
6
-
7
- # Enumeration: InvestmentReasons
8
-
9
- Defined in: [investments/investment-reasons.ts:1](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L1)
10
-
11
- ## Enumeration Members
12
-
13
- ### DoesNotMeetUserRuleAnnualCashFlow
14
-
15
- > **DoesNotMeetUserRuleAnnualCashFlow**: `6`
16
-
17
- Defined in: [investments/investment-reasons.ts:34](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L34)
18
-
19
- The user wants a certain amount of annual cash flow
20
-
21
- ---
22
-
23
- ### DoesNotMeetUserRuleAskingPrice
24
-
25
- > **DoesNotMeetUserRuleAskingPrice**: `8`
26
-
27
- Defined in: [investments/investment-reasons.ts:44](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L44)
28
-
29
- Property's asking price, or market value, is not met
30
-
31
- ---
32
-
33
- ### DoesNotMeetUserRuleCapitalGain
34
-
35
- > **DoesNotMeetUserRuleCapitalGain**: `10`
36
-
37
- Defined in: [investments/investment-reasons.ts:54](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L54)
38
-
39
- Properties capital gain percent from purchase is lower than expected
40
-
41
- ---
42
-
43
- ### DoesNotMeetUserRuleCashOnCash
44
-
45
- > **DoesNotMeetUserRuleCashOnCash**: `5`
46
-
47
- Defined in: [investments/investment-reasons.ts:29](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L29)
48
-
49
- The user wants a certain percent of annual cash flow
50
-
51
- ---
52
-
53
- ### DoesNotMeetUserRuleEquityCapture
54
-
55
- > **DoesNotMeetUserRuleEquityCapture**: `4`
56
-
57
- Defined in: [investments/investment-reasons.ts:24](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L24)
58
-
59
- The user wants a certain amount of Unrealized Capital Gain (Equity)
60
-
61
- ---
62
-
63
- ### DoesNotMeetUserRuleOutOfPocket
64
-
65
- > **DoesNotMeetUserRuleOutOfPocket**: `9`
66
-
67
- Defined in: [investments/investment-reasons.ts:49](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L49)
68
-
69
- Property's cost down, or out of pocket expense, is larger than desired
70
-
71
- ---
72
-
73
- ### NoRules
74
-
75
- > **NoRules**: `1`
76
-
77
- Defined in: [investments/investment-reasons.ts:10](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L10)
78
-
79
- no rule applied
80
-
81
- ---
82
-
83
- ### PropertyIsAlreadyOwned
84
-
85
- > **PropertyIsAlreadyOwned**: `7`
86
-
87
- Defined in: [investments/investment-reasons.ts:39](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L39)
88
-
89
- Property is already owned
90
-
91
- ---
92
-
93
- ### Unknown
94
-
95
- > **Unknown**: `0`
96
-
97
- Defined in: [investments/investment-reasons.ts:5](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L5)
98
-
99
- unknown rule match
100
-
101
- ---
102
-
103
- ### UserHasNoMoneyToInvest
104
-
105
- > **UserHasNoMoneyToInvest**: `2`
106
-
107
- Defined in: [investments/investment-reasons.ts:14](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L14)
108
-
109
- No money for the user to invest with at this time
110
-
111
- ---
112
-
113
- ### UserHasNotSavedEnoughMoney
114
-
115
- > **UserHasNotSavedEnoughMoney**: `3`
116
-
117
- Defined in: [investments/investment-reasons.ts:19](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons.ts#L19)
118
-
119
- The user has money, however, the user does not have enough to invest with at this time
@@ -1,11 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../modules.md) / investments/investment-reasons
6
-
7
- # investments/investment-reasons
8
-
9
- ## Enumerations
10
-
11
- - [InvestmentReasons](enumerations/InvestmentReasons.md)
@@ -1,25 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../../modules.md) / [investments/investment-reasons-decorator](../index.md) / InvestmentReasonForHoldRuleTypes
6
-
7
- # Function: InvestmentReasonForHoldRuleTypes()
8
-
9
- > **InvestmentReasonForHoldRuleTypes**(`investmentReason`, `ruleType`): [`PropertyDecoratorType`](../type-aliases/PropertyDecoratorType.md)\<[`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md)\>
10
-
11
- Defined in: [investments/investment-reasons-decorator.ts:70](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons-decorator.ts#L70)
12
-
13
- ## Parameters
14
-
15
- ### investmentReason
16
-
17
- [`InvestmentReasons`](../../investment-reasons/enumerations/InvestmentReasons.md)
18
-
19
- ### ruleType
20
-
21
- [`HoldRuleTypes`](../../../rules/hold-rule-types/enumerations/HoldRuleTypes.md)
22
-
23
- ## Returns
24
-
25
- [`PropertyDecoratorType`](../type-aliases/PropertyDecoratorType.md)\<[`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md)\>
@@ -1,25 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../../modules.md) / [investments/investment-reasons-decorator](../index.md) / InvestmentReasonForPurchaseRuleTypes
6
-
7
- # Function: InvestmentReasonForPurchaseRuleTypes()
8
-
9
- > **InvestmentReasonForPurchaseRuleTypes**(`investmentReason`, `ruleType`): [`PropertyDecoratorType`](../type-aliases/PropertyDecoratorType.md)\<[`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md)\>
10
-
11
- Defined in: [investments/investment-reasons-decorator.ts:63](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons-decorator.ts#L63)
12
-
13
- ## Parameters
14
-
15
- ### investmentReason
16
-
17
- [`InvestmentReasons`](../../investment-reasons/enumerations/InvestmentReasons.md)
18
-
19
- ### ruleType
20
-
21
- [`PurchaseRuleTypes`](../../../rules/purchase-rule-types/enumerations/PurchaseRuleTypes.md)
22
-
23
- ## Returns
24
-
25
- [`PropertyDecoratorType`](../type-aliases/PropertyDecoratorType.md)\<[`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md)\>
@@ -1,33 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../../modules.md) / [investments/investment-reasons-decorator](../index.md) / getInvestmentReasons
6
-
7
- # Function: getInvestmentReasons()
8
-
9
- > **getInvestmentReasons**\<`T`, `TR`\>(`target`, `metaDataNameSuffix`): [`IReasonToRule`](../../reason-to-rule/interfaces/IReasonToRule.md)\<`T`, `TR`\>[]
10
-
11
- Defined in: [investments/investment-reasons-decorator.ts:82](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons-decorator.ts#L82)
12
-
13
- used to get the value for all properties
14
-
15
- ## Type Parameters
16
-
17
- • **T** _extends_ [`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md) & `object`
18
-
19
- • **TR** _extends_ [`PurchaseRuleTypes`](../../../rules/purchase-rule-types/enumerations/PurchaseRuleTypes.md) \| [`HoldRuleTypes`](../../../rules/hold-rule-types/enumerations/HoldRuleTypes.md)
20
-
21
- ## Parameters
22
-
23
- ### target
24
-
25
- `T`
26
-
27
- ### metaDataNameSuffix
28
-
29
- `string`
30
-
31
- ## Returns
32
-
33
- [`IReasonToRule`](../../reason-to-rule/interfaces/IReasonToRule.md)\<`T`, `TR`\>[]
@@ -1,25 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../../modules.md) / [investments/investment-reasons-decorator](../index.md) / getInvestmentReasonsForPurchaseTypes
6
-
7
- # Function: getInvestmentReasonsForPurchaseTypes()
8
-
9
- > **getInvestmentReasonsForPurchaseTypes**\<`T`\>(`target`): [`IReasonToRule`](../../reason-to-rule/interfaces/IReasonToRule.md)\<`T`, [`PurchaseRuleTypes`](../../../rules/purchase-rule-types/enumerations/PurchaseRuleTypes.md)\>[]
10
-
11
- Defined in: [investments/investment-reasons-decorator.ts:128](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons-decorator.ts#L128)
12
-
13
- ## Type Parameters
14
-
15
- • **T** _extends_ [`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md) & `object`
16
-
17
- ## Parameters
18
-
19
- ### target
20
-
21
- `T`
22
-
23
- ## Returns
24
-
25
- [`IReasonToRule`](../../reason-to-rule/interfaces/IReasonToRule.md)\<`T`, [`PurchaseRuleTypes`](../../../rules/purchase-rule-types/enumerations/PurchaseRuleTypes.md)\>[]
@@ -1,18 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../modules.md) / investments/investment-reasons-decorator
6
-
7
- # investments/investment-reasons-decorator
8
-
9
- ## Type Aliases
10
-
11
- - [PropertyDecoratorType](type-aliases/PropertyDecoratorType.md)
12
-
13
- ## Functions
14
-
15
- - [getInvestmentReasons](functions/getInvestmentReasons.md)
16
- - [getInvestmentReasonsForPurchaseTypes](functions/getInvestmentReasonsForPurchaseTypes.md)
17
- - [InvestmentReasonForHoldRuleTypes](functions/InvestmentReasonForHoldRuleTypes.md)
18
- - [InvestmentReasonForPurchaseRuleTypes](functions/InvestmentReasonForPurchaseRuleTypes.md)
@@ -1,29 +0,0 @@
1
- [**@cubedelement.com/realty-investor-timeline**](../../../index.md)
2
-
3
- ---
4
-
5
- [@cubedelement.com/realty-investor-timeline](../../../modules.md) / [investments/investment-reasons-decorator](../index.md) / PropertyDecoratorType
6
-
7
- # Type Alias: PropertyDecoratorType()\<T\>
8
-
9
- > **PropertyDecoratorType**\<`T`\>: (`target`, `propertyKey`) => `any`
10
-
11
- Defined in: [investments/investment-reasons-decorator.ts:12](https://github.com/kvernon/realty-investor-timeline/blob/c7446a8a5576468ac5874a2dd8323180fa97a55b/src/investments/investment-reasons-decorator.ts#L12)
12
-
13
- ## Type Parameters
14
-
15
- • **T** _extends_ [`IRentalPropertyEntity`](../../../properties/i-rental-property-entity/interfaces/IRentalPropertyEntity.md)
16
-
17
- ## Parameters
18
-
19
- ### target
20
-
21
- `T`
22
-
23
- ### propertyKey
24
-
25
- keyof `T` & `string`
26
-
27
- ## Returns
28
-
29
- `any`