@firestitch/common 8.0.11 → 12.0.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 (224) hide show
  1. package/app/directives/autofocus.directive.d.ts +3 -0
  2. package/app/directives/prevent-default.directive.d.ts +3 -0
  3. package/app/directives/stop-propagation.directive.d.ts +3 -0
  4. package/app/fs-common.module.d.ts +15 -1
  5. package/app/pipes/bytes.pipe.d.ts +3 -0
  6. package/app/pipes/currency.pipe.d.ts +3 -0
  7. package/app/pipes/number.pipe.d.ts +3 -0
  8. package/app/pipes/ordinal-number.pipe.d.ts +3 -0
  9. package/app/pipes/truncate.pipe.d.ts +3 -0
  10. package/app/pipes/util.pipe.d.ts +9 -0
  11. package/app/services/array.service.d.ts +3 -0
  12. package/app/services/math.service.d.ts +3 -0
  13. package/app/services/util.service.d.ts +3 -0
  14. package/app/services/vaildate.service.d.ts +3 -0
  15. package/bundles/firestitch-common.umd.js +821 -2453
  16. package/bundles/firestitch-common.umd.js.map +1 -1
  17. package/esm2015/app/directives/autofocus.directive.js +12 -33
  18. package/esm2015/app/directives/prevent-default.directive.js +13 -18
  19. package/esm2015/app/directives/stop-propagation.directive.js +13 -18
  20. package/esm2015/app/fs-common.module.js +65 -44
  21. package/esm2015/app/pipes/bytes.pipe.js +10 -15
  22. package/esm2015/app/pipes/currency.pipe.js +13 -28
  23. package/esm2015/app/pipes/number.pipe.js +10 -16
  24. package/esm2015/app/pipes/ordinal-number.pipe.js +10 -15
  25. package/esm2015/app/pipes/truncate.pipe.js +10 -20
  26. package/esm2015/app/pipes/util.pipe.js +34 -45
  27. package/esm2015/app/services/array.service.js +63 -190
  28. package/esm2015/app/services/math.service.js +9 -17
  29. package/esm2015/app/services/util.service.js +65 -244
  30. package/esm2015/app/services/vaildate.service.js +12 -32
  31. package/esm2015/firestitch-common.js +2 -16
  32. package/esm2015/libs/array/compare/compare.js +1 -12
  33. package/esm2015/libs/array/compare/index.js +2 -7
  34. package/esm2015/libs/array/filter/filter.js +7 -33
  35. package/esm2015/libs/array/filter/index.js +2 -7
  36. package/esm2015/libs/array/find/find.js +1 -12
  37. package/esm2015/libs/array/find/index.js +2 -7
  38. package/esm2015/libs/array/inArray/inArray.js +1 -11
  39. package/esm2015/libs/array/inArray/index.js +2 -7
  40. package/esm2015/libs/array/index/index.js +5 -21
  41. package/esm2015/libs/array/index.js +14 -19
  42. package/esm2015/libs/array/indexOf/index.js +2 -7
  43. package/esm2015/libs/array/indexOf/indexOf.js +3 -18
  44. package/esm2015/libs/array/keyExists/index.js +2 -7
  45. package/esm2015/libs/array/keyExists/keyExists.js +1 -11
  46. package/esm2015/libs/array/ksort/index.js +2 -7
  47. package/esm2015/libs/array/ksort/ksort.js +3 -17
  48. package/esm2015/libs/array/list/index.js +2 -7
  49. package/esm2015/libs/array/list/list.js +3 -20
  50. package/esm2015/libs/array/nameValue/index.js +2 -7
  51. package/esm2015/libs/array/nameValue/nameValue.js +9 -40
  52. package/esm2015/libs/array/remove/index.js +2 -7
  53. package/esm2015/libs/array/remove/remove.js +1 -12
  54. package/esm2015/libs/array/rsort/index.js +2 -7
  55. package/esm2015/libs/array/rsort/rsort.js +1 -11
  56. package/esm2015/libs/array/sort/index.js +2 -7
  57. package/esm2015/libs/array/sort/sort.js +3 -20
  58. package/esm2015/libs/format/acronym/acronym.js +1 -13
  59. package/esm2015/libs/format/acronym/index.js +2 -7
  60. package/esm2015/libs/format/bytes/bytes.js +1 -12
  61. package/esm2015/libs/format/bytes/index.js +2 -7
  62. package/esm2015/libs/format/currency/currency.js +1 -14
  63. package/esm2015/libs/format/currency/index.js +2 -7
  64. package/esm2015/libs/format/index.js +6 -11
  65. package/esm2015/libs/format/number/index.js +2 -7
  66. package/esm2015/libs/format/number/number.js +1 -11
  67. package/esm2015/libs/format/truncate/index.js +2 -7
  68. package/esm2015/libs/format/truncate/truncate.js +1 -14
  69. package/esm2015/libs/index.js +5 -10
  70. package/esm2015/libs/rxjs/delayedRetry.js +5 -43
  71. package/esm2015/libs/util/boolean/boolean.js +1 -10
  72. package/esm2015/libs/util/boolean/index.js +2 -7
  73. package/esm2015/libs/util/debounce/debounce.js +6 -29
  74. package/esm2015/libs/util/debounce/index.js +2 -7
  75. package/esm2015/libs/util/get-normalized-path/get-normalized-path.js +1 -11
  76. package/esm2015/libs/util/get-normalized-path/index.js +1 -6
  77. package/esm2015/libs/util/guid/guid.js +3 -20
  78. package/esm2015/libs/util/guid/index.js +2 -7
  79. package/esm2015/libs/util/index.js +15 -20
  80. package/esm2015/libs/util/isClass/index.js +2 -7
  81. package/esm2015/libs/util/isClass/isClass.js +1 -11
  82. package/esm2015/libs/util/isEmpty/index.js +2 -7
  83. package/esm2015/libs/util/isEmpty/isEmpty.js +1 -11
  84. package/esm2015/libs/util/isNumeric/index.js +2 -7
  85. package/esm2015/libs/util/isNumeric/isNumeric.js +1 -11
  86. package/esm2015/libs/util/keys/index.js +2 -7
  87. package/esm2015/libs/util/keys/keys.js +1 -43
  88. package/esm2015/libs/util/length/index.js +2 -7
  89. package/esm2015/libs/util/length/length.js +1 -10
  90. package/esm2015/libs/util/ordinal-number/ordinal-number.js +1 -13
  91. package/esm2015/libs/util/queue/index.js +2 -7
  92. package/esm2015/libs/util/queue/operation.js +1 -18
  93. package/esm2015/libs/util/queue/queue.enum.js +6 -12
  94. package/esm2015/libs/util/queue/queue.js +14 -168
  95. package/esm2015/libs/util/remove-query-params/index.js +1 -6
  96. package/esm2015/libs/util/remove-query-params/remove-query-params.js +1 -10
  97. package/esm2015/libs/util/resolve/index.js +2 -7
  98. package/esm2015/libs/util/resolve/resolve.js +6 -29
  99. package/esm2015/libs/util/stringify/index.js +2 -7
  100. package/esm2015/libs/util/stringify/stringify.js +1 -10
  101. package/esm2015/libs/util/throttle/index.js +2 -7
  102. package/esm2015/libs/util/throttle/throttle.js +6 -23
  103. package/esm2015/libs/util/uuid/index.js +2 -7
  104. package/esm2015/libs/util/uuid/uuid.js +1 -9
  105. package/esm2015/libs/util/value/index.js +2 -7
  106. package/esm2015/libs/util/value/value.js +1 -12
  107. package/esm2015/libs/validate/email/email.js +1 -10
  108. package/esm2015/libs/validate/email/index.js +2 -7
  109. package/esm2015/libs/validate/index.js +4 -9
  110. package/esm2015/libs/validate/phone/index.js +2 -7
  111. package/esm2015/libs/validate/phone/phone.js +1 -11
  112. package/esm2015/libs/validate/url/index.js +2 -7
  113. package/esm2015/libs/validate/url/url.js +1 -12
  114. package/esm2015/public_api.js +11 -7
  115. package/fesm2015/firestitch-common.js +418 -1808
  116. package/fesm2015/firestitch-common.js.map +1 -1
  117. package/firestitch-common.d.ts +1 -9
  118. package/libs/array/index/index.d.ts +1 -1
  119. package/libs/util/queue/queue.d.ts +9 -9
  120. package/package.json +7 -11
  121. package/public_api.d.ts +9 -0
  122. package/bundles/firestitch-common.umd.min.js +0 -16
  123. package/bundles/firestitch-common.umd.min.js.map +0 -1
  124. package/esm5/app/directives/autofocus.directive.js +0 -45
  125. package/esm5/app/directives/prevent-default.directive.js +0 -32
  126. package/esm5/app/directives/stop-propagation.directive.js +0 -32
  127. package/esm5/app/fs-common.module.js +0 -79
  128. package/esm5/app/pipes/bytes.pipe.js +0 -30
  129. package/esm5/app/pipes/currency.pipe.js +0 -43
  130. package/esm5/app/pipes/number.pipe.js +0 -32
  131. package/esm5/app/pipes/ordinal-number.pipe.js +0 -30
  132. package/esm5/app/pipes/truncate.pipe.js +0 -38
  133. package/esm5/app/pipes/util.pipe.js +0 -100
  134. package/esm5/app/services/array.service.js +0 -491
  135. package/esm5/app/services/math.service.js +0 -42
  136. package/esm5/app/services/util.service.js +0 -608
  137. package/esm5/app/services/vaildate.service.js +0 -63
  138. package/esm5/firestitch-common.js +0 -19
  139. package/esm5/libs/array/compare/compare.js +0 -19
  140. package/esm5/libs/array/compare/index.js +0 -7
  141. package/esm5/libs/array/filter/filter.js +0 -53
  142. package/esm5/libs/array/filter/index.js +0 -7
  143. package/esm5/libs/array/find/find.js +0 -17
  144. package/esm5/libs/array/find/index.js +0 -7
  145. package/esm5/libs/array/inArray/inArray.js +0 -22
  146. package/esm5/libs/array/inArray/index.js +0 -7
  147. package/esm5/libs/array/index/index.js +0 -24
  148. package/esm5/libs/array/index.js +0 -19
  149. package/esm5/libs/array/indexOf/index.js +0 -7
  150. package/esm5/libs/array/indexOf/indexOf.js +0 -31
  151. package/esm5/libs/array/keyExists/index.js +0 -7
  152. package/esm5/libs/array/keyExists/keyExists.js +0 -14
  153. package/esm5/libs/array/ksort/index.js +0 -7
  154. package/esm5/libs/array/ksort/ksort.js +0 -22
  155. package/esm5/libs/array/list/index.js +0 -7
  156. package/esm5/libs/array/list/list.js +0 -31
  157. package/esm5/libs/array/nameValue/index.js +0 -7
  158. package/esm5/libs/array/nameValue/nameValue.js +0 -52
  159. package/esm5/libs/array/remove/index.js +0 -7
  160. package/esm5/libs/array/remove/remove.js +0 -20
  161. package/esm5/libs/array/rsort/index.js +0 -7
  162. package/esm5/libs/array/rsort/rsort.js +0 -15
  163. package/esm5/libs/array/sort/index.js +0 -7
  164. package/esm5/libs/array/sort/sort.js +0 -45
  165. package/esm5/libs/format/acronym/acronym.js +0 -35
  166. package/esm5/libs/format/acronym/index.js +0 -7
  167. package/esm5/libs/format/bytes/bytes.js +0 -23
  168. package/esm5/libs/format/bytes/index.js +0 -7
  169. package/esm5/libs/format/currency/currency.js +0 -23
  170. package/esm5/libs/format/currency/index.js +0 -7
  171. package/esm5/libs/format/index.js +0 -11
  172. package/esm5/libs/format/number/index.js +0 -7
  173. package/esm5/libs/format/number/number.js +0 -14
  174. package/esm5/libs/format/truncate/index.js +0 -7
  175. package/esm5/libs/format/truncate/truncate.js +0 -28
  176. package/esm5/libs/index.js +0 -11
  177. package/esm5/libs/rxjs/delayedRetry.js +0 -65
  178. package/esm5/libs/util/boolean/boolean.js +0 -14
  179. package/esm5/libs/util/boolean/index.js +0 -7
  180. package/esm5/libs/util/debounce/debounce.js +0 -40
  181. package/esm5/libs/util/debounce/index.js +0 -7
  182. package/esm5/libs/util/get-normalized-path/get-normalized-path.js +0 -16
  183. package/esm5/libs/util/get-normalized-path/index.js +0 -7
  184. package/esm5/libs/util/guid/guid.js +0 -37
  185. package/esm5/libs/util/guid/index.js +0 -7
  186. package/esm5/libs/util/index.js +0 -23
  187. package/esm5/libs/util/isClass/index.js +0 -7
  188. package/esm5/libs/util/isClass/isClass.js +0 -28
  189. package/esm5/libs/util/isEmpty/index.js +0 -7
  190. package/esm5/libs/util/isEmpty/isEmpty.js +0 -23
  191. package/esm5/libs/util/isNumeric/index.js +0 -7
  192. package/esm5/libs/util/isNumeric/isNumeric.js +0 -16
  193. package/esm5/libs/util/keys/index.js +0 -7
  194. package/esm5/libs/util/keys/keys.js +0 -80
  195. package/esm5/libs/util/length/index.js +0 -7
  196. package/esm5/libs/util/length/length.js +0 -20
  197. package/esm5/libs/util/ordinal-number/ordinal-number.js +0 -22
  198. package/esm5/libs/util/queue/index.js +0 -8
  199. package/esm5/libs/util/queue/operation.js +0 -30
  200. package/esm5/libs/util/queue/queue.enum.js +0 -12
  201. package/esm5/libs/util/queue/queue.js +0 -367
  202. package/esm5/libs/util/remove-query-params/index.js +0 -7
  203. package/esm5/libs/util/remove-query-params/remove-query-params.js +0 -13
  204. package/esm5/libs/util/resolve/index.js +0 -7
  205. package/esm5/libs/util/resolve/resolve.js +0 -34
  206. package/esm5/libs/util/stringify/index.js +0 -7
  207. package/esm5/libs/util/stringify/stringify.js +0 -13
  208. package/esm5/libs/util/throttle/index.js +0 -7
  209. package/esm5/libs/util/throttle/throttle.js +0 -30
  210. package/esm5/libs/util/uuid/index.js +0 -7
  211. package/esm5/libs/util/uuid/uuid.js +0 -13
  212. package/esm5/libs/util/value/index.js +0 -7
  213. package/esm5/libs/util/value/value.js +0 -20
  214. package/esm5/libs/validate/email/email.js +0 -13
  215. package/esm5/libs/validate/email/index.js +0 -7
  216. package/esm5/libs/validate/index.js +0 -9
  217. package/esm5/libs/validate/phone/index.js +0 -7
  218. package/esm5/libs/validate/phone/phone.js +0 -15
  219. package/esm5/libs/validate/url/index.js +0 -7
  220. package/esm5/libs/validate/url/url.js +0 -23
  221. package/esm5/public_api.js +0 -17
  222. package/fesm5/firestitch-common.js +0 -3284
  223. package/fesm5/firestitch-common.js.map +0 -1
  224. package/firestitch-common.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-common.js","sources":["ng://@firestitch/common/app/services/array.service.ts","ng://@firestitch/common/app/services/math.service.ts","ng://@firestitch/common/app/services/util.service.ts","ng://@firestitch/common/app/services/vaildate.service.ts","ng://@firestitch/common/libs/util/stringify/stringify.ts","ng://@firestitch/common/libs/util/guid/guid.ts","ng://@firestitch/common/libs/util/isEmpty/isEmpty.ts","ng://@firestitch/common/app/pipes/util.pipe.ts","ng://@firestitch/common/libs/format/number/number.ts","ng://@firestitch/common/app/pipes/number.pipe.ts","ng://@firestitch/common/libs/format/currency/currency.ts","ng://@firestitch/common/app/pipes/currency.pipe.ts","ng://@firestitch/common/libs/format/truncate/truncate.ts","ng://@firestitch/common/app/pipes/truncate.pipe.ts","ng://@firestitch/common/libs/format/bytes/bytes.ts","ng://@firestitch/common/app/pipes/bytes.pipe.ts","ng://@firestitch/common/app/directives/stop-propagation.directive.ts","ng://@firestitch/common/app/directives/prevent-default.directive.ts","ng://@firestitch/common/app/directives/autofocus.directive.ts","ng://@firestitch/common/libs/util/ordinal-number/ordinal-number.ts","ng://@firestitch/common/app/pipes/ordinal-number.pipe.ts","ng://@firestitch/common/app/fs-common.module.ts","ng://@firestitch/common/libs/validate/email/email.ts","ng://@firestitch/common/libs/validate/phone/phone.ts","ng://@firestitch/common/libs/validate/url/url.ts","ng://@firestitch/common/libs/array/compare/compare.ts","ng://@firestitch/common/libs/array/filter/filter.ts","ng://@firestitch/common/libs/array/inArray/inArray.ts","ng://@firestitch/common/libs/array/index/index.ts","ng://@firestitch/common/libs/array/indexOf/indexOf.ts","ng://@firestitch/common/libs/array/keyExists/keyExists.ts","ng://@firestitch/common/libs/array/ksort/ksort.ts","ng://@firestitch/common/libs/array/list/list.ts","ng://@firestitch/common/libs/array/nameValue/nameValue.ts","ng://@firestitch/common/libs/array/remove/remove.ts","ng://@firestitch/common/libs/array/sort/sort.ts","ng://@firestitch/common/libs/array/rsort/rsort.ts","ng://@firestitch/common/libs/array/find/find.ts","ng://@firestitch/common/libs/util/boolean/boolean.ts","ng://@firestitch/common/libs/util/debounce/debounce.ts","ng://@firestitch/common/libs/util/keys/keys.ts","ng://@firestitch/common/libs/util/length/length.ts","ng://@firestitch/common/libs/util/resolve/resolve.ts","ng://@firestitch/common/libs/util/uuid/uuid.ts","ng://@firestitch/common/libs/util/value/value.ts","ng://@firestitch/common/libs/util/isClass/isClass.ts","ng://@firestitch/common/libs/util/isNumeric/isNumeric.ts","ng://@firestitch/common/libs/util/throttle/throttle.ts","ng://@firestitch/common/libs/util/queue/operation.ts","ng://@firestitch/common/libs/util/queue/queue.enum.ts","ng://@firestitch/common/libs/util/queue/queue.ts","ng://@firestitch/common/libs/util/remove-query-params/remove-query-params.ts","ng://@firestitch/common/libs/util/get-normalized-path/get-normalized-path.ts","ng://@firestitch/common/libs/format/acronym/acronym.ts","ng://@firestitch/common/libs/rxjs/delayedRetry.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsArray {\n /**\n * @deprecated use import { nameValue } from @firestitch/common/array; instead\n */\n public nameValue(array, name, value): Array<any> {\n console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');\n let list = [];\n if (name || value) {\n\n let nameFn = typeof name === 'function' ? name : function (item) { return item[name] };\n let valueFn = typeof value === 'function' ? value : function (item) { return item[value] };\n\n array.forEach(function (item) {\n list.push({ name: nameFn(item), value: valueFn(item) });\n });\n\n } else {\n array.forEach(function (name, value) {\n list.push({ name: name, value: value });\n });\n }\n\n return list;\n }\n\n /**\n * @deprecated use import { remove } from @firestitch/common/array; instead\n */\n public remove(array, query): any {\n console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');\n let idx = this.indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n }\n\n /**\n * @deprecated use import { indexOf } from @firestitch/common/array; instead\n */\n public indexOf(array, query): number {\n console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * @deprecated use import { compare } from @firestitch/common/array; instead\n */\n public compare(query, item): boolean {\n console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');\n let value = true;\n for (let key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n }\n\n /**\n * @deprecated use import { filter } from @firestitch/common/array; instead\n */\n public filter(array, query): Array<any> {\n console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n let isarray = Array.isArray(array);\n let list: any = isarray ? [] : {};\n if (isarray)\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n else Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n return list;\n }\n\n /**\n * @deprecated use import { index } from @firestitch/common/array; instead\n */\n public index(array, property): Object {\n console.warn('@deprecated use import { index } from @firestitch/common/array; instead');\n let list = {};\n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n return list;\n }\n\n\n /**\n * @deprecated use import { sort } from @firestitch/common/array; instead\n */\n public sort(array, query, reverse = false): Array<any> {\n console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n }\n\n /**\n * @deprecated use import { rsort } from @firestitch/common/array; instead\n */\n public rsort(array, query): Array<any> {\n console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');\n return this.sort(array, query, true);\n }\n\n\n /**\n * @deprecated use import { list } from @firestitch/common/array; instead\n */\n public list(array, property, index = null): Object {\n console.warn('@deprecated use import { list } from @firestitch/common/array; instead');\n let list: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n list[item[index]] = item[property];\n } else {\n list.push(item[property]);\n }\n });\n return list;\n }\n\n /**\n * @deprecated use import { applyDepth } from @firestitch/common/array; instead\n */\n public applyDepth(objects, parent_property, id_property = 'id', depth_property = 'depth') {\n console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');\n let keyed = {};\n objects.forEach(function (object) {\n if (!object[parent_property]) {\n object[depth_property] = 0;\n }\n keyed[object[id_property]] = object;\n });\n Object.keys(keyed).forEach(key => {\n Object.keys(keyed).forEach(key => {\n let object = keyed[key];\n if (!keyed[key][depth_property]) {\n if (keyed[key][parent_property]) {\n keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;\n }\n }\n })\n })\n\n return keyed;\n }\n\n /**\n * @deprecated use import { inArray } from @firestitch/common/array; instead\n */\n inArray(values, array) {\n console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use import { keyExists } from @firestitch/common/array; instead\n */\n keyExists(array, key) {\n console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');\n return array.hasOwnProperty(key);\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/array; instead\n */\n length(array) {\n console.warn('@deprecated use import { length } from @firestitch/common/array; instead');\n return array.length;\n }\n\n /**\n * @deprecated use import { ksort } from @firestitch/common/array; instead\n */\n ksort(unordered) {\n console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');\n Object.keys(unordered).sort().forEach(function (key) {\n let value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsMath {\n\n /**\n * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}\n */\n public round(number, precision): number {\n console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');\n precision = precision || 0;\n let factor = Math.pow(10, precision);\n let tempNumber = number * factor;\n let roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport const KEY_CANCEL = 3,\n KEY_HELP = 6,\n KEY_BACKSPACE = 8,\n KEY_TAB = 9,\n KEY_CLEAR = 12,\n KEY_RETURN = 13,\n KEY_ENTER = 14,\n KEY_SHIFT = 16,\n KEY_CONTROL = 17,\n KEY_ALT = 18,\n KEY_PAUSE = 19,\n KEY_CAPS_LOCK = 20,\n KEY_ESCAPE = 27,\n KEY_SPACE = 32,\n KEY_PAGE_UP = 33,\n KEY_PAGE_DOWN = 34,\n KEY_END = 35,\n KEY_HOME = 36,\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_PRINTSCREEN = 44,\n KEY_INSERT = 45,\n KEY_DELETE = 46,\n KEY_0 = 48,\n KEY_1 = 49,\n KEY_2 = 50,\n KEY_3 = 51,\n KEY_4 = 52,\n KEY_5 = 53,\n KEY_6 = 54,\n KEY_7 = 55,\n KEY_8 = 56,\n KEY_9 = 57,\n KEY_SEMICOLON = 59,\n KEY_EQUALS = 61;\n\n/*\n Basically, just copy-pasted functionality from fs-boilerplate v1.x, with some small changes (like we dont have angular.bind anymore, had to go with a workaround)\n There might be a better way to organise constatns but I need to know use-cases\n*/\n\n\n@Injectable()\nexport class FsUtil {\n\n private intervals = {};\n\n /**\n * @deprecated use @firestitch/common/util/guid instead\n */\n public guid(pattern?: string): string {\n console.warn('@deprecated use @firestitch/common/util/guid instead');\n pattern = pattern || 'xxxxxx';\n return pattern.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n /**\n * @deprecated use import { uuid } from @firestitch/common/util; instead\n */\n public uuid(): string {\n console.warn('@deprecated use @firestitch/common/util/uuid instead');\n return this.guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n }\n\n /**\n * @deprecated use import { resolve } from @firestitch/common/util; instead\n */\n public resolve(promise: Promise<object>, defaults = []): Promise<object> {\n console.warn('@deprecated use @firestitch/common/util/resolve instead');\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key])\n resolve(result)\n });\n })\n }\n\n /**\n * @deprecated use _.toInteger() instead\n */\n public int(value: any): number {\n console.warn('@deprecated use _.toInteger() instead');\n value = parseInt(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toFinite() instead\n */\n public float(value): number {\n console.warn('@deprecated use _.toFinite() instead');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toString() instead\n */\n public string(string): string {\n console.warn('@deprecated use _.toString() instead');\n if (string === null || string === undefined) {\n string = '';\n }\n\n return (string).toString();\n }\n\n /**\n * @deprecated use import { isEmpty } from @firestitch/common/util; instead\n */\n public isEmpty(value, options?): boolean {\n console.warn('@deprecated use import { isEmpty } from @firestitch/common/util; instead');\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !this.string(value).length ||\n (\n this.isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n }\n\n /**\n * @deprecated use _.isInteger() instead\n */\n public isInt(value, type?) {\n console.warn('@deprecated use _.isInteger() instead');\n const int = !!this.string(value).match(/^\\d+$/);\n\n if (!int) {\n return false;\n }\n\n if (type) {\n return Number.isInteger(value);\n }\n\n return true;\n }\n\n /**\n * @deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}\n */\n public each(object, func) {\n console.warn('@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}');\n if (!this.isArray(object) && !this.isObject(object)) {\n return;\n }\n\n Object.keys(object).forEach(function(key) {\n func(object[key],key);\n });\n }\n\n /**\n * @deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject}\n * or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead\n */\n public isObject(value): boolean {\n console.warn('@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead');\n return value !== null && typeof value === 'object' && !this.isArray(value);\n }\n\n /**\n * @deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}\n */\n public isString(value): boolean {\n console.warn('@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}');\n return typeof value === 'string' || value instanceof String;\n }\n\n /**\n * @deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}\n */\n public isArray(value): boolean {\n console.warn('@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}');\n return value instanceof Array;\n }\n\n /**\n * @deprecated use import { isNumeric } from @firestitch/common/util; instead\n */\n public isNumeric(value): boolean {\n console.warn('@deprecated use import { isNumeric } from @firestitch/common/util; instead');\n return this.string(value).length && !!this.string(value).match(/^-?\\d*\\.?\\d*$/);\n }\n\n /**\n * @deprecated use import { isClass } from @firestitch/common/util; instead\n */\n public isClass(value, cls) {\n console.warn('@deprecated use import { isClass } from @firestitch/common/util; instead');\n if (this.isObject(value)) {\n\n if (this.isString(cls)) {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}\n */\n public isBoolean(value): boolean {\n console.warn('@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}');\n return value === true || value === false;\n }\n\n /**\n * @deprecated use import { value } from @firestitch/common/util; instead\n */\n public value(object, key, def): any {\n console.warn('@deprecated use import { value } from @firestitch/common/util; instead');\n if (this.isObject(object) || this.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n }\n\n public throttle(func, wait) {\n console.warn('@deprecated use import { throttle } from @firestitch/common/util; instead');\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n }\n\n /**\n * @deprecated use import { debounce } from @firestitch/common/util; instead\n */\n public debounce(func, wait, immediate) {\n console.warn('@deprecated use import { debounce } from @firestitch/common/util; instead');\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/util; instead\n */\n public length(object): number {\n console.warn('@deprecated use import { length } from @firestitch/common/util; instead');\n if (this.isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (this.isArray(object)) {\n return object.length;\n }\n\n return 0;\n }\n\n /**\n * @deprecated use import { boolean } from @firestitch/common/util; instead\n */\n public boolean(value) {\n console.warn('@deprecated use import { boolean } from @firestitch/common/util; instead');\n return this.string(value).toLowerCase() !== 'false' && !!value;\n }\n\n /**\n * @deprecated use import { stringify } from @firestitch/common/util; instead\n */\n public stringify(value) {\n console.warn('@deprecated use import { stringify } from @firestitch/common/util; instead');\n return JSON.stringify(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FsUtil } from './util.service';\n\n@Injectable()\nexport class FsValidate {\n\n constructor(private fsUtil: FsUtil) { }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(value);\n return valid || !String(value).length;\n }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n email(value) {\n return !!this.fsUtil.string(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n }\n}\n","export function stringify(value) {\n return JSON.stringify(value);\n}\n","export function guid(pattern?: string, options: any = { case: 'lower', numbers: true }): string {\n pattern = pattern || 'xxxxxx';\n let s = '';\n\n if (options.numbers !== false) {\n s = '0123456789';\n }\n\n if (!options.case || options.case === 'lower' || options.case === 'mixed') {\n s = s.concat('abcdefghijklmnopqrstuvwxyz');\n }\n\n if (options.case === 'upper' || options.case === 'mixed') {\n s = s.concat('ABCDEFGHIJKLMNOPQRSTUVWXYZ');\n }\n\n const chars = s.match(/(.{1,1})/g);\n return pattern.replace(/[x]/g, function(c) {\n const i = (Math.random() * chars.length) | 0;\n return chars[i];\n });\n}\n","import { isObject, toString } from 'lodash-es';\n\nexport function isEmpty(value, options?) {\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !toString(value).length ||\n (\n isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { stringify } from '../../libs/util/stringify/stringify';\nimport { guid } from '../../libs/util/guid/guid';\nimport { isEmpty } from '../../libs/util/isEmpty/isEmpty';\n\n\n@Pipe({\n name: 'fsUtilStringify'\n})\nexport class FsUtilStringifyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: any): string {\n return stringify(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilGuid'\n})\nexport class FsUtilGuidPipe implements PipeTransform {\n constructor() {}\n\n transform(): string {\n return guid();\n }\n}\n\n@Pipe({\n name: 'fsUtilIsEmpty'\n})\nexport class FsUtilIsEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return isEmpty(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilIsNotEmpty'\n})\nexport class FsUtilIsNotEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return !isEmpty(value);\n }\n}\n","export function number(value, decimals?) {\n return Number(value || 0).toLocaleString(undefined, { maximumFractionDigits: decimals });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { number } from '../../libs/format/number/number';\n\n@Pipe({\n name: 'fsFormatNumber'\n})\nexport class FsFormatNumberPipe implements PipeTransform {\n\n transform(value, decimals?): string {\n return number(value, decimals);\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { isArray } from 'lodash-es';\n\n\nexport function currency(amount, precision: [number, number] | number = [2,10], currencyCode = 'USD', locale = 'en-US') {\n const digitsInfo = isArray(precision) ? precision : [precision, precision];\n return new CurrencyPipe(locale).transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);\n}\n","import { Pipe, PipeTransform, LOCALE_ID, Inject } from '@angular/core';\nimport { currency } from '../../libs/format/currency/currency';\n\n\n@Pipe({\n name: 'fsFormatCurrency'\n})\nexport class FsFormatCurrencyPipe implements PipeTransform {\n\n constructor(@Inject(LOCALE_ID) public locale: string) { }\n\n transform(amount, precision?, currencyCode?): string {\n return currency(amount, precision, currencyCode);\n }\n\n}\n","export function truncate(value: string, limit = 100, completeWords = false, ellipsis = '...') {\n\n value = value || '';\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n\n let result = `${value.substr(0, limit)}`;\n\n if (result !== value) {\n result += ellipsis;\n }\n\n return result;\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { truncate } from '../../libs/format/truncate/truncate';\n\n\n@Pipe({\n name: 'fsFormatTruncate'\n})\nexport class FsFormatTruncatePipe implements PipeTransform {\n\n constructor() { }\n\n transform(value, limit?, completeWords?, ellipsis?): string {\n return truncate(value, limit, completeWords, ellipsis);\n }\n\n}\n","export function bytes(bytes: number) {\n if (!bytes) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n\n const decimals = (bytes / 1024) > 1000 ? 2 : 0;\n console.log(bytes, (bytes / 1024), decimals);\n return `${(bytes / Math.pow(1024, e)).toFixed(decimals)}`.replace(/\\.00/, '')\n + ' '\n + (e ? ' KMGTP'.charAt(e) : '') + 'B';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { bytes } from '../../libs/format/bytes/bytes';\n\n@Pipe({\n name: 'fsFormatBytes',\n})\nexport class FsFormatBytesPipe implements PipeTransform {\n\n transform(value: number): string {\n return bytes(value);\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsStopPropagation]',\n})\nexport class FsStopPropagationDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.stopPropagation();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsPreventDefault]',\n})\nexport class FsPreventDefaultDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.preventDefault();\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class FsAutofocusDirective implements AfterViewInit {\n\n constructor(\n private _el: ElementRef,\n ) {}\n\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this._el.nativeElement.focus();\n })\n }\n}\n","export function ordinalNumber(value: any): string {\n value = String(value);\n\n const index = value.match`1?.$`;\n const endings = [, 'st', 'nd', 'rd'];\n const ending = endings[index] || 'th';\n\n return value + ending;\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ordinalNumber } from '../../libs/util/ordinal-number/ordinal-number';\n\n@Pipe({\n name: 'fsFormatOrdinalNumber',\n})\nexport class FsFormatOrdinalNumberPipe implements PipeTransform {\n\n public transform(value: any): string {\n return ordinalNumber(value);\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsArray } from './services/array.service';\nimport { FsMath } from './services/math.service';\nimport { FsUtil } from './services/util.service';\nimport { FsValidate } from './services/vaildate.service';\nimport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './pipes/util.pipe';\nimport { FsFormatNumberPipe } from './pipes/number.pipe';\nimport { FsFormatCurrencyPipe } from './pipes/currency.pipe';\nimport { FsFormatTruncatePipe} from './pipes/truncate.pipe';\nimport { FsFormatBytesPipe } from './pipes/bytes.pipe';\nimport { FsStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { FsPreventDefaultDirective } from './directives/prevent-default.directive';\nimport { FsAutofocusDirective } from './directives/autofocus.directive';\nimport { FsFormatOrdinalNumberPipe } from './pipes/ordinal-number.pipe';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n declarations: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n})\nexport class FsCommonModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: FsCommonModule,\n providers: [\n FsArray,\n FsMath,\n FsUtil,\n FsValidate\n ]\n };\n }\n}\n","export function email(value) {\n return !!String(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n}\n","export function phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4}/.test(value);\n return valid || !String(value).length;\n}\n","/**\n * Check validity of the url.\n * Protocol (http/https) isn't required.\n * @param value\n * @returns {boolean}\n */\n\nexport function url(value) {\n const expression = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/gm;\n const regexp = new RegExp(expression);\n\n return !!String(value).match(regexp);\n}\n","export function compare(query, item) {\n\n let value = true;\n for (const key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n}\n","import { compare } from '../compare';\n\nexport function filter(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n return compare(queryObj, item);\n }\n }\n\n const isarray = Array.isArray(array);\n const list: any = isarray ? [] : {};\n if (isarray) {\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n } else {\n Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n }\n return list;\n}\n","export function inArray(values, array) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n","export function index(array, property) {\n const list = {};\n \n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n \n return list;\n}\n","import { compare } from '../compare';\nexport function indexOf(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n\n return compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n","export function keyExists(array, key) {\n return array.hasOwnProperty(key);\n}\n","export function ksort(unordered) {\n Object.keys(unordered).sort().forEach(function (key) {\n const value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n}\n","export function list(array, property, index = null) {\n const resultList: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n resultList[item[index]] = item[property];\n } else {\n resultList.push(item[property]);\n }\n });\n return resultList;\n}\n","export function nameValue(array, name, value) {\n\n const list = [];\n if (name || value) {\n\n const nameFn = typeof name === 'function' ? name : function (item) {\n return item[name];\n };\n const valueFn = typeof value === 'function' ? value : function (item) {\n return item[value];\n };\n\n array.forEach(function (item) {\n list.push({name: nameFn(item), value: valueFn(item)});\n });\n\n } else {\n array.forEach(function (n, v) {\n list.push({name: n, value: v});\n });\n }\n\n return list;\n}\n","import { indexOf } from '../indexOf';\nexport function remove(array, query) {\n\n const idx = indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n}\n","export function sort(array, query, reverse = false) {\n if (typeof query !== 'function') {\n const queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n}\n","import {sort} from '../sort'\n\nexport function rsort(array, query) {\n return sort(array, query, true);\n}\n","import { filter } from '../filter';\n\nexport function find(array, query) {\n const data = filter(array, query);\n return data.length ? data[0] : null;\n}\n","import { toString } from 'lodash-es';\n\nexport function boolean(value) {\n return toString(value).toLowerCase() !== 'false' && !!value;\n}\n","export function debounce(func, wait, immediate) {\n let timeout;\n return function () {\n const context = this, args = arguments;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","export const KEY_CANCEL = 3;\nexport const KEY_HELP = 6;\nexport const KEY_BACKSPACE = 8;\nexport const KEY_TAB = 9;\nexport const KEY_CLEAR = 12;\nexport const KEY_RETURN = 13;\nexport const KEY_ENTER = 14;\nexport const KEY_SHIFT = 16;\nexport const KEY_CONTROL = 17;\nexport const KEY_ALT = 18;\nexport const KEY_PAUSE = 19;\nexport const KEY_CAPS_LOCK = 20;\nexport const KEY_ESCAPE = 27;\nexport const KEY_SPACE = 32;\nexport const KEY_PAGE_UP = 33;\nexport const KEY_PAGE_DOWN = 34;\nexport const KEY_END = 35;\nexport const KEY_HOME = 36;\nexport const KEY_LEFT = 37;\nexport const KEY_UP = 38;\nexport const KEY_RIGHT = 39;\nexport const KEY_DOWN = 40;\nexport const KEY_PRINTSCREEN = 44;\nexport const KEY_INSERT = 45;\nexport const KEY_DELETE = 46;\nexport const KEY_0 = 48;\nexport const KEY_1 = 49;\nexport const KEY_2 = 50;\nexport const KEY_3 = 51;\nexport const KEY_4 = 52;\nexport const KEY_5 = 53;\nexport const KEY_6 = 54;\nexport const KEY_7 = 55;\nexport const KEY_8 = 56;\nexport const KEY_9 = 57;\nexport const KEY_SEMICOLON = 59;\nexport const KEY_EQUALS = 61;\n","import { isObject, isArray } from 'lodash-es'\n\nexport function length(object) {\n if (isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (isArray(object)) {\n return object.length;\n }\n\n return 0;\n}\n","export function resolve(promise: Promise<object>, defaults = []) {\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key]);\n resolve(result)\n });\n })\n}\n","import { guid } from '../guid';\n\nexport function uuid(): string {\n return guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n}\n\n","export function value(object, key, def) {\n\n if (typeof object === 'object' || Array.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n}\n","export function isClass(value, cls) {\n\n if (typeof value === 'object') {\n\n if (typeof cls === 'string') {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n}\n","import { toString } from 'lodash-es';\n\nexport function isNumeric(value) {\n const str = toString(value);\n return str.length && !!str.match(/^-?\\d*\\.?\\d*$/);\n}\n","export function throttle(func, wait) {\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n}\n","import { Observable, Subject, of } from 'rxjs';\nimport { guid } from '../guid';\n\n\nexport class Operation {\n\n public name: string;\n public target: Observable<any>;\n public ready$ = new Subject();\n\n constructor(target, name?) {\n this.name = name ? name : guid();\n\n if (target instanceof Observable) {\n this.target = target;\n } else {\n this.target = of(target);\n }\n }\n}\n","export enum QueueState {\n Idle = 'idle',\n Processing = 'processing'\n}\n","import { Observable, Subject } from 'rxjs';\nimport { Operation } from './operation';\nimport { QueueState } from './queue.enum';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nexport class Queue {\n\n private _done = new Subject();\n\n private _queue: Operation[] = [];\n private _inProgress: Operation[] = [];\n\n private _total = 0;\n private _completed = 0;\n private _errors = 0;\n\n private _state: QueueState = QueueState.Idle;\n\n private _destroy$ = new Subject<void>();\n\n constructor(private _limit = Infinity) {}\n\n get total() {\n return this._total;\n }\n\n get completed() {\n return this._completed;\n }\n\n get pending() {\n return this._queue.length;\n }\n\n get inProgress() {\n return this._inProgress.length;\n }\n\n get errors() {\n return this._errors;\n }\n\n get state() {\n return this._state;\n }\n\n get empty() {\n return !this._queue.length && !this._inProgress.length\n }\n\n get pendingOperations(): string[] {\n return this._queue\n .map((operation) => operation.name);\n }\n\n get inProgressOperations(): string[] {\n return this._inProgress\n .map((operation) => operation.name);\n }\n\n public isProcessing(): boolean {\n return this._state === QueueState.Processing;\n }\n\n public isIdle(): boolean {\n return this._state === QueueState.Idle;\n }\n\n public setLimit(value: number) {\n this._limit = value;\n }\n\n public subscribe(fun, err?, complete?) {\n this._done\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(fun, err, complete);\n }\n\n public complete(fun, err?, complete?) {\n\n Observable.create(observer => {\n\n if (!this.isProcessing()) {\n observer.next();\n observer.complete();\n return;\n }\n\n this.subscribe(() => {\n observer.next();\n observer.complete();\n }, (error) => {\n observer.error(error);\n this.clear();\n });\n }).subscribe(fun, err, complete);\n }\n\n public push(target, name?) {\n const operation = new Operation(target, name);\n\n this._total++;\n this._state = QueueState.Processing;\n\n if (this._inProgress.length < this._limit) {\n this._processOperation(operation);\n } else {\n this._queue.push(operation);\n }\n\n return operation.ready$;\n }\n\n public clear() {\n this._queue = [];\n this._total = 0;\n this._errors = 0;\n this._completed = 0;\n this._state = QueueState.Idle;\n this._done = new Subject();\n }\n\n public destroy() {\n this.clear();\n this._done.complete();\n }\n\n private _processOperation(operation: Operation) {\n this._inProgress.push(operation);\n\n operation.target\n .pipe(\n delay(200), // Hack to prevent extra quick proccess execution\n takeUntil(this._destroy$),\n ).subscribe({\n next: (data) => {\n operation.ready$.next(data);\n },\n\n error: (error) => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._errors++;\n\n operation.ready$.error(error);\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.error(error);\n }\n },\n\n complete: () => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._completed++;\n\n operation.ready$.complete();\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.next();\n } else {\n if (this._queue.length) {\n const queueItem = this._queue.shift();\n this._processOperation(queueItem);\n }\n }\n }\n });\n }\n}\n","export function removeQueryParams(path: string) {\n return path.split('?')[0];\n}\n","import { Location } from '@angular/common';\nimport { removeQueryParams } from '../remove-query-params';\n\n\nexport function getNormalizedPath(locationSrv: Location) {\n const path = locationSrv.prepareExternalUrl(locationSrv.path());\n\n return removeQueryParams(path);\n}\n","export function acronym(str: string, length = 2): string {\n const splittedString = str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .split(' ');\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n if (!splittedString[i]) {\n if (splittedString.length === 1) {\n\n for (let j = 1; j < length; j++) {\n if (!splittedString[i-1][j]) {\n break;\n }\n result += splittedString[i-1][j].toUpperCase();\n }\n }\n break;\n }\n result += splittedString[i][0].toUpperCase();\n }\n\n return result;\n}\n","import { iif, Observable, throwError, timer } from 'rxjs';\nimport { concatMap, retryWhen, tap } from 'rxjs/operators';\n\n\nexport function delayedRetry(delayMs: number, maxRetry = 5, message?: string) {\n let retries = 0;\n\n return (src: Observable<unknown>) =>\n src.pipe(\n retryWhen((errors: Observable<unknown>) =>\n errors.pipe(\n tap(() => {\n retries++;\n\n if (retries <= maxRetry) {\n console.info(`Failed to load Resource. Retry in ${delayMs / 1000} sec. ${retries}/${maxRetry} times...`)\n }\n }),\n concatMap((error) =>\n iif(\n () => retries > maxRetry,\n throwError(getErrorMessage(maxRetry, message)),\n timer(delayMs),\n ),\n ),\n )\n )\n )\n}\n\n\n\nconst getErrorMessage = (maxRetry: number, defaultMessage: string) => {\n if (!defaultMessage) {\n return `Failed to load Resource for ${maxRetry} times. Giving up.`;\n } else {\n return defaultMessage\n }\n}\n"],"names":["KEY_CANCEL","KEY_HELP","KEY_BACKSPACE","KEY_TAB","KEY_CLEAR","KEY_RETURN","KEY_ENTER","KEY_SHIFT","KEY_CONTROL","KEY_ALT","KEY_PAUSE","KEY_CAPS_LOCK","KEY_ESCAPE","KEY_SPACE","KEY_PAGE_UP","KEY_PAGE_DOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_PRINTSCREEN","KEY_INSERT","KEY_DELETE","KEY_0","KEY_1","KEY_2","KEY_3","KEY_4","KEY_5","KEY_6","KEY_7","KEY_8","KEY_9","KEY_SEMICOLON","KEY_EQUALS"],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-common.js","sources":["../../src/app/services/array.service.ts","../../src/app/services/math.service.ts","../../src/app/services/util.service.ts","../../src/app/services/vaildate.service.ts","../../src/libs/util/stringify/stringify.ts","../../src/libs/util/guid/guid.ts","../../src/libs/util/isEmpty/isEmpty.ts","../../src/app/pipes/util.pipe.ts","../../src/libs/format/number/number.ts","../../src/app/pipes/number.pipe.ts","../../src/libs/format/currency/currency.ts","../../src/app/pipes/currency.pipe.ts","../../src/libs/format/truncate/truncate.ts","../../src/app/pipes/truncate.pipe.ts","../../src/libs/format/bytes/bytes.ts","../../src/app/pipes/bytes.pipe.ts","../../src/app/directives/stop-propagation.directive.ts","../../src/app/directives/prevent-default.directive.ts","../../src/app/directives/autofocus.directive.ts","../../src/libs/util/ordinal-number/ordinal-number.ts","../../src/app/pipes/ordinal-number.pipe.ts","../../src/app/fs-common.module.ts","../../src/libs/validate/email/email.ts","../../src/libs/validate/phone/phone.ts","../../src/libs/validate/url/url.ts","../../src/libs/array/compare/compare.ts","../../src/libs/array/filter/filter.ts","../../src/libs/array/inArray/inArray.ts","../../src/libs/array/index/index.ts","../../src/libs/array/indexOf/indexOf.ts","../../src/libs/array/keyExists/keyExists.ts","../../src/libs/array/ksort/ksort.ts","../../src/libs/array/list/list.ts","../../src/libs/array/nameValue/nameValue.ts","../../src/libs/array/remove/remove.ts","../../src/libs/array/sort/sort.ts","../../src/libs/array/rsort/rsort.ts","../../src/libs/array/find/find.ts","../../src/libs/util/boolean/boolean.ts","../../src/libs/util/debounce/debounce.ts","../../src/libs/util/keys/keys.ts","../../src/libs/util/length/length.ts","../../src/libs/util/resolve/resolve.ts","../../src/libs/util/uuid/uuid.ts","../../src/libs/util/value/value.ts","../../src/libs/util/isClass/isClass.ts","../../src/libs/util/isNumeric/isNumeric.ts","../../src/libs/util/throttle/throttle.ts","../../src/libs/util/queue/operation.ts","../../src/libs/util/queue/queue.enum.ts","../../src/libs/util/queue/queue.ts","../../src/libs/util/remove-query-params/remove-query-params.ts","../../src/libs/util/get-normalized-path/get-normalized-path.ts","../../src/libs/format/acronym/acronym.ts","../../src/libs/rxjs/delayedRetry.ts","../../src/public_api.ts","../../src/firestitch-common.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsArray {\n /**\n * @deprecated use import { nameValue } from @firestitch/common/array; instead\n */\n public nameValue(array, name, value): Array<any> {\n console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');\n let list = [];\n if (name || value) {\n\n let nameFn = typeof name === 'function' ? name : function (item) { return item[name] };\n let valueFn = typeof value === 'function' ? value : function (item) { return item[value] };\n\n array.forEach(function (item) {\n list.push({ name: nameFn(item), value: valueFn(item) });\n });\n\n } else {\n array.forEach(function (name, value) {\n list.push({ name: name, value: value });\n });\n }\n\n return list;\n }\n\n /**\n * @deprecated use import { remove } from @firestitch/common/array; instead\n */\n public remove(array, query): any {\n console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');\n let idx = this.indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n }\n\n /**\n * @deprecated use import { indexOf } from @firestitch/common/array; instead\n */\n public indexOf(array, query): number {\n console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * @deprecated use import { compare } from @firestitch/common/array; instead\n */\n public compare(query, item): boolean {\n console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');\n let value = true;\n for (let key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n }\n\n /**\n * @deprecated use import { filter } from @firestitch/common/array; instead\n */\n public filter(array, query): Array<any> {\n console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n let isarray = Array.isArray(array);\n let list: any = isarray ? [] : {};\n if (isarray)\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n else Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n return list;\n }\n\n /**\n * @deprecated use import { index } from @firestitch/common/array; instead\n */\n public index(array, property): Object {\n console.warn('@deprecated use import { index } from @firestitch/common/array; instead');\n let list = {};\n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n return list;\n }\n\n\n /**\n * @deprecated use import { sort } from @firestitch/common/array; instead\n */\n public sort(array, query, reverse = false): Array<any> {\n console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n }\n\n /**\n * @deprecated use import { rsort } from @firestitch/common/array; instead\n */\n public rsort(array, query): Array<any> {\n console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');\n return this.sort(array, query, true);\n }\n\n\n /**\n * @deprecated use import { list } from @firestitch/common/array; instead\n */\n public list(array, property, index = null): Object {\n console.warn('@deprecated use import { list } from @firestitch/common/array; instead');\n let list: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n list[item[index]] = item[property];\n } else {\n list.push(item[property]);\n }\n });\n return list;\n }\n\n /**\n * @deprecated use import { applyDepth } from @firestitch/common/array; instead\n */\n public applyDepth(objects, parent_property, id_property = 'id', depth_property = 'depth') {\n console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');\n let keyed = {};\n objects.forEach(function (object) {\n if (!object[parent_property]) {\n object[depth_property] = 0;\n }\n keyed[object[id_property]] = object;\n });\n Object.keys(keyed).forEach(key => {\n Object.keys(keyed).forEach(key => {\n let object = keyed[key];\n if (!keyed[key][depth_property]) {\n if (keyed[key][parent_property]) {\n keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;\n }\n }\n })\n })\n\n return keyed;\n }\n\n /**\n * @deprecated use import { inArray } from @firestitch/common/array; instead\n */\n inArray(values, array) {\n console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use import { keyExists } from @firestitch/common/array; instead\n */\n keyExists(array, key) {\n console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');\n return array.hasOwnProperty(key);\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/array; instead\n */\n length(array) {\n console.warn('@deprecated use import { length } from @firestitch/common/array; instead');\n return array.length;\n }\n\n /**\n * @deprecated use import { ksort } from @firestitch/common/array; instead\n */\n ksort(unordered) {\n console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');\n Object.keys(unordered).sort().forEach(function (key) {\n let value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsMath {\n\n /**\n * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}\n */\n public round(number, precision): number {\n console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');\n precision = precision || 0;\n let factor = Math.pow(10, precision);\n let tempNumber = number * factor;\n let roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport const KEY_CANCEL = 3,\n KEY_HELP = 6,\n KEY_BACKSPACE = 8,\n KEY_TAB = 9,\n KEY_CLEAR = 12,\n KEY_RETURN = 13,\n KEY_ENTER = 14,\n KEY_SHIFT = 16,\n KEY_CONTROL = 17,\n KEY_ALT = 18,\n KEY_PAUSE = 19,\n KEY_CAPS_LOCK = 20,\n KEY_ESCAPE = 27,\n KEY_SPACE = 32,\n KEY_PAGE_UP = 33,\n KEY_PAGE_DOWN = 34,\n KEY_END = 35,\n KEY_HOME = 36,\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_PRINTSCREEN = 44,\n KEY_INSERT = 45,\n KEY_DELETE = 46,\n KEY_0 = 48,\n KEY_1 = 49,\n KEY_2 = 50,\n KEY_3 = 51,\n KEY_4 = 52,\n KEY_5 = 53,\n KEY_6 = 54,\n KEY_7 = 55,\n KEY_8 = 56,\n KEY_9 = 57,\n KEY_SEMICOLON = 59,\n KEY_EQUALS = 61;\n\n/*\n Basically, just copy-pasted functionality from fs-boilerplate v1.x, with some small changes (like we dont have angular.bind anymore, had to go with a workaround)\n There might be a better way to organise constatns but I need to know use-cases\n*/\n\n\n@Injectable()\nexport class FsUtil {\n\n private intervals = {};\n\n /**\n * @deprecated use @firestitch/common/util/guid instead\n */\n public guid(pattern?: string): string {\n console.warn('@deprecated use @firestitch/common/util/guid instead');\n pattern = pattern || 'xxxxxx';\n return pattern.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n /**\n * @deprecated use import { uuid } from @firestitch/common/util; instead\n */\n public uuid(): string {\n console.warn('@deprecated use @firestitch/common/util/uuid instead');\n return this.guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n }\n\n /**\n * @deprecated use import { resolve } from @firestitch/common/util; instead\n */\n public resolve(promise: Promise<object>, defaults = []): Promise<object> {\n console.warn('@deprecated use @firestitch/common/util/resolve instead');\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key])\n resolve(result)\n });\n })\n }\n\n /**\n * @deprecated use _.toInteger() instead\n */\n public int(value: any): number {\n console.warn('@deprecated use _.toInteger() instead');\n value = parseInt(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toFinite() instead\n */\n public float(value): number {\n console.warn('@deprecated use _.toFinite() instead');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toString() instead\n */\n public string(string): string {\n console.warn('@deprecated use _.toString() instead');\n if (string === null || string === undefined) {\n string = '';\n }\n\n return (string).toString();\n }\n\n /**\n * @deprecated use import { isEmpty } from @firestitch/common/util; instead\n */\n public isEmpty(value, options?): boolean {\n console.warn('@deprecated use import { isEmpty } from @firestitch/common/util; instead');\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !this.string(value).length ||\n (\n this.isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n }\n\n /**\n * @deprecated use _.isInteger() instead\n */\n public isInt(value, type?) {\n console.warn('@deprecated use _.isInteger() instead');\n const int = !!this.string(value).match(/^\\d+$/);\n\n if (!int) {\n return false;\n }\n\n if (type) {\n return Number.isInteger(value);\n }\n\n return true;\n }\n\n /**\n * @deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}\n */\n public each(object, func) {\n console.warn('@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}');\n if (!this.isArray(object) && !this.isObject(object)) {\n return;\n }\n\n Object.keys(object).forEach(function(key) {\n func(object[key],key);\n });\n }\n\n /**\n * @deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject}\n * or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead\n */\n public isObject(value): boolean {\n console.warn('@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead');\n return value !== null && typeof value === 'object' && !this.isArray(value);\n }\n\n /**\n * @deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}\n */\n public isString(value): boolean {\n console.warn('@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}');\n return typeof value === 'string' || value instanceof String;\n }\n\n /**\n * @deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}\n */\n public isArray(value): boolean {\n console.warn('@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}');\n return value instanceof Array;\n }\n\n /**\n * @deprecated use import { isNumeric } from @firestitch/common/util; instead\n */\n public isNumeric(value): boolean {\n console.warn('@deprecated use import { isNumeric } from @firestitch/common/util; instead');\n return this.string(value).length && !!this.string(value).match(/^-?\\d*\\.?\\d*$/);\n }\n\n /**\n * @deprecated use import { isClass } from @firestitch/common/util; instead\n */\n public isClass(value, cls) {\n console.warn('@deprecated use import { isClass } from @firestitch/common/util; instead');\n if (this.isObject(value)) {\n\n if (this.isString(cls)) {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}\n */\n public isBoolean(value): boolean {\n console.warn('@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}');\n return value === true || value === false;\n }\n\n /**\n * @deprecated use import { value } from @firestitch/common/util; instead\n */\n public value(object, key, def): any {\n console.warn('@deprecated use import { value } from @firestitch/common/util; instead');\n if (this.isObject(object) || this.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n }\n\n public throttle(func, wait) {\n console.warn('@deprecated use import { throttle } from @firestitch/common/util; instead');\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n }\n\n /**\n * @deprecated use import { debounce } from @firestitch/common/util; instead\n */\n public debounce(func, wait, immediate) {\n console.warn('@deprecated use import { debounce } from @firestitch/common/util; instead');\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/util; instead\n */\n public length(object): number {\n console.warn('@deprecated use import { length } from @firestitch/common/util; instead');\n if (this.isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (this.isArray(object)) {\n return object.length;\n }\n\n return 0;\n }\n\n /**\n * @deprecated use import { boolean } from @firestitch/common/util; instead\n */\n public boolean(value) {\n console.warn('@deprecated use import { boolean } from @firestitch/common/util; instead');\n return this.string(value).toLowerCase() !== 'false' && !!value;\n }\n\n /**\n * @deprecated use import { stringify } from @firestitch/common/util; instead\n */\n public stringify(value) {\n console.warn('@deprecated use import { stringify } from @firestitch/common/util; instead');\n return JSON.stringify(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FsUtil } from './util.service';\n\n@Injectable()\nexport class FsValidate {\n\n constructor(private fsUtil: FsUtil) { }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(value);\n return valid || !String(value).length;\n }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n email(value) {\n return !!this.fsUtil.string(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n }\n}\n","export function stringify(value) {\n return JSON.stringify(value);\n}\n","export function guid(pattern?: string, options: any = { case: 'lower', numbers: true }): string {\n pattern = pattern || 'xxxxxx';\n let s = '';\n\n if (options.numbers !== false) {\n s = '0123456789';\n }\n\n if (!options.case || options.case === 'lower' || options.case === 'mixed') {\n s = s.concat('abcdefghijklmnopqrstuvwxyz');\n }\n\n if (options.case === 'upper' || options.case === 'mixed') {\n s = s.concat('ABCDEFGHIJKLMNOPQRSTUVWXYZ');\n }\n\n const chars = s.match(/(.{1,1})/g);\n return pattern.replace(/[x]/g, function(c) {\n const i = (Math.random() * chars.length) | 0;\n return chars[i];\n });\n}\n","import { isObject, toString } from 'lodash-es';\n\nexport function isEmpty(value, options?) {\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !toString(value).length ||\n (\n isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { stringify } from '../../libs/util/stringify/stringify';\nimport { guid } from '../../libs/util/guid/guid';\nimport { isEmpty } from '../../libs/util/isEmpty/isEmpty';\n\n\n@Pipe({\n name: 'fsUtilStringify'\n})\nexport class FsUtilStringifyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: any): string {\n return stringify(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilGuid'\n})\nexport class FsUtilGuidPipe implements PipeTransform {\n constructor() {}\n\n transform(): string {\n return guid();\n }\n}\n\n@Pipe({\n name: 'fsUtilIsEmpty'\n})\nexport class FsUtilIsEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return isEmpty(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilIsNotEmpty'\n})\nexport class FsUtilIsNotEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return !isEmpty(value);\n }\n}\n","export function number(value, decimals?) {\n return Number(value || 0).toLocaleString(undefined, { maximumFractionDigits: decimals });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { number } from '../../libs/format/number/number';\n\n@Pipe({\n name: 'fsFormatNumber'\n})\nexport class FsFormatNumberPipe implements PipeTransform {\n\n transform(value, decimals?): string {\n return number(value, decimals);\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { isArray } from 'lodash-es';\n\n\nexport function currency(amount, precision: [number, number] | number = [2,10], currencyCode = 'USD', locale = 'en-US') {\n const digitsInfo = isArray(precision) ? precision : [precision, precision];\n return new CurrencyPipe(locale).transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);\n}\n","import { Pipe, PipeTransform, LOCALE_ID, Inject } from '@angular/core';\nimport { currency } from '../../libs/format/currency/currency';\n\n\n@Pipe({\n name: 'fsFormatCurrency'\n})\nexport class FsFormatCurrencyPipe implements PipeTransform {\n\n constructor(@Inject(LOCALE_ID) public locale: string) { }\n\n transform(amount, precision?, currencyCode?): string {\n return currency(amount, precision, currencyCode);\n }\n\n}\n","export function truncate(value: string, limit = 100, completeWords = false, ellipsis = '...') {\n\n value = value || '';\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n\n let result = `${value.substr(0, limit)}`;\n\n if (result !== value) {\n result += ellipsis;\n }\n\n return result;\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { truncate } from '../../libs/format/truncate/truncate';\n\n\n@Pipe({\n name: 'fsFormatTruncate'\n})\nexport class FsFormatTruncatePipe implements PipeTransform {\n\n constructor() { }\n\n transform(value, limit?, completeWords?, ellipsis?): string {\n return truncate(value, limit, completeWords, ellipsis);\n }\n\n}\n","export function bytes(bytes: number) {\n if (!bytes) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n\n const decimals = (bytes / 1024) > 1000 ? 2 : 0;\n console.log(bytes, (bytes / 1024), decimals);\n return `${(bytes / Math.pow(1024, e)).toFixed(decimals)}`.replace(/\\.00/, '')\n + ' '\n + (e ? ' KMGTP'.charAt(e) : '') + 'B';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { bytes } from '../../libs/format/bytes/bytes';\n\n@Pipe({\n name: 'fsFormatBytes',\n})\nexport class FsFormatBytesPipe implements PipeTransform {\n\n transform(value: number): string {\n return bytes(value);\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsStopPropagation]',\n})\nexport class FsStopPropagationDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.stopPropagation();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsPreventDefault]',\n})\nexport class FsPreventDefaultDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.preventDefault();\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class FsAutofocusDirective implements AfterViewInit {\n\n constructor(\n private _el: ElementRef,\n ) {}\n\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this._el.nativeElement.focus();\n })\n }\n}\n","export function ordinalNumber(value: any): string {\n value = String(value);\n\n const index = value.match`1?.$`;\n const endings = [, 'st', 'nd', 'rd'];\n const ending = endings[index] || 'th';\n\n return value + ending;\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ordinalNumber } from '../../libs/util/ordinal-number/ordinal-number';\n\n@Pipe({\n name: 'fsFormatOrdinalNumber',\n})\nexport class FsFormatOrdinalNumberPipe implements PipeTransform {\n\n public transform(value: any): string {\n return ordinalNumber(value);\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsArray } from './services/array.service';\nimport { FsMath } from './services/math.service';\nimport { FsUtil } from './services/util.service';\nimport { FsValidate } from './services/vaildate.service';\nimport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './pipes/util.pipe';\nimport { FsFormatNumberPipe } from './pipes/number.pipe';\nimport { FsFormatCurrencyPipe } from './pipes/currency.pipe';\nimport { FsFormatTruncatePipe} from './pipes/truncate.pipe';\nimport { FsFormatBytesPipe } from './pipes/bytes.pipe';\nimport { FsStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { FsPreventDefaultDirective } from './directives/prevent-default.directive';\nimport { FsAutofocusDirective } from './directives/autofocus.directive';\nimport { FsFormatOrdinalNumberPipe } from './pipes/ordinal-number.pipe';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n declarations: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n})\nexport class FsCommonModule {\n static forRoot(): ModuleWithProviders<FsCommonModule> {\n return {\n ngModule: FsCommonModule,\n providers: [\n FsArray,\n FsMath,\n FsUtil,\n FsValidate\n ]\n };\n }\n}\n","export function email(value) {\n return !!String(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n}\n","export function phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4}/.test(value);\n return valid || !String(value).length;\n}\n","/**\n * Check validity of the url.\n * Protocol (http/https) isn't required.\n * @param value\n * @returns {boolean}\n */\n\nexport function url(value) {\n const expression = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/gm;\n const regexp = new RegExp(expression);\n\n return !!String(value).match(regexp);\n}\n","export function compare(query, item) {\n\n let value = true;\n for (const key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n}\n","import { compare } from '../compare';\n\nexport function filter(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n return compare(queryObj, item);\n }\n }\n\n const isarray = Array.isArray(array);\n const list: any = isarray ? [] : {};\n if (isarray) {\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n } else {\n Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n }\n return list;\n}\n","export function inArray(values, array) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n","export function index(array, name, value = null) {\n const list = {};\n \n array.forEach(function (item) {\n list[item[name]] = value ? item[value] : item;\n });\n \n return list;\n}\n","import { compare } from '../compare';\nexport function indexOf(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n\n return compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n","export function keyExists(array, key) {\n return array.hasOwnProperty(key);\n}\n","export function ksort(unordered) {\n Object.keys(unordered).sort().forEach(function (key) {\n const value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n}\n","export function list(array, property, index = null) {\n const resultList: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n resultList[item[index]] = item[property];\n } else {\n resultList.push(item[property]);\n }\n });\n return resultList;\n}\n","export function nameValue(array, name, value) {\n\n const list = [];\n if (name || value) {\n\n const nameFn = typeof name === 'function' ? name : function (item) {\n return item[name];\n };\n const valueFn = typeof value === 'function' ? value : function (item) {\n return item[value];\n };\n\n array.forEach(function (item) {\n list.push({name: nameFn(item), value: valueFn(item)});\n });\n\n } else {\n array.forEach(function (n, v) {\n list.push({name: n, value: v});\n });\n }\n\n return list;\n}\n","import { indexOf } from '../indexOf';\nexport function remove(array, query) {\n\n const idx = indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n}\n","export function sort(array, query, reverse = false) {\n if (typeof query !== 'function') {\n const queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n}\n","import {sort} from '../sort'\n\nexport function rsort(array, query) {\n return sort(array, query, true);\n}\n","import { filter } from '../filter';\n\nexport function find(array, query) {\n const data = filter(array, query);\n return data.length ? data[0] : null;\n}\n","import { toString } from 'lodash-es';\n\nexport function boolean(value) {\n return toString(value).toLowerCase() !== 'false' && !!value;\n}\n","export function debounce(func, wait, immediate) {\n let timeout;\n return function () {\n const context = this, args = arguments;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","export const KEY_CANCEL = 3;\nexport const KEY_HELP = 6;\nexport const KEY_BACKSPACE = 8;\nexport const KEY_TAB = 9;\nexport const KEY_CLEAR = 12;\nexport const KEY_RETURN = 13;\nexport const KEY_ENTER = 14;\nexport const KEY_SHIFT = 16;\nexport const KEY_CONTROL = 17;\nexport const KEY_ALT = 18;\nexport const KEY_PAUSE = 19;\nexport const KEY_CAPS_LOCK = 20;\nexport const KEY_ESCAPE = 27;\nexport const KEY_SPACE = 32;\nexport const KEY_PAGE_UP = 33;\nexport const KEY_PAGE_DOWN = 34;\nexport const KEY_END = 35;\nexport const KEY_HOME = 36;\nexport const KEY_LEFT = 37;\nexport const KEY_UP = 38;\nexport const KEY_RIGHT = 39;\nexport const KEY_DOWN = 40;\nexport const KEY_PRINTSCREEN = 44;\nexport const KEY_INSERT = 45;\nexport const KEY_DELETE = 46;\nexport const KEY_0 = 48;\nexport const KEY_1 = 49;\nexport const KEY_2 = 50;\nexport const KEY_3 = 51;\nexport const KEY_4 = 52;\nexport const KEY_5 = 53;\nexport const KEY_6 = 54;\nexport const KEY_7 = 55;\nexport const KEY_8 = 56;\nexport const KEY_9 = 57;\nexport const KEY_SEMICOLON = 59;\nexport const KEY_EQUALS = 61;\n","import { isObject, isArray } from 'lodash-es'\n\nexport function length(object) {\n if (isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (isArray(object)) {\n return object.length;\n }\n\n return 0;\n}\n","export function resolve(promise: Promise<object>, defaults = []) {\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key]);\n resolve(result)\n });\n })\n}\n","import { guid } from '../guid';\n\nexport function uuid(): string {\n return guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n}\n\n","export function value(object, key, def) {\n\n if (typeof object === 'object' || Array.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n}\n","export function isClass(value, cls) {\n\n if (typeof value === 'object') {\n\n if (typeof cls === 'string') {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n}\n","import { toString } from 'lodash-es';\n\nexport function isNumeric(value) {\n const str = toString(value);\n return str.length && !!str.match(/^-?\\d*\\.?\\d*$/);\n}\n","export function throttle(func, wait) {\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n}\n","import { Observable, Subject, of } from 'rxjs';\nimport { guid } from '../guid';\n\n\nexport class Operation {\n\n public name: string;\n public target: Observable<any>;\n public ready$ = new Subject();\n\n constructor(target, name?) {\n this.name = name ? name : guid();\n\n if (target instanceof Observable) {\n this.target = target;\n } else {\n this.target = of(target);\n }\n }\n}\n","export enum QueueState {\n Idle = 'idle',\n Processing = 'processing'\n}\n","import { Observable, Subject } from 'rxjs';\nimport { Operation } from './operation';\nimport { QueueState } from './queue.enum';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nexport class Queue {\n\n private _done = new Subject();\n\n private _queue: Operation[] = [];\n private _inProgress: Operation[] = [];\n\n private _total = 0;\n private _completed = 0;\n private _errors = 0;\n\n private _state: QueueState = QueueState.Idle;\n\n private _destroy$ = new Subject<void>();\n\n constructor(private _limit = Infinity) {}\n\n get total() {\n return this._total;\n }\n\n get completed() {\n return this._completed;\n }\n\n get pending() {\n return this._queue.length;\n }\n\n get inProgress() {\n return this._inProgress.length;\n }\n\n get errors() {\n return this._errors;\n }\n\n get state() {\n return this._state;\n }\n\n get empty() {\n return !this._queue.length && !this._inProgress.length\n }\n\n get pendingOperations(): string[] {\n return this._queue\n .map((operation) => operation.name);\n }\n\n get inProgressOperations(): string[] {\n return this._inProgress\n .map((operation) => operation.name);\n }\n\n public isProcessing(): boolean {\n return this._state === QueueState.Processing;\n }\n\n public isIdle(): boolean {\n return this._state === QueueState.Idle;\n }\n\n public setLimit(value: number) {\n this._limit = value;\n }\n\n public subscribe(fun, err?, complete?) {\n this._done\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(fun, err, complete);\n }\n\n public complete(fun, err?, complete?) {\n\n Observable.create(observer => {\n\n if (!this.isProcessing()) {\n observer.next();\n observer.complete();\n return;\n }\n\n this.subscribe(() => {\n observer.next();\n observer.complete();\n }, (error) => {\n observer.error(error);\n this.clear();\n });\n }).subscribe(fun, err, complete);\n }\n\n public push(target, name?) {\n const operation = new Operation(target, name);\n\n this._total++;\n this._state = QueueState.Processing;\n\n if (this._inProgress.length < this._limit) {\n this._processOperation(operation);\n } else {\n this._queue.push(operation);\n }\n\n return operation.ready$;\n }\n\n public clear() {\n this._queue = [];\n this._total = 0;\n this._errors = 0;\n this._completed = 0;\n this._state = QueueState.Idle;\n this._done = new Subject();\n }\n\n public destroy() {\n this.clear();\n this._done.complete();\n }\n\n private _processOperation(operation: Operation) {\n this._inProgress.push(operation);\n\n operation.target\n .pipe(\n delay(200), // Hack to prevent extra quick proccess execution\n takeUntil(this._destroy$),\n ).subscribe({\n next: (data) => {\n operation.ready$.next(data);\n },\n\n error: (error) => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._errors++;\n\n operation.ready$.error(error);\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.error(error);\n }\n },\n\n complete: () => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._completed++;\n\n operation.ready$.complete();\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.next();\n } else {\n if (this._queue.length) {\n const queueItem = this._queue.shift();\n this._processOperation(queueItem);\n }\n }\n }\n });\n }\n}\n","export function removeQueryParams(path: string) {\n return path.split('?')[0];\n}\n","import { Location } from '@angular/common';\nimport { removeQueryParams } from '../remove-query-params';\n\n\nexport function getNormalizedPath(locationSrv: Location) {\n const path = locationSrv.prepareExternalUrl(locationSrv.path());\n\n return removeQueryParams(path);\n}\n","export function acronym(str: string, length = 2): string {\n const splittedString = str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .split(' ');\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n if (!splittedString[i]) {\n if (splittedString.length === 1) {\n\n for (let j = 1; j < length; j++) {\n if (!splittedString[i-1][j]) {\n break;\n }\n result += splittedString[i-1][j].toUpperCase();\n }\n }\n break;\n }\n result += splittedString[i][0].toUpperCase();\n }\n\n return result;\n}\n","import { iif, Observable, throwError, timer } from 'rxjs';\nimport { concatMap, retryWhen, tap } from 'rxjs/operators';\n\n\nexport function delayedRetry(delayMs: number, maxRetry = 5, message?: string) {\n let retries = 0;\n\n return (src: Observable<unknown>) =>\n src.pipe(\n retryWhen((errors: Observable<unknown>) =>\n errors.pipe(\n tap(() => {\n retries++;\n\n if (retries <= maxRetry) {\n console.info(`Failed to load Resource. Retry in ${delayMs / 1000} sec. ${retries}/${maxRetry} times...`)\n }\n }),\n concatMap((error) =>\n iif(\n () => retries > maxRetry,\n throwError(getErrorMessage(maxRetry, message)),\n timer(delayMs),\n ),\n ),\n )\n )\n )\n}\n\n\n\nconst getErrorMessage = (maxRetry: number, defaultMessage: string) => {\n if (!defaultMessage) {\n return `Failed to load Resource for ${maxRetry} times. Giving up.`;\n } else {\n return defaultMessage\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\n// Modules\nexport { FsCommonModule } from './app/fs-common.module';\n\n// Services\nexport { FsArray } from './app/services/array.service';\nexport { FsMath } from './app/services/math.service';\nexport { FsUtil } from './app/services/util.service';\nexport { FsValidate } from './app/services/vaildate.service';\n\nexport * from './libs';\n\n\nexport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './app/pipes/util.pipe';\nexport { FsFormatNumberPipe } from './app/pipes/number.pipe';\nexport { FsFormatCurrencyPipe } from './app/pipes/currency.pipe';\nexport { FsFormatTruncatePipe} from './app/pipes/truncate.pipe';\nexport { FsFormatBytesPipe } from './app/pipes/bytes.pipe';\nexport { FsStopPropagationDirective } from './app/directives/stop-propagation.directive';\nexport { FsPreventDefaultDirective } from './app/directives/prevent-default.directive';\nexport { FsAutofocusDirective } from './app/directives/autofocus.directive';\nexport { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["KEY_CANCEL","KEY_HELP","KEY_BACKSPACE","KEY_TAB","KEY_CLEAR","KEY_RETURN","KEY_ENTER","KEY_SHIFT","KEY_CONTROL","KEY_ALT","KEY_PAUSE","KEY_CAPS_LOCK","KEY_ESCAPE","KEY_SPACE","KEY_PAGE_UP","KEY_PAGE_DOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_PRINTSCREEN","KEY_INSERT","KEY_DELETE","KEY_0","KEY_1","KEY_2","KEY_3","KEY_4","KEY_5","KEY_6","KEY_7","KEY_8","KEY_9","KEY_SEMICOLON","KEY_EQUALS","i1.FsUtil"],"mappings":"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"}
@@ -1,13 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@firestitch/common" />
4
5
  export * from './public_api';
5
- export { FsAutofocusDirective as ɵc } from './app/directives/autofocus.directive';
6
- export { FsPreventDefaultDirective as ɵb } from './app/directives/prevent-default.directive';
7
- export { FsStopPropagationDirective as ɵa } from './app/directives/stop-propagation.directive';
8
- export { FsFormatBytesPipe as ɵk } from './app/pipes/bytes.pipe';
9
- export { FsFormatCurrencyPipe as ɵi } from './app/pipes/currency.pipe';
10
- export { FsFormatNumberPipe as ɵh } from './app/pipes/number.pipe';
11
- export { FsFormatOrdinalNumberPipe as ɵl } from './app/pipes/ordinal-number.pipe';
12
- export { FsFormatTruncatePipe as ɵj } from './app/pipes/truncate.pipe';
13
- export { FsUtilGuidPipe as ɵe, FsUtilIsEmptyPipe as ɵf, FsUtilIsNotEmptyPipe as ɵg, FsUtilStringifyPipe as ɵd } from './app/pipes/util.pipe';
@@ -1 +1 @@
1
- export declare function index(array: any, property: any): {};
1
+ export declare function index(array: any, name: any, value?: any): {};
@@ -11,15 +11,15 @@ export declare class Queue {
11
11
  private _state;
12
12
  private _destroy$;
13
13
  constructor(_limit?: number);
14
- readonly total: number;
15
- readonly completed: number;
16
- readonly pending: number;
17
- readonly inProgress: number;
18
- readonly errors: number;
19
- readonly state: QueueState;
20
- readonly empty: boolean;
21
- readonly pendingOperations: string[];
22
- readonly inProgressOperations: string[];
14
+ get total(): number;
15
+ get completed(): number;
16
+ get pending(): number;
17
+ get inProgress(): number;
18
+ get errors(): number;
19
+ get state(): QueueState;
20
+ get empty(): boolean;
21
+ get pendingOperations(): string[];
22
+ get inProgressOperations(): string[];
23
23
  isProcessing(): boolean;
24
24
  isIdle(): boolean;
25
25
  setLimit(value: number): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestitch/common",
3
- "version": "8.0.11",
3
+ "version": "12.0.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/Firestitch/ngx-common"
@@ -16,18 +16,14 @@
16
16
  "bugs": {
17
17
  "url": "https://github.com/Firestitch/ngx-common/issues"
18
18
  },
19
- "peerDependencies": {},
19
+ "dependencies": {
20
+ "tslib": "^2.0.0"
21
+ },
20
22
  "sideEffects": false,
21
23
  "main": "bundles/firestitch-common.umd.js",
22
- "module": "fesm5/firestitch-common.js",
24
+ "module": "fesm2015/firestitch-common.js",
23
25
  "es2015": "fesm2015/firestitch-common.js",
24
- "esm5": "esm5/firestitch-common.js",
25
26
  "esm2015": "esm2015/firestitch-common.js",
26
- "fesm5": "fesm5/firestitch-common.js",
27
27
  "fesm2015": "fesm2015/firestitch-common.js",
28
- "typings": "firestitch-common.d.ts",
29
- "metadata": "firestitch-common.metadata.json",
30
- "dependencies": {
31
- "tslib": "^1.9.0"
32
- }
33
- }
28
+ "typings": "firestitch-common.d.ts"
29
+ }
package/public_api.d.ts CHANGED
@@ -4,3 +4,12 @@ export { FsMath } from './app/services/math.service';
4
4
  export { FsUtil } from './app/services/util.service';
5
5
  export { FsValidate } from './app/services/vaildate.service';
6
6
  export * from './libs';
7
+ export { FsUtilGuidPipe, FsUtilStringifyPipe, FsUtilIsEmptyPipe, FsUtilIsNotEmptyPipe, } from './app/pipes/util.pipe';
8
+ export { FsFormatNumberPipe } from './app/pipes/number.pipe';
9
+ export { FsFormatCurrencyPipe } from './app/pipes/currency.pipe';
10
+ export { FsFormatTruncatePipe } from './app/pipes/truncate.pipe';
11
+ export { FsFormatBytesPipe } from './app/pipes/bytes.pipe';
12
+ export { FsStopPropagationDirective } from './app/directives/stop-propagation.directive';
13
+ export { FsPreventDefaultDirective } from './app/directives/prevent-default.directive';
14
+ export { FsAutofocusDirective } from './app/directives/autofocus.directive';
15
+ export { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';
@@ -1,16 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("lodash-es"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@firestitch/common",["exports","@angular/core","@angular/common","lodash-es","rxjs","rxjs/operators"],e):e(((t=t||self).firestitch=t.firestitch||{},t.firestitch.common={}),t.ng.core,t.ng.common,t.lodashEs,t.rxjs,t.rxjs.operators)}(this,(function(t,e,r,n,o,i){"use strict";
2
- /*! *****************************************************************************
3
- Copyright (c) Microsoft Corporation. All rights reserved.
4
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
5
- this file except in compliance with the License. You may obtain a copy of the
6
- License at http://www.apache.org/licenses/LICENSE-2.0
7
-
8
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
10
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
11
- MERCHANTABLITY OR NON-INFRINGEMENT.
12
-
13
- See the Apache Version 2.0 License for specific language governing permissions
14
- and limitations under the License.
15
- ***************************************************************************** */var s=function(){function t(){}return t.prototype.nameValue=function(t,e,r){console.warn("@deprecated use import { nameValue } from @firestitch/common/array; instead");var n=[];if(e||r){var o="function"==typeof e?e:function(t){return t[e]},i="function"==typeof r?r:function(t){return t[r]};t.forEach((function(t){n.push({name:o(t),value:i(t)})}))}else t.forEach((function(t,e){n.push({name:t,value:e})}));return n},t.prototype.remove=function(t,e){console.warn("@deprecated use import { remove } from @firestitch/common/array; instead");var r=this.indexOf(t,e);return r>=0?t.splice(r,1):r},t.prototype.indexOf=function(t,e){var r=this;if(console.warn("@deprecated use import { indexOf } from @firestitch/common/array; instead"),"function"!=typeof e){var n=e;e=function(t){return r.compare(n,t)}}for(var o=0,i=t.length;o<i;o++)if(e(t[o]))return o;return-1},t.prototype.compare=function(t,e){console.warn("@deprecated use import { compare } from @firestitch/common/array; instead");var r=!0;for(var n in t)r=r&&e[n]==t[n];return r},t.prototype.filter=function(t,e){var r=this;if(console.warn("@deprecated use import { filter } from @firestitch/common/array; instead"),"function"!=typeof e){var n=e;e=function(t){return r.compare(n,t)}}var o=Array.isArray(t),i=o?[]:{};return o?t.forEach((function(t,r){e(t)&&i.push(t)})):Object.keys(t).forEach((function(r){e(t[r])&&(i[r]=t[r])})),i},t.prototype.index=function(t,e){console.warn("@deprecated use import { index } from @firestitch/common/array; instead");var r={};return t.forEach((function(t,n){r[t[e]]=t})),r},t.prototype.sort=function(t,e,r){if(void 0===r&&(r=!1),console.warn("@deprecated use import { sort } from @firestitch/common/array; instead"),"function"!=typeof e){var n=e;e=function(t,e){if(r){if(t[n]<e[n])return 1;if(t[n]>e[n])return-1}else{if(t[n]>e[n])return 1;if(t[n]<e[n])return-1}return 0}}return t.sort(e),t},t.prototype.rsort=function(t,e){return console.warn("@deprecated use import { rsort } from @firestitch/common/array; instead"),this.sort(t,e,!0)},t.prototype.list=function(t,e,r){void 0===r&&(r=null),console.warn("@deprecated use import { list } from @firestitch/common/array; instead");var n=r?{}:[];return t.forEach((function(t,o){r?n[t[r]]=t[e]:n.push(t[e])})),n},t.prototype.applyDepth=function(t,e,r,n){void 0===r&&(r="id"),void 0===n&&(n="depth"),console.warn("@deprecated use import { applyDepth } from @firestitch/common/array; instead");var o={};return t.forEach((function(t){t[e]||(t[n]=0),o[t[r]]=t})),Object.keys(o).forEach((function(t){Object.keys(o).forEach((function(t){o[t];o[t][n]||o[t][e]&&(o[t][n]=o[o[t][e]][n]+1)}))})),o},t.prototype.inArray=function(t,e){console.warn("@deprecated use import { inArray } from @firestitch/common/array; instead"),Array.isArray(t)||(t=[t]);for(var r=0,n=t.length;r<n;r++)if(e.indexOf(t[r])>=0)return!0;return!1},t.prototype.keyExists=function(t,e){return console.warn("@deprecated use import { keyExists } from @firestitch/common/array; instead"),t.hasOwnProperty(e)},t.prototype.length=function(t){return console.warn("@deprecated use import { length } from @firestitch/common/array; instead"),t.length},t.prototype.ksort=function(t){console.warn("@deprecated use import { ksort } from @firestitch/common/array; instead"),Object.keys(t).sort().forEach((function(e){var r=t[e];delete t[e],t[e]=r}))},t.decorators=[{type:e.Injectable}],t}(),c=function(){function t(){}return t.prototype.round=function(t,e){console.warn("@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}"),e=e||0;var r=Math.pow(10,e),n=t*r;return Math.round(n)/r},t.decorators=[{type:e.Injectable}],t}(),u=function(){function t(){this.intervals={}}return t.prototype.guid=function(t){return console.warn("@deprecated use @firestitch/common/util/guid instead"),(t=t||"xxxxxx").replace(/[xy]/g,(function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)}))},t.prototype.uuid=function(){return console.warn("@deprecated use @firestitch/common/util/uuid instead"),this.guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")},t.prototype.resolve=function(t,e){void 0===e&&(e=[]),console.warn("@deprecated use @firestitch/common/util/resolve instead");var r=e;return new Promise((function(e){t.then((function(t){Object.keys(t).forEach((function(e){return r[e]=t[e]})),e(r)}))}))},t.prototype.int=function(t){return console.warn("@deprecated use _.toInteger() instead"),t=parseInt(t),isNaN(t)&&(t=0),t},t.prototype.float=function(t){return console.warn("@deprecated use _.toFinite() instead"),t=parseFloat(t),isNaN(t)&&(t=0),t},t.prototype.string=function(t){return console.warn("@deprecated use _.toString() instead"),null==t&&(t=""),t.toString()},t.prototype.isEmpty=function(t,e){return console.warn("@deprecated use import { isEmpty } from @firestitch/common/util; instead"),e=e||{},null==t||!1===t||""===t||!this.string(t).length||this.isObject(t)&&"Object"===t.constructor.name&&!Object.keys(t).length||!e.zero&&(0===t||"0"===t)},t.prototype.isInt=function(t,e){return console.warn("@deprecated use _.isInteger() instead"),!!this.string(t).match(/^\d+$/)&&(!e||Number.isInteger(t))},t.prototype.each=function(t,e){console.warn("@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}"),(this.isArray(t)||this.isObject(t))&&Object.keys(t).forEach((function(r){e(t[r],r)}))},t.prototype.isObject=function(t){return console.warn("@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead"),null!==t&&"object"==typeof t&&!this.isArray(t)},t.prototype.isString=function(t){return console.warn("@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}"),"string"==typeof t||t instanceof String},t.prototype.isArray=function(t){return console.warn("@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}"),t instanceof Array},t.prototype.isNumeric=function(t){return console.warn("@deprecated use import { isNumeric } from @firestitch/common/util; instead"),this.string(t).length&&!!this.string(t).match(/^-?\d*\.?\d*$/)},t.prototype.isClass=function(t,e){if(console.warn("@deprecated use import { isClass } from @firestitch/common/util; instead"),this.isObject(t))if(this.isString(e)){if(t.constructor&&t.constructor.name===e)return!0}else if(t instanceof e)return!0;return!1},t.prototype.isBoolean=function(t){return console.warn("@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}"),!0===t||!1===t},t.prototype.value=function(t,e,r){return console.warn("@deprecated use import { value } from @firestitch/common/util; instead"),(this.isObject(t)||this.isArray(t))&&t.hasOwnProperty(e)?t[e]:r},t.prototype.throttle=function(t,e){console.warn("@deprecated use import { throttle } from @firestitch/common/util; instead");var r=!1;return(function(){r||(t.apply(null,arguments),r=!0,setTimeout((function(){r=!1}),e))})},t.prototype.debounce=function(t,e,r){var n;return console.warn("@deprecated use import { debounce } from @firestitch/common/util; instead"),function(){var o=this,i=arguments,s=function(){n=null,r||t.apply(o,i)},c=r&&!n;clearTimeout(n),n=setTimeout(s,e),c&&t.apply(o,i)}},t.prototype.length=function(t){return console.warn("@deprecated use import { length } from @firestitch/common/util; instead"),this.isObject(t)?Object.keys(t).length:this.isArray(t)?t.length:0},t.prototype.boolean=function(t){return console.warn("@deprecated use import { boolean } from @firestitch/common/util; instead"),"false"!==this.string(t).toLowerCase()&&!!t},t.prototype.stringify=function(t){return console.warn("@deprecated use import { stringify } from @firestitch/common/util; instead"),JSON.stringify(t)},t.decorators=[{type:e.Injectable}],t}();var a=function(){function t(t){this.fsUtil=t}return t.prototype.phone=function(t){return/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/.test(t)||!String(t).length},t.prototype.email=function(t){return!!this.fsUtil.string(t).match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:u}]},t}();function f(t){return JSON.stringify(t)}function p(t,e){void 0===e&&(e={case:"lower",numbers:!0}),t=t||"xxxxxx";var r="";!1!==e.numbers&&(r="0123456789"),e.case&&"lower"!==e.case&&"mixed"!==e.case||(r=r.concat("abcdefghijklmnopqrstuvwxyz")),"upper"!==e.case&&"mixed"!==e.case||(r=r.concat("ABCDEFGHIJKLMNOPQRSTUVWXYZ"));var n=r.match(/(.{1,1})/g);return t.replace(/[x]/g,(function(t){var e=Math.random()*n.length|0;return n[e]}))}function l(t,e){return e=e||{},null==t||!1===t||""===t||!n.toString(t).length||n.isObject(t)&&"Object"===t.constructor.name&&!Object.keys(t).length||!e.zero&&(0===t||"0"===t)}var d=function(){function t(){}return t.prototype.transform=function(t){return f(t)},t.decorators=[{type:e.Pipe,args:[{name:"fsUtilStringify"}]}],t.ctorParameters=function(){return[]},t}(),m=function(){function t(){}return t.prototype.transform=function(){return p()},t.decorators=[{type:e.Pipe,args:[{name:"fsUtilGuid"}]}],t.ctorParameters=function(){return[]},t}(),h=function(){function t(){}return t.prototype.transform=function(t){return l(t)},t.decorators=[{type:e.Pipe,args:[{name:"fsUtilIsEmpty"}]}],t}(),y=function(){function t(){}return t.prototype.transform=function(t){return!l(t)},t.decorators=[{type:e.Pipe,args:[{name:"fsUtilIsNotEmpty"}]}],t}();function g(t,e){return Number(t||0).toLocaleString(void 0,{maximumFractionDigits:e})}var v=function(){function t(){}return t.prototype.transform=function(t,e){return g(t,e)},t.decorators=[{type:e.Pipe,args:[{name:"fsFormatNumber"}]}],t}();function x(t,e,o,i){void 0===e&&(e=[2,10]),void 0===o&&(o="USD"),void 0===i&&(i="en-US");var s=n.isArray(e)?e:[e,e];return new r.CurrencyPipe(i).transform(t,o,"symbol","1."+s[0]+"-"+s[1])}var _=function(){function t(t){this.locale=t}return t.prototype.transform=function(t,e,r){return x(t,e,r)},t.decorators=[{type:e.Pipe,args:[{name:"fsFormatCurrency"}]}],t.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}();function b(t,e,r,n){void 0===e&&(e=100),void 0===r&&(r=!1),void 0===n&&(n="..."),t=t||"",r&&(e=t.substr(0,e).lastIndexOf(" "));var o=""+t.substr(0,e);return o!==t&&(o+=n),o}var E=function(){function t(){}return t.prototype.transform=function(t,e,r,n){return b(t,e,r,n)},t.decorators=[{type:e.Pipe,args:[{name:"fsFormatTruncate"}]}],t.ctorParameters=function(){return[]},t}();function O(t){if(!t)return"0.00 B";var e=Math.floor(Math.log(t)/Math.log(1024)),r=t/1024>1e3?2:0;return console.log(t,t/1024,r),(""+(t/Math.pow(1024,e)).toFixed(r)).replace(/\.00/,"")+" "+(e?" KMGTP".charAt(e):"")+"B"}var P,w=function(){function t(){}return t.prototype.transform=function(t){return O(t)},t.decorators=[{type:e.Pipe,args:[{name:"fsFormatBytes"}]}],t}(),j=function(){function t(){}return t.prototype.preventClick=function(t){t.stopPropagation()},t.decorators=[{type:e.Directive,args:[{selector:"[fsStopPropagation]"}]}],t.propDecorators={preventClick:[{type:e.HostListener,args:["click",["$event"]]}]},t}(),A=function(){function t(){}return t.prototype.preventClick=function(t){t.preventDefault()},t.decorators=[{type:e.Directive,args:[{selector:"[fsPreventDefault]"}]}],t.propDecorators={preventClick:[{type:e.HostListener,args:["click",["$event"]]}]},t}(),K=function(){function t(t){this._el=t}return t.prototype.ngAfterViewInit=function(){var t=this;setTimeout((function(){t._el.nativeElement.focus()}))},t.decorators=[{type:e.Directive,args:[{selector:"[autofocus]"}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t}();function S(t){var e,r,n=(t=String(t)).match(P||(e=["1?.$"],r=["1?.$"],Object.defineProperty?Object.defineProperty(e,"raw",{value:r}):e.raw=r,P=e));return t+([,"st","nd","rd"][n]||"th")}var k=function(){function t(){}return t.prototype.transform=function(t){return S(t)},t.decorators=[{type:e.Pipe,args:[{name:"fsFormatOrdinalNumber"}]}],t}(),Y=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[s,c,u,a]}},t.decorators=[{type:e.NgModule,args:[{imports:[r.CommonModule],exports:[j,A,K,m,d,v,_,E,h,y,w,k],declarations:[j,A,K,m,h,y,d,v,_,E,w,k]}]}],t}();function C(t,e){var r=!0;for(var n in t)r=r&&e[n]==t[n];return r}function N(t,e){if("function"!=typeof e){var r=e;e=function(t){return C(r,t)}}var n=Array.isArray(t),o=n?[]:{};return n?t.forEach((function(t,r){e(t)&&o.push(t)})):Object.keys(t).forEach((function(r){e(t[r])&&(o[r]=t[r])})),o}function I(t,e){if("function"!=typeof e){var r=e;e=function(t){return C(r,t)}}for(var n=0,o=t.length;n<o;n++)if(e(t[n]))return n;return-1}function L(t,e,r){if(void 0===r&&(r=!1),"function"!=typeof e){var n=e;e=function(t,e){if(r){if(t[n]<e[n])return 1;if(t[n]>e[n])return-1}else{if(t[n]>e[n])return 1;if(t[n]<e[n])return-1}return 0}}return t.sort(e),t}var T=function(t,e){this.ready$=new o.Subject,this.name=e||p(),t instanceof o.Observable?this.target=t:this.target=o.of(t)};var U={Idle:"idle",Processing:"processing"},$=function(){function t(t){void 0===t&&(t=1/0),this._limit=t,this._done=new o.Subject,this._queue=[],this._inProgress=[],this._total=0,this._completed=0,this._errors=0,this._state=U.Idle,this._destroy$=new o.Subject}return Object.defineProperty(t.prototype,"total",{get:function(){return this._total},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"completed",{get:function(){return this._completed},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this._queue.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"inProgress",{get:function(){return this._inProgress.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this._errors},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"empty",{get:function(){return!this._queue.length&&!this._inProgress.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pendingOperations",{get:function(){return this._queue.map((function(t){return t.name}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"inProgressOperations",{get:function(){return this._inProgress.map((function(t){return t.name}))},enumerable:!0,configurable:!0}),t.prototype.isProcessing=function(){return this._state===U.Processing},t.prototype.isIdle=function(){return this._state===U.Idle},t.prototype.setLimit=function(t){this._limit=t},t.prototype.subscribe=function(t,e,r){this._done.pipe(i.takeUntil(this._destroy$)).subscribe(t,e,r)},t.prototype.complete=function(t,e,r){var n=this;o.Observable.create((function(t){if(!n.isProcessing())return t.next(),void t.complete();n.subscribe((function(){t.next(),t.complete()}),(function(e){t.error(e),n.clear()}))})).subscribe(t,e,r)},t.prototype.push=function(t,e){var r=new T(t,e);return this._total++,this._state=U.Processing,this._inProgress.length<this._limit?this._processOperation(r):this._queue.push(r),r.ready$},t.prototype.clear=function(){this._queue=[],this._total=0,this._errors=0,this._completed=0,this._state=U.Idle,this._done=new o.Subject},t.prototype.destroy=function(){this.clear(),this._done.complete()},t.prototype._processOperation=function(t){var e=this;this._inProgress.push(t),t.target.pipe(i.delay(200),i.takeUntil(this._destroy$)).subscribe({next:function(e){t.ready$.next(e)},error:function(r){var n=e._inProgress.indexOf(t);e._inProgress.splice(n,1),e._errors++,t.ready$.error(r),e.empty&&(e._state=U.Idle,e._done.error(r))},complete:function(){var r=e._inProgress.indexOf(t);if(e._inProgress.splice(r,1),e._completed++,t.ready$.complete(),e.empty)e._state=U.Idle,e._done.next();else if(e._queue.length){var n=e._queue.shift();e._processOperation(n)}}})},t}();function F(t){return t.split("?")[0]}var M=function(t,e){return e||"Failed to load Resource for "+t+" times. Giving up."};t.FsArray=s,t.FsCommonModule=Y,t.FsMath=c,t.FsUtil=u,t.FsValidate=a,t.KEY_0=48,t.KEY_1=49,t.KEY_2=50,t.KEY_3=51,t.KEY_4=52,t.KEY_5=53,t.KEY_6=54,t.KEY_7=55,t.KEY_8=56,t.KEY_9=57,t.KEY_ALT=18,t.KEY_BACKSPACE=8,t.KEY_CANCEL=3,t.KEY_CAPS_LOCK=20,t.KEY_CLEAR=12,t.KEY_CONTROL=17,t.KEY_DELETE=46,t.KEY_DOWN=40,t.KEY_END=35,t.KEY_ENTER=14,t.KEY_EQUALS=61,t.KEY_ESCAPE=27,t.KEY_HELP=6,t.KEY_HOME=36,t.KEY_INSERT=45,t.KEY_LEFT=37,t.KEY_PAGE_DOWN=34,t.KEY_PAGE_UP=33,t.KEY_PAUSE=19,t.KEY_PRINTSCREEN=44,t.KEY_RETURN=13,t.KEY_RIGHT=39,t.KEY_SEMICOLON=59,t.KEY_SHIFT=16,t.KEY_SPACE=32,t.KEY_TAB=9,t.KEY_UP=38,t.Queue=$,t.QueueState=U,t.acronym=function(t,e){void 0===e&&(e=2);for(var r=t.replace(/[^a-zA-Z0-9]+/g," ").split(" "),n="",o=0;o<e;o++){if(!r[o]){if(1===r.length)for(var i=1;i<e&&r[o-1][i];i++)n+=r[o-1][i].toUpperCase();break}n+=r[o][0].toUpperCase()}return n},t.boolean=function(t){return"false"!==n.toString(t).toLowerCase()&&!!t},t.bytes=O,t.compare=C,t.currency=x,t.debounce=function(t,e,r){var n;return(function(){var o=this,i=arguments,s=function(){n=null,r||t.apply(o,i)},c=r&&!n;clearTimeout(n),n=setTimeout(s,e),c&&t.apply(o,i)})},t.delayedRetry=function(t,e,r){void 0===e&&(e=5);var n=0;return(function(s){return s.pipe(i.retryWhen((function(s){return s.pipe(i.tap((function(){++n<=e&&console.info("Failed to load Resource. Retry in "+t/1e3+" sec. "+n+"/"+e+" times...")})),i.concatMap((function(i){return o.iif((function(){return n>e}),o.throwError(M(e,r)),o.timer(t))})))})))})},t.email=function(t){return!!String(t).match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)},t.filter=N,t.find=function(t,e){var r=N(t,e);return r.length?r[0]:null},t.getNormalizedPath=function(t){return F(t.prepareExternalUrl(t.path()))},t.guid=p,t.inArray=function(t,e){Array.isArray(t)||(t=[t]);for(var r=0,n=t.length;r<n;r++)if(e.indexOf(t[r])>=0)return!0;return!1},t.index=function(t,e){var r={};return t.forEach((function(t,n){r[t[e]]=t})),r},t.indexOf=I,t.isClass=function(t,e){if("object"==typeof t)if("string"==typeof e){if(t.constructor&&t.constructor.name===e)return!0}else if(t instanceof e)return!0;return!1},t.isEmpty=l,t.isNumeric=function(t){var e=n.toString(t);return e.length&&!!e.match(/^-?\d*\.?\d*$/)},t.keyExists=function(t,e){return t.hasOwnProperty(e)},t.ksort=function(t){Object.keys(t).sort().forEach((function(e){var r=t[e];delete t[e],t[e]=r}))},t.length=function(t){return n.isObject(t)?Object.keys(t).length:n.isArray(t)?t.length:0},t.list=function(t,e,r){void 0===r&&(r=null);var n=r?{}:[];return t.forEach((function(t,o){r?n[t[r]]=t[e]:n.push(t[e])})),n},t.nameValue=function(t,e,r){var n=[];if(e||r){var o="function"==typeof e?e:function(t){return t[e]},i="function"==typeof r?r:function(t){return t[r]};t.forEach((function(t){n.push({name:o(t),value:i(t)})}))}else t.forEach((function(t,e){n.push({name:t,value:e})}));return n},t.number=g,t.ordinalNumber=S,t.phone=function(t){return/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4}/.test(t)||!String(t).length},t.remove=function(t,e){var r=I(t,e);return r>=0?t.splice(r,1):r},t.removeQueryParams=F,t.resolve=function(t,e){void 0===e&&(e=[]);var r=e;return new Promise((function(e){t.then((function(t){Object.keys(t).forEach((function(e){return r[e]=t[e]})),e(r)}))}))},t.rsort=function(t,e){return L(t,e,!0)},t.sort=L,t.stringify=f,t.throttle=function(t,e){var r=!1;return(function(){r||(t.apply(null,arguments),r=!0,setTimeout((function(){r=!1}),e))})},t.truncate=b,t.url=function(t){var e=new RegExp(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#%[\]@!\$&'\(\)\*\+,;=.]+$/gm);return!!String(t).match(e)},t.uuid=function(){return p("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")},t.value=function(t,e,r){return("object"==typeof t||Array.isArray(t))&&t.hasOwnProperty(e)?t[e]:r},t.ɵa=j,t.ɵb=A,t.ɵc=K,t.ɵd=d,t.ɵe=m,t.ɵf=h,t.ɵg=y,t.ɵh=v,t.ɵi=_,t.ɵj=E,t.ɵk=w,t.ɵl=k,Object.defineProperty(t,"__esModule",{value:!0})}));
16
- //# sourceMappingURL=firestitch-common.umd.min.js.map